Index: Daodan/MinGW/include/GL/gl.h
===================================================================
--- Daodan/MinGW/include/GL/gl.h	(revision 1046)
+++ 	(revision )
@@ -1,1470 +1,0 @@
-/*
- * Mesa 3-D graphics library
- * Version:  4.0
- *
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
- *
- * 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 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
- * BRIAN PAUL 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.
- */
-
-
-/************************************************************************
- * 2002-Apr-22, José Fonseca:
- *   Removed non Win32 system-specific stuff
- *
- * 2002-Apr-17, Marcus Geelnard:
- *   For win32, OpenGL 1.2 & 1.3 definitions are not made in this file
- *   anymore, since under Windows those are regarded as extensions, and
- *   are better defined in glext.h (especially the function prototypes may
- *   conflict with extension function pointers). A few "cosmetical"
- *   changes were also made to this file.
- *
- * 2002-Apr-15, Marcus Geelnard:
- *   Modified this file to better fit a wider range of compilers, removed
- *   Mesa specific stuff, and removed extension definitions (this file now
- *   relies on GL/glext.h). Hopefully this file should now function as a
- *   generic OpenGL gl.h include file for most compilers and environments.
- *   Changed GLAPIENTRY to APIENTRY (to be consistent with GL/glext.h).
- ************************************************************************/
-
-
-#ifndef __gl_h_
-#define __gl_h_
-
-
-
-/************************************************************************
- * Begin system-specific stuff.
- */
-/* __WIN32__ */
-#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__))
-#  define __WIN32__
-#endif
-
-/* GLAPI, part 1 (use WINGDIAPI, if defined) */
-#if defined(__WIN32__) && defined(WINGDIAPI)
-#  define GLAPI WINGDIAPI
-#endif
-
-/* GLAPI, part 2 */
-#if !defined(GLAPI)
-#  if defined(_MSC_VER)                        /* Microsoft Visual C++ */
-#    define GLAPI __declspec(dllimport)
-#  elif defined(__LCC__) && defined(__WIN32__) /* LCC-Win32 */
-#    define GLAPI __stdcall
-#  else                                        /* Others (e.g. MinGW, Cygwin, non-win32) */
-#    define GLAPI extern
-#  endif
-#endif
-
-/* APIENTRY */
-#if !defined(APIENTRY)
-#  if defined(__WIN32__)
-#    define APIENTRY __stdcall
-#  else
-#    define APIENTRY
-#  endif
-#endif
-/*
- * End system-specific stuff.
- ************************************************************************/
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#define GL_VERSION_1_1   1
-
-#if !defined(__WIN32__)
-#define GL_VERSION_1_2   1
-#define GL_VERSION_1_3   1
-#define GL_ARB_imaging   1
-#endif
-
-
-/*
- *
- * Datatypes
- *
- */
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
-typedef unsigned int    GLenum;
-typedef unsigned char   GLboolean;
-typedef unsigned int    GLbitfield;
-typedef void            GLvoid;
-typedef signed char     GLbyte;         /* 1-byte signed */
-typedef short           GLshort;        /* 2-byte signed */
-typedef int             GLint;          /* 4-byte signed */
-typedef unsigned char   GLubyte;        /* 1-byte unsigned */
-typedef unsigned short  GLushort;       /* 2-byte unsigned */
-typedef unsigned int    GLuint;         /* 4-byte unsigned */
-typedef int             GLsizei;        /* 4-byte signed */
-typedef float           GLfloat;        /* single precision float */
-typedef float           GLclampf;       /* single precision float in [0,1] */
-typedef double          GLdouble;       /* double precision float */
-typedef double          GLclampd;       /* double precision float in [0,1] */
-
-
-
-/************************************************************************
- *
- * Constants
- *
- ************************************************************************/
-
-/* Boolean values */
-#define GL_FALSE                                0x0
-#define GL_TRUE                                 0x1
-
-/* Data types */
-#define GL_BYTE                                 0x1400
-#define GL_UNSIGNED_BYTE                        0x1401
-#define GL_SHORT                                0x1402
-#define GL_UNSIGNED_SHORT                       0x1403
-#define GL_INT                                  0x1404
-#define GL_UNSIGNED_INT                         0x1405
-#define GL_FLOAT                                0x1406
-#define GL_DOUBLE                               0x140A
-#define GL_2_BYTES                              0x1407
-#define GL_3_BYTES                              0x1408
-#define GL_4_BYTES                              0x1409
-
-/* Primitives */
-#define GL_POINTS                               0x0000
-#define GL_LINES                                0x0001
-#define GL_LINE_LOOP                            0x0002
-#define GL_LINE_STRIP                           0x0003
-#define GL_TRIANGLES                            0x0004
-#define GL_TRIANGLE_STRIP                       0x0005
-#define GL_TRIANGLE_FAN                         0x0006
-#define GL_QUADS                                0x0007
-#define GL_QUAD_STRIP                           0x0008
-#define GL_POLYGON                              0x0009
-
-/* Vertex Arrays */
-#define GL_VERTEX_ARRAY                         0x8074
-#define GL_NORMAL_ARRAY                         0x8075
-#define GL_COLOR_ARRAY                          0x8076
-#define GL_INDEX_ARRAY                          0x8077
-#define GL_TEXTURE_COORD_ARRAY                  0x8078
-#define GL_EDGE_FLAG_ARRAY                      0x8079
-#define GL_VERTEX_ARRAY_SIZE                    0x807A
-#define GL_VERTEX_ARRAY_TYPE                    0x807B
-#define GL_VERTEX_ARRAY_STRIDE                  0x807C
-#define GL_NORMAL_ARRAY_TYPE                    0x807E
-#define GL_NORMAL_ARRAY_STRIDE                  0x807F
-#define GL_COLOR_ARRAY_SIZE                     0x8081
-#define GL_COLOR_ARRAY_TYPE                     0x8082
-#define GL_COLOR_ARRAY_STRIDE                   0x8083
-#define GL_INDEX_ARRAY_TYPE                     0x8085
-#define GL_INDEX_ARRAY_STRIDE                   0x8086
-#define GL_TEXTURE_COORD_ARRAY_SIZE             0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE             0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE           0x808A
-#define GL_EDGE_FLAG_ARRAY_STRIDE               0x808C
-#define GL_VERTEX_ARRAY_POINTER                 0x808E
-#define GL_NORMAL_ARRAY_POINTER                 0x808F
-#define GL_COLOR_ARRAY_POINTER                  0x8090
-#define GL_INDEX_ARRAY_POINTER                  0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER          0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER              0x8093
-#define GL_V2F                                  0x2A20
-#define GL_V3F                                  0x2A21
-#define GL_C4UB_V2F                             0x2A22
-#define GL_C4UB_V3F                             0x2A23
-#define GL_C3F_V3F                              0x2A24
-#define GL_N3F_V3F                              0x2A25
-#define GL_C4F_N3F_V3F                          0x2A26
-#define GL_T2F_V3F                              0x2A27
-#define GL_T4F_V4F                              0x2A28
-#define GL_T2F_C4UB_V3F                         0x2A29
-#define GL_T2F_C3F_V3F                          0x2A2A
-#define GL_T2F_N3F_V3F                          0x2A2B
-#define GL_T2F_C4F_N3F_V3F                      0x2A2C
-#define GL_T4F_C4F_N3F_V4F                      0x2A2D
-
-/* Matrix Mode */
-#define GL_MATRIX_MODE                          0x0BA0
-#define GL_MODELVIEW                            0x1700
-#define GL_PROJECTION                           0x1701
-#define GL_TEXTURE                              0x1702
-
-/* Points */
-#define GL_POINT_SMOOTH                         0x0B10
-#define GL_POINT_SIZE                           0x0B11
-#define GL_POINT_SIZE_GRANULARITY               0x0B13
-#define GL_POINT_SIZE_RANGE                     0x0B12
-
-/* Lines */
-#define GL_LINE_SMOOTH                          0x0B20
-#define GL_LINE_STIPPLE                         0x0B24
-#define GL_LINE_STIPPLE_PATTERN                 0x0B25
-#define GL_LINE_STIPPLE_REPEAT                  0x0B26
-#define GL_LINE_WIDTH                           0x0B21
-#define GL_LINE_WIDTH_GRANULARITY               0x0B23
-#define GL_LINE_WIDTH_RANGE                     0x0B22
-
-/* Polygons */
-#define GL_POINT                                0x1B00
-#define GL_LINE                                 0x1B01
-#define GL_FILL                                 0x1B02
-#define GL_CW                                   0x0900
-#define GL_CCW                                  0x0901
-#define GL_FRONT                                0x0404
-#define GL_BACK                                 0x0405
-#define GL_POLYGON_MODE                         0x0B40
-#define GL_POLYGON_SMOOTH                       0x0B41
-#define GL_POLYGON_STIPPLE                      0x0B42
-#define GL_EDGE_FLAG                            0x0B43
-#define GL_CULL_FACE                            0x0B44
-#define GL_CULL_FACE_MODE                       0x0B45
-#define GL_FRONT_FACE                           0x0B46
-#define GL_POLYGON_OFFSET_FACTOR                0x8038
-#define GL_POLYGON_OFFSET_UNITS                 0x2A00
-#define GL_POLYGON_OFFSET_POINT                 0x2A01
-#define GL_POLYGON_OFFSET_LINE                  0x2A02
-#define GL_POLYGON_OFFSET_FILL                  0x8037
-
-/* Display Lists */
-#define GL_COMPILE                              0x1300
-#define GL_COMPILE_AND_EXECUTE                  0x1301
-#define GL_LIST_BASE                            0x0B32
-#define GL_LIST_INDEX                           0x0B33
-#define GL_LIST_MODE                            0x0B30
-
-/* Depth buffer */
-#define GL_NEVER                                0x0200
-#define GL_LESS                                 0x0201
-#define GL_EQUAL                                0x0202
-#define GL_LEQUAL                               0x0203
-#define GL_GREATER                              0x0204
-#define GL_NOTEQUAL                             0x0205
-#define GL_GEQUAL                               0x0206
-#define GL_ALWAYS                               0x0207
-#define GL_DEPTH_TEST                           0x0B71
-#define GL_DEPTH_BITS                           0x0D56
-#define GL_DEPTH_CLEAR_VALUE                    0x0B73
-#define GL_DEPTH_FUNC                           0x0B74
-#define GL_DEPTH_RANGE                          0x0B70
-#define GL_DEPTH_WRITEMASK                      0x0B72
-#define GL_DEPTH_COMPONENT                      0x1902
-
-/* Lighting */
-#define GL_LIGHTING                             0x0B50
-#define GL_LIGHT0                               0x4000
-#define GL_LIGHT1                               0x4001
-#define GL_LIGHT2                               0x4002
-#define GL_LIGHT3                               0x4003
-#define GL_LIGHT4                               0x4004
-#define GL_LIGHT5                               0x4005
-#define GL_LIGHT6                               0x4006
-#define GL_LIGHT7                               0x4007
-#define GL_SPOT_EXPONENT                        0x1205
-#define GL_SPOT_CUTOFF                          0x1206
-#define GL_CONSTANT_ATTENUATION                 0x1207
-#define GL_LINEAR_ATTENUATION                   0x1208
-#define GL_QUADRATIC_ATTENUATION                0x1209
-#define GL_AMBIENT                              0x1200
-#define GL_DIFFUSE                              0x1201
-#define GL_SPECULAR                             0x1202
-#define GL_SHININESS                            0x1601
-#define GL_EMISSION                             0x1600
-#define GL_POSITION                             0x1203
-#define GL_SPOT_DIRECTION                       0x1204
-#define GL_AMBIENT_AND_DIFFUSE                  0x1602
-#define GL_COLOR_INDEXES                        0x1603
-#define GL_LIGHT_MODEL_TWO_SIDE                 0x0B52
-#define GL_LIGHT_MODEL_LOCAL_VIEWER             0x0B51
-#define GL_LIGHT_MODEL_AMBIENT                  0x0B53
-#define GL_FRONT_AND_BACK                       0x0408
-#define GL_SHADE_MODEL                          0x0B54
-#define GL_FLAT                                 0x1D00
-#define GL_SMOOTH                               0x1D01
-#define GL_COLOR_MATERIAL                       0x0B57
-#define GL_COLOR_MATERIAL_FACE                  0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER             0x0B56
-#define GL_NORMALIZE                            0x0BA1
-
-/* User clipping planes */
-#define GL_CLIP_PLANE0                          0x3000
-#define GL_CLIP_PLANE1                          0x3001
-#define GL_CLIP_PLANE2                          0x3002
-#define GL_CLIP_PLANE3                          0x3003
-#define GL_CLIP_PLANE4                          0x3004
-#define GL_CLIP_PLANE5                          0x3005
-
-/* Accumulation buffer */
-#define GL_ACCUM_RED_BITS                       0x0D58
-#define GL_ACCUM_GREEN_BITS                     0x0D59
-#define GL_ACCUM_BLUE_BITS                      0x0D5A
-#define GL_ACCUM_ALPHA_BITS                     0x0D5B
-#define GL_ACCUM_CLEAR_VALUE                    0x0B80
-#define GL_ACCUM                                0x0100
-#define GL_ADD                                  0x0104
-#define GL_LOAD                                 0x0101
-#define GL_MULT                                 0x0103
-#define GL_RETURN                               0x0102
-
-/* Alpha testing */
-#define GL_ALPHA_TEST                           0x0BC0
-#define GL_ALPHA_TEST_REF                       0x0BC2
-#define GL_ALPHA_TEST_FUNC                      0x0BC1
-
-/* Blending */
-#define GL_BLEND                                0x0BE2
-#define GL_BLEND_SRC                            0x0BE1
-#define GL_BLEND_DST                            0x0BE0
-#define GL_ZERO                                 0x0
-#define GL_ONE                                  0x1
-#define GL_SRC_COLOR                            0x0300
-#define GL_ONE_MINUS_SRC_COLOR                  0x0301
-#define GL_SRC_ALPHA                            0x0302
-#define GL_ONE_MINUS_SRC_ALPHA                  0x0303
-#define GL_DST_ALPHA                            0x0304
-#define GL_ONE_MINUS_DST_ALPHA                  0x0305
-#define GL_DST_COLOR                            0x0306
-#define GL_ONE_MINUS_DST_COLOR                  0x0307
-#define GL_SRC_ALPHA_SATURATE                   0x0308
-#define GL_CONSTANT_COLOR                       0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR             0x8002
-#define GL_CONSTANT_ALPHA                       0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA             0x8004
-
-/* Render Mode */
-#define GL_FEEDBACK                             0x1C01
-#define GL_RENDER                               0x1C00
-#define GL_SELECT                               0x1C02
-
-/* Feedback */
-#define GL_2D                                   0x0600
-#define GL_3D                                   0x0601
-#define GL_3D_COLOR                             0x0602
-#define GL_3D_COLOR_TEXTURE                     0x0603
-#define GL_4D_COLOR_TEXTURE                     0x0604
-#define GL_POINT_TOKEN                          0x0701
-#define GL_LINE_TOKEN                           0x0702
-#define GL_LINE_RESET_TOKEN                     0x0707
-#define GL_POLYGON_TOKEN                        0x0703
-#define GL_BITMAP_TOKEN                         0x0704
-#define GL_DRAW_PIXEL_TOKEN                     0x0705
-#define GL_COPY_PIXEL_TOKEN                     0x0706
-#define GL_PASS_THROUGH_TOKEN                   0x0700
-#define GL_FEEDBACK_BUFFER_POINTER              0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE                 0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE                 0x0DF2
-
-/* Selection */
-#define GL_SELECTION_BUFFER_POINTER             0x0DF3
-#define GL_SELECTION_BUFFER_SIZE                0x0DF4
-
-/* Fog */
-#define GL_FOG                                  0x0B60
-#define GL_FOG_MODE                             0x0B65
-#define GL_FOG_DENSITY                          0x0B62
-#define GL_FOG_COLOR                            0x0B66
-#define GL_FOG_INDEX                            0x0B61
-#define GL_FOG_START                            0x0B63
-#define GL_FOG_END                              0x0B64
-#define GL_LINEAR                               0x2601
-#define GL_EXP                                  0x0800
-#define GL_EXP2                                 0x0801
-
-/* Logic Ops */
-#define GL_LOGIC_OP                             0x0BF1
-#define GL_INDEX_LOGIC_OP                       0x0BF1
-#define GL_COLOR_LOGIC_OP                       0x0BF2
-#define GL_LOGIC_OP_MODE                        0x0BF0
-#define GL_CLEAR                                0x1500
-#define GL_SET                                  0x150F
-#define GL_COPY                                 0x1503
-#define GL_COPY_INVERTED                        0x150C
-#define GL_NOOP                                 0x1505
-#define GL_INVERT                               0x150A
-#define GL_AND                                  0x1501
-#define GL_NAND                                 0x150E
-#define GL_OR                                   0x1507
-#define GL_NOR                                  0x1508
-#define GL_XOR                                  0x1506
-#define GL_EQUIV                                0x1509
-#define GL_AND_REVERSE                          0x1502
-#define GL_AND_INVERTED                         0x1504
-#define GL_OR_REVERSE                           0x150B
-#define GL_OR_INVERTED                          0x150D
-
-/* Stencil */
-#define GL_STENCIL_TEST                         0x0B90
-#define GL_STENCIL_WRITEMASK                    0x0B98
-#define GL_STENCIL_BITS                         0x0D57
-#define GL_STENCIL_FUNC                         0x0B92
-#define GL_STENCIL_VALUE_MASK                   0x0B93
-#define GL_STENCIL_REF                          0x0B97
-#define GL_STENCIL_FAIL                         0x0B94
-#define GL_STENCIL_PASS_DEPTH_PASS              0x0B96
-#define GL_STENCIL_PASS_DEPTH_FAIL              0x0B95
-#define GL_STENCIL_CLEAR_VALUE                  0x0B91
-#define GL_STENCIL_INDEX                        0x1901
-#define GL_KEEP                                 0x1E00
-#define GL_REPLACE                              0x1E01
-#define GL_INCR                                 0x1E02
-#define GL_DECR                                 0x1E03
-
-/* Buffers, Pixel Drawing/Reading */
-#define GL_NONE                                 0x0
-#define GL_LEFT                                 0x0406
-#define GL_RIGHT                                0x0407
-/*GL_FRONT                                      0x0404 */
-/*GL_BACK                                       0x0405 */
-/*GL_FRONT_AND_BACK                             0x0408 */
-#define GL_FRONT_LEFT                           0x0400
-#define GL_FRONT_RIGHT                          0x0401
-#define GL_BACK_LEFT                            0x0402
-#define GL_BACK_RIGHT                           0x0403
-#define GL_AUX0                                 0x0409
-#define GL_AUX1                                 0x040A
-#define GL_AUX2                                 0x040B
-#define GL_AUX3                                 0x040C
-#define GL_COLOR_INDEX                          0x1900
-#define GL_RED                                  0x1903
-#define GL_GREEN                                0x1904
-#define GL_BLUE                                 0x1905
-#define GL_ALPHA                                0x1906
-#define GL_LUMINANCE                            0x1909
-#define GL_LUMINANCE_ALPHA                      0x190A
-#define GL_ALPHA_BITS                           0x0D55
-#define GL_RED_BITS                             0x0D52
-#define GL_GREEN_BITS                           0x0D53
-#define GL_BLUE_BITS                            0x0D54
-#define GL_INDEX_BITS                           0x0D51
-#define GL_SUBPIXEL_BITS                        0x0D50
-#define GL_AUX_BUFFERS                          0x0C00
-#define GL_READ_BUFFER                          0x0C02
-#define GL_DRAW_BUFFER                          0x0C01
-#define GL_DOUBLEBUFFER                         0x0C32
-#define GL_STEREO                               0x0C33
-#define GL_BITMAP                               0x1A00
-#define GL_COLOR                                0x1800
-#define GL_DEPTH                                0x1801
-#define GL_STENCIL                              0x1802
-#define GL_DITHER                               0x0BD0
-#define GL_RGB                                  0x1907
-#define GL_RGBA                                 0x1908
-
-/* Implementation limits */
-#define GL_MAX_LIST_NESTING                     0x0B31
-#define GL_MAX_ATTRIB_STACK_DEPTH               0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH            0x0D36
-#define GL_MAX_NAME_STACK_DEPTH                 0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH           0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH              0x0D39
-#define GL_MAX_EVAL_ORDER                       0x0D30
-#define GL_MAX_LIGHTS                           0x0D31
-#define GL_MAX_CLIP_PLANES                      0x0D32
-#define GL_MAX_TEXTURE_SIZE                     0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE                  0x0D34
-#define GL_MAX_VIEWPORT_DIMS                    0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH        0x0D3B
-
-/* Gets */
-#define GL_ATTRIB_STACK_DEPTH                   0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH            0x0BB1
-#define GL_COLOR_CLEAR_VALUE                    0x0C22
-#define GL_COLOR_WRITEMASK                      0x0C23
-#define GL_CURRENT_INDEX                        0x0B01
-#define GL_CURRENT_COLOR                        0x0B00
-#define GL_CURRENT_NORMAL                       0x0B02
-#define GL_CURRENT_RASTER_COLOR                 0x0B04
-#define GL_CURRENT_RASTER_DISTANCE              0x0B09
-#define GL_CURRENT_RASTER_INDEX                 0x0B05
-#define GL_CURRENT_RASTER_POSITION              0x0B07
-#define GL_CURRENT_RASTER_TEXTURE_COORDS        0x0B06
-#define GL_CURRENT_RASTER_POSITION_VALID        0x0B08
-#define GL_CURRENT_TEXTURE_COORDS               0x0B03
-#define GL_INDEX_CLEAR_VALUE                    0x0C20
-#define GL_INDEX_MODE                           0x0C30
-#define GL_INDEX_WRITEMASK                      0x0C21
-#define GL_MODELVIEW_MATRIX                     0x0BA6
-#define GL_MODELVIEW_STACK_DEPTH                0x0BA3
-#define GL_NAME_STACK_DEPTH                     0x0D70
-#define GL_PROJECTION_MATRIX                    0x0BA7
-#define GL_PROJECTION_STACK_DEPTH               0x0BA4
-#define GL_RENDER_MODE                          0x0C40
-#define GL_RGBA_MODE                            0x0C31
-#define GL_TEXTURE_MATRIX                       0x0BA8
-#define GL_TEXTURE_STACK_DEPTH                  0x0BA5
-#define GL_VIEWPORT                             0x0BA2
-
-/* Evaluators */
-#define GL_AUTO_NORMAL                          0x0D80
-#define GL_MAP1_COLOR_4                         0x0D90
-#define GL_MAP1_GRID_DOMAIN                     0x0DD0
-#define GL_MAP1_GRID_SEGMENTS                   0x0DD1
-#define GL_MAP1_INDEX                           0x0D91
-#define GL_MAP1_NORMAL                          0x0D92
-#define GL_MAP1_TEXTURE_COORD_1                 0x0D93
-#define GL_MAP1_TEXTURE_COORD_2                 0x0D94
-#define GL_MAP1_TEXTURE_COORD_3                 0x0D95
-#define GL_MAP1_TEXTURE_COORD_4                 0x0D96
-#define GL_MAP1_VERTEX_3                        0x0D97
-#define GL_MAP1_VERTEX_4                        0x0D98
-#define GL_MAP2_COLOR_4                         0x0DB0
-#define GL_MAP2_GRID_DOMAIN                     0x0DD2
-#define GL_MAP2_GRID_SEGMENTS                   0x0DD3
-#define GL_MAP2_INDEX                           0x0DB1
-#define GL_MAP2_NORMAL                          0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1                 0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2                 0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3                 0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4                 0x0DB6
-#define GL_MAP2_VERTEX_3                        0x0DB7
-#define GL_MAP2_VERTEX_4                        0x0DB8
-#define GL_COEFF                                0x0A00
-#define GL_DOMAIN                               0x0A02
-#define GL_ORDER                                0x0A01
-
-/* Hints */
-#define GL_FOG_HINT                             0x0C54
-#define GL_LINE_SMOOTH_HINT                     0x0C52
-#define GL_PERSPECTIVE_CORRECTION_HINT          0x0C50
-#define GL_POINT_SMOOTH_HINT                    0x0C51
-#define GL_POLYGON_SMOOTH_HINT                  0x0C53
-#define GL_DONT_CARE                            0x1100
-#define GL_FASTEST                              0x1101
-#define GL_NICEST                               0x1102
-
-/* Scissor box */
-#define GL_SCISSOR_TEST                         0x0C11
-#define GL_SCISSOR_BOX                          0x0C10
-
-/* Pixel Mode / Transfer */
-#define GL_MAP_COLOR                            0x0D10
-#define GL_MAP_STENCIL                          0x0D11
-#define GL_INDEX_SHIFT                          0x0D12
-#define GL_INDEX_OFFSET                         0x0D13
-#define GL_RED_SCALE                            0x0D14
-#define GL_RED_BIAS                             0x0D15
-#define GL_GREEN_SCALE                          0x0D18
-#define GL_GREEN_BIAS                           0x0D19
-#define GL_BLUE_SCALE                           0x0D1A
-#define GL_BLUE_BIAS                            0x0D1B
-#define GL_ALPHA_SCALE                          0x0D1C
-#define GL_ALPHA_BIAS                           0x0D1D
-#define GL_DEPTH_SCALE                          0x0D1E
-#define GL_DEPTH_BIAS                           0x0D1F
-#define GL_PIXEL_MAP_S_TO_S_SIZE                0x0CB1
-#define GL_PIXEL_MAP_I_TO_I_SIZE                0x0CB0
-#define GL_PIXEL_MAP_I_TO_R_SIZE                0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE                0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE                0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE                0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE                0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE                0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE                0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE                0x0CB9
-#define GL_PIXEL_MAP_S_TO_S                     0x0C71
-#define GL_PIXEL_MAP_I_TO_I                     0x0C70
-#define GL_PIXEL_MAP_I_TO_R                     0x0C72
-#define GL_PIXEL_MAP_I_TO_G                     0x0C73
-#define GL_PIXEL_MAP_I_TO_B                     0x0C74
-#define GL_PIXEL_MAP_I_TO_A                     0x0C75
-#define GL_PIXEL_MAP_R_TO_R                     0x0C76
-#define GL_PIXEL_MAP_G_TO_G                     0x0C77
-#define GL_PIXEL_MAP_B_TO_B                     0x0C78
-#define GL_PIXEL_MAP_A_TO_A                     0x0C79
-#define GL_PACK_ALIGNMENT                       0x0D05
-#define GL_PACK_LSB_FIRST                       0x0D01
-#define GL_PACK_ROW_LENGTH                      0x0D02
-#define GL_PACK_SKIP_PIXELS                     0x0D04
-#define GL_PACK_SKIP_ROWS                       0x0D03
-#define GL_PACK_SWAP_BYTES                      0x0D00
-#define GL_UNPACK_ALIGNMENT                     0x0CF5
-#define GL_UNPACK_LSB_FIRST                     0x0CF1
-#define GL_UNPACK_ROW_LENGTH                    0x0CF2
-#define GL_UNPACK_SKIP_PIXELS                   0x0CF4
-#define GL_UNPACK_SKIP_ROWS                     0x0CF3
-#define GL_UNPACK_SWAP_BYTES                    0x0CF0
-#define GL_ZOOM_X                               0x0D16
-#define GL_ZOOM_Y                               0x0D17
-
-/* Texture mapping */
-#define GL_TEXTURE_ENV                          0x2300
-#define GL_TEXTURE_ENV_MODE                     0x2200
-#define GL_TEXTURE_1D                           0x0DE0
-#define GL_TEXTURE_2D                           0x0DE1
-#define GL_TEXTURE_WRAP_S                       0x2802
-#define GL_TEXTURE_WRAP_T                       0x2803
-#define GL_TEXTURE_MAG_FILTER                   0x2800
-#define GL_TEXTURE_MIN_FILTER                   0x2801
-#define GL_TEXTURE_ENV_COLOR                    0x2201
-#define GL_TEXTURE_GEN_S                        0x0C60
-#define GL_TEXTURE_GEN_T                        0x0C61
-#define GL_TEXTURE_GEN_MODE                     0x2500
-#define GL_TEXTURE_BORDER_COLOR                 0x1004
-#define GL_TEXTURE_WIDTH                        0x1000
-#define GL_TEXTURE_HEIGHT                       0x1001
-#define GL_TEXTURE_BORDER                       0x1005
-#define GL_TEXTURE_COMPONENTS                   0x1003
-#define GL_TEXTURE_RED_SIZE                     0x805C
-#define GL_TEXTURE_GREEN_SIZE                   0x805D
-#define GL_TEXTURE_BLUE_SIZE                    0x805E
-#define GL_TEXTURE_ALPHA_SIZE                   0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE               0x8060
-#define GL_TEXTURE_INTENSITY_SIZE               0x8061
-#define GL_NEAREST_MIPMAP_NEAREST               0x2700
-#define GL_NEAREST_MIPMAP_LINEAR                0x2702
-#define GL_LINEAR_MIPMAP_NEAREST                0x2701
-#define GL_LINEAR_MIPMAP_LINEAR                 0x2703
-#define GL_OBJECT_LINEAR                        0x2401
-#define GL_OBJECT_PLANE                         0x2501
-#define GL_EYE_LINEAR                           0x2400
-#define GL_EYE_PLANE                            0x2502
-#define GL_SPHERE_MAP                           0x2402
-#define GL_DECAL                                0x2101
-#define GL_MODULATE                             0x2100
-#define GL_NEAREST                              0x2600
-#define GL_REPEAT                               0x2901
-#define GL_CLAMP                                0x2900
-#define GL_S                                    0x2000
-#define GL_T                                    0x2001
-#define GL_R                                    0x2002
-#define GL_Q                                    0x2003
-#define GL_TEXTURE_GEN_R                        0x0C62
-#define GL_TEXTURE_GEN_Q                        0x0C63
-
-/* Utility */
-#define GL_VENDOR                               0x1F00
-#define GL_RENDERER                             0x1F01
-#define GL_VERSION                              0x1F02
-#define GL_EXTENSIONS                           0x1F03
-
-/* Errors */
-#define GL_NO_ERROR                             0x0
-#define GL_INVALID_VALUE                        0x0501
-#define GL_INVALID_ENUM                         0x0500
-#define GL_INVALID_OPERATION                    0x0502
-#define GL_STACK_OVERFLOW                       0x0503
-#define GL_STACK_UNDERFLOW                      0x0504
-#define GL_OUT_OF_MEMORY                        0x0505
-
-/* glPush/PopAttrib bits */
-#define GL_CURRENT_BIT                          0x00000001
-#define GL_POINT_BIT                            0x00000002
-#define GL_LINE_BIT                             0x00000004
-#define GL_POLYGON_BIT                          0x00000008
-#define GL_POLYGON_STIPPLE_BIT                  0x00000010
-#define GL_PIXEL_MODE_BIT                       0x00000020
-#define GL_LIGHTING_BIT                         0x00000040
-#define GL_FOG_BIT                              0x00000080
-#define GL_DEPTH_BUFFER_BIT                     0x00000100
-#define GL_ACCUM_BUFFER_BIT                     0x00000200
-#define GL_STENCIL_BUFFER_BIT                   0x00000400
-#define GL_VIEWPORT_BIT                         0x00000800
-#define GL_TRANSFORM_BIT                        0x00001000
-#define GL_ENABLE_BIT                           0x00002000
-#define GL_COLOR_BUFFER_BIT                     0x00004000
-#define GL_HINT_BIT                             0x00008000
-#define GL_EVAL_BIT                             0x00010000
-#define GL_LIST_BIT                             0x00020000
-#define GL_TEXTURE_BIT                          0x00040000
-#define GL_SCISSOR_BIT                          0x00080000
-#define GL_ALL_ATTRIB_BITS                      0x000FFFFF
-
-
-/* OpenGL 1.1 */
-#define GL_PROXY_TEXTURE_1D                     0x8063
-#define GL_PROXY_TEXTURE_2D                     0x8064
-#define GL_TEXTURE_PRIORITY                     0x8066
-#define GL_TEXTURE_RESIDENT                     0x8067
-#define GL_TEXTURE_BINDING_1D                   0x8068
-#define GL_TEXTURE_BINDING_2D                   0x8069
-#define GL_TEXTURE_INTERNAL_FORMAT              0x1003
-#define GL_ALPHA4                               0x803B
-#define GL_ALPHA8                               0x803C
-#define GL_ALPHA12                              0x803D
-#define GL_ALPHA16                              0x803E
-#define GL_LUMINANCE4                           0x803F
-#define GL_LUMINANCE8                           0x8040
-#define GL_LUMINANCE12                          0x8041
-#define GL_LUMINANCE16                          0x8042
-#define GL_LUMINANCE4_ALPHA4                    0x8043
-#define GL_LUMINANCE6_ALPHA2                    0x8044
-#define GL_LUMINANCE8_ALPHA8                    0x8045
-#define GL_LUMINANCE12_ALPHA4                   0x8046
-#define GL_LUMINANCE12_ALPHA12                  0x8047
-#define GL_LUMINANCE16_ALPHA16                  0x8048
-#define GL_INTENSITY                            0x8049
-#define GL_INTENSITY4                           0x804A
-#define GL_INTENSITY8                           0x804B
-#define GL_INTENSITY12                          0x804C
-#define GL_INTENSITY16                          0x804D
-#define GL_R3_G3_B2                             0x2A10
-#define GL_RGB4                                 0x804F
-#define GL_RGB5                                 0x8050
-#define GL_RGB8                                 0x8051
-#define GL_RGB10                                0x8052
-#define GL_RGB12                                0x8053
-#define GL_RGB16                                0x8054
-#define GL_RGBA2                                0x8055
-#define GL_RGBA4                                0x8056
-#define GL_RGB5_A1                              0x8057
-#define GL_RGBA8                                0x8058
-#define GL_RGB10_A2                             0x8059
-#define GL_RGBA12                               0x805A
-#define GL_RGBA16                               0x805B
-#define GL_CLIENT_PIXEL_STORE_BIT               0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT              0x00000002
-#define GL_ALL_CLIENT_ATTRIB_BITS               0xFFFFFFFF
-#define GL_CLIENT_ALL_ATTRIB_BITS               0xFFFFFFFF
-
-
-/* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
-   it is treated as extensions (defined in glext.h) */
-#if !defined(__WIN32__)
-
-/* OpenGL 1.2 */
-#define GL_RESCALE_NORMAL                       0x803A
-#define GL_CLAMP_TO_EDGE                        0x812F
-#define GL_MAX_ELEMENTS_VERTICES                0x80E8
-#define GL_MAX_ELEMENTS_INDICES                 0x80E9
-#define GL_BGR                                  0x80E0
-#define GL_BGRA                                 0x80E1
-#define GL_UNSIGNED_BYTE_3_3_2                  0x8032
-#define GL_UNSIGNED_BYTE_2_3_3_REV              0x8362
-#define GL_UNSIGNED_SHORT_5_6_5                 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV             0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4               0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV           0x8365
-#define GL_UNSIGNED_SHORT_5_5_5_1               0x8034
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV           0x8366
-#define GL_UNSIGNED_INT_8_8_8_8                 0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_REV             0x8367
-#define GL_UNSIGNED_INT_10_10_10_2              0x8036
-#define GL_UNSIGNED_INT_2_10_10_10_REV          0x8368
-#define GL_LIGHT_MODEL_COLOR_CONTROL            0x81F8
-#define GL_SINGLE_COLOR                         0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR              0x81FA
-#define GL_TEXTURE_MIN_LOD                      0x813A
-#define GL_TEXTURE_MAX_LOD                      0x813B
-#define GL_TEXTURE_BASE_LEVEL                   0x813C
-#define GL_TEXTURE_MAX_LEVEL                    0x813D
-#define GL_SMOOTH_POINT_SIZE_RANGE              0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY        0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE              0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY        0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE             0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE             0x846E
-#define GL_PACK_SKIP_IMAGES                     0x806B
-#define GL_PACK_IMAGE_HEIGHT                    0x806C
-#define GL_UNPACK_SKIP_IMAGES                   0x806D
-#define GL_UNPACK_IMAGE_HEIGHT                  0x806E
-#define GL_TEXTURE_3D                           0x806F
-#define GL_PROXY_TEXTURE_3D                     0x8070
-#define GL_TEXTURE_DEPTH                        0x8071
-#define GL_TEXTURE_WRAP_R                       0x8072
-#define GL_MAX_3D_TEXTURE_SIZE                  0x8073
-#define GL_TEXTURE_BINDING_3D                   0x806A
-
-/* OpenGL 1.2 imaging subset */
-/* GL_EXT_color_table */
-#define GL_COLOR_TABLE                          0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE         0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE        0x80D2
-#define GL_PROXY_COLOR_TABLE                    0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE   0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE  0x80D5
-#define GL_COLOR_TABLE_SCALE                    0x80D6
-#define GL_COLOR_TABLE_BIAS                     0x80D7
-#define GL_COLOR_TABLE_FORMAT                   0x80D8
-#define GL_COLOR_TABLE_WIDTH                    0x80D9
-#define GL_COLOR_TABLE_RED_SIZE                 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE               0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE                0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE               0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE           0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE           0x80DF
-/* GL_EXT_convolution and GL_HP_convolution_border_modes */
-#define GL_CONVOLUTION_1D                       0x8010
-#define GL_CONVOLUTION_2D                       0x8011
-#define GL_SEPARABLE_2D                         0x8012
-#define GL_CONVOLUTION_BORDER_MODE              0x8013
-#define GL_CONVOLUTION_FILTER_SCALE             0x8014
-#define GL_CONVOLUTION_FILTER_BIAS              0x8015
-#define GL_REDUCE                               0x8016
-#define GL_CONVOLUTION_FORMAT                   0x8017
-#define GL_CONVOLUTION_WIDTH                    0x8018
-#define GL_CONVOLUTION_HEIGHT                   0x8019
-#define GL_MAX_CONVOLUTION_WIDTH                0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT               0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE           0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE         0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE          0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE         0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS            0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS          0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS           0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS          0x8023
-#define GL_CONSTANT_BORDER                      0x8151
-#define GL_REPLICATE_BORDER                     0x8153
-#define GL_CONVOLUTION_BORDER_COLOR             0x8154
-/* GL_SGI_color_matrix */
-#define GL_COLOR_MATRIX                         0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH             0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH         0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE          0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE        0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE         0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE        0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS           0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS         0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS          0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS         0x80BB
-/* GL_EXT_histogram */
-#define GL_HISTOGRAM                            0x8024
-#define GL_PROXY_HISTOGRAM                      0x8025
-#define GL_HISTOGRAM_WIDTH                      0x8026
-#define GL_HISTOGRAM_FORMAT                     0x8027
-#define GL_HISTOGRAM_RED_SIZE                   0x8028
-#define GL_HISTOGRAM_GREEN_SIZE                 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE                  0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE                 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE             0x802C
-#define GL_HISTOGRAM_SINK                       0x802D
-#define GL_MINMAX                               0x802E
-#define GL_MINMAX_FORMAT                        0x802F
-#define GL_MINMAX_SINK                          0x8030
-#define GL_TABLE_TOO_LARGE                      0x8031
-/* GL_EXT_blend_color, GL_EXT_blend_minmax */
-#define GL_BLEND_EQUATION                       0x8009
-#define GL_MIN                                  0x8007
-#define GL_MAX                                  0x8008
-#define GL_FUNC_ADD                             0x8006
-#define GL_FUNC_SUBTRACT                        0x800A
-#define GL_FUNC_REVERSE_SUBTRACT                0x800B
-#define GL_BLEND_COLOR                          0x8005
-
-
-/* OpenGL 1.3 */
-/* multitexture */
-#define GL_TEXTURE0                             0x84C0
-#define GL_TEXTURE1                             0x84C1
-#define GL_TEXTURE2                             0x84C2
-#define GL_TEXTURE3                             0x84C3
-#define GL_TEXTURE4                             0x84C4
-#define GL_TEXTURE5                             0x84C5
-#define GL_TEXTURE6                             0x84C6
-#define GL_TEXTURE7                             0x84C7
-#define GL_TEXTURE8                             0x84C8
-#define GL_TEXTURE9                             0x84C9
-#define GL_TEXTURE10                            0x84CA
-#define GL_TEXTURE11                            0x84CB
-#define GL_TEXTURE12                            0x84CC
-#define GL_TEXTURE13                            0x84CD
-#define GL_TEXTURE14                            0x84CE
-#define GL_TEXTURE15                            0x84CF
-#define GL_TEXTURE16                            0x84D0
-#define GL_TEXTURE17                            0x84D1
-#define GL_TEXTURE18                            0x84D2
-#define GL_TEXTURE19                            0x84D3
-#define GL_TEXTURE20                            0x84D4
-#define GL_TEXTURE21                            0x84D5
-#define GL_TEXTURE22                            0x84D6
-#define GL_TEXTURE23                            0x84D7
-#define GL_TEXTURE24                            0x84D8
-#define GL_TEXTURE25                            0x84D9
-#define GL_TEXTURE26                            0x84DA
-#define GL_TEXTURE27                            0x84DB
-#define GL_TEXTURE28                            0x84DC
-#define GL_TEXTURE29                            0x84DD
-#define GL_TEXTURE30                            0x84DE
-#define GL_TEXTURE31                            0x84DF
-#define GL_ACTIVE_TEXTURE                       0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE                0x84E1
-#define GL_MAX_TEXTURE_UNITS                    0x84E2
-/* texture_cube_map */
-#define GL_NORMAL_MAP                           0x8511
-#define GL_REFLECTION_MAP                       0x8512
-#define GL_TEXTURE_CUBE_MAP                     0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP             0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X          0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X          0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y          0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y          0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z          0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z          0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP               0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE            0x851C
-/* texture_compression */
-#define GL_COMPRESSED_ALPHA                     0x84E9
-#define GL_COMPRESSED_LUMINANCE                 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA           0x84EB
-#define GL_COMPRESSED_INTENSITY                 0x84EC
-#define GL_COMPRESSED_RGB                       0x84ED
-#define GL_COMPRESSED_RGBA                      0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT             0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE        0x86A0
-#define GL_TEXTURE_COMPRESSED                   0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS       0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS           0x86A3
-/* multisample */
-#define GL_MULTISAMPLE                          0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE             0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE                  0x809F
-#define GL_SAMPLE_COVERAGE                      0x80A0
-#define GL_SAMPLE_BUFFERS                       0x80A8
-#define GL_SAMPLES                              0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE                0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT               0x80AB
-#define GL_MULTISAMPLE_BIT                      0x20000000
-/* transpose_matrix */
-#define GL_TRANSPOSE_MODELVIEW_MATRIX           0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX          0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX             0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX               0x84E6
-/* texture_env_combine */
-#define GL_COMBINE                              0x8570
-#define GL_COMBINE_RGB                          0x8571
-#define GL_COMBINE_ALPHA                        0x8572
-#define GL_SOURCE0_RGB                          0x8580
-#define GL_SOURCE1_RGB                          0x8581
-#define GL_SOURCE2_RGB                          0x8582
-#define GL_SOURCE0_ALPHA                        0x8588
-#define GL_SOURCE1_ALPHA                        0x8589
-#define GL_SOURCE2_ALPHA                        0x858A
-#define GL_OPERAND0_RGB                         0x8590
-#define GL_OPERAND1_RGB                         0x8591
-#define GL_OPERAND2_RGB                         0x8592
-#define GL_OPERAND0_ALPHA                       0x8598
-#define GL_OPERAND1_ALPHA                       0x8599
-#define GL_OPERAND2_ALPHA                       0x859A
-#define GL_RGB_SCALE                            0x8573
-#define GL_ADD_SIGNED                           0x8574
-#define GL_INTERPOLATE                          0x8575
-#define GL_SUBTRACT                             0x84E7
-#define GL_CONSTANT                             0x8576
-#define GL_PRIMARY_COLOR                        0x8577
-#define GL_PREVIOUS                             0x8578
-/* texture_env_dot3 */
-#define GL_DOT3_RGB                             0x86AE
-#define GL_DOT3_RGBA                            0x86AF
-/* texture_border_clamp */
-#define GL_CLAMP_TO_BORDER                      0x812D
-
-#endif /* __WIN32__ */
-
-
-
-/************************************************************************
- *
- * Function prototypes
- *
- ************************************************************************/
-
-/* Miscellaneous */
-GLAPI void APIENTRY glClearIndex( GLfloat c );
-GLAPI void APIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
-GLAPI void APIENTRY glClear( GLbitfield mask );
-GLAPI void APIENTRY glIndexMask( GLuint mask );
-GLAPI void APIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
-GLAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref );
-GLAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
-GLAPI void APIENTRY glLogicOp( GLenum opcode );
-GLAPI void APIENTRY glCullFace( GLenum mode );
-GLAPI void APIENTRY glFrontFace( GLenum mode );
-GLAPI void APIENTRY glPointSize( GLfloat size );
-GLAPI void APIENTRY glLineWidth( GLfloat width );
-GLAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern );
-GLAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode );
-GLAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
-GLAPI void APIENTRY glPolygonStipple( const GLubyte *mask );
-GLAPI void APIENTRY glGetPolygonStipple( GLubyte *mask );
-GLAPI void APIENTRY glEdgeFlag( GLboolean flag );
-GLAPI void APIENTRY glEdgeFlagv( const GLboolean *flag );
-GLAPI void APIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
-GLAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
-GLAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
-GLAPI void APIENTRY glDrawBuffer( GLenum mode );
-GLAPI void APIENTRY glReadBuffer( GLenum mode );
-GLAPI void APIENTRY glEnable( GLenum cap );
-GLAPI void APIENTRY glDisable( GLenum cap );
-GLAPI GLboolean APIENTRY glIsEnabled( GLenum cap );
-GLAPI void APIENTRY glEnableClientState( GLenum cap );  /* 1.1 */
-GLAPI void APIENTRY glDisableClientState( GLenum cap );  /* 1.1 */
-GLAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
-GLAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params );
-GLAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params );
-GLAPI void APIENTRY glPushAttrib( GLbitfield mask );
-GLAPI void APIENTRY glPopAttrib( void );
-GLAPI void APIENTRY glPushClientAttrib( GLbitfield mask );  /* 1.1 */
-GLAPI void APIENTRY glPopClientAttrib( void );  /* 1.1 */
-GLAPI GLint APIENTRY glRenderMode( GLenum mode );
-GLAPI GLenum APIENTRY glGetError( void );
-GLAPI const GLubyte* APIENTRY glGetString( GLenum name );
-GLAPI void APIENTRY glFinish( void );
-GLAPI void APIENTRY glFlush( void );
-GLAPI void APIENTRY glHint( GLenum target, GLenum mode );
-
-/* Depth Buffer */
-GLAPI void APIENTRY glClearDepth( GLclampd depth );
-GLAPI void APIENTRY glDepthFunc( GLenum func );
-GLAPI void APIENTRY glDepthMask( GLboolean flag );
-GLAPI void APIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
-
-/* Accumulation Buffer */
-GLAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
-GLAPI void APIENTRY glAccum( GLenum op, GLfloat value );
-
-/* Transformation */
-GLAPI void APIENTRY glMatrixMode( GLenum mode );
-GLAPI void APIENTRY glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
-GLAPI void APIENTRY glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
-GLAPI void APIENTRY glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
-GLAPI void APIENTRY glPushMatrix( void );
-GLAPI void APIENTRY glPopMatrix( void );
-GLAPI void APIENTRY glLoadIdentity( void );
-GLAPI void APIENTRY glLoadMatrixd( const GLdouble *m );
-GLAPI void APIENTRY glLoadMatrixf( const GLfloat *m );
-GLAPI void APIENTRY glMultMatrixd( const GLdouble *m );
-GLAPI void APIENTRY glMultMatrixf( const GLfloat *m );
-GLAPI void APIENTRY glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
-
-/* Display Lists */
-GLAPI GLboolean APIENTRY glIsList( GLuint list );
-GLAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range );
-GLAPI GLuint APIENTRY glGenLists( GLsizei range );
-GLAPI void APIENTRY glNewList( GLuint list, GLenum mode );
-GLAPI void APIENTRY glEndList( void );
-GLAPI void APIENTRY glCallList( GLuint list );
-GLAPI void APIENTRY glCallLists( GLsizei n, GLenum type, const GLvoid *lists );
-GLAPI void APIENTRY glListBase( GLuint base );
-
-/* Drawing Functions */
-GLAPI void APIENTRY glBegin( GLenum mode );
-GLAPI void APIENTRY glEnd( void );
-GLAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y );
-GLAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y );
-GLAPI void APIENTRY glVertex2i( GLint x, GLint y );
-GLAPI void APIENTRY glVertex2s( GLshort x, GLshort y );
-GLAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z );
-GLAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
-GLAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
-GLAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
-GLAPI void APIENTRY glVertex2dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex2fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex2iv( const GLint *v );
-GLAPI void APIENTRY glVertex2sv( const GLshort *v );
-GLAPI void APIENTRY glVertex3dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex3fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex3iv( const GLint *v );
-GLAPI void APIENTRY glVertex3sv( const GLshort *v );
-GLAPI void APIENTRY glVertex4dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex4fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex4iv( const GLint *v );
-GLAPI void APIENTRY glVertex4sv( const GLshort *v );
-GLAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
-GLAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
-GLAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
-GLAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
-GLAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
-GLAPI void APIENTRY glNormal3bv( const GLbyte *v );
-GLAPI void APIENTRY glNormal3dv( const GLdouble *v );
-GLAPI void APIENTRY glNormal3fv( const GLfloat *v );
-GLAPI void APIENTRY glNormal3iv( const GLint *v );
-GLAPI void APIENTRY glNormal3sv( const GLshort *v );
-GLAPI void APIENTRY glIndexd( GLdouble c );
-GLAPI void APIENTRY glIndexf( GLfloat c );
-GLAPI void APIENTRY glIndexi( GLint c );
-GLAPI void APIENTRY glIndexs( GLshort c );
-GLAPI void APIENTRY glIndexub( GLubyte c );  /* 1.1 */
-GLAPI void APIENTRY glIndexdv( const GLdouble *c );
-GLAPI void APIENTRY glIndexfv( const GLfloat *c );
-GLAPI void APIENTRY glIndexiv( const GLint *c );
-GLAPI void APIENTRY glIndexsv( const GLshort *c );
-GLAPI void APIENTRY glIndexubv( const GLubyte *c );  /* 1.1 */
-GLAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
-GLAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
-GLAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
-GLAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue );
-GLAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
-GLAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
-GLAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
-GLAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
-GLAPI void APIENTRY glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
-GLAPI void APIENTRY glColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
-GLAPI void APIENTRY glColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
-GLAPI void APIENTRY glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
-GLAPI void APIENTRY glColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
-GLAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
-GLAPI void APIENTRY glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
-GLAPI void APIENTRY glColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
-GLAPI void APIENTRY glColor3bv( const GLbyte *v );
-GLAPI void APIENTRY glColor3dv( const GLdouble *v );
-GLAPI void APIENTRY glColor3fv( const GLfloat *v );
-GLAPI void APIENTRY glColor3iv( const GLint *v );
-GLAPI void APIENTRY glColor3sv( const GLshort *v );
-GLAPI void APIENTRY glColor3ubv( const GLubyte *v );
-GLAPI void APIENTRY glColor3uiv( const GLuint *v );
-GLAPI void APIENTRY glColor3usv( const GLushort *v );
-GLAPI void APIENTRY glColor4bv( const GLbyte *v );
-GLAPI void APIENTRY glColor4dv( const GLdouble *v );
-GLAPI void APIENTRY glColor4fv( const GLfloat *v );
-GLAPI void APIENTRY glColor4iv( const GLint *v );
-GLAPI void APIENTRY glColor4sv( const GLshort *v );
-GLAPI void APIENTRY glColor4ubv( const GLubyte *v );
-GLAPI void APIENTRY glColor4uiv( const GLuint *v );
-GLAPI void APIENTRY glColor4usv( const GLushort *v );
-GLAPI void APIENTRY glTexCoord1d( GLdouble s );
-GLAPI void APIENTRY glTexCoord1f( GLfloat s );
-GLAPI void APIENTRY glTexCoord1i( GLint s );
-GLAPI void APIENTRY glTexCoord1s( GLshort s );
-GLAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t );
-GLAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t );
-GLAPI void APIENTRY glTexCoord2i( GLint s, GLint t );
-GLAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t );
-GLAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
-GLAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
-GLAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
-GLAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
-GLAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
-GLAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
-GLAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
-GLAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
-GLAPI void APIENTRY glTexCoord1dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord1fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord1iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord1sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord2dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord2fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord2iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord2sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord3dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord3fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord3iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord3sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord4dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord4fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord4iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord4sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y );
-GLAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y );
-GLAPI void APIENTRY glRasterPos2i( GLint x, GLint y );
-GLAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y );
-GLAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
-GLAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
-GLAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
-GLAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
-GLAPI void APIENTRY glRasterPos2dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos2fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos2iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos2sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos3dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos3fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos3iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos3sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos4dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos4fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos4iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos4sv( const GLshort *v );
-GLAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
-GLAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
-GLAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
-GLAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
-GLAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
-GLAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
-GLAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 );
-GLAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
-
-/* Lighting */
-GLAPI void APIENTRY glShadeModel( GLenum mode );
-GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
-GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname, GLint *params );
-GLAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glLightModeli( GLenum pname, GLint param );
-GLAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params );
-GLAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
-GLAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
-GLAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode );
-
-/* Raster functions */
-GLAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
-GLAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glPixelStorei( GLenum pname, GLint param );
-GLAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param );
-GLAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize, const GLfloat *values );
-GLAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize, const GLuint *values );
-GLAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize, const GLushort *values );
-GLAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
-GLAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
-GLAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
-GLAPI void APIENTRY glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
-GLAPI void APIENTRY glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
-GLAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
-
-/* Stenciling */
-GLAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
-GLAPI void APIENTRY glStencilMask( GLuint mask );
-GLAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
-GLAPI void APIENTRY glClearStencil( GLint s );
-
-/* Texture mapping */
-GLAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
-GLAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
-GLAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
-GLAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params);
-GLAPI void APIENTRY glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexImage1D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexImage2D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
-
-/* Evaluators */
-GLAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
-GLAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
-GLAPI void APIENTRY glMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
-GLAPI void APIENTRY glMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
-GLAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
-GLAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
-GLAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
-GLAPI void APIENTRY glEvalCoord1d( GLdouble u );
-GLAPI void APIENTRY glEvalCoord1f( GLfloat u );
-GLAPI void APIENTRY glEvalCoord1dv( const GLdouble *u );
-GLAPI void APIENTRY glEvalCoord1fv( const GLfloat *u );
-GLAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
-GLAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
-GLAPI void APIENTRY glEvalCoord2dv( const GLdouble *u );
-GLAPI void APIENTRY glEvalCoord2fv( const GLfloat *u );
-GLAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
-GLAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
-GLAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
-GLAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
-GLAPI void APIENTRY glEvalPoint1( GLint i );
-GLAPI void APIENTRY glEvalPoint2( GLint i, GLint j );
-GLAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
-GLAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
-
-/* Fog */
-GLAPI void APIENTRY glFogf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glFogi( GLenum pname, GLint param );
-GLAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glFogiv( GLenum pname, const GLint *params );
-
-/* Selection and Feedback */
-GLAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
-GLAPI void APIENTRY glPassThrough( GLfloat token );
-GLAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
-GLAPI void APIENTRY glInitNames( void );
-GLAPI void APIENTRY glLoadName( GLuint name );
-GLAPI void APIENTRY glPushName( GLuint name );
-GLAPI void APIENTRY glPopName( void );
-
-
-/* 1.1 functions */
-/* texture objects */
-GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
-GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
-GLAPI void APIENTRY glBindTexture( GLenum target, GLuint texture );
-GLAPI void APIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
-GLAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
-GLAPI GLboolean APIENTRY glIsTexture( GLuint texture );
-/* texture mapping */
-GLAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
-GLAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
-GLAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-/* vertex arrays */
-GLAPI void APIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glGetPointerv( GLenum pname, GLvoid **params );
-GLAPI void APIENTRY glArrayElement( GLint i );
-GLAPI void APIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
-GLAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
-GLAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
-
-
-
-/* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
-   it is treated as extensions (defined in glext.h) */
-#if !defined(__WIN32__)
-
-/* 1.2 functions */
-GLAPI void APIENTRY glDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
-GLAPI void APIENTRY glTexImage3D( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-GLAPI void APIENTRY glCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-/* 1.2 imaging extension functions */
-GLAPI void APIENTRY glColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
-GLAPI void APIENTRY glColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
-GLAPI void APIENTRY glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
-GLAPI void APIENTRY glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
-GLAPI void APIENTRY glCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *table );
-GLAPI void APIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glBlendEquation( GLenum mode );
-GLAPI void APIENTRY glBlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
-GLAPI void APIENTRY glHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink );
-GLAPI void APIENTRY glResetHistogram( GLenum target );
-GLAPI void APIENTRY glGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
-GLAPI void APIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glMinmax( GLenum target, GLenum internalformat, GLboolean sink );
-GLAPI void APIENTRY glResetMinmax( GLenum target );
-GLAPI void APIENTRY glGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values );
-GLAPI void APIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image );
-GLAPI void APIENTRY glConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image );
-GLAPI void APIENTRY glConvolutionParameterf( GLenum target, GLenum pname, GLfloat params );
-GLAPI void APIENTRY glConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glConvolutionParameteri( GLenum target, GLenum pname, GLint params );
-GLAPI void APIENTRY glConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-GLAPI void APIENTRY glGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid *image );
-GLAPI void APIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column );
-GLAPI void APIENTRY glGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
-
-/* 1.3 functions */
-GLAPI void APIENTRY glActiveTexture( GLenum texture );
-GLAPI void APIENTRY glClientActiveTexture( GLenum texture );
-GLAPI void APIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
-GLAPI void APIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
-GLAPI void APIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
-GLAPI void APIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord1i( GLenum target, GLint s );
-GLAPI void APIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
-GLAPI void APIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
-GLAPI void APIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
-GLAPI void APIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
-GLAPI void APIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
-GLAPI void APIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
-GLAPI void APIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
-GLAPI void APIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
-GLAPI void APIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
-GLAPI void APIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
-GLAPI void APIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
-GLAPI void APIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
-GLAPI void APIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
-GLAPI void APIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
-GLAPI void APIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
-GLAPI void APIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
-GLAPI void APIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
-GLAPI void APIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
-GLAPI void APIENTRY glSamplePass( GLenum pass );
-
-#endif /* __WIN32__ */
-
-
-/* Include external definitions of OpenGL extensions */
-/* Removed, see this bug report for reference:
- * http://sourceforge.net/tracker/index.php?func=detail&aid=610178&group_id=2435&atid=102435
- *
- * #include <GL/glext.h>
- */
-
-
-/************************************************************************
- * Begin system-specific stuff
- */
-/*
- * End system-specific stuff
- ************************************************************************/
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __gl_h_ */
Index: Daodan/MinGW/include/GL/glext.h
===================================================================
--- Daodan/MinGW/include/GL/glext.h	(revision 1046)
+++ 	(revision )
@@ -1,4623 +1,0 @@
-#ifndef __glext_h_
-#define __glext_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-**
-** http://oss.sgi.com/projects/FreeB
-**
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-**
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-**
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-/*************************************************************/
-
-/* Header file version number, required by OpenGL ABI for Linux */
-/* glext.h last updated 2002/03/22 */
-/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
-#define GL_GLEXT_VERSION 11
-
-#ifndef GL_VERSION_1_2
-#define GL_CONSTANT_COLOR                 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
-#define GL_CONSTANT_ALPHA                 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
-#define GL_BLEND_COLOR                    0x8005
-#define GL_FUNC_ADD                       0x8006
-#define GL_MIN                            0x8007
-#define GL_MAX                            0x8008
-#define GL_BLEND_EQUATION                 0x8009
-#define GL_FUNC_SUBTRACT                  0x800A
-#define GL_FUNC_REVERSE_SUBTRACT          0x800B
-#define GL_CONVOLUTION_1D                 0x8010
-#define GL_CONVOLUTION_2D                 0x8011
-#define GL_SEPARABLE_2D                   0x8012
-#define GL_CONVOLUTION_BORDER_MODE        0x8013
-#define GL_CONVOLUTION_FILTER_SCALE       0x8014
-#define GL_CONVOLUTION_FILTER_BIAS        0x8015
-#define GL_REDUCE                         0x8016
-#define GL_CONVOLUTION_FORMAT             0x8017
-#define GL_CONVOLUTION_WIDTH              0x8018
-#define GL_CONVOLUTION_HEIGHT             0x8019
-#define GL_MAX_CONVOLUTION_WIDTH          0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT         0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE     0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE   0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE    0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE   0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS      0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS    0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS     0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS    0x8023
-#define GL_HISTOGRAM                      0x8024
-#define GL_PROXY_HISTOGRAM                0x8025
-#define GL_HISTOGRAM_WIDTH                0x8026
-#define GL_HISTOGRAM_FORMAT               0x8027
-#define GL_HISTOGRAM_RED_SIZE             0x8028
-#define GL_HISTOGRAM_GREEN_SIZE           0x8029
-#define GL_HISTOGRAM_BLUE_SIZE            0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE           0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE       0x802C
-#define GL_HISTOGRAM_SINK                 0x802D
-#define GL_MINMAX                         0x802E
-#define GL_MINMAX_FORMAT                  0x802F
-#define GL_MINMAX_SINK                    0x8030
-#define GL_TABLE_TOO_LARGE                0x8031
-#define GL_UNSIGNED_BYTE_3_3_2            0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
-#define GL_UNSIGNED_INT_8_8_8_8           0x8035
-#define GL_UNSIGNED_INT_10_10_10_2        0x8036
-#define GL_RESCALE_NORMAL                 0x803A
-#define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362
-#define GL_UNSIGNED_SHORT_5_6_5           0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366
-#define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367
-#define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368
-#define GL_COLOR_MATRIX                   0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH       0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH   0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE    0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE  0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE   0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE  0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS     0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS   0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS    0x80BA
-#define GL_COLOR_TABLE                    0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE   0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE  0x80D2
-#define GL_PROXY_COLOR_TABLE              0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE              0x80D6
-#define GL_COLOR_TABLE_BIAS               0x80D7
-#define GL_COLOR_TABLE_FORMAT             0x80D8
-#define GL_COLOR_TABLE_WIDTH              0x80D9
-#define GL_COLOR_TABLE_RED_SIZE           0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE         0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE          0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE         0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE     0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE     0x80DF
-#define GL_BGR                            0x80E0
-#define GL_BGRA                           0x80E1
-#define GL_MAX_ELEMENTS_VERTICES          0x80E8
-#define GL_MAX_ELEMENTS_INDICES           0x80E9
-#define GL_CLAMP_TO_EDGE                  0x812F
-#define GL_TEXTURE_MIN_LOD                0x813A
-#define GL_TEXTURE_MAX_LOD                0x813B
-#define GL_TEXTURE_BASE_LEVEL             0x813C
-#define GL_TEXTURE_MAX_LEVEL              0x813D
-#define GL_IGNORE_BORDER                  0x8150
-#define GL_CONSTANT_BORDER                0x8151
-#define GL_WRAP_BORDER                    0x8152
-#define GL_REPLICATE_BORDER               0x8153
-#define GL_CONVOLUTION_BORDER_COLOR       0x8154
-#define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8
-#define GL_SINGLE_COLOR                   0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR        0x81FA
-#define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY  0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY  0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_TEXTURE0                       0x84C0
-#define GL_TEXTURE1                       0x84C1
-#define GL_TEXTURE2                       0x84C2
-#define GL_TEXTURE3                       0x84C3
-#define GL_TEXTURE4                       0x84C4
-#define GL_TEXTURE5                       0x84C5
-#define GL_TEXTURE6                       0x84C6
-#define GL_TEXTURE7                       0x84C7
-#define GL_TEXTURE8                       0x84C8
-#define GL_TEXTURE9                       0x84C9
-#define GL_TEXTURE10                      0x84CA
-#define GL_TEXTURE11                      0x84CB
-#define GL_TEXTURE12                      0x84CC
-#define GL_TEXTURE13                      0x84CD
-#define GL_TEXTURE14                      0x84CE
-#define GL_TEXTURE15                      0x84CF
-#define GL_TEXTURE16                      0x84D0
-#define GL_TEXTURE17                      0x84D1
-#define GL_TEXTURE18                      0x84D2
-#define GL_TEXTURE19                      0x84D3
-#define GL_TEXTURE20                      0x84D4
-#define GL_TEXTURE21                      0x84D5
-#define GL_TEXTURE22                      0x84D6
-#define GL_TEXTURE23                      0x84D7
-#define GL_TEXTURE24                      0x84D8
-#define GL_TEXTURE25                      0x84D9
-#define GL_TEXTURE26                      0x84DA
-#define GL_TEXTURE27                      0x84DB
-#define GL_TEXTURE28                      0x84DC
-#define GL_TEXTURE29                      0x84DD
-#define GL_TEXTURE30                      0x84DE
-#define GL_TEXTURE31                      0x84DF
-#define GL_ACTIVE_TEXTURE                 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE          0x84E1
-#define GL_MAX_TEXTURE_UNITS              0x84E2
-#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX         0x84E6
-#define GL_MULTISAMPLE                    0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE            0x809F
-#define GL_SAMPLE_COVERAGE                0x80A0
-#define GL_SAMPLE_BUFFERS                 0x80A8
-#define GL_SAMPLES                        0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
-#define GL_MULTISAMPLE_BIT                0x20000000
-#define GL_NORMAL_MAP                     0x8511
-#define GL_REFLECTION_MAP                 0x8512
-#define GL_TEXTURE_CUBE_MAP               0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP         0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
-#define GL_COMPRESSED_ALPHA               0x84E9
-#define GL_COMPRESSED_LUMINANCE           0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84EB
-#define GL_COMPRESSED_INTENSITY           0x84EC
-#define GL_COMPRESSED_RGB                 0x84ED
-#define GL_COMPRESSED_RGBA                0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT       0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0
-#define GL_TEXTURE_COMPRESSED             0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
-#define GL_CLAMP_TO_BORDER                0x812D
-#define GL_CLAMP_TO_BORDER_SGIS           0x812D
-#define GL_COMBINE                        0x8570
-#define GL_COMBINE_RGB                    0x8571
-#define GL_COMBINE_ALPHA                  0x8572
-#define GL_SOURCE0_RGB                    0x8580
-#define GL_SOURCE1_RGB                    0x8581
-#define GL_SOURCE2_RGB                    0x8582
-#define GL_SOURCE0_ALPHA                  0x8588
-#define GL_SOURCE1_ALPHA                  0x8589
-#define GL_SOURCE2_ALPHA                  0x858A
-#define GL_OPERAND0_RGB                   0x8590
-#define GL_OPERAND1_RGB                   0x8591
-#define GL_OPERAND2_RGB                   0x8592
-#define GL_OPERAND0_ALPHA                 0x8598
-#define GL_OPERAND1_ALPHA                 0x8599
-#define GL_OPERAND2_ALPHA                 0x859A
-#define GL_RGB_SCALE                      0x8573
-#define GL_ADD_SIGNED                     0x8574
-#define GL_INTERPOLATE                    0x8575
-#define GL_SUBTRACT                       0x84E7
-#define GL_CONSTANT                       0x8576
-#define GL_PRIMARY_COLOR                  0x8577
-#define GL_PREVIOUS                       0x8578
-#define GL_DOT3_RGB                       0x86AE
-#define GL_DOT3_RGBA                      0x86AF
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_TEXTURE0_ARB                   0x84C0
-#define GL_TEXTURE1_ARB                   0x84C1
-#define GL_TEXTURE2_ARB                   0x84C2
-#define GL_TEXTURE3_ARB                   0x84C3
-#define GL_TEXTURE4_ARB                   0x84C4
-#define GL_TEXTURE5_ARB                   0x84C5
-#define GL_TEXTURE6_ARB                   0x84C6
-#define GL_TEXTURE7_ARB                   0x84C7
-#define GL_TEXTURE8_ARB                   0x84C8
-#define GL_TEXTURE9_ARB                   0x84C9
-#define GL_TEXTURE10_ARB                  0x84CA
-#define GL_TEXTURE11_ARB                  0x84CB
-#define GL_TEXTURE12_ARB                  0x84CC
-#define GL_TEXTURE13_ARB                  0x84CD
-#define GL_TEXTURE14_ARB                  0x84CE
-#define GL_TEXTURE15_ARB                  0x84CF
-#define GL_TEXTURE16_ARB                  0x84D0
-#define GL_TEXTURE17_ARB                  0x84D1
-#define GL_TEXTURE18_ARB                  0x84D2
-#define GL_TEXTURE19_ARB                  0x84D3
-#define GL_TEXTURE20_ARB                  0x84D4
-#define GL_TEXTURE21_ARB                  0x84D5
-#define GL_TEXTURE22_ARB                  0x84D6
-#define GL_TEXTURE23_ARB                  0x84D7
-#define GL_TEXTURE24_ARB                  0x84D8
-#define GL_TEXTURE25_ARB                  0x84D9
-#define GL_TEXTURE26_ARB                  0x84DA
-#define GL_TEXTURE27_ARB                  0x84DB
-#define GL_TEXTURE28_ARB                  0x84DC
-#define GL_TEXTURE29_ARB                  0x84DD
-#define GL_TEXTURE30_ARB                  0x84DE
-#define GL_TEXTURE31_ARB                  0x84DF
-#define GL_ACTIVE_TEXTURE_ARB             0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_MULTISAMPLE_ARB                0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F
-#define GL_SAMPLE_COVERAGE_ARB            0x80A0
-#define GL_SAMPLE_BUFFERS_ARB             0x80A8
-#define GL_SAMPLES_ARB                    0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB
-#define GL_MULTISAMPLE_BIT_ARB            0x20000000
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_NORMAL_MAP_ARB                 0x8511
-#define GL_REFLECTION_MAP_ARB             0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB           0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_COMPRESSED_ALPHA_ARB           0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB       0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB       0x84EC
-#define GL_COMPRESSED_RGB_ARB             0x84ED
-#define GL_COMPRESSED_RGBA_ARB            0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB         0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_CLAMP_TO_BORDER_ARB            0x812D
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_POINT_SIZE_MIN_ARB             0x8126
-#define GL_POINT_SIZE_MIN_EXT             0x8126
-#define GL_POINT_SIZE_MIN_SGIS            0x8126
-#define GL_POINT_SIZE_MAX_ARB             0x8127
-#define GL_POINT_SIZE_MAX_EXT             0x8127
-#define GL_POINT_SIZE_MAX_SGIS            0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT  0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
-#define GL_DISTANCE_ATTENUATION_EXT       0x8129
-#define GL_DISTANCE_ATTENUATION_SGIS      0x8129
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_MAX_VERTEX_UNITS_ARB           0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB        0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB           0x86A6
-#define GL_VERTEX_BLEND_ARB               0x86A7
-#define GL_CURRENT_WEIGHT_ARB             0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB          0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB        0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB          0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB       0x86AC
-#define GL_WEIGHT_ARRAY_ARB               0x86AD
-#define GL_MODELVIEW0_ARB                 0x1700
-#define GL_MODELVIEW1_ARB                 0x850A
-#define GL_MODELVIEW2_ARB                 0x8722
-#define GL_MODELVIEW3_ARB                 0x8723
-#define GL_MODELVIEW4_ARB                 0x8724
-#define GL_MODELVIEW5_ARB                 0x8725
-#define GL_MODELVIEW6_ARB                 0x8726
-#define GL_MODELVIEW7_ARB                 0x8727
-#define GL_MODELVIEW8_ARB                 0x8728
-#define GL_MODELVIEW9_ARB                 0x8729
-#define GL_MODELVIEW10_ARB                0x872A
-#define GL_MODELVIEW11_ARB                0x872B
-#define GL_MODELVIEW12_ARB                0x872C
-#define GL_MODELVIEW13_ARB                0x872D
-#define GL_MODELVIEW14_ARB                0x872E
-#define GL_MODELVIEW15_ARB                0x872F
-#define GL_MODELVIEW16_ARB                0x8730
-#define GL_MODELVIEW17_ARB                0x8731
-#define GL_MODELVIEW18_ARB                0x8732
-#define GL_MODELVIEW19_ARB                0x8733
-#define GL_MODELVIEW20_ARB                0x8734
-#define GL_MODELVIEW21_ARB                0x8735
-#define GL_MODELVIEW22_ARB                0x8736
-#define GL_MODELVIEW23_ARB                0x8737
-#define GL_MODELVIEW24_ARB                0x8738
-#define GL_MODELVIEW25_ARB                0x8739
-#define GL_MODELVIEW26_ARB                0x873A
-#define GL_MODELVIEW27_ARB                0x873B
-#define GL_MODELVIEW28_ARB                0x873C
-#define GL_MODELVIEW29_ARB                0x873D
-#define GL_MODELVIEW30_ARB                0x873E
-#define GL_MODELVIEW31_ARB                0x873F
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_MATRIX_PALETTE_ARB             0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB       0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB     0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB         0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB       0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB    0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB    0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB  0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_COMBINE_ARB                    0x8570
-#define GL_COMBINE_RGB_ARB                0x8571
-#define GL_COMBINE_ALPHA_ARB              0x8572
-#define GL_SOURCE0_RGB_ARB                0x8580
-#define GL_SOURCE1_RGB_ARB                0x8581
-#define GL_SOURCE2_RGB_ARB                0x8582
-#define GL_SOURCE0_ALPHA_ARB              0x8588
-#define GL_SOURCE1_ALPHA_ARB              0x8589
-#define GL_SOURCE2_ALPHA_ARB              0x858A
-#define GL_OPERAND0_RGB_ARB               0x8590
-#define GL_OPERAND1_RGB_ARB               0x8591
-#define GL_OPERAND2_RGB_ARB               0x8592
-#define GL_OPERAND0_ALPHA_ARB             0x8598
-#define GL_OPERAND1_ALPHA_ARB             0x8599
-#define GL_OPERAND2_ALPHA_ARB             0x859A
-#define GL_RGB_SCALE_ARB                  0x8573
-#define GL_ADD_SIGNED_ARB                 0x8574
-#define GL_INTERPOLATE_ARB                0x8575
-#define GL_SUBTRACT_ARB                   0x84E7
-#define GL_CONSTANT_ARB                   0x8576
-#define GL_PRIMARY_COLOR_ARB              0x8577
-#define GL_PREVIOUS_ARB                   0x8578
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_DOT3_RGB_ARB                   0x86AE
-#define GL_DOT3_RGB_EXT                   0x86AE
-#define GL_DOT3_RGBA_ARB                  0x86AF
-#define GL_DOT3_RGBA_EXT                  0x86AF
-#endif
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_ARB            0x8370
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_DEPTH_COMPONENT16_ARB          0x81A5
-#define GL_DEPTH_COMPONENT24_ARB          0x81A6
-#define GL_DEPTH_COMPONENT32_ARB          0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB         0x884B
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_TEXTURE_COMPARE_MODE_ARB       0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
-#endif
-
-#ifndef GL_ARB_window_pos
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_ABGR_EXT                       0x8000
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_CONSTANT_COLOR_EXT             0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT   0x8002
-#define GL_CONSTANT_ALPHA_EXT             0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT   0x8004
-#define GL_BLEND_COLOR_EXT                0x8005
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_POLYGON_OFFSET_EXT             0x8037
-#define GL_POLYGON_OFFSET_FACTOR_EXT      0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT        0x8039
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_ALPHA4_EXT                     0x803B
-#define GL_ALPHA8_EXT                     0x803C
-#define GL_ALPHA12_EXT                    0x803D
-#define GL_ALPHA16_EXT                    0x803E
-#define GL_LUMINANCE4_EXT                 0x803F
-#define GL_LUMINANCE8_EXT                 0x8040
-#define GL_LUMINANCE12_EXT                0x8041
-#define GL_LUMINANCE16_EXT                0x8042
-#define GL_LUMINANCE4_ALPHA4_EXT          0x8043
-#define GL_LUMINANCE6_ALPHA2_EXT          0x8044
-#define GL_LUMINANCE8_ALPHA8_EXT          0x8045
-#define GL_LUMINANCE12_ALPHA4_EXT         0x8046
-#define GL_LUMINANCE12_ALPHA12_EXT        0x8047
-#define GL_LUMINANCE16_ALPHA16_EXT        0x8048
-#define GL_INTENSITY_EXT                  0x8049
-#define GL_INTENSITY4_EXT                 0x804A
-#define GL_INTENSITY8_EXT                 0x804B
-#define GL_INTENSITY12_EXT                0x804C
-#define GL_INTENSITY16_EXT                0x804D
-#define GL_RGB2_EXT                       0x804E
-#define GL_RGB4_EXT                       0x804F
-#define GL_RGB5_EXT                       0x8050
-#define GL_RGB8_EXT                       0x8051
-#define GL_RGB10_EXT                      0x8052
-#define GL_RGB12_EXT                      0x8053
-#define GL_RGB16_EXT                      0x8054
-#define GL_RGBA2_EXT                      0x8055
-#define GL_RGBA4_EXT                      0x8056
-#define GL_RGB5_A1_EXT                    0x8057
-#define GL_RGBA8_EXT                      0x8058
-#define GL_RGB10_A2_EXT                   0x8059
-#define GL_RGBA12_EXT                     0x805A
-#define GL_RGBA16_EXT                     0x805B
-#define GL_TEXTURE_RED_SIZE_EXT           0x805C
-#define GL_TEXTURE_GREEN_SIZE_EXT         0x805D
-#define GL_TEXTURE_BLUE_SIZE_EXT          0x805E
-#define GL_TEXTURE_ALPHA_SIZE_EXT         0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE_EXT     0x8060
-#define GL_TEXTURE_INTENSITY_SIZE_EXT     0x8061
-#define GL_REPLACE_EXT                    0x8062
-#define GL_PROXY_TEXTURE_1D_EXT           0x8063
-#define GL_PROXY_TEXTURE_2D_EXT           0x8064
-#define GL_TEXTURE_TOO_LARGE_EXT          0x8065
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_PACK_SKIP_IMAGES               0x806B
-#define GL_PACK_SKIP_IMAGES_EXT           0x806B
-#define GL_PACK_IMAGE_HEIGHT              0x806C
-#define GL_PACK_IMAGE_HEIGHT_EXT          0x806C
-#define GL_UNPACK_SKIP_IMAGES             0x806D
-#define GL_UNPACK_SKIP_IMAGES_EXT         0x806D
-#define GL_UNPACK_IMAGE_HEIGHT            0x806E
-#define GL_UNPACK_IMAGE_HEIGHT_EXT        0x806E
-#define GL_TEXTURE_3D                     0x806F
-#define GL_TEXTURE_3D_EXT                 0x806F
-#define GL_PROXY_TEXTURE_3D               0x8070
-#define GL_PROXY_TEXTURE_3D_EXT           0x8070
-#define GL_TEXTURE_DEPTH                  0x8071
-#define GL_TEXTURE_DEPTH_EXT              0x8071
-#define GL_TEXTURE_WRAP_R                 0x8072
-#define GL_TEXTURE_WRAP_R_EXT             0x8072
-#define GL_MAX_3D_TEXTURE_SIZE            0x8073
-#define GL_MAX_3D_TEXTURE_SIZE_EXT        0x8073
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_FILTER4_SGIS                   0x8146
-#define GL_TEXTURE_FILTER4_SIZE_SGIS      0x8147
-#endif
-
-#ifndef GL_EXT_subtexture
-#endif
-
-#ifndef GL_EXT_copy_texture
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_HISTOGRAM_EXT                  0x8024
-#define GL_PROXY_HISTOGRAM_EXT            0x8025
-#define GL_HISTOGRAM_WIDTH_EXT            0x8026
-#define GL_HISTOGRAM_FORMAT_EXT           0x8027
-#define GL_HISTOGRAM_RED_SIZE_EXT         0x8028
-#define GL_HISTOGRAM_GREEN_SIZE_EXT       0x8029
-#define GL_HISTOGRAM_BLUE_SIZE_EXT        0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE_EXT       0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT   0x802C
-#define GL_HISTOGRAM_SINK_EXT             0x802D
-#define GL_MINMAX_EXT                     0x802E
-#define GL_MINMAX_FORMAT_EXT              0x802F
-#define GL_MINMAX_SINK_EXT                0x8030
-#define GL_TABLE_TOO_LARGE_EXT            0x8031
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_CONVOLUTION_1D_EXT             0x8010
-#define GL_CONVOLUTION_2D_EXT             0x8011
-#define GL_SEPARABLE_2D_EXT               0x8012
-#define GL_CONVOLUTION_BORDER_MODE_EXT    0x8013
-#define GL_CONVOLUTION_FILTER_SCALE_EXT   0x8014
-#define GL_CONVOLUTION_FILTER_BIAS_EXT    0x8015
-#define GL_REDUCE_EXT                     0x8016
-#define GL_CONVOLUTION_FORMAT_EXT         0x8017
-#define GL_CONVOLUTION_WIDTH_EXT          0x8018
-#define GL_CONVOLUTION_HEIGHT_EXT         0x8019
-#define GL_MAX_CONVOLUTION_WIDTH_EXT      0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT_EXT     0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS_EXT  0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
-#endif
-
-#ifndef GL_SGI_color_matrix
-#define GL_COLOR_MATRIX_SGI               0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH_SGI   0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_COLOR_TABLE_SGI                0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
-#define GL_PROXY_COLOR_TABLE_SGI          0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
-#define GL_COLOR_TABLE_SCALE_SGI          0x80D6
-#define GL_COLOR_TABLE_BIAS_SGI           0x80D7
-#define GL_COLOR_TABLE_FORMAT_SGI         0x80D8
-#define GL_COLOR_TABLE_WIDTH_SGI          0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_SGI       0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_SGI     0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_SGI      0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_SGI     0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_PIXEL_TEXTURE_SGIS             0x8353
-#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
-#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
-#define GL_PIXEL_GROUP_COLOR_SGIS         0x8356
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_PIXEL_TEX_GEN_SGIX             0x8139
-#define GL_PIXEL_TEX_GEN_MODE_SGIX        0x832B
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_PACK_SKIP_VOLUMES_SGIS         0x8130
-#define GL_PACK_IMAGE_DEPTH_SGIS          0x8131
-#define GL_UNPACK_SKIP_VOLUMES_SGIS       0x8132
-#define GL_UNPACK_IMAGE_DEPTH_SGIS        0x8133
-#define GL_TEXTURE_4D_SGIS                0x8134
-#define GL_PROXY_TEXTURE_4D_SGIS          0x8135
-#define GL_TEXTURE_4DSIZE_SGIS            0x8136
-#define GL_TEXTURE_WRAP_Q_SGIS            0x8137
-#define GL_MAX_4D_TEXTURE_SIZE_SGIS       0x8138
-#define GL_TEXTURE_4D_BINDING_SGIS        0x814F
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_TEXTURE_COLOR_TABLE_SGI        0x80BC
-#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI  0x80BD
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_CMYK_EXT                       0x800C
-#define GL_CMYKA_EXT                      0x800D
-#define GL_PACK_CMYK_HINT_EXT             0x800E
-#define GL_UNPACK_CMYK_HINT_EXT           0x800F
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_TEXTURE_PRIORITY_EXT           0x8066
-#define GL_TEXTURE_RESIDENT_EXT           0x8067
-#define GL_TEXTURE_1D_BINDING_EXT         0x8068
-#define GL_TEXTURE_2D_BINDING_EXT         0x8069
-#define GL_TEXTURE_3D_BINDING_EXT         0x806A
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_DETAIL_TEXTURE_2D_SGIS         0x8095
-#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
-#define GL_LINEAR_DETAIL_SGIS             0x8097
-#define GL_LINEAR_DETAIL_ALPHA_SGIS       0x8098
-#define GL_LINEAR_DETAIL_COLOR_SGIS       0x8099
-#define GL_DETAIL_TEXTURE_LEVEL_SGIS      0x809A
-#define GL_DETAIL_TEXTURE_MODE_SGIS       0x809B
-#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_LINEAR_SHARPEN_SGIS            0x80AD
-#define GL_LINEAR_SHARPEN_ALPHA_SGIS      0x80AE
-#define GL_LINEAR_SHARPEN_COLOR_SGIS      0x80AF
-#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_UNSIGNED_BYTE_3_3_2_EXT        0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT     0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT     0x8034
-#define GL_UNSIGNED_INT_8_8_8_8_EXT       0x8035
-#define GL_UNSIGNED_INT_10_10_10_2_EXT    0x8036
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_TEXTURE_MIN_LOD_SGIS           0x813A
-#define GL_TEXTURE_MAX_LOD_SGIS           0x813B
-#define GL_TEXTURE_BASE_LEVEL_SGIS        0x813C
-#define GL_TEXTURE_MAX_LEVEL_SGIS         0x813D
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_MULTISAMPLE_SGIS               0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_SGIS      0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_SGIS       0x809F
-#define GL_SAMPLE_MASK_SGIS               0x80A0
-#define GL_1PASS_SGIS                     0x80A1
-#define GL_2PASS_0_SGIS                   0x80A2
-#define GL_2PASS_1_SGIS                   0x80A3
-#define GL_4PASS_0_SGIS                   0x80A4
-#define GL_4PASS_1_SGIS                   0x80A5
-#define GL_4PASS_2_SGIS                   0x80A6
-#define GL_4PASS_3_SGIS                   0x80A7
-#define GL_SAMPLE_BUFFERS_SGIS            0x80A8
-#define GL_SAMPLES_SGIS                   0x80A9
-#define GL_SAMPLE_MASK_VALUE_SGIS         0x80AA
-#define GL_SAMPLE_MASK_INVERT_SGIS        0x80AB
-#define GL_SAMPLE_PATTERN_SGIS            0x80AC
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_RESCALE_NORMAL_EXT             0x803A
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_VERTEX_ARRAY_EXT               0x8074
-#define GL_NORMAL_ARRAY_EXT               0x8075
-#define GL_COLOR_ARRAY_EXT                0x8076
-#define GL_INDEX_ARRAY_EXT                0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT        0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT            0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT          0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT          0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT         0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT          0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT         0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT           0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT           0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT         0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT          0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT           0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT         0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT          0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT       0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT       0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT        0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT        0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_GENERATE_MIPMAP_SGIS           0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS      0x8192
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_LINEAR_CLIPMAP_LINEAR_SGIX     0x8170
-#define GL_TEXTURE_CLIPMAP_CENTER_SGIX    0x8171
-#define GL_TEXTURE_CLIPMAP_FRAME_SGIX     0x8172
-#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX    0x8173
-#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
-#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
-#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX     0x8176
-#define GL_MAX_CLIPMAP_DEPTH_SGIX         0x8177
-#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
-#define GL_NEAREST_CLIPMAP_NEAREST_SGIX   0x844D
-#define GL_NEAREST_CLIPMAP_LINEAR_SGIX    0x844E
-#define GL_LINEAR_CLIPMAP_NEAREST_SGIX    0x844F
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_TEXTURE_COMPARE_SGIX           0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX  0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX          0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX          0x819D
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_CLAMP_TO_EDGE_SGIS             0x812F
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_FUNC_ADD_EXT                   0x8006
-#define GL_MIN_EXT                        0x8007
-#define GL_MAX_EXT                        0x8008
-#define GL_BLEND_EQUATION_EXT             0x8009
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_FUNC_SUBTRACT_EXT              0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT      0x800B
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_INTERLACE_SGIX                 0x8094
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
-#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
-#define GL_PIXEL_TILE_WIDTH_SGIX          0x8140
-#define GL_PIXEL_TILE_HEIGHT_SGIX         0x8141
-#define GL_PIXEL_TILE_GRID_WIDTH_SGIX     0x8142
-#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX    0x8143
-#define GL_PIXEL_TILE_GRID_DEPTH_SGIX     0x8144
-#define GL_PIXEL_TILE_CACHE_SIZE_SGIX     0x8145
-#endif
-
-#ifndef GL_SGIS_texture_select
-#define GL_DUAL_ALPHA4_SGIS               0x8110
-#define GL_DUAL_ALPHA8_SGIS               0x8111
-#define GL_DUAL_ALPHA12_SGIS              0x8112
-#define GL_DUAL_ALPHA16_SGIS              0x8113
-#define GL_DUAL_LUMINANCE4_SGIS           0x8114
-#define GL_DUAL_LUMINANCE8_SGIS           0x8115
-#define GL_DUAL_LUMINANCE12_SGIS          0x8116
-#define GL_DUAL_LUMINANCE16_SGIS          0x8117
-#define GL_DUAL_INTENSITY4_SGIS           0x8118
-#define GL_DUAL_INTENSITY8_SGIS           0x8119
-#define GL_DUAL_INTENSITY12_SGIS          0x811A
-#define GL_DUAL_INTENSITY16_SGIS          0x811B
-#define GL_DUAL_LUMINANCE_ALPHA4_SGIS     0x811C
-#define GL_DUAL_LUMINANCE_ALPHA8_SGIS     0x811D
-#define GL_QUAD_ALPHA4_SGIS               0x811E
-#define GL_QUAD_ALPHA8_SGIS               0x811F
-#define GL_QUAD_LUMINANCE4_SGIS           0x8120
-#define GL_QUAD_LUMINANCE8_SGIS           0x8121
-#define GL_QUAD_INTENSITY4_SGIS           0x8122
-#define GL_QUAD_INTENSITY8_SGIS           0x8123
-#define GL_DUAL_TEXTURE_SELECT_SGIS       0x8124
-#define GL_QUAD_TEXTURE_SELECT_SGIS       0x8125
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SPRITE_SGIX                    0x8148
-#define GL_SPRITE_MODE_SGIX               0x8149
-#define GL_SPRITE_AXIS_SGIX               0x814A
-#define GL_SPRITE_TRANSLATION_SGIX        0x814B
-#define GL_SPRITE_AXIAL_SGIX              0x814C
-#define GL_SPRITE_OBJECT_ALIGNED_SGIX     0x814D
-#define GL_SPRITE_EYE_ALIGNED_SGIX        0x814E
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
-#define GL_INSTRUMENT_MEASUREMENTS_SGIX   0x8181
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_POST_TEXTURE_FILTER_BIAS_SGIX  0x8179
-#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
-#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
-#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_FRAMEZOOM_SGIX                 0x818B
-#define GL_FRAMEZOOM_FACTOR_SGIX          0x818C
-#define GL_MAX_FRAMEZOOM_FACTOR_SGIX      0x818D
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#endif
-
-#ifndef GL_FfdMaskSGIX
-#define GL_TEXTURE_DEFORMATION_BIT_SGIX   0x00000001
-#define GL_GEOMETRY_DEFORMATION_BIT_SGIX  0x00000002
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_GEOMETRY_DEFORMATION_SGIX      0x8194
-#define GL_TEXTURE_DEFORMATION_SGIX       0x8195
-#define GL_DEFORMATIONS_MASK_SGIX         0x8196
-#define GL_MAX_DEFORMATION_ORDER_SGIX     0x8197
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_REFERENCE_PLANE_SGIX           0x817D
-#define GL_REFERENCE_PLANE_EQUATION_SGIX  0x817E
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_DEPTH_COMPONENT16_SGIX         0x81A5
-#define GL_DEPTH_COMPONENT24_SGIX         0x81A6
-#define GL_DEPTH_COMPONENT32_SGIX         0x81A7
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_FOG_FUNC_SGIS                  0x812A
-#define GL_FOG_FUNC_POINTS_SGIS           0x812B
-#define GL_MAX_FOG_FUNC_POINTS_SGIS       0x812C
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_FOG_OFFSET_SGIX                0x8198
-#define GL_FOG_OFFSET_VALUE_SGIX          0x8199
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_IMAGE_SCALE_X_HP               0x8155
-#define GL_IMAGE_SCALE_Y_HP               0x8156
-#define GL_IMAGE_TRANSLATE_X_HP           0x8157
-#define GL_IMAGE_TRANSLATE_Y_HP           0x8158
-#define GL_IMAGE_ROTATE_ANGLE_HP          0x8159
-#define GL_IMAGE_ROTATE_ORIGIN_X_HP       0x815A
-#define GL_IMAGE_ROTATE_ORIGIN_Y_HP       0x815B
-#define GL_IMAGE_MAG_FILTER_HP            0x815C
-#define GL_IMAGE_MIN_FILTER_HP            0x815D
-#define GL_IMAGE_CUBIC_WEIGHT_HP          0x815E
-#define GL_CUBIC_HP                       0x815F
-#define GL_AVERAGE_HP                     0x8160
-#define GL_IMAGE_TRANSFORM_2D_HP          0x8161
-#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
-#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_IGNORE_BORDER_HP               0x8150
-#define GL_CONSTANT_BORDER_HP             0x8151
-#define GL_REPLICATE_BORDER_HP            0x8153
-#define GL_CONVOLUTION_BORDER_COLOR_HP    0x8154
-#endif
-
-#ifndef GL_INGR_palette_buffer
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_TEXTURE_ENV_BIAS_SGIX          0x80BE
-#endif
-
-#ifndef GL_EXT_color_subtable
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_VERTEX_DATA_HINT_PGI           0x1A22A
-#define GL_VERTEX_CONSISTENT_HINT_PGI     0x1A22B
-#define GL_MATERIAL_SIDE_HINT_PGI         0x1A22C
-#define GL_MAX_VERTEX_HINT_PGI            0x1A22D
-#define GL_COLOR3_BIT_PGI                 0x00010000
-#define GL_COLOR4_BIT_PGI                 0x00020000
-#define GL_EDGEFLAG_BIT_PGI               0x00040000
-#define GL_INDEX_BIT_PGI                  0x00080000
-#define GL_MAT_AMBIENT_BIT_PGI            0x00100000
-#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
-#define GL_MAT_DIFFUSE_BIT_PGI            0x00400000
-#define GL_MAT_EMISSION_BIT_PGI           0x00800000
-#define GL_MAT_COLOR_INDEXES_BIT_PGI      0x01000000
-#define GL_MAT_SHININESS_BIT_PGI          0x02000000
-#define GL_MAT_SPECULAR_BIT_PGI           0x04000000
-#define GL_NORMAL_BIT_PGI                 0x08000000
-#define GL_TEXCOORD1_BIT_PGI              0x10000000
-#define GL_TEXCOORD2_BIT_PGI              0x20000000
-#define GL_TEXCOORD3_BIT_PGI              0x40000000
-#define GL_TEXCOORD4_BIT_PGI              0x80000000
-#define GL_VERTEX23_BIT_PGI               0x00000004
-#define GL_VERTEX4_BIT_PGI                0x00000008
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1A1F8
-#define GL_CONSERVE_MEMORY_HINT_PGI       0x1A1FD
-#define GL_RECLAIM_MEMORY_HINT_PGI        0x1A1FE
-#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1A202
-#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
-#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1A204
-#define GL_ALWAYS_FAST_HINT_PGI           0x1A20C
-#define GL_ALWAYS_SOFT_HINT_PGI           0x1A20D
-#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1A20E
-#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1A20F
-#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1A210
-#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1A211
-#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1A216
-#define GL_STRICT_LIGHTING_HINT_PGI       0x1A217
-#define GL_STRICT_SCISSOR_HINT_PGI        0x1A218
-#define GL_FULL_STIPPLE_HINT_PGI          0x1A219
-#define GL_CLIP_NEAR_HINT_PGI             0x1A220
-#define GL_CLIP_FAR_HINT_PGI              0x1A221
-#define GL_WIDE_LINE_HINT_PGI             0x1A222
-#define GL_BACK_NORMALS_HINT_PGI          0x1A223
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_COLOR_INDEX1_EXT               0x80E2
-#define GL_COLOR_INDEX2_EXT               0x80E3
-#define GL_COLOR_INDEX4_EXT               0x80E4
-#define GL_COLOR_INDEX8_EXT               0x80E5
-#define GL_COLOR_INDEX12_EXT              0x80E6
-#define GL_COLOR_INDEX16_EXT              0x80E7
-#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ED
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT  0x80F0
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_LIST_PRIORITY_SGIX             0x8182
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_IR_INSTRUMENT1_SGIX            0x817F
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_CALLIGRAPHIC_FRAGMENT_SGIX     0x8183
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_TEXTURE_LOD_BIAS_S_SGIX        0x818E
-#define GL_TEXTURE_LOD_BIAS_T_SGIX        0x818F
-#define GL_TEXTURE_LOD_BIAS_R_SGIX        0x8190
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SHADOW_AMBIENT_SGIX            0x80BF
-#endif
-
-#ifndef GL_EXT_index_texture
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_INDEX_MATERIAL_EXT             0x81B8
-#define GL_INDEX_MATERIAL_PARAMETER_EXT   0x81B9
-#define GL_INDEX_MATERIAL_FACE_EXT        0x81BA
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_INDEX_TEST_EXT                 0x81B5
-#define GL_INDEX_TEST_FUNC_EXT            0x81B6
-#define GL_INDEX_TEST_REF_EXT             0x81B7
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_IUI_V2F_EXT                    0x81AD
-#define GL_IUI_V3F_EXT                    0x81AE
-#define GL_IUI_N3F_V2F_EXT                0x81AF
-#define GL_IUI_N3F_V3F_EXT                0x81B0
-#define GL_T2F_IUI_V2F_EXT                0x81B1
-#define GL_T2F_IUI_V3F_EXT                0x81B2
-#define GL_T2F_IUI_N3F_V2F_EXT            0x81B3
-#define GL_T2F_IUI_N3F_V3F_EXT            0x81B4
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT   0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT   0x81A9
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_CULL_VERTEX_EXT                0x81AA
-#define GL_CULL_VERTEX_EYE_POSITION_EXT   0x81AB
-#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_YCRCB_422_SGIX                 0x81BB
-#define GL_YCRCB_444_SGIX                 0x81BC
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_FRAGMENT_LIGHTING_SGIX         0x8400
-#define GL_FRAGMENT_COLOR_MATERIAL_SGIX   0x8401
-#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
-#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
-#define GL_MAX_FRAGMENT_LIGHTS_SGIX       0x8404
-#define GL_MAX_ACTIVE_LIGHTS_SGIX         0x8405
-#define GL_CURRENT_RASTER_NORMAL_SGIX     0x8406
-#define GL_LIGHT_ENV_MODE_SGIX            0x8407
-#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
-#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
-#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
-#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
-#define GL_FRAGMENT_LIGHT0_SGIX           0x840C
-#define GL_FRAGMENT_LIGHT1_SGIX           0x840D
-#define GL_FRAGMENT_LIGHT2_SGIX           0x840E
-#define GL_FRAGMENT_LIGHT3_SGIX           0x840F
-#define GL_FRAGMENT_LIGHT4_SGIX           0x8410
-#define GL_FRAGMENT_LIGHT5_SGIX           0x8411
-#define GL_FRAGMENT_LIGHT6_SGIX           0x8412
-#define GL_FRAGMENT_LIGHT7_SGIX           0x8413
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_RASTER_POSITION_UNCLIPPED_IBM  0x19262
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_TEXTURE_LIGHTING_MODE_HP       0x8167
-#define GL_TEXTURE_POST_SPECULAR_HP       0x8168
-#define GL_TEXTURE_PRE_SPECULAR_HP        0x8169
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_MAX_ELEMENTS_VERTICES_EXT      0x80E8
-#define GL_MAX_ELEMENTS_INDICES_EXT       0x80E9
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_PHONG_WIN                      0x80EA
-#define GL_PHONG_HINT_WIN                 0x80EB
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_FOG_SPECULAR_TEXTURE_WIN       0x80EC
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_FRAGMENT_MATERIAL_EXT          0x8349
-#define GL_FRAGMENT_NORMAL_EXT            0x834A
-#define GL_FRAGMENT_COLOR_EXT             0x834C
-#define GL_ATTENUATION_EXT                0x834D
-#define GL_SHADOW_ATTENUATION_EXT         0x834E
-#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834F
-#define GL_TEXTURE_LIGHT_EXT              0x8350
-#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351
-#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
-/* reuse GL_FRAGMENT_DEPTH_EXT */
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_ALPHA_MIN_SGIX                 0x8320
-#define GL_ALPHA_MAX_SGIX                 0x8321
-#endif
-
-#ifndef GL_SGIX_impact_pixel_texture
-#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX   0x8184
-#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX     0x8185
-#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX     0x8186
-#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187
-#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188
-#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX    0x8189
-#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX    0x818A
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_BGR_EXT                        0x80E0
-#define GL_BGRA_EXT                       0x80E1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_ASYNC_MARKER_SGIX              0x8329
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_ASYNC_TEX_IMAGE_SGIX           0x835C
-#define GL_ASYNC_DRAW_PIXELS_SGIX         0x835D
-#define GL_ASYNC_READ_PIXELS_SGIX         0x835E
-#define GL_MAX_ASYNC_TEX_IMAGE_SGIX       0x835F
-#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX     0x8360
-#define GL_MAX_ASYNC_READ_PIXELS_SGIX     0x8361
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_ASYNC_HISTOGRAM_SGIX           0x832C
-#define GL_MAX_ASYNC_HISTOGRAM_SGIX       0x832D
-#endif
-
-#ifndef GL_INTEL_texture_scissor
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_PARALLEL_ARRAYS_INTEL          0x83F4
-#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
-#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
-#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
-#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_OCCLUSION_TEST_HP              0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP       0x8166
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_PIXEL_TRANSFORM_2D_EXT         0x8330
-#define GL_PIXEL_MAG_FILTER_EXT           0x8331
-#define GL_PIXEL_MIN_FILTER_EXT           0x8332
-#define GL_PIXEL_CUBIC_WEIGHT_EXT         0x8333
-#define GL_CUBIC_EXT                      0x8334
-#define GL_AVERAGE_EXT                    0x8335
-#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
-#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
-#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT  0x8338
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_SHARED_TEXTURE_PALETTE_EXT     0x81FB
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8
-#define GL_SINGLE_COLOR_EXT               0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_COLOR_SUM_EXT                  0x8458
-#define GL_CURRENT_SECONDARY_COLOR_EXT    0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
-#define GL_SECONDARY_COLOR_ARRAY_EXT      0x845E
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_PERTURB_EXT                    0x85AE
-#define GL_TEXTURE_NORMAL_EXT             0x85AF
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_FOG_COORDINATE_SOURCE_EXT      0x8450
-#define GL_FOG_COORDINATE_EXT             0x8451
-#define GL_FRAGMENT_DEPTH_EXT             0x8452
-#define GL_CURRENT_FOG_COORDINATE_EXT     0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT  0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
-#define GL_FOG_COORDINATE_ARRAY_EXT       0x8457
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_SCREEN_COORDINATES_REND        0x8490
-#define GL_INVERTED_SCREEN_W_REND         0x8491
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_TANGENT_ARRAY_EXT              0x8439
-#define GL_BINORMAL_ARRAY_EXT             0x843A
-#define GL_CURRENT_TANGENT_EXT            0x843B
-#define GL_CURRENT_BINORMAL_EXT           0x843C
-#define GL_TANGENT_ARRAY_TYPE_EXT         0x843E
-#define GL_TANGENT_ARRAY_STRIDE_EXT       0x843F
-#define GL_BINORMAL_ARRAY_TYPE_EXT        0x8440
-#define GL_BINORMAL_ARRAY_STRIDE_EXT      0x8441
-#define GL_TANGENT_ARRAY_POINTER_EXT      0x8442
-#define GL_BINORMAL_ARRAY_POINTER_EXT     0x8443
-#define GL_MAP1_TANGENT_EXT               0x8444
-#define GL_MAP2_TANGENT_EXT               0x8445
-#define GL_MAP1_BINORMAL_EXT              0x8446
-#define GL_MAP2_BINORMAL_EXT              0x8447
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_COMBINE_EXT                    0x8570
-#define GL_COMBINE_RGB_EXT                0x8571
-#define GL_COMBINE_ALPHA_EXT              0x8572
-#define GL_RGB_SCALE_EXT                  0x8573
-#define GL_ADD_SIGNED_EXT                 0x8574
-#define GL_INTERPOLATE_EXT                0x8575
-#define GL_CONSTANT_EXT                   0x8576
-#define GL_PRIMARY_COLOR_EXT              0x8577
-#define GL_PREVIOUS_EXT                   0x8578
-#define GL_SOURCE0_RGB_EXT                0x8580
-#define GL_SOURCE1_RGB_EXT                0x8581
-#define GL_SOURCE2_RGB_EXT                0x8582
-#define GL_SOURCE0_ALPHA_EXT              0x8588
-#define GL_SOURCE1_ALPHA_EXT              0x8589
-#define GL_SOURCE2_ALPHA_EXT              0x858A
-#define GL_OPERAND0_RGB_EXT               0x8590
-#define GL_OPERAND1_RGB_EXT               0x8591
-#define GL_OPERAND2_RGB_EXT               0x8592
-#define GL_OPERAND0_ALPHA_EXT             0x8598
-#define GL_OPERAND1_ALPHA_EXT             0x8599
-#define GL_OPERAND2_ALPHA_EXT             0x859A
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_TRANSFORM_HINT_APPLE           0x85B1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_FOG_SCALE_SGIX                 0x81FC
-#define GL_FOG_SCALE_VALUE_SGIX           0x81FD
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_UNPACK_CONSTANT_DATA_SUNX      0x81D5
-#define GL_TEXTURE_CONSTANT_DATA_SUNX     0x81D6
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_GLOBAL_ALPHA_SUN               0x81D9
-#define GL_GLOBAL_ALPHA_FACTOR_SUN        0x81DA
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_RESTART_SUN                    0x0001
-#define GL_REPLACE_MIDDLE_SUN             0x0002
-#define GL_REPLACE_OLDEST_SUN             0x0003
-#define GL_TRIANGLE_LIST_SUN              0x81D7
-#define GL_REPLACEMENT_CODE_SUN           0x81D8
-#define GL_REPLACEMENT_CODE_ARRAY_SUN     0x85C0
-#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
-#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
-#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
-#define GL_R1UI_V3F_SUN                   0x85C4
-#define GL_R1UI_C4UB_V3F_SUN              0x85C5
-#define GL_R1UI_C3F_V3F_SUN               0x85C6
-#define GL_R1UI_N3F_V3F_SUN               0x85C7
-#define GL_R1UI_C4F_N3F_V3F_SUN           0x85C8
-#define GL_R1UI_T2F_V3F_SUN               0x85C9
-#define GL_R1UI_T2F_N3F_V3F_SUN           0x85CA
-#define GL_R1UI_T2F_C4F_N3F_V3F_SUN       0x85CB
-#endif
-
-#ifndef GL_SUN_vertex
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_BLEND_DST_RGB_EXT              0x80C8
-#define GL_BLEND_SRC_RGB_EXT              0x80C9
-#define GL_BLEND_DST_ALPHA_EXT            0x80CA
-#define GL_BLEND_SRC_ALPHA_EXT            0x80CB
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_RED_MIN_CLAMP_INGR             0x8560
-#define GL_GREEN_MIN_CLAMP_INGR           0x8561
-#define GL_BLUE_MIN_CLAMP_INGR            0x8562
-#define GL_ALPHA_MIN_CLAMP_INGR           0x8563
-#define GL_RED_MAX_CLAMP_INGR             0x8564
-#define GL_GREEN_MAX_CLAMP_INGR           0x8565
-#define GL_BLUE_MAX_CLAMP_INGR            0x8566
-#define GL_ALPHA_MAX_CLAMP_INGR           0x8567
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INTERLACE_READ_INGR            0x8568
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_INCR_WRAP_EXT                  0x8507
-#define GL_DECR_WRAP_EXT                  0x8508
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_422_EXT                        0x80CC
-#define GL_422_REV_EXT                    0x80CD
-#define GL_422_AVERAGE_EXT                0x80CE
-#define GL_422_REV_AVERAGE_EXT            0x80CF
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NORMAL_MAP_NV                  0x8511
-#define GL_REFLECTION_MAP_NV              0x8512
-#endif
-
-#ifndef GL_EXT_texture_cube_map
-#define GL_NORMAL_MAP_EXT                 0x8511
-#define GL_REFLECTION_MAP_EXT             0x8512
-#define GL_TEXTURE_CUBE_MAP_EXT           0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT   0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT     0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT  0x851C
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_WRAP_BORDER_SUN                0x81D4
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT       0x84FD
-#define GL_TEXTURE_FILTER_CONTROL_EXT     0x8500
-#define GL_TEXTURE_LOD_BIAS_EXT           0x8501
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_MODELVIEW0_STACK_DEPTH_EXT     GL_MODELVIEW_STACK_DEPTH
-#define GL_MODELVIEW1_STACK_DEPTH_EXT     0x8502
-#define GL_MODELVIEW0_MATRIX_EXT          GL_MODELVIEW_MATRIX
-#define GL_MODELVIEW1_MATRIX_EXT          0x8506
-#define GL_VERTEX_WEIGHTING_EXT           0x8509
-#define GL_MODELVIEW0_EXT                 GL_MODELVIEW
-#define GL_MODELVIEW1_EXT                 0x850A
-#define GL_CURRENT_VERTEX_WEIGHT_EXT      0x850B
-#define GL_VERTEX_WEIGHT_ARRAY_EXT        0x850C
-#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT   0x850D
-#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT   0x850E
-#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
-#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_MAX_SHININESS_NV               0x8504
-#define GL_MAX_SPOT_EXPONENT_NV           0x8505
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_VERTEX_ARRAY_RANGE_NV          0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV   0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV    0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV  0x8521
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_REGISTER_COMBINERS_NV          0x8522
-#define GL_VARIABLE_A_NV                  0x8523
-#define GL_VARIABLE_B_NV                  0x8524
-#define GL_VARIABLE_C_NV                  0x8525
-#define GL_VARIABLE_D_NV                  0x8526
-#define GL_VARIABLE_E_NV                  0x8527
-#define GL_VARIABLE_F_NV                  0x8528
-#define GL_VARIABLE_G_NV                  0x8529
-#define GL_CONSTANT_COLOR0_NV             0x852A
-#define GL_CONSTANT_COLOR1_NV             0x852B
-#define GL_PRIMARY_COLOR_NV               0x852C
-#define GL_SECONDARY_COLOR_NV             0x852D
-#define GL_SPARE0_NV                      0x852E
-#define GL_SPARE1_NV                      0x852F
-#define GL_DISCARD_NV                     0x8530
-#define GL_E_TIMES_F_NV                   0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
-#define GL_UNSIGNED_IDENTITY_NV           0x8536
-#define GL_UNSIGNED_INVERT_NV             0x8537
-#define GL_EXPAND_NORMAL_NV               0x8538
-#define GL_EXPAND_NEGATE_NV               0x8539
-#define GL_HALF_BIAS_NORMAL_NV            0x853A
-#define GL_HALF_BIAS_NEGATE_NV            0x853B
-#define GL_SIGNED_IDENTITY_NV             0x853C
-#define GL_SIGNED_NEGATE_NV               0x853D
-#define GL_SCALE_BY_TWO_NV                0x853E
-#define GL_SCALE_BY_FOUR_NV               0x853F
-#define GL_SCALE_BY_ONE_HALF_NV           0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541
-#define GL_COMBINER_INPUT_NV              0x8542
-#define GL_COMBINER_MAPPING_NV            0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546
-#define GL_COMBINER_MUX_SUM_NV            0x8547
-#define GL_COMBINER_SCALE_NV              0x8548
-#define GL_COMBINER_BIAS_NV               0x8549
-#define GL_COMBINER_AB_OUTPUT_NV          0x854A
-#define GL_COMBINER_CD_OUTPUT_NV          0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV         0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV       0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV       0x854E
-#define GL_COLOR_SUM_CLAMP_NV             0x854F
-#define GL_COMBINER0_NV                   0x8550
-#define GL_COMBINER1_NV                   0x8551
-#define GL_COMBINER2_NV                   0x8552
-#define GL_COMBINER3_NV                   0x8553
-#define GL_COMBINER4_NV                   0x8554
-#define GL_COMBINER5_NV                   0x8555
-#define GL_COMBINER6_NV                   0x8556
-#define GL_COMBINER7_NV                   0x8557
-/* reuse GL_TEXTURE0_ARB */
-/* reuse GL_TEXTURE1_ARB */
-/* reuse GL_ZERO */
-/* reuse GL_NONE */
-/* reuse GL_FOG */
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_FOG_DISTANCE_MODE_NV           0x855A
-#define GL_EYE_RADIAL_NV                  0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV          0x855C
-/* reuse GL_EYE_PLANE */
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_EMBOSS_LIGHT_NV                0x855D
-#define GL_EMBOSS_CONSTANT_NV             0x855E
-#define GL_EMBOSS_MAP_NV                  0x855F
-#endif
-
-#ifndef GL_NV_blend_square
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_COMBINE4_NV                    0x8503
-#define GL_SOURCE3_RGB_NV                 0x8583
-#define GL_SOURCE3_ALPHA_NV               0x858B
-#define GL_OPERAND3_RGB_NV                0x8593
-#define GL_OPERAND3_ALPHA_NV              0x859B
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#endif
-
-#ifndef GL_MESA_window_pos
-#endif
-
-#ifndef GL_EXT_texture_compression_s3tc
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_CULL_VERTEX_IBM                103050
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_VERTEX_ARRAY_LIST_IBM          103070
-#define GL_NORMAL_ARRAY_LIST_IBM          103071
-#define GL_COLOR_ARRAY_LIST_IBM           103072
-#define GL_INDEX_ARRAY_LIST_IBM           103073
-#define GL_TEXTURE_COORD_ARRAY_LIST_IBM   103074
-#define GL_EDGE_FLAG_ARRAY_LIST_IBM       103075
-#define GL_FOG_COORDINATE_ARRAY_LIST_IBM  103076
-#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
-#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM   103080
-#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM   103081
-#define GL_COLOR_ARRAY_LIST_STRIDE_IBM    103082
-#define GL_INDEX_ARRAY_LIST_STRIDE_IBM    103083
-#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
-#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
-#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
-#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_PACK_SUBSAMPLE_RATE_SGIX       0x85A0
-#define GL_UNPACK_SUBSAMPLE_RATE_SGIX     0x85A1
-#define GL_PIXEL_SUBSAMPLE_4444_SGIX      0x85A2
-#define GL_PIXEL_SUBSAMPLE_2424_SGIX      0x85A3
-#define GL_PIXEL_SUBSAMPLE_4242_SGIX      0x85A4
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_YCRCB_SGIX                     0x8318
-#define GL_YCRCBA_SGIX                    0x8319
-#endif
-
-#ifndef GL_SGI_depth_pass_instrument
-#define GL_DEPTH_PASS_INSTRUMENT_SGIX     0x8310
-#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
-#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_COMPRESSED_RGB_FXT1_3DFX       0x86B0
-#define GL_COMPRESSED_RGBA_FXT1_3DFX      0x86B1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_MULTISAMPLE_3DFX               0x86B2
-#define GL_SAMPLE_BUFFERS_3DFX            0x86B3
-#define GL_SAMPLES_3DFX                   0x86B4
-#define GL_MULTISAMPLE_BIT_3DFX           0x20000000
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_MULTISAMPLE_EXT                0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_EXT       0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_EXT        0x809F
-#define GL_SAMPLE_MASK_EXT                0x80A0
-#define GL_1PASS_EXT                      0x80A1
-#define GL_2PASS_0_EXT                    0x80A2
-#define GL_2PASS_1_EXT                    0x80A3
-#define GL_4PASS_0_EXT                    0x80A4
-#define GL_4PASS_1_EXT                    0x80A5
-#define GL_4PASS_2_EXT                    0x80A6
-#define GL_4PASS_3_EXT                    0x80A7
-#define GL_SAMPLE_BUFFERS_EXT             0x80A8
-#define GL_SAMPLES_EXT                    0x80A9
-#define GL_SAMPLE_MASK_VALUE_EXT          0x80AA
-#define GL_SAMPLE_MASK_INVERT_EXT         0x80AB
-#define GL_SAMPLE_PATTERN_EXT             0x80AC
-#define GL_MULTISAMPLE_BIT_EXT            0x20000000
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_VERTEX_PRECLIP_SGIX            0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX       0x83EF
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_CONVOLUTION_HINT_SGIX          0x8316
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_PACK_RESAMPLE_SGIX             0x842C
-#define GL_UNPACK_RESAMPLE_SGIX           0x842D
-#define GL_RESAMPLE_REPLICATE_SGIX        0x842E
-#define GL_RESAMPLE_ZERO_FILL_SGIX        0x842F
-#define GL_RESAMPLE_DECIMATE_SGIX         0x8430
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_EYE_DISTANCE_TO_POINT_SGIS     0x81F0
-#define GL_OBJECT_DISTANCE_TO_POINT_SGIS  0x81F1
-#define GL_EYE_DISTANCE_TO_LINE_SGIS      0x81F2
-#define GL_OBJECT_DISTANCE_TO_LINE_SGIS   0x81F3
-#define GL_EYE_POINT_SGIS                 0x81F4
-#define GL_OBJECT_POINT_SGIS              0x81F5
-#define GL_EYE_LINE_SGIS                  0x81F6
-#define GL_OBJECT_LINE_SGIS               0x81F7
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_TEXTURE_COLOR_WRITEMASK_SGIS   0x81EF
-#endif
-
-#ifndef GL_NV_fence
-#define GL_ALL_COMPLETED_NV               0x84F2
-#define GL_FENCE_STATUS_NV                0x84F3
-#define GL_FENCE_CONDITION_NV             0x84F4
-#endif
-
-#ifndef GL_IBM_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_IBM            0x8370
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_EVAL_2D_NV                     0x86C0
-#define GL_EVAL_TRIANGULAR_2D_NV          0x86C1
-#define GL_MAP_TESSELLATION_NV            0x86C2
-#define GL_MAP_ATTRIB_U_ORDER_NV          0x86C3
-#define GL_MAP_ATTRIB_V_ORDER_NV          0x86C4
-#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
-#define GL_EVAL_VERTEX_ATTRIB0_NV         0x86C6
-#define GL_EVAL_VERTEX_ATTRIB1_NV         0x86C7
-#define GL_EVAL_VERTEX_ATTRIB2_NV         0x86C8
-#define GL_EVAL_VERTEX_ATTRIB3_NV         0x86C9
-#define GL_EVAL_VERTEX_ATTRIB4_NV         0x86CA
-#define GL_EVAL_VERTEX_ATTRIB5_NV         0x86CB
-#define GL_EVAL_VERTEX_ATTRIB6_NV         0x86CC
-#define GL_EVAL_VERTEX_ATTRIB7_NV         0x86CD
-#define GL_EVAL_VERTEX_ATTRIB8_NV         0x86CE
-#define GL_EVAL_VERTEX_ATTRIB9_NV         0x86CF
-#define GL_EVAL_VERTEX_ATTRIB10_NV        0x86D0
-#define GL_EVAL_VERTEX_ATTRIB11_NV        0x86D1
-#define GL_EVAL_VERTEX_ATTRIB12_NV        0x86D2
-#define GL_EVAL_VERTEX_ATTRIB13_NV        0x86D3
-#define GL_EVAL_VERTEX_ATTRIB14_NV        0x86D4
-#define GL_EVAL_VERTEX_ATTRIB15_NV        0x86D5
-#define GL_MAX_MAP_TESSELLATION_NV        0x86D6
-#define GL_MAX_RATIONAL_EVAL_ORDER_NV     0x86D7
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_DEPTH_STENCIL_NV               0x84F9
-#define GL_UNSIGNED_INT_24_8_NV           0x84FA
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_PER_STAGE_CONSTANTS_NV         0x8535
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_TEXTURE_RECTANGLE_NV           0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_NV   0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_NV     0x84F7
-#define GL_MAX_TEXTURE_RECTANGLE_SIZE_NV  0x84F8
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV    0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV          0x86DC
-#define GL_SHADER_CONSISTENT_NV           0x86DD
-#define GL_TEXTURE_SHADER_NV              0x86DE
-#define GL_SHADER_OPERATION_NV            0x86DF
-#define GL_CULL_MODES_NV                  0x86E0
-#define GL_OFFSET_TEXTURE_MATRIX_NV       0x86E1
-#define GL_OFFSET_TEXTURE_SCALE_NV        0x86E2
-#define GL_OFFSET_TEXTURE_BIAS_NV         0x86E3
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV    GL_OFFSET_TEXTURE_MATRIX_NV
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV     GL_OFFSET_TEXTURE_SCALE_NV
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV      GL_OFFSET_TEXTURE_BIAS_NV
-#define GL_PREVIOUS_TEXTURE_INPUT_NV      0x86E4
-#define GL_CONST_EYE_NV                   0x86E5
-#define GL_PASS_THROUGH_NV                0x86E6
-#define GL_CULL_FRAGMENT_NV               0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV           0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV     0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV     0x86EA
-#define GL_DOT_PRODUCT_NV                 0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV   0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV      0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
-#define GL_HILO_NV                        0x86F4
-#define GL_DSDT_NV                        0x86F5
-#define GL_DSDT_MAG_NV                    0x86F6
-#define GL_DSDT_MAG_VIB_NV                0x86F7
-#define GL_HILO16_NV                      0x86F8
-#define GL_SIGNED_HILO_NV                 0x86F9
-#define GL_SIGNED_HILO16_NV               0x86FA
-#define GL_SIGNED_RGBA_NV                 0x86FB
-#define GL_SIGNED_RGBA8_NV                0x86FC
-#define GL_SIGNED_RGB_NV                  0x86FE
-#define GL_SIGNED_RGB8_NV                 0x86FF
-#define GL_SIGNED_LUMINANCE_NV            0x8701
-#define GL_SIGNED_LUMINANCE8_NV           0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704
-#define GL_SIGNED_ALPHA_NV                0x8705
-#define GL_SIGNED_ALPHA8_NV               0x8706
-#define GL_SIGNED_INTENSITY_NV            0x8707
-#define GL_SIGNED_INTENSITY8_NV           0x8708
-#define GL_DSDT8_NV                       0x8709
-#define GL_DSDT8_MAG8_NV                  0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV       0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-#define GL_HI_SCALE_NV                    0x870E
-#define GL_LO_SCALE_NV                    0x870F
-#define GL_DS_SCALE_NV                    0x8710
-#define GL_DT_SCALE_NV                    0x8711
-#define GL_MAGNITUDE_SCALE_NV             0x8712
-#define GL_VIBRANCE_SCALE_NV              0x8713
-#define GL_HI_BIAS_NV                     0x8714
-#define GL_LO_BIAS_NV                     0x8715
-#define GL_DS_BIAS_NV                     0x8716
-#define GL_DT_BIAS_NV                     0x8717
-#define GL_MAGNITUDE_BIAS_NV              0x8718
-#define GL_VIBRANCE_BIAS_NV               0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV       0x871A
-#define GL_TEXTURE_HI_SIZE_NV             0x871B
-#define GL_TEXTURE_LO_SIZE_NV             0x871C
-#define GL_TEXTURE_DS_SIZE_NV             0x871D
-#define GL_TEXTURE_DT_SIZE_NV             0x871E
-#define GL_TEXTURE_MAG_SIZE_NV            0x871F
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86EF
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_VERTEX_PROGRAM_NV              0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV        0x8621
-#define GL_ATTRIB_ARRAY_SIZE_NV           0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV           0x8625
-#define GL_CURRENT_ATTRIB_NV              0x8626
-#define GL_PROGRAM_LENGTH_NV              0x8627
-#define GL_PROGRAM_STRING_NV              0x8628
-#define GL_MODELVIEW_PROJECTION_NV        0x8629
-#define GL_IDENTITY_NV                    0x862A
-#define GL_INVERSE_NV                     0x862B
-#define GL_TRANSPOSE_NV                   0x862C
-#define GL_INVERSE_TRANSPOSE_NV           0x862D
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
-#define GL_MAX_TRACK_MATRICES_NV          0x862F
-#define GL_MATRIX0_NV                     0x8630
-#define GL_MATRIX1_NV                     0x8631
-#define GL_MATRIX2_NV                     0x8632
-#define GL_MATRIX3_NV                     0x8633
-#define GL_MATRIX4_NV                     0x8634
-#define GL_MATRIX5_NV                     0x8635
-#define GL_MATRIX6_NV                     0x8636
-#define GL_MATRIX7_NV                     0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640
-#define GL_CURRENT_MATRIX_NV              0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643
-#define GL_PROGRAM_PARAMETER_NV           0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV        0x8645
-#define GL_PROGRAM_TARGET_NV              0x8646
-#define GL_PROGRAM_RESIDENT_NV            0x8647
-#define GL_TRACK_MATRIX_NV                0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV      0x864A
-#define GL_PROGRAM_ERROR_POSITION_NV      0x864B
-#define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_TEXTURE_MAX_CLAMP_S_SGIX       0x8369
-#define GL_TEXTURE_MAX_CLAMP_T_SGIX       0x836A
-#define GL_TEXTURE_MAX_CLAMP_R_SGIX       0x836B
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SCALEBIAS_HINT_SGIX            0x8322
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_INTERLACE_OML                  0x8980
-#define GL_INTERLACE_READ_OML             0x8981
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_FORMAT_SUBSAMPLE_24_24_OML     0x8982
-#define GL_FORMAT_SUBSAMPLE_244_244_OML   0x8983
-#endif
-
-#ifndef GL_OML_resample
-#define GL_PACK_RESAMPLE_OML              0x8984
-#define GL_UNPACK_RESAMPLE_OML            0x8985
-#define GL_RESAMPLE_REPLICATE_OML         0x8986
-#define GL_RESAMPLE_ZERO_FILL_OML         0x8987
-#define GL_RESAMPLE_AVERAGE_OML           0x8988
-#define GL_RESAMPLE_DECIMATE_OML          0x8989
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_DEPTH_STENCIL_TO_RGBA_NV       0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV       0x886F
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_BUMP_ROT_MATRIX_ATI            0x8775
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI       0x8776
-#define GL_BUMP_NUM_TEX_UNITS_ATI         0x8777
-#define GL_BUMP_TEX_UNITS_ATI             0x8778
-#define GL_DUDV_ATI                       0x8779
-#define GL_DU8DV8_ATI                     0x877A
-#define GL_BUMP_ENVMAP_ATI                0x877B
-#define GL_BUMP_TARGET_ATI                0x877C
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_FRAGMENT_SHADER_ATI            0x8920
-#define GL_REG_0_ATI                      0x8921
-#define GL_REG_1_ATI                      0x8922
-#define GL_REG_2_ATI                      0x8923
-#define GL_REG_3_ATI                      0x8924
-#define GL_REG_4_ATI                      0x8925
-#define GL_REG_5_ATI                      0x8926
-#define GL_REG_6_ATI                      0x8927
-#define GL_REG_7_ATI                      0x8928
-#define GL_REG_8_ATI                      0x8929
-#define GL_REG_9_ATI                      0x892A
-#define GL_REG_10_ATI                     0x892B
-#define GL_REG_11_ATI                     0x892C
-#define GL_REG_12_ATI                     0x892D
-#define GL_REG_13_ATI                     0x892E
-#define GL_REG_14_ATI                     0x892F
-#define GL_REG_15_ATI                     0x8930
-#define GL_REG_16_ATI                     0x8931
-#define GL_REG_17_ATI                     0x8932
-#define GL_REG_18_ATI                     0x8933
-#define GL_REG_19_ATI                     0x8934
-#define GL_REG_20_ATI                     0x8935
-#define GL_REG_21_ATI                     0x8936
-#define GL_REG_22_ATI                     0x8937
-#define GL_REG_23_ATI                     0x8938
-#define GL_REG_24_ATI                     0x8939
-#define GL_REG_25_ATI                     0x893A
-#define GL_REG_26_ATI                     0x893B
-#define GL_REG_27_ATI                     0x893C
-#define GL_REG_28_ATI                     0x893D
-#define GL_REG_29_ATI                     0x893E
-#define GL_REG_30_ATI                     0x893F
-#define GL_REG_31_ATI                     0x8940
-#define GL_CON_0_ATI                      0x8941
-#define GL_CON_1_ATI                      0x8942
-#define GL_CON_2_ATI                      0x8943
-#define GL_CON_3_ATI                      0x8944
-#define GL_CON_4_ATI                      0x8945
-#define GL_CON_5_ATI                      0x8946
-#define GL_CON_6_ATI                      0x8947
-#define GL_CON_7_ATI                      0x8948
-#define GL_CON_8_ATI                      0x8949
-#define GL_CON_9_ATI                      0x894A
-#define GL_CON_10_ATI                     0x894B
-#define GL_CON_11_ATI                     0x894C
-#define GL_CON_12_ATI                     0x894D
-#define GL_CON_13_ATI                     0x894E
-#define GL_CON_14_ATI                     0x894F
-#define GL_CON_15_ATI                     0x8950
-#define GL_CON_16_ATI                     0x8951
-#define GL_CON_17_ATI                     0x8952
-#define GL_CON_18_ATI                     0x8953
-#define GL_CON_19_ATI                     0x8954
-#define GL_CON_20_ATI                     0x8955
-#define GL_CON_21_ATI                     0x8956
-#define GL_CON_22_ATI                     0x8957
-#define GL_CON_23_ATI                     0x8958
-#define GL_CON_24_ATI                     0x8959
-#define GL_CON_25_ATI                     0x895A
-#define GL_CON_26_ATI                     0x895B
-#define GL_CON_27_ATI                     0x895C
-#define GL_CON_28_ATI                     0x895D
-#define GL_CON_29_ATI                     0x895E
-#define GL_CON_30_ATI                     0x895F
-#define GL_CON_31_ATI                     0x8960
-#define GL_MOV_ATI                        0x8961
-#define GL_ADD_ATI                        0x8963
-#define GL_MUL_ATI                        0x8964
-#define GL_SUB_ATI                        0x8965
-#define GL_DOT3_ATI                       0x8966
-#define GL_DOT4_ATI                       0x8967
-#define GL_MAD_ATI                        0x8968
-#define GL_LERP_ATI                       0x8969
-#define GL_CND_ATI                        0x896A
-#define GL_CND0_ATI                       0x896B
-#define GL_DOT2_ADD_ATI                   0x896C
-#define GL_SECONDARY_INTERPOLATOR_ATI     0x896D
-#define GL_NUM_FRAGMENT_REGISTERS_ATI     0x896E
-#define GL_NUM_FRAGMENT_CONSTANTS_ATI     0x896F
-#define GL_NUM_PASSES_ATI                 0x8970
-#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI  0x8971
-#define GL_NUM_INSTRUCTIONS_TOTAL_ATI     0x8972
-#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
-#define GL_NUM_LOOPBACK_COMPONENTS_ATI    0x8974
-#define GL_COLOR_ALPHA_PAIRING_ATI        0x8975
-#define GL_SWIZZLE_STR_ATI                0x8976
-#define GL_SWIZZLE_STQ_ATI                0x8977
-#define GL_SWIZZLE_STR_DR_ATI             0x8978
-#define GL_SWIZZLE_STQ_DQ_ATI             0x8979
-#define GL_SWIZZLE_STRQ_ATI               0x897A
-#define GL_SWIZZLE_STRQ_DQ_ATI            0x897B
-#define GL_RED_BIT_ATI                    0x00000001
-#define GL_GREEN_BIT_ATI                  0x00000002
-#define GL_BLUE_BIT_ATI                   0x00000004
-#define GL_2X_BIT_ATI                     0x00000001
-#define GL_4X_BIT_ATI                     0x00000002
-#define GL_8X_BIT_ATI                     0x00000004
-#define GL_HALF_BIT_ATI                   0x00000008
-#define GL_QUARTER_BIT_ATI                0x00000010
-#define GL_EIGHTH_BIT_ATI                 0x00000020
-#define GL_SATURATE_BIT_ATI               0x00000040
-#define GL_COMP_BIT_ATI                   0x00000002
-#define GL_NEGATE_BIT_ATI                 0x00000004
-#define GL_BIAS_BIT_ATI                   0x00000008
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_PN_TRIANGLES_ATI               0x87F0
-#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
-#define GL_PN_TRIANGLES_POINT_MODE_ATI    0x87F2
-#define GL_PN_TRIANGLES_NORMAL_MODE_ATI   0x87F3
-#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
-#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
-#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
-#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
-#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_STATIC_ATI                     0x8760
-#define GL_DYNAMIC_ATI                    0x8761
-#define GL_PRESERVE_ATI                   0x8762
-#define GL_DISCARD_ATI                    0x8763
-#define GL_OBJECT_BUFFER_SIZE_ATI         0x8764
-#define GL_OBJECT_BUFFER_USAGE_ATI        0x8765
-#define GL_ARRAY_OBJECT_BUFFER_ATI        0x8766
-#define GL_ARRAY_OBJECT_OFFSET_ATI        0x8767
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_VERTEX_SHADER_EXT              0x8780
-#define GL_VERTEX_SHADER_BINDING_EXT      0x8781
-#define GL_OP_INDEX_EXT                   0x8782
-#define GL_OP_NEGATE_EXT                  0x8783
-#define GL_OP_DOT3_EXT                    0x8784
-#define GL_OP_DOT4_EXT                    0x8785
-#define GL_OP_MUL_EXT                     0x8786
-#define GL_OP_ADD_EXT                     0x8787
-#define GL_OP_MADD_EXT                    0x8788
-#define GL_OP_FRAC_EXT                    0x8789
-#define GL_OP_MAX_EXT                     0x878A
-#define GL_OP_MIN_EXT                     0x878B
-#define GL_OP_SET_GE_EXT                  0x878C
-#define GL_OP_SET_LT_EXT                  0x878D
-#define GL_OP_CLAMP_EXT                   0x878E
-#define GL_OP_FLOOR_EXT                   0x878F
-#define GL_OP_ROUND_EXT                   0x8790
-#define GL_OP_EXP_BASE_2_EXT              0x8791
-#define GL_OP_LOG_BASE_2_EXT              0x8792
-#define GL_OP_POWER_EXT                   0x8793
-#define GL_OP_RECIP_EXT                   0x8794
-#define GL_OP_RECIP_SQRT_EXT              0x8795
-#define GL_OP_SUB_EXT                     0x8796
-#define GL_OP_CROSS_PRODUCT_EXT           0x8797
-#define GL_OP_MULTIPLY_MATRIX_EXT         0x8798
-#define GL_OP_MOV_EXT                     0x8799
-#define GL_OUTPUT_VERTEX_EXT              0x879A
-#define GL_OUTPUT_COLOR0_EXT              0x879B
-#define GL_OUTPUT_COLOR1_EXT              0x879C
-#define GL_OUTPUT_TEXTURE_COORD0_EXT      0x879D
-#define GL_OUTPUT_TEXTURE_COORD1_EXT      0x879E
-#define GL_OUTPUT_TEXTURE_COORD2_EXT      0x879F
-#define GL_OUTPUT_TEXTURE_COORD3_EXT      0x87A0
-#define GL_OUTPUT_TEXTURE_COORD4_EXT      0x87A1
-#define GL_OUTPUT_TEXTURE_COORD5_EXT      0x87A2
-#define GL_OUTPUT_TEXTURE_COORD6_EXT      0x87A3
-#define GL_OUTPUT_TEXTURE_COORD7_EXT      0x87A4
-#define GL_OUTPUT_TEXTURE_COORD8_EXT      0x87A5
-#define GL_OUTPUT_TEXTURE_COORD9_EXT      0x87A6
-#define GL_OUTPUT_TEXTURE_COORD10_EXT     0x87A7
-#define GL_OUTPUT_TEXTURE_COORD11_EXT     0x87A8
-#define GL_OUTPUT_TEXTURE_COORD12_EXT     0x87A9
-#define GL_OUTPUT_TEXTURE_COORD13_EXT     0x87AA
-#define GL_OUTPUT_TEXTURE_COORD14_EXT     0x87AB
-#define GL_OUTPUT_TEXTURE_COORD15_EXT     0x87AC
-#define GL_OUTPUT_TEXTURE_COORD16_EXT     0x87AD
-#define GL_OUTPUT_TEXTURE_COORD17_EXT     0x87AE
-#define GL_OUTPUT_TEXTURE_COORD18_EXT     0x87AF
-#define GL_OUTPUT_TEXTURE_COORD19_EXT     0x87B0
-#define GL_OUTPUT_TEXTURE_COORD20_EXT     0x87B1
-#define GL_OUTPUT_TEXTURE_COORD21_EXT     0x87B2
-#define GL_OUTPUT_TEXTURE_COORD22_EXT     0x87B3
-#define GL_OUTPUT_TEXTURE_COORD23_EXT     0x87B4
-#define GL_OUTPUT_TEXTURE_COORD24_EXT     0x87B5
-#define GL_OUTPUT_TEXTURE_COORD25_EXT     0x87B6
-#define GL_OUTPUT_TEXTURE_COORD26_EXT     0x87B7
-#define GL_OUTPUT_TEXTURE_COORD27_EXT     0x87B8
-#define GL_OUTPUT_TEXTURE_COORD28_EXT     0x87B9
-#define GL_OUTPUT_TEXTURE_COORD29_EXT     0x87BA
-#define GL_OUTPUT_TEXTURE_COORD30_EXT     0x87BB
-#define GL_OUTPUT_TEXTURE_COORD31_EXT     0x87BC
-#define GL_OUTPUT_FOG_EXT                 0x87BD
-#define GL_SCALAR_EXT                     0x87BE
-#define GL_VECTOR_EXT                     0x87BF
-#define GL_MATRIX_EXT                     0x87C0
-#define GL_VARIANT_EXT                    0x87C1
-#define GL_INVARIANT_EXT                  0x87C2
-#define GL_LOCAL_CONSTANT_EXT             0x87C3
-#define GL_LOCAL_EXT                      0x87C4
-#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
-#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
-#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
-#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
-#define GL_MAX_VERTEX_SHADER_LOCALS_EXT   0x87C9
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS_EXT 0x87CD
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
-#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
-#define GL_VERTEX_SHADER_VARIANTS_EXT     0x87D0
-#define GL_VERTEX_SHADER_INVARIANTS_EXT   0x87D1
-#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
-#define GL_VERTEX_SHADER_LOCALS_EXT       0x87D3
-#define GL_VERTEX_SHADER_OPTIMIZED_EXT    0x87D4
-#define GL_X_EXT                          0x87D5
-#define GL_Y_EXT                          0x87D6
-#define GL_Z_EXT                          0x87D7
-#define GL_W_EXT                          0x87D8
-#define GL_NEGATIVE_X_EXT                 0x87D9
-#define GL_NEGATIVE_Y_EXT                 0x87DA
-#define GL_NEGATIVE_Z_EXT                 0x87DB
-#define GL_NEGATIVE_W_EXT                 0x87DC
-#define GL_ZERO_EXT                       0x87DD
-#define GL_ONE_EXT                        0x87DE
-#define GL_NEGATIVE_ONE_EXT               0x87DF
-#define GL_NORMALIZED_RANGE_EXT           0x87E0
-#define GL_FULL_RANGE_EXT                 0x87E1
-#define GL_CURRENT_VERTEX_EXT             0x87E2
-#define GL_MVP_MATRIX_EXT                 0x87E3
-#define GL_VARIANT_VALUE_EXT              0x87E4
-#define GL_VARIANT_DATATYPE_EXT           0x87E5
-#define GL_VARIANT_ARRAY_STRIDE_EXT       0x87E6
-#define GL_VARIANT_ARRAY_TYPE_EXT         0x87E7
-#define GL_VARIANT_ARRAY_EXT              0x87E8
-#define GL_VARIANT_ARRAY_POINTER_EXT      0x87E9
-#define GL_INVARIANT_VALUE_EXT            0x87EA
-#define GL_INVARIANT_DATATYPE_EXT         0x87EB
-#define GL_LOCAL_CONSTANT_VALUE_EXT       0x87EC
-#define GL_LOCAL_CONSTANT_DATATYPE_EXT    0x87ED
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_MAX_VERTEX_STREAMS_ATI         0x876B
-#define GL_VERTEX_STREAM0_ATI             0x876C
-#define GL_VERTEX_STREAM1_ATI             0x876D
-#define GL_VERTEX_STREAM2_ATI             0x876E
-#define GL_VERTEX_STREAM3_ATI             0x876F
-#define GL_VERTEX_STREAM4_ATI             0x8770
-#define GL_VERTEX_STREAM5_ATI             0x8771
-#define GL_VERTEX_STREAM6_ATI             0x8772
-#define GL_VERTEX_STREAM7_ATI             0x8773
-#define GL_VERTEX_SOURCE_ATI              0x8774
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ELEMENT_ARRAY_ATI              0x8768
-#define GL_ELEMENT_ARRAY_TYPE_ATI         0x8769
-#define GL_ELEMENT_ARRAY_POINTER_ATI      0x876A
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_QUAD_MESH_SUN                  0x8614
-#define GL_TRIANGLE_MESH_SUN              0x8615
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SLICE_ACCUM_SUN                0x85CC
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_MULTISAMPLE_FILTER_HINT_NV     0x8534
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_DEPTH_CLAMP_NV                 0x864F
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_PIXEL_COUNTER_BITS_NV          0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV  0x8865
-#define GL_PIXEL_COUNT_NV                 0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV       0x8867
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_POINT_SPRITE_NV                0x8861
-#define GL_COORD_REPLACE_NV               0x8862
-#define GL_POINT_SPRITE_R_MODE_NV         0x8863
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV      0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV   0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV    0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV    0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV      0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
-#define GL_HILO8_NV                       0x885E
-#define GL_SIGNED_HILO8_NV                0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV           0x8860
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#endif
-
-
-/*************************************************************/
-
-#ifndef GL_VERSION_1_2
-#define GL_VERSION_1_2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
-GLAPI void APIENTRY glBlendEquation (GLenum);
-GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTable (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTable (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glColorSubTable (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTable (GLenum, GLsizei, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glConvolutionFilter1D (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterf (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteri (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilter (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilter (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-GLAPI void APIENTRY glGetHistogram (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmax (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogram (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmax (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogram (GLenum);
-GLAPI void APIENTRY glResetMinmax (GLenum);
-GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (APIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-typedef void (APIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_VERSION_1_3 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTexture (GLenum);
-GLAPI void APIENTRY glClientActiveTexture (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1d (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1f (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1i (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1s (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2d (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2f (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2i (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2s (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3d (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3f (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3i (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3s (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4d (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4f (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4i (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4s (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean);
-GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, void *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_ARB_multitexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTextureARB (GLenum);
-GLAPI void APIENTRY glClientActiveTextureARB (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1dARB (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1fARB (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1iARB (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1sARB (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2dARB (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2fARB (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2iARB (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2sARB (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3dARB (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3fARB (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3iARB (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3sARB (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4dARB (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4fARB (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4iARB (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4sARB (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4svARB (GLenum, const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_ARB_transpose_matrix 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_ARB_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleCoverageARB (GLclampf, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#define GL_ARB_texture_env_add 1
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_ARB_texture_cube_map 1
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_ARB_texture_compression 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCompressedTexImage3DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1DARB (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum, GLint, void *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_ARB_texture_border_clamp 1
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_ARB_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfARB (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvARB (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_ARB_vertex_blend 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWeightbvARB (GLint, const GLbyte *);
-GLAPI void APIENTRY glWeightsvARB (GLint, const GLshort *);
-GLAPI void APIENTRY glWeightivARB (GLint, const GLint *);
-GLAPI void APIENTRY glWeightfvARB (GLint, const GLfloat *);
-GLAPI void APIENTRY glWeightdvARB (GLint, const GLdouble *);
-GLAPI void APIENTRY glWeightubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glWeightusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glWeightuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glWeightPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexBlendARB (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
-typedef void (APIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
-typedef void (APIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
-typedef void (APIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
-typedef void (APIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
-typedef void (APIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count);
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_ARB_matrix_palette 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint);
-GLAPI void APIENTRY glMatrixIndexubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glMatrixIndexusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glMatrixIndexuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glMatrixIndexPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_ARB_texture_env_combine 1
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#define GL_ARB_texture_env_crossbar 1
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_ARB_texture_env_dot3 1
-#endif
-
-#ifndef GL_ARB_texture_mirror_repeat
-#define GL_ARB_texture_mirror_repeat 1
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_ARB_depth_texture 1
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_ARB_shadow 1
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_ARB_shadow_ambient 1
-#endif
-
-#ifndef GL_ARB_window_pos
-#define GL_ARB_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dARB (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fARB (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iARB (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos2sARB (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svARB (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dARB (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fARB (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iARB (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos3sARB (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svARB (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_EXT_abgr 1
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_EXT_blend_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColorEXT (GLclampf, GLclampf, GLclampf, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_EXT_polygon_offset 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_EXT_texture 1
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_EXT_texture3D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage3DEXT (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_SGIS_texture_filter4 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glTexFilterFuncSGIS (GLenum, GLenum, GLsizei, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
-typedef void (APIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
-#endif
-
-#ifndef GL_EXT_subtexture
-#define GL_EXT_subtexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexSubImage1DEXT (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_EXT_copy_texture
-#define GL_EXT_copy_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCopyTexImage1DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexImage2DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (APIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_EXT_histogram 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetHistogramEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmaxEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogramEXT (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmaxEXT (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogramEXT (GLenum);
-GLAPI void APIENTRY glResetMinmaxEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target);
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_EXT_convolution 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilterEXT (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-#endif
-
-#ifndef GL_EXT_color_matrix
-#define GL_EXT_color_matrix 1
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_SGI_color_table 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableSGI (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfvSGI (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameterivSGI (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTableSGI (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTableSGI (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_SGIX_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenSGIX (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_SGIS_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum, GLint);
-GLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum, GLint *);
-GLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_SGIS_texture4D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage4DSGIS (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage4DSGIS (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_SGI_texture_color_table 1
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_EXT_cmyka 1
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_EXT_texture_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindTextureEXT (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteTexturesEXT (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenTexturesEXT (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsTextureEXT (GLuint);
-GLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei, const GLuint *, const GLclampf *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
-typedef void (APIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
-typedef void (APIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
-typedef void (APIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
-typedef GLboolean (APIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture);
-typedef void (APIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_SGIS_detail_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDetailTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_SGIS_sharpen_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_EXT_packed_pixels 1
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_SGIS_texture_lod 1
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_SGIS_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskSGIS (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternSGIS (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_EXT_rescale_normal 1
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_EXT_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glArrayElementEXT (GLint);
-GLAPI void APIENTRY glColorPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glDrawArraysEXT (GLenum, GLint, GLsizei);
-GLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei, GLsizei, const GLboolean *);
-GLAPI void APIENTRY glGetPointervEXT (GLenum, GLvoid* *);
-GLAPI void APIENTRY glIndexPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glNormalPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glTexCoordPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
-typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
-typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
-typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#define GL_EXT_misc_attribute 1
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_SGIS_generate_mipmap 1
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_SGIX_clipmap 1
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_SGIX_shadow 1
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_SGIS_texture_edge_clamp 1
-#endif
-
-#ifndef GL_SGIS_texture_border_clamp
-#define GL_SGIS_texture_border_clamp 1
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_EXT_blend_minmax 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendEquationEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_EXT_blend_subtract 1
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#define GL_EXT_blend_logic_op 1
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_SGIX_interlace 1
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_SGIX_pixel_tiles 1
-#endif
-
-#ifndef GL_SGIX_texture_select
-#define GL_SGIX_texture_select 1
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SGIX_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSpriteParameterfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glSpriteParameteriSGIX (GLenum, GLint);
-GLAPI void APIENTRY glSpriteParameterivSGIX (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_SGIX_texture_multi_buffer 1
-#endif
-
-#ifndef GL_EXT_point_parameters
-#define GL_EXT_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfEXT (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvEXT (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_point_parameters
-#define GL_SGIS_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvSGIS (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_SGIX_instruments 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLint APIENTRY glGetInstrumentsSGIX (void);
-GLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei, GLint *);
-GLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *);
-GLAPI void APIENTRY glReadInstrumentsSGIX (GLint);
-GLAPI void APIENTRY glStartInstrumentsSGIX (void);
-GLAPI void APIENTRY glStopInstrumentsSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLint (APIENTRY * PFNGLGETINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRY * PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
-typedef GLint (APIENTRY * PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
-typedef void (APIENTRY * PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
-typedef void (APIENTRY * PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRY * PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_SGIX_texture_scale_bias 1
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_SGIX_framezoom 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFrameZoomSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#define GL_SGIX_tag_sample_buffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTagSampleBufferSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_SGIX_polynomial_ffd 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeformationMap3dSGIX (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
-GLAPI void APIENTRY glDeformationMap3fSGIX (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
-GLAPI void APIENTRY glDeformSGIX (GLbitfield);
-GLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
-typedef void (APIENTRY * PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
-typedef void (APIENTRY * PFNGLDEFORMSGIXPROC) (GLbitfield mask);
-typedef void (APIENTRY * PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_SGIX_reference_plane 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#define GL_SGIX_flush_raster 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushRasterSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_SGIX_depth_texture 1
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_SGIS_fog_function 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogFuncSGIS (GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_SGIX_fog_offset 1
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_HP_image_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glImageTransformParameteriHP (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glImageTransformParameterfHP (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glImageTransformParameterivHP (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glImageTransformParameterfvHP (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_HP_convolution_border_modes 1
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_SGIX_texture_add_env 1
-#endif
-
-#ifndef GL_EXT_color_subtable
-#define GL_EXT_color_subtable 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorSubTableEXT (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTableEXT (GLenum, GLsizei, GLint, GLint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_PGI_vertex_hints 1
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PGI_misc_hints 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glHintPGI (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLHINTPGIPROC) (GLenum target, GLint mode);
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glGetColorTableEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_EXT_clip_volume_hint 1
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_SGIX_list_priority 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetListParameterfvSGIX (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetListParameterivSGIX (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glListParameterfSGIX (GLuint, GLenum, GLfloat);
-GLAPI void APIENTRY glListParameterfvSGIX (GLuint, GLenum, const GLfloat *);
-GLAPI void APIENTRY glListParameteriSGIX (GLuint, GLenum, GLint);
-GLAPI void APIENTRY glListParameterivSGIX (GLuint, GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_SGIX_ir_instrument1 1
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_SGIX_calligraphic_fragment 1
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_SGIX_texture_lod_bias 1
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SGIX_shadow_ambient 1
-#endif
-
-#ifndef GL_EXT_index_texture
-#define GL_EXT_index_texture 1
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_EXT_index_material 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_EXT_index_func 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexFuncEXT (GLenum, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_EXT_index_array_formats 1
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_EXT_compiled_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLockArraysEXT (GLint, GLsizei);
-GLAPI void APIENTRY glUnlockArraysEXT (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
-typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_EXT_cull_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCullParameterdvEXT (GLenum, GLdouble *);
-GLAPI void APIENTRY glCullParameterfvEXT (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_SGIX_ycrcb 1
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_SGIX_fragment_lighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum, GLenum);
-GLAPI void APIENTRY glFragmentLightfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glLightEnviSGIX (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_IBM_rasterpos_clip 1
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_HP_texture_lighting 1
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_EXT_draw_range_elements 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_WIN_phong_shading 1
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_WIN_specular_fog 1
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_EXT_light_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glApplyTextureEXT (GLenum);
-GLAPI void APIENTRY glTextureLightEXT (GLenum);
-GLAPI void APIENTRY glTextureMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
-typedef void (APIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
-typedef void (APIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_SGIX_blend_alpha_minmax 1
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_EXT_bgra 1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_SGIX_async 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glAsyncMarkerSGIX (GLuint);
-GLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *);
-GLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *);
-GLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei);
-GLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint, GLsizei);
-GLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
-typedef GLint (APIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
-typedef GLint (APIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
-typedef GLuint (APIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
-typedef void (APIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
-typedef GLboolean (APIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_SGIX_async_pixel 1
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_SGIX_async_histogram 1
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_INTEL_parallel_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glNormalPointervINTEL (GLenum, const GLvoid* *);
-GLAPI void APIENTRY glColorPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glTexCoordPointervINTEL (GLint, GLenum, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_HP_occlusion_test 1
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_EXT_pixel_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum, GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#define GL_EXT_pixel_transform_color_table 1
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_EXT_separate_specular_color 1
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_EXT_secondary_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glSecondaryColor3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *);
-GLAPI void APIENTRY glSecondaryColor3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *);
-GLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *);
-GLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *);
-GLAPI void APIENTRY glSecondaryColor3usEXT (GLushort, GLushort, GLushort);
-GLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *);
-GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_EXT_texture_perturb_normal 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureNormalEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#define GL_EXT_multi_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
-GLAPI void APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_EXT_fog_coord 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogCoordfEXT (GLfloat);
-GLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *);
-GLAPI void APIENTRY glFogCoorddEXT (GLdouble);
-GLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *);
-GLAPI void APIENTRY glFogCoordPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
-typedef void (APIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
-typedef void (APIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
-typedef void (APIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
-typedef void (APIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_REND_screen_coordinates 1
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_EXT_coordinate_frame 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTangent3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glTangent3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glTangent3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glTangent3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glTangent3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTangent3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glTangent3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glTangent3ivEXT (const GLint *);
-GLAPI void APIENTRY glTangent3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glTangent3svEXT (const GLshort *);
-GLAPI void APIENTRY glBinormal3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glBinormal3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glBinormal3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glBinormal3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glBinormal3ivEXT (const GLint *);
-GLAPI void APIENTRY glBinormal3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glBinormal3svEXT (const GLshort *);
-GLAPI void APIENTRY glTangentPointerEXT (GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glBinormalPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
-typedef void (APIENTRY * PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
-typedef void (APIENTRY * PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
-typedef void (APIENTRY * PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
-typedef void (APIENTRY * PFNGLTANGENT3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
-typedef void (APIENTRY * PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
-typedef void (APIENTRY * PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
-typedef void (APIENTRY * PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
-typedef void (APIENTRY * PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
-typedef void (APIENTRY * PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
-typedef void (APIENTRY * PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_EXT_texture_env_combine 1
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_APPLE_specular_vector 1
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_APPLE_transform_hint 1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_SGIX_fog_scale 1
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_SUNX_constant_data 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFinishTextureSUNX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void);
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_SUN_global_alpha 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte);
-GLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort);
-GLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint);
-GLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat);
-GLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble);
-GLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte);
-GLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort);
-GLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_SUN_triangle_list 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReplacementCodeuiSUN (GLuint);
-GLAPI void APIENTRY glReplacementCodeusSUN (GLushort);
-GLAPI void APIENTRY glReplacementCodeubSUN (GLubyte);
-GLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *);
-GLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *);
-GLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *);
-GLAPI void APIENTRY glReplacementCodePointerSUN (GLenum, GLsizei, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_SUN_vertex
-#define GL_SUN_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLenum *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLenum, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLenum *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLenum rc, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLenum rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLenum *rc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_EXT_blend_func_separate 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_INGR_color_clamp 1
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INGR_interlace_read 1
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_EXT_stencil_wrap 1
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_EXT_422_pixels 1
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NV_texgen_reflection 1
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_SUN_convolution_border_modes 1
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#define GL_EXT_texture_env_add 1
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_EXT_texture_lod_bias 1
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_EXT_texture_filter_anisotropic 1
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_EXT_vertex_weighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexWeightfEXT (GLfloat);
-GLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *);
-GLAPI void APIENTRY glVertexWeightPointerEXT (GLsizei, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_NV_light_max_exponent 1
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_NV_vertex_array_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushVertexArrayRangeNV (void);
-GLAPI void APIENTRY glVertexArrayRangeNV (GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
-typedef void (APIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_NV_register_combiners 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerParameterfvNV (GLenum, const GLfloat *);
-GLAPI void APIENTRY glCombinerParameterfNV (GLenum, GLfloat);
-GLAPI void APIENTRY glCombinerParameterivNV (GLenum, const GLint *);
-GLAPI void APIENTRY glCombinerParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glCombinerInputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glCombinerOutputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
-GLAPI void APIENTRY glFinalCombinerInputNV (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum, GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum, GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
-typedef void (APIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_NV_fog_distance 1
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_NV_texgen_emboss 1
-#endif
-
-#ifndef GL_NV_blend_square
-#define GL_NV_blend_square 1
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_NV_texture_env_combine4 1
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#define GL_MESA_resize_buffers 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glResizeBuffersMESA (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void);
-#endif
-
-#ifndef GL_MESA_window_pos
-#define GL_MESA_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dMESA (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fMESA (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iMESA (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos2sMESA (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dMESA (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fMESA (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iMESA (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos3sMESA (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos4dMESA (GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos4fMESA (GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos4iMESA (GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos4ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos4sMESA (GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_IBM_cull_vertex 1
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#define GL_IBM_multimode_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiModeDrawArraysIBM (GLenum, const GLint *, const GLsizei *, GLsizei, GLint);
-GLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *, const GLsizei *, GLenum, const GLvoid* *, GLsizei, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
-typedef void (APIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, GLint modestride);
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_IBM_vertex_array_lists 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint, const GLboolean* *, GLint);
-GLAPI void APIENTRY glFogCoordPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glIndexPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glNormalPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glTexCoordPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glVertexPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_SGIX_subsample 1
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_SGIX_ycrcba 1
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#define GL_SGIX_ycrcb_subsample 1
-#endif
-
-#ifndef GL_SGIX_depth_pass_instrument
-#define GL_SGIX_depth_pass_instrument 1
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_3DFX_texture_compression_FXT1 1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_3DFX_multisample 1
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#define GL_3DFX_tbuffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTbufferMask3DFX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_EXT_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskEXT (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_SGIX_vertex_preclip 1
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_SGIX_convolution_accuracy 1
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_SGIX_resample 1
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_SGIS_point_line_texgen 1
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_SGIS_texture_color_mask 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean, GLboolean, GLboolean, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-#endif
-
-#ifndef GL_SGIX_igloo_interface
-#define GL_SGIX_igloo_interface 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
-#endif
-
-#ifndef GL_NV_fence
-#define GL_NV_fence 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenFencesNV (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsFenceNV (GLuint);
-GLAPI GLboolean APIENTRY glTestFenceNV (GLuint);
-GLAPI void APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glFinishFenceNV (GLuint);
-GLAPI void APIENTRY glSetFenceNV (GLuint, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
-typedef void (APIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
-typedef GLboolean (APIENTRY * PFNGLISFENCENVPROC) (GLuint fence);
-typedef GLboolean (APIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence);
-typedef void (APIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence);
-typedef void (APIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_NV_evaluators 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
-GLAPI void APIENTRY glMapParameterivNV (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glMapParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
-GLAPI void APIENTRY glGetMapParameterivNV (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glEvalMapsNV (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
-typedef void (APIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
-typedef void (APIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_NV_packed_depth_stencil 1
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_NV_register_combiners2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#define GL_NV_texture_compression_vtc 1
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_NV_texture_rectangle 1
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_NV_texture_shader 1
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_NV_texture_shader2 1
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_NV_vertex_array_range2 1
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_NV_vertex_program 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindProgramNV (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glExecuteProgramNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glGenProgramsNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glGetProgramParameterdvNV (GLenum, GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetProgramParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetProgramivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetProgramStringNV (GLuint, GLenum, GLubyte *);
-GLAPI void APIENTRY glGetTrackMatrixivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribdvNV (GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetVertexAttribfvNV (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean APIENTRY glIsProgramNV (GLuint);
-GLAPI void APIENTRY glLoadProgramNV (GLenum, GLuint, GLsizei, const GLubyte *);
-GLAPI void APIENTRY glProgramParameter4dNV (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramParameter4dvNV (GLenum, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameter4fNV (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramParameter4fvNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glProgramParameters4dvNV (GLenum, GLuint, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameters4fvNV (GLenum, GLuint, GLuint, const GLfloat *);
-GLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glTrackMatrixNV (GLenum, GLuint, GLenum, GLenum);
-GLAPI void APIENTRY glVertexAttribPointerNV (GLuint, GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexAttrib1dNV (GLuint, GLdouble);
-GLAPI void APIENTRY glVertexAttrib1dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib1fNV (GLuint, GLfloat);
-GLAPI void APIENTRY glVertexAttrib1fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib1sNV (GLuint, GLshort);
-GLAPI void APIENTRY glVertexAttrib1svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib2dNV (GLuint, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib2dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib2fNV (GLuint, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib2fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib2sNV (GLuint, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib2svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib3dNV (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib3dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib3fNV (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib3fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib3sNV (GLuint, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib3svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4dNV (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib4dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib4fNV (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib4fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib4sNV (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib4svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4ubNV (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttribs1dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs1fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs1svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs2dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs2fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs2svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs3dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs3fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs3svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs4fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs4svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint, GLsizei, const GLubyte *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
-typedef void (APIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
-typedef void (APIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
-typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
-typedef void (APIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (APIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_SGIX_texture_coordinate_clamp 1
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SGIX_scalebias_hint 1
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_OML_interlace 1
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_OML_subsample 1
-#endif
-
-#ifndef GL_OML_resample
-#define GL_OML_resample 1
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_NV_copy_depth_to_color 1
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_ATI_envmap_bumpmap 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexBumpParameterivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glTexBumpParameterfvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum, GLint *);
-GLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
-typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
-typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
-typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_ATI_fragment_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint);
-GLAPI void APIENTRY glBindFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glBeginFragmentShaderATI (void);
-GLAPI void APIENTRY glEndFragmentShaderATI (void);
-GLAPI void APIENTRY glPassTexCoordATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glSampleMapATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glColorFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
-typedef void (APIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
-typedef void (APIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_ATI_pn_triangles 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPNTrianglesiATI (GLenum, GLint);
-GLAPI void APIENTRY glPNTrianglesfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_ATI_vertex_array_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei, const GLvoid *, GLenum);
-GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint);
-GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
-GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetObjectBufferivATI (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glDeleteObjectBufferATI (GLuint);
-GLAPI void APIENTRY glArrayObjectATI (GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetArrayObjectivATI (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glVariantArrayObjectATI (GLuint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
-typedef GLboolean (APIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
-typedef void (APIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_EXT_vertex_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBeginVertexShaderEXT (void);
-GLAPI void APIENTRY glEndVertexShaderEXT (void);
-GLAPI void APIENTRY glBindVertexShaderEXT (GLuint);
-GLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint);
-GLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint);
-GLAPI void APIENTRY glShaderOp1EXT (GLenum, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp2EXT (GLenum, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp3EXT (GLenum, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSwizzleEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glWriteMaskEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glInsertComponentEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glExtractComponentEXT (GLuint, GLuint, GLuint);
-GLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum, GLenum, GLenum, GLuint);
-GLAPI void APIENTRY glSetInvariantEXT (GLuint, GLenum, const void *);
-GLAPI void APIENTRY glSetLocalConstantEXT (GLuint, GLenum, const void *);
-GLAPI void APIENTRY glVariantbvEXT (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVariantsvEXT (GLuint, const GLshort *);
-GLAPI void APIENTRY glVariantivEXT (GLuint, const GLint *);
-GLAPI void APIENTRY glVariantfvEXT (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVariantdvEXT (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVariantubvEXT (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVariantusvEXT (GLuint, const GLushort *);
-GLAPI void APIENTRY glVariantuivEXT (GLuint, const GLuint *);
-GLAPI void APIENTRY glVariantPointerEXT (GLuint, GLenum, GLuint, const void *);
-GLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint);
-GLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint);
-GLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum, GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindParameterEXT (GLenum);
-GLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint, GLenum);
-GLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetVariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantPointervEXT (GLuint, GLenum, GLvoid* *);
-GLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
-typedef GLuint (APIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
-typedef void (APIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
-typedef void (APIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
-typedef void (APIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
-typedef void (APIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef void (APIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef GLuint (APIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
-typedef void (APIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const void *addr);
-typedef void (APIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const void *addr);
-typedef void (APIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
-typedef void (APIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
-typedef void (APIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
-typedef void (APIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
-typedef void (APIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
-typedef void (APIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
-typedef void (APIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
-typedef void (APIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
-typedef void (APIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const void *addr);
-typedef void (APIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef GLuint (APIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
-typedef GLboolean (APIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
-typedef void (APIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_ATI_vertex_streams 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexStream1sATI (GLenum, GLshort);
-GLAPI void APIENTRY glVertexStream1svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream1iATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexStream1ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream1fATI (GLenum, GLfloat);
-GLAPI void APIENTRY glVertexStream1fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream1dATI (GLenum, GLdouble);
-GLAPI void APIENTRY glVertexStream1dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream2sATI (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream2svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream2iATI (GLenum, GLint, GLint);
-GLAPI void APIENTRY glVertexStream2ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream2fATI (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream2fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream2dATI (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream2dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream4sATI (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream4svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream4iATI (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream4ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream4fATI (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream4fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream4dATI (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream4dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glNormalStream3bATI (GLenum, GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glNormalStream3bvATI (GLenum, const GLbyte *);
-GLAPI void APIENTRY glNormalStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glNormalStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glNormalStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glNormalStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glNormalStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormalStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glNormalStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glNormalStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum);
-GLAPI void APIENTRY glVertexBlendEnviATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
-typedef void (APIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ATI_element_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glElementPointerATI (GLenum, const GLvoid *);
-GLAPI void APIENTRY glDrawElementArrayATI (GLenum, GLsizei);
-GLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum, GLuint, GLuint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_SUN_mesh_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawMeshArraysSUN (GLenum, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SUN_slice_accum 1
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_NV_multisample_filter_hint 1
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_NV_depth_clamp 1
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_NV_occlusion_query 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei, const GLuint *);
-GLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glEndOcclusionQueryNV (void);
-GLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint, GLenum, GLuint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
-typedef void (APIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (APIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
-typedef void (APIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_NV_point_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glPointParameterivNV (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_NV_texture_shader3 1
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#define GL_NV_vertex_program1_1 1
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/include/GL/glu.h
===================================================================
--- Daodan/MinGW/include/GL/glu.h	(revision 1046)
+++ 	(revision )
@@ -1,289 +1,0 @@
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-**
-** http://oss.sgi.com/projects/FreeB
-**
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-**
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-**
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#ifndef __glu_h__
-#define __glu_h__
-#define _GLU_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <stddef.h> /* for wchar_t */
-#include <GL/gl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*************************************************************/
-
-/* Boolean */
-#define GLU_FALSE                          0
-#define GLU_TRUE                           1
-
-/* Version */
-#define GLU_VERSION_1_1                    1
-#define GLU_VERSION_1_2                    1
-
-/* StringName */
-#define GLU_VERSION                        100800
-#define GLU_EXTENSIONS                     100801
-
-/* ErrorCode */
-#define GLU_INVALID_ENUM                   100900
-#define GLU_INVALID_VALUE                  100901
-#define GLU_OUT_OF_MEMORY                  100902
-#define GLU_INVALID_OPERATION              100904
-
-/* NurbsDisplay */
-/*      GLU_FILL */
-#define GLU_OUTLINE_POLYGON                100240
-#define GLU_OUTLINE_PATCH                  100241
-
-/* NurbsError */
-#define GLU_NURBS_ERROR1                   100251
-#define GLU_NURBS_ERROR2                   100252
-#define GLU_NURBS_ERROR3                   100253
-#define GLU_NURBS_ERROR4                   100254
-#define GLU_NURBS_ERROR5                   100255
-#define GLU_NURBS_ERROR6                   100256
-#define GLU_NURBS_ERROR7                   100257
-#define GLU_NURBS_ERROR8                   100258
-#define GLU_NURBS_ERROR9                   100259
-#define GLU_NURBS_ERROR10                  100260
-#define GLU_NURBS_ERROR11                  100261
-#define GLU_NURBS_ERROR12                  100262
-#define GLU_NURBS_ERROR13                  100263
-#define GLU_NURBS_ERROR14                  100264
-#define GLU_NURBS_ERROR15                  100265
-#define GLU_NURBS_ERROR16                  100266
-#define GLU_NURBS_ERROR17                  100267
-#define GLU_NURBS_ERROR18                  100268
-#define GLU_NURBS_ERROR19                  100269
-#define GLU_NURBS_ERROR20                  100270
-#define GLU_NURBS_ERROR21                  100271
-#define GLU_NURBS_ERROR22                  100272
-#define GLU_NURBS_ERROR23                  100273
-#define GLU_NURBS_ERROR24                  100274
-#define GLU_NURBS_ERROR25                  100275
-#define GLU_NURBS_ERROR26                  100276
-#define GLU_NURBS_ERROR27                  100277
-#define GLU_NURBS_ERROR28                  100278
-#define GLU_NURBS_ERROR29                  100279
-#define GLU_NURBS_ERROR30                  100280
-#define GLU_NURBS_ERROR31                  100281
-#define GLU_NURBS_ERROR32                  100282
-#define GLU_NURBS_ERROR33                  100283
-#define GLU_NURBS_ERROR34                  100284
-#define GLU_NURBS_ERROR35                  100285
-#define GLU_NURBS_ERROR36                  100286
-#define GLU_NURBS_ERROR37                  100287
-
-/* NurbsProperty */
-#define GLU_AUTO_LOAD_MATRIX               100200
-#define GLU_CULLING                        100201
-#define GLU_SAMPLING_TOLERANCE             100203
-#define GLU_DISPLAY_MODE                   100204
-#define GLU_PARAMETRIC_TOLERANCE           100202
-#define GLU_SAMPLING_METHOD                100205
-#define GLU_U_STEP                         100206
-#define GLU_V_STEP                         100207
-
-/* NurbsSampling */
-#define GLU_PATH_LENGTH                    100215
-#define GLU_PARAMETRIC_ERROR               100216
-#define GLU_DOMAIN_DISTANCE                100217
-
-/* NurbsTrim */
-#define GLU_MAP1_TRIM_2                    100210
-#define GLU_MAP1_TRIM_3                    100211
-
-/* QuadricDrawStyle */
-#define GLU_POINT                          100010
-#define GLU_LINE                           100011
-#define GLU_FILL                           100012
-#define GLU_SILHOUETTE                     100013
-
-/* QuadricCallback */
-#define GLU_ERROR                          100103
-
-/* QuadricNormal */
-#define GLU_SMOOTH                         100000
-#define GLU_FLAT                           100001
-#define GLU_NONE                           100002
-
-/* QuadricOrientation */
-#define GLU_OUTSIDE                        100020
-#define GLU_INSIDE                         100021
-
-/* TessCallback */
-#define GLU_TESS_BEGIN                     100100
-#define GLU_BEGIN                          100100
-#define GLU_TESS_VERTEX                    100101
-#define GLU_VERTEX                         100101
-#define GLU_TESS_END                       100102
-#define GLU_END                            100102
-#define GLU_TESS_ERROR                     100103
-#define GLU_TESS_EDGE_FLAG                 100104
-#define GLU_EDGE_FLAG                      100104
-#define GLU_TESS_COMBINE                   100105
-#define GLU_TESS_BEGIN_DATA                100106
-#define GLU_TESS_VERTEX_DATA               100107
-#define GLU_TESS_END_DATA                  100108
-#define GLU_TESS_ERROR_DATA                100109
-#define GLU_TESS_EDGE_FLAG_DATA            100110
-#define GLU_TESS_COMBINE_DATA              100111
-
-/* TessContour */
-#define GLU_CW                             100120
-#define GLU_CCW                            100121
-#define GLU_INTERIOR                       100122
-#define GLU_EXTERIOR                       100123
-#define GLU_UNKNOWN                        100124
-
-/* TessProperty */
-#define GLU_TESS_WINDING_RULE              100140
-#define GLU_TESS_BOUNDARY_ONLY             100141
-#define GLU_TESS_TOLERANCE                 100142
-
-/* TessError */
-#define GLU_TESS_ERROR1                    100151
-#define GLU_TESS_ERROR2                    100152
-#define GLU_TESS_ERROR3                    100153
-#define GLU_TESS_ERROR4                    100154
-#define GLU_TESS_ERROR5                    100155
-#define GLU_TESS_ERROR6                    100156
-#define GLU_TESS_ERROR7                    100157
-#define GLU_TESS_ERROR8                    100158
-#define GLU_TESS_MISSING_BEGIN_POLYGON     100151
-#define GLU_TESS_MISSING_BEGIN_CONTOUR     100152
-#define GLU_TESS_MISSING_END_POLYGON       100153
-#define GLU_TESS_MISSING_END_CONTOUR       100154
-#define GLU_TESS_COORD_TOO_LARGE           100155
-#define GLU_TESS_NEED_COMBINE_CALLBACK     100156
-
-/* TessWinding */
-#define GLU_TESS_WINDING_ODD               100130
-#define GLU_TESS_WINDING_NONZERO           100131
-#define GLU_TESS_WINDING_POSITIVE          100132
-#define GLU_TESS_WINDING_NEGATIVE          100133
-#define GLU_TESS_WINDING_ABS_GEQ_TWO       100134
-
-/* Obsolete. For compatibility with previous Sun OpenGL versions */
-#define GLU_INCOMPATIBLE_GL_VERSION        100903
-
-
-/*************************************************************/
-
-
-#ifdef __cplusplus
-class GLUnurbs;
-class GLUquadric;
-class GLUtesselator;
-#else
-typedef struct GLUnurbs GLUnurbs;
-typedef struct GLUquadric GLUquadric;
-typedef struct GLUtesselator GLUtesselator;
-#endif
-
-typedef GLUnurbs GLUnurbsObj;
-typedef GLUquadric GLUquadricObj;
-typedef GLUtesselator GLUtesselatorObj;
-typedef GLUtesselator GLUtriangulatorObj;
-
-#define GLU_TESS_MAX_COORD 1.0e150
-
-/* Internal convenience typedefs */
-typedef void (APIENTRY *_GLUfuncptr)();
-
-GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb);
-GLAPI void APIENTRY gluBeginPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluBeginSurface (GLUnurbs* nurb);
-GLAPI void APIENTRY gluBeginTrim (GLUnurbs* nurb);
-GLAPI GLint APIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-GLAPI GLint APIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-GLAPI void APIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
-GLAPI void APIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
-GLAPI void APIENTRY gluDeleteQuadric (GLUquadric* quad);
-GLAPI void APIENTRY gluDeleteTess (GLUtesselator* tess);
-GLAPI void APIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
-GLAPI void APIENTRY gluEndCurve (GLUnurbs* nurb);
-GLAPI void APIENTRY gluEndPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluEndSurface (GLUnurbs* nurb);
-GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb);
-GLAPI const GLubyte * APIENTRY gluErrorString (GLenum error);
-GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);
-GLAPI void APIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
-GLAPI const GLubyte * APIENTRY gluGetString (GLenum name);
-GLAPI void APIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
-GLAPI void APIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
-GLAPI void APIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
-GLAPI GLUnurbs* APIENTRY gluNewNurbsRenderer (void);
-GLAPI GLUquadric* APIENTRY gluNewQuadric (void);
-GLAPI GLUtesselator* APIENTRY gluNewTess (void);
-GLAPI void APIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
-GLAPI void APIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
-GLAPI void APIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
-GLAPI void APIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
-GLAPI void APIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
-GLAPI void APIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
-GLAPI void APIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
-GLAPI void APIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
-GLAPI GLint APIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
-GLAPI void APIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
-GLAPI void APIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
-GLAPI void APIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
-GLAPI void APIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
-GLAPI void APIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
-GLAPI GLint APIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
-GLAPI void APIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
-GLAPI void APIENTRY gluTessBeginContour (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
-GLAPI void APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluTessEndContour (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessEndPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
-GLAPI void APIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
-GLAPI void APIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
-GLAPI GLint APIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
-GLAPI GLint APIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
-
-#ifdef UNICODE
-#define gluErrorStringWIN gluErrorUnicodeStringEXT
-#else
-#define gluErrorStringWIN gluErrorString
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __glu_h__ */
Index: Daodan/MinGW/include/_mingw.h
===================================================================
--- Daodan/MinGW/include/_mingw.h	(revision 1046)
+++ 	(revision )
@@ -1,461 +1,0 @@
-#ifndef __MINGW_H
-/*
- * _mingw.h
- *
- * MinGW specific macros included by ALL mingwrt include files; (this file
- * is part of the MinGW32 runtime library package).
- *
- * $Id: _mingw.h.in,v 7daa0459f602 2016/05/03 17:40:54 keithmarshall $
- *
- * Written by Mumit Khan  <khan@xraylith.wisc.edu>
- * Copyright (C) 1999, 2001-2011, 2014-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.
- *
- */
-#define __MINGW_H
-
-/* In previous versions, __MINGW32_VERSION was expressed as a dotted
- * numeric pair, representing major.minor; unfortunately, this doesn't
- * adapt well to the inclusion of a patch-level component, since the
- * major.minor.patch dotted triplet representation is not valid as a
- * numeric entity.  Thus, for this version, we adopt a representation
- * 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           3022001L
-#define __MINGW32_MAJOR_VERSION           3
-#define __MINGW32_MINOR_VERSION          22
-#define __MINGW32_PATCHLEVEL              1
-
-#if __GNUC__ >= 3 && ! defined __PCC__
-#pragma GCC system_header
-#endif
-
-#ifndef _MSVCRTVER_H
-/* Legacy versions of mingwrt use the macro __MSVCRT_VERSION__ to
- * enable evolving features of different MSVCRT.DLL versions.  This
- * usage is no longer recommended, but the __MSVCRT_VERSION__ macro
- * remains useful when a non-freely distributable MSVCRxx.DLL is to
- * be substituted for MSVCRT.DLL; for such usage, the substitute
- * MSVCRxx.DLL may be identified as specified in...
- */
-# include <msvcrtver.h>
-#endif
-
-/* A better inference than __MSVCRT_VERSION__, of the capabilities
- * supported by the operating system default MSVCRT.DLL, is provided
- * by the Windows API version identification macros.
- */
-#include <w32api.h>
-
-/* The following are defined by the user (or by the compiler), to specify how
- * identifiers are imported from a DLL.  All headers should include this first,
- * and then use __DECLSPEC_SUPPORTED to choose between the old ``__imp__name''
- * style or the __MINGW_IMPORT style for declarations.
- *
- * __DECLSPEC_SUPPORTED            Defined if dllimport attribute is supported.
- * __MINGW_IMPORT                  The attribute definition to specify imported
- *                                 variables/functions.
- * _CRTIMP                         As above.  For MS compatibility.
- *
- * Macros to enable MinGW features which deviate from standard MSVC
- * compatible behaviour; these may be specified directly in user code,
- * activated implicitly, (e.g. by specifying _POSIX_C_SOURCE or such),
- * or by inclusion in __MINGW_FEATURES__:
- *
- * __USE_MINGW_ANSI_STDIO          Select a more ANSI C99 compatible
- *                                 implementation of printf() and friends;
- *                                 (users should not set this directly).
- *
- * Other macros:
- *
- * __int64                         define to be long long.  Using a typedef
- *                                 doesn't work for "unsigned __int64"
- *
- *
- * Manifest definitions for flags to control globbing of the command line
- * during application start up, (before main() is called).  The first pair,
- * when assigned as bit flags within _CRT_glob, select the globbing algorithm
- * to be used; (the MINGW algorithm overrides MSCVRT, if both are specified).
- * Prior to mingwrt-3.21, only the MSVCRT option was supported; this choice
- * may produce different results, depending on which particular version of
- * MSVCRT.DLL is in use; (in recent versions, it seems to have become
- * definitively broken, when globbing within double quotes).
- */
-#define __CRT_GLOB_USE_MSVCRT__  	0x0001
-
-/* From mingwrt-3.21 onward, this should be the preferred choice; it will
- * produce consistent results, regardless of the MSVCRT.DLL version in use.
- */
-#define __CRT_GLOB_USE_MINGW__   	0x0002
-
-/* When the __CRT_GLOB_USE_MINGW__ flag is set, within _CRT_glob, the
- * following additional options are also available; they are not enabled
- * by default, but the user may elect to enable any combination of them,
- * by setting _CRT_glob to the boolean sum (i.e. logical OR combination)
- * of __CRT_GLOB_USE_MINGW__ and the desired options.
- *
- *    __CRT_GLOB_USE_SINGLE_QUOTE__	allows use of single (apostrophe)
- *    					quoting characters, analogously to
- *    					POSIX usage, as an alternative to
- *    					double quotes, for collection of
- *    					arguments separated by white space
- *    					into a single logical argument.
- *
- *    __CRT_GLOB_BRACKET_GROUPS__	enable interpretation of bracketed
- *    					character groups as POSIX compatible
- *    					globbing patterns, matching any one
- *    					character which is either included
- *    					in, or excluded from the group.
- *
- *    __CRT_GLOB_CASE_SENSITIVE__	enable case sensitive matching for
- *    					globbing patterns; this is default
- *    					behaviour for POSIX, but because of
- *    					the case insensitive nature of the
- *    					MS-Windows file system, it is more
- *    					appropriate to use case insensitive
- *    					globbing as the MinGW default.
- *
- */
-#define __CRT_GLOB_USE_SINGLE_QUOTE__	0x0010
-#define __CRT_GLOB_BRACKET_GROUPS__	0x0020
-#define __CRT_GLOB_CASE_SENSITIVE__	0x0040
-
-/* The MinGW globbing algorithm uses the ASCII DEL control code as a marker
- * for globbing characters which were embedded within quoted arguments; (the
- * quotes are stripped away BEFORE the argument is globbed; the globbing code
- * treats the marked character as immutable, and strips out the DEL markers,
- * before storing the resultant argument).  The DEL code is mapped to this
- * function here; DO NOT change it, without rebuilding the runtime.
- */
-#define __CRT_GLOB_ESCAPE_CHAR__	(char)(127)
-
-
-/* Manifest definitions identifying the flag bits, controlling activation
- * of MinGW features, as specified by the user in __MINGW_FEATURES__.
- */
-#define __MINGW_ANSI_STDIO__		0x0000000000000001ULL
-/*
- * The following three are not yet formally supported; they are
- * included here, to document anticipated future usage.
- */
-#define __MINGW_LC_EXTENSIONS__ 	0x0000000000000050ULL
-#define __MINGW_LC_MESSAGES__		0x0000000000000010ULL
-#define __MINGW_LC_ENVVARS__		0x0000000000000040ULL
-
-
-/* Try to avoid problems with outdated checks for GCC __attribute__ support.
- */
-#undef __attribute__
-
-#if defined (__PCC__)
-#  undef __DECLSPEC_SUPPORTED
-# ifndef __MINGW_IMPORT
-#  define __MINGW_IMPORT extern
-# endif
-# ifndef _CRTIMP
-#  define _CRTIMP
-# endif
-# ifndef __cdecl
-#  define __cdecl  _Pragma("cdecl")
-# endif
-# ifndef __stdcall
-#  define __stdcall _Pragma("stdcall")
-# endif
-# ifndef __int64
-#  define __int64 long long
-# endif
-# ifndef __int32
-#  define __int32 long
-# endif
-# ifndef __int16
-#  define __int16 short
-# endif
-# ifndef __int8
-#  define __int8 char
-# endif
-# ifndef __small
-#  define __small char
-# endif
-# ifndef __hyper
-#  define __hyper long long
-# endif
-# ifndef __volatile__
-#  define __volatile__ volatile
-# endif
-# ifndef __restrict__
-#  define __restrict__ restrict
-# endif
-# define NONAMELESSUNION
-#elif defined(__GNUC__)
-# ifdef __declspec
-#  ifndef __MINGW_IMPORT
-   /* Note the extern. This is needed to work around GCC's
-      limitations in handling dllimport attribute.  */
-#   define __MINGW_IMPORT  extern __attribute__((__dllimport__))
-#  endif
-#  ifndef _CRTIMP
-#   ifdef __USE_CRTIMP
-#    define _CRTIMP  __attribute__((dllimport))
-#   else
-#    define _CRTIMP
-#   endif
-#  endif
-#  define __DECLSPEC_SUPPORTED
-# else /* __declspec */
-#  undef __DECLSPEC_SUPPORTED
-#  undef __MINGW_IMPORT
-#  ifndef _CRTIMP
-#   define _CRTIMP
-#  endif
-# endif /* __declspec */
-/*
- * The next two defines can cause problems if user code adds the
- * __cdecl attribute like so:
- * void __attribute__ ((__cdecl)) foo(void);
- */
-# ifndef __cdecl
-#  define __cdecl  __attribute__((__cdecl__))
-# endif
-# ifndef __stdcall
-#  define __stdcall __attribute__((__stdcall__))
-# endif
-# ifndef __int64
-#  define __int64 long long
-# endif
-# ifndef __int32
-#  define __int32 long
-# endif
-# ifndef __int16
-#  define __int16 short
-# endif
-# ifndef __int8
-#  define __int8 char
-# endif
-# ifndef __small
-#  define __small char
-# endif
-# ifndef __hyper
-#  define __hyper long long
-# endif
-#else /* ! __GNUC__ && ! __PCC__ */
-# ifndef __MINGW_IMPORT
-#  define __MINGW_IMPORT  __declspec(dllimport)
-# endif
-# ifndef _CRTIMP
-#  define _CRTIMP  __declspec(dllimport)
-# endif
-# define __DECLSPEC_SUPPORTED
-# define __attribute__(x) /* nothing */
-#endif
-
-#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-#define __MINGW_GNUC_PREREQ(major, minor) \
-  (__GNUC__ > (major) \
-   || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
-#else
-#define __MINGW_GNUC_PREREQ(major, minor)  0
-#endif
-
-#ifdef __cplusplus
-# define __CRT_INLINE    inline
-#else
-# if __GNUC_STDC_INLINE__
-#  define __CRT_INLINE   extern inline __attribute__((__gnu_inline__))
-# else
-#  define __CRT_INLINE   extern __inline__
-# endif
-#endif
-
-# ifdef __GNUC__
-  /* A special form of __CRT_INLINE is provided; it will ALWAYS request
-   * inlining when possible.  Originally specified as _CRTALIAS, this is
-   * now deprecated in favour of __CRT_ALIAS, for syntactic consistency
-   * with __CRT_INLINE itself.
-   */
-#  define  _CRTALIAS   __CRT_INLINE __attribute__((__always_inline__))
-#  define __CRT_ALIAS  __CRT_INLINE __attribute__((__always_inline__))
-# else
-#  define  _CRTALIAS   __CRT_INLINE	/* deprecated form */
-#  define __CRT_ALIAS  __CRT_INLINE	/* preferred form */
-# endif
-/*
- * Each function which is implemented as a __CRT_ALIAS should also be
- * accompanied by an externally visible interface.  The following pair
- * of macros provide a mechanism for implementing this, either as a stub
- * redirecting to an alternative external function, or by compilation of
- * the normally inlined code into free standing object code; each macro
- * provides a way for us to offer arbitrary hints for use by the build
- * system, while remaining transparent to the compiler.
- */
-#define __JMPSTUB__(__BUILD_HINT__)
-#define __LIBIMPL__(__BUILD_HINT__)
-
-#ifdef __cplusplus
-# define __UNUSED_PARAM(x)
-#else
-# ifdef __GNUC__
-#  define __UNUSED_PARAM(x) x __attribute__((__unused__))
-# else
-#  define __UNUSED_PARAM(x) x
-# endif
-#endif
-
-#ifdef __GNUC__
-#define __MINGW_ATTRIB_NORETURN __attribute__((__noreturn__))
-#define __MINGW_ATTRIB_CONST __attribute__((__const__))
-#else
-#define __MINGW_ATTRIB_NORETURN
-#define __MINGW_ATTRIB_CONST
-#endif
-
-#if __MINGW_GNUC_PREREQ (3, 0)
-#define __MINGW_ATTRIB_MALLOC __attribute__((__malloc__))
-#define __MINGW_ATTRIB_PURE __attribute__((__pure__))
-#else
-#define __MINGW_ATTRIB_MALLOC
-#define __MINGW_ATTRIB_PURE
-#endif
-
-/* Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
-   variadiac macro facility, because variadic macros cause syntax
-   errors with  --traditional-cpp.  */
-#if  __MINGW_GNUC_PREREQ (3, 3)
-#define __MINGW_ATTRIB_NONNULL(arg) __attribute__((__nonnull__(arg)))
-#else
-#define __MINGW_ATTRIB_NONNULL(arg)
-#endif /* GNUC >= 3.3 */
-
-#if  __MINGW_GNUC_PREREQ (3, 1)
-#define __MINGW_ATTRIB_DEPRECATED __attribute__((__deprecated__))
-#else
-#define __MINGW_ATTRIB_DEPRECATED
-#endif /* GNUC >= 3.1 */
-
-#if  __MINGW_GNUC_PREREQ (3, 3)
-#define __MINGW_NOTHROW __attribute__((__nothrow__))
-#else
-#define __MINGW_NOTHROW
-#endif /* GNUC >= 3.3 */
-
-
-/* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW.  This will
-allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
-
-/* Activation of MinGW specific extended features:
- */
-#ifndef __USE_MINGW_ANSI_STDIO
-/* Users should not set this directly; rather, define one (or more)
- * of the feature test macros (tabulated below), or specify any of the
- * compiler's command line options, (e.g. -posix, -ansi, or -std=c...),
- * which cause _POSIX_SOURCE, or __STRICT_ANSI__ to be defined.
- *
- * We must check this BEFORE we specifiy any implicit _POSIX_C_SOURCE,
- * otherwise we would always implicitly choose __USE_MINGW_ANSI_STDIO,
- * even if none of these selectors are specified explicitly...
- */
-# if   defined __STRICT_ANSI__  ||  defined _ISOC99_SOURCE \
-   ||  defined _POSIX_SOURCE    ||  defined _POSIX_C_SOURCE \
-   ||  defined _XOPEN_SOURCE    ||  defined _XOPEN_SOURCE_EXTENDED \
-   ||  defined _GNU_SOURCE      ||  defined _BSD_SOURCE \
-   ||  defined _SVID_SOURCE
-   /*
-    * but where any of these source code qualifiers are specified,
-    * then assume ANSI I/O standards are preferred over Microsoft's...
-    */
-#  define __USE_MINGW_ANSI_STDIO    1
-# else
-   /* otherwise use whatever __MINGW_FEATURES__ specifies...
-    */
-#  define __USE_MINGW_ANSI_STDIO    (__MINGW_FEATURES__ & __MINGW_ANSI_STDIO__)
-# endif
-#endif
-
-#ifndef _POSIX_C_SOURCE
- /* Users may define this, either directly or indirectly, to explicitly
-  * enable a particular level of visibility for the subset of those POSIX
-  * features which are supported by MinGW; (notice that this offers no
-  * guarantee that any particular POSIX feature will be supported).
-  */
-# if defined _XOPEN_SOURCE
-  /* Specifying this is the preferred method for setting _POSIX_C_SOURCE;
-   * (POSIX defines an explicit relationship to _XOPEN_SOURCE).  Note that
-   * any such explicit setting will augment the set of features which are
-   * available to any compilation unit, even if it seeks to be strictly
-   * ANSI-C compliant.
-   */
-#  if _XOPEN_SOURCE < 500
-#   define _POSIX_C_SOURCE  1L		/* POSIX.1-1990 / SUSv1 */
-
-#  elif _XOPEN_SOURCE < 600
-#   define _POSIX_C_SOURCE  199506L	/* POSIX.1-1996 / SUSv2 */
-
-#  elif _XOPEN_SOURCE < 700
-#   define _POSIX_C_SOURCE  200112L	/* POSIX.1-2001 / SUSv3 */
-
-#  else
-#   define _POSIX_C_SOURCE  200809L	/* POSIX.1-2008 / SUSv4 */
-#  endif
-
-# elif defined _GNU_SOURCE || defined _BSD_SOURCE || ! defined __STRICT_ANSI__
-  /*
-   * No explicit level of support has been specified; implicitly grant
-   * the most comprehensive level to any compilation unit which requests
-   * either GNU or BSD feature support, or does not seek to be strictly
-   * ANSI-C compliant.
-   */
-#  define _POSIX_C_SOURCE  200809L
-
-# elif defined _POSIX_SOURCE
-  /* Now formally deprecated by POSIX, some old code may specify this;
-   * it will enable a minimal level of POSIX support, in addition to the
-   * limited feature set enabled for strict ANSI-C conformity.
-   */
-#  define _POSIX_C_SOURCE  1L
-# endif
-#endif
-
-#ifndef _ISOC99_SOURCE
- /* libmingwex.a provides free-standing implementations for many of the
-  * functions which were introduced in C99; MinGW headers do not expose
-  * prototypes for these, unless this feature test macro is defined, by
-  * the user, or implied by other standards...
-  */
-# if __STDC_VERSION__ >= 199901L || _POSIX_C_SOURCE >= 200112L
-#  define _ISOC99_SOURCE  1
-# endif
-#endif
-
-#if ! defined _MINGW32_SOURCE_EXTENDED && ! defined __STRICT_ANSI__
-/*
- * Enable mingw32 extensions by default, except when __STRICT_ANSI__
- * conformity mode has been enabled.
- */
-# define _MINGW32_SOURCE_EXTENDED  1
-#endif
-
-#endif /* __MINGW_H: $RCSfile: _mingw.h.in,v $: end of file */
Index: Daodan/MinGW/include/_ptw32.h
===================================================================
--- Daodan/MinGW/include/_ptw32.h	(revision 1046)
+++ 	(revision )
@@ -1,160 +1,0 @@
-/*
- * Module: _ptw32.h
- *
- * Purpose:
- *      Pthreads-win32 internal macros, to be shared by other headers
- *      comprising the pthreads-win32 package.
- *
- * --------------------------------------------------------------------------
- *
- *      Pthreads-win32 - POSIX Threads Library for Win32
- *      Copyright(C) 1998 John E. Bossom
- *      Copyright(C) 1999-2012, 2016, Pthreads-win32 contributors
- *
- *      Homepage1: http://sourceware.org/pthreads-win32/
- *      Homepage2: http://sourceforge.net/projects/pthreads4w/
- *
- *      The current list of contributors is contained
- *      in the file CONTRIBUTORS included with the source
- *      code distribution. The list can also be seen at the
- *      following World Wide Web location:
- *      http://sources.redhat.com/pthreads-win32/contributors.html
- *
- *      This library is free software; you can redistribute it and/or
- *      modify it under the terms of the GNU Lesser General Public
- *      License as published by the Free Software Foundation; either
- *      version 2 of the License, or (at your option) any later version.
- *
- *      This library is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *      Lesser General Public License for more details.
- *
- *      You should have received a copy of the GNU Lesser General Public
- *      License along with this library in the file COPYING.LIB;
- *      if not, write to the Free Software Foundation, Inc.,
- *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- */
-#ifndef __PTW32_H
-#define __PTW32_H
-
-/* See the README file for an explanation of the pthreads-win32
- * version numbering scheme and how the DLL is named etc.
- */
-#define __PTW32_VERSION_MAJOR	   2
-#define __PTW32_VERSION_MINOR	  10
-#define __PTW32_VERSION_MICRO	   0
-#define __PTW32_VERSION_BUILD	   0
-#define __PTW32_VERSION 	2,10,0,0
-#define __PTW32_VERSION_STRING "2, 10, 0, 0\0"
-
-#if defined(__GNUC__)
-# pragma GCC system_header
-# if ! defined __declspec
-#  error "Please upgrade your GNU compiler to one that supports __declspec."
-# endif
-#endif
-
-#if defined (__cplusplus)
-# define __PTW32_BEGIN_C_DECLS  extern "C" {
-# define __PTW32_END_C_DECLS    }
-#else
-# define __PTW32_BEGIN_C_DECLS
-# define __PTW32_END_C_DECLS
-#endif
-
-/* When building the library, __PTW32_BUILD should be defined, so that the
- * variables/functions are exported correctly.  When using the library, you
- * should NOT define __PTW32_BUILD, thus ensuring that variables/functions
- * will be imported correctly, via an appropriate __PTW32_DECLSPEC.
- */
-#undef __PTW32_DECLSPEC
-#undef __PTW32_USE_DLLIMPORT_DECORATION
-
-#if defined PTW32_STATIC_LIB
-/* Upstream pthreads-win32 uses this user-specified feature test to declare
- * explicitly that the pthreads library is to be linked statically; this is
- * contrary to POSIX.1's mandate that feature test names should begin with
- * an underscore character.
- */
-# warning "PTW32_STATIC_LIB is deprecated; use _PTW32_STATIC_LIB."
-# ifndef  _PTW32_STATIC_LIB
-#  define _PTW32_STATIC_LIB  1
-# endif
-# undef PTW32_STATIC_LIB
-#endif
-
-#ifndef _PTW32_STATIC_LIB
-/* When the intention is NOT to link statically...
- */
-# if defined __PTW32_BUILD
-  /* ...and when actually implementing the pthreads library, then we want
-   * to explicitly identify those entities which are to be exported from
-   * the pthreads DLL, which is being built.
-   */
-#  define __PTW32_DECLSPEC  __declspec(dllexport) __PTW32_CDECL
-
-# elif defined _MSC_VER || defined _DLLIMPORT_DECORATED
-  /* ...but, when NOT building the pthreads library, just signal that we
-   * want to decorate the declarations of imported entities, either when
-   * using MSVC, or the user explicitly requested it; in this case, we
-   * will complete the __PTW32_DECLSPEC definition below.
-   */
-#  define __USE_DLLIMPORT_DECORATION  1
-# endif
-#endif
-
-#ifndef __PTW32_DECLSPEC
-/* We still need to complete this definition...
- */
-# if __PTW32_USE_DLLIMPORT_DECORATION
-  /* ...either for a pthreads DLL client which explicitly wants to, (or
-   * needs to), link via explicitly decorated entity declarations...
-   */
-#  define __PTW32_DECLSPEC  __declspec(dllimport) __PTW32_CDECL
-# else
-  /* ...or for a statically linked client, (or indeed, a client which
-   * wishes to support a choice between static linking, or alternatively,
-   * dynamic linking via an import library).
-   */
-#  define __PTW32_DECLSPEC  __PTW32_CDECL
-# endif
-#endif
-
-#ifndef __PTW32_CDECL
-/* Nominally, we prefer to use __cdecl calling convention for all our
- * functions, but we map it through this macro alias to facilitate the
- * possible choice of alternatives; for example:
- */
-# ifdef _OPEN_WATCOM_SOURCE
-  /* The Open Watcom C/C++ compiler uses a non-standard default calling
-   * convention, (similar to __fastcall), which passes function arguments
-   * in registers, unless the __cdecl convention is explicitly specified
-   * in exposed function prototypes.
-   *
-   * Our preference is to specify the __cdecl convention for all calls,
-   * even though this could slow Watcom code down slightly.  If you know
-   * that the Watcom compiler will be used to build both the DLL and your
-   * application, then you may #define _OPEN_WATCOM_SOURCE, so disabling
-   * the forced specification of __cdecl for all function declarations;
-   * remember that this must be defined consistently, for both the DLL
-   * build, and the application build.
-   */
-#  define __PTW32_CDECL
-# else
-#  define __PTW32_CDECL __cdecl
-# endif
-#endif
-
-/* If the user has previously included <errno.h>, as witnessed by the
- * prior definition of EDOM, (which is chosen because it is one of only
- * three error codes required by ISO-C), then we must ensure that those
- * non-Windows error codes required by pthreads-win32, and witnessed by
- * definition of _PTW32_ERRNO_H, are also defined.
- */
-#if defined EDOM && ! defined _PTW32_ERRNO_H
-# include "ptw32_errno.h"
-#endif
-
-#endif	/* !__PTW32_H */
Index: Daodan/MinGW/include/accctrl.h
===================================================================
--- Daodan/MinGW/include/accctrl.h	(revision 1046)
+++ 	(revision )
@@ -1,329 +1,0 @@
-#ifndef _ACCCTRL_H
-#define _ACCCTRL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define AccFree LocalFree
-#define ACTRL_RESERVED            0x00000000
-#define ACTRL_ACCESS_PROTECTED    0x00000001
-#define ACTRL_ACCESS_ALLOWED      0x00000001
-#define ACTRL_ACCESS_DENIED       0x00000002
-#define ACTRL_AUDIT_SUCCESS       0x00000004
-#define ACTRL_AUDIT_FAILURE       0x00000008
-#define ACTRL_SYSTEM_ACCESS       0x04000000
-#define ACTRL_DELETE              0x08000000
-#define ACTRL_READ_CONTROL        0x10000000
-#define ACTRL_CHANGE_ACCESS       0x20000000
-#define ACTRL_CHANGE_OWNER        0x40000000
-#define ACTRL_SYNCHRONIZE         0x80000000
-#define ACTRL_STD_RIGHTS_ALL      0xf8000000
-
-#define ACTRL_FILE_READ           0x00000001
-#define ACTRL_FILE_WRITE          0x00000002
-#define ACTRL_FILE_APPEND         0x00000004
-#define ACTRL_FILE_READ_PROP      0x00000008
-#define ACTRL_FILE_WRITE_PROP     0x00000010
-#define ACTRL_FILE_EXECUTE        0x00000020
-#define ACTRL_FILE_READ_ATTRIB    0x00000080
-#define ACTRL_FILE_WRITE_ATTRIB   0x00000100
-#define ACTRL_FILE_CREATE_PIPE    0x00000200
-#define ACTRL_DIR_LIST            0x00000001
-#define ACTRL_DIR_CREATE_OBJECT   0x00000002
-#define ACTRL_DIR_CREATE_CHILD    0x00000004
-#define ACTRL_DIR_DELETE_CHILD    0x00000040
-#define ACTRL_DIR_TRAVERSE        0x00000020
-#define ACTRL_KERNEL_TERMINATE    0x00000001
-#define ACTRL_KERNEL_THREAD       0x00000002
-#define ACTRL_KERNEL_VM           0x00000004
-#define ACTRL_KERNEL_VM_READ      0x00000008
-#define ACTRL_KERNEL_VM_WRITE     0x00000010
-#define ACTRL_KERNEL_DUP_HANDLE   0x00000020
-#define ACTRL_KERNEL_PROCESS      0x00000040
-#define ACTRL_KERNEL_SET_INFO     0x00000080
-#define ACTRL_KERNEL_GET_INFO     0x00000100
-#define ACTRL_KERNEL_CONTROL      0x00000200
-#define ACTRL_KERNEL_ALERT        0x00000400
-#define ACTRL_KERNEL_GET_CONTEXT  0x00000800
-#define ACTRL_KERNEL_SET_CONTEXT  0x00001000
-#define ACTRL_KERNEL_TOKEN        0x00002000
-#define ACTRL_KERNEL_IMPERSONATE  0x00004000
-#define ACTRL_KERNEL_DIMPERSONATE 0x00008000
-#define ACTRL_PRINT_SADMIN        0x00000001
-#define ACTRL_PRINT_SLIST         0x00000002
-#define ACTRL_PRINT_PADMIN        0x00000004
-#define ACTRL_PRINT_PUSE          0x00000008
-#define ACTRL_PRINT_JADMIN        0x00000010
-#define ACTRL_SVC_GET_INFO        0x00000001
-#define ACTRL_SVC_SET_INFO        0x00000002
-#define ACTRL_SVC_STATUS          0x00000004
-#define ACTRL_SVC_LIST            0x00000008
-#define ACTRL_SVC_START           0x00000010
-#define ACTRL_SVC_STOP            0x00000020
-#define ACTRL_SVC_PAUSE           0x00000040
-#define ACTRL_SVC_INTERROGATE     0x00000080
-#define ACTRL_SVC_UCONTROL        0x00000100
-#define ACTRL_REG_QUERY           0x00000001
-#define ACTRL_REG_SET             0x00000002
-#define ACTRL_REG_CREATE_CHILD    0x00000004
-#define ACTRL_REG_LIST            0x00000008
-#define ACTRL_REG_NOTIFY          0x00000010
-#define ACTRL_REG_LINK            0x00000020
-#define ACTRL_WIN_CLIPBRD         0x00000001
-#define ACTRL_WIN_GLOBAL_ATOMS    0x00000002
-#define ACTRL_WIN_CREATE          0x00000004
-#define ACTRL_WIN_LIST_DESK       0x00000008
-#define ACTRL_WIN_LIST            0x00000010
-#define ACTRL_WIN_READ_ATTRIBS    0x00000020
-#define ACTRL_WIN_WRITE_ATTRIBS   0x00000040
-#define ACTRL_WIN_SCREEN          0x00000080
-#define ACTRL_WIN_EXIT            0x00000100
-#define ACTRL_ACCESS_NO_OPTIONS                 0x00000000
-#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES    0x00000001
-#define ACCCTRL_DEFAULT_PROVIDERA   "Windows NT Access Provider"
-#define ACCCTRL_DEFAULT_PROVIDERW  L"Windows NT Access Provider"
-#define TRUSTEE_ACCESS_ALLOWED    0x00000001L
-#define TRUSTEE_ACCESS_READ       0x00000002L
-#define TRUSTEE_ACCESS_WRITE      0x00000004L
-#define TRUSTEE_ACCESS_EXPLICIT   0x00000001L
-#define TRUSTEE_ACCESS_READ_WRITE   (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE)
-#define TRUSTEE_ACCESS_ALL        0xFFFFFFFFL
-#define NO_INHERITANCE	          0x0
-#define SUB_OBJECTS_ONLY_INHERIT  0x1
-#define SUB_CONTAINERS_ONLY_INHERIT 0x2
-#define SUB_CONTAINERS_AND_OBJECTS_INHERIT  0x3
-#define INHERIT_NO_PROPAGATE      0x4
-#define INHERIT_ONLY              0x8
-#define INHERITED_ACCESS_ENTRY    0x10
-#define INHERITED_PARENT          0x10000000
-#define INHERITED_GRANDPARENT     0x20000000
-
-typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS;
-typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS;
-
-typedef enum _ACCESS_MODE {
-	NOT_USED_ACCESS = 0,
-	GRANT_ACCESS,
-	SET_ACCESS,
-	DENY_ACCESS,
-	REVOKE_ACCESS,
-	SET_AUDIT_SUCCESS,
-	SET_AUDIT_FAILURE
-} ACCESS_MODE;
-typedef enum _SE_OBJECT_TYPE {
-	SE_UNKNOWN_OBJECT_TYPE = 0,
-	SE_FILE_OBJECT,
-	SE_SERVICE,
-	SE_PRINTER,
-	SE_REGISTRY_KEY,
-	SE_LMSHARE,
-	SE_KERNEL_OBJECT,
-	SE_WINDOW_OBJECT,
-	SE_DS_OBJECT,
-	SE_DS_OBJECT_ALL,
-	SE_PROVIDER_DEFINED_OBJECT,
-	SE_WMIGUID_OBJECT,
-	SE_REGISTRY_WOW64_32KEY
-} SE_OBJECT_TYPE;
-typedef enum _TRUSTEE_TYPE {
-	TRUSTEE_IS_UNKNOWN,
-	TRUSTEE_IS_USER,
-	TRUSTEE_IS_GROUP,
-	TRUSTEE_IS_DOMAIN,
-	TRUSTEE_IS_ALIAS,
-	TRUSTEE_IS_WELL_KNOWN_GROUP,
-	TRUSTEE_IS_DELETED,
-	TRUSTEE_IS_INVALID,
-	TRUSTEE_IS_COMPUTER
-} TRUSTEE_TYPE;
-typedef enum _TRUSTEE_FORM {
-	TRUSTEE_IS_SID,
-	TRUSTEE_IS_NAME,
-	TRUSTEE_BAD_FORM,
-	TRUSTEE_IS_OBJECTS_AND_SID,
-	TRUSTEE_IS_OBJECTS_AND_NAME
-} TRUSTEE_FORM;
-typedef enum _MULTIPLE_TRUSTEE_OPERATION {
-	NO_MULTIPLE_TRUSTEE,
-	TRUSTEE_IS_IMPERSONATE
-} MULTIPLE_TRUSTEE_OPERATION;
-typedef struct _TRUSTEE_A {
-	struct _TRUSTEE_A          *pMultipleTrustee;
-	MULTIPLE_TRUSTEE_OPERATION  MultipleTrusteeOperation;
-	TRUSTEE_FORM                TrusteeForm;
-	TRUSTEE_TYPE                TrusteeType;
-	LPSTR                       ptstrName;
-} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA;
-typedef struct _TRUSTEE_W {
-	struct _TRUSTEE_W          *pMultipleTrustee;
-	MULTIPLE_TRUSTEE_OPERATION  MultipleTrusteeOperation;
-	TRUSTEE_FORM                TrusteeForm;
-	TRUSTEE_TYPE                TrusteeType;
-	LPWSTR                      ptstrName;
-} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW;
-typedef struct _ACTRL_ACCESS_ENTRYA {
-	TRUSTEE_A       Trustee;
-	ULONG           fAccessFlags;
-	ACCESS_RIGHTS   Access;
-	ACCESS_RIGHTS   ProvSpecificAccess;
-	INHERIT_FLAGS   Inheritance;
-	LPCSTR          lpInheritProperty;
-} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;
-typedef struct _ACTRL_ACCESS_ENTRYW {
-	TRUSTEE_W       Trustee;
-	ULONG           fAccessFlags;
-	ACCESS_RIGHTS   Access;
-	ACCESS_RIGHTS   ProvSpecificAccess;
-	INHERIT_FLAGS   Inheritance;
-	LPCWSTR         lpInheritProperty;
-} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW;
-typedef struct _ACTRL_ACCESS_ENTRY_LISTA {
-	ULONG                  cEntries;
-	ACTRL_ACCESS_ENTRYA    *pAccessList;
-} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA;
-typedef struct _ACTRL_ACCESS_ENTRY_LISTW {
-	ULONG                  cEntries;
-	ACTRL_ACCESS_ENTRYW    *pAccessList;
-} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW;
-typedef struct _ACTRL_PROPERTY_ENTRYA {
-	LPCSTR                      lpProperty;
-	PACTRL_ACCESS_ENTRY_LISTA   pAccessEntryList;
-	ULONG                       fListFlags;
-} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA;
-typedef struct _ACTRL_PROPERTY_ENTRYW {
-	LPCWSTR                     lpProperty;
-	PACTRL_ACCESS_ENTRY_LISTW   pAccessEntryList;
-	ULONG                       fListFlags;
-} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW;
-typedef struct _ACTRL_ALISTA {
-	ULONG                       cEntries;
-	PACTRL_PROPERTY_ENTRYA      pPropertyAccessList;
-} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA;
-typedef struct _ACTRL_ALISTW {
-	ULONG                       cEntries;
-	PACTRL_PROPERTY_ENTRYW      pPropertyAccessList;
-} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW;
-typedef struct _TRUSTEE_ACCESSA {
-	LPSTR           lpProperty;
-	ACCESS_RIGHTS   Access;
-	ULONG           fAccessFlags;
-	ULONG           fReturnedAccess;
-} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA;
-typedef struct _TRUSTEE_ACCESSW {
-	LPWSTR          lpProperty;
-	ACCESS_RIGHTS   Access;
-	ULONG           fAccessFlags;
-	ULONG           fReturnedAccess;
-} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW;
-typedef struct _ACTRL_OVERLAPPED {
-	_ANONYMOUS_UNION
-	union {
-	    PVOID Provider;
-	    ULONG Reserved1;
-	} DUMMYUNIONNAME;
-	ULONG       Reserved2;
-	HANDLE      hEvent;
-} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED;
-typedef struct _ACTRL_ACCESS_INFOA {
-	ULONG       fAccessPermission;
-	LPSTR       lpAccessPermissionName;
-} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA;
-typedef struct _ACTRL_ACCESS_INFOW {
-	ULONG       fAccessPermission;
-	LPWSTR      lpAccessPermissionName;
-} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW;
-typedef struct _ACTRL_CONTROL_INFOA {
-	LPSTR       lpControlId;
-	LPSTR       lpControlName;
-} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA;
-typedef struct _ACTRL_CONTROL_INFOW {
-	LPWSTR      lpControlId;
-	LPWSTR      lpControlName;
-} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW;
-typedef struct _EXPLICIT_ACCESS_A {
-	DWORD        grfAccessPermissions;
-	ACCESS_MODE  grfAccessMode;
-	DWORD        grfInheritance;
-	TRUSTEE_A    Trustee;
-} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;
-typedef struct _EXPLICIT_ACCESS_W {
-	DWORD        grfAccessPermissions;
-	ACCESS_MODE  grfAccessMode;
-	DWORD        grfInheritance;
-	TRUSTEE_W    Trustee;
-} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
-typedef struct _OBJECTS_AND_SID {
-	DWORD   ObjectsPresent;
-	GUID    ObjectTypeGuid;
-	GUID    InheritedObjectTypeGuid;
-	SID     * pSid;
-} OBJECTS_AND_SID, *POBJECTS_AND_SID;
-typedef struct _OBJECTS_AND_NAME_A {
-	DWORD    ObjectsPresent;
-	SE_OBJECT_TYPE ObjectType;
-	LPSTR    ObjectTypeName;
-	LPSTR    InheritedObjectTypeName;
-	LPSTR    ptstrName;
-} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
-typedef struct _OBJECTS_AND_NAME_W {
-	DWORD          ObjectsPresent;
-	SE_OBJECT_TYPE ObjectType;
-	LPWSTR   ObjectTypeName;
-	LPWSTR   InheritedObjectTypeName;
-	LPWSTR   ptstrName;
-} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-	LONG     GenerationGap;
-	LPSTR    AncestorName;
-} INHERITED_FROMA, *PINHERITED_FROMA;
-typedef struct {
-	LONG     GenerationGap;
-	LPWSTR   AncestorName;
-} INHERITED_FROMW, *PINHERITED_FROMW;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#ifdef UNICODE
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
-typedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEW TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#else
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
-typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEA TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/aclapi.h
===================================================================
--- Daodan/MinGW/include/aclapi.h	(revision 1046)
+++ 	(revision )
@@ -1,117 +1,0 @@
-#ifndef _ACLAPI_H
-#define _ACLAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-#include <accctrl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-WINADVAPI VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
-WINADVAPI VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
-WINADVAPI DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
-  ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
-WINADVAPI DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
-  ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
-WINADVAPI VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
-WINADVAPI VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
-WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
-  LPSTR,LPSTR,LPSTR);
-WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
-  LPWSTR,LPWSTR,LPWSTR);
-WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
-WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
-WINADVAPI VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
-WINADVAPI VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
-WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
-WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
-WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
-WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
-WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
-WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
-#if (_WIN32_WINNT >= 0x0501)
-WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
-WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
-#endif
-WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
-  PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
-  PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-WINADVAPI DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
-  PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
-WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
-WINADVAPI LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
-WINADVAPI LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
-WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
-WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
-WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
-  PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
-WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
-  PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
-WINADVAPI DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
-WINADVAPI DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
-WINADVAPI DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-WINADVAPI DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-WINADVAPI DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD);
-WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD);
-WINADVAPI VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A);
-WINADVAPI VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W);
-WINADVAPI PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A);
-WINADVAPI PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
-WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
-WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
-
-#ifdef UNICODE
-#define BuildExplicitAccessWithName  BuildExplicitAccessWithNameW
-#define BuildSecurityDescriptor  BuildSecurityDescriptorW
-#define BuildTrusteeWithName  BuildTrusteeWithNameW
-#define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameW
-#define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidW
-#define BuildTrusteeWithSid  BuildTrusteeWithSidW
-#define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclW
-#define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclW
-#define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclW
-#define GetNamedSecurityInfo  GetNamedSecurityInfoW
-#define GetTrusteeForm  GetTrusteeFormW
-#define GetTrusteeName  GetTrusteeNameW
-#define GetTrusteeType  GetTrusteeTypeW
-#define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsW
-#define SetEntriesInAcl  SetEntriesInAclW
-#define SetNamedSecurityInfo  SetNamedSecurityInfoW
-#define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameW
-#define BuildImpersonateTrustee  BuildImpersonateTrusteeW
-#define GetMultipleTrustee  GetMultipleTrusteeW
-#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationW
-#else
-#define BuildExplicitAccessWithName  BuildExplicitAccessWithNameA
-#define BuildSecurityDescriptor  BuildSecurityDescriptorA
-#define BuildTrusteeWithName  BuildTrusteeWithNameA
-#define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameA
-#define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidA
-#define BuildTrusteeWithSid  BuildTrusteeWithSidA
-#define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclA
-#define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclA
-#define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclA
-#define GetNamedSecurityInfo  GetNamedSecurityInfoA
-#define GetTrusteeForm  GetTrusteeFormA
-#define GetTrusteeName  GetTrusteeNameA
-#define GetTrusteeType  GetTrusteeTypeA
-#define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsA
-#define SetEntriesInAcl  SetEntriesInAclA
-#define SetNamedSecurityInfo  SetNamedSecurityInfoA
-#define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameA
-#define BuildImpersonateTrustee  BuildImpersonateTrusteeA
-#define GetMultipleTrustee  GetMultipleTrusteeA
-#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationA
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/aclui.h
===================================================================
--- Daodan/MinGW/include/aclui.h	(revision 1046)
+++ 	(revision )
@@ -1,134 +1,0 @@
-#ifndef _ACLUI_H
-#define _ACLUI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _OBJC_NO_COM
-#include <objbase.h>
-#include <commctrl.h>
-#include <accctrl.h>
-#endif
-
-#if !defined(_ACLUI_)
-#define ACLUIAPI	DECLSPEC_IMPORT WINAPI
-#else
-#define ACLUIAPI	WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _SI_OBJECT_INFO
-{
-	DWORD dwFlags;
-	HINSTANCE hInstance;
-	LPWSTR pszServerName;
-	LPWSTR pszObjectName;
-	LPWSTR pszPageTitle;
-	GUID guidObjectType;
-} SI_OBJECT_INFO, *PSI_OBJECT_INFO;
-
-/* values for SI_OBJECT_INFO.dwFlags */
-#define SI_EDIT_PERMS				0x00000000L
-#define SI_EDIT_OWNER				0x00000001L
-#define SI_EDIT_AUDITS				0x00000002L
-#define SI_CONTAINER				0x00000004L
-#define SI_READONLY					0x00000008L
-#define SI_ADVANCED					0x00000010L
-#define SI_RESET					0x00000020L
-#define SI_OWNER_READONLY			0x00000040L
-#define SI_EDIT_PROPERTIES			0x00000080L
-#define SI_OWNER_RECURSE			0x00000100L
-#define SI_NO_ACL_PROTECT			0x00000200L
-#define SI_NO_TREE_APPLY			0x00000400L
-#define SI_PAGE_TITLE				0x00000800L
-#define SI_SERVER_IS_DC				0x00001000L
-#define SI_RESET_DACL_TREE			0x00004000L
-#define SI_RESET_SACL_TREE			0x00008000L
-#define SI_OBJECT_GUID				0x00010000L
-#define SI_EDIT_EFFECTIVE			0x00020000L
-#define SI_RESET_DACL				0x00040000L
-#define SI_RESET_SACL				0x00080000L
-#define SI_RESET_OWNER				0x00100000L
-#define SI_NO_ADDITIONAL_PERMISSION	0x00200000L
-#define SI_MAY_WRITE				0x10000000L
-
-#define SI_EDIT_ALL     (SI_EDIT_PERMS | SI_EDIT_OWNER | SI_EDIT_AUDITS)
-
-
-typedef struct _SI_ACCESS
-{
-	const GUID* pguid;
-	ACCESS_MASK mask;
-	LPCWSTR pszName;
-	DWORD dwFlags;
-} SI_ACCESS, *PSI_ACCESS;
-
-/* values for SI_ACCESS.dwFlags */
-#define SI_ACCESS_SPECIFIC			0x00010000L
-#define SI_ACCESS_GENERAL			0x00020000L
-#define SI_ACCESS_CONTAINER			0x00040000L
-#define SI_ACCESS_PROPERTY			0x00080000L
-
-
-typedef struct _SI_INHERIT_TYPE
-{
-	const GUID* pguid;
-	ULONG dwFlags;
-	LPCWSTR pszName;
-} SI_INHERIT_TYPE, *PSI_INHERIT_TYPE;
-
-/* values for SI_INHERIT_TYPE.dwFlags
-   INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE
-   defined elsewhere */
-
-
-typedef enum _SI_PAGE_TYPE
-{
-	SI_PAGE_PERM = 0,
-	SI_PAGE_ADVPERM,
-	SI_PAGE_AUDIT,
-	SI_PAGE_OWNER
-} SI_PAGE_TYPE;
-
-
-#define PSPCB_SI_INITDIALOG	(WM_USER + 1)
-
-#ifndef __ISecurityInformation_INTERFACE_DEFINED__
-#define __ISecurityInformation_INTERFACE_DEFINED__
-#define INTERFACE ISecurityInformation
-DECLARE_INTERFACE_(ISecurityInformation, IUnknown)
-{
-		STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-		STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-		STDMETHOD_(ULONG,Release)(THIS) PURE;
-
-		STDMETHOD(GetObjectInformation)(THIS_ PSI_OBJECT_INFO) PURE;
-		STDMETHOD(GetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR*,BOOL) PURE;
-		STDMETHOD(SetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR) PURE;
-		STDMETHOD(GetAccessRights)(THIS_ const GUID*,DWORD,PSI_ACCESS*,ULONG*,ULONG*) PURE;
-		STDMETHOD(MapGeneric)(THIS_ const GUID*,UCHAR*,ACCESS_MASK*) PURE;
-		STDMETHOD(GetInheritTypes)(THIS_ PSI_INHERIT_TYPE*,ULONG*) PURE;
-		STDMETHOD(PropertySheetPageCallback)(THIS_ HWND,UINT,SI_PAGE_TYPE) PURE;
-};
-#undef INTERFACE
-typedef ISecurityInformation *LPSECURITYINFO;
-#endif
-
-/*
- * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo
- */
-
-extern DECLSPEC_IMPORT const IID IID_ISecurityInformation;
-
-
-HPROPSHEETPAGE ACLUIAPI CreateSecurityPage(LPSECURITYINFO psi);
-BOOL ACLUIAPI EditSecurity(HWND hwndOwner, LPSECURITYINFO psi);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/include/adsprop.h
===================================================================
--- Daodan/MinGW/include/adsprop.h	(revision 1046)
+++ 	(revision )
@@ -1,59 +1,0 @@
-/*
- * adsprop.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _ADSPROP_H
-#define _ADSPROP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Messages */
-#define WM_ADSPROP_NOTIFY_APPLY (WM_USER+1104)
-#define WM_ADSPROP_NOTIFY_CHANGE (WM_USER+1103)
-#define WM_ADSPROP_NOTIFY_ERROR (WM_USER+1110)
-#define WM_ADSPROP_NOTIFY_EXIT (WM_USER+1107)
-#define WM_ADSPROP_NOTIFY_FOREGROUND (WM_USER+1106)
-#define WM_ADSPROP_NOTIFY_PAGEHWND (WM_USER+1102)
-#define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER+1101)
-#define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER+1105)
-/*--- Active Directory Reference - Active Directory Structures - Active Directory MMC Property Page Structures */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-	HWND hwndPage;
-	PWSTR pszPageTitle;
-	PWSTR pszObjPath;
-	PWSTR pszObjClass;
-	HRESULT hr;
-	PWSTR pszError;
-} ADSPROPERROR,*PADSPROPERROR;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct {
-	DWORD dwSize;
-	DWORD dwFlags;
-	HRESULT hr;
-	IDirectoryObject *pDsObj;
-	LPWSTR pwzCN;
-	PADS_ATTR_INFO pWritableAttrs;
-} ADSPROPINITPARAMS,*PADSPROPINITPARAMS;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/afxres.h
===================================================================
--- Daodan/MinGW/include/afxres.h	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-#ifndef _AFXRES_H
-#define _AFXRES_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-/* IDC_STATIC is documented in winuser.h, but not defined. */
-#ifndef IDC_STATIC
-#define IDC_STATIC (-1)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/amaudio.h
===================================================================
--- Daodan/MinGW/include/amaudio.h	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifndef _AMAUDIO_H
-#define _AMAUDIO_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <dsound.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define INTERFACE IAMDirectSound
-DECLARE_INTERFACE_(IAMDirectSound, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDirectSoundInterface)(THIS_ LPDIRECTSOUND*) PURE;
-	STDMETHOD(GetPrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER*) PURE;
-	STDMETHOD(GetSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER*) PURE;
-	STDMETHOD(GetFocusWindow)(THIS_ HWND*,BOOL*) PURE ;
-	STDMETHOD(ReleaseDirectSoundInterface)(THIS_ LPDIRECTSOUND) PURE;
-	STDMETHOD(ReleasePrimaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER) PURE;
-	STDMETHOD(ReleaseSecondaryBufferInterface)(THIS_ LPDIRECTSOUNDBUFFER) PURE;
-	STDMETHOD(SetFocusWindow)(THIS_ HWND,BOOL) PURE ;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/amvideo.h
===================================================================
--- Daodan/MinGW/include/amvideo.h	(revision 1046)
+++ 	(revision )
@@ -1,179 +1,0 @@
-#ifndef _AMVIDEO_H
-#define _AMVIDEO_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <ddraw.h>
-#include <strmif.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define AMDDS_NONE 0x0000
-#define AMDDS_DCIPS 0x0001
-#define AMDDS_PS 0x0002
-#define AMDDS_RGBOVR 0x0004
-#define AMDDS_YUVOVR 0x0008
-#define AMDDS_RGBOFF 0x0010
-#define AMDDS_YUVOFF 0x0020
-#define AMDDS_RGBFLP 0x0040
-#define AMDDS_YUVFLP 0x0080
-#define AMDDS_ ALL 0x00FF
-#define AMDDS_DEFAULT 0x00FF
-#define AMDDS_YUV (AMDDS_YUVOFF|AMDDS_YUVOVR|AMDDS_YUVFLP)
-#define AMDDS_RGB (AMDDS_RGBOFF|AMDDS_RGBOVR|AMDDS_RGBFLP)
-#define AMDDS_PRIMARY (AMDDS_DCIPS|AMDDS_PS)
-#define BIT_MASKS_MATCH(pbmi1,pbmi2) ((pbmi1)->dwBitMasks[0] == (pbmi2)->dwBitMasks[0] && (pbmi1)->dwBitMasks[1] == (pbmi2)->dwBitMasks[1] && (pbmi1)->dwBitMasks[2] == (pbmi2)->dwBitMasks[2])
-#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8)
-#define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount)
-#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD)))
-#define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(pbmi)->bmiColors,256*sizeof(RGBQUAD)));
-#define SIZE_EGA_PALETTE (16*sizeof(RGBQUAD))
-#define SIZE_MASKS (3*sizeof(DWORD))
-#define SIZE_PALETTE (256*sizeof(RGBQUAD))
-typedef enum {
-	AM_PROPERTY_FRAMESTEP_STEP = 1,
-	AM_PROPERTY_FRAMESTEP_CANCEL = 2,
-	AM_PROPERTY_FRAMESTEP_CANSTEP = 3,
-	AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 4
-} AM_PROPERTY_FRAMESTEP;
-typedef struct tag_TRUECOLORINFO {
-	DWORD dwBitMasks[3];
-	RGBQUAD bmiColors[256];
-} TRUECOLORINFO;
-typedef struct tagVIDEOINFOHEADER {
-	RECT rcSource;
-	RECT rcTarget;
-	DWORD dwBitRate;
-	DWORD dwBitErrorRate;
-	REFERENCE_TIME AvgTimePerFrame;
-	BITMAPINFOHEADER bmiHeader;
-} VIDEOINFOHEADER;
-typedef struct tagVIDEOINFO {
-	RECT rcSource,
-	RECT rcTarget,
-	DWORD dwBitRate,
-	DWORD dwBitErrorRate,
-	REFERENCE_TIME AvgTimePerFrame;
-	BITMAPINFOHEADER bmiHeader;
-	union {
-		RGBQUAD bmiColors[256];
-		DWORD dwBitMasks[3];
-		TRUECOLORINFO TrueColorInfo;
-	};
-} VIDEOINFO;
-typedef struct tagMPEG1VIDEOINFO {
-	VIDEOINFOHEADER hdr;
-	DWORD dwStartTimeCode;
-	DWORD cbSequenceHeader;
-	BYTE bSequenceHeader[1];
-} MPEG1VIDEOINFO;
-typedef struct tagAnalogVideoInfo {
-	RECT rcSource;
-	RECT rcTarget;
-	DWORD dwActiveWidth;
-	DWORD dwActiveHeight;
-	REFERENCE_TIME AvgTimePerFrame;
-} ANALOGVIDEOINFO;
-typedef struct _AM_FRAMESTEP_STEP {
-	DWORD dwFramesToStep;
-} AM_FRAMESTEP_STEP;
-#define INTERFACE IDirectDrawVideo
-DECLARE_INTERFACE_(IDirectDrawVideo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CanUseOverlayStretch)(THIS_ long*) PURE;
-	STDMETHOD(CanUseScanLine)(THIS_ long*) PURE;
-	STDMETHOD(GetCaps)(THIS_ DDCAPS*) PURE;
-	STDMETHOD(GetDirectDraw)(THIS_ LPDIRECTDRAW*) PURE;
-	STDMETHOD(GetEmulatedCaps)(THIS_ DDCAPS*) PURE;
-	STDMETHOD(GetFourCCCodes)(THIS_ DWORD*,DWORD*) PURE;
-	STDMETHOD(GetSurfaceDesc)(THIS_ DDSURFACEDESC*) PURE;
-	STDMETHOD(GetSurfaceType)(THIS_ DWORD*) PURE;
-	STDMETHOD(GetSwitches)(THIS_ DWORD*) PURE;
-	STDMETHOD(SetDefault)(THIS) PURE;
-	STDMETHOD(SetDirectDraw)(THIS_ LPDIRECTDRAW) PURE;
-	STDMETHOD(SetSwitches)(THIS_ DWORD) PURE;
-	STDMETHOD(UseOverlayStretch)(THIS_ long) PURE;
-	STDMETHOD(UseScanLine)(THIS_ long) PURE;
-	STDMETHOD(UseWhenFullScreen)(THIS_ long) PURE;
-	STDMETHOD(WillUseFullScreen)(THIS_ long*) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IQualProp
-DECLARE_INTERFACE_(IQualProp, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(get_AvgFrameRate)(THIS_ int*) PURE;
-	STDMETHOD(get_AvgSyncOffset)(THIS_ int*) PURE;
-	STDMETHOD(get_DevSyncOffset)(THIS_ int*) PURE;
-	STDMETHOD(get_FramesDrawn)(THIS_ int*) PURE;
-	STDMETHOD(get_FramesDroppedInRenderer)(THIS_ int*) PURE;
-	STDMETHOD(get_Jitter)(THIS_ int*) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IFullScreenVideo
-DECLARE_INTERFACE_(IFullScreenVideo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CountModes)(THIS_ long*) PURE;
-	STDMETHOD(GetCaption)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetClipFactor)(THIS_ long*) PURE;
-	STDMETHOD(GetCurrentMode)(THIS_ long*) PURE;
-	STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE;
-	STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE;
-	STDMETHOD(GetMonitor)(THIS_ long*) PURE;
-	STDMETHOD(HideOnDeactivate)(THIS_ long) PURE;
-	STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
-	STDMETHOD(IsModeAvailable)(THIS_ long) PURE;
-	STDMETHOD(IsModeEnabled)(THIS_ long) PURE;
-	STDMETHOD(SetCaption)(THIS_ BSTR) PURE;
-	STDMETHOD(SetClipFactor)(THIS_ long) PURE;
-	STDMETHOD(SetDefault)(THIS) PURE;
-	STDMETHOD(SetEnabled)(THIS_ long,long) PURE;
-	STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE;
-	STDMETHOD(SetMonitor)(THIS_ long) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IFullScreenVideoEx
-DECLARE_INTERFACE_(IFullScreenVideoEx, IFullScreenVideo)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CountModes)(THIS_ long*) PURE;
-	STDMETHOD(GetAcceleratorTable)(THIS_ HWND*,HACCEL*) PURE;
-	STDMETHOD(GetCaption)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetClipFactor)(THIS_ long*) PURE;
-	STDMETHOD(GetCurrentMode)(THIS_ long*) PURE;
-	STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE;
-	STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE;
-	STDMETHOD(GetMonitor)(THIS_ long*) PURE;
-	STDMETHOD(HideOnDeactivate)(THIS_ long) PURE;
-	STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
-	STDMETHOD(IsKeepPixelAspectRatio)(THIS_ long*) PURE;
-	STDMETHOD(IsModeAvailable)(THIS_ long) PURE;
-	STDMETHOD(IsModeEnabled)(THIS_ long) PURE;
-	STDMETHOD(KeepPixelAspectRatio)(THIS_ long) PURE;
-	STDMETHOD(SetAcceleratorTable)(THIS_ HWND,HACCEL) PURE;
-	STDMETHOD(SetCaption)(THIS_ BSTR) PURE;
-	STDMETHOD(SetClipFactor)(THIS_ long) PURE;
-	STDMETHOD(SetDefault)(THIS) PURE;
-	STDMETHOD(SetEnabled)(THIS_ long,long) PURE;
-	STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE;
-	STDMETHOD(SetMonitor)(THIS_ long) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/assert.h
===================================================================
--- Daodan/MinGW/include/assert.h	(revision 1046)
+++ 	(revision )
@@ -1,51 +1,0 @@
-/*
- * assert.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Define the assert macro for debug output.
- *
- */
-
-/* We should be able to include this file multiple times to allow the assert
-   macro to be enabled/disabled for different parts of code.  So don't add a
-   header guard.  */
-
-#ifndef RC_INVOKED
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#undef assert
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-#ifdef NDEBUG
-/*
- * If not debugging, assert does nothing.
- */
-#define assert(x)	((void)0)
-
-#else /* debugging enabled */
-
-/*
- * CRTDLL nicely supplies a function which does the actual output and
- * call to abort.
- */
-_CRTIMP void __cdecl __MINGW_NOTHROW _assert (const char*, const char*, int) __MINGW_ATTRIB_NORETURN;
-
-/*
- * Definition of the assert macro.
- */
-#define assert(e)       ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__))
-
-#endif	/* NDEBUG */
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
Index: Daodan/MinGW/include/audevcod.h
===================================================================
--- Daodan/MinGW/include/audevcod.h	(revision 1046)
+++ 	(revision )
@@ -1,31 +1,0 @@
-#ifndef _AUDEVCOD_H
-#define _AUDEVCOD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _tagSND_DEVICE_ERROR {
-	SNDDEV_ERROR_Open = 1,
-	SNDDEV_ERROR_Close = 2,
-	SNDDEV_ERROR_GetCaps = 3,
-	SNDDEV_ERROR_PrepareHeader = 4,
-	SNDDEV_ERROR_UnprepareHeader = 5,
-	SNDDEV_ERROR_Reset = 6,
-	SNDDEV_ERROR_Restart = 7,
-	SNDDEV_ERROR_GetPosition = 8,
-	SNDDEV_ERROR_Write = 9,
-	SNDDEV_ERROR_Pause = 10,
-	SNDDEV_ERROR_Stop = 11,
-	SNDDEV_ERROR_Start = 12,
-	SNDDEV_ERROR_AddBuffer = 13,
-	SNDDEV_ERROR_Query = 14
-} SNDDEV_ERR;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/aviriff.h
===================================================================
--- Daodan/MinGW/include/aviriff.h	(revision 1046)
+++ 	(revision )
@@ -1,87 +1,0 @@
-#ifndef _AVIRIFF_H
-#define _AVIRIFF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef _MMSYSTEM_H
-#include <mmsystem.h>
-#endif
-#ifndef _WINGDI_H
-#include <wingdi.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct _avimainheader {
-	FOURCC fcc;
-	DWORD cb;
-	DWORD dwMicroSecPerFrame;
-	DWORD dwMaxBytesPerSec;
-	DWORD dwPaddingGranularity;
-	DWORD dwFlags;
-	DWORD dwTotalFrames;
-	DWORD dwInitialFrames;
-	DWORD dwStreams;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwReserved[4];
-} AVIMAINHEADER;
-#define AVIF_COPYRIGHTED 0x00020000
-#define AVIF_HASINDEX 0x00000010
-#define AVIF_ISINTERLEAVED 0x00000100
-#define AVIF_MUSTUSEINDEX 0x00000020
-#define AVIF_WASCAPTUREFILE 0x00010000
-typedef struct _avioldindex {
-	FOURCC fcc;
-	DWORD cb;
-	struct _avioldindex_entry {
-		DWORD dwChunkId;
-		DWORD dwFlags;
-		DWORD dwOffset;
-		DWORD dwSize;
-	} aIndex[];
-} AVIOLDINDEX;
-#define AVIIF_LIST 0x00000001
-#define AVIIF_KEYFRAME 0x00000010
-#define AVIIF_NO_TIME 0x00000100
-typedef struct {
-	BYTE bFirstEntry;
-	BYTE bNumEntries;
-	WORD wFlags;
-	PALETTEENTRY peNew[];
-} AVIPALCHANGE;
-typedef struct _avistreamheader {
-	FOURCC fcc;
-	DWORD cb;
-	FOURCC fccType;
-	FOURCC fccHandler;
-	DWORD dwFlags;
-	WORD wPriority;
-	WORD wLanguage;
-	DWORD dwInitialFrames;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwStart;
-	DWORD dwLength;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwQuality;
-	DWORD dwSampleSize;
-	struct {
-		short int left;
-		short int top;
-		short int right;
-		short int bottom;
-	} rcFrame;
-} AVISTREAMHEADER;
-#define AVISF_DISABLED 0x00000001
-#define AVISF_VIDEO_PALCHANGES 0x00010000
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/aygshell.h
===================================================================
--- Daodan/MinGW/include/aygshell.h	(revision 1046)
+++ 	(revision )
@@ -1,49 +1,0 @@
-#ifndef _AYGSHELL_H
-#define _AYGSHELL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if _WIN32_WCE >= 400
-
-#include <windef.h>             /* shellapi needs this */
-#include <basetyps.h>
-#include <shellapi.h>           /* for WINSHELLAPI */
-
-typedef struct tagSHMENUBARINFO {
-  DWORD cbSize;
-  HWND hwndParent;
-  DWORD dwFlags;
-  UINT nToolBarId;
-  HINSTANCE hInstRes;
-  int nBmpId;
-  int cBmpImages;
-  HWND hwndMB;
-  COLORREF clrBk;
-} SHMENUBARINFO, *PSHMENUBARINFO;
-
-typedef struct tagSHACTIVATEINFO {
-  DWORD cbSize;
-  HWND hwndLastFocus;
-  UINT fSipUp :1;
-  UINT fSipOnDeactivation :1;
-  UINT fActive :1;
-  UINT fReserved :29;
-} SHACTIVATEINFO, *PSHACTIVATEINFO;
-
-WINSHELLAPI BOOL WINAPI SHCreateMenuBar(SHMENUBARINFO*);
-WINSHELLAPI HWND WINAPI SHFindMenuBar(HWND);
-WINSHELLAPI HRESULT WINAPI SHCreateNewItem(HWND,REFCLSID);
-WINSHELLAPI BOOL WINAPI SHFullScreen(HWND,DWORD);
-WINSHELLAPI BOOL WINAPI SHSipInfo(UINT,UINT,PVOID,UINT);
-/* next exported by ordinal only: @84 */
-WINSHELLAPI BOOL WINAPI SHHandleWMActivate(HWND,WPARAM,LPARAM,SHACTIVATEINFO*,DWORD);
-/* next exported by ordinal only: @83 */
-WINSHELLAPI BOOL WINAPI SHHandleWMSettingChange(HWND,WPARAM,LPARAM,SHACTIVATEINFO*);
-
-/* The following are not in device ROMs. */
-extern BOOL SHInvokeContextMenuCommand(HWND,UINT,HANDLE);
-
-#endif /* _WIN32_WCE >= 400 */
-
-#endif
Index: Daodan/MinGW/include/basetsd.h
===================================================================
--- Daodan/MinGW/include/basetsd.h	(revision 1046)
+++ 	(revision )
@@ -1,123 +1,0 @@
-#ifndef _BASETSD_H
-#define _BASETSD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __GNUC__
-#ifndef __int64
-#define __int64 long long
-#endif
-#endif
-
-#if defined(_WIN64)
-#define __int3264   __int64
-#define ADDRESS_TAG_BIT 0x40000000000UI64
-#else /*  !_WIN64 */
-#define __int3264   __int32
-#define ADDRESS_TAG_BIT 0x80000000UL
-#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
-#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
-#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h))
-#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
-#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
-#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
-#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
-#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
-#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
-#define IntToPtr( i )    ((VOID*)(INT_PTR)((int)i))
-#define UIntToPtr( ui )  ((VOID*)(UINT_PTR)((unsigned int)ui))
-#define LongToPtr( l )   ((VOID*)(LONG_PTR)((long)l))
-#define ULongToPtr( ul )  ((VOID*)(ULONG_PTR)((unsigned long)ul))
-#endif /* !_WIN64 */
-
-#define UlongToPtr(ul) ULongToPtr(ul)
-#define UintToPtr(ui) UIntToPtr(ui)
-#define MAXUINT_PTR  (~((UINT_PTR)0))
-#define MAXINT_PTR   ((INT_PTR)(MAXUINT_PTR >> 1))
-#define MININT_PTR   (~MAXINT_PTR)
-#define MAXULONG_PTR (~((ULONG_PTR)0))
-#define MAXLONG_PTR  ((LONG_PTR)(MAXULONG_PTR >> 1))
-#define MINLONG_PTR  (~MAXLONG_PTR)
-#define MAXUHALF_PTR ((UHALF_PTR)~0)
-#define MAXHALF_PTR  ((HALF_PTR)(MAXUHALF_PTR >> 1))
-#define MINHALF_PTR  (~MAXHALF_PTR)
-
-#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef signed char INT8;
-typedef signed short INT16;
-typedef int LONG32, *PLONG32;
-#ifndef XFree86Server
-typedef int INT32, *PINT32;
-#endif /* ndef XFree86Server */
-typedef unsigned char UINT8;
-typedef unsigned short UINT16;
-typedef unsigned int ULONG32, *PULONG32;
-typedef unsigned int DWORD32, *PDWORD32;
-typedef unsigned int UINT32, *PUINT32;
-
-#if defined(_WIN64)
-typedef __int64 INT_PTR, *PINT_PTR;
-typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
-typedef __int64 LONG_PTR, *PLONG_PTR;
-typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
-typedef unsigned __int64 HANDLE_PTR;
-typedef unsigned int UHALF_PTR, *PUHALF_PTR;
-typedef int HALF_PTR, *PHALF_PTR;
-
-#if 0 /* TODO when WIN64 is here */
-inline unsigned long HandleToUlong(const void* h )
-    { return((unsigned long) h ); }
-inline long HandleToLong( const void* h )
-    { return((long) h ); }
-inline void* LongToHandle( const long h )
-    { return((void*) (INT_PTR) h ); }
-inline unsigned long PtrToUlong( const void* p)
-    { return((unsigned long) p ); }
-inline unsigned int PtrToUint( const void* p )
-    { return((unsigned int) p ); }
-inline unsigned short PtrToUshort( const void* p )
-    { return((unsigned short) p ); }
-inline long PtrToLong( const void* p )
-    { return((long) p ); }
-inline int PtrToInt( const void* p )
-    { return((int) p ); }
-inline short PtrToShort( const void* p )
-    { return((short) p ); }
-inline void* IntToPtr( const int i )
-    { return( (void*)(INT_PTR)i ); }
-inline void* UIntToPtr(const unsigned int ui)
-    { return( (void*)(UINT_PTR)ui ); }
-inline void* LongToPtr( const long l )
-    { return( (void*)(LONG_PTR)l ); }
-inline void* ULongToPtr( const unsigned long ul )
-    { return( (void*)(ULONG_PTR)ul ); }
-#endif /* 0_ */
-
-#else /*  !_WIN64 */
-typedef  int INT_PTR, *PINT_PTR;
-typedef  unsigned int UINT_PTR, *PUINT_PTR;
-typedef  long LONG_PTR, *PLONG_PTR;
-typedef  unsigned long ULONG_PTR, *PULONG_PTR;
-typedef unsigned short UHALF_PTR, *PUHALF_PTR;
-typedef short HALF_PTR, *PHALF_PTR;
-typedef unsigned long HANDLE_PTR;
-#endif /* !_WIN64 */
-
-typedef ULONG_PTR SIZE_T, *PSIZE_T;
-typedef LONG_PTR SSIZE_T, *PSSIZE_T;
-typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
-typedef __int64 LONG64, *PLONG64;
-typedef __int64 INT64,  *PINT64;
-typedef unsigned __int64 ULONG64, *PULONG64;
-typedef unsigned __int64 DWORD64, *PDWORD64;
-typedef unsigned __int64 UINT64,  *PUINT64;
-#ifdef __cplusplus
-}
-#endif
-#endif /* !RC_INVOKED */
-
-#endif /* _BASETSD_H */
Index: Daodan/MinGW/include/basetyps.h
===================================================================
--- Daodan/MinGW/include/basetyps.h	(revision 1046)
+++ 	(revision )
@@ -1,182 +1,0 @@
-#ifndef _BASETYPS_H
-#define _BASETYPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef _OBJC_NO_COM_
-# ifdef __cplusplus
-#  define EXTERN_C extern "C"
-# else
-#  define EXTERN_C extern
-# endif  /* __cplusplus */
-# ifndef __int64
-#  define __int64 long long
-# endif
-# ifndef __int32
-#  define __int32 long
-# endif
-# ifndef __int16
-#  define __int16 short
-# endif
-# ifndef __int8
-#  define __int8 char
-# endif
-# ifndef __small
-#  define __small char
-# endif
-# ifndef __hyper
-#  define __hyper long long
-# endif
-# define STDMETHODCALLTYPE	__stdcall
-# define STDMETHODVCALLTYPE	__cdecl
-# define STDAPICALLTYPE	__stdcall
-# define STDAPIVCALLTYPE	__cdecl
-# define STDAPI	EXTERN_C HRESULT STDAPICALLTYPE
-# define STDAPI_(t)	EXTERN_C t STDAPICALLTYPE
-# define STDMETHODIMP	HRESULT STDMETHODCALLTYPE
-# define STDMETHODIMP_(t)	t STDMETHODCALLTYPE
-# define STDAPIV	EXTERN_C HRESULT STDAPIVCALLTYPE
-# define STDAPIV_(t)	EXTERN_C t STDAPIVCALLTYPE
-# define STDMETHODIMPV	HRESULT STDMETHODVCALLTYPE
-# define STDMETHODIMPV_(t)	t STDMETHODVCALLTYPE
-/* Newer MS compilers support the __interface keyword, but
-   that has a specific meaning that is enforced by the compiler.
-   For now, just get 'interface' out of the global namespace
-   for __OBJC__ */
-# define _COM_interface	struct
-# ifndef __OBJC__
-#  define interface	_COM_interface
-# endif
-# if defined(__cplusplus) && !defined(CINTERFACE)
-#  define STDMETHOD(m)	virtual HRESULT STDMETHODCALLTYPE m
-#  define STDMETHOD_(t,m)	virtual t STDMETHODCALLTYPE m
-#  define PURE	=0
-#  define THIS_
-#  define THIS	void
-/*
-  __attribute__((com_interface)) is obsolete in __GNUC__ >= 3
-  g++ vtables are now COM-compatible by default
-*/
-#  if defined(__GNUC__) &&  __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
-#   define DECLARE_INTERFACE(i) _COM_interface __attribute__((com_interface)) i
-#   define DECLARE_INTERFACE_(i,b) _COM_interface __attribute__((com_interface)) i : public b
-#  else
-#   define DECLARE_INTERFACE(i) _COM_interface i
-#   define DECLARE_INTERFACE_(i,b) _COM_interface i : public b
-#  endif
-# else
-#  define STDMETHOD(m)	HRESULT(STDMETHODCALLTYPE *m)
-#  define STDMETHOD_(t,m)	t(STDMETHODCALLTYPE *m)
-#  define PURE
-#  define THIS_	INTERFACE *,
-#  define THIS	INTERFACE *
-#  ifndef CONST_VTABLE
-#   define CONST_VTABLE
-#  endif
-#  define DECLARE_INTERFACE(i) \
-   typedef _COM_interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
-   typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
-   CONST_VTABLE struct i##Vtbl
-#  define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
-# endif
-# define BEGIN_INTERFACE
-# define END_INTERFACE
-
-# define FWD_DECL(i) typedef _COM_interface i i
-# if defined(__cplusplus) && !defined(CINTERFACE)
-#  define IENUM_THIS(T)
-#  define IENUM_THIS_(T)
-# else
-#  define IENUM_THIS(T) T*
-#  define IENUM_THIS_(T) T*,
-# endif
-# define DECLARE_ENUMERATOR_(I,T) \
-         DECLARE_INTERFACE_(I,IUnknown) \
-         { \
-	  STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \
-	  STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \
-	  STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \
-	  STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \
-	  STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \
-	  STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \
-	  STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
-         }
-# define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
-
-#endif /* _OBJC_NO_COM_ */
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED) /* also defined in winnt.h */
-#define GUID_DEFINED
-typedef struct _GUID
-{
-    unsigned long Data1;
-    unsigned short Data2;
-    unsigned short Data3;
-    unsigned char Data4[8];
-} GUID,*REFGUID,*LPGUID;
-#endif /* GUID_DEFINED */
-#ifndef UUID_DEFINED
-#define UUID_DEFINED
-typedef GUID UUID;
-#endif /* UUID_DEFINED */
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-typedef GUID IID;
-#endif /* __IID_DEFINED__ */
-typedef GUID CLSID;
-typedef CLSID *LPCLSID;
-typedef IID *LPIID;
-typedef IID *REFIID;
-typedef CLSID *REFCLSID;
-typedef GUID FMTID;
-typedef FMTID *REFFMTID;
-typedef unsigned long error_status_t;
-#define uuid_t UUID
-typedef unsigned long PROPID;
-
-#ifndef _REFGUID_DEFINED
-#if defined (__cplusplus) && !defined (CINTERFACE)
-#define REFGUID const GUID&
-#define REFIID const IID&
-#define REFCLSID const CLSID&
-#define REFFMTID const FMTID&
-#else
-#define REFGUID const GUID* const
-#define REFIID const IID* const
-#define REFCLSID const CLSID* const
-#define REFFMTID const FMTID* const
-#endif
-#define _REFGUID_DEFINED
-#define _REFIID_DEFINED
-#define _REFCLSID_DEFINED
-#define _REFFMTID_DEFINED
-#endif
-#ifndef GUID_SECTION
-#define GUID_SECTION ".text"
-#endif
-/* Explicit naming of .text section for readonly data is only
-   needed for older GGC (pre-2.95).
-   More recent (3.4) GCC puts readonly data in .rdata.  */
-#if defined (__GNUC__) && (__GNUC__ <= 2 && __GNUC_MINOR__ < 95)
-#define GUID_SECT __attribute__ ((section (GUID_SECTION)))
-#else
-#define GUID_SECT
-#endif
-#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus))
-#define GUID_EXT EXTERN_C
-#else
-#define GUID_EXT
-#endif
-#ifdef INITGUID
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#else
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#endif
-#endif
Index: Daodan/MinGW/include/bdatypes.h
===================================================================
--- Daodan/MinGW/include/bdatypes.h	(revision 1046)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#ifndef _BDATYPES_H
-#define _BDATYPES_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum {
-	MEDIA_TRANSPORT_PACKET,
-	MEDIA_ELEMENTARY_STREAM,
-	MEDIA_MPEG2_PSI,
-	MEDIA_TRANSPORT_PAYLOAD
-} MEDIA_SAMPLE_CONTENT;
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct {
-	DWORD dwOffset;
-	DWORD dwPacketLength;
-	DWORD dwStride;
-} MPEG2_TRANSPORT_STRIDE;
-typedef struct {
-	ULONG ulPID;
-	MEDIA_SAMPLE_CONTENT MediaSampleContent ;
-} PID_MAP;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/cderr.h
===================================================================
--- Daodan/MinGW/include/cderr.h	(revision 1046)
+++ 	(revision )
@@ -1,44 +1,0 @@
-#ifndef _CDERR_H
-#define _CDERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define CDERR_DIALOGFAILURE	0xFFFF
-#define CDERR_GENERALCODES	0x0000
-#define CDERR_STRUCTSIZE	0x0001
-#define CDERR_INITIALIZATION	0x0002
-#define CDERR_NOTEMPLATE	0x0003
-#define CDERR_NOHINSTANCE	0x0004
-#define CDERR_LOADSTRFAILURE	0x0005
-#define CDERR_FINDRESFAILURE	0x0006
-#define CDERR_LOADRESFAILURE	0x0007
-#define CDERR_LOCKRESFAILURE	0x0008
-#define CDERR_MEMALLOCFAILURE	0x0009
-#define CDERR_MEMLOCKFAILURE	0x000A
-#define CDERR_NOHOOK	0x000B
-#define CDERR_REGISTERMSGFAIL	0x000C
-#define PDERR_PRINTERCODES	0x1000
-#define PDERR_SETUPFAILURE	0x1001
-#define PDERR_PARSEFAILURE	0x1002
-#define PDERR_RETDEFFAILURE	0x1003
-#define PDERR_LOADDRVFAILURE	0x1004
-#define PDERR_GETDEVMODEFAIL	0x1005
-#define PDERR_INITFAILURE	0x1006
-#define PDERR_NODEVICES	0x1007
-#define PDERR_NODEFAULTPRN	0x1008
-#define PDERR_DNDMMISMATCH	0x1009
-#define PDERR_CREATEICFAILURE	0x100A
-#define PDERR_PRINTERNOTFOUND	0x100B
-#define PDERR_DEFAULTDIFFERENT	0x100C
-#define CFERR_CHOOSEFONTCODES	0x2000
-#define CFERR_NOFONTS	0x2001
-#define CFERR_MAXLESSTHANMIN	0x2002
-#define FNERR_FILENAMECODES	0x3000
-#define FNERR_SUBCLASSFAILURE	0x3001
-#define FNERR_INVALIDFILENAME	0x3002
-#define FNERR_BUFFERTOOSMALL	0x3003
-#define FRERR_FINDREPLACECODES	0x4000
-#define FRERR_BUFFERLENGTHZERO	0x4001
-#define CCERR_CHOOSECOLORCODES	0x5000
-#endif
Index: Daodan/MinGW/include/cguid.h
===================================================================
--- Daodan/MinGW/include/cguid.h	(revision 1046)
+++ 	(revision )
@@ -1,83 +1,0 @@
-#ifndef _CGUID_H
-#define _CGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const IID GUID_NULL;
-extern const IID IID_IRpcChannel;
-extern const IID IID_IRpcStub;
-extern const IID IID_IStubManager;
-extern const IID IID_IRpcProxy;
-extern const IID IID_IProxyManager;
-extern const IID IID_IPSFactory;
-extern const IID IID_IInternalMoniker;
-extern const IID IID_IDfReserved1;
-extern const IID IID_IDfReserved2;
-extern const IID IID_IDfReserved3;
-extern const CLSID CLSID_StdMarshal;
-extern const IID IID_IStub;
-extern const IID IID_IProxy;
-extern const IID IID_IEnumGeneric;
-extern const IID IID_IEnumHolder;
-extern const IID IID_IEnumCallback;
-extern const IID IID_IOleManager;
-extern const IID IID_IOlePresObj;
-extern const IID IID_IDebug;
-extern const IID IID_IDebugStream;
-extern const CLSID CLSID_PSGenObject;
-extern const CLSID CLSID_PSClientSite;
-extern const CLSID CLSID_PSClassObject;
-extern const CLSID CLSID_PSInPlaceActive;
-extern const CLSID CLSID_PSInPlaceFrame;
-extern const CLSID CLSID_PSDragDrop;
-extern const CLSID CLSID_PSBindCtx;
-extern const CLSID CLSID_PSEnumerators;
-extern const CLSID CLSID_StaticMetafile;
-extern const CLSID CLSID_StaticDib;
-extern const CLSID CID_CDfsVolume;
-extern const CLSID CLSID_CCDFormKrnl;
-extern const CLSID CLSID_CCDPropertyPage;
-extern const CLSID CLSID_CCDFormDialog;
-extern const CLSID CLSID_CCDCommandButton;
-extern const CLSID CLSID_CCDComboBox;
-extern const CLSID CLSID_CCDTextBox;
-extern const CLSID CLSID_CCDCheckBox;
-extern const CLSID CLSID_CCDLabel;
-extern const CLSID CLSID_CCDOptionButton;
-extern const CLSID CLSID_CCDListBox;
-extern const CLSID CLSID_CCDScrollBar;
-extern const CLSID CLSID_CCDGroupBox;
-extern const CLSID CLSID_CCDGeneralPropertyPage;
-extern const CLSID CLSID_CCDGenericPropertyPage;
-extern const CLSID CLSID_CCDFontPropertyPage;
-extern const CLSID CLSID_CCDColorPropertyPage;
-extern const CLSID CLSID_CCDLabelPropertyPage;
-extern const CLSID CLSID_CCDCheckBoxPropertyPage;
-extern const CLSID CLSID_CCDTextBoxPropertyPage;
-extern const CLSID CLSID_CCDOptionButtonPropertyPage;
-extern const CLSID CLSID_CCDListBoxPropertyPage;
-extern const CLSID CLSID_CCDCommandButtonPropertyPage;
-extern const CLSID CLSID_CCDComboBoxPropertyPage;
-extern const CLSID CLSID_CCDScrollBarPropertyPage;
-extern const CLSID CLSID_CCDGroupBoxPropertyPage;
-extern const CLSID CLSID_CCDXObjectPropertyPage;
-extern const CLSID CLSID_CStdPropertyFrame;
-extern const CLSID CLSID_CFormPropertyPage;
-extern const CLSID CLSID_CGridPropertyPage;
-extern const CLSID CLSID_CWSJArticlePage;
-extern const CLSID CLSID_CSystemPage;
-extern const CLSID CLSID_IdentityUnmarshal;
-extern const CLSID CLSID_InProcFreeMarshaler;
-extern const CLSID CLSID_Picture_Metafile;
-extern const CLSID CLSID_Picture_EnhMetafile;
-extern const CLSID CLSID_Picture_Dib;
-extern const CLSID CLSID_StdGlobalInterfaceTable;
-extern const GUID GUID_TRISTATE;
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/cmnquery.h
===================================================================
--- Daodan/MinGW/include/cmnquery.h	(revision 1046)
+++ 	(revision )
@@ -1,81 +1,0 @@
-/*
- * cmnquery.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _CMNQUERY_H
-#define _CMNQUERY_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	CLSID clsid;
-	HICON hIcon;
-	LPWSTR pszTitle;
-} CQFORM,*LPCQFORM;
-#define CQFF_NOGLOBALPAGES 0x00000001
-#define CQFF_ISOPTIONAL 0x00000002
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	LPCQPAGEPROC pPageProc;
-	HINSTANCE hInstance;
-	INT idPageName;
-	INT idPageTemplate;
-	DLGPROC pDlgProc;
-	LPARAM lParam;
-} CQPAGE,*LPCQPAGE;
-/*********
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	CLSID clsidHandler;
-	LPVOID pHandlerParameters;
-	CLSID clsidDefaultForm;
-	IPersistQuery* pPersistQuery;
-	union {
-		void* pFormParameters;
-		IPropertyBag* ppbFormParameters;
-	};
-} OPENQUERYWINDOW,*LPOPENQUERYWINDOW;
-*********/
-#define OQWF_OKCANCEL 0x00000001
-#define OQWF_DEFAULTFORM 0x00000002
-#define OQWF_SINGLESELECT 0x00000004
-#define OQWF_LOADQUERY 0x00000008
-#define OQWF_REMOVESCOPES 0x00000010
-#define OQWF_REMOVEFORMS 0x00000020
-#define OQWF_ISSUEONOPEN 0x00000040
-#define OQWF_SHOWOPTIONAL 0x00000080
-#define OQWF_SAVEQUERYONOK 0x00000200
-#define OQWF_HIDEMENUS 0x00000400
-#define OQWF_HIDESEARCHUI 0x00000800
-#define OQWF_PARAMISPROPERTYBAG 0x80000000
-/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions */
-typedef HRESULT (CALLBACK* CQAddFormsProc)(LPARAM,LPCQFORM);
-typedef HRESULT (CALLBACK* CQAddPagesProc)(LPARAM,REFCLSID,LPCQPAGE);
-typedef HRESULT (CALLBACK* CQPageProc)(LPCQPAGE,HWND,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/comcat.h
===================================================================
--- Daodan/MinGW/include/comcat.h	(revision 1046)
+++ 	(revision )
@@ -1,175 +1,0 @@
-#ifndef _COMCAT_H
-#define _COMCAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifndef _RC_INVOKED
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-EXTERN_C const IID IID_IEnumGUID;
-typedef _COM_interface IEnumGUID *LPENUMGUID;
-
-#define INTERFACE IEnumGUID
-DECLARE_INTERFACE_(IEnumGUID,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,GUID*,ULONG*) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ LPENUMGUID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumGUID_AddRef(p)             (p)->lpVtbl->AddRef(p)
-#define IEnumGUID_Release(p)            (p)->lpVtbl->Release(p)
-#define IEnumGUID_Next(p,a,b,c)         (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumGUID_Skip(p,a)             (p)->lpVtbl->Skip(p,a)
-#define IEnumGUID_Reset(p)              (p)->lpVtbl->Reset(p)
-#define IEnumGUID_Clone(p,a)            (p)->lpVtbl->Clone(p,a)
-#endif
-
-typedef GUID CATID;
-typedef REFGUID REFCATID;
-#define CATID_NULL GUID_NULL
-#define IsEqualCATID(a, b) IsEqualGUID(a, b)
-
-typedef struct tagCATEGORYINFO {
-    CATID   catid;		/* category identifier for component */
-    LCID    lcid;		/* locale identifier */
-    OLECHAR szDescription[128];	/* description of the category */
-} CATEGORYINFO, *LPCATEGORYINFO;
-
-EXTERN_C const CATID CATID_Insertable;
-EXTERN_C const CATID CATID_Control;
-EXTERN_C const CATID CATID_Programmable;
-EXTERN_C const CATID CATID_IsShortcut;
-EXTERN_C const CATID CATID_NeverShowExt;
-EXTERN_C const CATID CATID_DocObject;
-EXTERN_C const CATID CATID_Printable;
-EXTERN_C const CATID CATID_RequiresDataPathHost;
-EXTERN_C const CATID CATID_PersistsToMoniker;
-EXTERN_C const CATID CATID_PersistsToStorage;
-EXTERN_C const CATID CATID_PersistsToStreamInit;
-EXTERN_C const CATID CATID_PersistsToStream;
-EXTERN_C const CATID CATID_PersistsToMemory;
-EXTERN_C const CATID CATID_PersistsToFile;
-EXTERN_C const CATID CATID_PersistsToPropertyBag;
-EXTERN_C const CATID CATID_InternetAware;
-EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
-
-#define IEnumCATID IEnumGUID
-#define LPENUMCATID LPENUMGUID
-#define IID_IEnumCATID IID_IEnumGUID
-
-#define IEnumCLSID IEnumGUID
-#define LPENUMCLSID LPENUMGUID
-#define IID_IEnumCLSID IID_IEnumGUID
-
-EXTERN_C const IID IID_ICatInformation;
-typedef _COM_interface ICatInformation *LPCATINFORMATION;
-
-EXTERN_C const IID IID_ICatRegister;
-typedef _COM_interface ICatRegister *LPCATREGISTER;
-
-EXTERN_C const IID IID_IEnumCATEGORYINFO;
-typedef _COM_interface IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
-
-EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
-
-#define INTERFACE ICatInformation
-DECLARE_INTERFACE_(ICatInformation,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(EnumCategories)(THIS_ LCID,LPENUMCATEGORYINFO*) PURE;
-	STDMETHOD(GetCategoryDesc)(THIS_ REFCATID,LCID,PWCHAR*) PURE;
-	STDMETHOD(EnumClassesOfCategories)(THIS_ ULONG,CATID*,ULONG,CATID*,LPENUMCLSID*) PURE;
-	STDMETHOD(IsClassOfCategories)(THIS_ REFCLSID,ULONG,CATID*,ULONG,CATID*) PURE;
-	STDMETHOD(EnumImplCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
-	STDMETHOD(EnumReqCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ICatInformation_AddRef(p)             (p)->lpVtbl->AddRef(p)
-#define ICatInformation_Release(p)            (p)->lpVtbl->Release(p)
-#define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
-#define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
-#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
-#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
-#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
-#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
-#endif
-
-#define INTERFACE ICatRegister
-DECLARE_INTERFACE_(ICatRegister,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(RegisterCategories)(THIS_ ULONG,CATEGORYINFO*) PURE;
-	STDMETHOD(UnRegisterCategories)(THIS_ ULONG,CATID*) PURE;
-	STDMETHOD(RegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
-	STDMETHOD(UnRegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
-	STDMETHOD(RegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
-	STDMETHOD(UnRegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ICatRegister_AddRef(p)             (p)->lpVtbl->AddRef(p)
-#define ICatRegister_Release(p)            (p)->lpVtbl->Release(p)
-#define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
-#define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
-#define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
-#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
-#define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
-#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IEnumCATEGORYINFO;
-#define INTERFACE IEnumCATEGORYINFO
-DECLARE_INTERFACE_(IEnumCATEGORYINFO,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,CATEGORYINFO*,ULONG*) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ LPENUMCATEGORYINFO*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumCATEGORYINFO_AddRef(p)             (p)->lpVtbl->AddRef(p)
-#define IEnumCATEGORYINFO_Release(p)            (p)->lpVtbl->Release(p)
-#define IEnumCATEGORYINFO_Next(p,a,b,c)         (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumCATEGORYINFO_Skip(p,a)             (p)->lpVtbl->Skip(p,a)
-#define IEnumCATEGORYINFO_Reset(p)              (p)->lpVtbl->Reset(p)
-#define IEnumCATEGORYINFO_Clone(p,a)            (p)->lpVtbl->Clone(p,a)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RC_INVOKED */
-#endif
Index: Daodan/MinGW/include/commctrl.h
===================================================================
--- Daodan/MinGW/include/commctrl.h	(revision 1046)
+++ 	(revision )
@@ -1,3768 +1,0 @@
-#ifndef _COMMCTRL_H
-#define _COMMCTRL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <prsht.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef _WIN32_IE
-/* define _WIN32_IE if you really want it */
-#if 0
-#define _WIN32_IE	0x0300
-#endif
-#endif
-
-#ifndef COMMCTRLAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define COMMCTRLAPI DECLSPEC_IMPORT
-#else
-#define COMMCTRLAPI
-#endif
-#endif
-
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
-#define HOTKEY_CLASSA	"msctls_hotkey32"
-#define HOTKEY_CLASSW	L"msctls_hotkey32"
-#define PROGRESS_CLASSA	"msctls_progress32"
-#define PROGRESS_CLASSW	L"msctls_progress32"
-#define STATUSCLASSNAMEA	"msctls_statusbar32"
-#define STATUSCLASSNAMEW	L"msctls_statusbar32"
-#define TOOLBARCLASSNAMEA	"ToolbarWindow32"
-#define TOOLBARCLASSNAMEW	L"ToolbarWindow32"
-#define TOOLTIPS_CLASSA	"tooltips_class32"
-#define TOOLTIPS_CLASSW	L"tooltips_class32"
-#define TRACKBAR_CLASSA	"msctls_trackbar32"
-#define TRACKBAR_CLASSW	L"msctls_trackbar32"
-#define UPDOWN_CLASSA	"msctls_updown32"
-#define UPDOWN_CLASSW	L"msctls_updown32"
-#define ANIMATE_CLASSA	"SysAnimate32"
-#define ANIMATE_CLASSW	L"SysAnimate32"
-#define DATETIMEPICK_CLASSW L"SysDateTimePick32"
-#define DATETIMEPICK_CLASSA "SysDateTimePick32"
-#define MONTHCAL_CLASSW L"SysMonthCal32"
-#define MONTHCAL_CLASSA "SysMonthCal32"
-#define REBARCLASSNAMEW L"ReBarWindow32"
-#define REBARCLASSNAMEA "ReBarWindow32"
-#define WC_COMBOBOXEXW	L"ComboBoxEx32"
-#define WC_COMBOBOXEXA	"ComboBoxEx32"
-#define WC_IPADDRESSW	L"SysIPAddress32"
-#define WC_IPADDRESSA	"SysIPAddress32"
-#define WC_LISTVIEWA	"SysListView32"
-#define WC_LISTVIEWW	L"SysListView32"
-#define WC_TABCONTROLA	"SysTabControl32"
-#define WC_TABCONTROLW	L"SysTabControl32"
-#define WC_TREEVIEWA	"SysTreeView32"
-#define WC_TREEVIEWW	L"SysTreeView32"
-#define WC_HEADERA	"SysHeader32"
-#define WC_HEADERW 	L"SysHeader32"
-#define WC_PAGESCROLLERW	L"SysPager"
-#define WC_PAGESCROLLERA	"SysPager"
-#define WC_NATIVEFONTCTLW	L"NativeFontCtl"
-#define WC_NATIVEFONTCTLA	"NativeFontCtl"
-#define WC_BUTTONA	"Button"
-#define WC_BUTTONW	L"Button"
-#define WC_STATICA	"Static"
-#define WC_STATICW	L"Static"
-#define WC_EDITA	"Edit"
-#define WC_EDITW	L"Edit"
-#define WC_LISTBOXA	"ListBox"
-#define WC_LISTBOXW	L"ListBox"
-#define WC_COMBOBOXA	"ComboBox"
-#define WC_COMBOBOXW	L"ComboBox"
-#define WC_SCROLLBARA	"ScrollBar"
-#define WC_SCROLLBARW	L"ScrollBar"
-#define WC_LINKA	"SysLink"
-#define WC_LINKW	L"SysLink"
-
-#ifdef UNICODE
-#define HOTKEY_CLASS HOTKEY_CLASSW
-#define PROGRESS_CLASS PROGRESS_CLASSW
-#define STATUSCLASSNAME STATUSCLASSNAMEW
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSW
-#define TRACKBAR_CLASS TRACKBAR_CLASSW
-#define UPDOWN_CLASS UPDOWN_CLASSW
-#define ANIMATE_CLASS ANIMATE_CLASSW
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
-#define MONTHCAL_CLASS MONTHCAL_CLASSW
-#define REBARCLASSNAME REBARCLASSNAMEW
-#define WC_COMBOBOXEX WC_COMBOBOXEXW
-#define WC_HEADER WC_HEADERW
-#define WC_IPADDRESS WC_IPADDRESSW
-#define WC_LISTVIEW WC_LISTVIEWW
-#define WC_TABCONTROL WC_TABCONTROLW
-#define WC_TREEVIEW WC_TREEVIEWW
-#define WC_PAGESCROLLER WC_PAGESCROLLERW
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLW
-#define WC_BUTTON WC_BUTTONW
-#define WC_STATIC WC_STATICW
-#define WC_EDIT WC_EDITW
-#define WC_LISTBOX WC_LISTBOXW
-#define WC_COMBOBOX WC_COMBOBOXW
-#define WC_SCROLLBAR WC_SCROLLBARW
-#define WC_LINK WC_LINKW
-#else
-#define ANIMATE_CLASS ANIMATE_CLASSA
-#define HOTKEY_CLASS HOTKEY_CLASSA
-#define PROGRESS_CLASS PROGRESS_CLASSA
-#define STATUSCLASSNAME STATUSCLASSNAMEA
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSA
-#define TRACKBAR_CLASS TRACKBAR_CLASSA
-#define UPDOWN_CLASS UPDOWN_CLASSA
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
-#define MONTHCAL_CLASS MONTHCAL_CLASSA
-#define REBARCLASSNAME REBARCLASSNAMEA
-#define WC_COMBOBOXEX WC_COMBOBOXEXA
-#define WC_HEADER WC_HEADERA
-#define WC_IPADDRESS WC_IPADDRESSA
-#define WC_LISTVIEW WC_LISTVIEWA
-#define WC_TABCONTROL WC_TABCONTROLA
-#define WC_TREEVIEW WC_TREEVIEWA
-#define WC_PAGESCROLLER WC_PAGESCROLLERA
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLA
-#define WC_BUTTON WC_BUTTONA
-#define WC_STATIC WC_STATICA
-#define WC_EDIT WC_EDITA
-#define WC_LISTBOX WC_LISTBOXA
-#define WC_COMBOBOX WC_COMBOBOXA
-#define WC_SCROLLBAR WC_SCROLLBARA
-#define WC_LINK WC_LINKA
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-#if (_WIN32_WINNT >= 0x0501)
-#define COMCTL32_VERSION 6
-#else
-#define COMCTL32_VERSION 5
-#endif
-#endif
-
-#define LVM_FIRST 0x1000
-#define TV_FIRST 0x1100
-#define HDM_FIRST 0x1200
-#define ACM_OPENA	(WM_USER+100)
-#define ACM_PLAY	(WM_USER+101)
-#define ACM_STOP	(WM_USER+102)
-#define ACM_OPENW	(WM_USER+103)
-#define ACN_START	1
-#define ACN_STOP	2
-#define CBEIF_TEXT	0x00000001
-#define CBEIF_IMAGE	0x00000002
-#define CBEIF_SELECTEDIMAGE	0x00000004
-#define CBEIF_OVERLAY	0x00000008
-#define CBEIF_INDENT	0x00000010
-#define CBEIF_LPARAM	0x00000020
-#define CBEIF_DI_SETITEM	0x10000000
-#define CBEN_INSERTITEM	(CBEN_FIRST - 1)
-#define CBEN_DELETEITEM	(CBEN_FIRST - 2)
-#define CBEN_BEGINEDIT	(CBEN_FIRST - 4)
-#define CBEN_ENDEDITA	(CBEN_FIRST - 5)
-#define CBEN_ENDEDITW	(CBEN_FIRST - 6)
-#define CBENF_KILLFOCUS	1
-#define CBENF_RETURN	2
-#define CBENF_ESCAPE	3
-#define CBENF_DROPDOWN	4
-#define CBEMAXSTRLEN 260
-#define DL_BEGINDRAG	1157
-#define DL_CANCELDRAG	1160
-#define DL_DRAGGING	1158
-#define DL_DROPPED	1159
-#define DL_CURSORSET	0
-#define DL_STOPCURSOR	1
-#define DL_COPYCURSOR	2
-#define DL_MOVECURSOR	3
-#define CCS_TOP	1
-#define CCS_NOMOVEY	2
-#define CCS_BOTTOM	3
-#define CCS_NORESIZE	4
-#define CCS_NOPARENTALIGN	8
-#define CCS_ADJUSTABLE	32
-#define CCS_NODIVIDER	64
-#if (_WIN32_IE >= 0x0300)
-#define CCS_VERT 128
-#define CCS_LEFT 129
-#define CCS_NOMOVEX 130
-#define CCS_RIGHT 131
-#endif
-#define ACS_CENTER	0x0001
-#define ACS_TRANSPARENT	0x0002
-#define ACS_AUTOPLAY	0x0004
-#define ACS_TIMER	0x0008
-#define PGS_VERT	0x00000000
-#define PGS_HORZ	0x00000001
-#define PGS_AUTOSCROLL	0x00000002
-#define PGS_DRAGNDROP	0x00000004
-#define CMB_MASKED	2
-#define MINSYSCOMMAND	SC_SIZE
-#define SBT_OWNERDRAW	0x1000
-#define SBT_NOBORDERS	256
-#define SBT_POPOUT	512
-#define SBT_RTLREADING	1024
-#define SB_SETTEXTA	(WM_USER+1)
-#define SB_SETTEXTW	(WM_USER+11)
-#define SB_GETTEXTA	(WM_USER+2)
-#define SB_GETTEXTW	(WM_USER+13)
-#define SB_GETTEXTLENGTHA	(WM_USER+3)
-#define SB_GETTEXTLENGTHW	(WM_USER+12)
-#define SB_SETPARTS	(WM_USER+4)
-#define SB_GETPARTS	(WM_USER+6)
-#define SB_GETBORDERS	(WM_USER+7)
-#define SB_SETMINHEIGHT	(WM_USER+8)
-#define SB_SIMPLE	(WM_USER+9)
-#define SB_GETRECT	(WM_USER+10)
-#define MSGF_COMMCTRL_BEGINDRAG	0x4200
-#define MSGF_COMMCTRL_SIZEHEADER	0x4201
-#define MSGF_COMMCTRL_DRAGSELECT	0x4202
-#define MSGF_COMMCTRL_TOOLBARCUST	0x4203
-#define ILC_COLOR 0
-#define ILC_COLOR4 4
-#define ILC_COLOR8 8
-#define ILC_COLOR16 16
-#define ILC_COLOR24 24
-#define ILC_COLOR32 32
-#define ILC_COLORDDB 254
-#define ILC_MASK 1
-#define ILC_PALETTE 2048
-#define ILCF_MOVE 0
-#define ILCF_SWAP 1
-#define ILS_NORMAL 0
-#define ILS_GLOW 1
-#define ILS_SHADOW 2
-#define ILS_SATURATE 4
-#define ILS_ALPHA 8
-#define ILD_BLEND25 2
-#define ILD_BLEND50 4
-#define ILD_SELECTED 4
-#define ILD_BLEND 4
-#define ILD_FOCUS 2
-#define ILD_MASK 16
-#define ILD_NORMAL 0
-#define ILD_TRANSPARENT 1
-#define ILD_IMAGE 0x0020
-#define ILD_ROP 0x0040
-#define ILD_OVERLAYMASK 0x0F00
-#define ILD_PRESERVEALPHA 0x1000
-#define ILD_SCALE 0x2000
-#define ILD_DPISCALE 0x4000
-#define HDS_HORZ	0
-#define HDS_BUTTONS	2
-#define HDS_HIDDEN	8
-#if (_WIN32_IE > 0x0300)
-#define HDS_HOTTRACK	4
-#define HDS_DRAGDROP	0x0040
-#define HDS_FULLDRAG	0x0080
-#endif /* _WIN32_IE > 0x0300 */
-#if (_WIN32_IE >= 0x0500)
-#define HDS_FILTERBAR	0x0100
-#endif /* _WIN32_IE >= 0x0500 */
-#define NM_FIRST	0
-#define NM_LAST	((UINT)-99)
-#define LVN_FIRST	((UINT)-100)
-#define LVN_LAST	((UINT)-199)
-#define HDN_FIRST	((UINT)-300)
-#define HDN_LAST	((UINT)-399)
-#define TVN_FIRST	((UINT)-400)
-#define TVN_LAST	((UINT)-499)
-#define TTN_FIRST	((UINT)-520)
-#define TTN_LAST	((UINT)-549)
-#define TCN_FIRST	((UINT)-550)
-#define TCN_LAST	((UINT)-580)
-#ifndef CDN_FIRST
-#define CDN_FIRST	((UINT)-601) /* also in commdlg.h */
-#define CDN_LAST	((UINT)-699)
-#endif
-#define TBN_FIRST	((UINT)-700)
-#define TBN_LAST	((UINT)-720)
-#define UDN_FIRST	((UINT)-721)
-#define UDN_LAST	((UINT)-740)
-#if (_WIN32_IE >= 0x0300)
-#define RBN_FIRST	((UINT)-831)
-#define RBN_LAST	((UINT)-859)
-#define MCN_FIRST	((UINT)-750)
-#define MCN_LAST	((UINT)-759)
-#define DTN_FIRST	((UINT)-760)
-#define DTN_LAST	((UINT)-799)
-#define CBEN_FIRST	((UINT)-800)
-#define CBEN_LAST	((UINT)-830)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define IPN_FIRST	((UINT)-860)
-#define IPN_LAST	((UINT)-879)
-#define IPN_FIELDCHANGED	(IPN_FIRST-0)
-#define SBN_FIRST	((UINT)-880U)
-#define SBN_LAST	((UINT)-899U)
-#define PGN_FIRST	((UINT)-900U)
-#define PGN_LAST	((UINT)-950U)
-#define PGN_SCROLL	(PGN_FIRST-1)
-#define PGN_CALCSIZE	(PGN_FIRST-2)
-#endif /* _WIN32_IE >= 0x0400 */
-#define HDI_WIDTH	1
-#define HDI_HEIGHT	1
-#define HDI_TEXT	2
-#define HDI_FORMAT	4
-#define HDI_LPARAM	8
-#define HDI_BITMAP	16
-#if (_WIN32_IE >= 0x0300)
-#define HDI_IMAGE	32
-#define HDI_DI_SETITEM	64
-#define HDI_ORDER	128
-#endif
-#define CBES_EX_NOEDITIMAGE	0x00000001
-#define CBES_EX_NOEDITIMAGEINDENT	0x00000002
-#define CBES_EX_PATHWORDBREAKPROC	0x00000004
-#if (_WIN32_IE >= 0x0400)
-#define CBES_EX_NOSIZELIMIT	0x00000008
-#define CBES_EX_CASESENSITIVE	0x00000010
-#define CBEN_GETDISPINFOA	(CBEN_FIRST - 0)
-#define CBEN_GETDISPINFOW	(CBEN_FIRST - 7)
-#define CBEN_DRAGBEGINA	(CBEN_FIRST - 8)
-#define CBEN_DRAGBEGINW	(CBEN_FIRST - 9)
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0500)
-#define HDI_FILTER	256
-#endif
-#define HDF_LEFT	0
-#define HDF_RIGHT	1
-#define HDF_CENTER	2
-#define HDF_JUSTIFYMASK	3
-#define HDF_RTLREADING	4
-#define HDF_OWNERDRAW	0x8000
-#define HDF_STRING	0x4000
-#define HDF_BITMAP	0x2000
-#if (_WIN32_IE >= 0x0300)
-#define HDF_BITMAP_ON_RIGHT	0x1000
-#define HDF_IMAGE	0x0800
-#endif
-#define HDM_GETITEMCOUNT	HDM_FIRST
-#define HDM_INSERTITEMA	(HDM_FIRST+1)
-#define HDM_INSERTITEMW	(HDM_FIRST+10)
-#define HDM_DELETEITEM	(HDM_FIRST+2)
-#define HDM_GETITEMA	(HDM_FIRST+3)
-#define HDM_GETITEMW	(HDM_FIRST+11)
-#define HDM_SETITEMA	(HDM_FIRST+4)
-#define HDM_SETITEMW	(HDM_FIRST+12)
-#define HDM_LAYOUT	(HDM_FIRST+5)
-#if (_WIN32_IE >= 0x0300)
-#define HDM_GETITEMRECT (HDM_FIRST+7)
-#define HDM_SETIMAGELIST	(HDM_FIRST+8)
-#define HDM_GETIMAGELIST	(HDM_FIRST+9)
-#define HDM_ORDERTOINDEX	(HDM_FIRST+15)
-#define HDM_CREATEDRAGIMAGE	(HDM_FIRST+16)
-#define HDM_GETORDERARRAY	(HDM_FIRST+17)
-#define HDM_SETORDERARRAY	(HDM_FIRST+18)
-#define HDM_SETHOTDIVIDER	(HDM_FIRST+19)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HDM_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#define HDM_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#endif
-#define HHT_NOWHERE	1
-#define HHT_ONHEADER	2
-#define HHT_ONDIVIDER	4
-#define HHT_ONDIVOPEN	8
-#define HHT_ABOVE	256
-#define HHT_BELOW	512
-#define HHT_TORIGHT	1024
-#define HHT_TOLEFT	2048
-#define HDM_HITTEST	(HDM_FIRST+6)
-#define HDN_ITEMCHANGINGA	(HDN_FIRST-0)
-#define HDN_ITEMCHANGINGW	(HDN_FIRST-20)
-#define HDN_ITEMCHANGEDA	(HDN_FIRST-1)
-#define HDN_ITEMCHANGEDW	(HDN_FIRST-21)
-#define HDN_ITEMCLICKA	(HDN_FIRST-2)
-#define HDN_ITEMCLICKW	(HDN_FIRST-22)
-#define HDN_ITEMDBLCLICKA	(HDN_FIRST-3)
-#define HDN_ITEMDBLCLICKW	(HDN_FIRST-23)
-#define HDN_DIVIDERDBLCLICKA	(HDN_FIRST-5)
-#define HDN_DIVIDERDBLCLICKW	(HDN_FIRST-25)
-#define HDN_BEGINTRACKA	(HDN_FIRST-6)
-#define HDN_BEGINTRACKW	(HDN_FIRST-26)
-#define HDN_ENDTRACKA	(HDN_FIRST-7)
-#define HDN_ENDTRACKW	(HDN_FIRST-27)
-#define HDN_TRACKA	(HDN_FIRST-8)
-#define HDN_TRACKW	(HDN_FIRST-28)
-#if _WIN32_IE >= 0x0300
-#define HDN_ENDDRAG	(HDN_FIRST-11)
-#define HDN_BEGINDRAG	(HDN_FIRST-10)
-#define HDN_GETDISPINFOA (HDN_FIRST-9)
-#define HDN_GETDISPINFOW (HDN_FIRST-29)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HICF_OTHER 0x00
-#define HICF_MOUSE 0x01
-#define HICF_ARROWKEYS 0x02
-#define HICF_ACCELERATOR 0x04
-#define HICF_DUPACCEL 0x08
-#define HICF_ENTERING 0x10
-#define HICF_LEAVING 0x20
-#define HICF_RESELECT 0x40
-#define HICF_LMOUSE 0x80
-#define HICF_TOGGLEDROPDOWN 0x100
-#endif /* _WIN32_IE >= 0x0400 */
-#define IPM_CLEARADDRESS	(WM_USER+100)
-#define IPM_SETADDRESS	(WM_USER+101)
-#define IPM_GETADDRESS	(WM_USER+102)
-#define IPM_SETRANGE	(WM_USER+103)
-#define IPM_SETFOCUS	(WM_USER+104)
-#define IPM_ISBLANK	(WM_USER+105)
-#if (_WIN32_IE >= 0x0500)
-#define I_INDENTCALLBACK (-1)
-#define I_IMAGENONE (-2)
-#endif
-#define CMB_MASKED 2
-#define TBSTATE_CHECKED	1
-#define TBSTATE_PRESSED	2
-#define TBSTATE_ENABLED	4
-#define TBSTATE_HIDDEN	8
-#define TBSTATE_INDETERMINATE	16
-#define TBSTATE_WRAP	32
-#if (_WIN32_IE >= 0x0300)
-#define TBSTATE_ELLIPSES 0x40
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTATE_MARKED	0x0080
-#endif
-#define TBSTYLE_BUTTON	0
-#define TBSTYLE_SEP	1
-#define TBSTYLE_CHECK	2
-#define TBSTYLE_GROUP	4
-#define TBSTYLE_CHECKGROUP	(TBSTYLE_GROUP|TBSTYLE_CHECK)
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_DROPDOWN	8
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_AUTOSIZE	16
-#define TBSTYLE_NOPREFIX	32
-#endif
-#define TBSTYLE_TOOLTIPS	256
-#define TBSTYLE_WRAPABLE	512
-#define TBSTYLE_ALTDRAG	1024
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_FLAT 2048
-#define TBSTYLE_LIST 4096
-#define TBSTYLE_CUSTOMERASE 8192
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_REGISTERDROP	0x4000
-#define TBSTYLE_TRANSPARENT	0x8000
-#define TBSTYLE_EX_DRAWDDARROWS	0x00000001
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0501)
-#define TBSTYLE_EX_MIXEDBUTTONS 8
-#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
-#endif /* _WIN32_IE >= 0x0501 */
-#if (_WIN32_WINNT >= 0x0501)
-#define TBSTYLE_EX_DOUBLEBUFFER	0x80
-#endif /* _WIN32_WINNT >= 0x0501 */
-#if (_WIN32_IE >= 0x0500)
-#define BTNS_BUTTON	TBSTYLE_BUTTON
-#define BTNS_SEP	TBSTYLE_SEP
-#define BTNS_CHECK	TBSTYLE_CHECK
-#define BTNS_GROUP	TBSTYLE_GROUP
-#define BTNS_CHECKGROUP	TBSTYLE_CHECKGROUP
-#define BTNS_DROPDOWN	TBSTYLE_DROPDOWN
-#define BTNS_AUTOSIZE	TBSTYLE_AUTOSIZE
-#define BTNS_NOPREFIX	TBSTYLE_NOPREFIX
-#define BTNS_WHOLEDROPDOWN	0x0080
-#endif  /* _WIN32_IE >= 0x0500 */
-#if _WIN32_IE >= 0x0501
-#define BTNS_SHOWTEXT	0x0040
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBCDRF_NOEDGES	0x10000
-#define TBCDRF_HILITEHOTTRACK	0x20000
-#define TBCDRF_NOOFFSET	0x40000
-#define TBCDRF_NOMARK	0x80000
-#define TBCDRF_NOETCHEDEFFECT	0x100000
-#endif /* _WIN32_IE >= 0x0400 */
-#define HINST_COMMCTRL	((HINSTANCE)-1)
-#define IDB_STD_SMALL_COLOR	0
-#define IDB_STD_LARGE_COLOR	1
-#define IDB_VIEW_SMALL_COLOR	4
-#define IDB_VIEW_LARGE_COLOR	5
-#if (_WIN32_IE >= 0x0300)
-#define IDB_HIST_SMALL_COLOR	8
-#define IDB_HIST_LARGE_COLOR	9
-#endif
-#define STD_CUT	0
-#define STD_COPY	1
-#define STD_PASTE	2
-#define STD_UNDO	3
-#define STD_REDOW	4
-#define STD_DELETE	5
-#define STD_FILENEW	6
-#define STD_FILEOPEN	7
-#define STD_FILESAVE	8
-#define STD_PRINTPRE	9
-#define STD_PROPERTIES	10
-#define STD_HELP	11
-#define STD_FIND	12
-#define STD_REPLACE	13
-#define STD_PRINT	14
-#define VIEW_LARGEICONS	0
-#define VIEW_SMALLICONS	1
-#define VIEW_LIST	2
-#define VIEW_DETAILS	3
-#define VIEW_SORTNAME	4
-#define VIEW_SORTSIZE	5
-#define VIEW_SORTDATE	6
-#define VIEW_SORTTYPE	7
-#define VIEW_PARENTFOLDER	8
-#define VIEW_NETCONNECT	9
-#define VIEW_NETDISCONNECT	10
-#define VIEW_NEWFOLDER	11
-#define TB_ENABLEBUTTON	(WM_USER+1)
-#define TB_CHECKBUTTON	(WM_USER+2)
-#define TB_PRESSBUTTON	(WM_USER+3)
-#define TB_HIDEBUTTON	(WM_USER+4)
-#define TB_INDETERMINATE	(WM_USER+5)
-#if (_WIN32_IE >= 0x0400)
-#define TB_MARKBUTTON           (WM_USER+6)
-#endif
-#define TB_ISBUTTONENABLED	(WM_USER+9)
-#define TB_ISBUTTONCHECKED	(WM_USER+10)
-#define TB_ISBUTTONPRESSED	(WM_USER+11)
-#define TB_ISBUTTONHIDDEN	(WM_USER+12)
-#define TB_ISBUTTONINDETERMINATE	(WM_USER+13)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ISBUTTONHIGHLIGHTED	(WM_USER+14)
-#endif
-#define TB_SETSTATE	(WM_USER+17)
-#define TB_GETSTATE	(WM_USER+18)
-#define TB_ADDBITMAP	(WM_USER+19)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ADDBUTTONSA	(WM_USER+20)
-#define TB_INSERTBUTTONA	(WM_USER+21)
-#else
-#define TB_ADDBUTTONS	(WM_USER+20)
-#define TB_INSERTBUTTON	(WM_USER+21)
-#endif
-#define TB_DELETEBUTTON	(WM_USER+22)
-#define TB_GETBUTTON	(WM_USER+23)
-#define TB_BUTTONCOUNT	(WM_USER+24)
-#define TB_COMMANDTOINDEX	(WM_USER+25)
-#define TB_SAVERESTOREA	(WM_USER+26)
-#define TB_SAVERESTOREW	(WM_USER+76)
-#define TB_CUSTOMIZE	(WM_USER+27)
-#define TB_ADDSTRINGA	(WM_USER+28)
-#define TB_ADDSTRINGW	(WM_USER+77)
-#define TB_GETITEMRECT	(WM_USER+29)
-#define TB_BUTTONSTRUCTSIZE	(WM_USER+30)
-#define TB_SETBUTTONSIZE	(WM_USER+31)
-#define TB_SETBITMAPSIZE	(WM_USER+32)
-#define TB_AUTOSIZE	(WM_USER+33)
-#define TB_GETTOOLTIPS	(WM_USER+35)
-#define TB_SETTOOLTIPS	(WM_USER+36)
-#define TB_SETPARENT	(WM_USER+37)
-#define TB_SETROWS	(WM_USER+39)
-#define TB_GETROWS	(WM_USER+40)
-#define TB_GETBITMAPFLAGS	(WM_USER+41)
-#define TB_SETCMDID	(WM_USER+42)
-#define TB_CHANGEBITMAP	(WM_USER+43)
-#define TB_GETBITMAP	(WM_USER+44)
-#define TB_GETBUTTONTEXTA	(WM_USER+45)
-#define TB_GETBUTTONTEXTW	(WM_USER+75)
-#define TB_REPLACEBITMAP	(WM_USER+46)
-#define TB_GETBUTTONSIZE	(WM_USER+58)
-#define TB_SETBUTTONWIDTH	(WM_USER+59)
-#if (_WIN32_IE >= 0x0300)
-#define TB_SETINDENT	(WM_USER+47)
-#define TB_SETIMAGELIST	(WM_USER+48)
-#define TB_GETIMAGELIST	(WM_USER+49)
-#define TB_LOADIMAGES	(WM_USER+50)
-#define TB_GETRECT	(WM_USER+51)
-#define TB_SETHOTIMAGELIST	(WM_USER+52)
-#define TB_GETHOTIMAGELIST	(WM_USER+53)
-#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
-#define TB_GETDISABLEDIMAGELIST	(WM_USER+55)
-#define TB_SETSTYLE	(WM_USER+56)
-#define TB_GETSTYLE	(WM_USER+57)
-#define TB_GETBUTTONSIZE	(WM_USER+58)
-#define TB_SETBUTTONWIDTH	(WM_USER+59)
-#define TB_SETMAXTEXTROWS	(WM_USER+60)
-#define TB_GETTEXTROWS	(WM_USER+61)
-#endif
-#if _WIN32_IE >= 0x400
-#define TB_GETOBJECT	(WM_USER+62)
-#define TB_GETBUTTONINFOW	(WM_USER+63)
-#define TB_SETBUTTONINFOW	(WM_USER+64)
-#define TB_GETBUTTONINFOA	(WM_USER+65)
-#define TB_SETBUTTONINFOA	(WM_USER+66)
-#define TB_INSERTBUTTONW	(WM_USER+67)
-#define TB_ADDBUTTONSW	(WM_USER+68)
-#define TB_HITTEST	(WM_USER+69)
-#define TB_SETEXTENDEDSTYLE	(WM_USER+84)
-#define TB_GETEXTENDEDSTYLE	(WM_USER+85)
-#define TB_SETDRAWTEXTFLAGS	(WM_USER+70)
-#define TB_GETHOTITEM	(WM_USER+71)
-#define TB_SETHOTITEM	(WM_USER+72)
-#define TB_SETANCHORHIGHLIGHT	(WM_USER+73)
-#define TB_GETANCHORHIGHLIGHT	(WM_USER+74)
-#define TB_MAPACCELERATORA	(WM_USER+78)
-#define TB_GETINSERTMARK	(WM_USER+79)
-#define TB_SETINSERTMARK	(WM_USER+80)
-#define TB_INSERTMARKHITTEST	(WM_USER+81)
-#define TB_MOVEBUTTON		(WM_USER+82)
-#define TB_GETMAXSIZE		(WM_USER+83)
-#define TB_SETEXTENDEDSTYLE	(WM_USER+84)
-#define TB_GETEXTENDEDSTYLE	(WM_USER+85)
-#define TB_GETPADDING		(WM_USER+86)
-#define TB_SETPADDING		(WM_USER+87)
-#define TB_SETINSERTMARKCOLOR	(WM_USER+88)
-#define TB_GETINSERTMARKCOLOR	(WM_USER+89)
-#define TB_MAPACCELERATORW	(WM_USER+90)
-#define TB_GETSTRINGW		(WM_USER+91)
-#define TB_GETSTRINGA		(WM_USER+92)
-#define TB_SETCOLORSCHEME	CCM_SETCOLORSCHEME
-#define TB_GETCOLORSCHEME	CCM_GETCOLORSCHEME
-#define TB_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#define TB_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#endif
-#define TBBF_LARGE 1
-#define TBN_GETBUTTONINFOA	(TBN_FIRST-0)
-#define TBN_BEGINDRAG	(TBN_FIRST-1)
-#define TBN_ENDDRAG	(TBN_FIRST-2)
-#define TBN_BEGINADJUST	(TBN_FIRST-3)
-#define TBN_ENDADJUST	(TBN_FIRST-4)
-#define TBN_RESET	(TBN_FIRST-5)
-#define TBN_QUERYINSERT	(TBN_FIRST-6)
-#define TBN_QUERYDELETE	(TBN_FIRST-7)
-#define TBN_TOOLBARCHANGE	(TBN_FIRST-8)
-#define TBN_CUSTHELP	(TBN_FIRST-9)
-#if (_WIN32_IE >= 0x0300)
-#define TBN_DROPDOWN	(TBN_FIRST-10)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBN_HOTITEMCHANGE	(TBN_FIRST-13)
-#define TBN_DRAGOUT	(TBN_FIRST-14)
-#define TBN_DELETINGBUTTON	(TBN_FIRST-15)
-#define TBN_GETDISPINFOA	(TBN_FIRST-16)
-#define TBN_GETDISPINFOW	(TBN_FIRST-17)
-#define TBN_GETINFOTIPA	(TBN_FIRST-18)
-#define TBN_GETINFOTIPW	(TBN_FIRST-19)
-#define TBN_GETBUTTONINFOW	(TBN_FIRST-20)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBN_RESTORE	(TBN_FIRST-21)
-#define TBN_SAVE	(TBN_FIRST-22)
-#define TBN_INITCUSTOMIZE	(TBN_FIRST-23)
-#define TBNRF_HIDEHELP	1
-#define TBNRF_ENDCUSTOMIZE	2
-#define TBNF_IMAGE	1
-#define TBNF_TEXT	2
-#define TBNF_DI_SETITEM	0x10000000
-#endif /* _WIN32_IE >= 0x0500 */
-#define TTS_ALWAYSTIP	1
-#define TTS_NOPREFIX	2
-#if( _WIN32_IE >= 0x0500 )
-#define TTS_NOANIMATE	0x10
-#define TTS_NOFADE	0x20
-#define TTS_BALLOON	0x40
-#define TTS_CLOSE	0x80
-#endif /* _WIN32_IE >= 0x0500 */
-#define TTF_IDISHWND	1
-#define TTF_CENTERTIP	2
-#define TTF_RTLREADING	4
-#define TTF_SUBCLASS	16
-#if (_WIN32_IE >= 0x0300)
-#define TTF_TRACK 0x0020
-#define TTF_ABSOLUTE 0x0080
-#define TTF_TRANSPARENT 0x0100
-#if (_WIN32_IE >= 0x0501)
-#define TTF_PARSELINKS 0x1000
-#endif
-#define TTF_DI_SETITEM 0x8000
-#define TBCD_TICS 1
-#define TBCD_THUMB 2
-#define TBCD_CHANNEL 3
-#endif /* _WIN32_IE >= 0x0300 */
-#if (_WIN32_IE >= 0x0400)
-#define TBDDRET_DEFAULT 0
-#define TBDDRET_NODEFAULT 1
-#define TBDDRET_TREATPRESSED 2
-#define TBIMHT_AFTER 1
-#define TBIMHT_BACKGROUND 2
-#endif
-#define TTDT_AUTOMATIC	0
-#define TTDT_RESHOW	1
-#define TTDT_AUTOPOP	2
-#define TTDT_INITIAL	3
-#define TTM_ACTIVATE	(WM_USER+1)
-#define TTM_SETDELAYTIME	(WM_USER+3)
-#define TTM_ADDTOOLA	(WM_USER+4)
-#define TTM_ADDTOOLW	(WM_USER+50)
-#define TTM_DELTOOLA	(WM_USER+5)
-#define TTM_DELTOOLW	(WM_USER+51)
-#define TTM_NEWTOOLRECTA	(WM_USER+6)
-#define TTM_NEWTOOLRECTW	(WM_USER+52)
-#define TTM_RELAYEVENT	(WM_USER+7)
-#define TTM_GETTOOLINFOA	(WM_USER+8)
-#define TTM_GETTOOLINFOW	(WM_USER+53)
-#define TTM_SETTOOLINFOA	(WM_USER+9)
-#define TTM_SETTOOLINFOW	(WM_USER+54)
-#define TTM_HITTESTA	(WM_USER+10)
-#define TTM_HITTESTW	(WM_USER+55)
-#define TTM_GETTEXTA	(WM_USER+11)
-#define TTM_GETTEXTW	(WM_USER+56)
-#define TTM_UPDATETIPTEXTA	(WM_USER+12)
-#define TTM_UPDATETIPTEXTW	(WM_USER+57)
-#define TTM_GETTOOLCOUNT	(WM_USER+13)
-#define TTM_ENUMTOOLSA	(WM_USER+14)
-#define TTM_ENUMTOOLSW	(WM_USER+58)
-#define TTM_GETCURRENTTOOLA	(WM_USER+15)
-#define TTM_GETCURRENTTOOLW	(WM_USER+59)
-#define TTM_WINDOWFROMPOINT	(WM_USER+16)
-#if (_WIN32_IE >= 0x0300)
-#define TTM_TRACKACTIVATE	  (WM_USER+17)
-#define TTM_TRACKPOSITION	  (WM_USER+18)
-#define TTM_SETTIPBKCOLOR	  (WM_USER+19)
-#define TTM_SETTIPTEXTCOLOR	(WM_USER+20)
-#define TTM_GETDELAYTIME	   (WM_USER+21)
-#define TTM_GETTIPBKCOLOR	  (WM_USER+22)
-#define TTM_GETTIPTEXTCOLOR	(WM_USER+23)
-#define TTM_SETMAXTIPWIDTH	 (WM_USER+24)
-#define TTM_GETMAXTIPWIDTH	 (WM_USER+25)
-#define TTM_SETMARGIN		 (WM_USER+26)
-#define TTM_GETMARGIN		 (WM_USER+27)
-#define TTM_POP			  (WM_USER+28)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)			/* IE4.0 ??? */
-#define TTM_UPDATE		    (WM_USER+29)
-#define TTM_GETBUBBLESIZE	(WM_USER+30)
-#define TTM_ADJUSTRECT	(WM_USER+31)
-#define TTM_SETTITLEA	(WM_USER+32)
-#define TTM_SETTITLEW	(WM_USER+33)
-#endif
-#define TTN_GETDISPINFOA    (TTN_FIRST - 0)
-#define TTN_GETDISPINFOW    (TTN_FIRST - 10)
-#define TTN_NEEDTEXTA	TTN_GETDISPINFOA
-#define TTN_NEEDTEXTW	TTN_GETDISPINFOW
-#define TTN_SHOW	(TTN_FIRST-1)
-#define TTN_POP	(TTN_FIRST-2)
-#define UD_MAXVAL	0x7fff
-#define UD_MINVAL	(-UD_MAXVAL)
-#define UDN_DELTAPOS (UDN_FIRST-1)
-#define UDS_WRAP	1
-#define UDS_SETBUDDYINT	2
-#define UDS_ALIGNRIGHT	4
-#define UDS_ALIGNLEFT	8
-#define UDS_AUTOBUDDY	16
-#define UDS_ARROWKEYS	32
-#define UDS_HORZ	64
-#define UDS_NOTHOUSANDS	128
-#if ( _WIN32_IE >= 0x0300 )
-#define UDS_HOTTRACK	0x0100
-#endif /* _WIN32_IE >= 0x0300 */
-#define UDM_SETRANGE	(WM_USER+101)
-#define UDM_GETRANGE	(WM_USER+102)
-#define UDM_SETPOS	(WM_USER+103)
-#define UDM_GETPOS	(WM_USER+104)
-#define UDM_SETBUDDY	(WM_USER+105)
-#define UDM_GETBUDDY	(WM_USER+106)
-#define UDM_SETACCEL	(WM_USER+107)
-#define UDM_GETACCEL	(WM_USER+108)
-#define UDM_SETBASE	(WM_USER+109)
-#define UDM_GETBASE	(WM_USER+110)
-#if (_WIN32_IE >= 0x0400)
-#define UDM_SETRANGE32	(WM_USER+111)
-#define UDM_GETRANGE32	(WM_USER+112)
-#define UDM_SETPOS32	(WM_USER+113)
-#define UDM_GETPOS32	(WM_USER+114)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define UDM_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#define UDM_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#endif
-#define SB_SETTEXTA	(WM_USER+1)
-#define SB_SETTEXTW	(WM_USER+11)
-#define SB_GETTEXTA	(WM_USER+2)
-#define SB_GETTEXTW	(WM_USER+13)
-#define SB_GETTEXTLENGTHA	(WM_USER+3)
-#define SB_GETTEXTLENGTHW	(WM_USER+12)
-#define SB_SETPARTS	(WM_USER+4)
-#define SB_GETPARTS	(WM_USER+6)
-#define SB_GETBORDERS	(WM_USER+7)
-#define SB_SETMINHEIGHT	(WM_USER+8)
-#define SB_SIMPLE	(WM_USER+9)
-#define SB_GETRECT	(WM_USER+10)
-#define SBT_OWNERDRAW	0x1000
-#define SBT_NOBORDERS	256
-#define SBT_POPOUT	512
-#define SBT_RTLREADING	1024
-#if( _WIN32_IE >= 0x0400 )
-#define SBT_TOOLTIPS	0x0800
-#define SBN_SIMPLEMODECHANGE	(SBN_FIRST)
-#endif /* _WIN32_IE >= 0x0400 */
-#define TBS_AUTOTICKS	1
-#define TBS_VERT	2
-#define TBS_HORZ	0
-#define TBS_TOP	4
-#define TBS_BOTTOM	0
-#define TBS_LEFT	4
-#define TBS_RIGHT	0
-#define TBS_BOTH	8
-#define TBS_NOTICKS	16
-#define TBS_ENABLESELRANGE	32
-#define TBS_FIXEDLENGTH	64
-#define TBS_NOTHUMB	128
-#if (_WIN32_IE >= 0x0300)
-#define TBS_TOOLTIPS 0x0100
-#define TBTS_TOP 0
-#define TBTS_LEFT 1
-#define TBTS_BOTTOM 2
-#define TBTS_RIGHT 3
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBS_REVERSED 0x0200
-#endif
-#if (_WIN32_IE >= 0x0501)
-#define TBS_DOWNISLEFT 0x0400
-#endif
-#if _WIN32_IE >= 0x400
-#define TBIF_BYINDEX 0x80000000
-#define TBIF_COMMAND 32
-#define TBIF_IMAGE 1
-#define TBIF_LPARAM 16
-#define TBIF_SIZE 64
-#define TBIF_STATE 4
-#define TBIF_STYLE 8
-#define TBIF_TEXT 2
-#endif
-#define TBM_GETPOS	(WM_USER)
-#define TBM_GETRANGEMIN	(WM_USER+1)
-#define TBM_GETRANGEMAX	(WM_USER+2)
-#define TBM_GETTIC	(WM_USER+3)
-#define TBM_SETTIC	(WM_USER+4)
-#define TBM_SETPOS	(WM_USER+5)
-#define TBM_SETRANGE	(WM_USER+6)
-#define TBM_SETRANGEMIN	(WM_USER+7)
-#define TBM_SETRANGEMAX	(WM_USER+8)
-#define TBM_CLEARTICS	(WM_USER+9)
-#define TBM_SETSEL	(WM_USER+10)
-#define TBM_SETSELSTART	(WM_USER+11)
-#define TBM_SETSELEND	(WM_USER+12)
-#define TBM_GETPTICS	(WM_USER+14)
-#define TBM_GETTICPOS	(WM_USER+15)
-#define TBM_GETNUMTICS	(WM_USER+16)
-#define TBM_GETSELSTART	(WM_USER+17)
-#define TBM_GETSELEND	(WM_USER+18)
-#define TBM_CLEARSEL	(WM_USER+19)
-#define TBM_SETTICFREQ	(WM_USER+20)
-#define TBM_SETPAGESIZE	(WM_USER+21)
-#define TBM_GETPAGESIZE	(WM_USER+22)
-#define TBM_SETLINESIZE	(WM_USER+23)
-#define TBM_GETLINESIZE	(WM_USER+24)
-#define TBM_GETTHUMBRECT	(WM_USER+25)
-#define TBM_GETCHANNELRECT	(WM_USER+26)
-#define TBM_SETTHUMBLENGTH	(WM_USER+27)
-#define TBM_GETTHUMBLENGTH	(WM_USER+28)
-#define TBM_SETTOOLTIPS	(WM_USER+29)
-#define TBM_GETTOOLTIPS	(WM_USER+30)
-#define TBM_SETTIPSIDE	(WM_USER+31)
-#define TBM_SETBUDDY	(WM_USER+32)
-#define TBM_GETBUDDY	(WM_USER+33)
-#define TBM_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#define TBM_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#define TB_LINEUP	0
-#define TB_LINEDOWN	1
-#define TB_PAGEUP	2
-#define TB_PAGEDOWN	3
-#define TB_THUMBPOSITION	4
-#define TB_THUMBTRACK	5
-#define TB_TOP	6
-#define TB_BOTTOM	7
-#define TB_ENDTRACK	8
-#define HOTKEYF_SHIFT	1
-#define HOTKEYF_CONTROL	2
-#define HOTKEYF_ALT	4
-#define HOTKEYF_EXT	8
-#define HKCOMB_NONE	1
-#define HKCOMB_S	2
-#define HKCOMB_C	4
-#define HKCOMB_A	8
-#define HKCOMB_SC	16
-#define HKCOMB_SA	32
-#define HKCOMB_CA	64
-#define HKCOMB_SCA	128
-#define HKM_SETHOTKEY	(WM_USER+1)
-#define HKM_GETHOTKEY	(WM_USER+2)
-#define HKM_SETRULES	(WM_USER+3)
-#define PBM_SETRANGE	(WM_USER+1)
-#define PBM_SETPOS	(WM_USER+2)
-#define PBM_DELTAPOS	(WM_USER+3)
-#define PBM_SETSTEP	(WM_USER+4)
-#define PBM_STEPIT	(WM_USER+5)
-#define PBM_SETRANGE32	1030
-#define PBM_GETRANGE	1031
-#define PBM_GETPOS	1032
-#define PBM_SETBARCOLOR	1033
-#define PBM_SETBKCOLOR	CCM_SETBKCOLOR
-#define PBS_SMOOTH	1
-#define PBS_VERTICAL	4
-#define LVS_ICON	0
-#define LVS_REPORT	1
-#define LVS_SMALLICON	2
-#define LVS_LIST	3
-#define LVS_TYPEMASK	3
-#define LVS_SINGLESEL	4
-#define LVS_SHOWSELALWAYS	8
-#define LVS_SORTASCENDING	16
-#define LVS_SORTDESCENDING	32
-#define LVS_SHAREIMAGELISTS	64
-#define LVS_NOLABELWRAP	128
-#define LVS_AUTOARRANGE	256
-#define LVS_EDITLABELS	512
-#define LVS_NOSCROLL	0x2000
-#define LVS_TYPESTYLEMASK	0xfc00
-#define LVS_ALIGNTOP	0
-#define LVS_ALIGNLEFT	0x800
-#define LVS_ALIGNMASK	0xc00
-#define LVS_OWNERDRAWFIXED	0x400
-#define LVS_NOCOLUMNHEADER	0x4000
-#define LVS_NOSORTHEADER	0x8000
-#if (_WIN32_IE >= 0x0300)
-#define CDIS_CHECKED 8
-#define CDIS_DEFAULT 32
-#define CDIS_DISABLED 4
-#define CDIS_FOCUS 16
-#define CDIS_GRAYED 2
-#define CDIS_HOT 64
-#define CDIS_SELECTED 1
-#define CDIS_MARKED 128
-#define CDIS_INDETERMINATE 256
-#if (_WIN32_WINNT >= 0x0501)
-#define CDIS_SHOWKEYBOARDCUES 512
-#endif
-#define CDDS_POSTERASE 4
-#define CDDS_POSTPAINT 2
-#define CDDS_PREERASE 3
-#define CDDS_PREPAINT 1
-#define CDDS_ITEM 65536
-#define CDDS_ITEMPOSTERASE 65540
-#define CDDS_ITEMPOSTPAINT 65538
-#define CDDS_ITEMPREERASE 65539
-#define CDDS_ITEMPREPAINT 65537
-#if (_WIN32_IE >= 0x0400)
-#define CDDS_SUBITEM 0x20000
-#endif
-#define CDRF_DODEFAULT 0x00
-#define CDRF_NOTIFYITEMDRAW 0x20
-#define CDRF_NOTIFYSUBITEMDRAW 0x20
-#define CDRF_NOTIFYITEMERASE 0x80
-#define CDRF_NOTIFYPOSTERASE 0x40
-#define CDRF_NOTIFYPOSTPAINT 0x10
-#define CDRF_NEWFONT 0x02
-#define CDRF_SKIPDEFAULT 0x04
-#if (_WIN32_IE >= 0x0400)
-#define LVBKIF_SOURCE_NONE      0x00000000
-#define LVBKIF_SOURCE_HBITMAP   0x00000001
-#define LVBKIF_SOURCE_URL       0x00000002
-#define LVBKIF_SOURCE_MASK      0x00000003
-#define LVBKIF_STYLE_NORMAL     0x00000000
-#define LVBKIF_STYLE_TILE       0x00000010
-#define LVBKIF_STYLE_MASK       0x00000010
-#endif /* _WIN32_IE >=0x0400 */
-#if (_WIN32_WINNT >= 0x501)
-#define LVBKIF_FLAG_TILEOFFSET  0x00000100
-#define LVBKIF_TYPE_WATERMARK   0x10000000
-#endif /* _WIN32_WINNT >= 0x501 */
-#define LVS_OWNERDATA 4096
-#define LVS_EX_CHECKBOXES 4
-#define LVS_EX_FULLROWSELECT 32
-#define LVS_EX_GRIDLINES 1
-#define LVS_EX_HEADERDRAGDROP 16
-#define LVS_EX_ONECLICKACTIVATE 64
-#define LVS_EX_SUBITEMIMAGES 2
-#define LVS_EX_TRACKSELECT 8
-#define LVS_EX_TWOCLICKACTIVATE 128
-#define LVSICF_NOINVALIDATEALL	0x00000001
-#define LVSICF_NOSCROLL	0x00000002
-#if( _WIN32_IE >= 0x0400 )
-#define LVS_EX_FLATSB	0x00000100
-#define LVS_EX_REGIONAL	0x00000200
-#define LVS_EX_INFOTIP	0x00000400
-#define LVS_EX_UNDERLINEHOT	0x00000800
-#define LVS_EX_UNDERLINECOLD	0x00001000
-#define LVS_EX_MULTIWORKAREAS	0x00002000
-#endif /* _WIN32_IE >=0x0400 */
-#if( _WIN32_IE >= 0x0500 )
-#define LVS_EX_LABELTIP	0x00004000
-#define LVS_EX_BORDERSELECT	0x00008000
-#endif  /* _WIN32_IE >= 0x0500 */
-#endif  /* _WIN32_IE >= 0x0300 */
-#define LVSIL_NORMAL	0
-#define LVSIL_SMALL	1
-#define LVSIL_STATE	2
-#define LVM_GETBKCOLOR	LVM_FIRST
-#define LVM_SETBKCOLOR	(LVM_FIRST+1)
-#define LVM_GETIMAGELIST	(LVM_FIRST+2)
-#define LVM_SETIMAGELIST	(LVM_FIRST+3)
-#define LVM_GETITEMCOUNT	(LVM_FIRST+4)
-#define LVM_SORTITEMSEX		(LVM_FIRST+81)
-#if (_WIN32_WINNT >= 0x501)
-#define LVM_SETSELECTEDCOLUMN	(LVM_FIRST+140)
-#endif
-#define LVM_SETVIEW		(LVM_FIRST+142)
-#define LVM_GETVIEW		(LVM_FIRST+143)
-#define LVM_INSERTGROUP		(LVM_FIRST+145)
-#define LVM_SETGROUPINFO	(LVM_FIRST+147)
-#define LVM_GETGROUPINFO	(LVM_FIRST+149)
-#define LVM_REMOVEGROUP		(LVM_FIRST+150)
-#define LVM_MOVEGROUP		(LVM_FIRST+151)
-#define LVM_SETGROUPMETRICS	(LVM_FIRST+155)
-#define LVM_GETGROUPMETRICS	(LVM_FIRST+156)
-#define LVM_ENABLEGROUPVIEW	(LVM_FIRST+157)
-#define LVM_SORTGROUPS		(LVM_FIRST+158)
-#define LVM_INSERTGROUPSORTED	(LVM_FIRST+159)
-#define LVM_REMOVEALLGROUPS	(LVM_FIRST+160)
-#define LVM_HASGROUP		(LVM_FIRST+161)
-#define LVM_SETTILEVIEWINFO	(LVM_FIRST+162)
-#define LVM_GETTILEVIEWINFO	(LVM_FIRST+163)
-#define LVM_SETTILEINFO		(LVM_FIRST+164)
-#define LVM_GETTILEINFO		(LVM_FIRST+165)
-#define LVM_SETINSERTMARK	(LVM_FIRST+166)
-#define LVM_GETINSERTMARK	(LVM_FIRST+167)
-#define LVM_INSERTMARKHITTEST	(LVM_FIRST+168)
-#define LVM_GETINSERTMARKRECT	(LVM_FIRST+169)
-#define LVM_SETINSERTMARKCOLOR	(LVM_FIRST+170)
-#define LVM_GETINSERTMARKCOLOR	(LVM_FIRST+171)
-#define LVM_SETINFOTIP		(LVM_FIRST+173)
-#define LVM_GETSELECTEDCOLUMN	(LVM_FIRST+174)
-#define LVM_ISGROUPVIEWENABLED	(LVM_FIRST+175)
-#define LVM_GETOUTLINECOLOR	(LVM_FIRST+176)
-#define LVM_SETOUTLINECOLOR	(LVM_FIRST+177)
-#define LVM_CANCELEDITLABEL	(LVM_FIRST+179)
-#define LVM_MAPIDTOINDEX	(LVM_FIRST+181)
-#define LVIF_TEXT	1
-#define LVIF_IMAGE	2
-#define LVIF_PARAM	4
-#define LVIF_STATE	8
-#if (_WIN32_IE >= 0x0300)
-#define LVIF_INDENT 16
-#define LVIF_NORECOMPUTE 2048
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define LVIF_GROUPID 256
-#define LVIF_COLUMNS 512
-#endif
-#define LVIS_FOCUSED	1
-#define LVIS_SELECTED	2
-#define LVIS_CUT	4
-#define LVIS_DROPHILITED	8
-#define LVIS_OVERLAYMASK	0xF00
-#define LVIS_STATEIMAGEMASK	0xF000
-#define LPSTR_TEXTCALLBACKW	((LPWSTR)-1)
-#define LPSTR_TEXTCALLBACKA	((LPSTR)-1)
-#define I_IMAGECALLBACK	(-1)
-#define LVM_GETITEMA	(LVM_FIRST+5)
-#define LVM_GETITEMW	(LVM_FIRST+75)
-#define LVM_SETITEMA	(LVM_FIRST+6)
-#define LVM_SETITEMW	(LVM_FIRST+76)
-#define LVM_INSERTITEMA	(LVM_FIRST+7)
-#define LVM_INSERTITEMW	(LVM_FIRST+77)
-#define LVM_DELETEITEM	(LVM_FIRST+8)
-#define LVM_DELETEALLITEMS	(LVM_FIRST+9)
-#define LVM_GETCALLBACKMASK	(LVM_FIRST+10)
-#define LVM_SETCALLBACKMASK	(LVM_FIRST+11)
-#if( _WIN32_IE >= 0x0400 )
-#define LVM_SETBKIMAGEA	(LVM_FIRST + 68)
-#define LVM_SETBKIMAGEW	(LVM_FIRST + 138)
-#define LVM_GETBKIMAGEA	(LVM_FIRST + 69)
-#define LVM_GETBKIMAGEW	(LVM_FIRST + 139)
-#define LV_MAX_WORKAREAS	16
-#define LVM_SETWORKAREAS	(LVM_FIRST+65)
-#define LVM_GETWORKAREAS	(LVM_FIRST+70)
-#define LVM_GETNUMBEROFWORKAREAS	(LVM_FIRST+73)
-#define LVM_GETSELECTIONMARK	(LVM_FIRST+66)
-#define LVM_SETSELECTIONMARK	(LVM_FIRST+67)
-#define LVM_SETHOVERTIME	(LVM_FIRST+71)
-#define LVM_GETHOVERTIME	(LVM_FIRST+72)
-#define LVM_SETTOOLTIPS	(LVM_FIRST+74)
-#define LVM_GETTOOLTIPS	(LVM_FIRST+78)
-#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
-#define LVNI_ALL	0
-#define LVNI_FOCUSED	1
-#define LVNI_SELECTED	2
-#define LVNI_CUT	4
-#define LVNI_DROPHILITED	8
-#define LVNI_ABOVE	256
-#define LVNI_BELOW	512
-#define LVNI_TOLEFT	1024
-#define LVNI_TORIGHT	2048
-#define LVM_GETNEXTITEM	(LVM_FIRST+12)
-#define LVFI_PARAM	1
-#define LVFI_STRING	2
-#define LVFI_PARTIAL	8
-#define LVFI_WRAP	32
-#define LVFI_NEARESTXY	64
-#define LVIF_DI_SETITEM	0x1000
-#define LVM_FINDITEMA	(LVM_FIRST+13)
-#define LVM_FINDITEMW	(LVM_FIRST+83)
-#define LVIR_BOUNDS	0
-#define LVIR_ICON	1
-#define LVIR_LABEL	2
-#define LVIR_SELECTBOUNDS	3
-#define LVM_GETITEMRECT	(LVM_FIRST+14)
-#define LVM_SETITEMPOSITION	(LVM_FIRST+15)
-#define LVM_GETITEMPOSITION	(LVM_FIRST+16)
-#define LVM_GETSTRINGWIDTHA	(LVM_FIRST+17)
-#define LVM_GETSTRINGWIDTHW	(LVM_FIRST+87)
-#define LVHT_NOWHERE	1
-#define LVHT_ONITEMICON	2
-#define LVHT_ONITEMLABEL	4
-#define LVHT_ONITEMSTATEICON	8
-#define LVHT_ONITEM	(LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON)
-#define LVHT_ABOVE	8
-#define LVHT_BELOW	16
-#define LVHT_TORIGHT	32
-#define LVHT_TOLEFT	64
-#define LVM_HITTEST	(LVM_FIRST+18)
-#define LVM_ENSUREVISIBLE	(LVM_FIRST+19)
-#define LVM_SCROLL	(LVM_FIRST+20)
-#define LVM_REDRAWITEMS	(LVM_FIRST+21)
-#define LVA_DEFAULT	0
-#define LVA_ALIGNLEFT	1
-#define LVA_ALIGNTOP	2
-#define LVA_SNAPTOGRID	5
-#define LVM_ARRANGE	(LVM_FIRST+22)
-#define LVM_EDITLABELA	(LVM_FIRST+23)
-#define LVM_EDITLABELW	(LVM_FIRST+118)
-#define LVM_GETEDITCONTROL	(LVM_FIRST+24)
-#define LVCF_FMT	1
-#define LVCF_WIDTH	2
-#define LVCF_TEXT	4
-#define LVCF_SUBITEM	8
-#if (_WIN32_IE >= 0x0300)
-#define LVCF_IMAGE 16
-#define LVCF_ORDER 32
-#endif
-#define LVCFMT_LEFT	0
-#define LVCFMT_RIGHT	1
-#define LVCFMT_CENTER	2
-#define LVCFMT_JUSTIFYMASK	3
-#if (_WIN32_IE >= 0x0300)
-#define LVCFMT_BITMAP_ON_RIGHT 4096
-#define LVCFMT_COL_HAS_IMAGES  32768
-#define LVCFMT_IMAGE 2048
-#endif
-#define LVM_GETCOLUMNA	(LVM_FIRST+25)
-#define LVM_GETCOLUMNW	(LVM_FIRST+95)
-#define LVM_SETCOLUMNA	(LVM_FIRST+26)
-#define LVM_SETCOLUMNW	(LVM_FIRST+96)
-#define LVM_INSERTCOLUMNA	(LVM_FIRST+27)
-#define LVM_INSERTCOLUMNW	(LVM_FIRST+97)
-#define LVM_DELETECOLUMN	(LVM_FIRST+28)
-#define LVM_GETCOLUMNWIDTH	(LVM_FIRST+29)
-#define LVSCW_AUTOSIZE	(-1)
-#define LVSCW_AUTOSIZE_USEHEADER	(-2)
-#define LVM_SETCOLUMNWIDTH	(LVM_FIRST+30)
-#define LVM_CREATEDRAGIMAGE	(LVM_FIRST+33)
-#define LVM_GETVIEWRECT	(LVM_FIRST+34)
-#define LVM_GETTEXTCOLOR	(LVM_FIRST+35)
-#define LVM_SETTEXTCOLOR	(LVM_FIRST+36)
-#define LVM_GETTEXTBKCOLOR	(LVM_FIRST+37)
-#define LVM_SETTEXTBKCOLOR	(LVM_FIRST+38)
-#define LVM_GETTOPINDEX	(LVM_FIRST+39)
-#define LVM_GETCOUNTPERPAGE	(LVM_FIRST+40)
-#define LVM_GETORIGIN	(LVM_FIRST+41)
-#define LVM_GETORIGIN	(LVM_FIRST+41)
-#define LVM_UPDATE	(LVM_FIRST+42)
-#define LVM_SETITEMSTATE	(LVM_FIRST+43)
-#define LVM_GETITEMSTATE	(LVM_FIRST+44)
-#define LVM_GETITEMTEXTA	(LVM_FIRST+45)
-#define LVM_GETITEMTEXTW	(LVM_FIRST+115)
-#define LVM_SETITEMTEXTA	(LVM_FIRST+46)
-#define LVM_SETITEMTEXTW	(LVM_FIRST+116)
-#define LVM_SETITEMCOUNT	(LVM_FIRST+47)
-#define LVM_SORTITEMS	(LVM_FIRST+48)
-#define LVM_SETITEMPOSITION32	(LVM_FIRST+49)
-#define LVM_GETSELECTEDCOUNT	(LVM_FIRST+50)
-#define LVM_GETITEMSPACING	(LVM_FIRST+51)
-#define LVM_GETISEARCHSTRINGA	(LVM_FIRST+52)
-#define LVM_GETISEARCHSTRINGW	(LVM_FIRST+117)
-#if (_WIN32_IE >= 0x0300)
-#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
-#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
-#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
-#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
-#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
-#define LVM_GETHEADER (LVM_FIRST+31)
-#define LVM_GETHOTCURSOR (LVM_FIRST+63)
-#define LVM_GETHOTITEM (LVM_FIRST+61)
-#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
-#define LVM_SETHOTCURSOR (LVM_FIRST+62)
-#define LVM_SETHOTITEM (LVM_FIRST+60)
-#define LVM_SETICONSPACING (LVM_FIRST+53)
-#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
-#endif
-#define LVN_ITEMCHANGING	LVN_FIRST
-#define LVN_ITEMCHANGED	(LVN_FIRST-1)
-#define LVN_INSERTITEM	(LVN_FIRST-2)
-#define LVN_DELETEITEM	(LVN_FIRST-3)
-#define LVN_DELETEALLITEMS	(LVN_FIRST-4)
-#define LVN_BEGINLABELEDITA	(LVN_FIRST-5)
-#define LVN_BEGINLABELEDITW	(LVN_FIRST-75)
-#define LVN_ENDLABELEDITA	(LVN_FIRST-6)
-#define LVN_ENDLABELEDITW	(LVN_FIRST-76)
-#define LVN_COLUMNCLICK	(LVN_FIRST-8)
-#define LVN_BEGINDRAG	(LVN_FIRST-9)
-#define LVN_BEGINRDRAG	(LVN_FIRST-11)
-#define LVN_GETDISPINFOA	(LVN_FIRST-50)
-#define LVN_GETDISPINFOW	(LVN_FIRST-77)
-#define LVN_SETDISPINFOA	(LVN_FIRST-51)
-#define LVN_SETDISPINFOW	(LVN_FIRST-78)
-#define LVN_KEYDOWN	(LVN_FIRST-55)
-#if (_WIN32_IE >= 0x0400)
-#define LVN_MARQUEEBEGIN  (LVN_FIRST-56)
-#define LVN_GETINFOTIPA	(LVN_FIRST-57)
-#define LVN_GETINFOTIPW	(LVN_FIRST-58)
-#define LVKF_ALT	0x0001
-#define LVKF_CONTROL	0x0002
-#define LVKF_SHIFT	0x0004
-#define LVGIT_UNFOLDED  1
-#endif
-#define TVS_HASBUTTONS	1
-#define TVS_HASLINES	2
-#define TVS_LINESATROOT	4
-#define TVS_EDITLABELS	8
-#define TVS_DISABLEDRAGDROP	16
-#define TVS_SHOWSELALWAYS	32
-#if (_WIN32_IE >= 0x0300)
-#define TVS_CHECKBOXES 256
-#define TVS_NOTOOLTIPS 128
-#define TVS_RTLREADING 64
-#define TVS_TRACKSELECT 512
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVS_FULLROWSELECT 4096
-#define TVS_INFOTIP 2048
-#define TVS_NONEVENHEIGHT 16384
-#define TVS_NOSCROLL 8192
-#define TVS_SINGLEEXPAND 1024
-#endif
-#if( _WIN32_IE >= 0x0500 )
-#define TVS_NOHSCROLL	0x8000
-#endif /* _WIN32_IE >= 0x0500 */
-#define TVIF_TEXT	1
-#define TVIF_IMAGE	2
-#define TVIF_PARAM	4
-#define TVIF_STATE	8
-#define TVIF_HANDLE	16
-#define TVIF_SELECTEDIMAGE	32
-#define TVIF_CHILDREN	64
-#if (_WIN32_IE >= 0x0400)
-#define TVIF_INTEGRAL	0x0080
-#endif /* _WIN32_IE >= 0x0400 */
-#define TVIS_FOCUSED	1
-#define TVIS_SELECTED	2
-#define TVIS_CUT	4
-#define TVIS_DROPHILITED	8
-#define TVIS_BOLD	16
-#define TVIS_EXPANDED	32
-#define TVIS_EXPANDEDONCE	64
-#define TVIS_OVERLAYMASK	0xF00
-#define TVIS_STATEIMAGEMASK	0xF000
-#define TVIS_USERMASK	0xF000
-#define I_CHILDRENCALLBACK	(-1)
-#define TVI_ROOT	((HTREEITEM)0xFFFF0000)
-#define TVI_FIRST	((HTREEITEM)0xFFFF0001)
-#define TVI_LAST	((HTREEITEM)0xFFFF0002)
-#define TVI_SORT	((HTREEITEM)0xFFFF0003)
-#define TVSIL_NORMAL	0
-#define TVSIL_STATE	2
-#define TVM_INSERTITEMA	TV_FIRST
-#define TVM_INSERTITEMW	(TV_FIRST+50)
-#define TVM_DELETEITEM	(TV_FIRST+1)
-#define TVM_EXPAND	(TV_FIRST+2)
-#define TVM_GETITEMRECT	(TV_FIRST+4)
-#define TVM_GETCOUNT	(TV_FIRST+5)
-#define TVM_GETINDENT	(TV_FIRST+6)
-#define TVM_SETINDENT	(TV_FIRST+7)
-#define TVM_GETIMAGELIST	(TV_FIRST+8)
-#define TVM_SETIMAGELIST	(TV_FIRST+9)
-#define TVM_GETNEXTITEM	(TV_FIRST+10)
-#define TVM_SELECTITEM	(TV_FIRST+11)
-#define TVM_GETITEMA	(TV_FIRST+12)
-#define TVM_GETITEMW	(TV_FIRST+62)
-#define TVM_SETITEMA	(TV_FIRST+13)
-#define TVM_SETITEMW	(TV_FIRST+63)
-#define TVM_EDITLABELA	(TV_FIRST+14)
-#define TVM_EDITLABELW	(TV_FIRST+65)
-#define TVM_GETEDITCONTROL	(TV_FIRST+15)
-#define TVM_GETVISIBLECOUNT	(TV_FIRST+16)
-#define TVM_HITTEST	(TV_FIRST+17)
-#define TVM_CREATEDRAGIMAGE	(TV_FIRST+18)
-#define TVM_SORTCHILDREN	(TV_FIRST+19)
-#define TVM_ENSUREVISIBLE	(TV_FIRST+20)
-#define TVM_SORTCHILDRENCB	(TV_FIRST+21)
-#define TVM_ENDEDITLABELNOW	(TV_FIRST+22)
-#define TVM_GETISEARCHSTRINGA	(TV_FIRST+23)
-#define TVM_GETISEARCHSTRINGW	(TV_FIRST+64)
-#if (_WIN32_IE >= 0x0300)
-#define TVM_GETTOOLTIPS (TV_FIRST+25)
-#define TVM_SETTOOLTIPS (TV_FIRST+24)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVM_GETBKCOLOR (TV_FIRST+31)
-#define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
-#define TVM_GETITEMHEIGHT (TV_FIRST+28)
-#define TVM_GETSCROLLTIME (TV_FIRST+34)
-#define TVM_GETTEXTCOLOR (TV_FIRST+32)
-#define TVM_SETBKCOLOR (TV_FIRST+29)
-#define TVM_SETINSERTMARK (TV_FIRST+26)
-#define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
-#define TVM_SETITEMHEIGHT (TV_FIRST+27)
-#define TVM_SETSCROLLTIME (TV_FIRST+33)
-#define TVM_SETTEXTCOLOR (TV_FIRST+30)
-#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TVM_GETITEMSTATE (TV_FIRST+39)
-#define TVM_SETLINECOLOR (TV_FIRST+40)
-#define TVM_GETLINECOLOR (TV_FIRST+41)
-#endif
-#define TVE_COLLAPSE	1
-#define TVE_EXPAND	2
-#define TVE_TOGGLE	3
-#define TVE_COLLAPSERESET	0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TVE_EXPANDPARTIAL	0x4000
-#endif
-#define TVC_UNKNOWN	0
-#define TVC_BYMOUSE	1
-#define TVC_BYKEYBOARD	2
-#define TVGN_ROOT	0
-#define TVGN_NEXT	1
-#define TVGN_PREVIOUS	2
-#define TVGN_PARENT	3
-#define TVGN_CHILD	4
-#define TVGN_FIRSTVISIBLE	5
-#define TVGN_NEXTVISIBLE	6
-#define TVGN_PREVIOUSVISIBLE	7
-#define TVGN_DROPHILITE	8
-#define TVGN_CARET	9
-#if (_WIN32_IE >= 0x0400)
-#define TVGN_LASTVISIBLE	10
-#endif
-#define TVN_SELCHANGINGA	(TVN_FIRST-1)
-#define TVN_SELCHANGINGW	(TVN_FIRST-50)
-#define TVN_SELCHANGEDA	(TVN_FIRST-2)
-#define TVN_SELCHANGEDW	(TVN_FIRST-51)
-#define TVN_GETDISPINFOA	(TVN_FIRST-3)
-#define TVN_GETDISPINFOW	(TVN_FIRST-52)
-#define TVN_SETDISPINFOA	(TVN_FIRST-4)
-#define TVN_SETDISPINFOW	(TVN_FIRST-53)
-#define TVN_ITEMEXPANDINGA	(TVN_FIRST-5)
-#define TVN_ITEMEXPANDINGW	(TVN_FIRST-54)
-#define TVN_ITEMEXPANDEDA	(TVN_FIRST-6)
-#define TVN_ITEMEXPANDEDW	(TVN_FIRST-55)
-#define TVN_BEGINDRAGA	(TVN_FIRST-7)
-#define TVN_BEGINDRAGW	(TVN_FIRST-56)
-#define TVN_BEGINRDRAGA	(TVN_FIRST-8)
-#define TVN_BEGINRDRAGW	(TVN_FIRST-57)
-#define TVN_DELETEITEMA	(TVN_FIRST-9)
-#define TVN_DELETEITEMW	(TVN_FIRST-58)
-#define TVN_BEGINLABELEDITA	(TVN_FIRST-10)
-#define TVN_BEGINLABELEDITW	(TVN_FIRST-59)
-#define TVN_ENDLABELEDITA	(TVN_FIRST-11)
-#define TVN_ENDLABELEDITW	(TVN_FIRST-60)
-#define TVN_KEYDOWN	(TVN_FIRST-12)
-#if (_WIN32_IE >= 0x0400)
-#define TVN_GETINFOTIPA	(TVN_FIRST-13)
-#define TVN_GETINFOTIPW	(TVN_FIRST-14)
-#define TVN_SINGLEEXPAND	(TVN_FIRST-15)
-#define TVNRET_DEFAULT 0
-#define TVNRET_SKIPOLD 1
-#define TVNRET_SKIPNEW 2
-#endif /* _WIN32_IE >= 0x0400 */
-#define TVIF_DI_SETITEM	0x1000
-#define TVHT_NOWHERE	1
-#define TVHT_ONITEMICON	2
-#define TVHT_ONITEMLABEL	4
-#define TVHT_ONITEM	(TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)
-#define TVHT_ONITEMINDENT	8
-#define TVHT_ONITEMBUTTON	16
-#define TVHT_ONITEMRIGHT	32
-#define TVHT_ONITEMSTATEICON	64
-#define TVHT_ABOVE	256
-#define TVHT_BELOW	512
-#define TVHT_TORIGHT	1024
-#define TVHT_TOLEFT	2048
-#define TCHT_NOWHERE	1
-#define TCHT_ONITEMICON	2
-#define TCHT_ONITEMLABEL	4
-#define TCHT_ONITEM	(TCHT_ONITEMICON|TCHT_ONITEMLABEL)
-#define TCS_FORCEICONLEFT	16
-#define TCS_FORCELABELLEFT	32
-#define TCS_TABS	0
-#define TCS_BUTTONS	256
-#define TCS_SINGLELINE	0
-#define TCS_MULTILINE	512
-#define TCS_RIGHTJUSTIFY	0
-#define TCS_FIXEDWIDTH	1024
-#define TCS_RAGGEDRIGHT	2048
-#define TCS_FOCUSONBUTTONDOWN	0x1000
-#define TCS_OWNERDRAWFIXED	0x2000
-#define TCS_TOOLTIPS	0x4000
-#define TCS_FOCUSNEVER	0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TCS_BOTTOM	2
-#define TCS_RIGHT	2
-#define TCS_VERTICAL	128
-#define TCS_SCROLLOPPOSITE	0x0001
-#define TCS_HOTTRACK	0x0040
-#define TCS_MULTISELECT	0x0004
-#endif
-#if( _WIN32_IE >= 0x0400 )
-#define TCS_FLATBUTTONS	0x0008
-#define TCS_EX_FLATSEPARATORS	0x00000001
-#define TCS_EX_REGISTERDROP	0x00000002
-#endif /* _WIN32_IE >= 0x0400 */
-#define TCIF_TEXT	1
-#define TCIF_IMAGE	2
-#define TCIF_RTLREADING	4
-#define TCIF_PARAM	8
-#if (_WIN32_IE >= 0x0400)
-#define TCIF_STATE	16
-#endif
-#define TCIS_BUTTONPRESSED 1
-#if (_WIN32_IE >= 0x0400)
-#define TCIS_HIGHLIGHTED 2
-#endif
-#define TCM_FIRST	0x1300
-#define TCM_GETIMAGELIST	(TCM_FIRST+2)
-#define TCM_SETIMAGELIST	(TCM_FIRST+3)
-#define TCM_GETITEMCOUNT	(TCM_FIRST+4)
-#define TCM_GETITEMA	(TCM_FIRST+5)
-#define TCM_GETITEMW	(TCM_FIRST+60)
-#define TCM_SETITEMA	(TCM_FIRST+6)
-#define TCM_SETITEMW	(TCM_FIRST+61)
-#define TCM_INSERTITEMA	(TCM_FIRST+7)
-#define TCM_INSERTITEMW	(TCM_FIRST+62)
-#define TCM_DELETEITEM	(TCM_FIRST+8)
-#define TCM_DELETEALLITEMS	(TCM_FIRST+9)
-#define TCM_GETITEMRECT	(TCM_FIRST+10)
-#define TCM_GETCURSEL	(TCM_FIRST+11)
-#define TCM_SETCURSEL	(TCM_FIRST+12)
-#define TCM_HITTEST	(TCM_FIRST+13)
-#define TCM_SETITEMEXTRA	(TCM_FIRST+14)
-
-#define TCM_ADJUSTRECT	(TCM_FIRST+40)
-#define TCM_SETITEMSIZE	(TCM_FIRST+41)
-#define TCM_REMOVEIMAGE	(TCM_FIRST+42)
-#define TCM_SETPADDING	(TCM_FIRST+43)
-#define TCM_GETROWCOUNT	(TCM_FIRST+44)
-#define TCM_GETTOOLTIPS	(TCM_FIRST+45)
-#define TCM_SETTOOLTIPS	(TCM_FIRST+46)
-#define TCM_GETCURFOCUS	(TCM_FIRST+47)
-#define TCM_SETCURFOCUS	(TCM_FIRST+48)
-#define TCM_SETMINTABWIDTH	(TCM_FIRST + 49)
-#define TCM_DESELECTALL	(TCM_FIRST + 50)
-#if (_WIN32_IE >=0x0400)
-#define TCM_HIGHLIGHTITEM	(TCM_FIRST + 51)
-#define TCM_SETEXTENDEDSTYLE	(TCM_FIRST + 52)
-#define TCM_GETEXTENDEDSTYLE	(TCM_FIRST + 53)
-#define TCM_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#define TCM_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >=0x0400 */
-#define TCN_KEYDOWN	TCN_FIRST
-#define TCN_SELCHANGE	(TCN_FIRST-1)
-#define TCN_SELCHANGING	(TCN_FIRST-2)
-#define NM_OUTOFMEMORY (NM_FIRST-1)
-#define NM_CLICK (NM_FIRST-2)
-#define NM_DBLCLK (NM_FIRST-3)
-#define NM_RETURN (NM_FIRST-4)
-#define NM_RCLICK (NM_FIRST-5)
-#define NM_RDBLCLK (NM_FIRST-6)
-#define NM_SETFOCUS (NM_FIRST-7)
-#define NM_KILLFOCUS (NM_FIRST-8)
-#define NM_CUSTOMDRAW (NM_FIRST-12)
-#define NM_HOVER (NM_FIRST-13)
-#define NM_NCHITTEST (NM_FIRST-14)
-#define NM_KEYDOWN (NM_FIRST-15)
-#define NM_RELEASEDCAPTURE (NM_FIRST-16)
-#define NM_SETCURSOR (NM_FIRST-17)
-#define NM_CHAR (NM_FIRST-18)
-#define NM_TOOLTIPSCREATED (NM_FIRST-19)
-#define SBARS_SIZEGRIP 256
-#define CCM_FIRST 0x2000
-#define CCM_LAST (CCM_FIRST+0x200)
-#define CCM_SETBKCOLOR 8193
-#define CCM_SETCOLORSCHEME 8194
-#define CCM_GETCOLORSCHEME 8195
-#define CCM_GETDROPTARGET 8196
-#define CCM_SETUNICODEFORMAT 8197
-#define CCM_GETUNICODEFORMAT 8198
-#define CCM_SETVERSION 0x2007
-#define CCM_GETVERSION 0x2008
-#define CCM_SETNOTIFYWINDOW 0x2009
-#if (_WIN32_WINNT >= 0x0501)
-#define CCM_SETWINDOWTHEME 0x200b
-#define CCM_DPISCALE 0x200c
-#endif
-#define ICC_LISTVIEW_CLASSES 1
-#define ICC_TREEVIEW_CLASSES 2
-#define ICC_BAR_CLASSES	4
-#define ICC_TAB_CLASSES      8
-#define ICC_UPDOWN_CLASS 16
-#define ICC_PROGRESS_CLASS 32
-#define ICC_HOTKEY_CLASS 64
-#define ICC_ANIMATE_CLASS 128
-#define ICC_WIN95_CLASSES 255
-#define ICC_DATE_CLASSES 256
-#define ICC_USEREX_CLASSES 512
-#define ICC_COOL_CLASSES 1024
-#if (_WIN32_IE >= 0x0400)
-#define ICC_INTERNET_CLASSES 2048
-#define ICC_PAGESCROLLER_CLASS 4096
-#define ICC_NATIVEFNTCTL_CLASS 8192
-#define INFOTIPSIZE 1024
-#endif /* _WIN32_IE */
-#if (_WIN32_WINNT >= 0x501)
-#define ICC_STANDARD_CLASSES	0x00004000
-#define ICC_LINK_CLASS		0x00008000
-#endif
-#define GDTR_MIN 1
-#define GDTR_MAX 2
-#define GMR_VISIBLE 0
-#define GMR_DAYSTATE 1
-#define GDT_ERROR -1
-#define GDT_VALID 0
-#define GDT_NONE 1
-#define DTS_UPDOWN 1
-#define DTS_SHOWNONE 2
-#define DTS_SHORTDATEFORMAT 0
-#define DTS_LONGDATEFORMAT 4
-#define DTS_TIMEFORMAT 9
-#define DTS_APPCANPARSE 16
-#define DTS_RIGHTALIGN 32
-#if ( _WIN32_IE >= 0x500 )
-#define DTS_SHORTDATECENTURYFORMAT	0x000C
-#endif /* _WIN32_IE >= 0x500 */
-#define MCS_DAYSTATE 1
-#define MCS_MULTISELECT 2
-#define MCS_WEEKNUMBERS 4
-#if (_WIN32_IE >= 0x0400)
-#define MCS_NOTODAYCIRCLE	0x0008
-#define MCS_NOTODAY	0x0010
-#else /* _WIN32_IE >= 0x0400 */
-#define MCS_NOTODAY	0x0008
-#endif /* _WIN32_IE >= 0x0400 */
-#define DTM_GETSYSTEMTIME 0x1001
-#define DTM_SETSYSTEMTIME 0x1002
-#define DTM_GETRANGE 0x1003
-#define DTM_SETRANGE 0x1004
-#define DTM_SETFORMATA 0x1005
-#define DTM_SETFORMATW 0x1050
-#define DTM_SETMCCOLOR 0x1006
-#define DTM_GETMCCOLOR 0x1007
-#define DTM_GETMONTHCAL 0x1008
-#define DTM_SETMCFONT	0x1009
-#define DTM_GETMCFONT	0x100a
-#define DTN_USERSTRINGA  ((UINT)-758)
-#define DTN_USERSTRINGW  ((UINT)-745)
-#define DTN_WMKEYDOWNA  ((UINT)-757)
-#define DTN_WMKEYDOWNW  ((UINT)-744)
-#define DTN_FORMATA  ((UINT)-756)
-#define DTN_FORMATW  ((UINT)-743)
-#define DTN_FORMATQUERYA  ((UINT)-755)
-#define DTN_FORMATQUERYW ((UINT)-742)
-#define DTN_DROPDOWN    ((UINT)-754)
-#define DTN_CLOSEUP	((UINT)-753)
-#define DTN_DATETIMECHANGE ((UINT)-759)
-#define MCM_GETCURSEL	0x1001
-#define MCM_SETCURSEL	0x1002
-#define MCM_GETMAXSELCOUNT 0x1003
-#define MCM_SETMAXSELCOUNT 0x1004
-#define MCM_GETSELRANGE	0x1005
-#define MCM_SETSELRANGE	0x1006
-#define MCM_GETMONTHRANGE 0x1007
-#define MCM_SETDAYSTATE	0x1008
-#define MCM_GETMINREQRECT 0x1009
-#define MCM_SETCOLOR 0x100a
-#define MCM_GETCOLOR 0x100b
-#define MCM_SETTODAY 0x100c
-#define MCM_GETTODAY 0x100d
-#define MCM_HITTEST 0x100e
-#define MCM_SETFIRSTDAYOFWEEK 0x100f
-#define MCM_GETFIRSTDAYOFWEEK 0x1010
-#define MCM_GETRANGE 0x1011
-#define MCM_SETRANGE 0x1012
-#define MCM_GETMONTHDELTA 0x1013
-#define MCM_SETMONTHDELTA 0x1014
-#define MCM_GETMAXTODAYWIDTH 0x1015
-#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define MCN_SELCHANGE	  ((UINT)-749)
-#define MCN_GETDAYSTATE	((UINT)-747)
-#define MCN_SELECT		((UINT)-746)
-#define ODT_HEADER 100
-#define ODT_TAB 101
-#define ODT_LISTVIEW 102
-#define SB_SETBKCOLOR	0x2001
-#if (_WIN32_IE >= 0x0300)
-#define SB_ISSIMPLE 1038
-#define MCSC_BACKGROUND 0
-#define MCSC_TEXT 1
-#define MCSC_TITLEBK 2
-#define MCSC_TITLETEXT 3
-#define MCSC_MONTHBK 4
-#define MCSC_TRAILINGTEXT 5
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define MCHT_TITLE 0x10000
-#define MCHT_CALENDAR 0x20000
-#define MCHT_TODAYLINK 0x30000
-#define MCHT_NEXT 0x1000000
-#define MCHT_PREV 0x2000000
-#define MCHT_NOWHERE 0x00
-#define MCHT_TITLEBK (MCHT_TITLE)
-#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
-#define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
-#define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
-#define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
-#define MCHT_CALENDARBK (MCHT_CALENDAR)
-#define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
-#define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
-#define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
-#define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
-#define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
-#endif /* _WIN32_IE >= 0x0400 */
-#define RBS_TOOLTIPS 256
-#define RBS_VARHEIGHT 512
-#define RBS_BANDBORDERS 1024
-#define RBS_FIXEDORDER 2048
-#define RBIM_IMAGELIST 1
-#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
-#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
-#define RBBS_BREAK	0x0001
-#define RBBS_FIXEDSIZE	0x0002
-#define RBBS_CHILDEDGE	0x0004
-#define RBBS_HIDDEN	0x0008
-#define RBBS_NOVERT	0x0010
-#define RBBS_FIXEDBMP	0x0020
-#define RBBS_VARIABLEHEIGHT	0x0040
-#define RBBS_GRIPPERALWAYS	0x0080
-#define RBBS_NOGRIPPER	0x0100
-#if (_WIN32_IE >= 0x0500)
-#define RBBS_USECHEVRON	0x0200
-#if (_WIN32_IE >= 0x0501)
-#define RBBS_HIDETITLE	0x0400
-#define RBBS_TOPALIGN	0x0800
-#endif /* _WIN32_IE >= 0x0501 */
-#endif /* _WIN32_IE >= 0x0500 */
-#define RBBIM_STYLE 1
-#define RBBIM_COLORS 2
-#define RBBIM_TEXT 4
-#define RBBIM_IMAGE 8
-#define RBBIM_CHILD 16
-#define RBBIM_CHILDSIZE 32
-#define RBBIM_SIZE 64
-#define RBBIM_BACKGROUND 128
-#define RBBIM_ID 256
-#define RB_INSERTBANDA (WM_USER+1)
-#define RB_INSERTBANDW (WM_USER+10)
-#define RB_DELETEBAND (WM_USER+2)
-#define RB_GETBARINFO (WM_USER+3)
-#define RB_SETBARINFO (WM_USER+4)
-#define RB_GETBANDCOUNT (WM_USER+12)
-#define RB_GETROWCOUNT (WM_USER+13)
-#define RB_GETROWHEIGHT (WM_USER+14)
-#define RB_SETBANDINFOA (WM_USER+6)
-#define RB_SETBANDINFOW (WM_USER+11)
-#define RB_SETPARENT (WM_USER+7)
-#define RBN_HEIGHTCHANGE RBN_FIRST
-#if (_WIN32_IE >= 0x0300)
-#define LVN_ODCACHEHINT (LVN_FIRST-13)
-#define LVN_ODFINDITEMA (LVN_FIRST-52)
-#define LVN_ODFINDITEMW (LVN_FIRST-79)
-#define LVN_ITEMACTIVATE (LVN_FIRST-14)
-#define LVN_ODSTATECHANGED (LVN_FIRST-15)
-#ifdef UNICODE
-#define LVN_ODFINDITEM LVN_ODFINDITEMW
-#else
-#define LVN_ODFINDITEM LVN_ODFINDITEMA
-#endif
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define SB_SETICON 1039
-#define SB_SETTIPTEXTA	1040
-#define SB_SETTIPTEXTW	1041
-#define SB_GETTIPTEXTA	1042
-#define SB_GETTIPTEXTW	1043
-#define SB_GETICON	1044
-#define SB_SETUNICODEFORMAT	0x2005
-#define SB_GETUNICODEFORMAT	0x2006
-#define PGF_INVISIBLE 0
-#define PGF_NORMAL 1
-#define PGF_GRAYED 2
-#define PGF_DEPRESSED 4
-#define PGF_HOT 8
-#define PGB_TOPORLEFT 0
-#define PGB_BOTTOMORRIGHT 1
-#define PGF_SCROLLUP 1
-#define PGF_SCROLLDOWN 2
-#define PGF_SCROLLLEFT 4
-#define PGF_SCROLLRIGHT 8
-#define PGK_SHIFT 1
-#define PGK_CONTROL 2
-#define PGK_MENU 4
-#define PGF_CALCWIDTH 1
-#define PGF_CALCHEIGHT 2
-#define PGM_FIRST 0x1400
-#define PGM_SETCHILD (PGM_FIRST+1)
-#define PGM_RECALCSIZE (PGM_FIRST+2)
-#define PGM_FORWARDMOUSE (PGM_FIRST+3)
-#define PGM_SETBKCOLOR (PGM_FIRST+4)
-#define PGM_GETBKCOLOR (PGM_FIRST+5)
-#define PGM_SETBORDER (PGM_FIRST+6)
-#define PGM_GETBORDER (PGM_FIRST+7)
-#define PGM_SETPOS (PGM_FIRST+8)
-#define PGM_GETPOS (PGM_FIRST+9)
-#define PGM_SETBUTTONSIZE (PGM_FIRST+10)
-#define PGM_GETBUTTONSIZE (PGM_FIRST+11)
-#define PGM_GETBUTTONSTATE (PGM_FIRST+12)
-#define PGM_GETDROPTARGET CCM_GETDROPTARGET
-#define RBS_REGISTERDROP 4096
-#define RBS_AUTOSIZE 8192
-#define RBS_VERTICALGRIPPER 16384
-#define RBS_DBLCLKTOGGLE  32768
-#define RBBIM_IDEALSIZE 512
-#define RBBIM_LPARAM 1024
-#define RBBIM_HEADERSIZE 2048
-#define RB_HITTEST (WM_USER+8)
-#define RB_GETRECT (WM_USER+9)
-#define RB_IDTOINDEX (WM_USER+16)
-#define RB_GETTOOLTIPS (WM_USER+17)
-#define RB_SETTOOLTIPS (WM_USER+18)
-#define RB_SETBKCOLOR (WM_USER+19)
-#define RB_GETBKCOLOR (WM_USER+20)
-#define RB_SETTEXTCOLOR (WM_USER+21)
-#define RB_GETTEXTCOLOR (WM_USER+22)
-#define RB_SIZETORECT (WM_USER+23)
-#define RB_BEGINDRAG (WM_USER+24)
-#define RB_ENDDRAG (WM_USER+25)
-#define RB_DRAGMOVE (WM_USER+26)
-#define RB_GETBARHEIGHT (WM_USER+27)
-#define RB_GETBANDINFOW (WM_USER+28)
-#define RB_GETBANDINFOA (WM_USER+29)
-#define RB_MINIMIZEBAND (WM_USER+30)
-#define RB_MAXIMIZEBAND (WM_USER+31)
-#define RB_GETDROPTARGET CCM_GETDROPTARGET
-#define RB_GETBANDBORDERS (WM_USER+34)
-#define RB_SHOWBAND (WM_USER+35)
-#define RB_SETPALETTE (WM_USER+37)
-#define RB_GETPALETTE (WM_USER+38)
-#define RB_MOVEBAND (WM_USER+39)
-#define RB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
-#define RB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
-#define RBN_GETOBJECT (RBN_FIRST-1)
-#define RBN_LAYOUTCHANGED (RBN_FIRST-2)
-#define RBN_AUTOSIZE (RBN_FIRST-3)
-#define RBN_BEGINDRAG (RBN_FIRST-4)
-#define RBN_ENDDRAG (RBN_FIRST-5)
-#define RBN_DELETINGBAND (RBN_FIRST-6)
-#define RBN_DELETEDBAND (RBN_FIRST-7)
-#define RBN_CHILDSIZE (RBN_FIRST-8)
-#define RBNM_ID 1
-#define RBNM_STYLE 2
-#define RBNM_LPARAM 4
-#define RBHT_NOWHERE 1
-#define RBHT_CAPTION 2
-#define RBHT_CLIENT 3
-#define RBHT_GRABBER 4
-#ifdef UNICODE
-#define SB_SETTIPTEXT	SB_SETTIPTEXTW
-#define SB_GETTIPTEXT	SB_GETTIPTEXTW
-#define RB_GETBANDINFO	RB_GETBANDINFOW
-#else
-#define SB_SETTIPTEXT	SB_SETTIPTEXTA
-#define SB_GETTIPTEXT	SB_GETTIPTEXTA
-#define RB_GETBANDINFO	RB_GETBANDINFOA
-#endif
-#else
-#define RB_GETBANDINFO (WM_USER+5)
-#endif /* _WIN32_IE >= 0x0400 */
-#define CBEM_INSERTITEMA	(WM_USER + 1)
-#define CBEM_SETIMAGELIST	(WM_USER + 2)
-#define CBEM_GETIMAGELIST	(WM_USER + 3)
-#define CBEM_GETITEMA	(WM_USER + 4)
-#define CBEM_SETITEMA	(WM_USER + 5)
-#define CBEM_DELETEITEM	CB_DELETESTRING
-#define CBEM_GETCOMBOCONTROL	(WM_USER + 6)
-#define CBEM_GETEDITCONTROL	(WM_USER + 7)
-#define CBEM_SETEXSTYLE	(WM_USER + 8)
-#define CBEM_GETEXSTYLE	(WM_USER + 9)
-#if (_WIN32_IE >= 0x0400)
-#define CBEM_SETEXTENDEDSTYLE	(WM_USER + 14)
-#define CBEM_GETEXTENDEDSTYLE	(WM_USER + 9)
-#define CBEM_SETUNICODEFORMAT	CCM_SETUNICODEFORMAT
-#define CBEM_GETUNICODEFORMAT	CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
-#define CBEM_HASEDITCHANGED	(WM_USER + 10)
-#define CBEM_INSERTITEMW	(WM_USER + 11)
-#define CBEM_SETITEMW	(WM_USER + 12)
-#define CBEM_GETITEMW	(WM_USER + 13)
-#define DA_LAST	0x7fffffff
-#define DPA_APPEND	0x7fffffff
-#define DPA_ERR	-1
-#define DSA_APPEND	0x7fffffff
-#define DSA_ERR	-1
-#define DPAS_SORTED	1
-#define DPAS_INSERTBEFORE	2
-#define DPAS_INSERTAFTER	4
-#if (_WIN32_IE >= 0x400)
-#define WSB_PROP_CYVSCROLL	1
-#define WSB_PROP_CXHSCROLL	2
-#define WSB_PROP_CYHSCROLL	4
-#define WSB_PROP_CXVSCROLL	8
-#define WSB_PROP_CXHTHUMB	16
-#define WSB_PROP_CYVTHUMB	32
-#define WSB_PROP_VBKGCOLOR	64
-#define WSB_PROP_HBKGCOLOR	128
-#define WSB_PROP_VSTYLE	256
-#define WSB_PROP_HSTYLE	512
-#define WSB_PROP_WINSTYLE	1024
-#define WSB_PROP_PALETTE	2048
-#define WSB_PROP_MASK	0xfff
-#define FSB_FLAT_MODE	2
-#define FSB_ENCARTA_MODE	1
-#define FSB_REGULAR_MODE	0
-#endif /* _WIN32_IE >= 0x400 */
-#if (_WIN32_WINNT >= 0x0501)
-#define LIF_ITEMINDEX	0x00000001
-#define LIF_STATE	0x00000002
-#define LIF_ITEMID	0x00000004
-#define LIF_URL	0x00000008
-#define LIS_FOCUSED	0x00000001
-#define LIS_ENABLED	0x00000002
-#define LIS_VISITED	0x00000004
-#define LM_HITTEST	(WM_USER + 768)
-#define LM_GETIDEALHEIGHT	(WM_USER + 769)
-#define LM_SETITEM	(WM_USER + 770)
-#define LM_GETITEM	(WM_USER + 771)
-#define MAX_LINKID_TEXT	48
-#define L_MAX_URL_LENGTH	2084
-#endif
-
-typedef struct tagNMTCKEYDOWN {
-  NMHDR hdr;
-  WORD  wVKey;
-  UINT  flags;
-} NMTCKEYDOWN;
-
-#ifndef RC_INVOKED
-typedef struct tagCOMBOBOXEXITEMA{
-	UINT mask;
-	int iItem;
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int iOverlay;
-	int iIndent;
-	LPARAM lParam;
-} COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA;
-typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA;
-typedef struct tagCOMBOBOXEXITEMW{
-	UINT mask;
-	int iItem;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int iOverlay;
-	int iIndent;
-	LPARAM lParam;
-} COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW;
-typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
-#if (_WIN32_IE >= 0x0400)
-typedef struct {
-	NMHDR hdr;
-	COMBOBOXEXITEMA ceItem;
-} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
-typedef struct {
-	NMHDR hdr;
-	COMBOBOXEXITEMW ceItem;
-} NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
-typedef struct {
-	NMHDR   hdr;
-	int iItemid;
-	WCHAR   szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
-typedef struct {
-	NMHDR   hdr;
-	int iItemid;
-	char    szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
-typedef struct tagNMIPADDRESS{
-	NMHDR hdr;
-	int iField;
-	int iValue;
-} NMIPADDRESS, *LPNMIPADDRESS;
-typedef struct tagLVKEYDOWN {
-	NMHDR hdr;
-	WORD wVKey;
-	UINT flags;
-} NMLVKEYDOWN, *LPNMLVKEYDOWN;
-typedef struct {
-	NMHDR hdr;
-	DWORD dwFlag;
-	int iWidth;
-	int iHeight;
-} NMPGCALCSIZE, *LPNMPGCALCSIZE;
-typedef struct {
-	NMHDR hdr;
-	BOOL fwKeys;
-	RECT rcParent;
-	int iDir;
-	int iXpos;
-	int iYpos;
-	int iScroll;
-} NMPGSCROLL, *LPNMPGSCROLL;
-typedef struct tagNMSELCHANGE {
-	NMHDR nmhdr;
-	SYSTEMTIME stSelStart;
-	SYSTEMTIME stSelEnd;
-} NMSELCHANGE, *LPNMSELCHANGE;
-typedef struct tagNMTBHOTITEM {
-	NMHDR hdr;
-	int idOld;
-	int idNew;
-	DWORD dwFlags;
-} NMTBHOTITEM, *LPNMTBHOTITEM;
-typedef struct {
-	NMHDR hdr;
-	DWORD dwMask;
-	int idCommand;
-	DWORD_PTR lParam;
-	int iImage;
-	LPSTR pszText;
-	int cchText;
-} NMTBDISPINFOA, *LPNMTBDISPINFOA;
-typedef struct {
-	NMHDR hdr;
-	DWORD dwMask;
-	int idCommand;
-	DWORD_PTR lParam;
-	int iImage;
-	LPWSTR pszText;
-	int cchText;
-} NMTBDISPINFOW, *LPNMTBDISPINFOW;
-typedef struct tagNMTBGETINFOTIPA
-{
-	NMHDR hdr;
-	LPSTR pszText;
-	int cchTextMax;
-	int iItem;
-	LPARAM lParam;
-} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
-typedef struct tagNMTBGETINFOTIPW
-{
-	NMHDR hdr;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iItem;
-	LPARAM lParam;
-} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
-typedef struct tagNMMOUSE {
-	NMHDR hdr;
-	DWORD_PTR dwItemSpec;
-	DWORD_PTR dwItemData;
-	POINT pt;
-	LPARAM dwHitInfo;
-} NMMOUSE, *LPNMMOUSE;
-#endif /*_WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0401)
-typedef struct tagNMTOOLTIPSCREATED
-{
-	NMHDR hdr;
-	HWND hwndToolTips;
-} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
-#endif
-typedef struct tagNMDATETIMECHANGE
-{
-	NMHDR nmhdr;
-	DWORD dwFlags;
-	SYSTEMTIME st;
-} NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
-typedef struct {
-	NMHDR hdr;
-	BOOL fChanged;
-	int iNewSelection;
-	WCHAR szText[CBEMAXSTRLEN];
-	int iWhy;
-} NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
-typedef struct {
-	NMHDR hdr;
-	BOOL fChanged;
-	int iNewSelection;
-	char szText[CBEMAXSTRLEN];
-	int iWhy;
-} NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
-typedef struct _COLORMAP {
-	COLORREF from;
-	COLORREF to;
-} COLORMAP,*LPCOLORMAP;
-typedef struct {
-	UINT uNotification;
-	HWND hWnd;
-	POINT ptCursor;
-} DRAGLISTINFO,*LPDRAGLISTINFO;
-typedef struct _TBBUTTON {
-	int iBitmap;
-	int idCommand;
-	BYTE fsState;
-	BYTE fsStyle;
-	BYTE bReserved[2];
-	DWORD dwData;
-	int iString;
-} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
-typedef const TBBUTTON *LPCTBBUTTON;
-#if _WIN32_IE >= 0x400
-typedef struct {
-	UINT cbSize;
-	DWORD dwMask;
-	int idCommand;
-	int iImage;
-	BYTE fsState;
-	BYTE fsStyle;
-	WORD cx;
-	DWORD lParam;
-	LPSTR pszText;
-	int cchText;
-} TBBUTTONINFOA, *LPTBBUTTONINFOA;
-typedef struct {
-	UINT cbSize;
-	DWORD dwMask;
-	int idCommand;
-	int iImage;
-	BYTE fsState;
-	BYTE fsStyle;
-	WORD cx;
-	DWORD lParam;
-	LPWSTR pszText;
-	int cchText;
-} TBBUTTONINFOW, *LPTBBUTTONINFOW;
-typedef struct {
-	int iButton;
-	DWORD dwFlags;
-} TBINSERTMARK, *LPTBINSERTMARK;
-typedef struct tagLVBKIMAGEA {
-	ULONG ulFlags;
-	HBITMAP hbm;
-	LPSTR pszImage;
-	UINT cchImageMax;
-	int xOffsetPercent;
-	int yOffsetPercent;
-} LVBKIMAGEA, *LPLVBKIMAGEA;
-typedef struct tagLVBKIMAGEW {
-	ULONG ulFlags;
-	HBITMAP hbm;
-	LPWSTR pszImage;
-	UINT cchImageMax;
-	int xOffsetPercent;
-	int yOffsetPercent;
-} LVBKIMAGEW, *LPLVBKIMAGEW;
-#endif /* _WIN32_IE >= 0x400 */
-typedef struct {
-	NMHDR hdr;
-	int iItem;
-	TBBUTTON tbButton;
-	int cchText;
-	LPTSTR pszText;
-} TBNOTIFY,*LPTBNOTIFY;
-typedef struct {
-	HKEY hkr;
-	LPCTSTR pszSubKey;
-	LPCTSTR pszValueName;
-} TBSAVEPARAMS;
-typedef struct _IMAGEINFO {
-	HBITMAP hbmImage;
-	HBITMAP hbmMask;
-	int Unused1;
-	int Unused2;
-	RECT rcImage;
-} IMAGEINFO, *LPIMAGEINFO;
-typedef struct _IMAGELIST *HIMAGELIST;
-typedef struct _HDITEMA {
-	UINT mask;
-	int cxy;
-	LPSTR pszText;
-	HBITMAP hbm;
-	int cchTextMax;
-	int fmt;
-	LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
-	int iImage;
-	int iOrder;
-#endif
-#if (_WIN32_IE >= 0x0500)
-	UINT type;
-	LPVOID pvFilter;
-#endif
-} HDITEMA, * LPHDITEMA;
-typedef struct _HDITEMW {
-	UINT mask;
-	int cxy;
-	LPWSTR pszText;
-	HBITMAP hbm;
-	int cchTextMax;
-	int fmt;
-	LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
-	int iImage;
-	int iOrder;
-#endif
-#if (_WIN32_IE >= 0x0500)
-	UINT type;
-	LPVOID pvFilter;
-#endif
-} HDITEMW, * LPHDITEMW;
-/* for backward compatibility */
-#define HD_ITEMA HDITEMA
-#define HD_ITEMW HDITEMW
-#define HD_ITEM HDITEM
-typedef struct _HD_LAYOUT {
-	RECT *prc;
-	WINDOWPOS *pwpos;
-} HDLAYOUT, *LPHDLAYOUT;
-#define HD_LAYOUT HDLAYOUT /*  backward compatibility */
-typedef struct _HD_HITTESTINFO {
-	POINT pt;
-	UINT flags;
-	int iItem;
-} HD_HITTESTINFO, *LPHDHITTESTINFO;
-typedef struct _HD_NOTIFYA {
-	NMHDR hdr;
-	int iItem;
-	int iButton;
-	HD_ITEMA *pitem;
-} HD_NOTIFYA;
-typedef struct _HD_NOTIFYW {
-	NMHDR hdr;
-	int iItem;
-	int iButton;
-	HD_ITEMW *pitem;
-} HD_NOTIFYW;
-/* FIXME: NMHEADER structure (base for all events of the comctl controls)
-   is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
-   I'm defining both for now. */
-typedef struct _NMHEADERA {
-    NMHDR   hdr;
-    int     iItem;
-    int     iButton;
-    HD_ITEMA* pitem;
-}  NMHEADERA, *LPNMHEADERA;
-
-typedef struct _NMHEADERW {
-    NMHDR   hdr;
-    int     iItem;
-    int     iButton;
-    HD_ITEMW* pitem;
-}  NMHEADERW, *LPNMHEADERW;
-#ifdef UNICODE
-#define NMHEADER NMHEADERW
-#define LPNMHEADER LPNMHEADERW
-#else
-#define NMHEADER NMHEADERA
-#define LPNMHEADER LPNMHEADERA
-#endif
-/* End FIXME. */
-typedef struct tagNMHDDISPINFOA {
-    NMHDR   hdr;
-    int     iItem;
-    UINT    mask;
-    LPSTR   pszText;
-    int     cchTextMax;
-    int     iImage;
-    LPARAM  lParam;
-} NMHDDISPINFOA, *LPNMHDDISPINFOA;
-typedef struct tagNMHDDISPINFOW {
-    NMHDR   hdr;
-    int     iItem;
-    UINT    mask;
-    LPWSTR  pszText;
-    int     cchTextMax;
-    int     iImage;
-    LPARAM  lParam;
-} NMHDDISPINFOW, *LPNMHDDISPINFOW;
-typedef struct tagNMCUSTOMDRAWINFO {
-    NMHDR    hdr;
-    DWORD    dwDrawStage;
-    HDC      hdc;
-    RECT     rc;
-    DWORD    dwItemSpec;
-    UINT     uItemState;
-    LPARAM   lItemlParam;
-} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
-typedef struct tagNMLVCUSTOMDRAW {
-    NMCUSTOMDRAW nmcd;
-    COLORREF     clrText;
-    COLORREF     clrTextBk;
-#if _WIN32_IE >= 0x0400
-    int          iSubItem;
-#endif
-} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMLVGETINFOTIPA
-{
-	NMHDR hdr;
-	DWORD dwFlags;
-	LPSTR pszText;
-	int cchTextMax;
-	int iItem;
-	int iSubItem;
-	LPARAM lParam;
-} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
-typedef struct tagNMLVGETINFOTIPW
-{
-	NMHDR hdr;
-	DWORD dwFlags;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iItem;
-	int iSubItem;
-	LPARAM lParam;
-} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagNMTVCUSTOMDRAW {
-    NMCUSTOMDRAW nmcd;
-    COLORREF     clrText;
-    COLORREF     clrTextBk;
-#if _WIN32_IE >= 0x0400
-    int          iLevel;
-#endif
-} NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x400)
-typedef struct _NMTBCUSTOMDRAW {
-	NMCUSTOMDRAW nmcd;
-	HBRUSH hbrMonoDither;
-	HBRUSH hbrLines;
-	HPEN hpenLines;
-	COLORREF clrText;
-	COLORREF clrMark;
-	COLORREF clrTextHighlight;
-	COLORREF clrBtnFace;
-	COLORREF clrBtnHighlight;
-	COLORREF clrHighlightHotTrack;
-	RECT rcText;
-	int nStringBkMode;
-	int nHLStringBkMode;
-#if (_WIN32_WINNT >= 0x0501)
-	int iListGap;
-#endif
-} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
-typedef struct tagNMITEMACTIVATE {
-	NMHDR hdr;
-	int iItem;
-	int iSubItem;
-	UINT uNewState;
-	UINT uOldState;
-	UINT uChanged;
-	POINT ptAction;
-	LPARAM lParam;
-	UINT uKeyFlags;
-} NMITEMACTIVATE, *LPNMITEMACTIVATE;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagTBADDBITMAP {
-	HINSTANCE hInst;
-	UINT nID;
-} TBADDBITMAP,*LPTBADDBITMAP;
-typedef struct tagTBSAVEPARAMSA {
-	HKEY hkr;
-	LPCSTR pszSubKey;
-	LPCSTR pszValueName;
-} TBSAVEPARAMSA;
-typedef struct tagTBSAVEPARAMSW {
-	HKEY hkr;
-	LPCWSTR pszSubKey;
-	LPCWSTR pszValueName;
-} TBSAVEPARAMSW;
-typedef struct {
-	HINSTANCE hInstOld;
-	UINT nIDOld;
-	HINSTANCE hInstNew;
-	UINT nIDNew;
-	int nButtons;
-} TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
-typedef struct tagNMTOOLBARA {
-	NMHDR hdr;
-	int iItem;
-	TBBUTTON tbButton;
-	int cchText;
-	LPSTR pszText;
-#if (_WIN32_IE >= 0x500)
-	RECT    rcButton;
-#endif
-} NMTOOLBARA, *LPNMTOOLBARA;
-#define TBNOTIFYA NMTOOLBARA
-#define LPTBNOTIFYA LPNMTOOLBARA
-typedef struct tagNMTOOLBARW {
-	NMHDR hdr;
-	int iItem;
-	TBBUTTON tbButton;
-	int cchText;
-	LPWSTR pszText;
-#if (_WIN32_IE >= 0x500)
-	RECT    rcButton;
-#endif
-} NMTOOLBARW, *LPNMTOOLBARW;
-#define TBNOTIFYW NMTOOLBARW
-#define LPTBNOTIFYW LPNMTOOLBARW
-typedef struct tagTOOLINFOA {
-	UINT cbSize;
-	UINT uFlags;
-	HWND hwnd;
-	UINT uId;
-	RECT rect;
-	HINSTANCE hinst;
-	LPSTR lpszText;
-#if (_WIN32_IE >= 0x0300)
-	LPARAM lParam;
-#endif
-} TTTOOLINFOA,*LPTTTOOLINFOA,*PTOOLINFOA;
-#define TOOLINFOA TTTOOLINFOA
-#define LPTOOLINFOA LPTTTOOLINFOA
-#define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
-#define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
-#define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
-typedef struct tagTOOLINFOW {
-	UINT cbSize;
-	UINT uFlags;
-	HWND hwnd;
-	UINT uId;
-	RECT rect;
-	HINSTANCE hinst;
-	LPWSTR lpszText;
-#if (_WIN32_IE >= 0x0300)
-	LPARAM lParam;
-#endif
-} TTTOOLINFOW,*LPTTTOOLINFOW,*PTOOLINFOW;
-#define TOOLINFOW TTTOOLINFOW
-#define LPTOOLINFOW LPTTTOOLINFOW
-#define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
-#define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
-#define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
-typedef struct _TT_HITTESTINFOA {
-	HWND hwnd;
-	POINT pt;
-	TOOLINFOA ti;
-} TTHITTESTINFOA,*LPTTHITTESTINFOA;
-#define LPHITTESTINFOA    LPTTHITTESTINFOA
-typedef struct _TT_HITTESTINFOW {
-	HWND hwnd;
-	POINT pt;
-	TOOLINFOW ti;
-} TTHITTESTINFOW,*LPTTHITTESTINFOW;
-#define LPHITTESTINFOW    LPTTHITTESTINFOW
-typedef struct tagNMTTDISPINFOA {
-	NMHDR hdr;
-	LPSTR lpszText;
-	char szText[80];
-	HINSTANCE hinst;
-	UINT uFlags;
-#if (_WIN32_IE >= 0x0300)
-	LPARAM lParam;
-#endif
-} NMTTDISPINFOA, *LPNMTTDISPINFOA;
-#define TOOLTIPTEXTA	NMTTDISPINFOA
-#define LPTOOLTIPTEXTA	LPNMTTDISPINFOA
-typedef struct tagNMTTDISPINFOW {
- 	NMHDR hdr;
- 	LPWSTR lpszText;
- 	WCHAR szText[80];
- 	HINSTANCE hinst;
- 	UINT uFlags;
-#if (_WIN32_IE >= 0x0300)
-	LPARAM lParam;
-#endif
-} NMTTDISPINFOW, *LPNMTTDISPINFOW;
-#define TOOLTIPTEXTW	NMTTDISPINFOW
-#define LPTOOLTIPTEXTW	LPNMTTDISPINFOW
-typedef struct _UDACCEL {
-	UINT nSec;
-	UINT nInc;
-} UDACCEL,*LPUDACCEL;
-typedef struct _NM_UPDOWN {
-	NMHDR hdr;
-	int iPos;
-	int iDelta;
-} NMUPDOWN,*LPNMUPDOWN;
-/* for backward compatibility */
-#define NM_UPDOWN NMUPDOWN
-#define LPNM_UPDOWN LPNMUPDOWN
-typedef struct _LVITEMA {
-	UINT mask;
-	int iItem;
-	int iSubItem;
-	UINT state;
-	UINT stateMask;
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
-	int iIndent;
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-	int iGroupId;
-	UINT cColumns;
-	PUINT puColumns;
-#endif
-} LVITEMA, FAR *LPLVITEMA;
-#define _LV_ITEMA _LVITEMA
-#define LV_ITEMA LVITEMA
-typedef struct _LVITEMW {
-	UINT mask;
-	int iItem;
-	int iSubItem;
-	UINT state;
-	UINT stateMask;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
-	int iIndent;
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-	int iGroupId;
-	UINT cColumns;
-	PUINT puColumns;
-#endif
-} LVITEMW, FAR *LPLVITEMW;
-#define _LV_ITEMW _LVITEMW
-#define LV_ITEMW LVITEMW
-typedef struct tagLVFINDINFOA {
-	UINT flags;
-	LPCSTR psz;
-	LPARAM lParam;
-	POINT pt;
-	UINT vkDirection;
-} LVFINDINFOA, FAR* LPFINDINFOA;
-#define _LV_FINDINFOA tagLVFINDINFOA
-#define LV_FINDINFOA LVFINDINFOA
-typedef struct tagLVFINDINFOW {
-	UINT flags;
-	LPCWSTR psz;
-	LPARAM lParam;
-	POINT pt;
-	UINT vkDirection;
-} LVFINDINFOW, FAR* LPFINDINFOW;
-#define _LV_FINDINFOW tagLVFINDINFOW
-#define LV_FINDINFOW LVFINDINFOW
-typedef struct tagNMLVFINDITEMA {
-	NMHDR hdr;
-	int iStart;
-	LVFINDINFOA lvfi;
-} NMLVFINDITEMA, *PNMLVFINDITEMA, FAR *LPNMLVFINDITEMA;
-#define _NMLVFINDITEMA tagNMLVFINDITEMA
-typedef struct tagNMLVFINDITEMW {
-	NMHDR hdr;
-	int iStart;
-	LVFINDINFOW lvfi;
-} NMLVFINDITEMW, *PNMLVFINDITEMW, FAR *LPNMLVFINDITEMW;
-#define _NMLVFINDITEMW tagNMLVFINDITEMW
-typedef struct _LVHITTESTINFO {
-	POINT pt;
-	UINT flags;
-	int iItem;
-#if (_WIN32_IE >= 0x0300)
-	int iSubItem;
-#endif
-} LVHITTESTINFO, FAR *LPLVHITTESTINFO;
-#define _LV_HITTESTINFO _LVHITTESTINFO
-#define LV_HITTESTINFO LVHITTESTINFO
-typedef struct _LVCOLUMNA {
-	UINT mask;
-	int fmt;
-	int cx;
-	LPSTR pszText;
-	int cchTextMax;
-	int iSubItem;
-#if (_WIN32_IE >= 0x0300)
-	int iImage;
-	int iOrder;
-#endif
-} LVCOLUMNA, FAR *LPLVCOLUMNA;
-#define _LV_COLUMNA _LVCOLUMNA
-#define LV_COLUMNA LVCOLUMNA
-typedef struct _LVCOLUMNW {
-	UINT mask;
-	int fmt;
-	int cx;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iSubItem;
-#if (_WIN32_IE >= 0x0300)
-	int iImage;
-	int iOrder;
-#endif
-} LVCOLUMNW, FAR *LPLVCOLUMNW;
-#define _LV_COLUMNW _LVCOLUMNW
-#define LV_COLUMNW LVCOLUMNW
-typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
-typedef struct tagNMLISTVIEW {
-	NMHDR hdr;
-	int iItem;
-	int iSubItem;
-	UINT uNewState;
-	UINT uOldState;
-	UINT uChanged;
-	POINT ptAction;
-	LPARAM lParam;
-} NMLISTVIEW, *LPNMLISTVIEW;
-/* for backward compatibility */
-#define _NM_LISTVIEW  tagNMLISTVIEW
-#define NM_LISTVIEW NMLISTVIEW
-#define LPNM_LISTVIEW LPNMLISTVIEW
-typedef struct tagNMLVDISPINFOA {
-	NMHDR hdr;
-	LV_ITEMA item;
-} NMLVDISPINFOA, FAR *LPNMLVDISPINFOA;
-#define _LV_DISPINFOA tagNMLVDISPINFOA
-#define LV_DISPINFOA NMLVDISPINFOA
-typedef struct tagNMLVDISPINFOW {
-	NMHDR hdr;
-	LV_ITEMW item;
-} NMLVDISPINFOW, FAR *LPNMLVDISPINFOW;
-#define _LV_DISPINFOW tagNMLVDISPINFOW
-#define LV_DISPINFOW NMLVDISPINFOW
-typedef struct _LV_KEYDOWN {
-	NMHDR hdr;
-	WORD wVKey;
-	UINT flags;
-} LV_KEYDOWN;
-typedef struct tagNMLVCACHEHINT {
-	NMHDR hdr;
-	int iFrom;
-	int iTo;
-} NMLVCACHEHINT, *LPNMLVCACHEHINT;
-#define NM_CACHEHINT NMLVCACHEHINT
-#define PNM_CACHEHINT LPNMLVCACHEHINT
-#define LPNM_CACHEHINT LPNMLVCACHEHINT
-
-typedef struct _TREEITEM *HTREEITEM;
-typedef struct tagTVITEMA {
-	UINT mask;
-	HTREEITEM hItem;
-	UINT state;
-	UINT stateMask;
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int cChildren;
-	LPARAM lParam;
-} TVITEMA,*LPTVITEMA;
-#define _TV_ITEMA tagTVITEMA
-#define TV_ITEMA TVITEMA
-#define LPTV_ITEMA LPTVITEMA
-typedef struct tagTVITEMW {
-	UINT mask;
-	HTREEITEM hItem;
-	UINT state;
-	UINT stateMask;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int cChildren;
-	LPARAM lParam;
-} TVITEMW,*LPTVITEMW;
-#define _TV_ITEMW tagTVITEMW
-#define TV_ITEMW TVITEMW
-#define LPTV_ITEMW LPTVITEMW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagTVITEMEXA {
-	UINT mask;
-	HTREEITEM hItem;
-	UINT state;
-	UINT stateMask;
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int cChildren;
-	LPARAM lParam;
-	int iIntegral;
-} TVITEMEXA, *LPTVITEMEXA;
-typedef struct tagTVITEMEXW {
-	UINT mask;
-	HTREEITEM hItem;
-	UINT state;
-	UINT stateMask;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-	int iSelectedImage;
-	int cChildren;
-	LPARAM lParam;
-	int iIntegral;
-} TVITEMEXW, *LPTVITEMEXW;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagTVINSERTSTRUCTA {
-	HTREEITEM hParent;
-	HTREEITEM hInsertAfter;
-#if (_WIN32_IE >= 0x0400)
-	_ANONYMOUS_UNION union {
-	TVITEMEXA itemex;
-	TV_ITEMA item;
-	} DUMMYUNIONNAME;
-#else
-	TV_ITEMA item;
-#endif
-} TVINSERTSTRUCTA,*LPTVINSERTSTRUCTA;
-#define _TV_INSERTSTRUCTA tagTVINSERTSTRUCTA
-#define TV_INSERTSTRUCTA TVINSERTSTRUCTA
-#define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
-typedef struct tagTVINSERTSTRUCTW {
-	HTREEITEM hParent;
-	HTREEITEM hInsertAfter;
-#if (_WIN32_IE >= 0x0400)
-	_ANONYMOUS_UNION union {
-	  TVITEMEXW itemex;
-	  TV_ITEMW  item;
-	} DUMMYUNIONNAME;
-#else
-	TV_ITEMW item;
-#endif
-} TVINSERTSTRUCTW,*LPTVINSERTSTRUCTW;
-#define _TV_INSERTSTRUCTW tagTVINSERTSTRUCTW
-#define TV_INSERTSTRUCTW TVINSERTSTRUCTW
-#define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
-typedef struct tagTVHITTESTINFO {
-	POINT pt;
- 	UINT flags;
-	HTREEITEM hItem;
-} TVHITTESTINFO, *LPTVHITTESTINFO;
-#define _TV_HITTESTINFO tagTVHITTESTINFO
-#define TV_HITTESTINFO TVHITTESTINFO
-#define LPTV_HITTESTINFO LPTVHITTESTINFO
-typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM);
-typedef struct tagTVSORTCB {
-	HTREEITEM hParent;
-	PFNTVCOMPARE lpfnCompare;
-	LPARAM lParam;
-} TVSORTCB,*LPTVSORTCB;
-#define _TV_SORTCB tagTVSORTCB
-#define TV_SORTCB TVSORTCB
-#define LPTV_SORTCB LPTVSORTCB
-typedef struct tagNMTREEVIEWA {
-	NMHDR hdr;
-	UINT action;
-	TV_ITEMA itemOld;
-	TV_ITEMA itemNew;
-	POINT ptDrag;
-} NMTREEVIEWA,*LPNMTREEVIEWA;
-#define _NM_TREEVIEWA tagNMTREEVIEWA
-#define NM_TREEVIEWA NMTREEVIEWA
-#define LPNM_TREEVIEWA LPNMTREEVIEWA
-typedef struct tagNMTREEVIEWW {
-	NMHDR hdr;
-	UINT action;
-	TV_ITEMW itemOld;
-	TV_ITEMW itemNew;
-	POINT ptDrag;
-} NMTREEVIEWW,*LPNMTREEVIEWW;
-#define _NM_TREEVIEWW tagNMTREEVIEWW
-#define NM_TREEVIEWW NMTREEVIEWW
-#define LPNM_TREEVIEWW LPNMTREEVIEWW
-typedef struct tagNMTVDISPINFOA {
-	NMHDR hdr;
-	TVITEMA item;
-} NMTVDISPINFOA, *LPNMTVDISPINFOA;
-#define _TV_DISPINFOA tagNMTVDISPINFOA
-#define TV_DISPINFOA NMTVDISPINFOA
-typedef struct tagNMTVDISPINFOW {
-	NMHDR hdr;
-	TVITEMW item;
-} NMTVDISPINFOW, *LPNMTVDISPINFOW;
-#define _TV_DISPINFOW tagNMTVDISPINFOW
-#define TV_DISPINFOW NMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMTVGETINFOTIPA {
-	NMHDR hdr;
-	LPSTR pszText;
-	int cchTextMax;
-	HTREEITEM hItem;
-	LPARAM lParam;
-} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
-typedef struct tagNMTVGETINFOTIPW {
-	NMHDR hdr;
-	LPWSTR pszText;
-	int cchTextMax;
-	HTREEITEM hItem;
-	LPARAM lParam;
-} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
-#endif
-typedef struct _TV_KEYDOWN {
-	NMHDR hdr;
-	WORD wVKey;
-	UINT flags;
-} TV_KEYDOWN;
-typedef struct tagTCITEMHEADERA {
-	UINT mask;
-	UINT lpReserved1;
-	UINT lpReserved2;
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-} TCITEMHEADERA, *LPTCITEMHEADERA;
-#define TC_ITEMHEADERA TCITEMHEADERA
-typedef struct tagTCITEMHEADERW {
-	UINT mask;
-	UINT lpReserved1;
-	UINT lpReserved2;
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-} TCITEMHEADERW, *LPTCITEMHEADERW;
-#define TC_ITEMHEADERW TCITEMHEADERW
-typedef struct tagTCITEMA {
-	UINT mask;
-#if (_WIN32_IE >= 0x0300)
-	DWORD dwState;
-	DWORD dwStateMask;
-#else
- 	UINT lpReserved1;
- 	UINT lpReserved2;
-#endif
-	LPSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-} TCITEMA, *LPTCITEMA;
-#define TC_ITEMA TCITEMA
-typedef struct tagTCITEMW {
-	UINT mask;
-#if (_WIN32_IE >= 0x0300)
-	DWORD dwState;
-	DWORD dwStateMask;
-#else
- 	UINT lpReserved1;
- 	UINT lpReserved2;
-#endif
-	LPWSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-} TCITEMW, *LPTCITEMW;
-#define TC_ITEMW TCITEMW
-typedef struct tagTCHITTESTINFO {
-	POINT pt;
-	UINT flags;
-} TCHITTESTINFO, *LPTCHITTESTINFO;
-#define TC_HITTESTINFO TCHITTESTINFO
-#define LPTC_HITTESTINFO LPTCHITTESTINFO
-typedef struct _TC_KEYDOWN {
-	NMHDR hdr;
-	WORD wVKey;
-	UINT flags;
-} TC_KEYDOWN;
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagINITCOMMONCONTROLSEX {
-	DWORD dwSize;
-	DWORD dwICC;
-} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
-#endif
-typedef struct tagPBRANGE {
-	int iLow;
-	int iHigh;
-} PBRANGE,*PPBRANGE;
-typedef struct tagCOLORSCHEME {
-	DWORD dwSize;
-	COLORREF clrBtnHighlight;
-	COLORREF clrBtnShadow;
-} COLORSCHEME,*LPCOLORSCHEME;
-typedef struct tagMCHITTESTINFO {
-	UINT cbSize;
-	POINT pt;
-	UINT uHit;
-	SYSTEMTIME st;
-}MCHITTESTINFO, *PMCHITTESTINFO;
-typedef DWORD MONTHDAYSTATE;
-typedef MONTHDAYSTATE *LPMONTHDAYSTATE;
-typedef struct tagNMDAYSTATE {
-	NMHDR nmhdr;
-	SYSTEMTIME stStart;
-	int cDayState;
-	LPMONTHDAYSTATE prgDayState;
-}NMDAYSTATE,*LPNMDAYSTATE;
-typedef struct tagREBARINFO {
-	UINT cbSize;
-	UINT fMask;
-	HIMAGELIST himl;
-} REBARINFO,*LPREBARINFO;
-typedef struct tagREBARBANDINFOA {
-	UINT cbSize;
-	UINT fMask;
-	UINT fStyle;
-	COLORREF clrFore;
-	COLORREF clrBack;
-	LPSTR lpText;
-	UINT cch;
-	int iImage;
-	HWND hwndChild;
-	UINT cxMinChild;
-	UINT cyMinChild;
-	UINT cx;
-	HBITMAP hbmBack;
-	UINT wID;
-#if (_WIN32_IE >= 0x0400)
-	UINT cyChild;
-	UINT cyMaxChild;
-	UINT cyIntegral;
-	UINT cxIdeal;
-	LPARAM lParam;
-	UINT cxHeader;
-#endif
-} REBARBANDINFOA,*LPREBARBANDINFOA;
-typedef struct tagREBARBANDINFOW {
-	UINT cbSize;
-	UINT fMask;
-	UINT fStyle;
-	COLORREF clrFore;
-	COLORREF clrBack;
-	LPWSTR lpText;
-	UINT cch;
-	int iImage;
-	HWND hwndChild;
-	UINT cxMinChild;
-	UINT cyMinChild;
-	UINT cx;
-	HBITMAP hbmBack;
-	UINT wID;
-#if (_WIN32_IE >= 0x0400)
-	UINT cyChild;
-	UINT cyMaxChild;
-	UINT cyIntegral;
-	UINT cxIdeal;
-	LPARAM lParam;
-	UINT cxHeader;
-#endif
-} REBARBANDINFOW,*LPREBARBANDINFOW;
-typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
-typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
-#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
-#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagNMLVODSTATECHANGE {
-  NMHDR hdr;
-  int iFrom;
-  int iTo;
-  UINT uNewState;
-  UINT uOldState;
-} NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE;
-typedef struct tagIMAGELISTDRAWPARAMS {
-	DWORD cbSize;
-	HIMAGELIST himl;
-	int i;
-	HDC hdcDst;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	int xBitmap;
-	int yBitmap;
-	COLORREF rgbBk;
-	COLORREF rgbFg;
-	UINT fStyle;
-	DWORD dwRop;
-#if (_WIN32_WINNT >= 0x0501)
-	DWORD fState;
-	DWORD Frame;
-	COLORREF crEffect;
-#endif
-} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
-#endif /* (_WIN32_IE >= 0x0300) */
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMREBARCHILDSIZE {
-	NMHDR hdr;
-	UINT uBand;
-	UINT wID;
-	RECT rcChild;
-	RECT rcBand;
-} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
-typedef struct tagNMREBAR {
-	NMHDR hdr;
-	DWORD dwMask;
-	UINT uBand;
-	UINT fStyle;
-	UINT wID;
-	LPARAM lParam;
-} NMREBAR,*LPNMREBAR;
-typedef struct tagNMRBAUTOSIZE {
-	NMHDR hdr;
-	BOOL fChanged;
-	RECT rcTarget;
-	RECT rcActual;
-} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagNMREBARCHEVRON {
-	NMHDR hdr;
-	UINT uBand;
-	UINT wID;
-	LPARAM lParam;
-	RECT rc;
-	LPARAM lParamNM;
-} NMREBARCHEVRON, *LPNMREBARCHEVRON;
-#endif
-typedef struct _RB_HITTESTINFO {
-	POINT pt;
-	UINT flags;
-	int iBand;
-} RBHITTESTINFO,*LPRBHITTESTINFO;
-#endif
-typedef struct _DSA *HDSA;
-typedef struct _DPA *HDPA;
-typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(PVOID,PVOID);
-typedef INT (CALLBACK *PFNDSAENUMCALLBACK)(PVOID,PVOID);
-typedef INT (CALLBACK *PFNDPACOMPARE)(PVOID,PVOID,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
-typedef struct tagLITEM {
-	UINT mask;
-	int iLink;
-	UINT state;
-	UINT stateMask;
-	WCHAR szID[MAX_LINKID_TEXT];
-	WCHAR szUrl[L_MAX_URL_LENGTH];
-} LITEM,*PLITEM;
-typedef struct tagLHITTESTINFO {
-	POINT pt;
-	LITEM item;
-} LHITTESTINFO,*PLHITTESTINFO;
-typedef struct tagNMLINK {
-	NMHDR hdr;
-	LITEM item;
-} NMLINK,*PNMLINK;
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#define INDEXTOOVERLAYMASK(i) ((i)<<8)
-#define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
-#define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l))
-#define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p))
-#define CCSIZEOF_STRUCT(s,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
-#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
-#define MAKEIPRANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low)))
-#define FIRST_IPADDRESS(a) ((a>>24) & 0xff)
-#define SECOND_IPADDRESS(a) ((a>>16) & 0xff)
-#define THIRD_IPADDRESS(a)  ((a>>8) & 0xff)
-#define FOURTH_IPADDRESS(a) (a & 0xff)
-#define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL)
-#define Animate_Open(w,f) (BOOL)SNDMSG(w,ACM_OPEN,0,(LPARAM)f)
-#define Animate_OpenEx(w,h,s) (BOOL)SNDMSG(w,ACM_OPEN,(WPARAM)h,(LPARAM)(LPTSTR)(s))
-#define Animate_Play(w,f,t,r) (BOOL)SNDMSG(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t))
-#define Animate_Stop(w)	(BOOL)SNDMSG(w,ACM_STOP,0,0)
-#define Animate_Close(w)	Animate_Open(w,NULL)
-#define Animate_Seek(w,f)	Animate_Play(w,f,f,1)
-HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int);
-HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT);
-HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT);
-HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT);
-HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int);
-#define DateTime_GetMonthCal(hwnd) SNDMSG(hwnd, DTM_GETMONTHCAL, 0, 0)
-#define DateTime_GetMonthCalColor(hwnd, icolor) SNDMSG(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0)
-#define DateTime_GetMonthCalFont(hwnd) SNDMSG(hwnd,DTM_GETMCFONT,0,0)
-#define DateTime_GetRange(hwnd,lpsystimearray) SNDMSG(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray)
-#define DateTime_GetSystemtime(hwnd,lpsystime) SNDMSG(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime)
-#define DateTime_SetFormat(hwnd,lpszformat) SNDMSG(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat)
-#define DateTime_SetMonthCalColor(hwnd,icolor,clr) SNDMSG(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr)
-#define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SNDMSG(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam)
-#define DateTime_SetRange(hwnd,flags,lpsystimearray) SNDMSG(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray)
-#define DateTime_SetSystemtime(hwnd,flag,lpsystime) SNDMSG(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime)
-void WINAPI DrawInsert(HWND,HWND,int);
-void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
-void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
-void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
-#if (_WIN32_IE >= 0x0500)
-LANGID WINAPI GetMUILanguage(VOID);
-#endif
-#define Header_GetItemCount(w) (int)SNDMSG((w),HDM_GETITEMCOUNT,0,0)
-#define Header_InsertItem(w,i,phdi) (int)SNDMSG((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
-#define Header_DeleteItem(w,i) (BOOL)SNDMSG((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
-#define Header_GetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
-#define Header_SetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
-#define Header_Layout(w,l) (BOOL)SNDMSG((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
-#if (_WIN32_IE >= 0x0300)
-#define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
-#define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
-#define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
-#define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
-#define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
-#define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
-#endif
-HDSA WINAPI DSA_Create(INT,INT);
-BOOL WINAPI DSA_Destroy(HDSA);
-VOID WINAPI DSA_DestroyCallback(HDSA,PFNDSAENUMCALLBACK,PVOID);
-PVOID WINAPI DSA_GetItemPtr(HDSA,INT);
-INT WINAPI DSA_InsertItem(HDSA,INT,PVOID);
-HDPA WINAPI DPA_Create(INT);
-BOOL WINAPI DPA_Destroy(HDPA);
-PVOID WINAPI DPA_DeletePtr(HDPA,INT);
-BOOL WINAPI DPA_DeleteAllPtrs(HDPA);
-VOID WINAPI DPA_EnumCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
-VOID WINAPI DPA_DestroyCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
-BOOL WINAPI DPA_SetPtr(HDPA,INT,PVOID);
-INT WINAPI DPA_InsertPtr(HDPA,INT,PVOID);
-PVOID WINAPI DPA_GetPtr(HDPA,INT_PTR);
-BOOL WINAPI DPA_Sort(HDPA,PFNDPACOMPARE,LPARAM);
-INT WINAPI DPA_Search(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT);
-BOOL WINAPI Str_SetPtrW(LPWSTR*,LPCWSTR);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
-BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
-BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
-BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
-INT WINAPI FlatSB_GetScrollPos(HWND,INT);
-BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
-#ifdef _WIN64
-BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
-#else
-#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
-#endif
-INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
-INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
-INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
-BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
-#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
-BOOL WINAPI InitializeFlatSB(HWND);
-HRESULT WINAPI UninitializeFlatSB(HWND);
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
-BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
-BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
-LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
-INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
-#endif /* _WIN32_WINNT >= 0x0501 */
-int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
-#define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
-int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
-BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
-HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
-BOOL WINAPI ImageList_Destroy(HIMAGELIST);
-BOOL WINAPI ImageList_DragEnter(HWND,int,int);
-BOOL WINAPI ImageList_DragLeave(HWND);
-BOOL WINAPI ImageList_DragMove(int,int);
-BOOL WINAPI ImageList_DragShowNolock(BOOL);
-BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
-BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
-void WINAPI ImageList_EndDrag(VOID);
-#define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
-COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
-HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
-HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
-BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
-int WINAPI ImageList_GetImageCount(HIMAGELIST);
-BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
-#define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
-HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
-HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
-HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
-BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
-#define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
-BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
-int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
-COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
-BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
-BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
-BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
-#ifdef _OBJIDL_H
-HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
-BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
-#endif
-#if (_WIN32_IE >= 0x0400)
-HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
-#endif
-void WINAPI InitCommonControls(void);
-#if (_WIN32_IE >= 0x0300)
-BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
-#endif
-#if (_WIN32_IE >= 0x0500)
-VOID WINAPI InitMUILanguage(LANGID);
-#endif
-int WINAPI LBItemFromPt(HWND,POINT,BOOL);
-#define ListView_GetBkColor(w) (COLORREF)SNDMSG((w),LVM_GETBKCOLOR,0,0)
-#define ListView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),LVM_GETIMAGELIST,(i),0)
-#define ListView_GetItemCount(w) (int)SNDMSG((w),LVM_GETITEMCOUNT,0,0)
-#define ListView_GetItem(w,i) (BOOL)SNDMSG((w),LVM_GETITEM,0,(LPARAM)(i))
-#define ListView_SetBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETBKCOLOR,0,(LPARAM)c)
-#define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SNDMSG((w),LVM_SETIMAGELIST,(i),(LPARAM)(h))
-#define ListView_SetItem(w,i) (BOOL)SNDMSG((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i))
-#define ListView_InsertItem(w,i) (int)SNDMSG((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i))
-#define ListView_DeleteItem(w,i) (BOOL)SNDMSG((w),LVM_DELETEITEM,i,0)
-#define ListView_DeleteAllItems(w) (BOOL)SNDMSG((w),LVM_DELETEALLITEMS,0,0)
-#define ListView_GetCallbackMask(w) (UINT)SNDMSG((w),LVM_GETCALLBACKMASK,0,0)
-#define ListView_SetCallbackMask(w,m) (BOOL)SNDMSG((w),LVM_SETCALLBACKMASK,m,0)
-#define ListView_GetNextItem(w,i,f) (int)SNDMSG((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0))
-#define ListView_FindItem(w,i,p) (int)SNDMSG((w), LVM_FINDITEM,(WPARAM)i,(LPARAM)(const LV_FINDINFO*)(p))
-#define ListView_GetItemRect(w,i,p,c) (BOOL)SNDMSG((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0))
-#define ListView_SetItemPosition(w,i,x,y) (BOOL)SNDMSG((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y))
-#define ListView_GetItemPosition(w,i,p) (BOOL)SNDMSG((w),LVM_GETITEMPOSITION,i,(LPARAM)p)
-#define ListView_GetItemSpacing(w,f) (DWORD)SNDMSG((w),LVM_GETITEMSPACING,f,0)
-#define ListView_GetStringWidth(w,s) (int)SNDMSG((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s)
-#define ListView_HitTest(w,p) (int)SNDMSG((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p))
-#define ListView_EnsureVisible(w,i,f) (BOOL)SNDMSG((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0))
-#define ListView_Scroll(w,x,y) (BOOL)SNDMSG((w),LVM_SCROLL,x,y)
-#define ListView_RedrawItems(w,f,l) (BOOL)SNDMSG((w),LVM_REDRAWITEMS,f,l)
-#define ListView_Arrange(w,c) (BOOL)SNDMSG((w),LVM_ARRANGE,c,0)
-#define ListView_EditLabel(w,i) (HWND)SNDMSG((w),LVM_EDITLABEL,i,0)
-#define ListView_GetEditControl(w) (HWND)SNDMSG((w),LVM_GETEDITCONTROL,0,0)
-#define ListView_GetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p))
-#define ListView_SetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
-#define ListView_InsertColumn(w,i,p) (int)SNDMSG((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
-#define ListView_DeleteColumn(w,i) (BOOL)SNDMSG((w),LVM_DELETECOLUMN,i,0)
-#define ListView_GetColumnWidth(w,i) (int)SNDMSG((w),LVM_GETCOLUMNWIDTH,i,0)
-#define ListView_SetColumnWidth(w,i,x) (BOOL)SNDMSG((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0))
-#define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SNDMSG((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p))
-#define ListView_GetViewRect(w,p) (BOOL)SNDMSG((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p))
-#define ListView_GetTextColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTCOLOR,0,0)
-#define ListView_SetTextColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c))
-#define ListView_GetTextBkColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTBKCOLOR,0,0)
-#define ListView_SetTextBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c))
-#define ListView_GetTopIndex(w) (int)SNDMSG((w),LVM_GETTOPINDEX,0,0)
-#define ListView_GetCountPerPage(w) (int)SNDMSG((w),LVM_GETCOUNTPERPAGE,0,0)
-#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
-#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
-#define ListView_Update(w,i) (BOOL)SNDMSG((w),LVM_UPDATE,(WPARAM)(i),0)
-#define ListView_SetItemState(w,i,d,m) \
-{ \
-	LV_ITEM _lvi;\
-	_lvi.stateMask=m;\
-	_lvi.state=d;\
-	SNDMSG((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_GetItemState(w,i,m) (UINT)SNDMSG((w),LVM_GETITEMSTATE,i,m)
-#define ListView_GetItemText(w,i,iS,s,n) \
-{ \
-	LV_ITEM _lvi;\
-	_lvi.iSubItem=iS;\
-	_lvi.cchTextMax=n;\
-	_lvi.pszText=s;\
-	SNDMSG((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_SetItemText(w,i,iS,s) \
-{ \
-	LV_ITEM _lvi;\
-	_lvi.iSubItem=iS;\
-	_lvi.pszText=s;\
-	SNDMSG((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_SetItemCount(w,n) (void)SNDMSG((w),LVM_SETITEMCOUNT,n,0)
-#define ListView_SortItems(w,f,l) (BOOL)SNDMSG((w),LVM_SORTITEMS,l,(LPARAM)f)
-#define ListView_SetItemPosition32(w,i,x,y) \
-{ \
-	POINT p={x,y}; \
-	SNDMSG((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\
-}
-#define ListView_GetSelectedCount(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOUNT,0,0)
-#define ListView_GetCheckState(w,i) ((((UINT)(SNDMSG((w),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK)))>>12)-1)
-#define ListView_SetCheckState(w,i,f) ListView_SetItemState(w,i,INDEXTOSTATEIMAGEMASK((f)+1),LVIS_STATEIMAGEMASK)
-#define ListView_GetISearchString(w,lpsz) (BOOL)SNDMSG((w),LVM_GETISEARCHSTRING,0,(LPARAM)(LPTSTR)(lpsz))
-#define ListView_CancelEditLabel(w) (VOID)SNDMSG((w),LVM_CANCELEDITLABEL,0,0)
-#define ListView_EnableGroupView(w,i) (int)SNDMSG((w),LVM_ENABLEGROUPVIEW,(WPARAM)(i),0)
-#define ListView_GetGroupInfo(w,i,p) (int)SNDMSG((w),LVM_GETGROUPINFO,(WPARAM)(i),(LPARAM)(p))
-#define ListView_GetGroupMetrics(w,p) SNDMSG((w),LVM_GETGROUPMETRICS,0,(LPARAM)(p))
-#define ListView_GetInsertMark(w,p) (BOOL)SNDMSG((w),LVM_GETINSERTMARK,0,(LPARAM)(p))
-#define ListView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),LVM_GETINSERTMARKCOLOR,0,0)
-#define ListView_GetInsertMarkRect(w,p) (int)SNDMSG((w),LVM_GETINSERTMARKRECT,0,(LPARAM)(p))
-#define ListView_GetOutlineColor(w) (COLORREF)SNDMSG((w),LVM_GETOUTLINECOLOR,0,0)
-#define ListView_GetSelectedColumn(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOLUMN,0,0)
-#define ListView_GetTileInfo(w,p) SNDMSG((w),LVM_GETTILEINFO,0,(LPARAM)(p))
-#define ListView_GetTileViewInfo(w,p) SNDMSG((w),LVM_GETTILEVIEWINFO,0,(LPARAM)(p))
-#define ListView_GetView(w) (DWORD)SNDMSG((w),LVM_GETVIEW,0,0)
-#define ListView_HasGroup(w,i) (BOOL)SNDMSG((w),LVM_HASGROUP,(WPARAM)(i),0)
-#define ListView_InsertGroup(w,i,p) (int)SNDMSG((w),LVM_INSERTGROUP,(WPARAM)(i),(LPARAM)(p))
-#define ListView_InsertGroupSorted(w,p) SNDMSG((w),LVM_INSERTGROUPSORTED,(WPARAM)(p),0)
-#define ListView_InsertMarkHitTest(w,p,t) (BOOL)SNDMSG((w),LVM_INSERTMARKHITTEST,(WPARAM)(p),(LPARAM)(t))
-#define ListView_IsGroupViewEnabled(w) (BOOL)SNDMSG((w),LVM_ISGROUPVIEWENABLED,0,0)
-#define ListView_MapIDToIndex(w,i) (UINT)SNDMSG((w),LVM_MAPIDTOINDEX,(WPARAM)(i),0)
-#define ListView_MoveGroup(w,i,t) SNDMSG((w),LVM_MOVEGROUP,(WPARAM)(i),(LPARAM)(t))
-#define ListView_RemoveAllGroups(w) SNDMSG((w),LVM_REMOVEALLGROUPS,0,0)
-#define ListView_RemoveGroup(w,i) (int)SNDMSG((w),LVM_REMOVEGROUP,(WPARAM)(i),0)
-#define ListView_SetGroupInfo(w,i,p) (int)SNDMSG((w),LVM_SETGROUPINFO,(WPARAM)(i),(LPARAM)(p))
-#define ListView_SetGroupMetrics(w,p) SNDMSG((w),LVM_SETGROUPMETRICS,0,(LPARAM)(p))
-#define ListView_SetInfoTip(w,p) (BOOL)SNDMSG((w),LVM_SETINFOTIP,0,(LPARAM)(p))
-#define ListView_SetInsertMark(w,p) (BOOL)SNDMSG((w),LVM_SETINSERTMARK,0,(LPARAM)(p))
-#define ListView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),LVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
-#define ListView_SetOutlineColor(w,c) (COLORREF)SNDMSG((w),LVM_SETOUTLINECOLOR,0,(LPARAM)(c))
-#if (_WIN32_WINNT >= 0x0501)
-#define ListView_SetSelectedColumn(w,i) SNDMSG((w),LVM_SETSELECTEDCOLUMN,(WPARAM)i,0)
-#endif
-#define ListView_SetTileInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEINFO,0,(LPARAM)(p))
-#define ListView_SetTileViewInfo(w,p) (BOOL)SNDMSG((w),LVM_SETTILEVIEWINFO,0,(LPARAM)(p))
-#define ListView_SetView(w,i) (int)SNDMSG((w),LVM_SETVIEW,(WPARAM)(i),0)
-#define ListView_SortGroups(w,c,p) (int)SNDMSG((w),LVM_SORTGROUPS,(WPARAM)(c),(LPARAM)(p))
-#define ListView_SortItemsEx(w,c,p) (BOOL)SNDMSG((w),LVM_SORTITEMSEX,(WPARAM)(p),(LPARAM)(c))
-
-#if (_WIN32_WINNT >= 0x0501)
-#define ComboBox_SetMinVisible(w,i) (BOOL)SNDMSG((w), CB_SETMINVISIBLE,(WPARAM)(i),0);
-#define ComboBox_GetMinVisible(w) (INT)SNDMSG((w),CB_GETMINVISIBLE,0,0);
-#endif
-
-BOOL WINAPI MakeDragList(HWND);
-void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
-#define MonthCal_GetColor(hwnd,icolor) SNDMSG(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0)
-#define MonthCal_GetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime)
-#define MonthCal_GetFirstDayOfWeek(hwnd) SNDMSG(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0)
-#define MonthCal_GetMaxSelCount(hwnd) SNDMSG(hwnd,MCM_GETMAXSELCOUNT,0,0)
-#define MonthCal_GetMaxTodayWidth(hwnd) SNDMSG(hwnd,MCM_GETMAXTODAYWIDTH,0,0)
-#define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SNDMSG(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo)
-#define MonthCal_GetMonthDelta(hwnd) SNDMSG(hwnd,MCM_GETMONTHDELTA,0,0)
-#define MonthCal_GetMonthRange(hwnd,flag,systimearray) SNDMSG(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray)
-#define MonthCal_GetRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray)
-#define MonthCal_GetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray)
-#define MonthCal_GetToday(hwnd,systime) SNDMSG(hwnd,MCM_GETTODAY,0,(LPARAM)systime)
-#define MonthCal_GetUnicodeFormat(hwnd) SNDMSG(hwnd,MCM_GETUNICODEFORMAT,0,0)
-#define MonthCal_HitTest(hwnd,pmchittest) SNDMSG(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest)
-#define MonthCal_SetColor(hwnd,icolor,clr) SNDMSG(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr)
-#define MonthCal_SetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime)
-#define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SNDMSG(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray)
-#define MonthCal_SetFirstDayOfWeek(hwnd,iday) SNDMSG(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday)
-#define MonthCal_SetMaxSelCount(hwnd,imax) SNDMSG(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0)
-#define MonthCal_SetMonthDelta(hwnd,idelta) SNDMSG(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0)
-#define MonthCal_SetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray)
-#define MonthCal_SetToday(hwnd,systime) SNDMSG(hwnd,MCM_SETTODAY,0,(LPARAM)systime)
-#define MonthCal_SetUnicodeFormat(hwnd,unicode) SNDMSG(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0)
-#define MonthCal_SetRange(w,f,st) (BOOL)SNDMSG((w),MCM_SETRANGE,(WPARAM)(f),(LPARAM)(st))
-BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT);
-#define TabCtrl_GetItem(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p))
-#define TabCtrl_SetItem(w,i,p) (BOOL)SNDMSG((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p))
-#define TabCtrl_InsertItem(w,i,p) (int)SNDMSG((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p))
-#define TabCtrl_DeleteItem(w,i) (BOOL)SNDMSG((w),TCM_DELETEITEM,i,0)
-#define TabCtrl_DeleteAllItems(w) (BOOL)SNDMSG((w),TCM_DELETEALLITEMS,0,0)
-#define TabCtrl_GetItemRect(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p))
-#define TabCtrl_GetCurSel(w) (int)SNDMSG((w),TCM_GETCURSEL,0,0)
-#define TabCtrl_SetCurSel(w,i) (int)SNDMSG((w),TCM_SETCURSEL,i,0)
-#define TabCtrl_HitTest(w,p) (int)SNDMSG((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p))
-#define TabCtrl_SetItemExtra(w,c) (BOOL)SNDMSG((w),TCM_SETITEMEXTRA,c,0)
-#define TabCtrl_AdjustRect(w,b,p) (int)SNDMSG((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p)
-#define TabCtrl_SetItemSize(w,x,y) (DWORD)SNDMSG((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
-#define TabCtrl_RemoveImage(w,i) (void)SNDMSG((w),TCM_REMOVEIMAGE,i,0)
-#define TabCtrl_SetPadding(w,x,y) (void)SNDMSG((w),TCM_SETPADDING,0,MAKELPARAM(x,y))
-#define TabCtrl_GetRowCount(w) (int)SNDMSG((w),TCM_GETROWCOUNT,0,0)
-#define TabCtrl_GetToolTips(w) (HWND)SNDMSG((w),TCM_GETTOOLTIPS,0,0)
-#define TabCtrl_SetToolTips(w,t) (void)SNDMSG((w),TCM_SETTOOLTIPS,(WPARAM)t,0)
-#define TabCtrl_GetCurFocus(w) (int)SNDMSG((w),TCM_GETCURFOCUS,0,0)
-#define TabCtrl_SetCurFocus(w,i) (void)SNDMSG((w),TCM_SETCURFOCUS,i,0)
-#define TabCtrl_GetImageList(w) (HIMAGELIST)SNDMSG((w),TCM_GETIMAGELIST,0,0)
-#define TabCtrl_SetImageList(w,h) (HIMAGELIST)SNDMSG((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h))
-#define TabCtrl_GetItemCount(w) (int)SNDMSG((w),TCM_GETITEMCOUNT,0,0)
-BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT);
-#define TreeView_InsertItem(w,i) (HTREEITEM)SNDMSG((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i))
-#define TreeView_DeleteItem(w,i) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_DeleteAllItems(w) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
-#define TreeView_Expand(w,i,c) (BOOL)SNDMSG((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SNDMSG((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p)))
-#define TreeView_GetCount(w) (UINT)SNDMSG((w),TVM_GETCOUNT,0,0)
-#define TreeView_GetIndent(w) (UINT)SNDMSG((w),TVM_GETINDENT,0,0)
-#define TreeView_SetIndent(w,i) (BOOL)SNDMSG((w),TVM_SETINDENT,i,0)
-#define TreeView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),TVM_GETIMAGELIST,i,0)
-#define TreeView_SetImageList(w,h,i) (HIMAGELIST)SNDMSG((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h))
-#define TreeView_GetNextItem(w,i,c) (HTREEITEM)SNDMSG((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetChild(w,i)	TreeView_GetNextItem(w,i,TVGN_CHILD)
-#define TreeView_GetNextSibling(w,i)	TreeView_GetNextItem(w,i,TVGN_NEXT)
-#define TreeView_GetPrevSibling(w,i)	TreeView_GetNextItem(w,i,TVGN_PREVIOUS)
-#define TreeView_GetParent(w,i)	TreeView_GetNextItem(w,i,TVGN_PARENT)
-#define TreeView_GetFirstVisible(w)	TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE)
-#define TreeView_GetNextVisible(w,i)	TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE)
-#define TreeView_GetPrevVisible(w,i)	TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE)
-#define TreeView_GetSelection(w)	TreeView_GetNextItem(w,NULL,TVGN_CARET)
-#define TreeView_GetDropHilight(w)	TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE)
-#define TreeView_GetRoot(w)	TreeView_GetNextItem(w,NULL,TVGN_ROOT)
-#define TreeView_Select(w,i,c) (BOOL)SNDMSG((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SelectItem(w,i)	TreeView_Select(w,i,TVGN_CARET)
-#define TreeView_SelectDropTarget(w,i)	TreeView_Select(w,i,TVGN_DROPHILITE)
-#define TreeView_SelectSetFirstVisible(w,i)	TreeView_Select(w,i,TVGN_FIRSTVISIBLE)
-#define TreeView_GetItem(w,i) (BOOL)SNDMSG((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i))
-#define TreeView_SetItem(w,i) (BOOL)SNDMSG((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i))
-#define TreeView_EditLabel(w,i) (HWND)SNDMSG((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetEditControl(w) (HWND)SNDMSG((w),TVM_GETEDITCONTROL,0,0)
-#define TreeView_GetVisibleCount(w) (UINT)SNDMSG((w),TVM_GETVISIBLECOUNT,0,0)
-#define TreeView_HitTest(w,p) (HTREEITEM)SNDMSG((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p))
-#define TreeView_CreateDragImage(w,i) (HIMAGELIST)SNDMSG((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SortChildren(w,i,r) (BOOL)SNDMSG((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i))
-#define TreeView_EnsureVisible(w,i) (BOOL)SNDMSG((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SortChildrenCB(w,s,r) (BOOL)SNDMSG((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTVSORTCB)(s))
-#define TreeView_EndEditLabelNow(w,f) (BOOL)SNDMSG((w),TVM_ENDEDITLABELNOW,f,0)
-#define TreeView_GetISearchString(w,s) (BOOL)SNDMSG((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
-#if (_WIN32_IE >= 0x0300)
-#define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
-#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
-#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
-#define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
-#define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
-#define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
-#define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
-#define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
-#define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
-#define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
-#define ListView_SubItemHitTest(w,p) (INT)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
-#define ListView_SetItemCountEx(w,i,f) (void)SNDMSG((w),LVM_SETITEMCOUNT,(WPARAM)(i),(LPARAM)(f))
-WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
-WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
-WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
-#define TabCtrl_SetMinTabWidth(hwnd,x) SNDMSG((hwnd),TCM_SETMINTABWIDTH,0,x)
-#define TabCtrl_DeselectAll(hwnd,fExcludeFocus) SNDMSG((hwnd),TCM_DESELECTALL,fExcludeFocus,0)
-#define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
-#define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_GETBKIMAGE,0,(LPARAM)(plvbki))
-#define ListView_SetBkImage(h,plvbki) (BOOL)SNDMSG((h),LVM_SETBKIMAGE,0,(LPARAM)(plvbki))
-#define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
-#define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
-#define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
-#define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
-#define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
-#define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
-#define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
-#define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
-#define ListView_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),LVM_SETUNICODEFORMAT,(WPARAM)(f),0)
-#define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),LVM_GETUNICODEFORMAT,0,0)
-#define TabCtrl_HighlightItem(w,i,fHighlight) SNDMSG((w),TCM_HIGHLIGHTITEM,(WPARAM)i,(LPARAM)MAKELONG(fHighlight,0))
-#define TabCtrl_SetExtendedStyle(w,dw) SNDMSG((w),TCM_SETEXTENDEDSTYLE,0,dw)
-#define TabCtrl_GetExtendedStyle(w) SNDMSG((w),TCM_GETEXTENDEDSTYLE,0,0)
-#define TabCtrl_SetUnicodeFormat(w,u) SNDMSG((w),TCM_SETUNICODEFORMAT,(WPARAM)(u),0)
-#define TabCtrl_GetUnicodeFormat(w) SNDMSG((w),TCM_GETUNICODEFORMAT,0,0)
-#define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
-#define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
-#define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
-#define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
-#define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
-#define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
-#define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
-#define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
-#define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
-#define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
-#define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
-#define TreeView_SetItemState(w,i,d,m) \
-{ \
-	TVITEM _tvi;\
-	_tvi.mask=TVIF_STATE;\
-	_tvi.hItem=i; \
-	_tvi.stateMask=m;\
-	_tvi.state=d;\
-	SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
-}
-#endif
-
-#ifdef UNICODE
-typedef HDITEMW HDITEM;
-typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOW NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
-typedef TVITEMW TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXW TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTW TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWW NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENW
-#define COMBOBOXEXITEM	COMBOBOXEXITEMW
-#define PCOMBOBOXEXITEM	PCOMBOBOXEXITEMW
-#define PCCOMBOBOXEXITEM	PCCOMBOBOXEXITEMW
-#define CBEM_INSERTITEM	CBEM_INSERTITEMW
-#define CBEM_SETITEM	CBEM_SETITEMW
-#define CBEM_GETITEM	CBEM_GETITEMW
-#define CBEN_ENDEDIT	CBEN_ENDEDITW
-#define NMCBEENDEDIT	NMCBEENDEDITW
-#define LPNMCBEENDEDIT	LPNMCBEENDEDITW
-#define PNMCBEENDEDIT	PNMCBEENDEDITW
-#if _WIN32_IE >= 0x0400
-#define NMCOMBOBOXEX	NMCOMBOBOXEXW
-#define PNMCOMBOBOXEX	PNMCOMBOBOXEXW
-#define CBEN_GETDISPINFO	CBEN_GETDISPINFOW
-#define CBEN_DRAGBEGIN	CBEN_DRAGBEGINW
-#define NMCBEDRAGBEGIN	NMCBEDRAGBEGINW
-#define LPNMCBEDRAGBEGIN	LPNMCBEDRAGBEGINW
-#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT	SB_GETTEXTW
-#define SB_SETTEXT	SB_SETTEXTW
-#define SB_GETTEXTLENGTH	SB_GETTEXTLENGTHW
-#define HDM_INSERTITEM HDM_INSERTITEMW
-#define HDM_GETITEM HDM_GETITEMW
-#define HDM_SETITEM HDM_SETITEMW
-#define HDN_ITEMCHANGING	HDN_ITEMCHANGINGW
-#define HDN_ITEMCHANGED	HDN_ITEMCHANGEDW
-#define HDN_ITEMCLICK	HDN_ITEMCLICKW
-#define HDN_ITEMDBLCLICK	HDN_ITEMDBLCLICKW
-#define HDN_DIVIDERDBLCLICK	HDN_DIVIDERDBLCLICKW
-#define HDN_BEGINTRACK	HDN_BEGINTRACKW
-#define HDN_ENDTRACK	HDN_ENDTRACKW
-#define HDN_TRACK	HDN_TRACKW
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOW
-#endif
-#define HD_NOTIFY HD_NOTIFYW
-#define TBSAVEPARAMS TBSAVEPARAMSW
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
-#define TB_SAVERESTORE TB_SAVERESTOREW
-#define TB_ADDSTRING TB_ADDSTRINGW
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
-#if _WIN32_IE >= 0x400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOW
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOW
-#define TB_INSERTBUTTON TB_INSERTBUTTONW
-#define TB_ADDBUTTONS TB_ADDBUTTONSW
-#define TB_MAPACCELERATOR TB_MAPACCELERATORW
-#define TB_GETSTRING TB_GETSTRINGW
-#define TBBUTTONINFO TBBUTTONINFOW
-#define LPTBBUTTONINFO LPTBBUTTONINFOW
-#define TBN_GETDISPINFO TBN_GETDISPINFOW
-#define NMTBDISPINFO NMTBDISPINFOW
-#define LPNMTBDISPINFO LPNMTBDISPINFOW
-#define NMTBGETINFOTIP NMTBGETINFOTIPW
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
-#endif
-#define TBNOTIFY TBNOTIFYW
-#define LPTBNOTIFY LPTBNOTIFYW
-#define NMTOOLBAR NMTOOLBARW
-#define LPNMTOOLBAR LPNMTOOLBARW
-#define TTM_ADDTOOL	TTM_ADDTOOLW
-#define TTM_DELTOOL	TTM_DELTOOLW
-#define TTM_NEWTOOLRECT	TTM_NEWTOOLRECTW
-#define TTM_GETTOOLINFO	TTM_GETTOOLINFOW
-#define TTM_SETTOOLINFO	TTM_SETTOOLINFOW
-#define TTM_HITTEST	TTM_HITTESTW
-#define TTM_GETTEXT	TTM_GETTEXTW
-#define TTM_UPDATETIPTEXT	TTM_UPDATETIPTEXTW
-#define TTM_ENUMTOOLS	TTM_ENUMTOOLSW
-#define TTM_GETCURRENTTOOL	TTM_GETCURRENTTOOLW
-#define TTN_NEEDTEXT TTN_NEEDTEXTW
-#define TTN_GETDISPINFO TTN_GETDISPINFOW
-#define SB_GETTEXT	SB_GETTEXTW
-#define SB_SETTEXT	SB_SETTEXTW
-#define SB_GETTEXTLENGTH	SB_GETTEXTLENGTHW
-#define LV_ITEM LV_ITEMW
-#define LVITEM LVITEMW
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE	LVBKIMAGEW
-#define LPLVBKIMAGE	LPLVBKIMAGEW
-#define LVM_SETBKIMAGE	LVM_SETBKIMAGEW
-#define LVM_GETBKIMAGE	LVM_GETBKIMAGEW
-#endif /* _WIN32_IE >= 0x400 */
-#define LVM_GETITEM	LVM_GETITEMW
-#define LVM_SETITEM LVM_SETITEMW
-#define LVM_INSERTITEM LVM_INSERTITEMW
-#define LV_FINDINFO LV_FINDINFOW
-#define LVFINDINFO LVFINDINFOW
-#define LPFINDINFO LPFINDINFOW
-#define NMLVFINDITEM NMLVFINDITEMW
-#define PNMLVFINDITEM PNMLVFINDITEMW
-#define LPNMLVFINDITEM LPNMLVFINDITEMW
-#define LVM_FINDITEM LVM_FINDITEMW
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
-#define LVM_EDITLABEL LVM_EDITLABELW
-#define LV_COLUMN LV_COLUMNW
-#define LVCOLUMN LVCOLUMNW
-#define LVM_GETCOLUMN LVM_GETCOLUMNW
-#define LVM_SETCOLUMN LVM_SETCOLUMNW
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTW
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTW
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
-#define LVN_GETDISPINFO LVN_GETDISPINFOW
-#define LVN_SETDISPINFO LVN_SETDISPINFOW
-#define LVN_GETINFOTIP LVN_GETINFOTIPW
-#define NMLVGETINFOTIP NMLVGETINFOTIPW
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
-#define LV_DISPINFO LV_DISPINFOW
-#define NMLVDISPINFO NMLVDISPINFOW
-#define LPNMLVDISPINFO LPNMLVDISPINFOW
-#define TVM_INSERTITEM TVM_INSERTITEMW
-#define TVM_GETITEM TVM_GETITEMW
-#define TVM_SETITEM TVM_SETITEMW
-#define TVM_EDITLABEL TVM_EDITLABELW
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
-#define TV_DISPINFO NMTVDISPINFOW
-#define NMTVDISPINFO NMTVDISPINFOW
-#define LPNMTVDISPINFO LPNMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPW
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
-#define TVN_GETINFOTIP TVN_GETINFOTIPW
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGW
-#define TVN_SELCHANGED TVN_SELCHANGEDW
-#define TVN_GETDISPINFO TVN_GETDISPINFOW
-#define TVN_SETDISPINFO TVN_SETDISPINFOW
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
-#define TVN_BEGINDRAG TVN_BEGINDRAGW
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGW
-#define TVN_DELETEITEM TVN_DELETEITEMW
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
-#define TC_ITEMHEADER TC_ITEMHEADERW
-#define TCITEMHEADER TCITEMHEADERW
-#define LPTCITEMHEADER LPTCITEMHEADERW
-#define TC_ITEM TC_ITEMW
-#define TCITEM TCITEMW
-#define LPTCITEM LPTCITEMW
-#define TCM_GETITEM TCM_GETITEMW
-#define TCM_SETITEM TCM_SETITEMW
-#define TCM_INSERTITEM TCM_INSERTITEMW
-#define CreateStatusWindow CreateStatusWindowW
-#define DrawStatusText DrawStatusTextW
-#define ImageList_LoadImage ImageList_LoadImageW
-#define DTM_SETFORMAT DTM_SETFORMATW
-#define DTN_USERSTRING DTN_USERSTRINGW
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNW
-#define DTN_FORMAT DTN_FORMATW
-#define DTN_FORMATQUERY DTN_FORMATQUERYW
-typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOW
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDW
-#define RB_SETBANDINFO RB_SETBANDINFOW
-#else /* UNICODE */
-typedef HDITEMA HDITEM;
-typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOA NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
-typedef TVITEMA TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXA TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTA TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWA NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENA
-#define COMBOBOXEXITEM	COMBOBOXEXITEMA
-#define PCOMBOBOXEXITEM	PCOMBOBOXEXITEMA
-#define PCCOMBOBOXEXITEM	PCCOMBOBOXEXITEMA
-#define CBEM_INSERTITEM	CBEM_INSERTITEMA
-#define CBEM_SETITEM	CBEM_SETITEMA
-#define CBEM_GETITEM	CBEM_GETITEMA
-#define CBEN_ENDEDIT	CBEN_ENDEDITA
-#define NMCBEENDEDIT	NMCBEENDEDITA
-#define LPNMCBEENDEDIT	LPNMCBEENDEDITA
-#define PNMCBEENDEDIT	PNMCBEENDEDITA
-#if _WIN32_IE >= 0x0400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOA
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOA
-#define TB_INSERTBUTTON TB_INSERTBUTTONA
-#define TB_ADDBUTTONS TB_ADDBUTTONSA
-#define TB_MAPACCELERATOR TB_MAPACCELERATORA
-#define TB_GETSTRING TB_GETSTRINGA
-#define NMCOMBOBOXEX	NMCOMBOBOXEXA
-#define PNMCOMBOBOXEX	PNMCOMBOBOXEXA
-#define CBEN_DRAGBEGIN	CBEN_DRAGBEGINA
-#define CBEN_GETDISPINFO	CBEN_GETDISPINFOA
-#define NMCBEDRAGBEGIN	NMCBEDRAGBEGINA
-#define LPNMCBEDRAGBEGIN	LPNMCBEDRAGBEGINA
-#define PNMCBEDRAGBEGIN	PNMCBEDRAGBEGINA
-#define TBN_GETDISPINFO TBN_GETDISPINFOA
-#define NMTBDISPINFO NMTBDISPINFOA
-#define LPNMTBDISPINFO LPNMTBDISPINFOA
-#define NMTBGETINFOTIP NMTBGETINFOTIPA
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT	SB_GETTEXTA
-#define SB_SETTEXT	SB_SETTEXTA
-#define SB_GETTEXTLENGTH	SB_GETTEXTLENGTHA
-#define HDM_INSERTITEM HDM_INSERTITEMA
-#define HDM_GETITEM HDM_GETITEMA
-#define HDM_SETITEM HDM_SETITEMA
-#define HDN_ITEMCHANGING	HDN_ITEMCHANGINGA
-#define HDN_ITEMCHANGED	HDN_ITEMCHANGEDA
-#define HDN_ITEMCLICK	HDN_ITEMCLICKA
-#define HDN_ITEMDBLCLICK	HDN_ITEMDBLCLICKA
-#define HDN_DIVIDERDBLCLICK	HDN_DIVIDERDBLCLICKA
-#define HDN_BEGINTRACK	HDN_BEGINTRACKA
-#define HDN_ENDTRACK	HDN_ENDTRACKA
-#define HDN_TRACK	HDN_TRACKA
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOA
-#endif
-#define HD_NOTIFY HD_NOTIFYA
-#define TBSAVEPARAMS TBSAVEPARAMSA
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
-#define TB_SAVERESTORE TB_SAVERESTOREA
-#define TB_ADDSTRING TB_ADDSTRINGA
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
-#if _WIN32_IE >= 0x400
-#define TBBUTTONINFO TBBUTTONINFOA
-#define LPTBBUTTONINFO LPTBBUTTONINFOA
-#endif
-#define TBNOTIFY TBNOTIFYA
-#define LPTBNOTIFY LPTBNOTIFYA
-#define NMTOOLBAR NMTOOLBARA
-#define LPNMTOOLBAR LPNMTOOLBARA
-#define TTM_ADDTOOL	TTM_ADDTOOLA
-#define TTM_DELTOOL	TTM_DELTOOLA
-#define TTM_NEWTOOLRECT	TTM_NEWTOOLRECTA
-#define TTM_GETTOOLINFO	TTM_GETTOOLINFOA
-#define TTM_SETTOOLINFO	TTM_SETTOOLINFOA
-#define TTM_HITTEST	TTM_HITTESTA
-#define TTM_GETTEXT	TTM_GETTEXTA
-#define TTM_UPDATETIPTEXT	TTM_UPDATETIPTEXTA
-#define TTM_ENUMTOOLS	TTM_ENUMTOOLSA
-#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
-#define TTN_NEEDTEXT TTN_NEEDTEXTA
-#define TTN_GETDISPINFO TTN_GETDISPINFOA
-#define SB_GETTEXT	SB_GETTEXTA
-#define SB_SETTEXT	SB_SETTEXTA
-#define SB_GETTEXTLENGTH	SB_GETTEXTLENGTHA
-#define LV_ITEM LV_ITEMA
-#define LVITEM LVITEMA
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE	LVBKIMAGEA
-#define LPLVBKIMAGE	LPLVBKIMAGEA
-#define LVM_SETBKIMAGE	LVM_SETBKIMAGEA
-#define LVM_GETBKIMAGE	LVM_GETBKIMAGEA
-#endif /* _WIN32_IE >= 0x0400 */
-#define LVM_GETITEM	LVM_GETITEMA
-#define LVM_SETITEM LVM_SETITEMA
-#define LVM_INSERTITEM LVM_INSERTITEMA
-#define LV_FINDINFO LV_FINDINFOA
-#define LVFINDINFO LVFINDINFOA
-#define LPFINDINFO LPFINDINFOA
-#define NMLVFINDITEM NMLVFINDITEMA
-#define PNMLVFINDITEM PNMLVFINDITEMA
-#define LPNMLVFINDITEM LPNMLVFINDITEMA
-#define LVM_FINDITEM LVM_FINDITEMA
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
-#define LVM_EDITLABEL LVM_EDITLABELA
-#define LV_COLUMN LV_COLUMNA
-#define LVCOLUMN LVCOLUMNA
-#define LVM_GETCOLUMN LVM_GETCOLUMNA
-#define LVM_SETCOLUMN LVM_SETCOLUMNA
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTA
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTA
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
-#define LVN_GETDISPINFO LVN_GETDISPINFOA
-#define LVN_SETDISPINFO LVN_SETDISPINFOA
-#define LVN_GETINFOTIP LVN_GETINFOTIPA
-#define NMLVGETINFOTIP NMLVGETINFOTIPA
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
-#define LV_DISPINFO LV_DISPINFOA
-#define NMLVDISPINFO NMLVDISPINFOA
-#define LPNMLVDISPINFO LPNMLVDISPINFOA
-#define TVM_INSERTITEM TVM_INSERTITEMA
-#define TVM_GETITEM TVM_GETITEMA
-#define TVM_SETITEM TVM_SETITEMA
-#define TVM_EDITLABEL TVM_EDITLABELA
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
-#define TV_DISPINFO NMTVDISPINFOA
-#define NMTVDISPINFO NMTVDISPINFOA
-#define LPNMTVDISPINFO LPNMTVDISPINFOA
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPA
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
-#define TVN_GETINFOTIP TVN_GETINFOTIPA
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGA
-#define TVN_SELCHANGED TVN_SELCHANGEDA
-#define TVN_GETDISPINFO TVN_GETDISPINFOA
-#define TVN_SETDISPINFO TVN_SETDISPINFOA
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
-#define TVN_BEGINDRAG TVN_BEGINDRAGA
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGA
-#define TVN_DELETEITEM TVN_DELETEITEMA
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
-#define TC_ITEMHEADER TC_ITEMHEADERA
-#define TCITEMHEADER TCITEMHEADERA
-#define LPTCITEMHEADER LPTCITEMHEADERA
-#define TC_ITEM TC_ITEMA
-#define TCITEM TCITEMA
-#define LPTCITEM LPTCITEMA
-#define TCM_GETITEM TCM_GETITEMA
-#define TCM_SETITEM TCM_SETITEMA
-#define TCM_INSERTITEM TCM_INSERTITEMA
-#define CreateStatusWindow CreateStatusWindowA
-#define DrawStatusText DrawStatusTextA
-#define ImageList_LoadImage ImageList_LoadImageA
-#define DTM_SETFORMAT	  DTM_SETFORMATA
-#define DTN_USERSTRING DTN_USERSTRINGA
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNA
-#define DTN_FORMAT DTN_FORMATA
-#define DTN_FORMATQUERY DTN_FORMATQUERYA
-typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOA
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDA
-#define RB_SETBANDINFO RB_SETBANDINFOA
-#endif
-#endif /* RC_INVOKED */
-
-#ifdef _WIN32_WCE               /* these are PPC only */
-
-COMMCTRLAPI HWND WINAPI CommandBar_Create(HINSTANCE, HWND, int);
-COMMCTRLAPI BOOL WINAPI CommandBar_Show(HWND, BOOL);
-COMMCTRLAPI int WINAPI CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int);
-COMMCTRLAPI HWND WINAPI CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD);
-COMMCTRLAPI BOOL WINAPI CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD );
-COMMCTRLAPI BOOL WINAPI CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
-COMMCTRLAPI BOOL WINAPI CommandBar_DrawMenuBar(HWND, WORD);
-COMMCTRLAPI HMENU WINAPI CommandBar_GetMenu(HWND, WORD);
-COMMCTRLAPI BOOL WINAPI CommandBar_AddAdornments(HWND, DWORD, DWORD);
-COMMCTRLAPI int WINAPI CommandBar_Height(HWND hwndCB);
-
-/* These two are not in the DLL */
-#define CommandBar_InsertButton(hwnd,i,lptbbutton)              \
-    SendMessage((hwnd),TB_INSERTBUTTON,(i),(lptbbutton))
-#define CommandBar_Destroy(hwnd)                                \
-    DestroyWindow(hwnd)
-
-
-#endif /* _WIN32_WCE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/commdlg.h
===================================================================
--- Daodan/MinGW/include/commdlg.h	(revision 1046)
+++ 	(revision )
@@ -1,609 +1,0 @@
-#ifndef _COMMDLG_H
-#define _COMMDLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,1)
-
-#define LBSELCHSTRINGA  "commdlg_LBSelChangedNotify"
-#define SHAREVISTRINGA  "commdlg_ShareViolation"
-#define FILEOKSTRINGA   "commdlg_FileNameOK"
-#define COLOROKSTRINGA  "commdlg_ColorOK"
-#define SETRGBSTRINGA   "commdlg_SetRGBColor"
-#define HELPMSGSTRINGA  "commdlg_help"
-#define FINDMSGSTRINGA  "commdlg_FindReplace"
-#define LBSELCHSTRINGW  L"commdlg_LBSelChangedNotify"
-#define SHAREVISTRINGW  L"commdlg_ShareViolation"
-#define FILEOKSTRINGW   L"commdlg_FileNameOK"
-#define COLOROKSTRINGW  L"commdlg_ColorOK"
-#define SETRGBSTRINGW   L"commdlg_SetRGBColor"
-#define HELPMSGSTRINGW  L"commdlg_help"
-#define FINDMSGSTRINGW  L"commdlg_FindReplace"
-#ifndef CDN_FIRST
-#define CDN_FIRST	((UINT)-601) /* also in commctrl.h */
-#define CDN_LAST	((UINT)-699)
-#endif
-#define CDN_INITDONE	CDN_FIRST
-#define CDN_SELCHANGE	(CDN_FIRST-1U)
-#define CDN_FOLDERCHANGE	(CDN_FIRST-2U)
-#define CDN_SHAREVIOLATION	(CDN_FIRST-3U)
-#define CDN_HELP	(CDN_FIRST-4U)
-#define CDN_FILEOK	(CDN_FIRST-5U)
-#define CDN_TYPECHANGE	(CDN_FIRST-6U)
-#define CDM_FIRST	(WM_USER+100)
-#define CDM_LAST	(WM_USER+200)
-#define CDM_GETSPEC	CDM_FIRST
-#define CDM_GETFILEPATH	(CDM_FIRST+1)
-#define CDM_GETFOLDERPATH (CDM_FIRST+2)
-#define CDM_GETFOLDERIDLIST	(CDM_FIRST+3)
-#define CDM_SETCONTROLTEXT	(CDM_FIRST+4)
-#define CDM_HIDECONTROL	(CDM_FIRST+5)
-#define CDM_SETDEFEXT	(CDM_FIRST+6)
-#define CC_RGBINIT	1
-#define CC_FULLOPEN	2
-#define CC_PREVENTFULLOPEN	4
-#define CC_SHOWHELP	8
-#define CC_ENABLEHOOK	16
-#define CC_ENABLETEMPLATE	32
-#define CC_ENABLETEMPLATEHANDLE	64
-#define CC_SOLIDCOLOR	128
-#define CC_ANYCOLOR	256
-#define CF_SCREENFONTS	1
-#define CF_PRINTERFONTS	2
-#define CF_BOTH	3
-#define CF_SHOWHELP	4
-#define CF_ENABLEHOOK	8
-#define CF_ENABLETEMPLATE	16
-#define CF_ENABLETEMPLATEHANDLE	32
-#define CF_INITTOLOGFONTSTRUCT	64
-#define CF_USESTYLE	128
-#define CF_EFFECTS	256
-#define CF_APPLY	512
-#define CF_ANSIONLY	1024
-#define CF_SCRIPTSONLY	CF_ANSIONLY
-#define CF_NOVECTORFONTS	2048
-#define CF_NOOEMFONTS	2048
-#define CF_NOSIMULATIONS	4096
-#define CF_LIMITSIZE	8192
-#define CF_FIXEDPITCHONLY	16384
-#define CF_WYSIWYG	32768
-#define CF_FORCEFONTEXIST	65536
-#define CF_SCALABLEONLY	131072
-#define CF_TTONLY	262144
-#define CF_NOFACESEL	 524288
-#define CF_NOSTYLESEL	 1048576
-#define CF_NOSIZESEL	 2097152
-#define CF_SELECTSCRIPT	 4194304
-#define CF_NOSCRIPTSEL	 8388608
-#define CF_NOVERTFONTS	0x1000000
-#define SIMULATED_FONTTYPE	0x8000
-#define PRINTER_FONTTYPE	0x4000
-#define SCREEN_FONTTYPE	0x2000
-#define BOLD_FONTTYPE	0x100
-#define ITALIC_FONTTYPE	0x0200
-#define REGULAR_FONTTYPE	0x0400
-#define WM_CHOOSEFONT_GETLOGFONT	(WM_USER+1)
-#define WM_CHOOSEFONT_SETLOGFONT	(WM_USER+101)
-#define WM_CHOOSEFONT_SETFLAGS	(WM_USER+102)
-#define OFN_ALLOWMULTISELECT 512
-#define OFN_CREATEPROMPT 0x2000
-#define OFN_ENABLEHOOK 32
-#define OFN_ENABLESIZING 0x800000
-#define OFN_ENABLETEMPLATE 64
-#define OFN_ENABLETEMPLATEHANDLE 128
-#define OFN_EXPLORER 0x80000
-#define OFN_EXTENSIONDIFFERENT 0x400
-#define OFN_FILEMUSTEXIST 0x1000
-#define OFN_HIDEREADONLY 4
-#define OFN_LONGNAMES 0x200000
-#define OFN_NOCHANGEDIR 8
-#define OFN_NODEREFERENCELINKS 0x100000
-#define OFN_NOLONGNAMES 0x40000
-#define OFN_NONETWORKBUTTON 0x20000
-#define OFN_NOREADONLYRETURN 0x8000
-#define OFN_NOTESTFILECREATE 0x10000
-#define OFN_NOVALIDATE 256
-#define OFN_OVERWRITEPROMPT 2
-#define OFN_PATHMUSTEXIST 0x800
-#define OFN_READONLY 1
-#define OFN_SHAREAWARE 0x4000
-#define OFN_SHOWHELP 16
-#define OFN_SHAREFALLTHROUGH 2
-#define OFN_SHARENOWARN 1
-#define OFN_SHAREWARN 0
-#define OFN_NODEREFERENCELINKS 0x100000
-#if (_WIN32_WINNT >= 0x0500)
-#define OFN_DONTADDTORECENT 0x02000000
-#endif
-#define FR_DIALOGTERM 64
-#define FR_DOWN 1
-#define FR_ENABLEHOOK 256
-#define FR_ENABLETEMPLATE 512
-#define FR_ENABLETEMPLATEHANDLE 0x2000
-#define FR_FINDNEXT 8
-#define FR_HIDEUPDOWN 0x4000
-#define FR_HIDEMATCHCASE 0x8000
-#define FR_HIDEWHOLEWORD 0x10000
-#define FR_MATCHALEFHAMZA	0x80000000
-#define FR_MATCHCASE 4
-#define FR_MATCHDIAC	0x20000000
-#define FR_MATCHKASHIDA	0x40000000
-#define FR_NOMATCHCASE 0x800
-#define FR_NOUPDOWN 0x400
-#define FR_NOWHOLEWORD 4096
-#define FR_REPLACE 16
-#define FR_REPLACEALL 32
-#define FR_SHOWHELP 128
-#define FR_WHOLEWORD 2
-#define PD_ALLPAGES	0x00000000
-#define PD_SELECTION	0x00000001
-#define PD_PAGENUMS	0x00000002
-#define PD_NOSELECTION	0x00000004
-#define PD_NOPAGENUMS	0x00000008
-#define PD_COLLATE	0x00000010
-#define PD_PRINTTOFILE	0x00000020
-#define PD_PRINTSETUP	0x00000040
-#define PD_NOWARNING	0x00000080
-#define PD_RETURNDC	0x00000100
-#define PD_RETURNIC	0x00000200
-#define PD_RETURNDEFAULT	0x00000400
-#define PD_SHOWHELP	0x00000800
-#define PD_ENABLEPRINTHOOK	0x00001000
-#define PD_ENABLESETUPHOOK	0x00002000
-#define PD_ENABLEPRINTTEMPLATE	0x00004000
-#define PD_ENABLESETUPTEMPLATE 0x00008000
-#define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
-#define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
-#define PD_USEDEVMODECOPIES	0x00040000
-#define PD_USEDEVMODECOPIESANDCOLLATE	0x00040000
-#define PD_DISABLEPRINTTOFILE	0x00080000
-#define PD_HIDEPRINTTOFILE	0x00100000
-#define PD_NONETWORKBUTTON	0x00200000
-#if (_WIN32_WINNT >= 0x0500)
-#define PD_CURRENTPAGE	0x00400000
-#define PD_NOCURRENTPAGE	0x00800000
-#define PD_EXCLUSIONFLAGS	0x01000000
-#define PD_USELARGETEMPLATE	0x10000000
-#define PD_RESULT_CANCEL	0
-#define PD_RESULT_PRINT	1
-#define PD_RESULT_APPLY	2
-#define START_PAGE_GENERAL	0XFFFFFFFF
-#endif
-#define PSD_DEFAULTMINMARGINS	0
-#define PSD_INWININIINTLMEASURE	0
-#define PSD_MINMARGINS	1
-#define PSD_MARGINS	2
-#define PSD_INTHOUSANDTHSOFINCHES	4
-#define PSD_INHUNDREDTHSOFMILLIMETERS	8
-#define PSD_DISABLEMARGINS	16
-#define PSD_DISABLEPRINTER	32
-#define PSD_NOWARNING	128
-#define PSD_DISABLEORIENTATION	256
-#define PSD_DISABLEPAPER	512
-#define PSD_RETURNDEFAULT	1024
-#define PSD_SHOWHELP	2048
-#define PSD_ENABLEPAGESETUPHOOK 8192
-#define PSD_ENABLEPAGESETUPTEMPLATE	0x8000
-#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE	0x20000
-#define PSD_ENABLEPAGEPAINTHOOK	0x40000
-#define PSD_DISABLEPAGEPAINTING	0x80000
-#define WM_PSD_PAGESETUPDLG	WM_USER
-#define WM_PSD_FULLPAGERECT	(WM_USER+1)
-#define WM_PSD_MINMARGINRECT	(WM_USER+2)
-#define WM_PSD_MARGINRECT	(WM_USER+3)
-#define WM_PSD_GREEKTEXTRECT	(WM_USER+4)
-#define WM_PSD_ENVSTAMPRECT	(WM_USER+5)
-#define WM_PSD_YAFULLPAGERECT	(WM_USER+6)
-#define CD_LBSELNOITEMS (-1)
-#define CD_LBSELCHANGE   0
-#define CD_LBSELSUB      1
-#define CD_LBSELADD      2
-#define DN_DEFAULTPRN	1
-#if (_WIN32_WINNT >= 0x0500)
-#define OPENFILENAME_SIZE_VERSION_400  76
-#endif
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s)))
-#define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec
-#define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec
-#define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s)))
-#define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath
-#define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath
-#define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s)))
-#define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath
-#define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath
-#define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i)))
-#define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t)))
-#define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0))
-#define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e)))
-
-typedef UINT (APIENTRY *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef __CDHOOKPROC LPCCHOOKPROC;
-typedef __CDHOOKPROC LPCFHOOKPROC;
-typedef __CDHOOKPROC LPFRHOOKPROC;
-typedef __CDHOOKPROC LPOFNHOOKPROC;
-typedef __CDHOOKPROC LPPAGEPAINTHOOK;
-typedef __CDHOOKPROC LPPAGESETUPHOOK;
-typedef __CDHOOKPROC LPSETUPHOOKPROC;
-typedef __CDHOOKPROC LPPRINTHOOKPROC;
-typedef struct tagCHOOSECOLORA {
-	DWORD	lStructSize;
-	HWND	hwndOwner;
-	HWND	hInstance;
-	COLORREF	rgbResult;
-	COLORREF*	lpCustColors;
-	DWORD	Flags;
-	LPARAM	lCustData;
-	LPCCHOOKPROC	lpfnHook;
-	LPCSTR	lpTemplateName;
-} CHOOSECOLORA,*LPCHOOSECOLORA;
-typedef struct tagCHOOSECOLORW {
-	DWORD	lStructSize;
-	HWND	hwndOwner;
-	HWND	hInstance;
-	COLORREF	rgbResult;
-	COLORREF*	lpCustColors;
-	DWORD	Flags;
-	LPARAM	lCustData;
-	LPCCHOOKPROC	lpfnHook;
-	LPCWSTR	lpTemplateName;
-} CHOOSECOLORW,*LPCHOOSECOLORW;
-typedef struct tagCHOOSEFONTA {
-	DWORD	lStructSize;
-	HWND	hwndOwner;
-	HDC	hDC;
-	LPLOGFONTA	lpLogFont;
-	INT	iPointSize;
-	DWORD	Flags;
-	DWORD	rgbColors;
-	LPARAM	lCustData;
-	LPCFHOOKPROC	lpfnHook;
-	LPCSTR	lpTemplateName;
-	HINSTANCE	hInstance;
-	LPSTR	lpszStyle;
-	WORD	nFontType;
-	WORD	___MISSING_ALIGNMENT__;
-	INT	nSizeMin;
-	INT	nSizeMax;
-} CHOOSEFONTA,*LPCHOOSEFONTA;
-typedef struct tagCHOOSEFONTW {
-	DWORD	lStructSize;
-	HWND	hwndOwner;
-	HDC	hDC;
-	LPLOGFONTW	lpLogFont;
-	INT	iPointSize;
-	DWORD	Flags;
-	DWORD	rgbColors;
-	LPARAM	lCustData;
-	LPCFHOOKPROC	lpfnHook;
-	LPCWSTR	lpTemplateName;
-	HINSTANCE	hInstance;
-	LPWSTR	lpszStyle;
-	WORD	nFontType;
-	WORD	___MISSING_ALIGNMENT__;
-	INT	nSizeMin;
-	INT	nSizeMax;
-} CHOOSEFONTW,*LPCHOOSEFONTW;
-typedef struct tagDEVNAMES {
-	WORD wDriverOffset;
-	WORD wDeviceOffset;
-	WORD wOutputOffset;
-	WORD wDefault;
-} DEVNAMES,*LPDEVNAMES;
-typedef struct {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	DWORD Flags;
-	LPSTR lpstrFindWhat;
-	LPSTR lpstrReplaceWith;
-	WORD wFindWhatLen;
-	WORD wReplaceWithLen;
-	LPARAM lCustData;
-	LPFRHOOKPROC lpfnHook;
-	LPCSTR lpTemplateName;
-} FINDREPLACEA,*LPFINDREPLACEA;
-typedef struct {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	DWORD Flags;
-	LPWSTR lpstrFindWhat;
-	LPWSTR lpstrReplaceWith;
-	WORD wFindWhatLen;
-	WORD wReplaceWithLen;
-	LPARAM lCustData;
-	LPFRHOOKPROC lpfnHook;
-	LPCWSTR lpTemplateName;
-} FINDREPLACEW,*LPFINDREPLACEW;
-typedef struct tagOFNA {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	LPCSTR lpstrFilter;
-	LPSTR lpstrCustomFilter;
-	DWORD nMaxCustFilter;
-	DWORD nFilterIndex;
-	LPSTR lpstrFile;
-	DWORD nMaxFile;
-	LPSTR lpstrFileTitle;
-	DWORD nMaxFileTitle;
-	LPCSTR lpstrInitialDir;
-	LPCSTR lpstrTitle;
-	DWORD Flags;
-	WORD nFileOffset;
-	WORD nFileExtension;
-	LPCSTR lpstrDefExt;
-	DWORD lCustData;
-	LPOFNHOOKPROC lpfnHook;
-	LPCSTR lpTemplateName;
-#if (_WIN32_WINNT >= 0x0500)
-	void * pvReserved;
-	DWORD dwReserved;
-	DWORD FlagsEx;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-} OPENFILENAMEA,*LPOPENFILENAMEA;
-typedef struct tagOFNW {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	LPCWSTR lpstrFilter;
-	LPWSTR lpstrCustomFilter;
-	DWORD nMaxCustFilter;
-	DWORD nFilterIndex;
-	LPWSTR lpstrFile;
-	DWORD nMaxFile;
-	LPWSTR lpstrFileTitle;
-	DWORD nMaxFileTitle;
-	LPCWSTR lpstrInitialDir;
-	LPCWSTR lpstrTitle;
-	DWORD Flags;
-	WORD nFileOffset;
-	WORD nFileExtension;
-	LPCWSTR lpstrDefExt;
-	DWORD lCustData;
-	LPOFNHOOKPROC lpfnHook;
-	LPCWSTR lpTemplateName;
-#if (_WIN32_WINNT >= 0x0500)
-	void * pvReserved;
-	DWORD dwReserved;
-	DWORD FlagsEx;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-} OPENFILENAMEW,*LPOPENFILENAMEW;
-typedef struct _OFNOTIFYA {
-	NMHDR hdr;
-	LPOPENFILENAMEA lpOFN;
-	LPSTR pszFile;
-} OFNOTIFYA,*LPOFNOTIFYA;
-typedef struct _OFNOTIFYW {
-	NMHDR hdr;
-	LPOPENFILENAMEW lpOFN;
-	LPWSTR pszFile;
-} OFNOTIFYW,*LPOFNOTIFYW;
-typedef struct tagPSDA {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HGLOBAL hDevMode;
-	HGLOBAL hDevNames;
-	DWORD Flags;
-	POINT ptPaperSize;
-	RECT rtMinMargin;
-	RECT rtMargin;
-	HINSTANCE hInstance;
-	LPARAM lCustData;
-	LPPAGESETUPHOOK lpfnPageSetupHook;
-	LPPAGEPAINTHOOK lpfnPagePaintHook;
-	LPCSTR lpPageSetupTemplateName;
-	HGLOBAL hPageSetupTemplate;
-} PAGESETUPDLGA,*LPPAGESETUPDLGA;
-typedef struct tagPSDW {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HGLOBAL hDevMode;
-	HGLOBAL hDevNames;
-	DWORD Flags;
-	POINT ptPaperSize;
-	RECT rtMinMargin;
-	RECT rtMargin;
-	HINSTANCE hInstance;
-	LPARAM lCustData;
-	LPPAGESETUPHOOK lpfnPageSetupHook;
-	LPPAGEPAINTHOOK lpfnPagePaintHook;
-	LPCWSTR lpPageSetupTemplateName;
-	HGLOBAL hPageSetupTemplate;
-} PAGESETUPDLGW,*LPPAGESETUPDLGW;
-typedef struct tagPDA {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HANDLE hDevMode;
-	HANDLE hDevNames;
-	HDC hDC;
-	DWORD Flags;
-	WORD nFromPage;
-	WORD nToPage;
-	WORD nMinPage;
-	WORD nMaxPage;
-	WORD nCopies;
-	HINSTANCE hInstance;
-	DWORD lCustData;
-	LPPRINTHOOKPROC lpfnPrintHook;
-	LPSETUPHOOKPROC lpfnSetupHook;
-	LPCSTR lpPrintTemplateName;
-	LPCSTR lpSetupTemplateName;
-	HANDLE hPrintTemplate;
-	HANDLE hSetupTemplate;
-} PRINTDLGA,*LPPRINTDLGA;
-typedef struct tagPDW {
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HANDLE hDevMode;
-	HANDLE hDevNames;
-	HDC hDC;
-	DWORD Flags;
-	WORD nFromPage;
-	WORD nToPage;
-	WORD nMinPage;
-	WORD nMaxPage;
-	WORD nCopies;
-	HINSTANCE hInstance;
-	DWORD lCustData;
-	LPPRINTHOOKPROC lpfnPrintHook;
-	LPSETUPHOOKPROC lpfnSetupHook;
-	LPCWSTR lpPrintTemplateName;
-	LPCWSTR lpSetupTemplateName;
-	HANDLE hPrintTemplate;
-	HANDLE hSetupTemplate;
-} PRINTDLGW,*LPPRINTDLGW;
-#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
-#include <unknwn.h>  /* for LPUNKNOWN  */
-#include <prsht.h>   /* for HPROPSHEETPAGE  */
-typedef struct tagPRINTPAGERANGE {
-   DWORD  nFromPage;
-   DWORD  nToPage;
-} PRINTPAGERANGE, *LPPRINTPAGERANGE;
-typedef struct tagPDEXA {
-   DWORD lStructSize;
-   HWND hwndOwner;
-   HGLOBAL hDevMode;
-   HGLOBAL hDevNames;
-   HDC hDC;
-   DWORD Flags;
-   DWORD Flags2;
-   DWORD ExclusionFlags;
-   DWORD nPageRanges;
-   DWORD nMaxPageRanges;
-   LPPRINTPAGERANGE lpPageRanges;
-   DWORD nMinPage;
-   DWORD nMaxPage;
-   DWORD nCopies;
-   HINSTANCE hInstance;
-   LPCSTR lpPrintTemplateName;
-   LPUNKNOWN lpCallback;
-   DWORD nPropertyPages;
-   HPROPSHEETPAGE *lphPropertyPages;
-   DWORD nStartPage;
-   DWORD dwResultAction;
-} PRINTDLGEXA, *LPPRINTDLGEXA;
-typedef struct tagPDEXW {
-   DWORD lStructSize;
-   HWND hwndOwner;
-   HGLOBAL hDevMode;
-   HGLOBAL hDevNames;
-   HDC hDC;
-   DWORD Flags;
-   DWORD Flags2;
-   DWORD ExclusionFlags;
-   DWORD nPageRanges;
-   DWORD nMaxPageRanges;
-   LPPRINTPAGERANGE lpPageRanges;
-   DWORD nMinPage;
-   DWORD nMaxPage;
-   DWORD nCopies;
-   HINSTANCE hInstance;
-   LPCWSTR lpPrintTemplateName;
-   LPUNKNOWN lpCallback;
-   DWORD nPropertyPages;
-   HPROPSHEETPAGE *lphPropertyPages;
-   DWORD nStartPage;
-   DWORD dwResultAction;
-} PRINTDLGEXW, *LPPRINTDLGEXW;
-#endif /* WINVER >= 0x0500 */
-
-BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
-BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
-BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
-BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
-DWORD WINAPI CommDlgExtendedError(void);
-HWND WINAPI FindTextA(LPFINDREPLACEA);
-HWND WINAPI FindTextW(LPFINDREPLACEW);
-short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD);
-short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD);
-BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA);
-BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW);
-BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA);
-BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW);
-BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA);
-BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW);
-BOOL WINAPI PrintDlgA(LPPRINTDLGA);
-BOOL WINAPI PrintDlgW(LPPRINTDLGW);
-HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
-HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
-#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
-HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
-HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
-#endif /* WINVER >= 0x0500 */
-
-#ifdef UNICODE
-#define LBSELCHSTRING  LBSELCHSTRINGW
-#define SHAREVISTRING  SHAREVISTRINGW
-#define FILEOKSTRING   FILEOKSTRINGW
-#define COLOROKSTRING  COLOROKSTRINGW
-#define SETRGBSTRING   SETRGBSTRINGW
-#define HELPMSGSTRING  HELPMSGSTRINGW
-#define FINDMSGSTRING  FINDMSGSTRINGW
-typedef CHOOSECOLORW CHOOSECOLOR,*LPCHOOSECOLOR;
-typedef CHOOSEFONTW CHOOSEFONT,*LPCHOOSEFONT;
-typedef FINDREPLACEW FINDREPLACE,*LPFINDREPLACE;
-typedef OPENFILENAMEW OPENFILENAME,*LPOPENFILENAME;
-typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY;
-typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG;
-typedef PRINTDLGW PRINTDLG,*LPPRINTDLG;
-#define ChooseColor ChooseColorW
-#define ChooseFont ChooseFontW
-#define FindText FindTextW
-#define GetFileTitle GetFileTitleW
-#define GetOpenFileName GetOpenFileNameW
-#define GetSaveFileName GetSaveFileNameW
-#define PageSetupDlg PageSetupDlgW
-#define PrintDlg PrintDlgW
-#define ReplaceText ReplaceTextW
-#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
-typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX;
-#define PrintDlgEx PrintDlgExW
-#endif /* WINVER >= 0x0500 */
-#else /* UNICODE */
-#define LBSELCHSTRING  LBSELCHSTRINGA
-#define SHAREVISTRING  SHAREVISTRINGA
-#define FILEOKSTRING   FILEOKSTRINGA
-#define COLOROKSTRING  COLOROKSTRINGA
-#define SETRGBSTRING   SETRGBSTRINGA
-#define HELPMSGSTRING  HELPMSGSTRINGA
-#define FINDMSGSTRING  FINDMSGSTRINGA
-typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR;
-typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT;
-typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE;
-typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME;
-typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY;
-typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG;
-typedef PRINTDLGA PRINTDLG,*LPPRINTDLG;
-#define ChooseColor ChooseColorA
-#define ChooseFont ChooseFontA
-#define FindText FindTextA
-#define GetFileTitle GetFileTitleA
-#define GetOpenFileName GetOpenFileNameA
-#define GetSaveFileName GetSaveFileNameA
-#define PageSetupDlg PageSetupDlgA
-#define PrintDlg PrintDlgA
-#define ReplaceText ReplaceTextA
-#if (WINVER >= 0x0500) && !defined (_OBJC_NO_COM)
-typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX;
-#define PrintDlgEx PrintDlgExA
-#endif /* WINVER >= 0x0500 */
-#endif /* UNICODE */
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/complex.h
===================================================================
--- Daodan/MinGW/include/complex.h	(revision 1046)
+++ 	(revision )
@@ -1,205 +1,0 @@
-/*
- * complex.h
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- *  Created by Danny Smith <dannysmith@users.sourceforge.net>
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _COMPLEX_H_
-#define _COMPLEX_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* These macros are specified by C99 standard */
-
-#ifndef __cplusplus
-#define complex _Complex
-#endif
-
-#define _Complex_I  (0.0F +  1.0iF)
-
-/* GCC doesn't support _Imaginary type yet, so we don't
-   define _Imaginary_I */
-
-#define I _Complex_I
-
-_BEGIN_C_DECLS
-
-#ifndef RC_INVOKED
-
-double __MINGW_ATTRIB_CONST creal (double _Complex);
-double __MINGW_ATTRIB_CONST cimag (double _Complex);
-double __MINGW_ATTRIB_CONST carg (double _Complex);
-double __MINGW_ATTRIB_CONST cabs (double _Complex);
-double _Complex __MINGW_ATTRIB_CONST conj (double _Complex);
-double _Complex  cacos (double _Complex);
-double _Complex  casin (double _Complex);
-double _Complex  catan (double _Complex);
-double _Complex  ccos (double _Complex);
-double _Complex  csin (double _Complex);
-double _Complex  ctan (double _Complex);
-double _Complex  cacosh (double _Complex);
-double _Complex  casinh (double _Complex);
-double _Complex  catanh (double _Complex);
-double _Complex  ccosh (double _Complex);
-double _Complex  csinh (double _Complex);
-double _Complex  ctanh (double _Complex);
-double _Complex  cexp (double _Complex);
-double _Complex  clog (double _Complex);
-double _Complex  cpow (double _Complex, double _Complex);
-double _Complex  csqrt (double _Complex);
-double _Complex __MINGW_ATTRIB_CONST cproj (double _Complex);
-
-float __MINGW_ATTRIB_CONST crealf (float _Complex);
-float __MINGW_ATTRIB_CONST cimagf (float _Complex);
-float __MINGW_ATTRIB_CONST cargf (float _Complex);
-float __MINGW_ATTRIB_CONST cabsf (float _Complex);
-float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex);
-float _Complex  cacosf (float _Complex);
-float _Complex  casinf (float _Complex);
-float _Complex  catanf (float _Complex);
-float _Complex  ccosf (float _Complex);
-float _Complex  csinf (float _Complex);
-float _Complex  ctanf (float _Complex);
-float _Complex  cacoshf (float _Complex);
-float _Complex  casinhf (float _Complex);
-float _Complex  catanhf (float _Complex);
-float _Complex  ccoshf (float _Complex);
-float _Complex  csinhf (float _Complex);
-float _Complex  ctanhf (float _Complex);
-float _Complex  cexpf (float _Complex);
-float _Complex  clogf (float _Complex);
-float _Complex  cpowf (float _Complex, float _Complex);
-float _Complex  csqrtf (float _Complex);
-float _Complex __MINGW_ATTRIB_CONST cprojf (float _Complex);
-
-long double __MINGW_ATTRIB_CONST creall (long double _Complex);
-long double __MINGW_ATTRIB_CONST cimagl (long double _Complex);
-long double __MINGW_ATTRIB_CONST cargl (long double _Complex);
-long double __MINGW_ATTRIB_CONST cabsl (long double _Complex);
-long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex);
-long double _Complex  cacosl (long double _Complex);
-long double _Complex  casinl (long double _Complex);
-long double _Complex  catanl (long double _Complex);
-long double _Complex  ccosl (long double _Complex);
-long double _Complex  csinl (long double _Complex);
-long double _Complex  ctanl (long double _Complex);
-long double _Complex  cacoshl (long double _Complex);
-long double _Complex  casinhl (long double _Complex);
-long double _Complex  catanhl (long double _Complex);
-long double _Complex  ccoshl (long double _Complex);
-long double _Complex  csinhl (long double _Complex);
-long double _Complex  ctanhl (long double _Complex);
-long double _Complex  cexpl (long double _Complex);
-long double _Complex  clogl (long double _Complex);
-long double _Complex  cpowl (long double _Complex, long double _Complex);
-long double _Complex  csqrtl (long double _Complex);
-long double _Complex __MINGW_ATTRIB_CONST cprojl (long double _Complex);
-
-#ifdef __GNUC__
-
-/* double */
-__CRT_INLINE __LIBIMPL__(( FUNCTION = creal ))
-double __MINGW_ATTRIB_CONST creal (double _Complex _Z)
-{
-  return __real__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = cimag ))
-double __MINGW_ATTRIB_CONST cimag (double _Complex _Z)
-{
-  return __imag__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = conj ))
-double _Complex __MINGW_ATTRIB_CONST conj (double _Complex _Z)
-{
-  return __extension__ ~_Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = carg ))
-double __MINGW_ATTRIB_CONST carg (double _Complex _Z)
-{
-  double res;
-  __asm__  ("fpatan;"
-	   : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
-  return res;
-}
-
-
-/* float */
-__CRT_INLINE __LIBIMPL__(( FUNCTION = crealf ))
-float __MINGW_ATTRIB_CONST crealf (float _Complex _Z)
-{
-  return __real__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = cimagf ))
-float __MINGW_ATTRIB_CONST cimagf (float _Complex _Z)
-{
-  return __imag__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = conjf ))
-float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex _Z)
-{
-  return __extension__ ~_Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = cargf ))
-float __MINGW_ATTRIB_CONST cargf (float _Complex _Z)
-{
-  float res;
-  __asm__  ("fpatan;"
-	   : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
-  return res;
-}
-
-/* long double */
-__CRT_INLINE __LIBIMPL__(( FUNCTION = creall ))
-long double __MINGW_ATTRIB_CONST creall (long double _Complex _Z)
-{
-  return __real__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = cimagl ))
-long double __MINGW_ATTRIB_CONST cimagl (long double _Complex _Z)
-{
-  return __imag__ _Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = conjl ))
-long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex _Z)
-{
-  return __extension__ ~_Z;
-}
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = cargl ))
-long double __MINGW_ATTRIB_CONST cargl (long double _Complex _Z)
-{
-  long double res;
-  __asm__  ("fpatan;"
-	   : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
-  return res;
-}
-
-#endif /* __GNUC__ */
-#endif /* RC_INVOKED */
-
-_END_C_DECLS
-
-#endif /* _COMPLEX_H */
Index: Daodan/MinGW/include/conio.h
===================================================================
--- Daodan/MinGW/include/conio.h	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/*
- * conio.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Low level console I/O functions. Pretty please try to use the ANSI
- * standard ones if you are writing new code.
- *
- */
-
-#ifndef	_CONIO_H_
-#define	_CONIO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-_CRTIMP char* __cdecl __MINGW_NOTHROW	_cgets (char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_cprintf (const char*, ...);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_cputs (const char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_cscanf (char*, ...);
-
-_CRTIMP int __cdecl __MINGW_NOTHROW	_getch (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_getche (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_kbhit (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_putch (int);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_ungetch (int);
-
-
-#ifndef	_NO_OLDNAMES
-
-_CRTIMP int __cdecl __MINGW_NOTHROW	getch (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	getche (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	kbhit (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW	putch (int);
-_CRTIMP int __cdecl __MINGW_NOTHROW	ungetch (int);
-
-#endif	/* Not _NO_OLDNAMES */
-
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _CONIO_H_ */
Index: Daodan/MinGW/include/control.h
===================================================================
--- Daodan/MinGW/include/control.h	(revision 1046)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#ifndef _CONTROL_H
-#define _CONTROL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Data Types */
-typedef LONG_PTR OAEVENT;
-typedef LONG_PTR OAHWND;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/cpl.h
===================================================================
--- Daodan/MinGW/include/cpl.h	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#ifndef _CPL_H
-#define _CPL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_CPL_LAUNCH (WM_USER+1000)
-#define WM_CPL_LAUNCHED (WM_USER+1001)
-#define CPL_DYNAMIC_RES 0
-#define CPL_INIT 1
-#define CPL_GETCOUNT 2
-#define CPL_INQUIRE 3
-#define CPL_SELECT 4
-#define CPL_DBLCLK 5
-#define CPL_STOP 6
-#define CPL_EXIT 7
-#define CPL_NEWINQUIRE 8
-#define CPL_STARTWPARMSA 9
-#define CPL_STARTWPARMSW 10
-#define CPL_SETUP 200
-typedef LONG(APIENTRY *APPLET_PROC)(HWND,UINT,LONG,LONG);
-typedef struct tagCPLINFO {
-	int idIcon;
-	int idName;
-	int idInfo;
-	LONG lData;
-} CPLINFO,*LPCPLINFO;
-typedef struct tagNEWCPLINFOA {
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwHelpContext;
-	LONG lData;
-	HICON hIcon;
-	CHAR szName[32];
-	CHAR szInfo[64];
-	CHAR szHelpFile[128];
-} NEWCPLINFOA,*LPNEWCPLINFOA;
-typedef struct tagNEWCPLINFOW {
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwHelpContext;
-	LONG lData;
-	HICON hIcon;
-	WCHAR szName[32];
-	WCHAR szInfo[64];
-	WCHAR szHelpFile[128];
-} NEWCPLINFOW,*LPNEWCPLINFOW;
-#ifdef UNICODE
-#define CPL_STARTWPARMS CPL_STARTWPARMSW
-typedef NEWCPLINFOW NEWCPLINFO,*LPNEWCPLINFO;
-#else
-#define CPL_STARTWPARMS CPL_STARTWPARMSA
-typedef NEWCPLINFOA NEWCPLINFO,*LPNEWCPLINFO;
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/cplext.h
===================================================================
--- Daodan/MinGW/include/cplext.h	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-#ifndef _CPLEXT_H
-#define _CPLEXT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define CPLPAGE_MOUSE_BUTTONS 1
-#define CPLPAGE_MOUSE_PTRMOTION 2
-#define CPLPAGE_MOUSE_WHEEL 3
-#define CPLPAGE_KEYBOARD_SPEED 1
-#define CPLPAGE_DISPLAY_BACKGROUND 1
-#endif
Index: Daodan/MinGW/include/ctype.h
===================================================================
--- Daodan/MinGW/include/ctype.h	(revision 1046)
+++ 	(revision )
@@ -1,276 +1,0 @@
-/*
- * ctype.h
- *
- * Functions for character classification and conversion.
- *
- * $Id: ctype.h,v e38eed5e2087 2016/07/09 20:53:41 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2008, 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, 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.
- *
- */
-#ifndef _CTYPE_H
-#pragma GCC system_header
-#define _CTYPE_H
-
-/* All MinGW headers must include <_mingw.h>
- */
-#include <_mingw.h>
-
-/* Although conflicting with both ISO-C and POSIX, Microsoft say that,
- * in addition to the single byte character classification API which is
- * properly declared here, this file should also declare elements of the
- * wide classification API, which is properly declared in <wctype.h>
- *
- * To avoid the burden of maintaining duplicate declarations, in two
- * locations, we keep the wide character declarations where ISO-C and
- * POSIX say they belong, in <wctype.h>, while accommodating Microsoft
- * compatibility by providing for selective inclusion of the relevant
- * elements of it here.  (Note that we must do this early, because to
- * avoid duplication, we delegate the definition of common character
- * classification macros, with the exception of _LEADBYTE, which is
- * not required in both headers, to <wctype.h>).
- */
-#define __CTYPE_H_SOURCED__
-#include <wctype.h>
-
-/* This is the one character classification macro, for which definition
- * is NOT delegated to <wctype.h>
- */
-#define _LEADBYTE	0x8000
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int isalnum(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isalpha(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iscntrl(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isdigit(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isgraph(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int islower(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isleadbyte (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isprint(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int ispunct(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isspace(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isupper(int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isxdigit(int);
-
-#if __STDC_VERSION__ >= 199901L || !defined __STRICT_ANSI__
-__cdecl __MINGW_NOTHROW  int isblank (int);
-#endif
-
-#ifndef __STRICT_ANSI__
-_CRTIMP __cdecl __MINGW_NOTHROW  int _isctype (int, int);
-#endif
-
-/* These are ISO-C conforming functions, with correct checking of
- * argument; they are exported by MSVCRT.DLL, and by CRTDLL.DLL as
- * such, and are NOT simply old-name mapped variants; however...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int tolower (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int toupper (int);
-
-#ifndef	__STRICT_ANSI__
-/* ...Microsoft's beloved underscore decorated variants are also
- * exported.  These are cheap non-standard versions: their return
- * values are undefined if the argument is not an ASCII character,
- * or is not of appropriate case for the requested conversion.
- *
- * Note that these appear to be approximately equivalent to POSIX
- * macros of the same names, (declared obsolescent in POSIX.1-2008),
- * but are implemented as DLL functions, rather than macros.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _tolower (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _toupper (int);
-#endif
-
-#ifndef MB_CUR_MAX
-/* FIXME: also defined in stdlib.h; should be factored into ONE
- * location ONLY, and included into the other.
- */
-# ifdef __DECLSPEC_SUPPORTED
-#  ifdef __MSVCRT__
-#   define MB_CUR_MAX		 __mb_cur_max
-    __MINGW_IMPORT int		 __mb_cur_max;
-
-#  else	/* !__MSVCRT__ */
-#   define MB_CUR_MAX		 __mb_cur_max_dll
-    __MINGW_IMPORT int		 __mb_cur_max_dll;
-#  endif	/* !__MSVCRT__ */
-
-# else	/* !__DECLSPEC_SUPPORTED */
-#  ifdef __MSVCRT__
-#   define MB_CUR_MAX		(*_imp____mb_cur_max)
-    extern int			 *_imp____mb_cur_max;
-
-#  else	/* !__MSVCRT__ */
-#   define MB_CUR_MAX		(*_imp____mb_cur_max_dll)
-    extern int			 *_imp____mb_cur_max_dll;
-#  endif /* !__MSVCRT__ */
-# endif /*  __DECLSPEC_SUPPORTED */
-#endif  /* ! MB_CUR_MAX */
-
-#ifdef __DECLSPEC_SUPPORTED
-# if __MSVCRT_VERSION__ <= __MSVCR70_DLL
-  __MINGW_IMPORT unsigned short   _ctype[];
-# endif
-
-# ifdef __MSVCRT__
-  __MINGW_IMPORT unsigned short  *_pctype;
-
-# else	/* !__MSVCRT__ (implies CRTDLL) */
-# define  _pctype _pctype_dll
-  __MINGW_IMPORT unsigned short  *_pctype_dll;
-# endif
-
-#else	/* !__DECLSPEC_SUPPORTED */
-# if __MSVCRT_VERSION__ <= __MSVCR70_DLL
-# define _ctype 		(*_imp___ctype)
-  extern unsigned short 	**_imp___ctype;
-# endif
-
-# ifdef __MSVCRT__
-# define _pctype		(*_imp___pctype)
-  extern unsigned short 	**_imp___pctype;
-
-# else	/* !__MSVCRT__ (implies CRTDLL) */
-# define _pctype		(*_imp___pctype_dll)
-  extern unsigned short 	**_imp___pctype_dll;
-# endif /* CRTDLL */
-#endif	/* !__DECLSPEC_SUPPORTED */
-
-/* Use inlines here rather than macros, because macros will upset
- * C++ usage (eg, ::isalnum), and so usually get undefined
- *
- * According to standard for SB chars, these function are defined only
- * for input values representable by unsigned char or EOF.
- * Thus, there is no range test.
- * This reproduces behaviour of MSVCRT.dll lib implemention for SB chars.
- *
- * If no MB char support is needed, these can be simplified even
- * more by command line define -DMB_CUR_MAX=1.  The compiler will then
- * optimise away the constant condition.
- */
-
-#if !(defined (__NO_INLINE__)  || defined (__NO_CTYPE_INLINES) \
-	|| defined (__STRICT_ANSI__))
-
-/* Use simple lookup in single byte locales, else _isctype()
- */
-#define __ISCTYPE(c, mask)  (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype (c, mask))
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isalnum (int c)
-{ return __ISCTYPE(c, (_ALPHA|_DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isalpha (int c)
-{ return __ISCTYPE(c, _ALPHA); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iscntrl (int c)
-{ return __ISCTYPE(c, _CONTROL); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isdigit (int c)
-{ return __ISCTYPE(c, _DIGIT); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isgraph (int c)
-{ return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int islower (int c)
-{ return __ISCTYPE(c, _LOWER); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isprint (int c)
-{ return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int ispunct (int c)
-{ return __ISCTYPE(c, _PUNCT); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isspace (int c)
-{ return __ISCTYPE(c, _SPACE); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isupper (int c)
-{ return __ISCTYPE(c, _UPPER); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isxdigit (int c)
-{ return __ISCTYPE(c, _HEX); }
-
-#if __STDC_VERSION__ >= 199901L || !defined __STRICT_ANSI__
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isblank (int c)
-{ return (__ISCTYPE(c, _BLANK) || c == '\t'); }
-#endif
-
-/* These reproduce the behaviour of their DLL exported namesakes,
- * and thus ARE the effective equivalents of the similarly named,
- * and now-obsolescent, POSIX macros.
- */
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int _tolower (int c)
-{ return (c - 'A' + 'a'); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int _toupper (int c)
-{ return (c - 'a' + 'A'); }
-
-/* TODO: is it worth inlining ANSI tolower(), and toupper()?
- * Probably only if we only want C-locale.
- */
-#endif /* _NO_CTYPE_INLINES */
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int isleadbyte (int c)
-{ return (_pctype[(unsigned char)(c)] & _LEADBYTE); }
-
-#ifndef	__STRICT_ANSI__
-__cdecl __MINGW_NOTHROW  int __isascii (int);
-__cdecl __MINGW_NOTHROW  int __toascii (int);
-__cdecl __MINGW_NOTHROW  int __iscsymf (int);	/* Valid as first character in a C symbol */
-__cdecl __MINGW_NOTHROW  int __iscsym (int);	/* Valid character in C symbol (after first) */
-
-#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES))
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int __isascii (int c)
-{ return ((c & ~0x7F) == 0); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int __toascii (int c)
-{ return (c & 0x7F); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int __iscsymf (int c)
-{ return (isalpha(c) || (c == '_')); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int __iscsym (int c)
-{ return  (isalnum(c) || (c == '_')); }
-
-#endif /* !__NO_CTYPE_INLINES */
-
-#ifndef	_NO_OLDNAMES
-/* Not _CRTIMP */
-__cdecl __MINGW_NOTHROW  int isascii (int);
-__cdecl __MINGW_NOTHROW  int toascii (int);
-__cdecl __MINGW_NOTHROW  int iscsymf (int);
-__cdecl __MINGW_NOTHROW  int iscsym (int);
-#endif	/* !_NO_OLDNAMES */
-
-#endif	/* !__STRICT_ANSI__ */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-
-#undef __CTYPE_H_SOURCED__
-#endif	/* !_CTYPE_H: $RCSfile: ctype.h,v $: end of file */
Index: Daodan/MinGW/include/custcntl.h
===================================================================
--- Daodan/MinGW/include/custcntl.h	(revision 1046)
+++ 	(revision )
@@ -1,102 +1,0 @@
-#ifndef _CUSTCNTL_H
-#define _CUSTCNTL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CCF_NOTEXT 1
-#define CCHCCCLASS 32
-#define CCHCCDESC 32
-#define CCHCCTEXT 256
-
-typedef struct tagCCSTYLEA {
-	DWORD flStyle;
-	DWORD flExtStyle;
-	CHAR szText[CCHCCTEXT];
-	LANGID lgid;
-	WORD wReserved1;
-} CCSTYLEA,*LPCCSTYLEA;
-typedef struct tagCCSTYLEW {
-	DWORD flStyle;
-	DWORD flExtStyle;
-	WCHAR szText[CCHCCTEXT];
-	LANGID lgid;
-	WORD wReserved1;
-} CCSTYLEW,*LPCCSTYLEW;
-typedef struct tagCCSTYLEFLAGA {
-	DWORD flStyle;
-	DWORD flStyleMask;
-	LPSTR pszStyle;
-} CCSTYLEFLAGA,*LPCCSTYLEFLAGA;
-typedef struct tagCCSTYLEFLAGW {
-	DWORD flStyle;
-	DWORD flStyleMask;
-	LPWSTR pszStyle;
-} CCSTYLEFLAGW,*LPCCSTYLEFLAGW;
-typedef BOOL(CALLBACK* LPFNCCSTYLEA)(HWND,LPCCSTYLEA);
-typedef INT(CALLBACK* LPFNCCSIZETOTEXTA)(DWORD,DWORD,HFONT,LPSTR);
-typedef struct tagCCINFOA {
-	CHAR szClass[CCHCCCLASS];
-	DWORD flOptions;
-	CHAR szDesc[CCHCCDESC];
-	UINT cxDefault;
-	UINT cyDefault;
-	DWORD flStyleDefault;
-	DWORD flExtStyleDefault;
-	DWORD flCtrlTypeMask;
-	CHAR szTextDefault[CCHCCTEXT];
-	INT cStyleFlags;
-	LPCCSTYLEFLAGA aStyleFlags;
-	LPFNCCSTYLEA lpfnStyle;
-	LPFNCCSIZETOTEXTA lpfnSizeToText;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-} CCINFOA,*LPCCINFOA;
-typedef UINT(CALLBACK* LPFNCCINFOA)(LPCCINFOA);
-typedef BOOL(CALLBACK* LPFNCCSTYLEW)(HWND,LPCCSTYLEW);
-typedef INT (CALLBACK* LPFNCCSIZETOTEXTW)(DWORD,DWORD,HFONT,LPWSTR);
-typedef struct tagCCINFOW {
-	WCHAR szClass[CCHCCCLASS];
-	DWORD flOptions;
-	WCHAR szDesc[CCHCCDESC];
-	UINT cxDefault;
-	UINT cyDefault;
-	DWORD flStyleDefault;
-	DWORD flExtStyleDefault;
-	DWORD flCtrlTypeMask;
-	WCHAR szTextDefault[CCHCCTEXT];
-	INT cStyleFlags;
-	LPCCSTYLEFLAGW aStyleFlags;
-	LPFNCCSTYLEW lpfnStyle;
-	LPFNCCSIZETOTEXTW lpfnSizeToText;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-} CCINFOW,*LPCCINFOW;
-typedef UINT(CALLBACK* LPFNCCINFOW)(LPCCINFOW);
-
-UINT CALLBACK CustomControlInfoA(LPCCINFOA acci);
-UINT CALLBACK CustomControlInfoW(LPCCINFOW acci);
-
-#ifdef UNICODE
-typedef CCSTYLEW CCSTYLE,*LPCCSTYLE;
-typedef CCSTYLEFLAGW CCSTYLEFLAG,*LPCCSTYLEFLAG;
-typedef CCINFOW CCINFO,*LPCCINFO;
-#define LPFNCCSTYLE LPFNCCSTYLEW
-#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTW
-#define LPFNCCINFO LPFNCCINFOW
-#else
-typedef CCSTYLEA CCSTYLE,*LPCCSTYLE;
-typedef CCSTYLEFLAGA CCSTYLEFLAG,*LPCCSTYLEFLAG;
-typedef CCINFOA CCINFO,*LPCCINFO;
-#define LPFNCCSTYLE LPFNCCSTYLEA
-#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTA
-#define LPFNCCINFO LPFNCCINFOA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/d3d9.h
===================================================================
--- Daodan/MinGW/include/d3d9.h	(revision 1046)
+++ 	(revision )
@@ -1,1288 +1,0 @@
-/*
-
-	d3d9.h - Header file for the Direct3D9 API
-
-	Written by Filip Navara <xnavara@volny.cz>
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _D3D9_H
-#define _D3D9_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION  0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#include <objbase.h>
-#include "d3d9types.h"
-#include "d3d9caps.h"
-
-#define D3D_SDK_VERSION	31
-#define D3DCREATE_FPU_PRESERVE	0x02
-#define D3DCREATE_MULTITHREADED	0x04
-#define D3DCREATE_PUREDEVICE	0x10
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING	0x20
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING	0x40
-#define D3DCREATE_MIXED_VERTEXPROCESSING	0x80
-#define D3DSPD_IUNKNOWN	1
-#define D3DSGR_NO_CALIBRATION	0
-#define D3DSGR_CALIBRATE	1
-#define MAKE_D3DHRESULT(code)	MAKE_HRESULT(1,0x876,code)
-#define MAKE_D3DSTATUS(code)	MAKE_HRESULT(0,0x876,code)
-#define D3D_OK	0
-#define D3DOK_NOAUTOGEN	MAKE_D3DSTATUS(2159)
-#define D3DERR_WRONGTEXTUREFORMAT	MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION	MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG	MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION	MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG	MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS	MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER	MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE	MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE	MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER	MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE	MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR	MAKE_D3DHRESULT(2087)
-#define D3DERR_NOTFOUND	MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA	MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST	MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET	MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE	MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY	MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE	MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL	MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL	MAKE_D3DHRESULT(2157)
-#define D3DERR_WASSTILLDRAWING	MAKE_D3DHRESULT(540)
-#define D3DADAPTER_DEFAULT	0
-#define D3DCURSOR_IMMEDIATE_UPDATE	1
-#define D3DENUM_HOST_ADAPTER	1
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER	1
-#define D3DPV_DONOTCOPYDATA	1
-#define D3DENUM_NO_WHQL_LEVEL	2
-#define D3DPRESENT_BACK_BUFFERS_MAX	3
-#define VALID_D3DENUM_FLAGS	3
-#define D3DMAXNUMPRIMITIVES	0xFFFF
-#define D3DMAXNUMVERTICES	0xFFFF
-#define D3DCURRENT_DISPLAY_MODE	0xEFFFFF
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const GUID IID_IDirect3D9;
-extern const GUID IID_IDirect3DDevice9;
-extern const GUID IID_IDirect3DVolume9;
-extern const GUID IID_IDirect3DSwapChain9;
-extern const GUID IID_IDirect3DResource9;
-extern const GUID IID_IDirect3DSurface9;
-extern const GUID IID_IDirect3DVertexBuffer9;
-extern const GUID IID_IDirect3DIndexBuffer9;
-extern const GUID IID_IDirect3DBaseTexture9;
-extern const GUID IID_IDirect3DCubeTexture9;
-extern const GUID IID_IDirect3DTexture9;
-extern const GUID IID_IDirect3DVolumeTexture9;
-extern const GUID IID_IDirect3DVertexDeclaration9;
-extern const GUID IID_IDirect3DVertexShader9;
-extern const GUID IID_IDirect3DPixelShader9;
-extern const GUID IID_IDirect3DStateBlock9;
-extern const GUID IID_IDirect3DQuery9;
-#ifdef __cplusplus
-};
-#endif
-
-typedef _COM_interface IDirect3D9 IDirect3D9;
-typedef _COM_interface IDirect3DDevice9 IDirect3DDevice9;
-typedef _COM_interface IDirect3DVolume9 IDirect3DVolume9;
-typedef _COM_interface IDirect3DSwapChain9 IDirect3DSwapChain9;
-typedef _COM_interface IDirect3DResource9 IDirect3DResource9;
-typedef _COM_interface IDirect3DSurface9 IDirect3DSurface9;
-typedef _COM_interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9;
-typedef _COM_interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9;
-typedef _COM_interface IDirect3DBaseTexture9 IDirect3DBaseTexture9;
-typedef _COM_interface IDirect3DCubeTexture9 IDirect3DCubeTexture9;
-typedef _COM_interface IDirect3DTexture9 IDirect3DTexture9;
-typedef _COM_interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9;
-typedef _COM_interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9;
-typedef _COM_interface IDirect3DVertexShader9 IDirect3DVertexShader9;
-typedef _COM_interface IDirect3DPixelShader9 IDirect3DPixelShader9;
-typedef _COM_interface IDirect3DStateBlock9 IDirect3DStateBlock9;
-typedef _COM_interface IDirect3DQuery9 IDirect3DQuery9;
-
-#undef INTERFACE
-#define INTERFACE IDirect3D9
-DECLARE_INTERFACE_(IDirect3D9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
-	STDMETHOD_(UINT,GetAdapterCount)(THIS) PURE;
-	STDMETHOD(GetAdapterIdentifier)(THIS_ UINT,DWORD,D3DADAPTER_IDENTIFIER9*) PURE;
-	STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT,D3DFORMAT) PURE;
-	STDMETHOD(EnumAdapterModes)(THIS_ UINT,D3DFORMAT,UINT,D3DDISPLAYMODE*) PURE;
-	STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
-	STDMETHOD(CheckDeviceType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,BOOL) PURE;
-	STDMETHOD(CheckDeviceFormat)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,DWORD,D3DRESOURCETYPE,D3DFORMAT) PURE;
-	STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,BOOL,D3DMULTISAMPLE_TYPE,DWORD*) PURE;
-	STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,D3DFORMAT) PURE;
-	STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT) PURE;
-	STDMETHOD(GetDeviceCaps)(THIS_ UINT,D3DDEVTYPE,D3DCAPS9*) PURE;
-	STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT) PURE;
-	STDMETHOD(CreateDevice)(THIS_ UINT,D3DDEVTYPE,HWND,DWORD,D3DPRESENT_PARAMETERS*,IDirect3DDevice9**) PURE;
-};
-typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3D9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3D9_RegisterSoftwareDevice(p,a)	(p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9_GetAdapterCount(p)	(p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c)	(p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b)	(p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d)	(p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b)	(p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e)	(p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f)	(p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)	(p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e)	(p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d)	(p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c)	(p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a)	(p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f)	(p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-#define IDirect3D9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3D9_AddRef(p)	(p)->AddRef()
-#define IDirect3D9_Release(p)	(p)->Release()
-#define IDirect3D9_RegisterSoftwareDevice(p,a)	(p)->RegisterSoftwareDevice(a)
-#define IDirect3D9_GetAdapterCount(p)	(p)->GetAdapterCount()
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c)	(p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b)	(p)->GetAdapterModeCount(a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d)	(p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b)	(p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e)	(p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f)	(p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f)	(p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e)	(p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d)	(p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c)	(p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a)	(p)->GetAdapterMonitor(a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f)	(p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice9
-DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(TestCooperativeLevel)(THIS) PURE;
-	STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
-	STDMETHOD(EvictManagedResources)(THIS) PURE;
-	STDMETHOD(GetDirect3D)(THIS_ IDirect3D9**) PURE;
-	STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9*) PURE;
-	STDMETHOD(GetDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
-	STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS*) PURE;
-	STDMETHOD(SetCursorProperties)(THIS_ UINT,UINT,IDirect3DSurface9*) PURE;
-	STDMETHOD_(void,SetCursorPosition)(THIS_ int,int,DWORD) PURE;
-	STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL) PURE;
-	STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS*,IDirect3DSwapChain9**) PURE;
-	STDMETHOD(GetSwapChain)(THIS_ UINT,IDirect3DSwapChain9**) PURE;
-	STDMETHOD_(UINT,GetNumberOfSwapChains)(THIS) PURE;
-	STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
-	STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*) PURE;
-	STDMETHOD(GetBackBuffer)(THIS_ UINT,UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
-	STDMETHOD(GetRasterStatus)(THIS_ UINT,D3DRASTER_STATUS*) PURE;
-	STDMETHOD(SetDialogBoxMode)(THIS_ BOOL) PURE;
-	STDMETHOD_(void,SetGammaRamp)(THIS_ UINT,DWORD,CONST D3DGAMMARAMP*) PURE;
-	STDMETHOD_(void,GetGammaRamp)(THIS_ UINT,D3DGAMMARAMP*) PURE;
-	STDMETHOD(CreateTexture)(THIS_ UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DTexture9**,HANDLE*) PURE;
-	STDMETHOD(CreateVolumeTexture)(THIS_ UINT,UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DVolumeTexture9**,HANDLE*) PURE;
-	STDMETHOD(CreateCubeTexture)(THIS_ UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DCubeTexture9**, HANDLE*) PURE;
-	STDMETHOD(CreateVertexBuffer)(THIS_ UINT,DWORD,DWORD,D3DPOOL,IDirect3DVertexBuffer9**, HANDLE*) PURE;
-	STDMETHOD(CreateIndexBuffer)(THIS_ UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DIndexBuffer9**,HANDLE*) PURE;
-	STDMETHOD(CreateRenderTarget)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
-	STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
-	STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST POINT*) PURE;
-	STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9*,IDirect3DBaseTexture9*) PURE;
-	STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9*,IDirect3DSurface9*) PURE;
-	STDMETHOD(GetFrontBufferData)(THIS_ UINT,IDirect3DSurface9*) PURE;
-	STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST RECT*,D3DTEXTUREFILTERTYPE) PURE;
-	STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9*,CONST RECT*,D3DCOLOR) PURE;
-	STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DPOOL,IDirect3DSurface9**,HANDLE*) PURE;
-	STDMETHOD(SetRenderTarget)(THIS_ DWORD,IDirect3DSurface9*) PURE;
-	STDMETHOD(GetRenderTarget)(THIS_ DWORD,IDirect3DSurface9**) PURE;
-	STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9*) PURE;
-	STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9**) PURE;
-	STDMETHOD(BeginScene)(THIS) PURE;
-	STDMETHOD(EndScene)(THIS) PURE;
-	STDMETHOD(Clear)(THIS_ DWORD,CONST D3DRECT*,DWORD,D3DCOLOR,float,DWORD) PURE;
-	STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
-	STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,D3DMATRIX*) PURE;
-	STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
-	STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9*) PURE;
-	STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9*) PURE;
-	STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9*) PURE;
-	STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9*) PURE;
-	STDMETHOD(SetLight)(THIS_ DWORD,CONST D3DLIGHT9*) PURE;
-	STDMETHOD(GetLight)(THIS_ DWORD,D3DLIGHT9*) PURE;
-	STDMETHOD(LightEnable)(THIS_ DWORD,BOOL) PURE;
-	STDMETHOD(GetLightEnable)(THIS_ DWORD,BOOL*) PURE;
-	STDMETHOD(SetClipPlane)(THIS_ DWORD,CONST float*) PURE;
-	STDMETHOD(GetClipPlane)(THIS_ DWORD,float*) PURE;
-	STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
-	STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD*) PURE;
-	STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE,IDirect3DStateBlock9**) PURE;
-	STDMETHOD(BeginStateBlock)(THIS) PURE;
-	STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9**) PURE;
-	STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9*) PURE;
-	STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9*) PURE;
-	STDMETHOD(GetTexture)(THIS_ DWORD,IDirect3DBaseTexture9**) PURE;
-	STDMETHOD(SetTexture)(THIS_ DWORD,IDirect3DBaseTexture9*) PURE;
-	STDMETHOD(GetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD*) PURE;
-	STDMETHOD(SetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD) PURE;
-	STDMETHOD(GetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD*) PURE;
-	STDMETHOD(SetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD) PURE;
-	STDMETHOD(ValidateDevice)(THIS_ DWORD*) PURE;
-	STDMETHOD(SetPaletteEntries)(THIS_ UINT,CONST PALETTEENTRY*) PURE;
-	STDMETHOD(GetPaletteEntries)(THIS_ UINT,PALETTEENTRY*) PURE;
-	STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT) PURE;
-	STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT*) PURE;
-	STDMETHOD(SetScissorRect)(THIS_ CONST RECT*) PURE;
-	STDMETHOD(GetScissorRect)(THIS_ RECT*) PURE;
-	STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL) PURE;
-	STDMETHOD_(BOOL,GetSoftwareVertexProcessing)(THIS) PURE;
-	STDMETHOD(SetNPatchMode)(THIS_ float) PURE;
-	STDMETHOD_(float,GetNPatchMode)(THIS) PURE;
-	STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,UINT,UINT) PURE;
-	STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,INT,UINT,UINT,UINT,UINT) PURE;
-	STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,CONST void*,UINT) PURE;
-	STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,UINT,UINT,CONST void*,D3DFORMAT,CONST void*,UINT) PURE;
-	STDMETHOD(ProcessVertices)(THIS_ UINT,UINT,UINT,IDirect3DVertexBuffer9*,IDirect3DVertexDeclaration9*,DWORD) PURE;
-	STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9*,IDirect3DVertexDeclaration9**) PURE;
-	STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9*) PURE;
-	STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9**) PURE;
-	STDMETHOD(SetFVF)(THIS_ DWORD) PURE;
-	STDMETHOD(GetFVF)(THIS_ DWORD*) PURE;
-	STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD*,IDirect3DVertexShader9**) PURE;
-	STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9*) PURE;
-	STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9**) PURE;
-	STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
-	STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
-	STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
-	STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
-	STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
-	STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
-	STDMETHOD(SetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9*,UINT,UINT) PURE;
-	STDMETHOD(GetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9**,UINT*,UINT*) PURE;
-	STDMETHOD(SetStreamSourceFreq)(THIS_ UINT,UINT) PURE;
-	STDMETHOD(GetStreamSourceFreq)(THIS_ UINT,UINT*) PURE;
-	STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9*) PURE;
-	STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9**) PURE;
-	STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD*,IDirect3DPixelShader9**) PURE;
-	STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9*) PURE;
-	STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9**) PURE;
-	STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
-	STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
-	STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
-	STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
-	STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
-	STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
-	STDMETHOD(DrawRectPatch)(THIS_ UINT,CONST float*,CONST D3DRECTPATCH_INFO*) PURE;
-	STDMETHOD(DrawTriPatch)(THIS_ UINT,CONST float*,CONST D3DTRIPATCH_INFO*) PURE;
-	STDMETHOD(DeletePatch)(THIS_ UINT) PURE;
-	STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE,IDirect3DQuery9**) PURE;
-};
-typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9, *PDIRECT3DDEVICE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DDevice9_TestCooperativeLevel(p)	(p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9_GetAvailableTextureMem(p)	(p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9_EvictManagedResources(p)	(p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9_GetDirect3D(p,a)	(p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a)	(p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b)	(p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a)	(p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c)	(p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c)	(p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a)	(p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b)	(p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b)	(p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p)	(p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9_Reset(p,a)	(p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9_Present(p,a,b,c,d)	(p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d)	(p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b)	(p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a)	(p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c)	(p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b)	(p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h)	(p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)	(p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g)	(p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f)	(p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f)	(p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h)	(p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)	(p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d)	(p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b)	(p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b)	(p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b)	(p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e)	(p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c)	(p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)	(p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b)	(p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b)	(p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a)	(p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a)	(p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_BeginScene(p)	(p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9_EndScene(p)	(p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f)	(p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b)	(p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b)	(p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b)	(p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9_SetViewport(p,a)	(p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9_GetViewport(p,a)	(p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9_SetMaterial(p,a)	(p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9_GetMaterial(p,a)	(p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9_SetLight(p,a,b)	(p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9_GetLight(p,a,b)	(p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b)	(p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b)	(p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b)	(p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b)	(p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b)	(p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b)	(p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b)	(p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9_BeginStateBlock(p)	(p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9_EndStateBlock(p,a)	(p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9_SetClipStatus(p,a)	(p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9_GetClipStatus(p,a)	(p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9_GetTexture(p,a,b)	(p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b)	(p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c)	(p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c)	(p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c)	(p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c)	(p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a)	(p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b)	(p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b)	(p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a)	(p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a)	(p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_SetScissorRect(p,a)	(p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9_GetScissorRect(p,a)	(p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a)	(p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p)	(p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9_SetNPatchMode(p,a)	(p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9_GetNPatchMode(p)	(p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c)	(p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f)	(p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d)	(p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)	(p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f)	(p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b)	(p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a)	(p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a)	(p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9_SetFVF(p,a)	(p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9_GetFVF(p,a)	(p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b)	(p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a)	(p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9_GetVertexShader(p,a)	(p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c)	(p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c)	(p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c)	(p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c)	(p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c)	(p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c)	(p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d)	(p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d)	(p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b)	(p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b)	(p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_SetIndices(p,a)	(p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9_GetIndices(p,a)	(p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b)	(p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a)	(p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9_GetPixelShader(p,a)	(p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c)	(p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c)	(p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c)	(p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c)	(p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c)	(p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c)	(p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c)	(p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c)	(p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a)	(p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9_CreateQuery(p,a,b)	(p)->lpVtbl->CreateQuery(p,a,b)
-#else
-#define IDirect3DDevice9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DDevice9_AddRef(p)	(p)->AddRef()
-#define IDirect3DDevice9_Release(p)	(p)->Release()
-#define IDirect3DDevice9_TestCooperativeLevel(p)	(p)->TestCooperativeLevel()
-#define IDirect3DDevice9_GetAvailableTextureMem(p)	(p)->GetAvailableTextureMem()
-#define IDirect3DDevice9_EvictManagedResources(p)	(p)->EvictManagedResources()
-#define IDirect3DDevice9_GetDirect3D(p,a)	(p)->GetDirect3D(a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a)	(p)->GetDeviceCaps(a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b)	(p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a)	(p)->GetCreationParameters(a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c)	(p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c)	(p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a)	(p)->ShowCursor(a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b)	(p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b)	(p)->GetSwapChain(a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p)	(p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9_Reset(p,a)	(p)->Reset(a)
-#define IDirect3DDevice9_Present(p,a,b,c,d)	(p)->Present(a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d)	(p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b)	(p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a)	(p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c)	(p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b)	(p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h)	(p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)	(p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g)	(p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f)	(p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f)	(p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h)	(p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)	(p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d)	(p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b)	(p)->UpdateTexture(a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b)	(p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b)	(p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e)	(p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c)	(p)->ColorFill(a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f)	(p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b)	(p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b)	(p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a)	(p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a)	(p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9_BeginScene(p)	(p)->BeginScene()
-#define IDirect3DDevice9_EndScene(p)	(p)->EndScene()
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f)	(p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b)	(p)->SetTransform(a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b)	(p)->GetTransform(a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b)	(p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9_SetViewport(p,a)	(p)->SetViewport(a)
-#define IDirect3DDevice9_GetViewport(p,a)	(p)->GetViewport(a)
-#define IDirect3DDevice9_SetMaterial(p,a)	(p)->SetMaterial(a)
-#define IDirect3DDevice9_GetMaterial(p,a)	(p)->GetMaterial(a)
-#define IDirect3DDevice9_SetLight(p,a,b)	(p)->SetLight(a,b)
-#define IDirect3DDevice9_GetLight(p,a,b)	(p)->GetLight(a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b)	(p)->LightEnable(a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b)	(p)->GetLightEnable(a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b)	(p)->SetClipPlane(a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b)	(p)->GetClipPlane(a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b)	(p)->SetRenderState(a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b)	(p)->GetRenderState(a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b)	(p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9_BeginStateBlock(p)	(p)->BeginStateBlock()
-#define IDirect3DDevice9_EndStateBlock(p,a)	(p)->EndStateBlock(a)
-#define IDirect3DDevice9_SetClipStatus(p,a)	(p)->SetClipStatus(a)
-#define IDirect3DDevice9_GetClipStatus(p,a)	(p)->GetClipStatus(a)
-#define IDirect3DDevice9_GetTexture(p,a,b)	(p)->GetTexture(a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b)	(p)->SetTexture(a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c)	(p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c)	(p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c)	(p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c)	(p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a)	(p)->ValidateDevice(a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b)	(p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b)	(p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a)	(p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a)	(p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9_SetScissorRect(p,a)	(p)->SetScissorRect(a)
-#define IDirect3DDevice9_GetScissorRect(p,a)	(p)->GetScissorRect(a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a)	(p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p)	(p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9_SetNPatchMode(p,a)	(p)->SetNPatchMode(a)
-#define IDirect3DDevice9_GetNPatchMode(p)	(p)->GetNPatchMode()
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c)	(p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f)	(p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d)	(p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)	(p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f)	(p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b)	(p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a)	(p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a)	(p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9_SetFVF(p,a)	(p)->SetFVF(a)
-#define IDirect3DDevice9_GetFVF(p,a)	(p)->GetFVF(a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b)	(p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a)	(p)->SetVertexShader(a)
-#define IDirect3DDevice9_GetVertexShader(p,a)	(p)->GetVertexShader(a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c)	(p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c)	(p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c)	(p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c)	(p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c)	(p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c)	(p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d)	(p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d)	(p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b)	(p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b)	(p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_SetIndices(p,a)	(p)->SetIndices(a)
-#define IDirect3DDevice9_GetIndices(p,a)	(p)->GetIndices(a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b)	(p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a)	(p)->SetPixelShader(a)
-#define IDirect3DDevice9_GetPixelShader(p,a)	(p)->GetPixelShader(a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c)	(p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c)	(p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c)	(p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c)	(p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c)	(p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c)	(p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c)	(p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c)	(p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a)	(p)->DeletePatch(a)
-#define IDirect3DDevice9_CreateQuery(p,a,b)	(p)->CreateQuery(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVolume9
-DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
-	STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC*) PURE;
-	STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
-	STDMETHOD(UnlockBox)(THIS) PURE;
-};
-typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVolume9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DVolume9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume9_GetContainer(p,a,b)	(p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume9_GetDesc(p,a)	(p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume9_LockBox(p,a,b,c)	(p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume9_UnlockBox(p)	(p)->lpVtbl->UnlockBox(p)
-#else
-#define IDirect3DVolume9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DVolume9_AddRef(p)	(p)->AddRef()
-#define IDirect3DVolume9_Release(p)	(p)->Release()
-#define IDirect3DVolume9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DVolume9_GetContainer(p,a,b)	(p)->GetContainer(a,b)
-#define IDirect3DVolume9_GetDesc(p,a)	(p)->GetDesc(a)
-#define IDirect3DVolume9_LockBox(p,a,b,c)	(p)->LockBox(a,b,c)
-#define IDirect3DVolume9_UnlockBox(p)	(p)->UnlockBox()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DSwapChain9
-DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*,DWORD) PURE;
-	STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9*) PURE;
-	STDMETHOD(GetBackBuffer)(THIS_ UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
-	STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS*) PURE;
-	STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE*) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
-};
-typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DSwapChain9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e)	(p)->lpVtbl->Present(p,a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a)	(p)->lpVtbl->GetFrontBufferData(p,a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c)	(p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a)	(p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a)	(p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DSwapChain9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a)	(p)->lpVtbl->GetPresentParameters(p,a)
-#else
-#define IDirect3DSwapChain9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DSwapChain9_AddRef(p)	(p)->AddRef()
-#define IDirect3DSwapChain9_Release(p)	(p)->Release()
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e)	(p)->Present(a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a)	(p)->GetFrontBufferData(a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c)	(p)->GetBackBuffer(a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a)	(p)->GetRasterStatus(a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a)	(p)->GetDisplayMode(a)
-#define IDirect3DSwapChain9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a)	(p)->GetPresentParameters(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DResource9
-DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-};
-typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DResource9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DResource9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DResource9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource9_GetType(p)	(p)->lpVtbl->GetType(p)
-#else
-#define IDirect3DResource9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DResource9_AddRef(p)	(p)->AddRef()
-#define IDirect3DResource9_Release(p)	(p)->Release()
-#define IDirect3DResource9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DResource9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DResource9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DResource9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DResource9_GetType(p)	(p)->GetType()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DSurface9
-DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
-	STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC*) PURE;
-	STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
-	STDMETHOD(UnlockRect)(THIS) PURE;
-	STDMETHOD(GetDC)(THIS_ HDC*) PURE;
-	STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
-};
-typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DSurface9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DSurface9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DSurface9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DSurface9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DSurface9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DSurface9_GetContainer(p,a,b)	(p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface9_GetDesc(p,a)	(p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface9_LockRect(p,a,b,c)	(p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface9_UnlockRect(p)	(p)->lpVtbl->UnlockRect(p)
-#define IDirect3DSurface9_GetDC(p,a)	(p)->lpVtbl->GetDC(p,a)
-#define IDirect3DSurface9_ReleaseDC(p,a)	(p)->lpVtbl->ReleaseDC(p,a)
-#else
-#define IDirect3DSurface9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DSurface9_AddRef(p)	(p)->AddRef()
-#define IDirect3DSurface9_Release(p)	(p)->Release()
-#define IDirect3DSurface9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DSurface9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DSurface9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DSurface9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DSurface9_GetType(p)	(p)->GetType()
-#define IDirect3DSurface9_GetContainer(p,a,b)	(p)->GetContainer(a,b)
-#define IDirect3DSurface9_GetDesc(p,a)	(p)->GetDesc(a)
-#define IDirect3DSurface9_LockRect(p,a,b,c)	(p)->LockRect(a,b,c)
-#define IDirect3DSurface9_UnlockRect(p)	(p)->UnlockRect()
-#define IDirect3DSurface9_GetDC(p,a)	(p)->GetDC(a)
-#define IDirect3DSurface9_ReleaseDC(p,a)	(p)->ReleaseDC(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexBuffer9
-DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
-	STDMETHOD(Unlock)(THIS) PURE;
-	STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC*) PURE;
-};
-typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DVertexBuffer9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d)	(p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p)	(p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer9_GetDesc(p,a)	(p)->lpVtbl->GetDesc(p,a)
-#else
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer9_AddRef(p)	(p)->AddRef()
-#define IDirect3DVertexBuffer9_Release(p)	(p)->Release()
-#define IDirect3DVertexBuffer9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DVertexBuffer9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DVertexBuffer9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DVertexBuffer9_GetType(p)	(p)->GetType()
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d)	(p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p)	(p)->Unlock()
-#define IDirect3DVertexBuffer9_GetDesc(p,a)	(p)->GetDesc(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DIndexBuffer9
-DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
-	STDMETHOD(Unlock)(THIS) PURE;
-	STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC*) PURE;
-};
-typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DIndexBuffer9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d)	(p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p)	(p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer9_GetDesc(p,a)	(p)->lpVtbl->GetDesc(p,a)
-#else
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer9_AddRef(p)	(p)->AddRef()
-#define IDirect3DIndexBuffer9_Release(p)	(p)->Release()
-#define IDirect3DIndexBuffer9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DIndexBuffer9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DIndexBuffer9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DIndexBuffer9_GetType(p)	(p)->GetType()
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d)	(p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p)	(p)->Unlock()
-#define IDirect3DIndexBuffer9_GetDesc(p,a)	(p)->GetDesc(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DBaseTexture9
-DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
-	STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-	STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
-	STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
-	STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
-};
-typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DBaseTexture9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DBaseTexture9_SetLOD(p,a)	(p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture9_GetLOD(p)	(p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture9_GetLevelCount(p)	(p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a)	(p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p)	(p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p)	(p)->lpVtbl->GenerateMipSubLevels(p)
-#else
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture9_AddRef(p)	(p)->AddRef()
-#define IDirect3DBaseTexture9_Release(p)	(p)->Release()
-#define IDirect3DBaseTexture9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DBaseTexture9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DBaseTexture9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DBaseTexture9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DBaseTexture9_GetType(p)	(p)->GetType()
-#define IDirect3DBaseTexture9_SetLOD(p,a)	(p)->SetLOD(a)
-#define IDirect3DBaseTexture9_GetLOD(p)	(p)->GetLOD()
-#define IDirect3DBaseTexture9_GetLevelCount(p)	(p)->GetLevelCount()
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a)	(p)->SetAutoGenFilterType(a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p)	(p)->GetAutoGenFilterType()
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p)	(p)->GenerateMipSubLevels()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DCubeTexture9
-DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
-	STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-	STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
-	STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
-	STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
-	STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE; \
-	STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES,UINT,IDirect3DSurface9**) PURE; \
-	STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES,UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE; \
-	STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES,UINT) PURE; \
-	STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES,CONST RECT*) PURE;
-};
-typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DCubeTexture9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DCubeTexture9_SetLOD(p,a)	(p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture9_GetLOD(p)	(p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture9_GetLevelCount(p)	(p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a)	(p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p)	(p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p)	(p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b)	(p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c)	(p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e)	(p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b)	(p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b)	(p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture9_AddRef(p)	(p)->AddRef()
-#define IDirect3DCubeTexture9_Release(p)	(p)->Release()
-#define IDirect3DCubeTexture9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DCubeTexture9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DCubeTexture9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DCubeTexture9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DCubeTexture9_GetType(p)	(p)->GetType()
-#define IDirect3DCubeTexture9_SetLOD(p,a)	(p)->SetLOD(a)
-#define IDirect3DCubeTexture9_GetLOD(p)	(p)->GetLOD()
-#define IDirect3DCubeTexture9_GetLevelCount(p)	(p)->GetLevelCount()
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a)	(p)->SetAutoGenFilterType(a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p)	(p)->GetAutoGenFilterType()
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p)	(p)->GenerateMipSubLevels()
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b)	(p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c)	(p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e)	(p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b)	(p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b)	(p)->AddDirtyRect(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DTexture9
-DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
-	STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-	STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
-	STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
-	STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
-	STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE;
-	STDMETHOD(GetSurfaceLevel)(THIS_ UINT,IDirect3DSurface9**) PURE;
-	STDMETHOD(LockRect)(THIS_ UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
-	STDMETHOD(UnlockRect)(THIS_ UINT) PURE;
-	STDMETHOD(AddDirtyRect)(THIS_ CONST RECT*) PURE;
-};
-typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DTexture9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DTexture9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DTexture9_SetLOD(p,a)	(p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture9_GetLOD(p)	(p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture9_GetLevelCount(p)	(p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a)	(p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p)	(p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DTexture9_GenerateMipSubLevels(p)	(p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DTexture9_GetLevelDesc(p,a,b)	(p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b)	(p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d)	(p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a)	(p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture9_AddDirtyRect(p,a)	(p)->lpVtbl->AddDirtyRect(p,a)
-#else
-#define IDirect3DTexture9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DTexture9_AddRef(p)	(p)->AddRef()
-#define IDirect3DTexture9_Release(p)	(p)->Release()
-#define IDirect3DTexture9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DTexture9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DTexture9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DTexture9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DTexture9_GetType(p)	(p)->GetType()
-#define IDirect3DTexture9_SetLOD(p,a)	(p)->SetLOD(a)
-#define IDirect3DTexture9_GetLOD(p)	(p)->GetLOD()
-#define IDirect3DTexture9_GetLevelCount(p)	(p)->GetLevelCount()
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a)	(p)->SetAutoGenFilterType(a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p)	(p)->GetAutoGenFilterType()
-#define IDirect3DTexture9_GenerateMipSubLevels(p)	(p)->GenerateMipSubLevels()
-#define IDirect3DTexture9_GetLevelDesc(p,a,b)	(p)->GetLevelDesc(a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b)	(p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d)	(p)->LockRect(a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a)	(p)->UnlockRect(a)
-#define IDirect3DTexture9_AddDirtyRect(p,a)	(p)->AddDirtyRect(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVolumeTexture9
-DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
-	STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
-	STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
-	STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
-	STDMETHOD_(void,PreLoad)(THIS) PURE;
-	STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-	STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
-	STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
-	STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
-	STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
-	STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
-	STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
-    STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DVOLUME_DESC*) PURE;
-    STDMETHOD(GetVolumeLevel)(THIS_ UINT,IDirect3DVolume9**) PURE;
-    STDMETHOD(LockBox)(THIS_ UINT,D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
-    STDMETHOD(UnlockBox)(THIS_ UINT) PURE;
-    STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX*) PURE;
-};
-typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DVolumeTexture9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d)	(p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c)	(p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a)	(p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a)	(p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture9_GetPriority(p)	(p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture9_PreLoad(p)	(p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DVolumeTexture9_SetLOD(p,a)	(p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture9_GetLOD(p)	(p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture9_GetLevelCount(p)	(p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a)	(p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p)	(p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p)	(p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b)	(p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b)	(p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d)	(p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a)	(p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a)	(p)->lpVtbl->AddDirtyBox(p,a)
-#else
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture9_AddRef(p)	(p)->AddRef()
-#define IDirect3DVolumeTexture9_Release(p)	(p)->Release()
-#define IDirect3DVolumeTexture9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d)	(p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c)	(p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a)	(p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a)	(p)->SetPriority(a)
-#define IDirect3DVolumeTexture9_GetPriority(p)	(p)->GetPriority()
-#define IDirect3DVolumeTexture9_PreLoad(p)	(p)->PreLoad()
-#define IDirect3DVolumeTexture9_GetType(p)	(p)->GetType()
-#define IDirect3DVolumeTexture9_SetLOD(p,a)	(p)->SetLOD(a)
-#define IDirect3DVolumeTexture9_GetLOD(p)	(p)->GetLOD()
-#define IDirect3DVolumeTexture9_GetLevelCount(p)	(p)->GetLevelCount()
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a)	(p)->SetAutoGenFilterType(a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p)	(p)->GetAutoGenFilterType()
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p)	(p)->GenerateMipSubLevels()
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b)	(p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b)	(p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d)	(p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a)	(p)->UnlockBox(a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a)	(p)->AddDirtyBox(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexDeclaration9
-DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*,UINT*) PURE;
-};
-typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9, *PDIRECT3DVERTEXDECLARATION9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexDeclaration9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DVertexDeclaration9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b)	(p)->lpVtbl->GetDeclaration(p,a,b)
-#else
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p)	(p)->AddRef()
-#define IDirect3DVertexDeclaration9_Release(p)	(p)->Release()
-#define IDirect3DVertexDeclaration9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b)	(p)->GetDeclaration(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexShader9
-DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
-};
-typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9, *PDIRECT3DVERTEXSHADER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexShader9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexShader9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexShader9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DVertexShader9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b)	(p)->lpVtbl->GetFunction(p,a,b)
-#else
-#define IDirect3DVertexShader9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DVertexShader9_AddRef(p)	(p)->AddRef()
-#define IDirect3DVertexShader9_Release(p)	(p)->Release()
-#define IDirect3DVertexShader9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b)	(p)->GetFunction(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DPixelShader9
-DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
-};
-typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9, *PDIRECT3DPIXELSHADER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DPixelShader9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DPixelShader9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DPixelShader9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DPixelShader9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b)	(p)->lpVtbl->GetFunction(p,a,b)
-#else
-#define IDirect3DPixelShader9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DPixelShader9_AddRef(p)	(p)->AddRef()
-#define IDirect3DPixelShader9_Release(p)	(p)->Release()
-#define IDirect3DPixelShader9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b)	(p)->GetFunction(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DStateBlock9
-DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD(Capture)(THIS) PURE;
-	STDMETHOD(Apply)(THIS) PURE;
-};
-typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9, *PDIRECT3DSTATEBLOCK9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DStateBlock9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DStateBlock9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DStateBlock9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DStateBlock9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DStateBlock9_Capture(p)	(p)->lpVtbl->Capture(p)
-#define IDirect3DStateBlock9_Apply(p)	(p)->lpVtbl->Apply(p)
-#else
-#define IDirect3DStateBlock9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DStateBlock9_AddRef(p)	(p)->AddRef()
-#define IDirect3DStateBlock9_Release(p)	(p)->Release()
-#define IDirect3DStateBlock9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DStateBlock9_Capture(p)	(p)->Capture()
-#define IDirect3DStateBlock9_Apply(p)	(p)->Apply()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DQuery9
-DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
-	STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
-	STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
-	STDMETHOD(Issue)(THIS_ DWORD) PURE;
-	STDMETHOD(GetData)(THIS_ void*,DWORD,DWORD) PURE;
-};
-typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DQuery9_QueryInterface(p,a,b)	(p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DQuery9_AddRef(p)	(p)->lpVtbl->AddRef(p)
-#define IDirect3DQuery9_Release(p)	(p)->lpVtbl->Release(p)
-#define IDirect3DQuery9_GetDevice(p,a)	(p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DQuery9_GetType(p)	(p)->lpVtbl->GetType(p)
-#define IDirect3DQuery9_GetDataSize(p)	(p)->lpVtbl->GetDataSize(p)
-#define IDirect3DQuery9_Issue(p,a)	(p)->lpVtbl->Issue(p,a)
-#define IDirect3DQuery9_GetData(p,a,b,c)	(p)->lpVtbl->GetData(p,a,b,c)
-#else
-#define IDirect3DQuery9_QueryInterface(p,a,b)	(p)->QueryInterface(a,b)
-#define IDirect3DQuery9_AddRef(p)	(p)->AddRef()
-#define IDirect3DQuery9_Release(p)	(p)->Release()
-#define IDirect3DQuery9_GetDevice(p,a)	(p)->GetDevice(a)
-#define IDirect3DQuery9_GetType(p)	(p)->GetType()
-#define IDirect3DQuery9_GetDataSize(p)	(p)->GetDataSize()
-#define IDirect3DQuery9_Issue(p,a)	(p)->Issue(a)
-#define IDirect3DQuery9_GetData(p,a,b,c)	(p)->GetData(a,b,c)
-#endif
-
-#ifdef __cplusplus
-extern "C" IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-#else
-extern IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-#endif
-
-#endif
-#endif
Index: Daodan/MinGW/include/d3d9caps.h
===================================================================
--- Daodan/MinGW/include/d3d9caps.h	(revision 1046)
+++ 	(revision )
@@ -1,338 +1,0 @@
-/*
-
-	d3d9caps.h - Header file for the Direct3D9 API
-
-	Written by Filip Navara <xnavara@volny.cz>
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _D3D9_CAPS_H
-#define _D3D9_CAPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION  0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#define D3DCURSORCAPS_COLOR	1
-#define D3DCURSORCAPS_LOWRES	2
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY	0x10
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY	0x20
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY	0x40
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY	0x80
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY	0x100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY	0x200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX	0x400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP	0x800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM	0x1000
-#define D3DDEVCAPS_DRAWPRIMITIVES2	0x2000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES	0x4000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX	0x8000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT	0x10000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL	0x20000
-#define D3DDEVCAPS_HWRASTERIZATION	0x80000
-#define D3DDEVCAPS_PUREDEVICE	0x100000
-#define D3DDEVCAPS_QUINTICRTPATCHES	0x200000
-#define D3DDEVCAPS_RTPATCHES	0x400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO	0x800000
-#define D3DDEVCAPS_NPATCHES	0x1000000
-#define D3DDEVCAPS2_STREAMOFFSET	0x01
-#define D3DDEVCAPS2_DMAPNPATCH	0x02
-#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH	0x04
-#define D3DDEVCAPS2_ADAPTIVETESSNPATCH	0x08
-#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES	0x10
-#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH	0x20
-#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET	0x40
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK	0xFFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS	0x80000
-#define D3DFVFCAPS_PSIZE	0x100000
-#define D3DLINECAPS_TEXTURE	0x01
-#define D3DLINECAPS_ZTEST	0x02
-#define D3DLINECAPS_BLEND	0x04
-#define D3DLINECAPS_ALPHACMP	0x08
-#define D3DLINECAPS_FOG	0x10
-#define D3DLINECAPS_ANTIALIAS	0x20
-#define D3DPBLENDCAPS_ZERO	0x01
-#define D3DPBLENDCAPS_ONE	0x02
-#define D3DPBLENDCAPS_SRCCOLOR	0x04
-#define D3DPBLENDCAPS_INVSRCCOLOR	0x08
-#define D3DPBLENDCAPS_SRCALPHA	0x10
-#define D3DPBLENDCAPS_INVSRCALPHA	0x20
-#define D3DPBLENDCAPS_DESTALPHA	0x40
-#define D3DPBLENDCAPS_INVDESTALPHA	0x80
-#define D3DPBLENDCAPS_DESTCOLOR	0x100
-#define D3DPBLENDCAPS_INVDESTCOLOR	0x200
-#define D3DPBLENDCAPS_SRCALPHASAT	0x400
-#define D3DPBLENDCAPS_BOTHSRCALPHA	0x800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA	0x1000
-#define D3DPBLENDCAPS_BLENDFACTOR	0x2000
-#define D3DPCMPCAPS_NEVER	0x01
-#define D3DPCMPCAPS_LESS	0x02
-#define D3DPCMPCAPS_EQUAL	0x04
-#define D3DPCMPCAPS_LESSEQUAL	0x08
-#define D3DPCMPCAPS_GREATER	0x10
-#define D3DPCMPCAPS_NOTEQUAL	0x20
-#define D3DPCMPCAPS_GREATEREQUAL	0x40
-#define D3DPCMPCAPS_ALWAYS	0x80
-#define D3DPMISCCAPS_MASKZ	0x02
-#define D3DPMISCCAPS_CULLNONE	0x10
-#define D3DPMISCCAPS_CULLCW	0x20
-#define D3DPMISCCAPS_CULLCCW	0x40
-#define D3DPMISCCAPS_COLORWRITEENABLE	0x80
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS	0x100
-#define D3DPMISCCAPS_CLIPTLVERTS	0x200
-#define D3DPMISCCAPS_TSSARGTEMP	0x400
-#define D3DPMISCCAPS_BLENDOP	0x800
-#define D3DPMISCCAPS_NULLREFERENCE	0x1000
-#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS	0x4000
-#define D3DPMISCCAPS_PERSTAGECONSTANT	0x8000
-#define D3DPMISCCAPS_FOGANDSPECULARALPHA	0x10000
-#define D3DPMISCCAPS_SEPARATEALPHABLEND	0x20000
-#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS	0x40000
-#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING	0x80000
-#define D3DPMISCCAPS_FOGVERTEXCLAMPED	0x100000
-#define D3DPRASTERCAPS_DITHER	0x01
-#define D3DPRASTERCAPS_ZTEST	0x10
-#define D3DPRASTERCAPS_FOGVERTEX	0x80
-#define D3DPRASTERCAPS_FOGTABLE	0x100
-#define D3DPRASTERCAPS_MIPMAPLODBIAS	0x2000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR	0x8000
-#define D3DPRASTERCAPS_FOGRANGE	0x10000
-#define D3DPRASTERCAPS_ANISOTROPY	0x20000
-#define D3DPRASTERCAPS_WBUFFER	0x40000
-#define D3DPRASTERCAPS_WFOG	0x100000
-#define D3DPRASTERCAPS_ZFOG	0x200000
-#define D3DPRASTERCAPS_COLORPERSPECTIVE	0x400000
-#define D3DPRASTERCAPS_SCISSORTEST	0x1000000
-#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS	0x2000000
-#define D3DPRASTERCAPS_DEPTHBIAS	0x4000000
-#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE	0x8000000
-#define D3DPRESENT_INTERVAL_DEFAULT	0x00
-#define D3DPRESENT_INTERVAL_ONE	0x01
-#define D3DPRESENT_INTERVAL_TWO	0x02
-#define D3DPRESENT_INTERVAL_THREE	0x04
-#define D3DPRESENT_INTERVAL_FOUR	0x08
-#define D3DPRESENT_INTERVAL_IMMEDIATE	0x80000000L
-#define D3DPSHADECAPS_COLORGOURAUDRGB	0x08
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB	0x200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND	0x4000
-#define D3DPSHADECAPS_FOGGOURAUD	0x80000
-#define D3DPTADDRESSCAPS_WRAP	0x01
-#define D3DPTADDRESSCAPS_MIRROR	0x02
-#define D3DPTADDRESSCAPS_CLAMP	0x04
-#define D3DPTADDRESSCAPS_BORDER	0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV	0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE	0x20
-#define D3DPTEXTURECAPS_PERSPECTIVE	0x01
-#define D3DPTEXTURECAPS_POW2	0x02
-#define D3DPTEXTURECAPS_ALPHA	0x04
-#define D3DPTEXTURECAPS_SQUAREONLY	0x20
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE	0x40
-#define D3DPTEXTURECAPS_ALPHAPALETTE	0x80
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL	0x100
-#define D3DPTEXTURECAPS_PROJECTED	0x400
-#define D3DPTEXTURECAPS_CUBEMAP	0x800
-#define D3DPTEXTURECAPS_VOLUMEMAP	0x2000
-#define D3DPTEXTURECAPS_MIPMAP	0x4000
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP	0x8000
-#define D3DPTEXTURECAPS_MIPCUBEMAP	0x10000
-#define D3DPTEXTURECAPS_CUBEMAP_POW2	0x20000
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2	0x40000
-#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV	0x200000
-#define D3DPTFILTERCAPS_MINFPOINT	0x100
-#define D3DPTFILTERCAPS_MINFLINEAR	0x200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC	0x400
-#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD	0x800
-#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD	0x1000
-#define D3DPTFILTERCAPS_MIPFPOINT	0x10000
-#define D3DPTFILTERCAPS_MIPFLINEAR	0x20000
-#define D3DPTFILTERCAPS_MAGFPOINT	0x1000000
-#define D3DPTFILTERCAPS_MAGFLINEAR	0x2000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC	0x4000000
-#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD	0x8000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD	0x10000000
-#define D3DSTENCILCAPS_KEEP	0x01
-#define D3DSTENCILCAPS_ZERO	0x02
-#define D3DSTENCILCAPS_REPLACE	0x04
-#define D3DSTENCILCAPS_INCRSAT	0x08
-#define D3DSTENCILCAPS_DECRSAT	0x10
-#define D3DSTENCILCAPS_INVERT	0x20
-#define D3DSTENCILCAPS_INCR	0x40
-#define D3DSTENCILCAPS_DECR	0x80
-#define D3DSTENCILCAPS_TWOSIDED	0x100
-#define D3DTEXOPCAPS_DISABLE	0x01
-#define D3DTEXOPCAPS_SELECTARG1	0x02
-#define D3DTEXOPCAPS_SELECTARG2	0x04
-#define D3DTEXOPCAPS_MODULATE	0x08
-#define D3DTEXOPCAPS_MODULATE2X	0x10
-#define D3DTEXOPCAPS_MODULATE4X	0x20
-#define D3DTEXOPCAPS_ADD	0x40
-#define D3DTEXOPCAPS_ADDSIGNED	0x80
-#define D3DTEXOPCAPS_ADDSIGNED2X	0x100
-#define D3DTEXOPCAPS_SUBTRACT	0x200
-#define D3DTEXOPCAPS_ADDSMOOTH	0x400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA	0x800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA	0x1000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA	0x2000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM	0x4000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA	0x8000
-#define D3DTEXOPCAPS_PREMODULATE	0x10000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR	0x20000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA	0x40000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR	0x80000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA	0x100000
-#define D3DTEXOPCAPS_BUMPENVMAP	0x200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE	0x400000
-#define D3DTEXOPCAPS_DOTPRODUCT3	0x800000
-#define D3DTEXOPCAPS_MULTIPLYADD	0x1000000
-#define D3DTEXOPCAPS_LERP	0x2000000
-#define D3DVTXPCAPS_TEXGEN	0x01
-#define D3DVTXPCAPS_MATERIALSOURCE7	0x02
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS	0x08
-#define D3DVTXPCAPS_POSITIONALLIGHTS	0x10
-#define D3DVTXPCAPS_LOCALVIEWER	0x20
-#define D3DVTXPCAPS_TWEENING	0x40
-#define D3DVTXPCAPS_TEXGEN_SPHEREMAP	0x100
-#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER	0x200
-#define D3DCAPS_READ_SCANLINE	0x20000
-#define D3DCAPS2_FULLSCREENGAMMA	0x20000L
-#define D3DCAPS2_CANCALIBRATEGAMMA	0x100000L
-#define D3DCAPS2_RESERVED	0x2000000L
-#define D3DCAPS2_CANMANAGERESOURCE	0x10000000L
-#define D3DCAPS2_DYNAMICTEXTURES	0x20000000L
-#define D3DCAPS2_CANAUTOGENMIPMAP	0x40000000L
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD	0x20
-#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION	0x80
-#define D3DCAPS3_COPY_TO_VIDMEM	0x100
-#define D3DCAPS3_COPY_TO_SYSTEMMEM	0x200
-#define D3DCAPS3_RESERVED	0x8000001fL
-#define D3DDTCAPS_UBYTE4	0x01
-#define D3DDTCAPS_UBYTE4N	0x02
-#define D3DDTCAPS_SHORT2N	0x04
-#define D3DDTCAPS_SHORT4N	0x08
-#define D3DDTCAPS_USHORT2N	0x10
-#define D3DDTCAPS_USHORT4N	0x20
-#define D3DDTCAPS_UDEC3	0x40
-#define D3DDTCAPS_DEC3N	0x80
-#define D3DDTCAPS_FLOAT16_2	0x100
-#define D3DDTCAPS_FLOAT16_4	0x200
-#define D3DMIN30SHADERINSTRUCTIONS	512
-#define D3DMAX30SHADERINSTRUCTIONS	32768
-#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH	24
-#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH	0
-#define D3DPS20_MAX_NUMTEMPS	32
-#define D3DPS20_MIN_NUMTEMPS	12
-#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH	4
-#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH	0
-#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS	512
-#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS	96
-#define D3DPS20CAPS_ARBITRARYSWIZZLE	0x1
-#define D3DPS20CAPS_GRADIENTINSTRUCTIONS	0x2
-#define D3DPS20CAPS_PREDICATION	0x4
-#define D3DPS20CAPS_NODEPENDENTREADLIMIT	0x8
-#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT	0x10
-#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH	24
-#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH	0
-#define D3DVS20_MAX_NUMTEMPS	32
-#define D3DVS20_MIN_NUMTEMPS	12
-#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH	4
-#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH	1
-#define D3DVS20CAPS_PREDICATION	1
-
-typedef struct _D3DVSHADERCAPS2_0 {
-	DWORD Caps;
-	INT DynamicFlowControlDepth;
-	INT NumTemps;
-	INT StaticFlowControlDepth;
-} D3DVSHADERCAPS2_0;
-
-typedef struct _D3DPSHADERCAPS2_0 {
-	DWORD Caps;
-	INT DynamicFlowControlDepth;
-	INT NumTemps;
-	INT StaticFlowControlDepth;
-	INT NumInstructionSlots;
-} D3DPSHADERCAPS2_0;
-
-typedef struct _D3DCAPS9 {
-	D3DDEVTYPE DeviceType;
-	UINT AdapterOrdinal;
-	DWORD Caps;
-	DWORD Caps2;
-	DWORD Caps3;
-	DWORD PresentationIntervals;
-	DWORD CursorCaps;
-	DWORD DevCaps;
-	DWORD PrimitiveMiscCaps;
-	DWORD RasterCaps;
-	DWORD ZCmpCaps;
-	DWORD SrcBlendCaps;
-	DWORD DestBlendCaps;
-	DWORD AlphaCmpCaps;
-	DWORD ShadeCaps;
-	DWORD TextureCaps;
-	DWORD TextureFilterCaps;
-	DWORD CubeTextureFilterCaps;
-	DWORD VolumeTextureFilterCaps;
-	DWORD TextureAddressCaps;
-	DWORD VolumeTextureAddressCaps;
-	DWORD LineCaps;
-	DWORD MaxTextureWidth;
-	DWORD MaxTextureHeight;
-	DWORD MaxVolumeExtent;
-	DWORD MaxTextureRepeat;
-	DWORD MaxTextureAspectRatio;
-	DWORD MaxAnisotropy;
-	float MaxVertexW;
-	float GuardBandLeft;
-	float GuardBandTop;
-	float GuardBandRight;
-	float GuardBandBottom;
-	float ExtentsAdjust;
-	DWORD StencilCaps;
-	DWORD FVFCaps;
-	DWORD TextureOpCaps;
-	DWORD MaxTextureBlendStages;
-	DWORD MaxSimultaneousTextures;
-	DWORD VertexProcessingCaps;
-	DWORD MaxActiveLights;
-	DWORD MaxUserClipPlanes;
-	DWORD MaxVertexBlendMatrices;
-	DWORD MaxVertexBlendMatrixIndex;
-	float MaxPointSize;
-	DWORD MaxPrimitiveCount;
-	DWORD MaxVertexIndex;
-	DWORD MaxStreams;
-	DWORD MaxStreamStride;
-	DWORD VertexShaderVersion;
-	DWORD MaxVertexShaderConst;
-	DWORD PixelShaderVersion;
-	float PixelShader1xMaxValue;
-	DWORD DevCaps2;
-	float MaxNpatchTessellationLevel;
-	DWORD Reserved5;
-	UINT MasterAdapterOrdinal;
-	UINT AdapterOrdinalInGroup;
-	UINT NumberOfAdaptersInGroup;
-	DWORD DeclTypes;
-	DWORD NumSimultaneousRTs;
-	DWORD StretchRectFilterCaps;
-	D3DVSHADERCAPS2_0 VS20Caps;
-	D3DPSHADERCAPS2_0 PS20Caps;
-	DWORD VertexTextureFilterCaps;
-	DWORD MaxVShaderInstructionsExecuted;
-	DWORD MaxPShaderInstructionsExecuted;
-	DWORD MaxVertexShader30InstructionSlots;
-	DWORD MaxPixelShader30InstructionSlots;
-} D3DCAPS9;
-
-#endif
-#endif
Index: Daodan/MinGW/include/d3d9types.h
===================================================================
--- Daodan/MinGW/include/d3d9types.h	(revision 1046)
+++ 	(revision )
@@ -1,1272 +1,0 @@
-/*
-
-	d3d9types.h - Header file for the Direct3D9 API
-
-	Written by Filip Navara <xnavara@volny.cz>
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _D3D9_TYPES_H
-#define _D3D9_TYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION  0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#include <pshpack4.h>
-
-#define D3DCLEAR_TARGET	0x01
-#define D3DCLEAR_ZBUFFER	0x02
-#define D3DCLEAR_STENCIL	0x04
-#define D3DCLIPPLANE0	0x01
-#define D3DCLIPPLANE1	0x02
-#define D3DCLIPPLANE2	0x04
-#define D3DCLIPPLANE3	0x08
-#define D3DCLIPPLANE4	0x10
-#define D3DCLIPPLANE5	0x20
-#define D3DCOLOR_ARGB(a,r,g,b)	((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a)	D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a)	D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b)	D3DCOLOR_ARGB(0xff,r,g,b)
-#define D3DCOLOR_XYUV(y,u,v)	D3DCOLOR_ARGB(0xff,y,u,v)
-#define D3DCOLOR_AYUV(a,y,u,v)	D3DCOLOR_ARGB(a,y,u,v)
-#define D3DCOLORWRITEENABLE_RED	0x01
-#define D3DCOLORWRITEENABLE_GREEN	0x02
-#define D3DCOLORWRITEENABLE_BLUE	0x04
-#define D3DCOLORWRITEENABLE_ALPHA	0x08
-#define D3DCS_LEFT	0x01
-#define D3DCS_RIGHT	0x02
-#define D3DCS_TOP	0x04
-#define D3DCS_BOTTOM	0x08
-#define D3DCS_FRONT	0x10
-#define D3DCS_BACK	0x20
-#define D3DCS_PLANE0	0x40
-#define D3DCS_PLANE1	0x80
-#define D3DCS_PLANE2	0x100
-#define D3DCS_PLANE3	0x200
-#define D3DCS_PLANE4	0x400
-#define D3DCS_PLANE5	0x800
-#define D3DCS_ALL	(D3DCS_LEFT|D3DCS_RIGHT|D3DCS_TOP|D3DCS_BOTTOM|D3DCS_FRONT|D3DCS_BACK|D3DCS_PLANE0|D3DCS_PLANE1|D3DCS_PLANE2|D3DCS_PLANE3|D3DCS_PLANE4|D3DCS_PLANE5)
-#define D3DDECL_END()	{0xff,0,D3DDECLTYPE_UNUSED,0,0,0}
-#define D3DDP_MAXTEXCOORD	8
-#define D3DPV_DONOTCOPYDATA	0x01
-#define D3DTA_SELECTMASK	0x0f
-#define D3DTA_DIFFUSE	0x00
-#define D3DTA_CURRENT	0x01
-#define D3DTA_TEXTURE	0x02
-#define D3DTA_TFACTOR	0x03
-#define D3DTA_SPECULAR	0x04
-#define D3DTA_TEMP	0x05
-#define D3DTA_CONSTANT	0x06
-#define D3DTA_COMPLEMENT	0x10
-#define D3DTA_ALPHAREPLICATE	0x20
-#define D3DFVF_RESERVED0	0x01
-#define D3DFVF_POSITION_MASK	0x4000E
-#define D3DFVF_XYZ	0x02
-#define D3DFVF_XYZRHW	0x04
-#define D3DFVF_XYZB1	0x06
-#define D3DFVF_XYZB2	0x08
-#define D3DFVF_XYZB3	0x0a
-#define D3DFVF_XYZB4	0x0c
-#define D3DFVF_XYZB5	0x0e
-#define D3DFVF_XYZW	0x4002
-#define D3DFVF_NORMAL	0x10
-#define D3DFVF_PSIZE	0x20
-#define D3DFVF_DIFFUSE	0x40
-#define D3DFVF_SPECULAR	0x80
-#define D3DFVF_TEXCOUNT_MASK	0xf00
-#define D3DFVF_TEXCOUNT_SHIFT	8
-#define D3DFVF_TEX0	0x0000
-#define D3DFVF_TEX1	0x0100
-#define D3DFVF_TEX2	0x0200
-#define D3DFVF_TEX3	0x0300
-#define D3DFVF_TEX4	0x0400
-#define D3DFVF_TEX5	0x0500
-#define D3DFVF_TEX6	0x0600
-#define D3DFVF_TEX7	0x0700
-#define D3DFVF_TEX8	0x0800
-#define D3DFVF_TEXCOORDSIZE1(i) (D3DFVF_TEXTUREFORMAT1 << (i * 2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(i) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(i) (D3DFVF_TEXTUREFORMAT3 << (i * 2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(i) (D3DFVF_TEXTUREFORMAT4 << (i * 2 + 16))
-#define D3DFVF_TEXTUREFORMAT1	3
-#define D3DFVF_TEXTUREFORMAT2	0
-#define D3DFVF_TEXTUREFORMAT3	1
-#define D3DFVF_TEXTUREFORMAT4	2
-#define D3DFVF_LASTBETA_UBYTE4	0x1000
-#define D3DFVF_LASTBETA_D3DCOLOR	0x8000
-#define D3DFVF_RESERVED2	0x6000
-#define D3DDMAPSAMPLER	256
-#define D3DVERTEXTEXTURESAMPLER0	(D3DDMAPSAMPLER+1)
-#define D3DVERTEXTEXTURESAMPLER1	(D3DDMAPSAMPLER+2)
-#define D3DVERTEXTEXTURESAMPLER2	(D3DDMAPSAMPLER+3)
-#define D3DVERTEXTEXTURESAMPLER3	(D3DDMAPSAMPLER+4)
-#define D3DVS_ADDRESSMODE_SHIFT	13
-#define D3DVS_ADDRESSMODE_MASK	(1 << D3DVS_ADDRESSMODE_SHIFT)
-#define D3DVS_SWIZZLE_SHIFT     16
-#define D3DVS_SWIZZLE_MASK      0x00FF0000
-#define D3DVS_X_X	(0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y	(1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z	(2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W	(3 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_Y_X	(0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y	(1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z	(2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W	(3 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Z_X	(0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y	(1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z	(2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W	(3 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_W_X	(0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y	(1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z	(2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W	(3 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_NOSWIZZLE	(D3DVS_X_X|D3DVS_Y_Y|D3DVS_Z_Z|D3DVS_W_W)
-#define D3DPRESENT_RATE_DEFAULT	0
-#define D3DRENDERSTATE_WRAPBIAS	128UL
-#define D3DSHADER_ADDRESSMODE_SHIFT	13
-#define D3DSHADER_ADDRESSMODE_MASK	(1 << D3DSHADER_ADDRESSMODE_SHIFT)
-#define D3DSHADER_COMPARISON_SHIFT	D3DSP_OPCODESPECIFICCONTROL_SHIFT
-#define D3DSHADER_COMPARISON_MASK	(0x07 << D3DSHADER_COMPARISON_SHIFT)
-#define D3DSHADER_INSTRUCTION_PREDICATED	0x10000000
-#define D3DSI_COISSUE	0x40000000
-#define D3DSI_COMMENTSIZE_SHIFT	16
-#define D3DSI_COMMENTSIZE_MASK	0x7fff0000
-#define D3DSI_OPCODE_MASK	0xffff
-#define D3DSI_INSTLENGTH_MASK	0xf000000
-#define D3DSI_INSTLENGTH_SHIFT	24
-#define D3DSI_TEXLD_PROJECT	(0x01 << D3DSP_OPCODESPECIFICCONTROL_SHIFT)
-#define D3DSI_TEXLD_BIAS	(0x02 << D3DSP_OPCODESPECIFICCONTROL_SHIFT)
-#define D3DSINCOSCONST1	-1.5500992e-006f, -2.1701389e-005f, 0.0026041667f, 0.00026041668f
-#define D3DSINCOSCONST2	-0.020833334f, -0.12500000f, 1.0f, 0.50000000f
-#define D3DSP_OPCODESPECIFICCONTROL_MASK	0xff0000
-#define D3DSP_OPCODESPECIFICCONTROL_SHIFT	16
-#define D3DSP_DCL_USAGE_SHIFT	0
-#define D3DSP_DCL_USAGE_MASK	0x0000000f
-#define D3DSP_DCL_USAGEINDEX_SHIFT	16
-#define D3DSP_DCL_USAGEINDEX_MASK	0x000f0000
-#define D3DSP_TEXTURETYPE_SHIFT	27
-#define D3DSP_TEXTURETYPE_MASK	0x78000000
-#define D3DSP_REGNUM_MASK	0x7ff
-#define D3DSP_WRITEMASK_0	0x10000
-#define D3DSP_WRITEMASK_1	0x20000
-#define D3DSP_WRITEMASK_2	0x40000
-#define D3DSP_WRITEMASK_3	0x80000
-#define D3DSP_WRITEMASK_ALL	0xf0000
-#define D3DSP_DSTMOD_SHIFT	20
-#define D3DSP_DSTMOD_MASK	0xf00000
-#define D3DSPDM_NONE	0
-#define D3DSPDM_SATURATE	(1 << D3DSP_DSTMOD_SHIFT)
-#define D3DSPDM_PARTIALPRECISION	(2 << D3DSP_DSTMOD_SHIFT)
-#define D3DSPDM_MSAMPCENTROID	(4 << D3DSP_DSTMOD_SHIFT)
-#define D3DSP_DSTSHIFT_SHIFT	24
-#define D3DSP_DSTSHIFT_MASK	0xf000000
-#define D3DSP_NOSWIZZLE	((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATERED	0
-#define D3DSP_REPLICATEGREEN	((1 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (1 << (D3DSP_SWIZZLE_SHIFT + 4)) | (1 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATEBLUE	((2 << (D3DSP_SWIZZLE_SHIFT + 0)) | (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (2 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATEALPHA	((3 << (D3DSP_SWIZZLE_SHIFT + 0)) | (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | (3 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REGTYPE_SHIFT	28
-#define D3DSP_REGTYPE_SHIFT2	8
-#define D3DSP_REGTYPE_MASK	0x70000000
-#define D3DSP_REGTYPE_MASK2	0x1800
-#define D3DSP_SRCMOD_SHIFT	24
-#define D3DSP_SRCMOD_MASK	0xf000000
-#define D3DSP_SWIZZLE_SHIFT	16
-#define D3DSP_SWIZZLE_MASK	0xff0000
-#define D3DTS_WORLDMATRIX(index)	(D3DTRANSFORMSTATETYPE)(index + 256)
-#define D3DTS_WORLD	D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1	D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2	D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3	D3DTS_WORLDMATRIX(3)
-#define D3DTSS_TCI_PASSTHRU	0x00
-#define D3DTSS_TCI_CAMERASPACENORMAL	0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION	0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR	0x30000
-#define D3DTSS_TCI_SPHEREMAP	0x40000
-#define D3DUSAGE_RENDERTARGET	0x01
-#define D3DUSAGE_DEPTHSTENCIL	0x02
-#define D3DUSAGE_WRITEONLY	0x08
-#define D3DUSAGE_SOFTWAREPROCESSING	0x10
-#define D3DUSAGE_DONOTCLIP	0x20
-#define D3DUSAGE_POINTS	0x40
-#define D3DUSAGE_RTPATCHES	0x80
-#define D3DUSAGE_NPATCHES	0x100
-#define D3DUSAGE_DYNAMIC	0x200
-#define D3DUSAGE_AUTOGENMIPMAP	0x400
-#define D3DUSAGE_DMAP	0x4000
-#define D3DUSAGE_QUERY_LEGACYBUMPMAP	0x8000
-#define D3DUSAGE_QUERY_SRGBREAD	0x10000
-#define D3DUSAGE_QUERY_FILTER	0x20000
-#define D3DUSAGE_QUERY_SRGBWRITE	0x40000
-#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING	0x80000
-#define D3DUSAGE_QUERY_VERTEXTEXTURE	0x100000
-#define D3DWRAP_U	0x01
-#define D3DWRAP_V	0x02
-#define D3DWRAP_W	0x04
-#define D3DWRAPCOORD_0	0x01
-#define D3DWRAPCOORD_1	0x02
-#define D3DWRAPCOORD_2	0x04
-#define D3DWRAPCOORD_3	0x08
-#define MAX_DEVICE_IDENTIFIER_STRING	512
-#define MAXD3DDECLLENGTH	64
-#define MAXD3DDECLMETHOD	D3DDECLMETHOD_LOOKUPPRESAMPLED
-#define MAXD3DDECLTYPE	D3DDECLTYPE_UNUSED
-#define MAXD3DDECLUSAGE	D3DDECLUSAGE_SAMPLE
-#define MAXD3DDECLUSAGEINDEX	15
-#define D3DMAXUSERCLIPPLANES	32
-#define D3D_MAX_SIMULTANEOUS_RENDERTARGETS	4
-#define D3DPS_VERSION(major,minor)	(0xffff0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major,minor)	(0xfffe0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version)	(((version) >> 8) & 0xff)
-#define D3DSHADER_VERSION_MINOR(version)	(((version) >> 0) & 0xff)
-#define D3DSHADER_COMMENT(s)	((((s) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-#define D3DPS_END()	0xffff
-#define D3DVS_END()	0xffff
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER	0x01
-#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL	0x02
-#define D3DPRESENTFLAG_DEVICECLIP	0x04
-#define D3DPRESENTFLAG_VIDEO	0x10
-#define D3DLOCK_READONLY	0x10
-#define D3DLOCK_NOSYSLOCK	0x800
-#define D3DLOCK_NOOVERWRITE	0x1000
-#define D3DLOCK_DISCARD	0x2000
-#define D3DLOCK_DONOTWAIT	0x4000
-#define D3DLOCK_NO_DIRTY_UPDATE	0x8000
-#define D3DISSUE_END	0x01
-#define D3DISSUE_BEGIN	0x02
-#define D3DGETDATA_FLUSH	0x01
-#define D3DRTYPECOUNT	(D3DRTYPE_INDEXBUFFER+1)
-
-#define MAKEFOURCC(a,b,c,d)  \
-	((DWORD)(BYTE)(a) | ((DWORD)(BYTE)(b) << 8) |  \
-	((DWORD)(BYTE)(c) << 16) | ((DWORD)(BYTE)(d) << 24 ))
-
-typedef DWORD D3DCOLOR;
-
-typedef enum _D3DBACKBUFFER_TYPE {
-	D3DBACKBUFFER_TYPE_MONO = 0,
-	D3DBACKBUFFER_TYPE_LEFT = 1,
-	D3DBACKBUFFER_TYPE_RIGHT = 2,
-	D3DBACKBUFFER_TYPE_FORCE_DWORD = 0xffffffff
-} D3DBACKBUFFER_TYPE;
-
-typedef enum _D3DBASISTYPE {
-	D3DBASIS_BEZIER = 0,
-	D3DBASIS_BSPLINE = 1,
-	D3DBASIS_INTERPOLATE = 2,
-	D3DBASIS_FORCE_DWORD = 0xffffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
-	D3DBLEND_ZERO = 1,
-	D3DBLEND_ONE = 2,
-	D3DBLEND_SRCCOLOR = 3,
-	D3DBLEND_INVSRCCOLOR = 4,
-	D3DBLEND_SRCALPHA = 5,
-	D3DBLEND_INVSRCALPHA = 6,
-	D3DBLEND_DESTALPHA = 7,
-	D3DBLEND_INVDESTALPHA = 8,
-	D3DBLEND_DESTCOLOR = 9,
-	D3DBLEND_INVDESTCOLOR = 10,
-	D3DBLEND_SRCALPHASAT = 11,
-	D3DBLEND_BOTHSRCALPHA = 12,
-	D3DBLEND_BOTHINVSRCALPHA = 13,
-	D3DBLEND_BLENDFACTOR = 14,
-	D3DBLEND_INVBLENDFACTOR = 15,
-	D3DBLEND_FORCE_DWORD = 0xffffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
-	D3DBLENDOP_ADD = 1,
-	D3DBLENDOP_SUBTRACT = 2,
-	D3DBLENDOP_REVSUBTRACT = 3,
-	D3DBLENDOP_MIN = 4,
-	D3DBLENDOP_MAX = 5,
-	D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
-	D3DCMP_NEVER = 1,
-	D3DCMP_LESS = 2,
-	D3DCMP_EQUAL = 3,
-	D3DCMP_LESSEQUAL = 4,
-	D3DCMP_GREATER = 5,
-	D3DCMP_NOTEQUAL = 6,
-	D3DCMP_GREATEREQUAL = 7,
-	D3DCMP_ALWAYS = 8,
-	D3DCMP_FORCE_DWORD = 0xffffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
-	D3DCUBEMAP_FACE_POSITIVE_X = 0,
-	D3DCUBEMAP_FACE_NEGATIVE_X = 1,
-	D3DCUBEMAP_FACE_POSITIVE_Y = 2,
-	D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
-	D3DCUBEMAP_FACE_POSITIVE_Z = 4,
-	D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
-	D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
-	D3DCULL_NONE = 1,
-	D3DCULL_CW = 2,
-	D3DCULL_CCW = 3,
-	D3DCULL_FORCE_DWORD = 0xffffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
-	D3DDMT_ENABLE = 0,
-	D3DDMT_DISABLE = 1,
-	D3DDMT_FORCE_DWORD = 0xffffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDECLMETHOD
-{
-	D3DDECLMETHOD_DEFAULT = 0,
-	D3DDECLMETHOD_PARTIALU = 1,
-	D3DDECLMETHOD_PARTIALV = 2,
-	D3DDECLMETHOD_CROSSUV = 3,
-	D3DDECLMETHOD_UV = 4,
-	D3DDECLMETHOD_LOOKUP = 5,
-	D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
-} D3DDECLMETHOD;
-
-typedef enum _D3DDECLTYPE
-{
-	D3DDECLTYPE_FLOAT1 = 0,
-	D3DDECLTYPE_FLOAT2 = 1,
-	D3DDECLTYPE_FLOAT3 = 2,
-	D3DDECLTYPE_FLOAT4 = 3,
-	D3DDECLTYPE_D3DCOLOR = 4,
-	D3DDECLTYPE_UBYTE4 = 5,
-	D3DDECLTYPE_SHORT2 = 6,
-	D3DDECLTYPE_SHORT4 = 7,
-	D3DDECLTYPE_UBYTE4N = 8,
-	D3DDECLTYPE_SHORT2N = 9,
-	D3DDECLTYPE_SHORT4N = 10,
-	D3DDECLTYPE_USHORT2N = 11,
-	D3DDECLTYPE_USHORT4N = 12,
-	D3DDECLTYPE_UDEC3 = 13,
-	D3DDECLTYPE_DEC3N = 14,
-	D3DDECLTYPE_FLOAT16_2 = 15,
-	D3DDECLTYPE_FLOAT16_4 = 16,
-	D3DDECLTYPE_UNUSED = 17,
-} D3DDECLTYPE;
-
-typedef enum _D3DDECLUSAGE
-{
-	D3DDECLUSAGE_POSITION = 0,
-	D3DDECLUSAGE_BLENDWEIGHT = 1,
-	D3DDECLUSAGE_BLENDINDICES = 2,
-	D3DDECLUSAGE_NORMAL = 3,
-	D3DDECLUSAGE_PSIZE = 4,
-	D3DDECLUSAGE_TEXCOORD = 5,
-	D3DDECLUSAGE_TANGENT = 6,
-	D3DDECLUSAGE_BINORMAL = 7,
-	D3DDECLUSAGE_TESSFACTOR = 8,
-	D3DDECLUSAGE_POSITIONT = 9,
-	D3DDECLUSAGE_COLOR = 10,
-	D3DDECLUSAGE_FOG = 11,
-	D3DDECLUSAGE_DEPTH = 12,
-	D3DDECLUSAGE_SAMPLE = 13
-} D3DDECLUSAGE;
-
-typedef enum _D3DDEGREETYPE {
-	D3DDEGREE_LINEAR = 1,
-	D3DDEGREE_QUADRATIC = 2,
-	D3DDEGREE_CUBIC = 3,
-	D3DDEGREE_QUINTIC = 5,
-	D3DDEGREE_FORCE_DWORD = 0xffffffff,
-} D3DDEGREETYPE;
-
-typedef enum _D3DDEVTYPE {
-	D3DDEVTYPE_HAL = 1,
-	D3DDEVTYPE_REF = 2,
-	D3DDEVTYPE_SW = 3,
-	D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
-	D3DFILL_POINT = 1,
-	D3DFILL_WIREFRAME = 2,
-	D3DFILL_SOLID = 3,
-	D3DFILL_FORCE_DWORD = 0xffffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
-	D3DFOG_NONE = 0,
-	D3DFOG_EXP = 1,
-	D3DFOG_EXP2 = 2,
-	D3DFOG_LINEAR = 3,
-	D3DFOG_FORCE_DWORD = 0xffffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
-	D3DFMT_UNKNOWN = 0,
-	D3DFMT_R8G8B8 = 20,
-	D3DFMT_A8R8G8B8 = 21,
-	D3DFMT_X8R8G8B8 = 22,
-	D3DFMT_R5G6B5 = 23,
-	D3DFMT_X1R5G5B5 = 24,
-	D3DFMT_A1R5G5B5 = 25,
-	D3DFMT_A4R4G4B4 = 26,
-	D3DFMT_R3G3B2 = 27,
-	D3DFMT_A8 = 28,
-	D3DFMT_A8R3G3B2 = 29,
-	D3DFMT_X4R4G4B4 = 30,
-	D3DFMT_A2B10G10R10 = 31,
-	D3DFMT_A8B8G8R8 = 32,
-	D3DFMT_X8B8G8R8 = 33,
-	D3DFMT_G16R16 = 34,
-	D3DFMT_A2R10G10B10 = 35,
-	D3DFMT_A16B16G16R16 = 36,
-	D3DFMT_A8P8 = 40,
-	D3DFMT_P8 = 41,
-	D3DFMT_L8 = 50,
-	D3DFMT_A8L8 = 51,
-	D3DFMT_A4L4 = 52,
-	D3DFMT_V8U8 = 60,
-	D3DFMT_L6V5U5 = 61,
-	D3DFMT_X8L8V8U8 = 62,
-	D3DFMT_Q8W8V8U8 = 63,
-	D3DFMT_V16U16 = 64,
-    D3DFMT_A2W10V10U10 = 67,
-	D3DFMT_UYVY = MAKEFOURCC('U','Y','V','Y'),
-	D3DFMT_R8G8_B8G8 = MAKEFOURCC('R','G','B','G'),
-	D3DFMT_YUY2 = MAKEFOURCC('Y','U','Y','2'),
-	D3DFMT_G8R8_G8B8 = MAKEFOURCC('G','R','G','B'),
-	D3DFMT_DXT1 = MAKEFOURCC('D','X','T','1'),
-	D3DFMT_DXT2 = MAKEFOURCC('D','X','T','2'),
-	D3DFMT_DXT3 = MAKEFOURCC('D','X','T','3'),
-	D3DFMT_DXT4 = MAKEFOURCC('D','X','T','4'),
-	D3DFMT_DXT5 = MAKEFOURCC('D','X','T','5'),
-	D3DFMT_D16_LOCKABLE = 70,
-	D3DFMT_D32 = 71,
-	D3DFMT_D15S1 = 73,
-	D3DFMT_D24S8 = 75,
-	D3DFMT_D24X8 = 77,
-	D3DFMT_D24X4S4 = 79,
-	D3DFMT_D16 = 80,
-	D3DFMT_L16 = 81,
-	D3DFMT_D32F_LOCKABLE = 82,
-	D3DFMT_D24FS8 = 83,
-	D3DFMT_VERTEXDATA = 100,
-	D3DFMT_INDEX16 = 101,
-	D3DFMT_INDEX32 = 102,
-	D3DFMT_Q16W16V16U16 = 110,
-	D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M','E','T','1'),
-	D3DFMT_R16F = 111,
-	D3DFMT_G16R16F = 112,
-	D3DFMT_A16B16G16R16F = 113,
-	D3DFMT_R32F = 114,
-	D3DFMT_G32R32F = 115,
-	D3DFMT_A32B32G32R32F = 116,
-	D3DFMT_CxV8U8 = 117,
-	D3DFMT_FORCE_DWORD = 0xffffffff
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
-	D3DLIGHT_POINT = 1,
-	D3DLIGHT_SPOT = 2,
-	D3DLIGHT_DIRECTIONAL = 3,
-	D3DLIGHT_FORCE_DWORD = 0xffffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE
-{
-	D3DMCS_MATERIAL = 0,
-	D3DMCS_COLOR1 = 1,
-	D3DMCS_COLOR2 = 2,
-	D3DMCS_FORCE_DWORD = 0xffffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
-	D3DMULTISAMPLE_NONE = 0,
-	D3DMULTISAMPLE_NONMASKABLE = 1,
-	D3DMULTISAMPLE_2_SAMPLES = 2,
-	D3DMULTISAMPLE_3_SAMPLES = 3,
-	D3DMULTISAMPLE_4_SAMPLES = 4,
-	D3DMULTISAMPLE_5_SAMPLES = 5,
-	D3DMULTISAMPLE_6_SAMPLES = 6,
-	D3DMULTISAMPLE_7_SAMPLES = 7,
-	D3DMULTISAMPLE_8_SAMPLES = 8,
-	D3DMULTISAMPLE_9_SAMPLES = 9,
-	D3DMULTISAMPLE_10_SAMPLES = 10,
-	D3DMULTISAMPLE_11_SAMPLES = 11,
-	D3DMULTISAMPLE_12_SAMPLES = 12,
-	D3DMULTISAMPLE_13_SAMPLES = 13,
-	D3DMULTISAMPLE_14_SAMPLES = 14,
-	D3DMULTISAMPLE_15_SAMPLES = 15,
-	D3DMULTISAMPLE_16_SAMPLES = 16,
-	D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
-} D3DMULTISAMPLE_TYPE;
-
-typedef enum _D3DORDERTYPE {
-	D3DORDER_LINEAR = 1,
-	D3DORDER_QUADRATIC = 2,
-	D3DORDER_CUBIC = 3,
-	D3DORDER_QUINTIC = 5,
-	D3DORDER_FORCE_DWORD = 0xffffffff
-} D3DORDERTYPE;
-
-typedef enum _D3DPATCHEDGESTYLE
-{
-	D3DPATCHEDGE_DISCRETE = 0,
-	D3DPATCHEDGE_CONTINUOUS = 1,
-	D3DPATCHEDGE_FORCE_DWORD = 0xffffffff
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
-	D3DPOOL_DEFAULT = 0,
-	D3DPOOL_MANAGED = 1,
-	D3DPOOL_SYSTEMMEM = 2,
-	D3DPOOL_SCRATCH = 3,
-	D3DPOOL_FORCE_DWORD = 0xffffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
-	D3DPT_POINTLIST = 1,
-	D3DPT_LINELIST = 2,
-	D3DPT_LINESTRIP = 3,
-	D3DPT_TRIANGLELIST = 4,
-	D3DPT_TRIANGLESTRIP = 5,
-	D3DPT_TRIANGLEFAN = 6,
-	D3DPT_FORCE_DWORD = 0xffffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DQUERYTYPE {
-	D3DQUERYTYPE_VCACHE = 4,
-	D3DQUERYTYPE_RESOURCEMANAGER = 5,
-	D3DQUERYTYPE_VERTEXSTATS = 6,
-	D3DQUERYTYPE_EVENT = 8,
-	D3DQUERYTYPE_OCCLUSION = 9
-} D3DQUERYTYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
-	D3DRS_ZENABLE = 7,
-	D3DRS_FILLMODE = 8,
-	D3DRS_SHADEMODE = 9,
-	D3DRS_ZWRITEENABLE = 14,
-	D3DRS_ALPHATESTENABLE = 15,
-	D3DRS_LASTPIXEL = 16,
-	D3DRS_SRCBLEND = 19,
-	D3DRS_DESTBLEND = 20,
-	D3DRS_CULLMODE = 22,
-	D3DRS_ZFUNC = 23,
-	D3DRS_ALPHAREF = 24,
-	D3DRS_ALPHAFUNC = 25,
-	D3DRS_DITHERENABLE = 26,
-	D3DRS_ALPHABLENDENABLE = 27,
-	D3DRS_FOGENABLE = 28,
-	D3DRS_SPECULARENABLE = 29,
-	D3DRS_FOGCOLOR = 34,
-	D3DRS_FOGTABLEMODE = 35,
-	D3DRS_FOGSTART = 36,
-	D3DRS_FOGEND = 37,
-	D3DRS_FOGDENSITY = 38,
-	D3DRS_RANGEFOGENABLE = 48,
-	D3DRS_STENCILENABLE = 52,
-	D3DRS_STENCILFAIL = 53,
-	D3DRS_STENCILZFAIL = 54,
-	D3DRS_STENCILPASS = 55,
-	D3DRS_STENCILFUNC = 56,
-	D3DRS_STENCILREF = 57,
-	D3DRS_STENCILMASK = 58,
-	D3DRS_STENCILWRITEMASK = 59,
-	D3DRS_TEXTUREFACTOR = 60,
-	D3DRS_WRAP0 = 128,
-	D3DRS_WRAP1 = 129,
-	D3DRS_WRAP2 = 130,
-	D3DRS_WRAP3 = 131,
-	D3DRS_WRAP4 = 132,
-	D3DRS_WRAP5 = 133,
-	D3DRS_WRAP6 = 134,
-	D3DRS_WRAP7 = 135,
-	D3DRS_CLIPPING = 136,
-	D3DRS_LIGHTING = 137,
-	D3DRS_AMBIENT = 139,
-	D3DRS_FOGVERTEXMODE = 140,
-	D3DRS_COLORVERTEX = 141,
-	D3DRS_LOCALVIEWER = 142,
-	D3DRS_NORMALIZENORMALS = 143,
-	D3DRS_DIFFUSEMATERIALSOURCE = 145,
-	D3DRS_SPECULARMATERIALSOURCE = 146,
-	D3DRS_AMBIENTMATERIALSOURCE = 147,
-	D3DRS_EMISSIVEMATERIALSOURCE = 148,
-	D3DRS_VERTEXBLEND = 151,
-	D3DRS_CLIPPLANEENABLE = 152,
-	D3DRS_POINTSIZE = 154,
-	D3DRS_POINTSIZE_MIN = 155,
-	D3DRS_POINTSPRITEENABLE = 156,
-	D3DRS_POINTSCALEENABLE = 157,
-	D3DRS_POINTSCALE_A = 158,
-	D3DRS_POINTSCALE_B = 159,
-	D3DRS_POINTSCALE_C = 160,
-	D3DRS_MULTISAMPLEANTIALIAS = 161,
-	D3DRS_MULTISAMPLEMASK = 162,
-	D3DRS_PATCHEDGESTYLE = 163,
-	D3DRS_DEBUGMONITORTOKEN = 165,
-	D3DRS_POINTSIZE_MAX = 166,
-	D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
-	D3DRS_COLORWRITEENABLE = 168,
-	D3DRS_TWEENFACTOR = 170,
-	D3DRS_BLENDOP = 171,
-	D3DRS_POSITIONDEGREE = 172,
-	D3DRS_NORMALDEGREE = 173,
-	D3DRS_SCISSORTESTENABLE = 174,
-	D3DRS_SLOPESCALEDEPTHBIAS = 175,
-	D3DRS_ANTIALIASEDLINEENABLE = 176,
-	D3DRS_MINTESSELLATIONLEVEL = 178,
-	D3DRS_MAXTESSELLATIONLEVEL = 179,
-	D3DRS_ADAPTIVETESS_X = 180,
-	D3DRS_ADAPTIVETESS_Y = 181,
-	D3DRS_ADAPTIVETESS_Z = 182,
-	D3DRS_ADAPTIVETESS_W = 183,
-	D3DRS_ENABLEADAPTIVETESSELLATION = 184,
-	D3DRS_TWOSIDEDSTENCILMODE = 185,
-	D3DRS_CCW_STENCILFAIL = 186,
-	D3DRS_CCW_STENCILZFAIL = 187,
-	D3DRS_CCW_STENCILPASS = 188,
-	D3DRS_CCW_STENCILFUNC = 189,
-	D3DRS_COLORWRITEENABLE1 = 190,
-	D3DRS_COLORWRITEENABLE2 = 191,
-	D3DRS_COLORWRITEENABLE3 = 192,
-	D3DRS_BLENDFACTOR = 193,
-	D3DRS_SRGBWRITEENABLE = 194,
-	D3DRS_DEPTHBIAS = 195,
-	D3DRS_WRAP8 = 198,
-	D3DRS_WRAP9 = 199,
-	D3DRS_WRAP10 = 200,
-	D3DRS_WRAP11 = 201,
-	D3DRS_WRAP12 = 202,
-	D3DRS_WRAP13 = 203,
-	D3DRS_WRAP14 = 204,
-	D3DRS_WRAP15 = 205,
-	D3DRS_SEPARATEALPHABLENDENABLE = 206,
-	D3DRS_SRCBLENDALPHA = 207,
-	D3DRS_DESTBLENDALPHA = 208,
-	D3DRS_BLENDOPALPHA = 209,
-	D3DRS_FORCE_DWORD = 0xffffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
-	D3DRTYPE_SURFACE = 1,
-	D3DRTYPE_VOLUME = 2,
-	D3DRTYPE_TEXTURE = 3,
-	D3DRTYPE_VOLUMETEXTURE = 4,
-	D3DRTYPE_CUBETEXTURE = 5,
-	D3DRTYPE_VERTEXBUFFER = 6,
-	D3DRTYPE_INDEXBUFFER = 7,
-	D3DRTYPE_FORCE_DWORD = 0xffffffff
-} D3DRESOURCETYPE;
-
-typedef enum _D3DSAMPLER_TEXTURE_TYPE
-{
-	D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT,
-	D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT,
-	D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT,
-	D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT,
-	D3DSTT_FORCE_DWORD = 0xffffffff
-} D3DSAMPLER_TEXTURE_TYPE;
-
-typedef enum _D3DSAMPLERSTATETYPE {
-	D3DSAMP_ADDRESSU = 1,
-	D3DSAMP_ADDRESSV = 2,
-	D3DSAMP_ADDRESSW = 3,
-	D3DSAMP_BORDERCOLOR = 4,
-	D3DSAMP_MAGFILTER = 5,
-	D3DSAMP_MINFILTER = 6,
-	D3DSAMP_MIPFILTER = 7,
-	D3DSAMP_MIPMAPLODBIAS = 8,
-	D3DSAMP_MAXMIPLEVEL = 9,
-	D3DSAMP_MAXANISOTROPY = 10,
-	D3DSAMP_SRGBTEXTURE = 11,
-	D3DSAMP_ELEMENTINDEX = 12,
-	D3DSAMP_DMAPOFFSET = 13,
-	D3DSAMP_FORCE_DWORD = 0xffffffff,
-} D3DSAMPLERSTATETYPE;
-
-typedef enum _D3DSHADEMODE {
-	D3DSHADE_FLAT = 1,
-	D3DSHADE_GOURAUD = 2,
-	D3DSHADE_PHONG = 3,
-	D3DSHADE_FORCE_DWORD = 0xffffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSHADER_ADDRESSMODE_TYPE
-{
-	D3DSHADER_ADDRMODE_ABSOLUTE = (0 << D3DSHADER_ADDRESSMODE_SHIFT),
-	D3DSHADER_ADDRMODE_RELATIVE = (1 << D3DSHADER_ADDRESSMODE_SHIFT),
-	D3DSHADER_ADDRMODE_FORCE_DWORD = 0xffffffff
-} D3DSHADER_ADDRESSMODE_TYPE;
-
-typedef enum _D3DSHADER_COMPARISON
-{
-	D3DSPC_RESERVED0 = 0,
-	D3DSPC_GT = 1,
-	D3DSPC_EQ = 2,
-	D3DSPC_GE = 3,
-	D3DSPC_LT = 4,
-	D3DSPC_NE = 5,
-	D3DSPC_LE = 6,
-	D3DSPC_RESERVED1 = 7
-} D3DSHADER_COMPARISON;
-
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
-{
-	D3DSIO_NOP = 0,
-	D3DSIO_MOV = 1,
-	D3DSIO_ADD = 2,
-	D3DSIO_SUB = 3,
-	D3DSIO_MAD = 4,
-	D3DSIO_MUL = 5,
-	D3DSIO_RCP = 6,
-	D3DSIO_RSQ = 7,
-	D3DSIO_DP3 = 8,
-	D3DSIO_DP4 = 9,
-	D3DSIO_MIN = 10,
-	D3DSIO_MAX = 11,
-	D3DSIO_SLT = 12,
-	D3DSIO_SGE = 13,
-	D3DSIO_EXP = 14,
-	D3DSIO_LOG = 15,
-	D3DSIO_LIT = 16,
-	D3DSIO_DST = 17,
-	D3DSIO_LRP = 18,
-	D3DSIO_FRC = 19,
-	D3DSIO_M4x4 = 20,
-	D3DSIO_M4x3 = 21,
-	D3DSIO_M3x4 = 22,
-	D3DSIO_M3x3 = 23,
-	D3DSIO_M3x2 = 24,
-	D3DSIO_CALL = 25,
-	D3DSIO_CALLNZ = 26,
-	D3DSIO_LOOP = 27,
-	D3DSIO_RET = 28,
-	D3DSIO_ENDLOOP = 29,
-	D3DSIO_LABEL = 30,
-	D3DSIO_DCL = 31,
-	D3DSIO_POW = 32,
-	D3DSIO_CRS = 33,
-	D3DSIO_SGN = 34,
-	D3DSIO_ABS = 35,
-	D3DSIO_NRM = 36,
-	D3DSIO_SINCOS = 37,
-	D3DSIO_REP = 38,
-	D3DSIO_ENDREP = 39,
-	D3DSIO_IF = 40,
-	D3DSIO_IFC = 41,
-	D3DSIO_ELSE = 42,
-	D3DSIO_ENDIF = 43,
-	D3DSIO_BREAK = 44,
-	D3DSIO_BREAKC = 45,
-	D3DSIO_MOVA = 46,
-	D3DSIO_DEFB = 47,
-	D3DSIO_DEFI = 48,
-	D3DSIO_TEXCOORD = 64,
-	D3DSIO_TEXKILL = 65,
-	D3DSIO_TEX = 66,
-	D3DSIO_TEXBEM = 67,
-	D3DSIO_TEXBEML = 68,
-	D3DSIO_TEXREG2AR = 69,
-	D3DSIO_TEXREG2GB = 70,
-	D3DSIO_TEXM3x2PAD = 71,
-	D3DSIO_TEXM3x2TEX = 72,
-	D3DSIO_TEXM3x3PAD = 73,
-	D3DSIO_TEXM3x3TEX = 74,
-	D3DSIO_RESERVED0 = 75,
-	D3DSIO_TEXM3x3SPEC = 76,
-	D3DSIO_TEXM3x3VSPEC = 77,
-	D3DSIO_EXPP = 78,
-	D3DSIO_LOGP = 79,
-	D3DSIO_CND = 80,
-	D3DSIO_DEF = 81,
-	D3DSIO_TEXREG2RGB = 82,
-	D3DSIO_TEXDP3TEX = 83,
-	D3DSIO_TEXM3x2DEPTH = 84,
-	D3DSIO_TEXDP3 = 85,
-	D3DSIO_TEXM3x3 = 86,
-	D3DSIO_TEXDEPTH = 87,
-	D3DSIO_CMP = 88,
-	D3DSIO_BEM = 89,
-	D3DSIO_DP2ADD = 90,
-	D3DSIO_DSX = 91,
-	D3DSIO_DSY = 92,
-	D3DSIO_TEXLDD = 93,
-	D3DSIO_SETP = 94,
-	D3DSIO_TEXLDL = 95,
-	D3DSIO_BREAKP = 96,
-	D3DSIO_PHASE = 0xfffd,
-	D3DSIO_COMMENT = 0xfffe,
-	D3DSIO_END = 0xffff,
-	D3DSIO_FORCE_DWORD = 0xffffffff
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-typedef enum _D3DSHADER_MISCTYPE_OFFSETS
-{
-	D3DSMO_POSITION = 0,
-	D3DSMO_FACE = 1
-} D3DSHADER_MISCTYPE_OFFSETS;
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE
-{
-	D3DSPR_TEMP = 0,
-	D3DSPR_INPUT = 1,
-	D3DSPR_CONST = 2,
-	D3DSPR_ADDR = 3,
-	D3DSPR_TEXTURE = 3,
-	D3DSPR_RASTOUT = 4,
-	D3DSPR_ATTROUT = 5,
-	D3DSPR_TEXCRDOUT = 6,
-	D3DSPR_OUTPUT = 6,
-	D3DSPR_CONSTINT = 7,
-	D3DSPR_COLOROUT = 8,
-	D3DSPR_DEPTHOUT = 9,
-	D3DSPR_SAMPLER = 10,
-	D3DSPR_CONST2 = 11,
-	D3DSPR_CONST3 = 12,
-	D3DSPR_CONST4 = 13,
-	D3DSPR_CONSTBOOL = 14,
-	D3DSPR_LOOP = 15,
-	D3DSPR_TEMPFLOAT16 = 16,
-	D3DSPR_MISCTYPE = 17,
-	D3DSPR_LABEL = 18,
-	D3DSPR_PREDICATE = 19,
-	D3DSPR_FORCE_DWORD = 0xffffffff
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE
-{
-	D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT,
-	D3DSPSM_FORCE_DWORD = 0xffffffff
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE
-{
-	D3DVS_ADDRMODE_ABSOLUTE = (0 << D3DVS_ADDRESSMODE_SHIFT),
-	D3DVS_ADDRMODE_RELATIVE = (1 << D3DVS_ADDRESSMODE_SHIFT),
-	D3DVS_ADDRMODE_FORCE_DWORD = 0xffffffff
-} D3DVS_ADDRESSMODE_TYPE;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS
-{
-	D3DSRO_POSITION = 0,
-	D3DSRO_FOG = 1,
-	D3DSRO_POINT_SIZE = 2,
-	D3DSRO_FORCE_DWORD = 0xffffffff
-} D3DVS_RASTOUT_OFFSETS;
-
-typedef enum _D3DSTENCILOP {
-	D3DSTENCILOP_KEEP = 1,
-	D3DSTENCILOP_ZERO = 2,
-	D3DSTENCILOP_REPLACE = 3,
-	D3DSTENCILOP_INCRSAT = 4,
-	D3DSTENCILOP_DECRSAT = 5,
-	D3DSTENCILOP_INVERT = 6,
-	D3DSTENCILOP_INCR = 7,
-	D3DSTENCILOP_DECR = 8,
-	D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSTATEBLOCKTYPE {
-	D3DSBT_ALL = 1,
-	D3DSBT_PIXELSTATE = 2,
-	D3DSBT_VERTEXSTATE = 3,
-	D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSWAPEFFECT {
-	D3DSWAPEFFECT_DISCARD = 1,
-	D3DSWAPEFFECT_FLIP = 2,
-	D3DSWAPEFFECT_COPY = 3,
-	D3DSWAPEFFECT_COPY_VSYNC = 4,
-	D3DSWAPEFFECT_FORCE_DWORD = 0xffffffff
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
-	D3DTADDRESS_WRAP = 1,
-	D3DTADDRESS_MIRROR = 2,
-	D3DTADDRESS_CLAMP = 3,
-	D3DTADDRESS_BORDER = 4,
-	D3DTADDRESS_MIRRORONCE = 5,
-	D3DTADDRESS_FORCE_DWORD = 0xffffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
-	D3DTEXF_NONE = 0,
-	D3DTEXF_POINT = 1,
-	D3DTEXF_LINEAR = 2,
-	D3DTEXF_ANISOTROPIC = 3,
-	D3DTEXF_PYRAMIDALQUAD = 6,
-	D3DTEXF_GAUSSIANQUAD = 7,
-	D3DTEXF_FORCE_DWORD = 0xffffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
-	D3DTSS_COLOROP = 1,
-	D3DTSS_COLORARG1 = 2,
-	D3DTSS_COLORARG2 = 3,
-	D3DTSS_ALPHAOP = 4,
-	D3DTSS_ALPHAARG1 = 5,
-	D3DTSS_ALPHAARG2 = 6,
-	D3DTSS_BUMPENVMAT00 = 7,
-	D3DTSS_BUMPENVMAT01 = 8,
-	D3DTSS_BUMPENVMAT10 = 9,
-	D3DTSS_BUMPENVMAT11 = 10,
-	D3DTSS_TEXCOORDINDEX = 11,
-	D3DTSS_BUMPENVLSCALE = 22,
-	D3DTSS_BUMPENVLOFFSET = 23,
-	D3DTSS_TEXTURETRANSFORMFLAGS = 24,
-	D3DTSS_ADDRESSW = 25,
-	D3DTSS_COLORARG0 = 26,
-	D3DTSS_ALPHAARG0 = 27,
-	D3DTSS_RESULTARG = 28,
-	D3DTSS_CONSTANT = 32,
-	D3DTSS_FORCE_DWORD = 0xffffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTUREOP {
-	D3DTOP_DISABLE = 1,
-	D3DTOP_SELECTARG1 = 2,
-	D3DTOP_SELECTARG2 = 3,
-	D3DTOP_MODULATE = 4,
-	D3DTOP_MODULATE2X = 5,
-	D3DTOP_MODULATE4X = 6,
-	D3DTOP_ADD = 7,
-	D3DTOP_ADDSIGNED = 8,
-	D3DTOP_ADDSIGNED2X = 9,
-	D3DTOP_SUBTRACT = 10,
-	D3DTOP_ADDSMOOTH = 11,
-	D3DTOP_BLENDDIFFUSEALPHA = 12,
-	D3DTOP_BLENDTEXTUREALPHA = 13,
-	D3DTOP_BLENDFACTORALPHA = 14,
-	D3DTOP_BLENDTEXTUREALPHAPM = 15,
-	D3DTOP_BLENDCURRENTALPHA = 16,
-	D3DTOP_PREMODULATE = 17,
-	D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
-	D3DTOP_MODULATECOLOR_ADDALPHA = 19,
-	D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
-	D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
-	D3DTOP_BUMPENVMAP = 22,
-	D3DTOP_BUMPENVMAPLUMINANCE = 23,
-	D3DTOP_DOTPRODUCT3 = 24,
-	D3DTOP_MULTIPLYADD = 25,
-	D3DTOP_LERP = 26,
-	D3DTOP_FORCE_DWORD = 0xffffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
-	D3DTTFF_DISABLE = 0,
-	D3DTTFF_COUNT1 = 1,
-	D3DTTFF_COUNT2 = 2,
-	D3DTTFF_COUNT3 = 3,
-	D3DTTFF_COUNT4 = 4,
-	D3DTTFF_PROJECTED = 256,
-	D3DTTFF_FORCE_DWORD = 0xffffffff,
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
-	D3DTS_VIEW = 2,
-	D3DTS_PROJECTION = 3,
-	D3DTS_TEXTURE0 = 16,
-	D3DTS_TEXTURE1 = 17,
-	D3DTS_TEXTURE2 = 18,
-	D3DTS_TEXTURE3 = 19,
-	D3DTS_TEXTURE4 = 20,
-	D3DTS_TEXTURE5 = 21,
-	D3DTS_TEXTURE6 = 22,
-	D3DTS_TEXTURE7 = 23,
-	D3DTS_FORCE_DWORD = 0xffffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS
-{
-	D3DVBF_DISABLE = 0,
-	D3DVBF_1WEIGHTS = 1,
-	D3DVBF_2WEIGHTS = 2,
-	D3DVBF_3WEIGHTS = 3,
-	D3DVBF_TWEENING = 255,
-	D3DVBF_0WEIGHTS = 256,
-	D3DVBF_FORCE_DWORD = 0xffffffff
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
-	D3DZB_FALSE = 0,
-	D3DZB_TRUE = 1,
-	D3DZB_USEW = 2,
-	D3DZB_FORCE_DWORD = 0xffffffff
-} D3DZBUFFERTYPE;
-
-typedef struct _D3DADAPTER_IDENTIFIER9 {
-	char Driver[MAX_DEVICE_IDENTIFIER_STRING];
-	char Description[MAX_DEVICE_IDENTIFIER_STRING];
-	char DeviceName[32];
-	LARGE_INTEGER DriverVersion;
-    DWORD VendorId;
-    DWORD DeviceId;
-    DWORD SubSysId;
-    DWORD Revision;
-    GUID DeviceIdentifier;
-    DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER9;
-
-typedef struct _D3DBOX {
-	UINT Left;
-	UINT Top;
-	UINT Right;
-	UINT Bottom;
-	UINT Front;
-	UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS9 {
-	DWORD ClipUnion;
-	DWORD ClipIntersection;
-} D3DCLIPSTATUS9;
-
-typedef struct _D3DCOLORVALUE {
-	float r;
-	float g;
-	float b;
-	float a;
-} D3DCOLORVALUE;
-
-typedef struct _D3DRESOURCESTATS
-{
-	BOOL bThrashing;
-	DWORD ApproxBytesDownloaded;
-	DWORD NumEvicts;
-	DWORD NumVidCreates;
-	DWORD LastPri;
-	DWORD NumUsed;
-	DWORD NumUsedInVidMem;
-	DWORD WorkingSet;
-	DWORD WorkingSetBytes;
-	DWORD TotalManaged;
-	DWORD TotalBytes;
-} D3DRESOURCESTATS;
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
-	UINT AdapterOrdinal;
-	D3DDEVTYPE DeviceType;
-	HWND hFocusWindow;
-	DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDEVINFO_RESOURCEMANAGER {
-	D3DRESOURCESTATS stats[D3DRTYPECOUNT];
-} D3DDEVINFO_RESOURCEMANAGER, *LPD3DDEVINFO_RESOURCEMANAGER;
-
-typedef struct _D3DDEVINFO_D3DVERTEXSTATS {
-	DWORD NumRenderedTriangles;
-	DWORD NumExtraClippingTriangles;
-} D3DDEVINFO_D3DVERTEXSTATS, *LPD3DDEVINFO_D3DVERTEXSTATS;
-
-typedef struct _D3DDEVINFO_VCACHE {
-	DWORD Pattern;
-	DWORD OptMethod;
-	DWORD CacheSize;
-	DWORD MagicNumber;
-} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;
-
-typedef struct _D3DDISPLAYMODE {
-	UINT Width;
-	UINT Height;
-	UINT RefreshRate;
-	D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
-	WORD red[256];
-	WORD green[256];
-	WORD blue[256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
-	D3DFORMAT Format;
-	D3DRESOURCETYPE Type;
-	DWORD Usage;
-	D3DPOOL Pool;
-	UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-typedef struct _D3DVECTOR {
-	float x;
-	float y;
-	float z;
-} D3DVECTOR;
-
-typedef struct _D3DLIGHT9 {
-	D3DLIGHTTYPE Type;
-	D3DCOLORVALUE Diffuse;
-	D3DCOLORVALUE Specular;
-	D3DCOLORVALUE Ambient;
-	D3DVECTOR Position;
-	D3DVECTOR Direction;
-	float Range;
-	float Falloff;
-	float Attenuation0;
-	float Attenuation1;
-	float Attenuation2;
-	float Theta;
-	float Phi;
-} D3DLIGHT9;
-
-typedef struct _D3DLOCKED_BOX {
-	INT RowPitch;
-	INT SlicePitch;
-	void *pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
-	INT Pitch;
-	void *pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL9 {
-	D3DCOLORVALUE Diffuse;
-	D3DCOLORVALUE Ambient;
-	D3DCOLORVALUE Specular;
-	D3DCOLORVALUE Emissive;
-	float Power;
-} D3DMATERIAL9;
-
-typedef struct _D3DMATRIX {
-	union {
-		struct {
-			float _11, _12, _13, _14;
-			float _21, _22, _23, _24;
-			float _31, _32, _33, _34;
-			float _41, _42, _43, _44;
-		};
-		float m[4][4];
-	};
-} D3DMATRIX;
-
-typedef struct _D3DPRESENT_PARAMETERS {
-	UINT BackBufferWidth;
-	UINT BackBufferHeight;
-	D3DFORMAT BackBufferFormat;
-	UINT BackBufferCount;
-	D3DMULTISAMPLE_TYPE MultiSampleType;
-	DWORD MultiSampleQuality;
-	D3DSWAPEFFECT SwapEffect;
-	HWND hDeviceWindow;
-	BOOL Windowed;
-	BOOL EnableAutoDepthStencil;
-	D3DFORMAT AutoDepthStencilFormat;
-	DWORD Flags;
-	UINT FullScreen_RefreshRateInHz;
-	UINT PresentationInterval;
-} D3DPRESENT_PARAMETERS;
-
-typedef struct _D3DRANGE
-{
-	UINT Offset;
-	UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
-	BOOL InVBlank;
-	UINT ScanLine;
-} D3DRASTER_STATUS;
-
-typedef struct _D3DRECT {
-	LONG x1;
-	LONG y1;
-	LONG x2;
-	LONG y2;
-} D3DRECT;
-
-typedef struct _D3DRECTPATCH_INFO {
-	UINT StartVertexOffsetWidth;
-	UINT StartVertexOffsetHeight;
-	UINT Width;
-	UINT Height;
-	UINT Stride;
-	D3DBASISTYPE Basis;
-	D3DORDERTYPE Order;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
-	D3DFORMAT Format;
-	D3DRESOURCETYPE Type;
-	DWORD Usage;
-	D3DPOOL Pool;
-	UINT Size;
-	D3DMULTISAMPLE_TYPE MultiSampleType;
-	UINT Width;
-	UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
-	UINT StartVertexOffset;
-	UINT NumVertices;
-	D3DBASISTYPE Basis;
-	D3DORDERTYPE Order;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
-	D3DFORMAT Format;
-	D3DRESOURCETYPE Type;
-	DWORD Usage;
-	D3DPOOL Pool;
-	UINT Size;
-	DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVERTEXELEMENT9 {
-	WORD Stream;
-	WORD Offset;
-	BYTE Type;
-	BYTE Method;
-	BYTE Usage;
-	BYTE UsageIndex;
-} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
-
-typedef struct _D3DVIEWPORT9 {
-	DWORD X;
-	DWORD Y;
-	DWORD Width;
-	DWORD Height;
-	float MinZ;
-	float MaxZ;
-} D3DVIEWPORT9;
-
-typedef struct _D3DVOLUME_DESC {
-	D3DFORMAT Format;
-	D3DRESOURCETYPE Type;
-	DWORD Usage;
-	D3DPOOL Pool;
-	UINT Width;
-	UINT Height;
-	UINT Depth;
-} D3DVOLUME_DESC;
-
-#include <poppack.h>
-
-#endif
-#endif
Index: Daodan/MinGW/include/dbt.h
===================================================================
--- Daodan/MinGW/include/dbt.h	(revision 1046)
+++ 	(revision )
@@ -1,154 +1,0 @@
-#ifndef _DBT_H
-#define _DBT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DBT_NO_DISK_SPACE	0x47
-#define DBT_CONFIGMGPRIVATE	0x7FFF
-#define DBT_DEVICEARRIVAL	0x8000
-#define DBT_DEVICEQUERYREMOVE	0x8001
-#define DBT_DEVICEQUERYREMOVEFAILED	0x8002
-#define DBT_DEVICEREMOVEPENDING	0x8003
-#define DBT_DEVICEREMOVECOMPLETE	0x8004
-#define DBT_DEVICETYPESPECIFIC	0x8005
-#define DBT_DEVTYP_OEM	0
-#define DBT_DEVTYP_DEVNODE	1
-#define DBT_DEVTYP_VOLUME	2
-#define DBT_DEVTYP_PORT	3
-#define DBT_DEVTYP_NET	4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DBT_DEVTYP_DEVICEINTERFACE 5
-#define DBT_DEVTYP_HANDLE 6
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define DBT_APPYBEGIN 0
-#define DBT_APPYEND 1
-#define DBT_DEVNODES_CHANGED 7
-#define DBT_QUERYCHANGECONFIG 0x17
-#define DBT_CONFIGCHANGED 0x18
-#define DBT_CONFIGCHANGECANCELED 0x19
-#define DBT_MONITORCHANGE 0x1B
-#define DBT_SHELLLOGGEDON 32
-#define DBT_CONFIGMGAPI32 34
-#define DBT_VXDINITCOMPLETE 35
-#define DBT_VOLLOCKQUERYLOCK 0x8041
-#define DBT_VOLLOCKLOCKTAKEN 0x8042
-#define DBT_VOLLOCKLOCKFAILED 0x8043
-#define DBT_VOLLOCKQUERYUNLOCK 0x8044
-#define DBT_VOLLOCKLOCKRELEASED 0x8045
-#define DBT_VOLLOCKUNLOCKFAILED 0x8046
-#define DBT_USERDEFINED 0xFFFF
-#define DBTF_MEDIA	1
-#define DBTF_NET	2
-
-/* Also defined in winuser.h */
-#define BSM_ALLCOMPONENTS	0
-#define BSM_APPLICATIONS	8
-#define BSM_ALLDESKTOPS		16
-#define BSM_INSTALLABLEDRIVERS	4
-#define BSM_NETDRIVER	2
-#define BSM_VXDS	1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BSF_MSGSRV32ISOK_BIT 31
-#define BSF_MSGSRV32ISOK 0x80000000
-
-typedef struct _DEV_BROADCAST_HDR {
-	DWORD dbch_size;
-	DWORD dbch_devicetype;
-	DWORD dbch_reserved;
-} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
-typedef struct _DEV_BROADCAST_OEM {
-	DWORD dbco_size;
-	DWORD dbco_devicetype;
-	DWORD dbco_reserved;
-	DWORD dbco_identifier;
-	DWORD dbco_suppfunc;
-} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM;
-typedef struct _DEV_BROADCAST_PORT_A {
-	DWORD dbcp_size;
-	DWORD dbcp_devicetype;
-	DWORD dbcp_reserved;
-	char dbcp_name[1];
-} DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
-typedef struct _DEV_BROADCAST_PORT_W {
-	DWORD dbcp_size;
-	DWORD dbcp_devicetype;
-	DWORD dbcp_reserved;
-	wchar_t dbcp_name[1];
-} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
-typedef struct _DEV_BROADCAST_USERDEFINED {
-	struct _DEV_BROADCAST_HDR dbud_dbh;
-	char dbud_szName[1];
-} DEV_BROADCAST_USERDEFINED;
-typedef struct _DEV_BROADCAST_VOLUME {
-	DWORD dbcv_size;
-	DWORD dbcv_devicetype;
-	DWORD dbcv_reserved;
-	DWORD dbcv_unitmask;
-	WORD dbcv_flags;
-} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
-
-#ifdef UNICODE
-typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#else
-typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#endif
-
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- char dbcc_name[1];
-} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- wchar_t dbcc_name[1];
-} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
-
-#ifdef UNICODE
-typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
-#else
-typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
-#endif
-
-typedef struct _DEV_BROADCAST_HANDLE {
- DWORD dbch_size;
- DWORD dbch_devicetype;
- DWORD dbch_reserved;
- HANDLE dbch_handle;
- DWORD dbch_hdevnotify;
- GUID dbch_eventguid;
- LONG dbch_nameoffset;
- BYTE dbch_data[1];
-} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dde.h
===================================================================
--- Daodan/MinGW/include/dde.h	(revision 1046)
+++ 	(revision )
@@ -1,64 +1,0 @@
-#ifndef _DDE_H
-#define _DDE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_DDE_FIRST	0x03E0
-#define WM_DDE_INITIATE	(WM_DDE_FIRST)
-#define WM_DDE_TERMINATE	(WM_DDE_FIRST+1)
-#define WM_DDE_ADVISE	(WM_DDE_FIRST+2)
-#define WM_DDE_UNADVISE	(WM_DDE_FIRST+3)
-#define WM_DDE_ACK	(WM_DDE_FIRST+4)
-#define WM_DDE_DATA	(WM_DDE_FIRST+5)
-#define WM_DDE_REQUEST	(WM_DDE_FIRST+6)
-#define WM_DDE_POKE	(WM_DDE_FIRST+7)
-#define WM_DDE_EXECUTE	(WM_DDE_FIRST+8)
-#define WM_DDE_LAST	(WM_DDE_FIRST+8)
-
-#ifndef RC_INVOKED
-typedef struct {
-	unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
-} DDEACK;
-typedef struct {
-	unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
-	short cfFormat;
-} DDEADVISE;
-typedef struct {
-	unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
-	short cfFormat;
-	BYTE Value[1];
-} DDEDATA;
-typedef struct {
-	unsigned short unused:13,fRelease:1,fReserved:2;
-	short cfFormat;
-	BYTE  Value[1];
-} DDEPOKE;
-typedef struct {
-        unsigned short unused:13,
-                 fRelease:1,
-                 fDeferUpd:1,
-         fAckReq:1;
-    short    cfFormat;
-} DDELN;
-
-typedef struct {
-	unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
-    short cfFormat;
-    BYTE rgb[1];
-} DDEUP;
-BOOL WINAPI DdeSetQualityOfService(HWND,const SECURITY_QUALITY_OF_SERVICE*,PSECURITY_QUALITY_OF_SERVICE);
-BOOL WINAPI ImpersonateDdeClientWindow(HWND,HWND);
-LPARAM WINAPI PackDDElParam(UINT,UINT_PTR,UINT_PTR);
-BOOL WINAPI UnpackDDElParam(UINT,LPARAM,PUINT_PTR,PUINT_PTR);
-BOOL WINAPI FreeDDElParam(UINT,LPARAM);
-LPARAM WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT_PTR,UINT_PTR);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ddeml.h
===================================================================
--- Daodan/MinGW/include/ddeml.h	(revision 1046)
+++ 	(revision )
@@ -1,314 +1,0 @@
-#ifndef _DDEML_H
-#define _DDEML_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EXPENTRY	CALLBACK
-#define CP_WINANSI	1004
-#define CP_WINUNICODE	1200
-#define XTYPF_NOBLOCK	2
-#define XTYPF_NODATA	4
-#define XTYPF_ACKREQ	8
-#define XCLASS_MASK	0xFC00
-#define XCLASS_BOOL	0x1000
-#define XCLASS_DATA	0x2000
-#define XCLASS_FLAGS	0x4000
-#define XCLASS_NOTIFICATION	0x8000
-#define XST_NULL	0
-#define XST_INCOMPLETE	1
-#define XST_CONNECTED	2
-#define XST_INIT1	3
-#define XST_INIT2	4
-#define XST_REQSENT	5
-#define XST_DATARCVD	6
-#define XST_POKESENT	7
-#define XST_POKEACKRCVD	8
-#define XST_EXECSENT	9
-#define XST_EXECACKRCVD	10
-#define XST_ADVSENT 11
-#define XST_UNADVSENT 12
-#define XST_ADVACKRCVD 13
-#define XST_UNADVACKRCVD 14
-#define XST_ADVDATASENT 15
-#define XST_ADVDATAACKRCVD 16
-#define XTYP_ERROR	(XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_ADVDATA	(16|XCLASS_FLAGS)
-#define XTYP_ADVREQ	(32|XCLASS_DATA|XTYPF_NOBLOCK)
-#define XTYP_ADVSTART	(0x30|XCLASS_BOOL)
-#define XTYP_ADVSTOP	(0x0040|XCLASS_NOTIFICATION)
-#define XTYP_EXECUTE	(0x0050|XCLASS_FLAGS)
-#define XTYP_CONNECT	(0x0060|XCLASS_BOOL|XTYPF_NOBLOCK)
-#define XTYP_CONNECT_CONFIRM	(0x0070|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_XACT_COMPLETE	(0x0080|XCLASS_NOTIFICATION)
-#define XTYP_POKE	(0x0090|XCLASS_FLAGS)
-#define XTYP_REGISTER	(0x00A0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_REQUEST	(0x00B0|XCLASS_DATA)
-#define XTYP_DISCONNECT	(0x00C0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_UNREGISTER	(0x00D0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_WILDCONNECT	(0x00E0|XCLASS_DATA|XTYPF_NOBLOCK)
-#define XTYP_MASK	0xF0
-#define XTYP_SHIFT	4
-#define TIMEOUT_ASYNC	0xFFFFFFFF
-#define QID_SYNC	0xFFFFFFFF
-#define ST_CONNECTED	1
-#define ST_ADVISE	2
-#define ST_ISLOCAL	4
-#define ST_BLOCKED	8
-#define ST_CLIENT	16
-#define ST_TERMINATED	32
-#define ST_INLIST	64
-#define ST_BLOCKNEXT	128
-#define ST_ISSELF	256
-#define CADV_LATEACK 0xFFFF
-#define DMLERR_NO_ERROR	0
-#define DMLERR_FIRST	0x4000
-#define DMLERR_ADVACKTIMEOUT	0x4000
-#define DMLERR_BUSY	0x4001
-#define DMLERR_DATAACKTIMEOUT	0x4002
-#define DMLERR_DLL_NOT_INITIALIZED	0x4003
-#define	DMLERR_DLL_USAGE	0x4004
-#define DMLERR_EXECACKTIMEOUT	0x4005
-#define DMLERR_INVALIDPARAMETER	0x4006
-#define DMLERR_LOW_MEMORY	0x4007
-#define DMLERR_MEMORY_ERROR	0x4008
-#define DMLERR_NOTPROCESSED	0x4009
-#define DMLERR_NO_CONV_ESTABLISHED	0x400a
-#define DMLERR_POKEACKTIMEOUT	0x400b
-#define DMLERR_POSTMSG_FAILED	0x400c
-#define DMLERR_REENTRANCY	0x400d
-#define DMLERR_SERVER_DIED	0x400e
-#define DMLERR_SYS_ERROR	0x400f
-#define DMLERR_UNADVACKTIMEOUT	0x4010
-#define DMLERR_UNFOUND_QUEUE_ID	0x4011
-#define DMLERR_LAST	0x4011
-#define DDE_FACK	0x8000
-#define DDE_FBUSY	0x4000
-#define DDE_FDEFERUPD	0x4000
-#define DDE_FACKREQ	0x8000
-#define DDE_FRELEASE	0x2000
-#define DDE_FREQUESTED	0x1000
-#define DDE_FAPPSTATUS	0x00ff
-#define DDE_FNOTPROCESSED	0
-#define DDE_FACKRESERVED	(~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS))
-#define DDE_FADVRESERVED	(~(DDE_FACKREQ|DDE_FDEFERUPD))
-#define DDE_FDATRESERVED	(~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED))
-#define DDE_FPOKRESERVED	(~DDE_FRELEASE)
-#define MSGF_DDEMGR	0x8001
-#define CBR_BLOCK	((HDDEDATA)0xffffffff)
-#define CBF_FAIL_SELFCONNECTIONS	0x1000
-#define CBF_FAIL_CONNECTIONS	0x2000
-#define CBF_FAIL_ADVISES	0x4000
-#define CBF_FAIL_EXECUTES	0x8000
-#define CBF_FAIL_POKES	0x10000
-#define CBF_FAIL_REQUESTS	0x20000
-#define CBF_FAIL_ALLSVRXACTIONS	0x3f000
-#define CBF_SKIP_CONNECT_CONFIRMS	0x40000
-#define CBF_SKIP_REGISTRATIONS	0x80000
-#define CBF_SKIP_UNREGISTRATIONS	0x100000
-#define CBF_SKIP_DISCONNECTS	0x200000
-#define CBF_SKIP_ALLNOTIFICATIONS	0x3c0000
-#define APPCMD_CLIENTONLY	0x10L
-#define APPCMD_FILTERINITS	0x20L
-#define APPCMD_MASK	0xFF0L
-#define APPCLASS_STANDARD	0
-#define APPCLASS_MASK	0xFL
-#define EC_ENABLEALL	0
-#define EC_ENABLEONE	ST_BLOCKNEXT
-#define EC_DISABLE	ST_BLOCKED
-#define EC_QUERYWAITING	2
-#define DNS_REGISTER	1
-#define DNS_UNREGISTER	2
-#define DNS_FILTERON	4
-#define DNS_FILTEROFF	8
-#define HDATA_APPOWNED	1
-#define MAX_MONITORS	4
-#define APPCLASS_MONITOR	1L
-#define XTYP_MONITOR	(XCLASS_NOTIFICATION|XTYPF_NOBLOCK|0xF0)
-#define MF_HSZ_INFO	0x1000000
-#define MF_SENDMSGS	0x2000000
-#define MF_POSTMSGS	0x4000000
-#define MF_CALLBACKS	0x8000000
-#define MF_ERRORS	0x10000000
-#define MF_LINKS	0x20000000
-#define MF_CONV	0x40000000
-#define MF_MASK 0xFF000000
-#define MH_CREATE	1
-#define MH_KEEP	2
-#define MH_DELETE	3
-#define MH_CLEANUP	4
-
-DECLARE_HANDLE(HCONVLIST);
-DECLARE_HANDLE(HCONV);
-DECLARE_HANDLE(HSZ);
-DECLARE_HANDLE(HDDEDATA);
-typedef HDDEDATA CALLBACK FNCALLBACK(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
-typedef HDDEDATA(CALLBACK *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
-typedef struct tagHSZPAIR {
-	HSZ	hszSvc;
-	HSZ	hszTopic;
-} HSZPAIR, *PHSZPAIR;
-typedef struct tagCONVCONTEXT {
-	UINT	cb;
-	UINT	wFlags;
-	UINT	wCountryID;
-	int	iCodePage;
-	DWORD	dwLangID;
-	DWORD	dwSecurity;
-	SECURITY_QUALITY_OF_SERVICE qos;
-} CONVCONTEXT,*PCONVCONTEXT;
-typedef struct tagCONVINFO {
-	DWORD	cb;
-	DWORD	hUser;
-	HCONV	hConvPartner;
-	HSZ	hszSvcPartner;
-	HSZ	hszServiceReq;
-	HSZ	hszTopic;
-	HSZ	hszItem;
-	UINT	wFmt;
-	UINT	wType;
-	UINT	wStatus;
-	UINT	wConvst;
-	UINT	wLastError;
-	HCONVLIST	hConvList;
-	CONVCONTEXT ConvCtxt;
-	HWND	hwnd;
-	HWND	hwndPartner;
-} CONVINFO,*PCONVINFO;
-typedef struct tagDDEML_MSG_HOOK_DATA {
-	UINT	uiLo;
-	UINT	uiHi;
-	DWORD	cbData;
-	DWORD	Data[8];
-} DDEML_MSG_HOOK_DATA;
-typedef struct tagMONHSZSTRUCT {
-	UINT	cb;
-	BOOL	fsAction;
-	DWORD	dwTime;
-	HSZ	hsz;
-	HANDLE	hTask;
-	TCHAR	str[1];
-} MONHSZSTRUCT, *PMONHSZSTRUCT;
-typedef struct tagMONLINKSTRUCT {
-	UINT	cb;
-	DWORD	dwTime;
-	HANDLE	hTask;
-	BOOL	fEstablished;
-	BOOL	fNoData;
-	HSZ	hszSvc;
-	HSZ	hszTopic;
-	HSZ	hszItem;
-	UINT	wFmt;
-	BOOL	fServer;
-	HCONV	hConvServer;
-	HCONV	hConvClient;
-} MONLINKSTRUCT, *PMONLINKSTRUCT;
-typedef struct tagMONCONVSTRUCT {
-	UINT	cb;
-	BOOL	fConnect;
-	DWORD	dwTime;
-	HANDLE	hTask;
-	HSZ	hszSvc;
-	HSZ	hszTopic;
-	HCONV	hConvClient;
-	HCONV	hConvServer;
-} MONCONVSTRUCT, *PMONCONVSTRUCT;
-typedef struct tagMONCBSTRUCT {
-	UINT	cb;
-	DWORD	dwTime;
-	HANDLE	hTask;
-	DWORD	dwRet;
-	UINT	wType;
-	UINT	wFmt;
-	HCONV	hConv;
-	HSZ	hsz1;
-	HSZ	hsz2;
-	HDDEDATA	hData;
-	ULONG_PTR	dwData1;
-	ULONG_PTR	dwData2;
-	CONVCONTEXT	cc;
-	DWORD	cbData;
-	DWORD	Data[8];
-} MONCBSTRUCT, *PMONCBSTRUCT;
-typedef struct tagMONERRSTRUCT {
-	UINT	cb;
-	UINT	wLastError;
-	DWORD	dwTime;
-	HANDLE	hTask;
-} MONERRSTRUCT, *PMONERRSTRUCT;
-typedef struct tagMONMSGSTRUCT {
-	UINT	cb;
-	HWND	hwndTo;
-	DWORD	dwTime;
-	HANDLE	hTask;
-	UINT	wMsg;
-	WPARAM	wParam;
-	LPARAM	lParam;
-	DDEML_MSG_HOOK_DATA dmhd;
-} MONMSGSTRUCT, *PMONMSGSTRUCT;
-
-BOOL WINAPI DdeAbandonTransaction(DWORD,HCONV,DWORD);
-PBYTE WINAPI DdeAccessData(HDDEDATA,PDWORD);
-HDDEDATA WINAPI DdeAddData(HDDEDATA,PBYTE,DWORD,DWORD);
-HDDEDATA WINAPI DdeClientTransaction(PBYTE,DWORD,HCONV,HSZ,UINT,UINT,DWORD,PDWORD);
-int WINAPI DdeCmpStringHandles(HSZ,HSZ);
-HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,PCONVCONTEXT);
-HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT);
-HDDEDATA WINAPI DdeCreateDataHandle(DWORD,PBYTE,DWORD,DWORD,HSZ,UINT,UINT);
-HSZ WINAPI DdeCreateStringHandleA(DWORD,LPCSTR,int);
-HSZ WINAPI DdeCreateStringHandleW(DWORD,LPCWSTR,int);
-BOOL WINAPI DdeDisconnect(HCONV);
-BOOL WINAPI DdeDisconnectList(HCONVLIST);
-BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT);
-BOOL WINAPI DdeFreeDataHandle(HDDEDATA);
-BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
-DWORD WINAPI DdeGetData(HDDEDATA,PBYTE,DWORD,DWORD);
-UINT WINAPI DdeGetLastError(DWORD);
-BOOL WINAPI DdeImpersonateClient(HCONV);
-UINT WINAPI DdeInitializeA(PDWORD,PFNCALLBACK,DWORD,DWORD);
-UINT WINAPI DdeInitializeW(PDWORD,PFNCALLBACK,DWORD,DWORD);
-BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ);
-HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT);
-BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ);
-UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,PCONVINFO);
-HCONV WINAPI DdeQueryNextServer(HCONVLIST,HCONV);
-DWORD WINAPI DdeQueryStringA(DWORD,HSZ,LPSTR,DWORD,int);
-DWORD WINAPI DdeQueryStringW(DWORD,HSZ,LPWSTR,DWORD,int);
-HCONV WINAPI DdeReconnect(HCONV);
-BOOL WINAPI DdeSetUserHandle(HCONV,DWORD,DWORD);
-BOOL WINAPI DdeUnaccessData(HDDEDATA);
-BOOL WINAPI DdeUninitialize(DWORD);
-
-#ifdef UNICODE
-#define SZDDESYS_TOPIC	L"System"
-#define SZDDESYS_ITEM_TOPICS	L"Topics"
-#define SZDDESYS_ITEM_SYSITEMS	L"SysItems"
-#define SZDDESYS_ITEM_RTNMSG	L"ReturnMessage"
-#define SZDDESYS_ITEM_STATUS	L"Status"
-#define SZDDESYS_ITEM_FORMATS	L"Formats"
-#define SZDDESYS_ITEM_HELP	L"Help"
-#define SZDDE_ITEM_ITEMLIST	L"TopicItemList"
-#define DdeCreateStringHandle DdeCreateStringHandleW
-#define DdeInitialize DdeInitializeW
-#define DdeQueryString DdeQueryStringW
-#else
-#define SZDDESYS_TOPIC	"System"
-#define SZDDESYS_ITEM_TOPICS	"Topics"
-#define SZDDESYS_ITEM_SYSITEMS	"SysItems"
-#define SZDDESYS_ITEM_RTNMSG	"ReturnMessage"
-#define SZDDESYS_ITEM_STATUS	"Status"
-#define SZDDESYS_ITEM_FORMATS	"Formats"
-#define SZDDESYS_ITEM_HELP	"Help"
-#define SZDDE_ITEM_ITEMLIST	"TopicItemList"
-#define DdeCreateStringHandle DdeCreateStringHandleA
-#define DdeInitialize DdeInitializeA
-#define DdeQueryString DdeQueryStringA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _DDEML_H */
Index: Daodan/MinGW/include/ddk/atm.h
===================================================================
--- Daodan/MinGW/include/ddk/atm.h	(revision 1046)
+++ 	(revision )
@@ -1,507 +1,0 @@
-/*
- * atm.h
- *
- * ATM support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __ATM_H
-#define __ATM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef ULONG	ATM_ADDRESSTYPE;
-
-#define SAP_TYPE_NSAP			                1
-#define SAP_TYPE_E164			                2
-
-#define ATM_MEDIA_SPECIFIC                1
-
-#define CALLMGR_SPECIFIC_Q2931            1
-
-#define	ATM_NSAP				                  0
-#define	ATM_E164				                  1
-
-#define	ATM_MAC_ADDRESS_LENGTH	          6
-#define	ATM_ADDRESS_LENGTH		            20
-
-typedef ULONG	ATM_AAL_TYPE, *PATM_AAL_TYPE;
-
-#define	AAL_TYPE_AAL0			                1
-#define	AAL_TYPE_AAL1			                2
-#define	AAL_TYPE_AAL34			              4
-#define	AAL_TYPE_AAL5			                8
-
-#define ATM_ADDR_BLANK_CHAR				        L' '
-#define ATM_ADDR_E164_START_CHAR		      L'+'
-#define ATM_ADDR_PUNCTUATION_CHAR		      L'.'
-
-typedef enum {
-	IE_AALParameters,
-	IE_TrafficDescriptor,
-	IE_BroadbandBearerCapability,
-	IE_BHLI,
-	IE_BLLI,
-	IE_CalledPartyNumber,
-	IE_CalledPartySubaddress,
-	IE_CallingPartyNumber,
-	IE_CallingPartySubaddress,
-	IE_Cause,
-	IE_QOSClass,
-	IE_TransitNetworkSelection,
-	IE_BroadbandSendingComplete,
-	IE_LIJCallId,
-	IE_Raw
-} Q2931_IE_TYPE;
-
-typedef struct _Q2931_IE {
-  Q2931_IE_TYPE  IEType;
-  ULONG  IELength;
-  UCHAR  IE[1];
-} Q2931_IE, *PQ2931_IE;
-
-typedef struct _AAL1_PARAMETERS {
-  UCHAR  Subtype;
-  UCHAR  CBRRate;
-  USHORT  Multiplier;
-  UCHAR  SourceClockRecoveryMethod;
-  UCHAR  ErrorCorrectionMethod;
-  USHORT  StructuredDataTransferBlocksize;
-  UCHAR  PartiallyFilledCellsMethod;
-} AAL1_PARAMETERS, *PAAL1_PARAMETERS;
-
-typedef struct _AAL34_PARAMETERS {
-  USHORT  ForwardMaxCPCSSDUSize;
-  USHORT  BackwardMaxCPCSSDUSize;
-  USHORT  LowestMID;
-  USHORT  HighestMID;
-  UCHAR  SSCSType;
-} AAL34_PARAMETERS, *PAAL34_PARAMETERS;
-
-/* AAL5_PARAMETERS.Mode constants */
-#define AAL5_MODE_MESSAGE			            0x01
-#define AAL5_MODE_STREAMING			          0x02
-
-/* AAL5_PARAMETERS.SSCSType constants */
-#define AAL5_SSCS_NULL				            0x00
-#define AAL5_SSCS_SSCOP_ASSURED		        0x01
-#define AAL5_SSCS_SSCOP_NON_ASSURED	      0x02
-#define AAL5_SSCS_FRAME_RELAY		          0x04
-
-typedef struct _AAL5_PARAMETERS {
-  ULONG  ForwardMaxCPCSSDUSize;
-  ULONG  BackwardMaxCPCSSDUSize;
-  UCHAR  Mode;
-  UCHAR  SSCSType;
-} AAL5_PARAMETERS, *PAAL5_PARAMETERS;
-
-typedef struct _AALUSER_PARAMETERS {
-  ULONG  UserDefined;
-} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
-
-typedef struct _AAL_PARAMETERS_IE {
-  ATM_AAL_TYPE  AALType;
-  union {
-    AAL1_PARAMETERS  AAL1Parameters;
-    AAL34_PARAMETERS  AAL34Parameters;
-    AAL5_PARAMETERS  AAL5Parameters;
-    AALUSER_PARAMETERS  AALUserParameters;
-  } AALSpecificParameters;
-} AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
-
-
-/* FIXME: Should the union be anonymous in C++ too?  If so,
-   can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO
-   within anonymous union for C++. */
-typedef struct _ATM_AAL_OOB_INFO
-{
-	ATM_AAL_TYPE  AalType;
-#ifndef __cplusplus
-	_ANONYMOUS_UNION
-#endif
-	union {
-		struct _ATM_AAL5_INFO {
-			BOOLEAN  CellLossPriority;
-			UCHAR  UserToUserIndication;
-			UCHAR  CommonPartIndicator;
-		} ATM_AAL5_INFO;
-
-		struct _ATM_AAL0_INFO {
-			BOOLEAN  CellLossPriority;
-			UCHAR  PayLoadTypeIdentifier;
-		} ATM_AAL0_INFO;
-#ifndef __cplusplus
-	} DUMMYUNIONNAME;
-#else
-	} u;
-#endif
-} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
-
-typedef struct _ATM_ADDRESS  {
-  ATM_ADDRESSTYPE  AddressType;
-  ULONG  NumberOfDigits;
-  UCHAR  Address[ATM_ADDRESS_LENGTH];
-} ATM_ADDRESS, *PATM_ADDRESS;
-
-/* ATM_BHLI_IE.HighLayerInfoType constants */
-#define BHLI_ISO				                  0x00
-#define BHLI_UserSpecific		              0x01
-#define BHLI_HighLayerProfile	            0x02
-#define BHLI_VendorSpecificAppId          0x03
-
-typedef struct _ATM_BHLI_IE {
-  ULONG  HighLayerInfoType;
-  ULONG  HighLayerInfoLength;
-  UCHAR  HighLayerInfo[8];
-} ATM_BHLI_IE, *PATM_BHLI_IE;
-
-/* ATM_BLLI_IE.Layer2Protocol constants */
-#define BLLI_L2_ISO_1745		              0x01
-#define BLLI_L2_Q921			                0x02
-#define BLLI_L2_X25L			                0x06
-#define BLLI_L2_X25M			                0x07
-#define BLLI_L2_ELAPB			                0x08
-#define BLLI_L2_HDLC_ARM		              0x09
-#define BLLI_L2_HDLC_NRM		              0x0A
-#define BLLI_L2_HDLC_ABM		              0x0B
-#define BLLI_L2_LLC				                0x0C
-#define BLLI_L2_X75				                0x0D
-#define BLLI_L2_Q922			                0x0E
-#define BLLI_L2_USER_SPECIFIED            0x10
-#define BLLI_L2_ISO_7776		              0x11
-
-/* ATM_BLLI_IE.Layer3Protocol constants */
-#define BLLI_L3_X25				                0x06
-#define BLLI_L3_ISO_8208		              0x07
-#define BLLI_L3_X223			                0x08
-#define BLLI_L3_SIO_8473		              0x09
-#define BLLI_L3_T70				                0x0A
-#define BLLI_L3_ISO_TR9577		            0x0B
-#define BLLI_L3_USER_SPECIFIED	          0x10
-
-/* ATM_BLLI_IE.Layer3IPI constants */
-#define BLLI_L3_IPI_SNAP		              0x80
-#define BLLI_L3_IPI_IP			              0xCC
-
-typedef struct _ATM_BLLI_IE {
-  ULONG  Layer2Protocol;
-  UCHAR  Layer2Mode;
-  UCHAR  Layer2WindowSize;
-  ULONG  Layer2UserSpecifiedProtocol;
-  ULONG  Layer3Protocol;
-  UCHAR  Layer3Mode;
-  UCHAR  Layer3DefaultPacketSize;
-  UCHAR  Layer3PacketWindowSize;
-  ULONG  Layer3UserSpecifiedProtocol;
-  ULONG  Layer3IPI;
-  UCHAR  SnapId[5];
-} ATM_BLLI_IE, *PATM_BLLI_IE;
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */
-#define BCOB_A					                  0x00
-#define BCOB_C					                  0x01
-#define BCOB_X					                  0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */
-#define TT_NOIND				                  0x00
-#define TT_CBR					                  0x04
-#define TT_VBR					                  0x08
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */
-#define TR_NOIND				                  0x00
-#define TR_END_TO_END			                0x01
-#define TR_NO_END_TO_END		              0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */
-#define CLIP_NOT				                  0x00
-#define CLIP_SUS				                  0x20
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */
-#define UP_P2P					                  0x00
-#define UP_P2MP					                  0x01
-
-typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {
-  UCHAR  BearerClass;
-  UCHAR  TrafficType;
-  UCHAR  TimingRequirements;
-  UCHAR  ClippingSusceptability;
-  UCHAR  UserPlaneConnectionConfig;
-} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;
-
-typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {
-  UCHAR  SendingComplete;
-} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;
-
-typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
-  ATM_ADDRESS  Number;
-  UCHAR  PresentationIndication;
-  UCHAR  ScreeningIndicator;
-} ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE;
-
-/* ATM_CAUSE_IE.Location constants */
-#define ATM_CAUSE_LOC_USER                    0x00
-#define ATM_CAUSE_LOC_PRIVATE_LOCAL           0x01
-#define ATM_CAUSE_LOC_PUBLIC_LOCAL            0x02
-#define ATM_CAUSE_LOC_TRANSIT_NETWORK         0x03
-#define ATM_CAUSE_LOC_PUBLIC_REMOTE           0x04
-#define ATM_CAUSE_LOC_PRIVATE_REMOTE          0x05
-#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK   0x07
-#define ATM_CAUSE_LOC_BEYOND_INTERWORKING     0x0A
-
-/* ATM_CAUSE_IE.Cause constants */
-#define ATM_CAUSE_UNALLOCATED_NUMBER                0x01
-#define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK       0x02
-#define ATM_CAUSE_NO_ROUTE_TO_DESTINATION           0x03
-#define ATM_CAUSE_VPI_VCI_UNACCEPTABLE              0x0A
-#define ATM_CAUSE_NORMAL_CALL_CLEARING              0x10
-#define ATM_CAUSE_USER_BUSY                         0x11
-#define ATM_CAUSE_NO_USER_RESPONDING                0x12
-#define ATM_CAUSE_CALL_REJECTED                     0x15
-#define ATM_CAUSE_NUMBER_CHANGED                    0x16
-#define ATM_CAUSE_USER_REJECTS_CLIR                 0x17
-#define ATM_CAUSE_DESTINATION_OUT_OF_ORDER          0x1B
-#define ATM_CAUSE_INVALID_NUMBER_FORMAT             0x1C
-#define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE           0x1E
-#define ATM_CAUSE_NORMAL_UNSPECIFIED                0x1F
-#define ATM_CAUSE_VPI_VCI_UNAVAILABLE               0x23
-#define ATM_CAUSE_NETWORK_OUT_OF_ORDER              0x26
-#define ATM_CAUSE_TEMPORARY_FAILURE                 0x29
-#define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED       0x2B
-#define ATM_CAUSE_NO_VPI_VCI_AVAILABLE              0x2D
-#define ATM_CAUSE_RESOURCE_UNAVAILABLE              0x2F
-#define ATM_CAUSE_QOS_UNAVAILABLE                   0x31
-#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE        0x33
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED    0x39
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE     0x3A
-#define ATM_CAUSE_OPTION_UNAVAILABLE                0x3F
-#define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED   0x41
-#define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS    0x49
-#define ATM_CAUSE_INVALID_CALL_REFERENCE            0x51
-#define ATM_CAUSE_CHANNEL_NONEXISTENT               0x52
-#define ATM_CAUSE_INCOMPATIBLE_DESTINATION          0x58
-#define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE        0x59
-#define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B
-#define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY        0x5C
-#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED        0x5D
-#define ATM_CAUSE_MANDATORY_IE_MISSING              0x60
-#define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE        0x61
-#define ATM_CAUSE_UNIMPLEMENTED_IE                  0x63
-#define ATM_CAUSE_INVALID_IE_CONTENTS               0x64
-#define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE         0x65
-#define ATM_CAUSE_RECOVERY_ON_TIMEOUT               0x66
-#define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH          0x68
-#define ATM_CAUSE_PROTOCOL_ERROR                    0x6F
-
-/* ATM_CAUSE_IE.Diagnostics constants */
-#define ATM_CAUSE_COND_UNKNOWN            0x00
-#define ATM_CAUSE_COND_PERMANENT          0x01
-#define ATM_CAUSE_COND_TRANSIENT          0x02
-#define ATM_CAUSE_REASON_USER             0x00
-#define ATM_CAUSE_REASON_IE_MISSING       0x04
-#define ATM_CAUSE_REASON_IE_INSUFFICIENT  0x08
-#define ATM_CAUSE_PU_PROVIDER             0x00
-#define ATM_CAUSE_PU_USER                 0x08
-#define ATM_CAUSE_NA_NORMAL               0x00
-#define ATM_CAUSE_NA_ABNORMAL             0x04
-
-typedef struct _ATM_CAUSE_IE {
-  UCHAR  Location;
-  UCHAR  Cause;
-  UCHAR  DiagnosticsLength;
-  UCHAR  Diagnostics[4];
-} ATM_CAUSE_IE, *PATM_CAUSE_IE;
-
-
-typedef ULONG	ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY;
-
-/* ATM_FLOW_PARAMETERS.ServiceCategory constants */
-#define	ATM_SERVICE_CATEGORY_CBR	        1
-#define	ATM_SERVICE_CATEGORY_VBR	        2
-#define	ATM_SERVICE_CATEGORY_UBR	        4
-#define	ATM_SERVICE_CATEGORY_ABR	        8
-
-/* ATM_FLOW_PARAMETERS.Reserved1 constants */
-#define ATM_FLOW_PARAMS_RSVD1_MPP	        0x01
-
-typedef struct _ATM_FLOW_PARAMETERS {
-  ATM_SERVICE_CATEGORY  ServiceCategory;
-  ULONG  AverageCellRate;
-  ULONG  PeakCellRate;
-  ULONG  MinimumCellRate;
-  ULONG  InitialCellRate;
-  ULONG  BurstLengthCells;
-  ULONG  MaxSduSize;
-  ULONG  TransientBufferExposure;
-  ULONG  CumulativeRMFixedRTT;
-  UCHAR  RateIncreaseFactor;
-  UCHAR  RateDecreaseFactor;
-  USHORT  ACRDecreaseTimeFactor;
-  UCHAR  MaximumCellsPerForwardRMCell;
-  UCHAR  MaximumForwardRMCellInterval;
-  UCHAR  CutoffDecreaseFactor;
-  UCHAR  Reserved1;
-  ULONG  MissingRMCellCount;
-  ULONG  Reserved2;
-  ULONG  Reserved3;
-} ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
-
-typedef struct _ATM_VPIVCI {
-  ULONG  Vpi;
-  ULONG  Vci;
-} ATM_VPIVCI, *PATM_VPIVCI;
-
-typedef struct _ATM_MEDIA_PARAMETERS {
-  ATM_VPIVCI  ConnectionId;
-  ATM_AAL_TYPE  AALType;
-  ULONG  CellDelayVariationCLP0;
-  ULONG  CellDelayVariationCLP1;
-  ULONG  CellLossRatioCLP0;
-  ULONG  CellLossRatioCLP1;
-  ULONG  CellTransferDelayCLP0;
-  ULONG  CellTransferDelayCLP1;
-  ULONG  DefaultCLP;
-  ATM_FLOW_PARAMETERS  Transmit;
-  ATM_FLOW_PARAMETERS  Receive;
-} ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
-
-typedef struct _ATM_PVC_SAP {
-  ATM_BLLI_IE  Blli;
-  ATM_BHLI_IE  Bhli;
-} ATM_PVC_SAP, *PATM_PVC_SAP;
-
-/* ATM_QOS_CLASS_IE constants */
-#define QOS_CLASS0				                0x00
-#define QOS_CLASS1				                0x01
-#define QOS_CLASS2				                0x02
-#define QOS_CLASS3				                0x03
-#define QOS_CLASS4				                0x04
-
-typedef struct _ATM_QOS_CLASS_IE {
-  UCHAR  QOSClassForward;
-  UCHAR  QOSClassBackward;
-} ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
-
-typedef struct _ATM_RAW_IE {
-  ULONG  RawIELength;
-  ULONG  RawIEType;
-  UCHAR  RawIEValue[1];
-} ATM_RAW_IE, *PATM_RAW_IE;
-
-typedef struct _ATM_SAP {
-  ATM_BLLI_IE  Blli;
-  ATM_BHLI_IE  Bhli;
-  ULONG  NumberOfAddresses;
-  UCHAR  Addresses[1];
-} ATM_SAP, *PATM_SAP;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR {
-  ULONG  PeakCellRateCLP0;
-  ULONG  PeakCellRateCLP01;
-  ULONG  SustainableCellRateCLP0;
-  ULONG  SustainableCellRateCLP01;
-  ULONG  MaximumBurstSizeCLP0;
-  ULONG  MaximumBurstSizeCLP01;
-  BOOLEAN  BestEffort;
-  BOOLEAN  Tagging;
-} ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
-  ATM_TRAFFIC_DESCRIPTOR  ForwardTD;
-  ATM_TRAFFIC_DESCRIPTOR  BackwardTD;
-  BOOLEAN  BestEffort;
-} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
-#define TNS_TYPE_NATIONAL			            0x40
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
-#define TNS_PLAN_CARRIER_ID_CODE	        0x01
-
-typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
-  UCHAR  TypeOfNetworkId;
-  UCHAR  NetworkIdPlan;
-  UCHAR  NetworkIdLength;
-  UCHAR  NetworkId[1];
-} ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
-
-typedef struct _ATM_LIJ_CALLID_IE {
-	ULONG  Identifier;
-} ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
-
-/* Q2931_ADD_PVC.Flags constants */
-#define CO_FLAG_SIGNALING_VC              0x00000001
-#define CO_FLAG_NO_DEST_SAP               0x00000002
-
-typedef struct _Q2931_ADD_PVC {
-  ATM_ADDRESS  CalledParty;
-  ATM_ADDRESS  CallingParty;
-  ATM_VPIVCI  ConnectionId;
-  ATM_AAL_TYPE  AALType;
-  ATM_FLOW_PARAMETERS  ForwardFP;
-  ATM_FLOW_PARAMETERS  BackwardFP;
-  ULONG  Flags;
-  ATM_PVC_SAP  LocalSap;
-  ATM_PVC_SAP  DestinationSap;
-  BOOLEAN  LIJIdPresent;
-  ATM_LIJ_CALLID_IE  LIJId;
-} Q2931_ADD_PVC, *PQ2931_ADD_PVC;
-
-typedef struct _Q2931_DELETE_PVC {
-  ATM_VPIVCI  ConnectionId;
-} Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
-
-typedef ATM_ADDRESS	ATM_CALLED_PARTY_NUMBER_IE;
-typedef ATM_ADDRESS	ATM_CALLED_PARTY_SUBADDRESS_IE;
-typedef ATM_ADDRESS	ATM_CALLING_PARTY_SUBADDRESS_IE;
-
-typedef struct _Q2931_CALLMGR_PARAMETERS {
-  ATM_ADDRESS  CalledParty;
-  ATM_ADDRESS  CallingParty;
-  ULONG  InfoElementCount;
-  UCHAR  InfoElements[1];
-} Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
-
-typedef struct _ATM_VC_RATES_SUPPORTED {
-  ULONG  MinCellRate;
-  ULONG  MaxCellRate;
-} ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
-
-typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
-
-/* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
-#define ATM_SERVICE_REGISTRY_LECS		      1
-#define ATM_SERVICE_REGISTRY_ANS		      2
-
-typedef struct _ATM_SERVICE_ADDRESS_LIST {
-  ATM_SERVICE_REGISTRY_TYPE  ServiceRegistryType;
-  ULONG  NumberOfAddressesAvailable;
-  ULONG  NumberOfAddressesReturned;
-  ATM_ADDRESS  Address[1];
-} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ATM_H */
Index: Daodan/MinGW/include/ddk/batclass.h
===================================================================
--- Daodan/MinGW/include/ddk/batclass.h	(revision 1046)
+++ 	(revision )
@@ -1,298 +1,0 @@
-/*
- * batclass.h
- *
- * Battery class driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __BATCLASS_H
-#define __BATCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
-  #define BCLASSAPI DECLSPEC_EXPORT
-#else
-  #define BCLASSAPI DECLSPEC_IMPORT
-#endif
-
-
-/* Battery device GUIDs */
-
-DEFINE_GUID(GUID_DEVICE_BATTERY,
-  0x72631e54L, 0x78A4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a);
-
-DEFINE_GUID(BATTERY_STATUS_WMI_GUID,
-  0xfc4670d1, 0xebbf, 0x416e, 0x87, 0xce, 0x37, 0x4a, 0x4e, 0xbc, 0x11, 0x1a);
-
-DEFINE_GUID(BATTERY_RUNTIME_WMI_GUID,
-  0x535a3767, 0x1ac2, 0x49bc, 0xa0, 0x77, 0x3f, 0x7a, 0x02, 0xe4, 0x0a, 0xec);
-
-DEFINE_GUID(BATTERY_TEMPERATURE_WMI_GUID,
-  0x1a52a14d, 0xadce, 0x4a44, 0x9a, 0x3e, 0xc8, 0xd8, 0xf1, 0x5f, 0xf2, 0xc2);
-
-DEFINE_GUID(BATTERY_FULL_CHARGED_CAPACITY_WMI_GUID,
-  0x40b40565, 0x96f7, 0x4435, 0x86, 0x94, 0x97, 0xe0, 0xe4, 0x39, 0x59, 0x05);
-
-DEFINE_GUID(BATTERY_CYCLE_COUNT_WMI_GUID,
-  0xef98db24, 0x0014, 0x4c25, 0xa5, 0x0b, 0xc7, 0x24, 0xae, 0x5c, 0xd3, 0x71);
-
-DEFINE_GUID(BATTERY_STATIC_DATA_WMI_GUID,
-  0x05e1e463, 0xe4e2, 0x4ea9, 0x80, 0xcb, 0x9b, 0xd4, 0xb3, 0xca, 0x06, 0x55);
-
-DEFINE_GUID(BATTERY_STATUS_CHANGE_WMI_GUID,
-  0xcddfa0c3, 0x7c5b, 0x4e43, 0xa0, 0x34, 0x05, 0x9f, 0xa5, 0xb8, 0x43, 0x64);
-
-DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID,
-  0x5e1f6e19, 0x8786, 0x4d23, 0x94, 0xfc, 0x9e, 0x74, 0x6b, 0xd5, 0xd8, 0x88);
-
-
-/* BATTERY_INFORMATION.Capabilities constants */
-#define BATTERY_SET_CHARGE_SUPPORTED      0x00000001
-#define BATTERY_SET_DISCHARGE_SUPPORTED   0x00000002
-#define BATTERY_SET_RESUME_SUPPORTED      0x00000004
-#define BATTERY_IS_SHORT_TERM             0x20000000
-#define BATTERY_CAPACITY_RELATIVE         0x40000000
-#define BATTERY_SYSTEM_BATTERY            0x80000000
-
-typedef struct _BATTERY_INFORMATION {
-  ULONG  Capabilities;
-  UCHAR  Technology;
-  UCHAR  Reserved[3];
-  UCHAR  Chemistry[4];
-  ULONG  DesignedCapacity;
-  ULONG  FullChargedCapacity;
-  ULONG  DefaultAlert1;
-  ULONG  DefaultAlert2;
-  ULONG  CriticalBias;
-  ULONG  CycleCount;
-} BATTERY_INFORMATION, *PBATTERY_INFORMATION;
-
-typedef struct _BATTERY_MANUFACTURE_DATE {
-  UCHAR  Day;
-  UCHAR  Month;
-  USHORT  Year;
-} BATTERY_MANUFACTURE_DATE, *PBATTERY_MANUFACTURE_DATE;
-
-typedef struct _BATTERY_NOTIFY {
-	ULONG  PowerState;
-	ULONG  LowCapacity;
-	ULONG  HighCapacity;
-} BATTERY_NOTIFY, *PBATTERY_NOTIFY;
-
-/* BATTERY_STATUS.PowerState flags */
-#define BATTERY_POWER_ON_LINE             0x00000001
-#define BATTERY_DISCHARGING               0x00000002
-#define BATTERY_CHARGING                  0x00000004
-#define BATTERY_CRITICAL                  0x00000008
-
-/* BATTERY_STATUS.Voltage constant */
-#define BATTERY_UNKNOWN_VOLTAGE           0xFFFFFFFF
-
-/* BATTERY_STATUS.Rate constant */
-#define BATTERY_UNKNOWN_RATE              0x80000000
-
-typedef struct _BATTERY_STATUS {
-  ULONG  PowerState;
-  ULONG  Capacity;
-  ULONG  Voltage;
-  LONG  Rate;
-} BATTERY_STATUS, *PBATTERY_STATUS;
-
-/* BATTERY_INFORMATION.Capacity constants */
-#define BATTERY_UNKNOWN_CAPACITY          0xFFFFFFFF
-
-typedef enum _BATTERY_QUERY_INFORMATION_LEVEL {
-  BatteryInformation = 0,
-  BatteryGranularityInformation,
-  BatteryTemperature,
-  BatteryEstimatedTime,
-  BatteryDeviceName,
-  BatteryManufactureDate,
-  BatteryManufactureName,
-  BatteryUniqueID,
-  BatterySerialNumber
-} BATTERY_QUERY_INFORMATION_LEVEL;
-
-/* BatteryEstimatedTime constant */
-#define BATTERY_UNKNOWN_TIME              0x80000000
-
-/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */
-#define BATTERY_TAG_INVALID 0
-
-typedef struct _BATTERY_QUERY_INFORMATION {
-  ULONG  BatteryTag;
-  BATTERY_QUERY_INFORMATION_LEVEL  InformationLevel;
-  LONG  AtRate;
-} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
-
-typedef enum _BATTERY_SET_INFORMATION_LEVEL {
-  BatteryCriticalBias = 0,
-  BatteryCharge,
-  BatteryDischarge
-} BATTERY_SET_INFORMATION_LEVEL;
-
-#define MAX_BATTERY_STRING_SIZE           128
-
-typedef struct _BATTERY_SET_INFORMATION {
-	ULONG  BatteryTag;
-	BATTERY_SET_INFORMATION_LEVEL  InformationLevel;
-	UCHAR  Buffer[1];
-} BATTERY_SET_INFORMATION, *PBATTERY_SET_INFORMATION;
-
-typedef struct _BATTERY_WAIT_STATUS {
-	ULONG  BatteryTag;
-	ULONG  Timeout;
-	ULONG  PowerState;
-	ULONG  LowCapacity;
-	ULONG  HighCapacity;
-} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
-
-
-#define IOCTL_BATTERY_QUERY_TAG \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_INFORMATION \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_SET_INFORMATION \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_STATUS \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_DISABLE_STATUS_NOTIFY)(
-  /*IN*/ PVOID  Context);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_INFORMATION)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  BatteryTag,
-  /*IN*/ BATTERY_QUERY_INFORMATION_LEVEL  Level,
-  /*IN*/ LONG  AtRate  /*OPTIONAL*/,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnedLength);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_STATUS)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  BatteryTag,
-  /*OUT*/ PBATTERY_STATUS  BatteryStatus);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_TAG)(
-  /*IN*/ PVOID  Context,
-  /*OUT*/ PULONG  BatteryTag);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_INFORMATION)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  BatteryTag,
-  /*IN*/ BATTERY_SET_INFORMATION_LEVEL  Level,
-  /*IN*/ PVOID  Buffer  /*OPTIONAL*/);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_STATUS_NOTIFY)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  BatteryTag,
-  /*IN*/ PBATTERY_NOTIFY  BatteryNotify);
-
-
-typedef struct _BATTERY_MINIPORT_INFO {
-  USHORT  MajorVersion;
-  USHORT  MinorVersion;
-  PVOID  Context;
-  BCLASS_QUERY_TAG  QueryTag;
-  BCLASS_QUERY_INFORMATION  QueryInformation;
-  BCLASS_SET_INFORMATION  SetInformation;
-  BCLASS_QUERY_STATUS  QueryStatus;
-  BCLASS_SET_STATUS_NOTIFY  SetStatusNotify;
-  BCLASS_DISABLE_STATUS_NOTIFY  DisableStatusNotify;
-  PDEVICE_OBJECT  Pdo;
-  PUNICODE_STRING  DeviceName;
-} BATTERY_MINIPORT_INFO, *PBATTERY_MINIPORT_INFO;
-
-/* BATTERY_MINIPORT_INFO.XxxVersion */
-#define BATTERY_CLASS_MAJOR_VERSION       0x0001
-#define BATTERY_CLASS_MINOR_VERSION       0x0000
-
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassInitializeDevice(
-  /*IN*/ PBATTERY_MINIPORT_INFO  MiniportInfo,
-  /*IN*/ PVOID  *ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassIoctl(
-  /*IN*/ PVOID  ClassData,
-  /*IN*/ PIRP  Irp);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassQueryWmiDataBlock(
-  /*IN*/ PVOID  ClassData,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN OUT*/ PULONG  InstanceLengthArray,
-  /*IN*/ ULONG  OutBufferSize,
-  /*OUT*/ PUCHAR  Buffer);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassStatusNotify(
-  /*IN*/ PVOID  ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassSystemControl(
-  /*IN*/ PVOID  ClassData,
-  /*IN*/ PWMILIB_CONTEXT  WmiLibContext,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*OUT*/ PSYSCTL_IRP_DISPOSITION  Disposition);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassUnload(
-  /*IN*/ PVOID  ClassData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __BATCLASS_H */
Index: Daodan/MinGW/include/ddk/cfg.h
===================================================================
--- Daodan/MinGW/include/ddk/cfg.h	(revision 1046)
+++ 	(revision )
@@ -1,139 +1,0 @@
-/*
- * cfg.h
- *
- * PnP Configuration Manager shared definitions between user mode and kernel mode code
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __CFG_H
-#define __CFG_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CM_PROB_NOT_CONFIGURED		  				0x00000001
-#define CM_PROB_DEVLOADER_FAILED            0x00000002
-#define CM_PROB_OUT_OF_MEMORY               0x00000003
-#define CM_PROB_ENTRY_IS_WRONG_TYPE         0x00000004
-#define CM_PROB_LACKED_ARBITRATOR           0x00000005
-#define CM_PROB_BOOT_CONFIG_CONFLICT        0x00000006
-#define CM_PROB_FAILED_FILTER               0x00000007
-#define CM_PROB_DEVLOADER_NOT_FOUND         0x00000008
-#define CM_PROB_INVALID_DATA                0x00000009
-#define CM_PROB_FAILED_START                0x0000000A
-#define CM_PROB_LIAR                        0x0000000B
-#define CM_PROB_NORMAL_CONFLICT             0x0000000C
-#define CM_PROB_NOT_VERIFIED                0x0000000D
-#define CM_PROB_NEED_RESTART                0x0000000E
-#define CM_PROB_REENUMERATION               0x0000000F
-#define CM_PROB_PARTIAL_LOG_CONF            0x00000010
-#define CM_PROB_UNKNOWN_RESOURCE            0x00000011
-#define CM_PROB_REINSTALL                   0x00000012
-#define CM_PROB_REGISTRY                    0x00000013
-#define CM_PROB_VXDLDR                      0x00000014
-#define CM_PROB_WILL_BE_REMOVED             0x00000015
-#define CM_PROB_DISABLED                    0x00000016
-#define CM_PROB_DEVLOADER_NOT_READY         0x00000017
-#define CM_PROB_DEVICE_NOT_THERE            0x00000018
-#define CM_PROB_MOVED                       0x00000019
-#define CM_PROB_TOO_EARLY                   0x0000001A
-#define CM_PROB_NO_VALID_LOG_CONF           0x0000001B
-#define CM_PROB_FAILED_INSTALL              0x0000001C
-#define CM_PROB_HARDWARE_DISABLED           0x0000001D
-#define CM_PROB_CANT_SHARE_IRQ              0x0000001E
-#define CM_PROB_FAILED_ADD                  0x0000001F
-#define CM_PROB_DISABLED_SERVICE          	0x00000020
-#define CM_PROB_TRANSLATION_FAILED        	0x00000021
-#define CM_PROB_NO_SOFTCONFIG             	0x00000022
-#define CM_PROB_BIOS_TABLE                	0x00000023
-#define CM_PROB_IRQ_TRANSLATION_FAILED    	0x00000024
-#define CM_PROB_FAILED_DRIVER_ENTRY       	0x00000025
-#define CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD	0x00000026
-#define CM_PROB_DRIVER_FAILED_LOAD          0x00000027
-#define CM_PROB_DRIVER_SERVICE_KEY_INVALID  0x00000028
-#define CM_PROB_LEGACY_SERVICE_NO_DEVICES   0x00000029
-#define CM_PROB_DUPLICATE_DEVICE            0x0000002A
-#define CM_PROB_FAILED_POST_START           0x0000002B
-#define CM_PROB_HALTED                      0x0000002C
-#define CM_PROB_PHANTOM                     0x0000002D
-#define CM_PROB_SYSTEM_SHUTDOWN             0x0000002E
-#define CM_PROB_HELD_FOR_EJECT              0x0000002F
-#define CM_PROB_DRIVER_BLOCKED              0x00000030
-#define CM_PROB_REGISTRY_TOO_LARGE        	0x00000031
-
-#define LCPRI_FORCECONFIG                 0x00000000
-#define LCPRI_BOOTCONFIG                  0x00000001
-#define LCPRI_DESIRED                     0x00002000
-#define LCPRI_NORMAL                      0x00003000
-#define LCPRI_LASTBESTCONFIG              0x00003FFF
-#define LCPRI_SUBOPTIMAL                  0x00005000
-#define LCPRI_LASTSOFTCONFIG              0x00007FFF
-#define LCPRI_RESTART                     0x00008000
-#define LCPRI_REBOOT                      0x00009000
-#define LCPRI_POWEROFF                    0x0000A000
-#define LCPRI_HARDRECONFIG                0x0000C000
-#define LCPRI_HARDWIRED                   0x0000E000
-#define LCPRI_IMPOSSIBLE                  0x0000F000
-#define LCPRI_DISABLED                    0x0000FFFF
-#define MAX_LCPRI                         0x0000FFFF
-
-#define DN_ROOT_ENUMERATED	0x00000001	/* Was enumerated by ROOT */
-#define DN_DRIVER_LOADED	0x00000002	/* Has Register_Device_Driver */
-#define DN_ENUM_LOADED		0x00000004	/* Has Register_Enumerator */
-#define DN_STARTED		0x00000008	/* Is currently configured */
-#define DN_MANUAL		0x00000010	/* Manually installed */
-#define DN_NEED_TO_ENUM		0x00000020	/* May need reenumeration */
-#define DN_NOT_FIRST_TIME	0x00000040	/* Has received a config */
-#define DN_HARDWARE_ENUM	0x00000080	/* Enum generates hardware ID */
-#define DN_LIAR			0x00000100	/* Lied about can reconfig once */
-#define DN_HAS_MARK		0x00000200	/* Not CM_Create_DevNode lately */
-#define DN_HAS_PROBLEM		0x00000400	/* Need device installer */
-#define DN_FILTERED		0x00000800	/* Is filtered */
-#define DN_MOVED		0x00001000	/* Has been moved */
-#define DN_DISABLEABLE		0x00002000	/* Can be rebalanced */
-#define DN_REMOVABLE		0x00004000	/* Can be removed */
-#define DN_PRIVATE_PROBLEM	0x00008000	/* Has a private problem */
-#define DN_MF_PARENT		0x00010000	/* Multi function parent */
-#define DN_MF_CHILD		0x00020000	/* Multi function child */
-#define DN_WILL_BE_REMOVED	0x00040000	/* Devnode is being removed */
-
-typedef enum _PNP_VETO_TYPE {
-  PNP_VetoTypeUnknown,
-  PNP_VetoLegacyDevice,
-  PNP_VetoPendingClose,
-  PNP_VetoWindowsApp,
-  PNP_VetoWindowsService,
-  PNP_VetoOutstandingOpen,
-  PNP_VetoDevice,
-  PNP_VetoDriver,
-  PNP_VetoIllegalDeviceRequest,
-  PNP_VetoInsufficientPower,
-  PNP_VetoNonDisableable,
-  PNP_VetoLegacyDriver
-} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFG_H */
Index: Daodan/MinGW/include/ddk/cfgmgr32.h
===================================================================
--- Daodan/MinGW/include/ddk/cfgmgr32.h	(revision 1046)
+++ 	(revision )
@@ -1,1533 +1,0 @@
-/*
- * cfgmgr32.h
- *
- * PnP configuration manager
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __CFGMGR32_H
-#define __CFGMGR32_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_CFGMGR32_)
-#define CMAPI DECLSPEC_EXPORT
-#else
-#define CMAPI DECLSPEC_IMPORT
-#endif
-
-#include "cfg.h"
-
-#include <pshpack1.h>
-
-#define CR_SUCCESS                  			0x00000000
-#define CR_DEFAULT                        0x00000001
-#define CR_OUT_OF_MEMORY                  0x00000002
-#define CR_INVALID_POINTER                0x00000003
-#define CR_INVALID_FLAG                   0x00000004
-#define CR_INVALID_DEVNODE                0x00000005
-#define CR_INVALID_DEVINST          			CR_INVALID_DEVNODE
-#define CR_INVALID_RES_DES                0x00000006
-#define CR_INVALID_LOG_CONF               0x00000007
-#define CR_INVALID_ARBITRATOR             0x00000008
-#define CR_INVALID_NODELIST               0x00000009
-#define CR_DEVNODE_HAS_REQS               0x0000000A
-#define CR_DEVINST_HAS_REQS         			CR_DEVNODE_HAS_REQS
-#define CR_INVALID_RESOURCEID             0x0000000B
-#define CR_DLVXD_NOT_FOUND                0x0000000C
-#define CR_NO_SUCH_DEVNODE                0x0000000D
-#define CR_NO_SUCH_DEVINST          			CR_NO_SUCH_DEVNODE
-#define CR_NO_MORE_LOG_CONF               0x0000000E
-#define CR_NO_MORE_RES_DES                0x0000000F
-#define CR_ALREADY_SUCH_DEVNODE           0x00000010
-#define CR_ALREADY_SUCH_DEVINST     			CR_ALREADY_SUCH_DEVNODE
-#define CR_INVALID_RANGE_LIST             0x00000011
-#define CR_INVALID_RANGE                  0x00000012
-#define CR_FAILURE                        0x00000013
-#define CR_NO_SUCH_LOGICAL_DEV            0x00000014
-#define CR_CREATE_BLOCKED                 0x00000015
-#define CR_NOT_SYSTEM_VM                  0x00000016
-#define CR_REMOVE_VETOED                  0x00000017
-#define CR_APM_VETOED                     0x00000018
-#define CR_INVALID_LOAD_TYPE              0x00000019
-#define CR_BUFFER_SMALL                   0x0000001A
-#define CR_NO_ARBITRATOR                  0x0000001B
-#define CR_NO_REGISTRY_HANDLE             0x0000001C
-#define CR_REGISTRY_ERROR                 0x0000001D
-#define CR_INVALID_DEVICE_ID              0x0000001E
-#define CR_INVALID_DATA                   0x0000001F
-#define CR_INVALID_API                    0x00000020
-#define CR_DEVLOADER_NOT_READY            0x00000021
-#define CR_NEED_RESTART                   0x00000022
-#define CR_NO_MORE_HW_PROFILES            0x00000023
-#define CR_DEVICE_NOT_THERE               0x00000024
-#define CR_NO_SUCH_VALUE                  0x00000025
-#define CR_WRONG_TYPE                     0x00000026
-#define CR_INVALID_PRIORITY               0x00000027
-#define CR_NOT_DISABLEABLE                0x00000028
-#define CR_FREE_RESOURCES                 0x00000029
-#define CR_QUERY_VETOED                   0x0000002A
-#define CR_CANT_SHARE_IRQ                 0x0000002B
-#define CR_NO_DEPENDENT                   0x0000002C
-#define CR_SAME_RESOURCES                 0x0000002D
-#define CR_NO_SUCH_REGISTRY_KEY           0x0000002E
-#define CR_INVALID_MACHINENAME            0x0000002F
-#define CR_REMOTE_COMM_FAILURE            0x00000030
-#define CR_MACHINE_UNAVAILABLE            0x00000031
-#define CR_NO_CM_SERVICES                 0x00000032
-#define CR_ACCESS_DENIED                  0x00000033
-#define CR_CALL_NOT_IMPLEMENTED           0x00000034
-#define CR_INVALID_PROPERTY               0x00000035
-#define CR_DEVICE_INTERFACE_ACTIVE        0x00000036
-#define CR_NO_SUCH_DEVICE_INTERFACE       0x00000037
-#define CR_INVALID_REFERENCE_STRING       0x00000038
-#define CR_INVALID_CONFLICT_LIST          0x00000039
-#define CR_INVALID_INDEX                  0x0000003A
-#define CR_INVALID_STRUCTURE_SIZE         0x0000003B
-
-
-typedef DWORD RETURN_TYPE;
-typedef RETURN_TYPE	CONFIGRET;
-
-typedef HANDLE HMACHINE;
-typedef HMACHINE *PHMACHINE;
-
-typedef DWORD_PTR RES_DES;
-typedef RES_DES *PRES_DES;
-
-typedef DWORD_PTR RANGE_ELEMENT;
-typedef RANGE_ELEMENT *PRANGE_ELEMENT;
-
-typedef ULONG_PTR CONFLICT_LIST;
-typedef CONFLICT_LIST *PCONFLICT_LIST;
-
-typedef DWORD_PTR LOG_CONF;
-typedef LOG_CONF *PLOG_CONF;
-
-typedef ULONG PRIORITY;
-typedef PRIORITY *PPRIORITY;
-
-typedef DWORD_PTR RANGE_LIST;
-typedef RANGE_LIST *PRANGE_LIST;
-
-typedef DWORD DEVNODE, DEVINST;
-typedef DEVNODE *PDEVNODE, *PDEVINST;
-
-typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
-typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
-
-#ifdef UNICODE
-typedef DEVNODEID_W DEVNODEID;
-typedef DEVINSTID_W DEVINSTID;
-#else
-typedef DEVNODEID_A DEVNODEID;
-typedef DEVINSTID_A DEVINSTID;
-#endif
-
-typedef ULONG REGDISPOSITION;
-
-typedef ULONG RESOURCEID;
-typedef RESOURCEID *PRESOURCEID;
-
-#define CM_RESDES_WIDTH_DEFAULT 					0x00000000
-#define CM_RESDES_WIDTH_32      					0x00000001
-#define CM_RESDES_WIDTH_64      					0x00000002
-#define CM_RESDES_WIDTH_BITS    					0x00000003
-
-
-#define MAX_CONFIG_VALUE      						9999
-#define MAX_INSTANCE_VALUE    						9999
-
-#define MAX_DEVICE_ID_LEN     						200
-#define MAX_DEVNODE_ID_LEN    						MAX_DEVICE_ID_LEN
-
-#define MAX_CLASS_NAME_LEN    						32
-#define MAX_GUID_STRING_LEN   						39
-#define MAX_PROFILE_LEN       						80
-
-
-#define ResType_All                       0x00000000
-#define ResType_None                      0x00000000
-#define ResType_Mem                       0x00000001
-#define ResType_IO                        0x00000002
-#define ResType_DMA                       0x00000003
-#define ResType_IRQ                       0x00000004
-#define ResType_DoNotUse                  0x00000005
-#define ResType_BusNumber                 0x00000006
-#define ResType_MAX                       0x00000006
-#define ResType_Ignored_Bit               0x00008000
-#define ResType_ClassSpecific             0x0000FFFF
-#define ResType_Reserved                  0x00008000
-#define ResType_DevicePrivate             0x00008001
-#define ResType_PcCardConfig              0x00008002
-#define ResType_MfCardConfig              0x00008003
-
-#define CM_GETIDLIST_FILTER_NONE          		0x00000000
-#define CM_GETIDLIST_FILTER_ENUMERATOR        0x00000001
-#define CM_GETIDLIST_FILTER_SERVICE           0x00000002
-#define CM_GETIDLIST_FILTER_EJECTRELATIONS    0x00000004
-#define CM_GETIDLIST_FILTER_REMOVALRELATIONS  0x00000008
-#define CM_GETIDLIST_FILTER_POWERRELATIONS    0x00000010
-#define CM_GETIDLIST_FILTER_BUSRELATIONS      0x00000020
-#define CM_GETIDLIST_DONOTGENERATE            0x10000040
-#define CM_GETIDLIST_FILTER_BITS              0x1000007F
-
-#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT     	0x00000000
-#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 	0x00000001
-#define CM_GET_DEVICE_INTERFACE_LIST_BITS        	0x00000001
-
-
-typedef struct BusNumber_Des_s {
-  DWORD  BUSD_Count;
-  DWORD  BUSD_Type;
-  DWORD  BUSD_Flags;
-  ULONG  BUSD_Alloc_Base;
-  ULONG  BUSD_Alloc_End;
-} BUSNUMBER_DES, *PBUSNUMBER_DES;
-
-typedef struct BusNumber_Range_s {
-  ULONG  BUSR_Min;
-  ULONG  BUSR_Max;
-  ULONG  BUSR_nBusNumbers;
-  ULONG  BUSR_Flags;
-} BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
-
-#define BusNumberType_Range sizeof(BUSNUMBER_RANGE)
-
-typedef struct BusNumber_Resource_s {
-  BUSNUMBER_DES  BusNumber_Header;
-  BUSNUMBER_RANGE  BusNumber_Data[ANYSIZE_ARRAY];
-} BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
-
-typedef struct CS_Des_s {
-  DWORD  CSD_SignatureLength;
-  DWORD  CSD_LegacyDataOffset;
-  DWORD  CSD_LegacyDataSize;
-  DWORD  CSD_Flags;
-  GUID  CSD_ClassGuid;
-  BYTE  CSD_Signature[ANYSIZE_ARRAY];
-} CS_DES, *PCS_DES;
-
-typedef struct CS_Resource_s {
-  CS_DES  CS_Header;
-} CS_RESOURCE, *PCS_RESOURCE;
-
-typedef struct DevPrivate_Des_s {
-  DWORD  PD_Count;
-  DWORD  PD_Type;
-  DWORD  PD_Data1;
-  DWORD  PD_Data2;
-  DWORD  PD_Data3;
-  DWORD  PD_Flags;
-} DEVPRIVATE_DES, *PDEVPRIVATE_DES;
-
-typedef struct DevPrivate_Range_s {
-	DWORD  PR_Data1;
-	DWORD  PR_Data2;
-	DWORD  PR_Data3;
-} DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE;
-
-#define PType_Range sizeof(DEVPRIVATE_RANGE)
-
-typedef struct DevPrivate_Resource_s {
-  DEVPRIVATE_DES  PRV_Header;
-  DEVPRIVATE_RANGE  PRV_Data[ANYSIZE_ARRAY];
-} DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE;
-
-/* DMA_DES.DD_Flags constants and masks */
-#define mDD_Width         								0x3
-#define fDD_BYTE          								0x0
-#define fDD_WORD          								0x1
-#define fDD_DWORD         								0x2
-#define fDD_BYTE_AND_WORD 								0x3
-
-#define mDD_BusMaster     								0x4
-#define fDD_NoBusMaster   								0x0
-#define fDD_BusMaster     								0x4
-
-#define mDD_Type         									0x18
-#define fDD_TypeStandard 									0x00
-#define fDD_TypeA        									0x08
-#define fDD_TypeB        									0x10
-#define fDD_TypeF        									0x18
-
-typedef struct DMA_Des_s {
-  DWORD  DD_Count;
-  DWORD  DD_Type;
-  DWORD  DD_Flags;
-  ULONG  DD_Alloc_Chan;
-} DMA_DES, *PDMA_DES;
-
-typedef struct DMA_Range_s {
-  ULONG  DR_Min;
-  ULONG  DR_Max;
-  ULONG  DR_Flags;
-} DMA_RANGE, *PDMA_RANGE;
-
-#define DType_Range sizeof(DMA_RANGE)
-
-typedef struct DMA_Resource_s {
-  DMA_DES  DMA_Header;
-  DMA_RANGE  DMA_Data[ANYSIZE_ARRAY];
-} DMA_RESOURCE, *PDMA_RESOURCE;
-
-/* IO_DES.Type constants and masks */
-#define fIOD_PortType   									0x1
-#define fIOD_Memory     									0x0
-#define fIOD_IO         									0x1
-#define fIOD_DECODE     									0x00fc
-#define fIOD_10_BIT_DECODE    						0x0004
-#define fIOD_12_BIT_DECODE    						0x0008
-#define fIOD_16_BIT_DECODE    						0x0010
-#define fIOD_POSITIVE_DECODE  						0x0020
-#define fIOD_PASSIVE_DECODE   						0x0040
-#define fIOD_WINDOW_DECODE    						0x0080
-
-typedef struct IO_Des_s {
-  DWORD  IOD_Count;
-  DWORD  IOD_Type;
-  DWORDLONG  IOD_Alloc_Base;
-  DWORDLONG  IOD_Alloc_End;
-  DWORD  IOD_DesFlags;
-} IO_DES, *PIO_DES;
-
-/* IO_RANGE.IOR_Alias constants */
-#define IO_ALIAS_10_BIT_DECODE      			0x00000004
-#define IO_ALIAS_12_BIT_DECODE      			0x00000010
-#define IO_ALIAS_16_BIT_DECODE      			0x00000000
-#define IO_ALIAS_POSITIVE_DECODE    			0x000000FF
-
-typedef struct IO_Range_s {
-  DWORDLONG  IOR_Align;
-  DWORD  IOR_nPorts;
-  DWORDLONG  IOR_Min;
-  DWORDLONG  IOR_Max;
-  DWORD  IOR_RangeFlags;
-  DWORDLONG  IOR_Alias;
-} IO_RANGE, *PIO_RANGE;
-
-#define IOType_Range sizeof(IO_RANGE)
-
-typedef struct IO_Resource_s {
-  IO_DES  IO_Header;
-  IO_RANGE  IO_Data[ANYSIZE_ARRAY];
-} IO_RESOURCE, *PIO_RESOURCE;
-
-/* IRQ_DES.IRQD_flags constants */
-#define mIRQD_Share        								0x1
-#define fIRQD_Exclusive    								0x0
-#define fIRQD_Share        								0x1
-
-#define fIRQD_Share_Bit    								0
-#define fIRQD_Level_Bit    							  1
-
-#define mIRQD_Edge_Level   								0x2
-#define fIRQD_Level        								0x0
-#define fIRQD_Edge         								0x2
-
-typedef struct IRQ_Des_32_s {
-  DWORD  IRQD_Count;
-  DWORD  IRQD_Type;
-  DWORD  IRQD_Flags;
-  ULONG  IRQD_Alloc_Num;
-  ULONG32  IRQD_Affinity;
-} IRQ_DES_32, *PIRQ_DES_32;
-
-typedef struct IRQ_Des_64_s {
-  DWORD  IRQD_Count;
-  DWORD  IRQD_Type;
-  DWORD  IRQD_Flags;
-  ULONG  IRQD_Alloc_Num;
-  ULONG64  IRQD_Affinity;
-} IRQ_DES_64, *PIRQ_DES_64;
-
-#ifdef _WIN64
-typedef IRQ_DES_64 IRQ_DES;
-typedef PIRQ_DES_64 PIRQ_DES;
-#else
-typedef IRQ_DES_32 IRQ_DES;
-typedef PIRQ_DES_32 PIRQ_DES;
-#endif
-
-typedef struct IRQ_Range_s {
-  ULONG  IRQR_Min;
-  ULONG  IRQR_Max;
-  ULONG  IRQR_Flags;
-} IRQ_RANGE, *PIRQ_RANGE;
-
-#define IRQType_Range sizeof(IRQ_RANGE)
-
-typedef struct IRQ_Resource_s {
-  IRQ_DES  IRQ_Header;
-  IRQ_RANGE  IRQ_Data[ANYSIZE_ARRAY];
-} IRQ_RESOURCE, *PIRQ_RESOURCE;
-
-/* MEM_DES.MD_Flags constants */
-#define mMD_MemoryType              0x1
-#define fMD_MemoryType              mMD_MemoryType
-#define fMD_ROM                     0x0
-#define fMD_RAM                     0x1
-
-#define mMD_32_24                   0x2
-#define fMD_32_24                   mMD_32_24
-#define fMD_24                      0x0
-#define fMD_32                      0x2
-
-#define mMD_Prefetchable            0x4
-#define fMD_Prefetchable            mMD_Prefetchable
-#define fMD_Pref                    mMD_Prefetchable
-#define fMD_PrefetchDisallowed      0x0
-#define fMD_PrefetchAllowed         0x4
-
-#define mMD_Readable                0x8
-#define fMD_Readable                mMD_Readable
-#define fMD_ReadAllowed             0x0
-#define fMD_ReadDisallowed          0x8
-
-#define mMD_CombinedWrite           0x10
-#define fMD_CombinedWrite           mMD_CombinedWrite
-#define fMD_CombinedWriteDisallowed 0x0
-#define fMD_CombinedWriteAllowed    0x10
-
-#define mMD_Cacheable               0x20
-#define fMD_NonCacheable            0x0
-#define fMD_Cacheable               0x20
-
-typedef struct Mem_Des_s {
-  DWORD  MD_Count;
-  DWORD  MD_Type;
-  DWORDLONG  MD_Alloc_Base;
-  DWORDLONG  MD_Alloc_End;
-  DWORD  MD_Flags;
-  DWORD  MD_Reserved;
-} MEM_DES, *PMEM_DES;
-
-typedef struct Mem_Range_s {
-  DWORDLONG  MR_Align;
-  ULONG  MR_nBytes;
-  DWORDLONG  MR_Min;
-  DWORDLONG  MR_Max;
-  DWORD  MR_Flags;
-  DWORD  MR_Reserved;
-} MEM_RANGE, *PMEM_RANGE;
-
-#define MType_Range sizeof(MEM_RANGE)
-
-typedef struct Mem_Resource_s {
-  MEM_DES  MEM_Header;
-  MEM_RANGE  MEM_Data[ANYSIZE_ARRAY];
-} MEM_RESOURCE, *PMEM_RESOURCE;
-
-/* MFCARD_DES.PMF_Flags constants */
-#define fPMF_AUDIO_ENABLE   							0x8
-#define mPMF_AUDIO_ENABLE   							fPMF_AUDIO_ENABLE
-
-typedef struct MfCard_Des_s {
-  DWORD  PMF_Count;
-  DWORD  PMF_Type;
-  DWORD  PMF_Flags;
-  BYTE  PMF_ConfigOptions;
-  BYTE  PMF_IoResourceIndex;
-  BYTE  PMF_Reserved[2];
-  DWORD  PMF_ConfigRegisterBase;
-} MFCARD_DES, *PMFCARD_DES;
-
-typedef struct MfCard_Resource_s {
-  MFCARD_DES  MfCard_Header;
-} MFCARD_RESOURCE, *PMFCARD_RESOURCE;
-
-/* PCCARD_DES.PCD_Flags constants */
-
-typedef struct PcCard_Des_s {
-  DWORD  PCD_Count;
-  DWORD  PCD_Type;
-  DWORD  PCD_Flags;
-  BYTE  PCD_ConfigIndex;
-  BYTE  PCD_Reserved[3];
-  DWORD  PCD_MemoryCardBase1;
-  DWORD  PCD_MemoryCardBase2;
-} PCCARD_DES, *PPCCARD_DES;
-
-#define mPCD_IO_8_16        							0x1
-#define fPCD_IO_8           							0x0
-#define fPCD_IO_16          							0x1
-#define mPCD_MEM_8_16       							0x2
-#define fPCD_MEM_8          							0x0
-#define fPCD_MEM_16         							0x2
-#define mPCD_MEM_A_C        							0xC
-#define fPCD_MEM1_A         							0x4
-#define fPCD_MEM2_A         							0x8
-#define fPCD_IO_ZW_8        							0x10
-#define fPCD_IO_SRC_16      							0x20
-#define fPCD_IO_WS_16       							0x40
-#define mPCD_MEM_WS         							0x300
-#define fPCD_MEM_WS_ONE     							0x100
-#define fPCD_MEM_WS_TWO     							0x200
-#define fPCD_MEM_WS_THREE   							0x300
-
-#define fPCD_MEM_A          							0x4
-
-#define fPCD_ATTRIBUTES_PER_WINDOW 				0x8000
-
-#define fPCD_IO1_16         							0x00010000
-#define fPCD_IO1_ZW_8       							0x00020000
-#define fPCD_IO1_SRC_16     							0x00040000
-#define fPCD_IO1_WS_16      							0x00080000
-
-#define fPCD_IO2_16         							0x00100000
-#define fPCD_IO2_ZW_8       							0x00200000
-#define fPCD_IO2_SRC_16     							0x00400000
-#define fPCD_IO2_WS_16      							0x00800000
-
-#define mPCD_MEM1_WS        							0x03000000
-#define fPCD_MEM1_WS_ONE    							0x01000000
-#define fPCD_MEM1_WS_TWO    							0x02000000
-#define fPCD_MEM1_WS_THREE  							0x03000000
-#define fPCD_MEM1_16        							0x04000000
-
-#define mPCD_MEM2_WS        							0x30000000
-#define fPCD_MEM2_WS_ONE    							0x10000000
-#define fPCD_MEM2_WS_TWO    							0x20000000
-#define fPCD_MEM2_WS_THREE  							0x30000000
-#define fPCD_MEM2_16        							0x40000000
-
-#define PCD_MAX_MEMORY   									2
-#define PCD_MAX_IO       									2
-
-typedef struct PcCard_Resource_s {
-  PCCARD_DES  PcCard_Header;
-} PCCARD_RESOURCE, *PPCCARD_RESOURCE;
-
-
-/* CONFLICT_DETAILS.CD.ulMask constants */
-#define CM_CDMASK_DEVINST      						0x00000001
-#define CM_CDMASK_RESDES       						0x00000002
-#define CM_CDMASK_FLAGS        						0x00000004
-#define CM_CDMASK_DESCRIPTION  						0x00000008
-#define CM_CDMASK_VALID        					  0x0000000F
-
-/* CONFLICT_DETAILS.CD.ulFlags constants */
-#define CM_CDFLAGS_DRIVER      						0x00000001
-#define CM_CDFLAGS_ROOT_OWNED  						0x00000002
-#define CM_CDFLAGS_RESERVED    						0x00000004
-
-typedef struct _CONFLICT_DETAILS_A {
-  ULONG  CD_ulSize;
-  ULONG  CD_ulMask;
-  DEVINST  CD_dnDevInst;
-  RES_DES  CD_rdResDes;
-  ULONG  CD_ulFlags;
-  CHAR  CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A;
-
-typedef struct _CONFLICT_DETAILS_W {
-  ULONG  CD_ulSize;
-  ULONG  CD_ulMask;
-  DEVINST  CD_dnDevInst;
-  RES_DES  CD_rdResDes;
-  ULONG  CD_ulFlags;
-  WCHAR  CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W;
-
-#ifdef UNICODE
-typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
-#else
-typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
-#endif
-
-
-
-/* CM_Add_Empty_Log_Conf.ulFlags constants */
-#define PRIORITY_EQUAL_FIRST  						0x00000008
-#define PRIORITY_EQUAL_LAST   						0x00000000
-#define PRIORITY_BIT          						0x00000008
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf(
-  /*OUT*/ PLOG_CONF  plcLogConf,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PRIORITY  Priority,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf_Ex(
-  /*OUT*/ PLOG_CONF  plcLogConf,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PRIORITY  Priority,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* CM_Add_ID.ulFlags constants */
-#define CM_ADD_ID_HARDWARE              	0x00000000
-#define CM_ADD_ID_COMPATIBLE              0x00000001
-#define CM_ADD_ID_BITS                    0x00000001
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PSTR  pszID,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PSTR  pszID,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PWSTR  pszID,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ PWSTR  pszID,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-#ifdef UNICODE
-#define CM_Add_ID CM_Add_IDW
-#define CM_Add_ID_Ex CM_Add_ID_ExW
-#else
-#define CM_Add_ID CM_Add_IDA
-#define CM_Add_ID_Ex CM_Add_ID_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Add_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*IN*/ RESOURCEID  ResourceID,
-  /*IN*/ PCVOID  ResourceData,
-  /*IN*/ ULONG  ResourceLen,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des_Ex(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*IN*/ RESOURCEID  ResourceID,
-  /*IN*/ PCVOID  ResourceData,
-  /*IN*/ ULONG  ResourceLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineA(
-  /*IN*/ PCSTR  UNCServerName,
-  /*OUT*/ PHMACHINE  phMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineW(
-  /*IN*/ PCWSTR  UNCServerName,
-  /*OUT*/ PHMACHINE  phMachine);
-
-#ifdef UNICODE
-#define CM_Connect_Machine CM_Connect_MachineW
-#else
-#define CM_Connect_Machine CM_Connect_MachineA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Create_DevNode */
-/* FIXME: Obsolete CM_Create_DevNodeEx */
-/* FIXME: Obsolete CM_Create_Range_List */
-/* FIXME: Obsolete CM_Delete_Class_Key */
-/* FIXME: Obsolete CM_Delete_Class_Key_Ex */
-/* FIXME: Obsolete CM_Delete_DevNode_Key */
-/* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */
-/* FIXME: Obsolete CM_Delete_Range */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */
-/* FIXME: Obsolete CM_Disable_DevNode */
-/* FIXME: Obsolete CM_Disable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Disconnect_Machine(
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Enable_DevNode */
-/* FIXME: Obsolete CM_Enable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes(
-  /*IN*/ ULONG  ulClassIndex,
-  /*OUT*/ LPGUID  ClassGuid,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes_Ex(
-  /*IN*/ ULONG  ulClassIndex,
-  /*OUT*/ LPGUID  ClassGuid,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsA(
-  /*IN*/ ULONG  ulEnumIndex,
-  /*OUT*/ PCHAR  Buffer,
-  /*IN OUT*/ PULONG  pulLength,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExA(
-  /*IN*/ ULONG  ulEnumIndex,
-  /*OUT*/ PCHAR  Buffer,
-  /*IN OUT*/ PULONG  pulLength,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExW(
-  /*IN*/ ULONG  ulEnumIndex,
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN OUT*/ PULONG  pulLength,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsW(
-  /*IN*/ ULONG  ulEnumIndex,
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN OUT*/ PULONG  pulLength,
-  /*IN*/ ULONG  ulFlags);
-
-#ifdef UNICODE
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#else
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Find_Range */
-/* FIXME: Obsolete CM_First_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf(
-  /*IN*/ LOG_CONF  lcLogConfToBeFreed,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Ex(
-  /*IN*/ LOG_CONF  lcLogConfToBeFreed,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Handle(
-  /*IN*/ LOG_CONF  lcLogConf);
-
-/* FIXME: Obsolete CM_Free_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Ex(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Handle(
-  /*IN*/ RES_DES  rdResDes);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Resource_Conflict_Handle(
-  /*IN*/ CONFLICT_LIST  clConflictList);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child_Ex(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Get_Class_Name */
-/* FIXME: Obsolete CM_Get_Class_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Key_Name */
-/* FIXME: Obsolete CM_Get_Class_Key_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth(
-  /*OUT*/ PULONG  pulDepth,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth_Ex(
-  /*OUT*/ PULONG  pulDepth,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID CM_Get_Device_IDW
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#else
-#define CM_Get_Device_ID CM_Get_Device_IDA
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListA(
-  /*IN*/ PCSTR  pszFilter, /*OPTIONAL*/
-  /*OUT*/ PCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExA(
-  /*IN*/ PCSTR  pszFilter, /*OPTIONAL*/
-  /*OUT*/ PCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExW(
-  /*IN*/ PCWSTR  pszFilter, /*OPTIONAL*/
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListW(
-  /*IN*/ PCWSTR  pszFilter, /*OPTIONAL*/
-  /*OUT*/ PWCHAR  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
-#else
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeA(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ PCSTR  pszFilter, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExA(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ PCSTR  pszFilter, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExW(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ PCWSTR  pszFilter, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeW(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ PCWSTR  pszFilter, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
-#else
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size_Ex(
-  /*OUT*/ PULONG  pulLen,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias */
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status(
-  /*OUT*/ PULONG  pulStatus,
-  /*OUT*/ PULONG  pulProblemNumber,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status_Ex(
-  /*OUT*/ PULONG  pulStatus,
-  /*OUT*/ PULONG  pulProblemNumber,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-#define CM_Get_DevInst_Status CM_Get_DevNode_Status
-#define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
-
-/* CM_Get_First_Log_Conf.ulFlags constants */
-#define BASIC_LOG_CONF    0x00000000  /* Specifies the req list. */
-#define FILTERED_LOG_CONF 0x00000001  /* Specifies the filtered req list. */
-#define ALLOC_LOG_CONF    0x00000002  /* Specifies the Alloc Element. */
-#define BOOT_LOG_CONF     0x00000003  /* Specifies the RM Alloc Element. */
-#define FORCED_LOG_CONF   0x00000004  /* Specifies the Forced Log Conf */
-#define OVERRIDE_LOG_CONF 0x00000005  /* Specifies the Override req list. */
-#define NUM_LOG_CONF      0x00000006  /* Number of Log Conf type */
-#define LOG_CONF_BITS     0x00000007  /* The bits of the log conf type. */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf(
-  /*OUT*/ PLOG_CONF  plcLogConf, /*OPTIONAL*/
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf_Ex(
-  /*OUT*/ PLOG_CONF  plcLogConf, /*OPTIONAL*/
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Get_Global_State */
-/* FIXME: Obsolete CM_Get_Global_State_Ex */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info_Ex */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority(
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*OUT*/ PPRIORITY  pPriority,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority_Ex(
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*OUT*/ PPRIORITY  pPriority,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf(
-  /*OUT*/ PLOG_CONF  plcLogConf, /*OPTIONAL*/
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf_Ex(
-  /*OUT*/ PLOG_CONF  plcLogConf, /*OPTIONAL*/
-  /*IN*/ LOG_CONF  lcLogConf,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ RESOURCEID  ForResource,
-  /*OUT*/ PRESOURCEID  pResourceID,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des_Ex(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ RESOURCEID  ForResource,
-  /*OUT*/ PRESOURCEID  pResourceID,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent_Ex(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data(
-  /*IN*/ RES_DES  rdResDes,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Ex(
-  /*IN*/ RES_DES  rdResDes,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size(
-  /*OUT*/ PULONG  pulSize,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size_Ex(
-  /*OUT*/ PULONG  pulSize,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_Count(
-  /*IN*/ CONFLICT_LIST  clConflictList,
-  /*OUT*/ PULONG  pulCount);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsA(
-  /*IN*/ CONFLICT_LIST  clConflictList,
-  /*IN*/ ULONG  ulIndex,
-  /*IN OUT*/ PCONFLICT_DETAILS_A  pConflictDetails);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsW(
-  /*IN*/ CONFLICT_LIST  clConflictList,
-  /*IN*/ ULONG  ulIndex,
-  /*IN OUT*/ PCONFLICT_DETAILS_W  pConflictDetails);
-
-#ifdef UNICODE
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
-#else
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  DevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling_Ex(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINST  DevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version(
-  VOID);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version_Ex(
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Intersect_Range_List */
-/* FIXME: Obsolete CM_Invert_Range_List */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present_Ex */
-
-/* CM_Locate_DevNode.ulFlags constants */
-#define CM_LOCATE_DEVNODE_NORMAL       		0x00000000
-#define CM_LOCATE_DEVNODE_PHANTOM      		0x00000001
-#define CM_LOCATE_DEVNODE_CANCELREMOVE 		0x00000002
-#define CM_LOCATE_DEVNODE_NOVALIDATION 		0x00000004
-#define CM_LOCATE_DEVNODE_BITS         		0x00000007
-
-#define CM_LOCATE_DEVINST_NORMAL       		CM_LOCATE_DEVNODE_NORMAL
-#define CM_LOCATE_DEVINST_PHANTOM      		CM_LOCATE_DEVNODE_PHANTOM
-#define CM_LOCATE_DEVINST_CANCELREMOVE 		CM_LOCATE_DEVNODE_CANCELREMOVE
-#define CM_LOCATE_DEVINST_NOVALIDATION 		CM_LOCATE_DEVNODE_NOVALIDATION
-#define CM_LOCATE_DEVINST_BITS         		CM_LOCATE_DEVNODE_BITS
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeA(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINSTID_A  pDeviceID, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExA(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINSTID_A  pDeviceID, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExW(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINSTID_W  pDeviceID, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeW(
-  /*OUT*/ PDEVINST  pdnDevInst,
-  /*IN*/ DEVINSTID_W  pDeviceID, /*OPTIONAL*/
-  /*IN*/ ULONG  ulFlags);
-
-#define CM_Locate_DevInstA CM_Locate_DevNodeA
-#define CM_Locate_DevInstW CM_Locate_DevNodeW
-#define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
-
-#ifdef UNICODE
-#define CM_Locate_DevNode CM_Locate_DevNodeW
-#define CM_Locate_DevInst CM_Locate_DevNodeW
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
-#else
-#define CM_Locate_DevNode CM_Locate_DevNodeA
-#define CM_Locate_DevInst CM_Locate_DevNodeA
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Merge_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ RESOURCEID  ResourceID,
-  /*IN*/ PCVOID  ResourceData,
-  /*IN*/ ULONG  ResourceLen,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des_Ex(
-  /*OUT*/ PRES_DES  prdResDes,
-  /*IN*/ RES_DES  rdResDes,
-  /*IN*/ RESOURCEID  ResourceID,
-  /*IN*/ PCVOID  ResourceData,
-  /*IN*/ ULONG  ResourceLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* FIXME: Obsolete CM_Move_DevNode */
-/* FIXME: Obsolete CM_Move_DevNode_Ex */
-/* FIXME: Obsolete CM_Next_Range */
-/* FIXME: Obsolete CM_Open_Class_Key */
-/* FIXME: Obsolete CM_Open_Class_Key_Ex */
-/* FIXME: Obsolete CM_Open_DevNode_Key */
-/* FIXME: Obsolete CM_Open_DevNode_Key_Ex */
-
-/* CM_Query_And_Remove_SubTree.ulFlags constants */
-#define CM_REMOVE_UI_OK             			0x00000000
-#define CM_REMOVE_UI_NOT_OK         			0x00000001
-#define CM_REMOVE_NO_RESTART        			0x00000002
-#define CM_REMOVE_BITS              			0x00000003
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeA(
-  /*IN*/ DEVINST dnAncestor,
-  /*OUT*/ PPNP_VETO_TYPE pVetoType,
-  /*OUT*/ LPSTR pszVetoName,
-  /*IN*/ ULONG ulNameLength,
-  /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeW(
-  /*IN*/ DEVINST dnAncestor,
-  /*OUT*/ PPNP_VETO_TYPE pVetoType,
-  /*OUT*/ LPWSTR pszVetoName,
-  /*IN*/ ULONG ulNameLength,
-  /*IN*/ ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExA(
-  /*IN*/ DEVINST dnAncestor,
-  /*OUT*/ PPNP_VETO_TYPE pVetoType,
-  /*OUT*/ LPSTR pszVetoName,
-  /*IN*/ ULONG ulNameLength,
-  /*IN*/ ULONG ulFlags,
-  /*IN*/ HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExW(
-  /*IN*/ DEVINST dnAncestor,
-  /*OUT*/ PPNP_VETO_TYPE pVetoType,
-  /*OUT*/ LPWSTR pszVetoName,
-  /*IN*/ ULONG ulNameLength,
-  /*IN*/ ULONG ulFlags,
-  /*IN*/ HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Remove_SubTree */
-/* FIXME: Obsolete CM_Query_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_Resource_Conflict_List(
-  /*OUT*/ PCONFLICT_LIST  pclConflictList,
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ RESOURCEID  ResourceID,
-  /*IN*/ PCVOID  ResourceData,
-  /*IN*/ ULONG  ResourceLen,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-/* CM_Reenumerate_DevNode.ulFlags constants */
-#define CM_REENUMERATE_NORMAL             0x00000000
-#define CM_REENUMERATE_SYNCHRONOUS        0x00000001
-#define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
-#define CM_REENUMERATE_ASYNCHRONOUS       0x00000004
-#define CM_REENUMERATE_BITS               0x00000007
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode_Ex(
-  /*IN*/ DEVINST  dnDevInst,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-#define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
-#define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
-
-/* FIXME: Obsolete CM_Register_Device_Driver */
-/* FIXME: Obsolete CM_Register_Device_Driver_Ex */
-/* FIXME: Obsolete CM_Register_Device_Interface */
-/* FIXME: Obsolete CM_Register_Device_Interface_Ex */
-/* FIXME: Obsolete CM_Remove_SubTree */
-/* FIXME: Obsolete CM_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PPNP_VETO_TYPE  pVetoType,
-  /*OUT*/ LPSTR  pszVetoName,
-  /*IN*/ ULONG  ulNameLength,
-  /*IN*/ ULONG  ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PPNP_VETO_TYPE  pVetoType,
-  /*OUT*/ LPWSTR  pszVetoName,
-  /*IN*/ ULONG  ulNameLength,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExA(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PPNP_VETO_TYPE  pVetoType,
-  /*OUT*/ LPSTR  pszVetoName,
-  /*IN*/ ULONG  ulNameLength,
-  /*IN*/ ULONG  ulFlags,
-  /*IN*/ HMACHINE  hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectW(
-  /*IN*/ DEVINST  dnDevInst,
-  /*OUT*/ PPNP_VETO_TYPE  pVetoType,
-  /*OUT*/ LPWSTR  pszVetoName,
-  /*IN*/ ULONG  ulNameLength,
-  /*IN*/ ULONG  ulFlags);
-
-#ifdef UNICODE
-#define CM_Request_Device_Eject CM_Request_Device_EjectW
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
-#else
-#define CM_Request_Device_Eject CM_Request_Device_EjectA
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Request_Eject_PC */
-/* FIXME: Obsolete CM_Request_Eject_PC_Ex */
-/* FIXME: Obsolete CM_Run_Detection */
-/* FIXME: Obsolete CM_Run_Detection_Ex */
-/* FIXME: Obsolete CM_Set_Class_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Problem */
-/* FIXME: Obsolete CM_Set_DevNode_Problem_Ex */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof */
-/* FIXME: Obsolete CM_Set_HW_Prof_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */
-/* FIXME: Obsolete CM_Setup_DevNode */
-/* FIXME: Obsolete CM_Setup_DevNode_Ex */
-/* FIXME: Obsolete CM_Test_Range_Available */
-/* FIXME: Obsolete CM_Uninstall_DevNode */
-/* FIXME: Obsolete CM_Uninstall_DevNode_Ex */
-/* FIXME: Obsolete CM_Unregister_Device_Interface */
-/* FIXME: Obsolete CM_Unregister_Device_Interface_Ex */
-
-#define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
-
-CMAPI
-DWORD
-WINAPI
-CMP_WaitNoPendingInstallEvents(
-  /*IN*/ DWORD dwTimeout);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFGMGR32_H */
Index: Daodan/MinGW/include/ddk/d4drvif.h
===================================================================
--- Daodan/MinGW/include/ddk/d4drvif.h	(revision 1046)
+++ 	(revision )
@@ -1,104 +1,0 @@
-/*
- * d4drvif.h
- *
- * DOT4 driver IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __D4DRVIF_H
-#define __D4DRVIF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "d4iface.h"
-
-#define FILE_DEVICE_DOT4                  0x3a
-#define IOCTL_DOT4_USER_BASE              2049
-
-#define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CLOSE_CHANNEL \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CREATE_SOCKET \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 7, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_DESTROY_SOCKET \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 9, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_OPEN_CHANNEL \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 0, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_READ \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 2, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 6, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_FOR_CHANNEL \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 8, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WRITE \
-  CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-
-
-#define MAX_SERVICE_LENGTH                40
-
-typedef struct _DOT4_DC_CREATE_DATA {
-  unsigned char  bPsid;
-  CHAR  pServiceName[MAX_SERVICE_LENGTH + 1];
-  unsigned char  bType;
-  ULONG  ulBufferSize;
-  USHORT  usMaxHtoPPacketSize;
-  USHORT  usMaxPtoHPacketSize;
-  unsigned char bHsid;
-} DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA;
-
-typedef struct _DOT4_DC_DESTROY_DATA {
-    unsigned char  bHsid;
-} DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA;
-
-typedef struct _DOT4_DC_OPEN_DATA {
-  unsigned char  bHsid;
-  unsigned char  fAddActivity;
-  CHANNEL_HANDLE  hChannelHandle;
-} DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA;
-
-typedef struct _DOT4_DRIVER_CMD {
-  CHANNEL_HANDLE  hChannelHandle;
-  ULONG  ulSize;
-  ULONG  ulOffset;
-  ULONG  ulTimeout;
-} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4DRVIF_H */
Index: Daodan/MinGW/include/ddk/d4iface.h
===================================================================
--- Daodan/MinGW/include/ddk/d4iface.h	(revision 1046)
+++ 	(revision )
@@ -1,84 +1,0 @@
-/*
- * d4iface.h
- *
- * DOT4 interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __D4IFACE_H
-#define __D4IFACE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DOT4_MAX_CHANNELS                 128
-#define NO_TIMEOUT                        0
-
-#define DOT4_CHANNEL                      0
-#define HP_MESSAGE_PROCESSOR              1
-#define PRINTER_CHANNEL                   2
-#define SCANNER_CHANNEL                   4
-#define MIO_COMMAND_PROCESSOR             5
-#define ECHO_CHANNEL                      6
-#define FAX_SEND_CHANNEL                  7
-#define FAX_RECV_CHANNEL                  8
-#define DIAGNOSTIC_CHANNEL                9
-#define HP_RESERVED                       10
-#define IMAGE_DOWNLOAD                    11
-#define HOST_DATASTORE_UPLOAD             12
-#define HOST_DATASTORE_DOWNLOAD           13
-#define CONFIG_UPLOAD                     14
-#define CONFIG_DOWNLOAD                   15
-
-#define STREAM_TYPE_CHANNEL               1
-#define PACKET_TYPE_CHANNEL               2
-
-/* DOT4_ACTIVITY.ulMessage flags */
-#define DOT4_STREAM_RECEIVED              0x100
-#define DOT4_STREAM_CREDITS               0x101
-#define DOT4_MESSAGE_RECEIVED             0x102
-#define DOT4_DISCONNECT                   0x103
-#define DOT4_CHANNEL_CLOSED               0x105
-
-typedef unsigned long CHANNEL_HANDLE, *PCHANNEL_HANDLE;
-
-typedef struct _DOT4_ACTIVITY {
-  ULONG  ulMessage;
-  ULONG  ulByteCount;
-  CHANNEL_HANDLE  hChannel;
-} DOT4_ACTIVITY, *PDOT4_ACTIVITY;
-
-typedef struct _DOT4_WMI_XFER_INFO {
-  ULONG  ulStreamBytesWritten;
-  ULONG  ulStreamBytesRead;
-  ULONG  ulPacketBytesWritten;
-  ULONG  ulPacketBytesRead;
-} DOT4_WMI_XFER_INFO, *PDOT4_WMI_XFER_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4IFACE_H */
Index: Daodan/MinGW/include/ddk/ddkmapi.h
===================================================================
--- Daodan/MinGW/include/ddk/ddkmapi.h	(revision 1046)
+++ 	(revision )
@@ -1,334 +1,0 @@
-/*
- * ddkmapi.h
- *
- * DirectDraw support for DxApi function
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __DDKMAPI_H
-#define __DDKMAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_DXAPI_)
-  #define DXAPI DECLSPEC_EXPORT
-#else
-  #define DXAPI DECLSPEC_IMPORT
-#endif
-
-DXAPI
-DWORD
-FAR PASCAL
-DxApi(
-  /*IN*/ DWORD  dwFunctionNum,
-  /*IN*/ LPVOID  lpvInBuffer,
-  /*IN*/ DWORD  cbInBuffer,
-  /*OUT*/ LPVOID  lpvOutBuffer,
-  /*OUT*/ DWORD  cbOutBuffer);
-
-typedef DWORD (FAR PASCAL *LPDXAPI)(
-  DWORD  dwFunctionNum,
-  LPVOID  lpvInBuffer,
-  DWORD  cbInBuffer,
-  LPVOID  lpvOutBuffer,
-  DWORD  cbOutBuffer);
-
-
-#define DXAPI_MAJORVERSION                1
-#define DXAPI_MINORVERSION                0
-
-#define DD_FIRST_DXAPI                    0x500
-
-#define DD_DXAPI_GETVERSIONNUMBER                 (DD_FIRST_DXAPI)
-#define DD_DXAPI_CLOSEHANDLE                      (DD_FIRST_DXAPI+1)
-#define DD_DXAPI_OPENDIRECTDRAW                   (DD_FIRST_DXAPI+2)
-#define DD_DXAPI_OPENSURFACE                      (DD_FIRST_DXAPI+3)
-#define DD_DXAPI_OPENVIDEOPORT                    (DD_FIRST_DXAPI+4)
-#define DD_DXAPI_GETKERNELCAPS                    (DD_FIRST_DXAPI+5)
-#define DD_DXAPI_GET_VP_FIELD_NUMBER              (DD_FIRST_DXAPI+6)
-#define DD_DXAPI_SET_VP_FIELD_NUMBER              (DD_FIRST_DXAPI+7)
-#define DD_DXAPI_SET_VP_SKIP_FIELD                (DD_FIRST_DXAPI+8)
-#define DD_DXAPI_GET_SURFACE_STATE                (DD_FIRST_DXAPI+9)
-#define DD_DXAPI_SET_SURFACE_STATE                (DD_FIRST_DXAPI+10)
-#define DD_DXAPI_LOCK                             (DD_FIRST_DXAPI+11)
-#define DD_DXAPI_FLIP_OVERLAY                     (DD_FIRST_DXAPI+12)
-#define DD_DXAPI_FLIP_VP                          (DD_FIRST_DXAPI+13)
-#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE  (DD_FIRST_DXAPI+14)
-#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE     (DD_FIRST_DXAPI+15)
-#define DD_DXAPI_REGISTER_CALLBACK                (DD_FIRST_DXAPI+16)
-#define DD_DXAPI_UNREGISTER_CALLBACK              (DD_FIRST_DXAPI+17)
-#define DD_DXAPI_GET_POLARITY                     (DD_FIRST_DXAPI+18)
-#define DD_DXAPI_OPENVPCAPTUREDEVICE              (DD_FIRST_DXAPI+19)
-#define DD_DXAPI_ADDVPCAPTUREBUFFER               (DD_FIRST_DXAPI+20)
-#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS            (DD_FIRST_DXAPI+21)
-
-
-typedef struct _DDCAPBUFFINFO {
-  DWORD  dwFieldNumber;
-  DWORD  bPolarity;
-  LARGE_INTEGER  liTimeStamp;
-  DWORD  ddRVal;
-} DDCAPBUFFINFO, FAR * LPDDCAPBUFFINFO;
-
-/* DDADDVPCAPTUREBUFF.dwFlags constants */
-#define DDADDBUFF_SYSTEMMEMORY            0x0001
-#define DDADDBUFF_NONLOCALVIDMEM          0x0002
-#define DDADDBUFF_INVERT                  0x0004
-
-typedef struct _DDADDVPCAPTUREBUFF {
-  HANDLE  hCapture;
-  DWORD  dwFlags;
-  PMDL  pMDL;
-  PKEVENT  pKEvent;
-  LPDDCAPBUFFINFO  lpBuffInfo;
-} DDADDVPCAPTUREBUFF, FAR * LPDDADDVPCAPTUREBUFF;
-
-typedef struct _DDCLOSEHANDLE {
-  HANDLE  hHandle;
-} DDCLOSEHANDLE, FAR *LPDDCLOSEHANDLE;
-
-typedef struct _DDFLIPOVERLAY {
-  HANDLE  hDirectDraw;
-  HANDLE  hCurrentSurface;
-  HANDLE  hTargetSurface;
-  DWORD  dwFlags;
-} DDFLIPOVERLAY, FAR *LPDDFLIPOVERLAY;
-
-typedef struct _DDFLIPVIDEOPORT {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-  HANDLE  hCurrentSurface;
-  HANDLE  hTargetSurface;
-  DWORD  dwFlags;
-} DDFLIPVIDEOPORT, FAR *LPDDFLIPVIDEOPORT;
-
-typedef struct _DDGETAUTOFLIPIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-} DDGETAUTOFLIPIN, FAR *LPDDGETAUTOFLIPIN;
-
-typedef struct _DDGETAUTOFLIPOUT {
-  DWORD  ddRVal;
-  HANDLE  hVideoSurface;
-  HANDLE  hVBISurface;
-  BOOL  bPolarity;
-} DDGETAUTOFLIPOUT, FAR *LPDDGETAUTOFLIPOUT;
-
-typedef struct _DDGETPOLARITYIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-} DDGETPOLARITYIN, FAR *LPDDGETPOLARITYIN;
-
-typedef struct _DDGETPOLARITYOUT {
-  DWORD  ddRVal;
-  BOOL  bPolarity;
-} DDGETPOLARITYOUT, FAR *LPDDGETPOLARITYOUT;
-
-typedef struct _DDGETSURFACESTATEIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hSurface;
-} DDGETSURFACESTATEIN, FAR *LPDDGETSURFACESTATEIN;
-
-/* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */
-#define DDSTATE_BOB                       0x0001
-#define DDSTATE_WEAVE                     0x0002
-#define DDSTATE_EXPLICITLY_SET            0x0004
-#define DDSTATE_SOFTWARE_AUTOFLIP         0x0008
-#define DDSTATE_SKIPEVENFIELDS            0x0010
-
-typedef struct _DDGETSURFACESTATEOUT {
-  DWORD  ddRVal;
-  DWORD  dwStateCaps;
-  DWORD  dwStateStatus;
-} DDGETSURFACESTATEOUT, FAR *LPDDGETSURFACESTATEOUT;
-
-typedef struct _DDGETFIELDNUMIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-} DDGETFIELDNUMIN, FAR *LPDDGETFIELDNUMIN;
-
-typedef struct _DDGETFIELDNUMOUT {
-  DWORD  ddRVal;
-  DWORD  dwFieldNum;
-} DDGETFIELDNUMOUT, FAR *LPDDGETFIELDNUMOUT;
-
-typedef struct _DDGETKERNELCAPSOUT {
-  DWORD  ddRVal;
-  DWORD  dwCaps;
-  DWORD  dwIRQCaps;
-} DDGETKERNELCAPSOUT, FAR *LPDDGETKERNELCAPSOUT;
-
-typedef struct _DDGETVERSIONNUMBER {
-  DWORD  ddRVal;
-  DWORD  dwMajorVersion;
-  DWORD  dwMinorVersion;
-} DDGETVERSIONNUMBER, FAR *LPDDGETVERSIONNUMBER;
-
-typedef struct _DDLOCKIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hSurface;
-} DDLOCKIN, FAR *LPDDLOCKIN;
-
-typedef struct _DDLOCKOUT {
-  DWORD  ddRVal;
-  DWORD  dwSurfHeight;
-  DWORD  dwSurfWidth;
-  LONG  lSurfPitch;
-  PVOID  lpSurface;
-  DWORD  SurfaceCaps;
-  DWORD  dwFormatFlags;
-  DWORD  dwFormatFourCC;
-  DWORD  dwFormatBitCount;
-  _ANONYMOUS_UNION union {
-    DWORD  dwRBitMask;
-    DWORD  dwYBitMask;
-  } DUMMYUNIONNAME;
-  _ANONYMOUS_UNION union {
-    DWORD  dwGBitMask;
-    DWORD  dwUBitMask;
-  } DUMMYUNIONNAME2;
-  _ANONYMOUS_UNION union {
-    DWORD  dwBBitMask;
-    DWORD  dwVBitMask;
-  } DUMMYUNIONNAME3;
-} DDLOCKOUT, FAR *LPDDLOCKOUT;
-
-/* LPDD_NOTIFYCALLBACK.dwFlags constants */
-#define DDNOTIFY_DISPLAY_VSYNC            0x0001
-#define DDNOTIFY_VP_VSYNC                 0x0002
-#define DDNOTIFY_VP_LINE                  0x0004
-#define DDNOTIFY_PRERESCHANGE             0x0008
-#define DDNOTIFY_POSTRESCHANGE            0x0010
-#define DDNOTIFY_PREDOSBOX                0x0020
-#define DDNOTIFY_POSTDOSBOX               0x0040
-#define DDNOTIFY_CLOSEDIRECTDRAW          0x0080
-#define DDNOTIFY_CLOSESURFACE             0x0100
-#define DDNOTIFY_CLOSEVIDEOPORT           0x0200
-#define DDNOTIFY_CLOSECAPTURE             0x0400
-
-typedef ULONG (FAR PASCAL *LPDD_NOTIFYCALLBACK)(
-  DWORD dwFlags,
-  PVOID pContext,
-  DWORD dwParam1,
-  DWORD dwParam2);
-
-typedef struct _DDOPENDIRECTDRAWIN {
-  ULONG_PTR  dwDirectDrawHandle;
-  LPDD_NOTIFYCALLBACK  pfnDirectDrawClose;
-  PVOID  pContext;
-} DDOPENDIRECTDRAWIN, FAR *LPDDOPENDIRECTDRAWIN;
-
-typedef struct _DDOPENDIRECTDRAWOUT {
-  DWORD  ddRVal;
-  HANDLE  hDirectDraw;
-} DDOPENDIRECTDRAWOUT, FAR *LPDDOPENDIRECTDRAWOUT;
-
-typedef struct _DDOPENSURFACEIN {
-  HANDLE  hDirectDraw;
-  ULONG_PTR  dwSurfaceHandle;
-  LPDD_NOTIFYCALLBACK  pfnSurfaceClose;
-  PVOID  pContext;
-} DDOPENSURFACEIN, FAR *LPDDOPENSURFACEIN;
-
-typedef struct _DDOPENSURFACEOUT {
-  DWORD  ddRVal;
-  HANDLE  hSurface;
-} DDOPENSURFACEOUT, FAR *LPDDOPENSURFACEOUT;
-
-typedef struct _DDOPENVIDEOPORTIN {
-  HANDLE  hDirectDraw;
-  ULONG  dwVideoPortHandle;
-  LPDD_NOTIFYCALLBACK  pfnVideoPortClose;
-  PVOID  pContext;
-} DDOPENVIDEOPORTIN, FAR *LPDDOPENVIDEOPORTIN;
-
-typedef struct _DDOPENVIDEOPORTOUT {
-  DWORD  ddRVal;
-  HANDLE  hVideoPort;
-} DDOPENVIDEOPORTOUT, FAR *LPDDOPENVIDEOPORTOUT;
-
-/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */
-#define DDOPENCAPTURE_VIDEO               0x0001
-#define DDOPENCAPTURE_VBI                 0x0002
-
-typedef struct _DDOPENVPCAPTUREDEVICEIN {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-  DWORD  dwStartLine;
-  DWORD  dwEndLine;
-  DWORD  dwCaptureEveryNFields;
-  LPDD_NOTIFYCALLBACK  pfnCaptureClose;
-  PVOID  pContext;
-  DWORD  dwFlags;
-} DDOPENVPCAPTUREDEVICEIN, FAR * LPDDOPENVPCAPTUREDEVICEIN;
-
-typedef struct _DDOPENVPCAPTUREDEVICEOUT {
-  DWORD  ddRVal;
-  HANDLE  hCapture;
-} DDOPENVPCAPTUREDEVICEOUT, FAR * LPDDOPENVPCAPTUREDEVICEOUT;
-
-/* DDREGISTERCALLBACK.dwEvents constants */
-#define DDEVENT_DISPLAY_VSYNC             0x0001
-#define DDEVENT_VP_VSYNC                  0x0002
-#define DDEVENT_VP_LINE                   0x0004
-#define DDEVENT_PRERESCHANGE              0x0008
-#define DDEVENT_POSTRESCHANGE             0x0010
-#define DDEVENT_PREDOSBOX                 0x0020
-#define DDEVENT_POSTDOSBOX                0x0040
-
-typedef struct _DDREGISTERCALLBACK {
-  HANDLE  hDirectDraw;
-  ULONG  dwEvents;
-  LPDD_NOTIFYCALLBACK  pfnCallback;
-  ULONG_PTR  dwParam1;
-  ULONG_PTR  dwParam2;
-  PVOID  pContext;
-} DDREGISTERCALLBACK, FAR *LPDDREGISTERCALLBACK;
-
-typedef struct _DDSETSURFACETATE {
-  HANDLE  hDirectDraw;
-  HANDLE  hSurface;
-  DWORD  dwState;
-  DWORD  dwStartField;
-} DDSETSURFACESTATE, FAR *LPDDSETSURFACESTATE;
-
-typedef struct _DDSETFIELDNUM {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-  DWORD  dwFieldNum;
-} DDSETFIELDNUM, FAR *LPDDSETFIELDNUM;
-
-typedef struct _DDSETSKIPFIELD {
-  HANDLE  hDirectDraw;
-  HANDLE  hVideoPort;
-  DWORD  dwStartField;
-} DDSETSKIPFIELD, FAR *LPDDSETSKIPFIELD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DDKMAPI_H */
Index: Daodan/MinGW/include/ddk/hidclass.h
===================================================================
--- Daodan/MinGW/include/ddk/hidclass.h	(revision 1046)
+++ 	(revision )
@@ -1,153 +1,0 @@
-/*
- * hidclass.h
- *
- * HID class driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDCLASS_H
-#define __HIDCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidpi.h"
-
-#define HID_REVISION                      0x00000001
-
-DEFINE_GUID (GUID_DEVINTERFACE_HID, \
-  0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-DEFINE_GUID (GUID_HID_INTERFACE_NOTIFY, \
-  0x2c4e2e88L, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81);
-DEFINE_GUID (GUID_HID_INTERFACE_HIDPARSE, \
-  0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b);
-
-#define GUID_CLASS_INPUT GUID_DEVINTERFACE_HID
-
-#define GUID_CLASS_INPUT_STR "4D1E55B2-F16F-11CF-88CB-001111000030"
-
-
-#define HID_CTL_CODE(id) \
-  CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_NEITHER, FILE_ANY_ACCESS)
-#define HID_BUFFER_CTL_CODE(id) \
-  CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define HID_IN_CTL_CODE(id) \
-  CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define HID_OUT_CTL_CODE(id) \
-  CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-#define IOCTL_GET_PHYSICAL_DESCRIPTOR         HID_OUT_CTL_CODE(102)
-#define IOCTL_HID_FLUSH_QUEUE                 HID_CTL_CODE(101)
-#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR   HID_CTL_CODE(100)
-#define IOCTL_HID_GET_COLLECTION_INFORMATION  HID_BUFFER_CTL_CODE(106)
-#define IOCTL_HID_GET_FEATURE                 HID_OUT_CTL_CODE(100)
-#define IOCTL_HID_GET_HARDWARE_ID             HID_OUT_CTL_CODE(103)
-#define IOCTL_HID_GET_INDEXED_STRING          HID_OUT_CTL_CODE(120)
-#define IOCTL_HID_GET_INPUT_REPORT            HID_OUT_CTL_CODE(104)
-#define IOCTL_HID_GET_MANUFACTURER_STRING     HID_OUT_CTL_CODE(110)
-#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS    HID_BUFFER_CTL_CODE(104)
-#define IOCTL_HID_GET_POLL_FREQUENCY_MSEC     HID_BUFFER_CTL_CODE(102)
-#define IOCTL_HID_GET_PRODUCT_STRING          HID_OUT_CTL_CODE(111)
-#define IOCTL_HID_GET_SERIALNUMBER_STRING     HID_OUT_CTL_CODE(112)
-#define IOCTL_HID_SET_FEATURE                 HID_IN_CTL_CODE(100)
-#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS    HID_BUFFER_CTL_CODE(105)
-#define IOCTL_HID_SET_OUTPUT_REPORT           HID_IN_CTL_CODE(101)
-#define IOCTL_HID_SET_POLL_FREQUENCY_MSEC     HID_BUFFER_CTL_CODE(103)
-
-#define IOCTL_HID_GET_DRIVER_CONFIG           HID_BUFFER_CTL_CODE(100)
-#define IOCTL_HID_SET_DRIVER_CONFIG           HID_BUFFER_CTL_CODE(101)
-#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR     HID_OUT_CTL_CODE(121)
-
-
-enum DeviceObjectState {
-  DeviceObjectStarted = 0,
-  DeviceObjectStopped,
-  DeviceObjectRemoved
-};
-
-typedef VOID DDKAPI (*PHID_STATUS_CHANGE)(
-  PVOID  Context,
-  enum DeviceObjectState  State);
-
-typedef NTSTATUS DDKAPI (*PHIDP_GETCAPS)(
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*OUT*/ PHIDP_CAPS  Capabilities);
-
-typedef struct _HID_COLLECTION_INFORMATION {
-  ULONG  DescriptorSize;
-  BOOLEAN  Polled;
-  UCHAR  Reserved1[1];
-  USHORT  VendorID;
-  USHORT  ProductID;
-  USHORT  VersionNumber;
-} HID_COLLECTION_INFORMATION, *PHID_COLLECTION_INFORMATION;
-
-typedef struct _HID_DRIVER_CONFIG {
-  ULONG  Size;
-  ULONG  RingBufferSize;
-} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;
-
-typedef struct _HID_INTERFACE_HIDPARSE {
-#ifdef __cplusplus
-  INTERFACE  i;
-#else
-  /* GCC doesn't support including unnamed structs, so INTERFACE is
-     expanded here */
-  USHORT  Size;
-  USHORT  Version;
-  PVOID  Context;
-  PINTERFACE_REFERENCE  InterfaceReference;
-  PINTERFACE_DEREFERENCE  InterfaceDereference;
-#endif
-  PHIDP_GETCAPS  HidpGetCaps;
-} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
-
-typedef struct _HID_INTERFACE_NOTIFY_PNP {
-#ifdef __cplusplus
-  INTERFACE  i;
-#else
-  /* GCC doesn't support including unnamed structs, so INTERFACE is
-     expanded here */
-  USHORT  Size;
-  USHORT  Version;
-  PVOID  Context;
-  PINTERFACE_REFERENCE  InterfaceReference;
-  PINTERFACE_DEREFERENCE  InterfaceDereference;
-#endif
-  PHID_STATUS_CHANGE  StatusChangeFn;
-  PVOID  CallbackContext;
-} HID_INTERFACE_NOTIFY_PNP, *PHID_INTERFACE_NOTIFY_PNP;
-
-typedef struct _HID_XFER_PACKET {
-  PUCHAR  reportBuffer;
-  ULONG  reportBufferLen;
-  UCHAR  reportId;
-} HID_XFER_PACKET, *PHID_XFER_PACKET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDCLASS_H */
Index: Daodan/MinGW/include/ddk/hidpi.h
===================================================================
--- Daodan/MinGW/include/ddk/hidpi.h	(revision 1046)
+++ 	(revision )
@@ -1,604 +1,0 @@
-/*
- * hidpi.h
- *
- * Public Interface for HID parsing library.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDPI_H
-#define __HIDPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidusage.h"
-
-#if defined(_HIDPI_)
-  #define HIDAPI DECLSPEC_EXPORT
-#else
-  #define HIDAPI DECLSPEC_IMPORT
-#endif
-
-typedef PUCHAR PHIDP_REPORT_DESCRIPTOR;
-typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
-
-typedef struct _HIDP_UNKNOWN_TOKEN {
-  UCHAR  Token;
-  UCHAR  Reserved[3];
-  ULONG  BitField;
-} HIDP_UNKNOWN_TOKEN, *PHIDP_UNKNOWN_TOKEN;
-
-typedef enum _HIDP_KEYBOARD_DIRECTION {
-  HidP_Keyboard_Break,
-  HidP_Keyboard_Make
-} HIDP_KEYBOARD_DIRECTION;
-
-typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      ULONG  LeftControl : 1;
-      ULONG  LeftShift : 1;
-      ULONG  LeftAlt : 1;
-      ULONG  LeftGUI : 1;
-      ULONG  RightControl : 1;
-      ULONG  RightShift : 1;
-      ULONG  RightAlt : 1;
-      ULONG  RigthGUI : 1;
-      ULONG  CapsLock : 1;
-      ULONG  ScollLock : 1;
-      ULONG  NumLock : 1;
-      ULONG  Reserved : 21;
-    } DUMMYSTRUCTNAME;
-    ULONG ul;
-  } DUMMYUNIONNAME;
-} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;
-
-typedef BOOLEAN (DDKAPI *PHIDP_INSERT_SCANCODES)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PCHAR  NewScanCodes,
-  /*IN*/ ULONG  Length);
-
-typedef struct _USAGE_AND_PAGE {
-  USAGE  Usage;
-  USAGE  UsagePage;
-} USAGE_AND_PAGE, *PUSAGE_AND_PAGE;
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsageAndPagesToI8042ScanCodes(
-  /*IN*/ PUSAGE_AND_PAGE  ChangedUsageList,
-  /*IN*/ ULONG  UsageListLength,
-  /*IN*/ HIDP_KEYBOARD_DIRECTION  KeyAction,
-  /*IN OUT*/ PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
-  /*IN*/ PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
-  /*IN*/ PVOID  InsertCodesContext);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsagesToI8042ScanCodes(
-  /*IN*/ PUSAGE  ChangedUsageList,
-  /*IN*/ ULONG  UsageListLength,
-  /*IN*/ HIDP_KEYBOARD_DIRECTION  KeyAction,
-  /*IN OUT*/ PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
-  /*IN*/ PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
-  /*IN*/ PVOID  InsertCodesContext);
-
-typedef struct _HIDP_BUTTON_CAPS {
-  USAGE  UsagePage;
-  UCHAR  ReportID;
-  BOOLEAN  IsAlias;
-  USHORT  BitField;
-  USHORT  LinkCollection;
-  USAGE  LinkUsage;
-  USAGE  LinkUsagePage;
-  BOOLEAN  IsRange;
-  BOOLEAN  IsStringRange;
-  BOOLEAN  IsDesignatorRange;
-  BOOLEAN  IsAbsolute;
-  ULONG  Reserved[10];
-  _ANONYMOUS_UNION union {
-    struct {
-      USAGE  UsageMin, UsageMax;
-      USHORT  StringMin, StringMax;
-      USHORT  DesignatorMin, DesignatorMax;
-      USHORT  DataIndexMin, DataIndexMax;
-    } Range;
-    struct  {
-       USAGE  Usage, Reserved1;
-       USHORT  StringIndex, Reserved2;
-       USHORT  DesignatorIndex, Reserved3;
-       USHORT  DataIndex, Reserved4;
-    } NotRange;
-  } DUMMYUNIONNAME;
-} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
-
-typedef struct _HIDP_CAPS {
-  USAGE  Usage;
-  USAGE  UsagePage;
-  USHORT  InputReportByteLength;
-  USHORT  OutputReportByteLength;
-  USHORT  FeatureReportByteLength;
-  USHORT  Reserved[17];
-  USHORT  NumberLinkCollectionNodes;
-  USHORT  NumberInputButtonCaps;
-  USHORT  NumberInputValueCaps;
-  USHORT  NumberInputDataIndices;
-  USHORT  NumberOutputButtonCaps;
-  USHORT  NumberOutputValueCaps;
-  USHORT  NumberOutputDataIndices;
-  USHORT  NumberFeatureButtonCaps;
-  USHORT  NumberFeatureValueCaps;
-  USHORT  NumberFeatureDataIndices;
-} HIDP_CAPS, *PHIDP_CAPS;
-
-typedef struct _HIDP_DATA {
-  USHORT  DataIndex;
-  USHORT  Reserved;
-  _ANONYMOUS_UNION union {
-    ULONG  RawValue;
-    BOOLEAN  On;
-  }  DUMMYUNIONNAME;
-} HIDP_DATA, *PHIDP_DATA;
-
-typedef struct _HIDP_EXTENDED_ATTRIBUTES {
-  UCHAR  NumGlobalUnknowns;
-  UCHAR  Reserved[3];
-  PHIDP_UNKNOWN_TOKEN  GlobalUnknowns;
-  ULONG  Data[1];
-} HIDP_EXTENDED_ATTRIBUTES, *PHIDP_EXTENDED_ATTRIBUTES;
-
-#define HIDP_LINK_COLLECTION_ROOT         ((USHORT) -1)
-#define HIDP_LINK_COLLECTION_UNSPECIFIED  ((USHORT) 0)
-
-typedef struct _HIDP_LINK_COLLECTION_NODE {
-  USAGE  LinkUsage;
-  USAGE  LinkUsagePage;
-  USHORT  Parent;
-  USHORT  NumberOfChildren;
-  USHORT  NextSibling;
-  USHORT  FirstChild;
-  ULONG  CollectionType: 8;
-  ULONG  IsAlias: 1;
-  ULONG  Reserved: 23;
-  PVOID  UserContext;
-} HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE;
-
-typedef struct _HIDP_VALUE_CAPS {
-  USAGE  UsagePage;
-  UCHAR  ReportID;
-  BOOLEAN  IsAlias;
-  USHORT  BitField;
-  USHORT  LinkCollection;
-  USAGE  LinkUsage;
-  USAGE  LinkUsagePage;
-  BOOLEAN  IsRange;
-  BOOLEAN  IsStringRange;
-  BOOLEAN  IsDesignatorRange;
-  BOOLEAN  IsAbsolute;
-  BOOLEAN  HasNull;
-  UCHAR  Reserved;
-  USHORT  BitSize;
-  USHORT  ReportCount;
-  USHORT  Reserved2[5];
-  ULONG  UnitsExp;
-  ULONG  Units;
-  LONG  LogicalMin, LogicalMax;
-  LONG  PhysicalMin, PhysicalMax;
-    _ANONYMOUS_UNION union {
-      struct {
-        USAGE  UsageMin, UsageMax;
-        USHORT  StringMin, StringMax;
-        USHORT  DesignatorMin, DesignatorMax;
-        USHORT  DataIndexMin, DataIndexMax;
-      } Range;
-      struct {
-        USAGE  Usage, Reserved1;
-        USHORT  StringIndex, Reserved2;
-        USHORT  DesignatorIndex, Reserved3;
-        USHORT  DataIndex, Reserved4;
-      } NotRange;
-    } DUMMYUNIONNAME;
-} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS;
-
-typedef enum _HIDP_REPORT_TYPE {
-  HidP_Input,
-  HidP_Output,
-  HidP_Feature
-} HIDP_REPORT_TYPE;
-
-#define FACILITY_HID_ERROR_CODE           0x11
-
-#define HIDP_ERROR_CODES(SEV, CODE) \
-  ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE)))
-
-#define HIDP_STATUS_SUCCESS                 (HIDP_ERROR_CODES(0x0, 0))
-#define HIDP_STATUS_NULL                    (HIDP_ERROR_CODES(0x8, 1))
-#define HIDP_STATUS_INVALID_PREPARSED_DATA  (HIDP_ERROR_CODES(0xC, 1))
-#define HIDP_STATUS_INVALID_REPORT_TYPE     (HIDP_ERROR_CODES(0xC, 2))
-#define HIDP_STATUS_INVALID_REPORT_LENGTH   (HIDP_ERROR_CODES(0xC, 3))
-#define HIDP_STATUS_USAGE_NOT_FOUND         (HIDP_ERROR_CODES(0xC, 4))
-#define HIDP_STATUS_VALUE_OUT_OF_RANGE      (HIDP_ERROR_CODES(0xC, 5))
-#define HIDP_STATUS_BAD_LOG_PHY_VALUES      (HIDP_ERROR_CODES(0xC, 6))
-#define HIDP_STATUS_BUFFER_TOO_SMALL        (HIDP_ERROR_CODES(0xC, 7))
-#define HIDP_STATUS_INTERNAL_ERROR          (HIDP_ERROR_CODES(0xC, 8))
-#define HIDP_STATUS_I8042_TRANS_UNKNOWN     (HIDP_ERROR_CODES(0xC, 9))
-#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID  (HIDP_ERROR_CODES(0xC, 0xA))
-#define HIDP_STATUS_NOT_VALUE_ARRAY         (HIDP_ERROR_CODES(0xC, 0xB))
-#define HIDP_STATUS_IS_VALUE_ARRAY          (HIDP_ERROR_CODES(0xC, 0xC))
-#define HIDP_STATUS_DATA_INDEX_NOT_FOUND    (HIDP_ERROR_CODES(0xC, 0xD))
-#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE))
-#define HIDP_STATUS_BUTTON_NOT_PRESSED      (HIDP_ERROR_CODES(0xC, 0xF))
-#define HIDP_STATUS_REPORT_DOES_NOT_EXIST   (HIDP_ERROR_CODES(0xC, 0x10))
-#define HIDP_STATUS_NOT_IMPLEMENTED         (HIDP_ERROR_CODES(0xC, 0x20))
-#define HIDP_STATUS_I8242_TRANS_UNKNOWN     HIDP_STATUS_I8042_TRANS_UNKNOWN
-
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonCaps(
- * IN HIDP_REPORT_TYPE  ReportType,
- * OUT PHIDP_BUTTON_CAPS  ButtonCaps,
- * IN OUT PULONG  ButtonCapsLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData);
- */
-#define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \
-  HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-/*
- * NTSTATUS
- * HidP_GetButtons(
- * IN HIDP_REPORT_TYPE  ReportType,
- * IN USAGE  UsagePage,
- * IN USHORT  LinkCollection,
- * OUT USAGE  *UsageList,
- * IN OUT ULONG  *UsageLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData,
- * IN PCHAR  Report,
- * IN ULONG  ReportLength);
- */
-#define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \
-  HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe)
-
-#define HidP_GetButtonListLength(RTy, UPa, Ppd) \
-  HidP_GetUsageListLength(Rty, UPa, Ppd)
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonsEx(
- * IN HIDP_REPORT_TYPE  ReportType,
- * IN USHORT  LinkCollection,
- * OUT PUSAGE_AND_PAGE  ButtonList,
- * IN OUT ULONG  *UsageLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData,
- * IN PCHAR  Report,
- * IN ULONG  ReportLength);
- */
-#define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL)  \
-  HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetCaps(
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*OUT*/ PHIDP_CAPS  Capabilities);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetData(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*OUT*/ PHIDP_DATA  DataList,
-  /*IN OUT*/ PULONG  DataLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetExtendedAttributes(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USHORT  DataIndex,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*OUT*/ PHIDP_EXTENDED_ATTRIBUTES  Attributes,
-  /*IN OUT*/ PULONG  LengthAttributes);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetLinkCollectionNodes(
-  /*OUT*/ PHIDP_LINK_COLLECTION_NODE  LinkCollectionNodes,
-  /*IN OUT*/ PULONG  LinkCollectionNodesLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetScaledUsageValue(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
-  /*IN*/ USAGE  Usage,
-  /*OUT*/ PLONG  UsageValue,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificButtonCaps(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection,
-  /*IN*/ USAGE  Usage,
-  /*OUT*/ PHIDP_BUTTON_CAPS  ButtonCaps,
-  /*IN OUT*/ PULONG  ButtonCapsLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificValueCaps(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection,
-  /*IN*/ USAGE  Usage,
-  /*OUT*/ PHIDP_VALUE_CAPS  ValueCaps,
-  /*IN OUT*/ PULONG  ValueCapsLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsages(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
-  /*OUT*/ USAGE  *UsageList,
-  /*IN OUT*/ ULONG  *UsageLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsagesEx(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USHORT  LinkCollection,
-  /*OUT*/ PUSAGE_AND_PAGE  ButtonList,
-  /*IN OUT*/ ULONG  *UsageLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValue(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection,
-  /*IN*/ USAGE  Usage,
-  /*OUT*/ PULONG  UsageValue,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValueArray(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
-  /*IN*/ USAGE  Usage,
-  /*OUT*/ PCHAR  UsageValue,
-  /*IN*/ USHORT  UsageValueByteLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-/*
- * NTSTATUS
- * HidP_GetValueCaps(
- * IN HIDP_REPORT_TYPE  ReportType,
- * OUT PHIDP_VALUE_CAPS  ValueCaps,
- * IN OUT PULONG  ValueCapsLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData);
- */
-#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \
-  HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_InitializeReportForID(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ UCHAR  ReportID,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-/*
- * BOOLEAN
- * HidP_IsSameUsageAndPage(
- *   USAGE_AND_PAGE  u1,
- *   USAGE_AND_PAGE  u2);
- */
-#define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2))
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxDataListLength(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxUsageListLength(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage  /*OPTIONAL*/,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);
-
-/*
- * NTSTATUS
- * HidP_SetButtons(
- * IN HIDP_REPORT_TYPE  ReportType,
- * IN USAGE  UsagePage,
- * IN USHORT  LinkCollection,
- * IN PUSAGE  UsageList,
- * IN OUT PULONG  UsageLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData,
- * IN OUT PCHAR  Report,
- * IN ULONG  ReportLength);
- */
-#define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
-  HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetData(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ PHIDP_DATA  DataList,
-  /*IN OUT*/ PULONG  DataLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetScaledUsageValue(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
-  /*IN*/ USAGE  Usage,
-  /*IN*/ LONG  UsageValue,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsages(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection /*OPTIONAL*/,
-  /*IN*/ PUSAGE  UsageList,
-  /*IN OUT*/ PULONG  UsageLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValue(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection,
-  /*IN*/ USAGE  Usage,
-  /*IN*/ ULONG  UsageValue,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValueArray(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
-  /*IN*/ USAGE  Usage,
-  /*IN*/ PCHAR  UsageValue,
-  /*IN*/ USHORT  UsageValueByteLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-/*
- * NTSTATUS
- * HidP_UnsetButtons(
- * IN HIDP_REPORT_TYPE  ReportType,
- * IN USAGE  UsagePage,
- * IN USHORT  LinkCollection,
- * IN PUSAGE  UsageList,
- * IN OUT PULONG  UsageLength,
- * IN PHIDP_PREPARSED_DATA  PreparsedData,
- * IN OUT PCHAR  Report,
- * IN ULONG  ReportLength);
- */
-#define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
-  HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UnsetUsages(
-  /*IN*/ HIDP_REPORT_TYPE  ReportType,
-  /*IN*/ USAGE  UsagePage,
-  /*IN*/ USHORT  LinkCollection,
-  /*IN*/ PUSAGE  UsageList,
-  /*IN OUT*/ PULONG  UsageLength,
-  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
-  /*IN OUT*/ PCHAR  Report,
-  /*IN*/ ULONG  ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageAndPageListDifference(
-  /*IN*/ PUSAGE_AND_PAGE  PreviousUsageList,
-  /*IN*/ PUSAGE_AND_PAGE  CurrentUsageList,
-  /*OUT*/ PUSAGE_AND_PAGE  BreakUsageList,
-  /*OUT*/ PUSAGE_AND_PAGE  MakeUsageList,
-  /*IN*/ ULONG  UsageListLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageListDifference(
-  /*IN*/ PUSAGE  PreviousUsageList,
-  /*IN*/ PUSAGE  CurrentUsageList,
-  /*OUT*/ PUSAGE  BreakUsageList,
-  /*OUT*/ PUSAGE  MakeUsageList,
-  /*IN*/ ULONG  UsageListLength);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDPI_H */
Index: Daodan/MinGW/include/ddk/hidsdi.h
===================================================================
--- Daodan/MinGW/include/ddk/hidsdi.h	(revision 1046)
+++ 	(revision )
@@ -1,73 +1,0 @@
-/*
- * hidsdi.h
- *
- * This file is part of the w32api package.
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _HIDSDI_H
-#define _HIDSDI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ddk/hidusage.h>
-#include <ddk/hidpi.h>
-
-#ifndef WINHIDSDI
-#define WINHIDSDI DECLSPEC_IMPORT
-#endif
-
-#include <pshpack4.h>
-
-typedef struct _HIDD_CONFIGURATION {
-	PVOID cookie;
- 	ULONG size;
-	ULONG RingBufferSize;
-} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
-
-typedef struct _HIDD_ATTRIBUTES {
-	ULONG Size;
-	USHORT VendorID;
-	USHORT ProductID;
-	USHORT VersionNumber;
-} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;
-
-WINHIDSDI BOOL WINAPI HidD_GetAttributes (HANDLE, PHIDD_ATTRIBUTES);
-WINHIDSDI VOID WINAPI HidD_GetHidGuid (LPGUID);
-WINHIDSDI BOOL WINAPI HidD_GetPreparsedData(HANDLE, PHIDP_PREPARSED_DATA  *);
-WINHIDSDI BOOL WINAPI HidD_FreePreparsedData(PHIDP_PREPARSED_DATA);
-WINHIDSDI BOOL WINAPI HidD_FlushQueue (HANDLE);
-WINHIDSDI BOOL WINAPI HidD_GetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetNumInputBuffers (HANDLE, PULONG);
-WINHIDSDI BOOL WINAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetPhysicalDescriptor (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetManufacturerString (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetProductString ( HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetIndexedString ( HANDLE, ULONG, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetSerialNumberString (HANDLE, PVOID, ULONG);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _HIDSDI_H */
Index: Daodan/MinGW/include/ddk/hidusage.h
===================================================================
--- Daodan/MinGW/include/ddk/hidusage.h	(revision 1046)
+++ 	(revision )
@@ -1,210 +1,0 @@
-/*
- * hidusage.h
- *
- * HID usages
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDUSAGE_H
-#define __HIDUSAGE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef USHORT USAGE, *PUSAGE;
-
-#define HID_USAGE_GENERIC_POINTER             ((USAGE) 0x01)
-#define HID_USAGE_GENERIC_MOUSE               ((USAGE) 0x02)
-#define HID_USAGE_GENERIC_JOYSTICK            ((USAGE) 0x04)
-#define HID_USAGE_GENERIC_GAMEPAD             ((USAGE) 0x05)
-#define HID_USAGE_GENERIC_KEYBOARD            ((USAGE) 0x06)
-#define HID_USAGE_GENERIC_KEYPAD              ((USAGE) 0x07)
-#define HID_USAGE_GENERIC_SYSTEM_CTL          ((USAGE) 0x80)
-#define HID_USAGE_GENERIC_X                   ((USAGE) 0x30)
-#define HID_USAGE_GENERIC_Y                   ((USAGE) 0x31)
-#define HID_USAGE_GENERIC_Z                   ((USAGE) 0x32)
-#define HID_USAGE_GENERIC_RX                  ((USAGE) 0x33)
-#define HID_USAGE_GENERIC_RY                  ((USAGE) 0x34)
-#define HID_USAGE_GENERIC_RZ                  ((USAGE) 0x35)
-#define HID_USAGE_GENERIC_SLIDER              ((USAGE) 0x36)
-#define HID_USAGE_GENERIC_DIAL                ((USAGE) 0x37)
-#define HID_USAGE_GENERIC_WHEEL               ((USAGE) 0x38)
-#define HID_USAGE_GENERIC_HATSWITCH           ((USAGE) 0x39)
-#define HID_USAGE_GENERIC_COUNTED_BUFFER      ((USAGE) 0x3A)
-#define HID_USAGE_GENERIC_BYTE_COUNT          ((USAGE) 0x3B)
-#define HID_USAGE_GENERIC_MOTION_WAKEUP       ((USAGE) 0x3C)
-#define HID_USAGE_GENERIC_VX                  ((USAGE) 0x40)
-#define HID_USAGE_GENERIC_VY                  ((USAGE) 0x41)
-#define HID_USAGE_GENERIC_VZ                  ((USAGE) 0x42)
-#define HID_USAGE_GENERIC_VBRX                ((USAGE) 0x43)
-#define HID_USAGE_GENERIC_VBRY                ((USAGE) 0x44)
-#define HID_USAGE_GENERIC_VBRZ                ((USAGE) 0x45)
-#define HID_USAGE_GENERIC_VNO                 ((USAGE) 0x46)
-#define HID_USAGE_GENERIC_SYSCTL_POWER        ((USAGE) 0x81)
-#define HID_USAGE_GENERIC_SYSCTL_SLEEP        ((USAGE) 0x82)
-#define HID_USAGE_GENERIC_SYSCTL_WAKE         ((USAGE) 0x83)
-#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU ((USAGE) 0x84)
-#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU    ((USAGE) 0x85)
-#define HID_USAGE_GENERIC_SYSCTL_APP_MENU     ((USAGE) 0x86)
-#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU    ((USAGE) 0x87)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT    ((USAGE) 0x88)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT  ((USAGE) 0x89)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT   ((USAGE) 0x8A)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT    ((USAGE) 0x8B)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_UP      ((USAGE) 0x8C)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN    ((USAGE) 0x8D)
-
-#define HID_USAGE_KEYBOARD_NOEVENT        ((USAGE) 0x00)
-#define HID_USAGE_KEYBOARD_ROLLOVER       ((USAGE) 0x01)
-#define HID_USAGE_KEYBOARD_POSTFAIL       ((USAGE) 0x02)
-#define HID_USAGE_KEYBOARD_UNDEFINED      ((USAGE) 0x03)
-#define HID_USAGE_KEYBOARD_aA             ((USAGE) 0x04)
-#define HID_USAGE_KEYBOARD_zZ             ((USAGE) 0x1D)
-#define HID_USAGE_KEYBOARD_ONE            ((USAGE) 0x1E)
-#define HID_USAGE_KEYBOARD_ZERO           ((USAGE) 0x27)
-#define HID_USAGE_KEYBOARD_LCTRL          ((USAGE) 0xE0)
-#define HID_USAGE_KEYBOARD_LSHFT          ((USAGE) 0xE1)
-#define HID_USAGE_KEYBOARD_LALT           ((USAGE) 0xE2)
-#define HID_USAGE_KEYBOARD_LGUI           ((USAGE) 0xE3)
-#define HID_USAGE_KEYBOARD_RCTRL          ((USAGE) 0xE4)
-#define HID_USAGE_KEYBOARD_RSHFT          ((USAGE) 0xE5)
-#define HID_USAGE_KEYBOARD_RALT           ((USAGE) 0xE6)
-#define HID_USAGE_KEYBOARD_RGUI           ((USAGE) 0xE7)
-#define HID_USAGE_KEYBOARD_SCROLL_LOCK    ((USAGE) 0x47)
-#define HID_USAGE_KEYBOARD_NUM_LOCK       ((USAGE) 0x53)
-#define HID_USAGE_KEYBOARD_CAPS_LOCK      ((USAGE) 0x39)
-#define HID_USAGE_KEYBOARD_F1             ((USAGE) 0x3A)
-#define HID_USAGE_KEYBOARD_F12            ((USAGE) 0x45)
-#define HID_USAGE_KEYBOARD_RETURN         ((USAGE) 0x28)
-#define HID_USAGE_KEYBOARD_ESCAPE         ((USAGE) 0x29)
-#define HID_USAGE_KEYBOARD_DELETE         ((USAGE) 0x2A)
-#define HID_USAGE_KEYBOARD_PRINT_SCREEN   ((USAGE) 0x46)
-
-#define HID_USAGE_LED_NUM_LOCK                  ((USAGE) 0x01)
-#define HID_USAGE_LED_CAPS_LOCK                 ((USAGE) 0x02)
-#define HID_USAGE_LED_SCROLL_LOCK               ((USAGE) 0x03)
-#define HID_USAGE_LED_COMPOSE                   ((USAGE) 0x04)
-#define HID_USAGE_LED_KANA                      ((USAGE) 0x05)
-#define HID_USAGE_LED_POWER                     ((USAGE) 0x06)
-#define HID_USAGE_LED_SHIFT                     ((USAGE) 0x07)
-#define HID_USAGE_LED_DO_NOT_DISTURB            ((USAGE) 0x08)
-#define HID_USAGE_LED_MUTE                      ((USAGE) 0x09)
-#define HID_USAGE_LED_TONE_ENABLE               ((USAGE) 0x0A)
-#define HID_USAGE_LED_HIGH_CUT_FILTER           ((USAGE) 0x0B)
-#define HID_USAGE_LED_LOW_CUT_FILTER            ((USAGE) 0x0C)
-#define HID_USAGE_LED_EQUALIZER_ENABLE          ((USAGE) 0x0D)
-#define HID_USAGE_LED_SOUND_FIELD_ON            ((USAGE) 0x0E)
-#define HID_USAGE_LED_SURROUND_FIELD_ON         ((USAGE) 0x0F)
-#define HID_USAGE_LED_REPEAT                    ((USAGE) 0x10)
-#define HID_USAGE_LED_STEREO                    ((USAGE) 0x11)
-#define HID_USAGE_LED_SAMPLING_RATE_DETECT      ((USAGE) 0x12)
-#define HID_USAGE_LED_SPINNING                  ((USAGE) 0x13)
-#define HID_USAGE_LED_CAV                       ((USAGE) 0x14)
-#define HID_USAGE_LED_CLV                       ((USAGE) 0x15)
-#define HID_USAGE_LED_RECORDING_FORMAT_DET      ((USAGE) 0x16)
-#define HID_USAGE_LED_OFF_HOOK                  ((USAGE) 0x17)
-#define HID_USAGE_LED_RING                      ((USAGE) 0x18)
-#define HID_USAGE_LED_MESSAGE_WAITING           ((USAGE) 0x19)
-#define HID_USAGE_LED_DATA_MODE                 ((USAGE) 0x1A)
-#define HID_USAGE_LED_BATTERY_OPERATION         ((USAGE) 0x1B)
-#define HID_USAGE_LED_BATTERY_OK                ((USAGE) 0x1C)
-#define HID_USAGE_LED_BATTERY_LOW               ((USAGE) 0x1D)
-#define HID_USAGE_LED_SPEAKER                   ((USAGE) 0x1E)
-#define HID_USAGE_LED_HEAD_SET                  ((USAGE) 0x1F)
-#define HID_USAGE_LED_HOLD                      ((USAGE) 0x20)
-#define HID_USAGE_LED_MICROPHONE                ((USAGE) 0x21)
-#define HID_USAGE_LED_COVERAGE                  ((USAGE) 0x22)
-#define HID_USAGE_LED_NIGHT_MODE                ((USAGE) 0x23)
-#define HID_USAGE_LED_SEND_CALLS                ((USAGE) 0x24)
-#define HID_USAGE_LED_CALL_PICKUP               ((USAGE) 0x25)
-#define HID_USAGE_LED_CONFERENCE                ((USAGE) 0x26)
-#define HID_USAGE_LED_STAND_BY                  ((USAGE) 0x27)
-#define HID_USAGE_LED_CAMERA_ON                 ((USAGE) 0x28)
-#define HID_USAGE_LED_CAMERA_OFF                ((USAGE) 0x29)
-#define HID_USAGE_LED_ON_LINE                   ((USAGE) 0x2A)
-#define HID_USAGE_LED_OFF_LINE                  ((USAGE) 0x2B)
-#define HID_USAGE_LED_BUSY                      ((USAGE) 0x2C)
-#define HID_USAGE_LED_READY                     ((USAGE) 0x2D)
-#define HID_USAGE_LED_PAPER_OUT                 ((USAGE) 0x2E)
-#define HID_USAGE_LED_PAPER_JAM                 ((USAGE) 0x2F)
-#define HID_USAGE_LED_REMOTE                    ((USAGE) 0x30)
-#define HID_USAGE_LED_FORWARD                   ((USAGE) 0x31)
-#define HID_USAGE_LED_REVERSE                   ((USAGE) 0x32)
-#define HID_USAGE_LED_STOP                      ((USAGE) 0x33)
-#define HID_USAGE_LED_REWIND                    ((USAGE) 0x34)
-#define HID_USAGE_LED_FAST_FORWARD              ((USAGE) 0x35)
-#define HID_USAGE_LED_PLAY                      ((USAGE) 0x36)
-#define HID_USAGE_LED_PAUSE                     ((USAGE) 0x37)
-#define HID_USAGE_LED_RECORD                    ((USAGE) 0x38)
-#define HID_USAGE_LED_ERROR                     ((USAGE) 0x39)
-#define HID_USAGE_LED_SELECTED_INDICATOR        ((USAGE) 0x3A)
-#define HID_USAGE_LED_IN_USE_INDICATOR          ((USAGE) 0x3B)
-#define HID_USAGE_LED_MULTI_MODE_INDICATOR      ((USAGE) 0x3C)
-#define HID_USAGE_LED_INDICATOR_ON              ((USAGE) 0x3D)
-#define HID_USAGE_LED_INDICATOR_FLASH           ((USAGE) 0x3E)
-#define HID_USAGE_LED_INDICATOR_SLOW_BLINK      ((USAGE) 0x3F)
-#define HID_USAGE_LED_INDICATOR_FAST_BLINK      ((USAGE) 0x40)
-#define HID_USAGE_LED_INDICATOR_OFF             ((USAGE) 0x41)
-#define HID_USAGE_LED_FLASH_ON_TIME             ((USAGE) 0x42)
-#define HID_USAGE_LED_SLOW_BLINK_ON_TIME        ((USAGE) 0x43)
-#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME       ((USAGE) 0x44)
-#define HID_USAGE_LED_FAST_BLINK_ON_TIME        ((USAGE) 0x45)
-#define HID_USAGE_LED_FAST_BLINK_OFF_TIME       ((USAGE) 0x46)
-#define HID_USAGE_LED_INDICATOR_COLOR           ((USAGE) 0x47)
-#define HID_USAGE_LED_RED                       ((USAGE) 0x48)
-#define HID_USAGE_LED_GREEN                     ((USAGE) 0x49)
-#define HID_USAGE_LED_AMBER                     ((USAGE) 0x4A)
-#define HID_USAGE_LED_GENERIC_INDICATOR         ((USAGE) 0x3B)
-
-#define HID_USAGE_PAGE_UNDEFINED          ((USAGE) 0x00)
-#define HID_USAGE_PAGE_GENERIC            ((USAGE) 0x01)
-#define HID_USAGE_PAGE_SIMULATION         ((USAGE) 0x02)
-#define HID_USAGE_PAGE_VR                 ((USAGE) 0x03)
-#define HID_USAGE_PAGE_SPORT              ((USAGE) 0x04)
-#define HID_USAGE_PAGE_GAME               ((USAGE) 0x05)
-#define HID_USAGE_PAGE_KEYBOARD           ((USAGE) 0x07)
-#define HID_USAGE_PAGE_LED                ((USAGE) 0x08)
-#define HID_USAGE_PAGE_BUTTON             ((USAGE) 0x09)
-#define HID_USAGE_PAGE_ORDINAL            ((USAGE) 0x0A)
-#define HID_USAGE_PAGE_TELEPHONY          ((USAGE) 0x0B)
-#define HID_USAGE_PAGE_CONSUMER           ((USAGE) 0x0C)
-#define HID_USAGE_PAGE_DIGITIZER          ((USAGE) 0x0D)
-#define HID_USAGE_PAGE_UNICODE            ((USAGE) 0x10)
-#define HID_USAGE_PAGE_ALPHANUMERIC       ((USAGE) 0x14)
-
-#define HID_USAGE_TELEPHONY_PHONE               ((USAGE) 0x01)
-#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE   ((USAGE) 0x02)
-#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS    ((USAGE) 0x03)
-#define HID_USAGE_TELEPHONY_HANDSET             ((USAGE) 0x04)
-#define HID_USAGE_TELEPHONY_HEADSET             ((USAGE) 0x05)
-#define HID_USAGE_TELEPHONY_KEYPAD              ((USAGE) 0x06)
-#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON ((USAGE) 0x07)
-
-#define HID_USAGE_SIMULATION_RUDDER       ((USAGE) 0xBA)
-#define HID_USAGE_SIMULATION_THROTTLE     ((USAGE) 0xBB)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDUSAGE_H */
Index: Daodan/MinGW/include/ddk/kbdmou.h
===================================================================
--- Daodan/MinGW/include/ddk/kbdmou.h	(revision 1046)
+++ 	(revision )
@@ -1,91 +1,0 @@
-/*
- * kbdmou.h
- *
- * Structures and definitions for Keyboard/Mouse class and port drivers.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Filip Navara <xnavara@volny.cz>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __KBDMOU_H
-#define __KBDMOU_H
-
-#include <ddk/ntddkbd.h>
-#include <ddk/ntddmou.h>
-
-#define DD_KEYBOARD_PORT_DEVICE_NAME      "\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_DEVICE_NAME_U    L"\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_BASE_NAME_U      L"KeyboardPort"
-#define DD_POINTER_PORT_DEVICE_NAME       "\\Device\\PointerPort"
-#define DD_POINTER_PORT_DEVICE_NAME_U     L"\\Device\\PointerPort"
-#define DD_POINTER_PORT_BASE_NAME_U       L"PointerPort"
-
-#define DD_KEYBOARD_CLASS_BASE_NAME_U     L"KeyboardClass"
-#define DD_POINTER_CLASS_BASE_NAME_U      L"PointerClass"
-
-#define DD_KEYBOARD_RESOURCE_CLASS_NAME_U             L"Keyboard"
-#define DD_POINTER_RESOURCE_CLASS_NAME_U              L"Pointer"
-#define DD_KEYBOARD_MOUSE_COMBO_RESOURCE_CLASS_NAME_U L"Keyboard/Pointer"
-
-#define POINTER_PORTS_MAXIMUM             8
-#define KEYBOARD_PORTS_MAXIMUM            8
-
-#define KBDMOU_COULD_NOT_SEND_COMMAND     0x0000
-#define KBDMOU_COULD_NOT_SEND_PARAM       0x0001
-#define KBDMOU_NO_RESPONSE                0x0002
-#define KBDMOU_INCORRECT_RESPONSE         0x0004
-
-#define I8042_ERROR_VALUE_BASE            1000
-#define INPORT_ERROR_VALUE_BASE           2000
-#define SERIAL_MOUSE_ERROR_VALUE_BASE     3000
-
-#define IOCTL_INTERNAL_KEYBOARD_CONNECT \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISCONNECT \
-  CTL_CODE(FILE_DEVICE_KEYBOARD,0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_ENABLE \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISABLE \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_CONNECT \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISCONNECT \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_ENABLE \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISABLE \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef struct _CONNECT_DATA {
-	PDEVICE_OBJECT  ClassDeviceObject;
-	PVOID  ClassService;
-} CONNECT_DATA, *PCONNECT_DATA;
-
-typedef VOID
-(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
-  /*IN*/ PVOID NormalContext,
-  /*IN*/ PVOID SystemArgument1,
-  /*IN*/ PVOID SystemArgument2,
-  /*IN OUT*/ PVOID SystemArgument3);
-
-#endif /* __KBDMOU_H */
Index: Daodan/MinGW/include/ddk/mcd.h
===================================================================
--- Daodan/MinGW/include/ddk/mcd.h	(revision 1046)
+++ 	(revision )
@@ -1,143 +1,0 @@
-/*
- * mcd.h
- *
- * Media changer driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MCD_H
-#define __MCD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "srb.h"
-#include "scsi.h"
-#include "ntddchgr.h"
-
-#if defined(_MCD_)
-  #define CHANGERAPI DECLSPEC_EXPORT
-#else
-  #define CHANGERAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DebugPrint
-#undef DebugPrint
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ChangerClassDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-#define MAXIMUM_CHANGER_INQUIRY_DATA			252
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassAllocatePool(
-  /*IN*/ POOL_TYPE  PoolType,
-  /*IN*/ ULONG  NumberOfBytes);
-
-VOID
-ChangerClassDebugPrint(
-  ULONG  DebugPrintLevel,
-  PCCHAR  DebugMessage,
-  ...);
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassFreePool(
-  /*IN*/ PVOID  PoolToFree);
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassSendSrbSynchronous(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferSize,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_INITIALIZE)(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject);
-
-typedef ULONG DDKAPI
-(*CHANGER_EXTENSION_SIZE)(
-  VOID);
-
-typedef VOID DDKAPI
-(*CHANGER_ERROR_ROUTINE)(
-  PDEVICE_OBJECT  DeviceObject,
-  PSCSI_REQUEST_BLOCK  Srb,
-  NTSTATUS  *Status,
-  BOOLEAN  *Retry);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_COMMAND_ROUTINE)(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_PERFORM_DIAGNOSTICS)(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*OUT*/ PWMI_CHANGER_PROBLEM_DEVICE_ERROR  ChangerDeviceError);
-
-typedef struct _MCD_INIT_DATA {
-  ULONG  InitDataSize;
-  CHANGER_EXTENSION_SIZE  ChangerAdditionalExtensionSize;
-  CHANGER_INITIALIZE  ChangerInitialize;
-  CHANGER_ERROR_ROUTINE  ChangerError;
-  CHANGER_PERFORM_DIAGNOSTICS  ChangerPerformDiagnostics;
-  CHANGER_COMMAND_ROUTINE  ChangerGetParameters;
-  CHANGER_COMMAND_ROUTINE  ChangerGetStatus;
-  CHANGER_COMMAND_ROUTINE  ChangerGetProductData;
-  CHANGER_COMMAND_ROUTINE  ChangerSetAccess;
-  CHANGER_COMMAND_ROUTINE  ChangerGetElementStatus;
-  CHANGER_COMMAND_ROUTINE  ChangerInitializeElementStatus;
-  CHANGER_COMMAND_ROUTINE  ChangerSetPosition;
-  CHANGER_COMMAND_ROUTINE  ChangerExchangeMedium;
-  CHANGER_COMMAND_ROUTINE  ChangerMoveMedium;
-  CHANGER_COMMAND_ROUTINE  ChangerReinitializeUnit;
-  CHANGER_COMMAND_ROUTINE  ChangerQueryVolumeTags;
-} MCD_INIT_DATA, *PMCD_INIT_DATA;
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassInitialize(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PUNICODE_STRING  RegistryPath,
-  /*IN*/ PMCD_INIT_DATA  MCDInitData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MCD_H */
Index: Daodan/MinGW/include/ddk/miniport.h
===================================================================
--- Daodan/MinGW/include/ddk/miniport.h	(revision 1046)
+++ 	(revision )
@@ -1,77 +1,0 @@
-/*
- * miniport.h
- *
- * Type definitions for miniport drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MINIPORT_H
-#define __MINIPORT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define EMULATOR_READ_ACCESS              0x01
-#define EMULATOR_WRITE_ACCESS             0x02
-
-typedef enum _EMULATOR_PORT_ACCESS_TYPE {
-	Uchar,
-	Ushort,
-	Ulong
-} EMULATOR_PORT_ACCESS_TYPE, *PEMULATOR_PORT_ACCESS_TYPE;
-
-
-typedef struct _EMULATOR_ACCESS_ENTRY {
-  ULONG  BasePort;
-  ULONG  NumConsecutivePorts;
-  EMULATOR_PORT_ACCESS_TYPE  AccessType;
-  UCHAR  AccessMode;
-  UCHAR  StringSupport;
-  PVOID  Routine;
-} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in video.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
-  PHYSICAL_ADDRESS  RangeStart;
-  ULONG  RangeLength;
-  UCHAR  RangeInIoSpace;
-  UCHAR  RangeVisible;
-  UCHAR  RangeShareable;
-  UCHAR  RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PBANKED_SECTION_ROUTINE)(
-  /*IN*/ ULONG  ReadBank,
-  /*IN*/ ULONG  WriteBank,
-  /*IN*/ PVOID  Context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINIPORT_H */
Index: Daodan/MinGW/include/ddk/minitape.h
===================================================================
--- Daodan/MinGW/include/ddk/minitape.h	(revision 1046)
+++ 	(revision )
@@ -1,223 +1,0 @@
-/*
- * minitape.h
- *
- * Minitape driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef __MINITAPE_H
-#define __MINITAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#define MEDIA_ERASEABLE                   0x00000001
-#define MEDIA_WRITE_ONCE                  0x00000002
-#define MEDIA_READ_ONLY                   0x00000004
-#define MEDIA_READ_WRITE                  0x00000008
-#define MEDIA_WRITE_PROTECTED             0x00000100
-#define MEDIA_CURRENTLY_MOUNTED           0x80000000
-
-typedef enum _TAPE_STATUS {
-	TAPE_STATUS_SEND_SRB_AND_CALLBACK,
-	TAPE_STATUS_CALLBACK,
-	TAPE_STATUS_CHECK_TEST_UNIT_READY,
-	TAPE_STATUS_SUCCESS,
-	TAPE_STATUS_INSUFFICIENT_RESOURCES,
-	TAPE_STATUS_NOT_IMPLEMENTED,
-	TAPE_STATUS_INVALID_DEVICE_REQUEST,
-	TAPE_STATUS_INVALID_PARAMETER,
-	TAPE_STATUS_MEDIA_CHANGED,
-	TAPE_STATUS_BUS_RESET,
-	TAPE_STATUS_SETMARK_DETECTED,
-	TAPE_STATUS_FILEMARK_DETECTED,
-	TAPE_STATUS_BEGINNING_OF_MEDIA,
-	TAPE_STATUS_END_OF_MEDIA,
-	TAPE_STATUS_BUFFER_OVERFLOW,
-	TAPE_STATUS_NO_DATA_DETECTED,
-	TAPE_STATUS_EOM_OVERFLOW,
-	TAPE_STATUS_NO_MEDIA,
-	TAPE_STATUS_IO_DEVICE_ERROR,
-	TAPE_STATUS_UNRECOGNIZED_MEDIA,
-	TAPE_STATUS_DEVICE_NOT_READY,
-	TAPE_STATUS_MEDIA_WRITE_PROTECTED,
-	TAPE_STATUS_DEVICE_DATA_ERROR,
-	TAPE_STATUS_NO_SUCH_DEVICE,
-	TAPE_STATUS_INVALID_BLOCK_LENGTH,
-	TAPE_STATUS_IO_TIMEOUT,
-	TAPE_STATUS_DEVICE_NOT_CONNECTED,
-	TAPE_STATUS_DATA_OVERRUN,
-	TAPE_STATUS_DEVICE_BUSY,
-	TAPE_STATUS_REQUIRES_CLEANING,
-	TAPE_STATUS_CLEANER_CARTRIDGE_INSTALLED
-} TAPE_STATUS, *PTAPE_STATUS;
-
-#define INQUIRYDATABUFFERSIZE 36
-#ifndef _INQUIRYDATA_DEFINED /* also in scsi.h */
-#define _INQUIRYDATA_DEFINED
-typedef struct _INQUIRYDATA {
-	UCHAR  DeviceType : 5;
-	UCHAR  DeviceTypeQualifier : 3;
-	UCHAR  DeviceTypeModifier : 7;
-	UCHAR  RemovableMedia : 1;
-	union {
-		UCHAR  Versions;
-		struct {
-			UCHAR  ANSIVersion : 3;
-			UCHAR  ECMAVersion : 3;
-			UCHAR  ISOVersion : 2;
-		};
-	};
-	UCHAR  ResponseDataFormat : 4;
-	UCHAR  HiSupport : 1;
-	UCHAR  NormACA : 1;
-	UCHAR  TerminateTask : 1;
-	UCHAR  AERC : 1;
-	UCHAR  AdditionalLength;
-	UCHAR  Reserved;
-	UCHAR  Addr16 : 1;
-	UCHAR  Addr32 : 1;
-	UCHAR  AckReqQ: 1;
-	UCHAR  MediumChanger : 1;
-	UCHAR  MultiPort : 1;
-	UCHAR  ReservedBit2 : 1;
-	UCHAR  EnclosureServices : 1;
-	UCHAR  ReservedBit3 : 1;
-	UCHAR  SoftReset : 1;
-	UCHAR  CommandQueue : 1;
-	UCHAR  TransferDisable : 1;
-	UCHAR  LinkedCommands : 1;
-	UCHAR  Synchronous : 1;
-	UCHAR  Wide16Bit : 1;
-	UCHAR  Wide32Bit : 1;
-	UCHAR  RelativeAddressing : 1;
-	UCHAR  VendorId[8];
-	UCHAR  ProductId[16];
-	UCHAR  ProductRevisionLevel[4];
-	UCHAR  VendorSpecific[20];
-	UCHAR  Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-typedef struct _MODE_CAPABILITIES_PAGE {
-	UCHAR PageCode : 6;
-	UCHAR Reserved1 : 2;
-	UCHAR PageLength;
-	UCHAR Reserved2[2];
-	UCHAR RO : 1;
-	UCHAR Reserved3 : 4;
-	UCHAR SPREV : 1;
-	UCHAR Reserved4 : 2;
-	UCHAR Reserved5 : 3;
-	UCHAR EFMT : 1;
-	UCHAR Reserved6 : 1;
-	UCHAR QFA : 1;
-	UCHAR Reserved7 : 2;
-	UCHAR LOCK : 1;
-	UCHAR LOCKED : 1;
-	UCHAR PREVENT : 1;
-	UCHAR UNLOAD : 1;
-	UCHAR Reserved8 : 2;
-	UCHAR ECC : 1;
-	UCHAR CMPRS : 1;
-	UCHAR Reserved9 : 1;
-	UCHAR BLK512 : 1;
-	UCHAR BLK1024 : 1;
-	UCHAR Reserved10 : 4;
-	UCHAR SLOWB : 1;
-	UCHAR MaximumSpeedSupported[2];
-	UCHAR MaximumStoredDefectedListEntries[2];
-	UCHAR ContinuousTransferLimit[2];
-	UCHAR CurrentSpeedSelected[2];
-	UCHAR BufferSize[2];
-	UCHAR Reserved11[2];
-} MODE_CAPABILITIES_PAGE, *PMODE_CAPABILITIES_PAGE;
-
-typedef BOOLEAN DDKAPI
-(*TAPE_VERIFY_INQUIRY_ROUTINE)(
-  /*IN*/ PINQUIRYDATA  InquiryData,
-  /*IN*/ PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_EXTENSION_INIT_ROUTINE)(
-  /*IN*/ PVOID  MinitapeExtension,
-  /*IN*/ PINQUIRYDATA  InquiryData,
-  /*IN*/ PMODE_CAPABILITIES_PAGE  ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_ERROR_ROUTINE)(
-  /*IN*/ PVOID  MinitapeExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,
-  /*IN OUT*/ PTAPE_STATUS  TapeStatus);
-
-typedef TAPE_STATUS DDKAPI
-(*TAPE_PROCESS_COMMAND_ROUTINE)(
-  /*IN OUT*/ PVOID  MinitapeExtension,
-  /*IN OUT*/ PVOID  CommandExtension,
-  /*IN OUT*/ PVOID  CommandParameters,
-  /*IN OUT*/ PSCSI_REQUEST_BLOCK  Srb,
-  /*IN*/ ULONG  CallNumber,
-  /*IN*/ TAPE_STATUS  StatusOfLastCommand,
-  /*IN OUT*/ PULONG  RetryFlags);
-
-#define TAPE_RETRY_MASK                   0x0000FFFF
-#define IGNORE_ERRORS                     0x00010000
-#define RETURN_ERRORS                     0x00020000
-
-typedef struct _TAPE_INIT_DATA {
-  TAPE_VERIFY_INQUIRY_ROUTINE  VerifyInquiry;
-  BOOLEAN  QueryModeCapabilitiesPage;
-  ULONG  MinitapeExtensionSize;
-  TAPE_EXTENSION_INIT_ROUTINE  ExtensionInit;
-  ULONG  DefaultTimeOutValue;
-  TAPE_ERROR_ROUTINE  TapeError;
-  ULONG  CommandExtensionSize;
-  TAPE_PROCESS_COMMAND_ROUTINE  CreatePartition;
-  TAPE_PROCESS_COMMAND_ROUTINE  Erase;
-  TAPE_PROCESS_COMMAND_ROUTINE  GetDriveParameters;
-  TAPE_PROCESS_COMMAND_ROUTINE  GetMediaParameters;
-  TAPE_PROCESS_COMMAND_ROUTINE  GetPosition;
-  TAPE_PROCESS_COMMAND_ROUTINE  GetStatus;
-  TAPE_PROCESS_COMMAND_ROUTINE  Prepare;
-  TAPE_PROCESS_COMMAND_ROUTINE  SetDriveParameters;
-  TAPE_PROCESS_COMMAND_ROUTINE  SetMediaParameters;
-  TAPE_PROCESS_COMMAND_ROUTINE  SetPosition;
-  TAPE_PROCESS_COMMAND_ROUTINE  WriteMarks;
-  TAPE_PROCESS_COMMAND_ROUTINE  PreProcessReadWrite /* OPTIONAL */;
-} TAPE_INIT_DATA, *PTAPE_INIT_DATA;
-
-typedef struct _TAPE_PHYS_POSITION {
-	ULONG  SeekBlockAddress;
-	ULONG  SpaceBlockCount;
-} TAPE_PHYS_POSITION, PTAPE_PHYS_POSITION;
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINITAPE_H */
Index: Daodan/MinGW/include/ddk/mountdev.h
===================================================================
--- Daodan/MinGW/include/ddk/mountdev.h	(revision 1046)
+++ 	(revision )
@@ -1,79 +1,0 @@
-/*
- * mountdev.h
- *
- * Mount point manager/mounted devices interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MOUNTDEV_H
-#define __MOUNTDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "mountmgr.h"
-
-#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_CREATED \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_DELETED \
-  CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
-  BOOLEAN  UseOnlyIfThereAreNoOtherLinks;
-  USHORT  NameLength;
-  WCHAR  Name[1];
-} MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
-
-typedef struct _MOUNTDEV_UNIQUE_ID {
-  USHORT  UniqueIdLength;
-  UCHAR  UniqueId[1];
-} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
-
-typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
-  ULONG  Size;
-  USHORT  OldUniqueIdOffset;
-  USHORT  OldUniqueIdLength;
-  USHORT  NewUniqueIdOffset;
-  USHORT  NewUniqueIdLength;
-} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTDEV_H */
Index: Daodan/MinGW/include/ddk/mountmgr.h
===================================================================
--- Daodan/MinGW/include/ddk/mountmgr.h	(revision 1046)
+++ 	(revision )
@@ -1,139 +1,0 @@
-/*
- * mountmgr.h
- *
- * Mount point manager interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MOUNTMGR_H
-#define __MOUNTMGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(MOUNTDEV_MOUNTED_DEVICE_GUID,
-	0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-#define MOUNTMGRCONTROLTYPE  							((ULONG)'m')
-#define MOUNTDEVCONTROLTYPE  							((ULONG)'M')
-
-#define MOUNTMGR_DEVICE_NAME              L"\\Device\\MountPointManager"
-#define MOUNTMGR_DOS_DEVICE_NAME          L"\\\\.\\MountPointManager"
-
-#define IOCTL_MOUNTMGR_CREATE_POINT \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_QUERY_POINTS \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHANGE_NOTIFY \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \
-  CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef struct _MOUNTDEV_NAME {
-  USHORT  NameLength;
-  WCHAR  Name[1];
-} MOUNTDEV_NAME, *PMOUNTDEV_NAME;
-
-typedef struct _MOUNTMGR_CHANGE_NOTIFY_INFO {
-  ULONG  EpicNumber;
-} MOUNTMGR_CHANGE_NOTIFY_INFO, *PMOUNTMGR_CHANGE_NOTIFY_INFO;
-
-typedef struct _MOUNTMGR_CREATE_POINT_INPUT {
-  USHORT  SymbolicLinkNameOffset;
-  USHORT  SymbolicLinkNameLength;
-  USHORT  DeviceNameOffset;
-  USHORT  DeviceNameLength;
-} MOUNTMGR_CREATE_POINT_INPUT, *PMOUNTMGR_CREATE_POINT_INPUT;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_INFORMATION {
-  BOOLEAN  DriveLetterWasAssigned;
-  UCHAR  CurrentDriveLetter;
-} MOUNTMGR_DRIVE_LETTER_INFORMATION, *PMOUNTMGR_DRIVE_LETTER_INFORMATION;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_TARGET {
-  USHORT  DeviceNameLength;
-  WCHAR  DeviceName[1];
-} MOUNTMGR_DRIVE_LETTER_TARGET, *PMOUNTMGR_DRIVE_LETTER_TARGET;
-
-typedef struct _MOUNTMGR_MOUNT_POINT {
-  ULONG  SymbolicLinkNameOffset;
-  USHORT  SymbolicLinkNameLength;
-  ULONG  UniqueIdOffset;
-  USHORT  UniqueIdLength;
-  ULONG  DeviceNameOffset;
-  USHORT  DeviceNameLength;
-} MOUNTMGR_MOUNT_POINT, *PMOUNTMGR_MOUNT_POINT;
-
-typedef struct _MOUNTMGR_MOUNT_POINTS {
-  ULONG  Size;
-  ULONG  NumberOfMountPoints;
-  MOUNTMGR_MOUNT_POINT  MountPoints[1];
-} MOUNTMGR_MOUNT_POINTS, *PMOUNTMGR_MOUNT_POINTS;
-
-typedef struct _MOUNTMGR_TARGET_NAME {
-  USHORT  DeviceNameLength;
-  WCHAR  DeviceName[1];
-} MOUNTMGR_TARGET_NAME, *PMOUNTMGR_TARGET_NAME;
-
-typedef struct _MOUNTMGR_VOLUME_MOUNT_POINT {
-  USHORT  SourceVolumeNameOffset;
-  USHORT  SourceVolumeNameLength;
-  USHORT  TargetVolumeNameOffset;
-  USHORT  TargetVolumeNameLength;
-} MOUNTMGR_VOLUME_MOUNT_POINT, *PMOUNTMGR_VOLUME_MOUNT_POINT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTMGR_H */
Index: Daodan/MinGW/include/ddk/ndis.h
===================================================================
--- Daodan/MinGW/include/ddk/ndis.h	(revision 1046)
+++ 	(revision )
@@ -1,5317 +1,0 @@
-/*
- * ndis.h
- *
- * Network Device Interface Specification definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * DEFINES: i386                 - Target platform is i386
- *          _NDIS_               - Define only for NDIS library
- *          NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
- *          NDIS40               - Use NDIS 4.0 structures by default
- *          NDIS50               - Use NDIS 5.0 structures by default
- *          NDIS50_MINIPORT      - Building NDIS 5.0 miniport driver
- *          NDIS51_MINIPORT      - Building NDIS 5.1 miniport driver
- */
-#ifndef __NDIS_H
-#define __NDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddndis.h"
-#include "netpnp.h"
-#include "netevent.h"
-#include <winsock2.h>
-
-#if defined(_NDIS_)
-  #define NDISAPI DECLSPEC_EXPORT
-#else
-  #define NDISAPI DECLSPEC_IMPORT
-#endif
-
-#if defined(NDIS50_MINIPORT)
-#ifndef NDIS50
-#define NDIS50
-#define NDIS_MINIPORT_MAJOR_VERSION 5
-#define NDIS_MINIPORT_MINOR_VERSION 0
-#endif
-#endif /* NDIS50_MINIPORT */
-
-#if defined(NDIS51_MINIPORT)
-#ifndef NDIS51
-#define NDIS51
-#define NDIS_MINIPORT_MAJOR_VERSION 5
-#define NDIS_MINIPORT_MINOR_VERSION 1
-#endif
-#endif /* NDIS51_MINIPORT */
-
-/* NDIS 3.0 is default */
-#if !defined(NDIS30) || !defined(NDIS40) || !defined(NDIS50) || !defined(NDIS51)
-#define NDIS30
-#endif /* !NDIS30 || !NDIS40 || !NDIS50 || !NDIS51 */
-
-#if 1
-/* FIXME: */
-typedef PVOID QUEUED_CLOSE;
-#endif
-
-typedef ULONG NDIS_OID, *PNDIS_OID;
-
-typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER;
-typedef struct _X_FILTER TR_FILTER, *PTR_FILTER;
-typedef struct _X_FILTER NULL_FILTER, *PNULL_FILTER;
-
-typedef struct _REFERENCE {
-	KSPIN_LOCK  SpinLock;
-	USHORT  ReferenceCount;
-	BOOLEAN  Closing;
-} REFERENCE, * PREFERENCE;
-
-
-/* NDIS base types */
-
-typedef struct _NDIS_SPIN_LOCK {
-  KSPIN_LOCK  SpinLock;
-  KIRQL  OldIrql;
-} NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
-
-typedef struct _NDIS_EVENT {
-  KEVENT  Event;
-} NDIS_EVENT, *PNDIS_EVENT;
-
-typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
-
-typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
-typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
-
-typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
-typedef ULONG NDIS_ERROR_CODE, *PNDIS_ERROR_CODE;
-
-
-/* NDIS_STATUS constants */
-#define NDIS_STATUS_SUCCESS                     ((NDIS_STATUS)STATUS_SUCCESS)
-#define NDIS_STATUS_PENDING                     ((NDIS_STATUS)STATUS_PENDING)
-#define NDIS_STATUS_NOT_RECOGNIZED              ((NDIS_STATUS)0x00010001L)
-#define NDIS_STATUS_NOT_COPIED                  ((NDIS_STATUS)0x00010002L)
-#define NDIS_STATUS_NOT_ACCEPTED                ((NDIS_STATUS)0x00010003L)
-#define NDIS_STATUS_CALL_ACTIVE                 ((NDIS_STATUS)0x00010007L)
-#define NDIS_STATUS_ONLINE                      ((NDIS_STATUS)0x40010003L)
-#define NDIS_STATUS_RESET_START                 ((NDIS_STATUS)0x40010004L)
-#define NDIS_STATUS_RESET_END                   ((NDIS_STATUS)0x40010005L)
-#define NDIS_STATUS_RING_STATUS                 ((NDIS_STATUS)0x40010006L)
-#define NDIS_STATUS_CLOSED                      ((NDIS_STATUS)0x40010007L)
-#define NDIS_STATUS_WAN_LINE_UP                 ((NDIS_STATUS)0x40010008L)
-#define NDIS_STATUS_WAN_LINE_DOWN               ((NDIS_STATUS)0x40010009L)
-#define NDIS_STATUS_WAN_FRAGMENT                ((NDIS_STATUS)0x4001000AL)
-#define	NDIS_STATUS_MEDIA_CONNECT               ((NDIS_STATUS)0x4001000BL)
-#define	NDIS_STATUS_MEDIA_DISCONNECT            ((NDIS_STATUS)0x4001000CL)
-#define NDIS_STATUS_HARDWARE_LINE_UP            ((NDIS_STATUS)0x4001000DL)
-#define NDIS_STATUS_HARDWARE_LINE_DOWN          ((NDIS_STATUS)0x4001000EL)
-#define NDIS_STATUS_INTERFACE_UP                ((NDIS_STATUS)0x4001000FL)
-#define NDIS_STATUS_INTERFACE_DOWN              ((NDIS_STATUS)0x40010010L)
-#define NDIS_STATUS_MEDIA_BUSY                  ((NDIS_STATUS)0x40010011L)
-#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION   ((NDIS_STATUS)0x40010012L)
-#define NDIS_STATUS_WW_INDICATION               NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
-#define NDIS_STATUS_LINK_SPEED_CHANGE           ((NDIS_STATUS)0x40010013L)
-#define NDIS_STATUS_WAN_GET_STATS               ((NDIS_STATUS)0x40010014L)
-#define NDIS_STATUS_WAN_CO_FRAGMENT             ((NDIS_STATUS)0x40010015L)
-#define NDIS_STATUS_WAN_CO_LINKPARAMS           ((NDIS_STATUS)0x40010016L)
-
-#define NDIS_STATUS_NOT_RESETTABLE              ((NDIS_STATUS)0x80010001L)
-#define NDIS_STATUS_SOFT_ERRORS	                ((NDIS_STATUS)0x80010003L)
-#define NDIS_STATUS_HARD_ERRORS                 ((NDIS_STATUS)0x80010004L)
-#define NDIS_STATUS_BUFFER_OVERFLOW	            ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
-
-#define NDIS_STATUS_FAILURE	                    ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
-#define NDIS_STATUS_RESOURCES                   ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
-#define NDIS_STATUS_CLOSING	                    ((NDIS_STATUS)0xC0010002L)
-#define NDIS_STATUS_BAD_VERSION	                ((NDIS_STATUS)0xC0010004L)
-#define NDIS_STATUS_BAD_CHARACTERISTICS         ((NDIS_STATUS)0xC0010005L)
-#define NDIS_STATUS_ADAPTER_NOT_FOUND           ((NDIS_STATUS)0xC0010006L)
-#define NDIS_STATUS_OPEN_FAILED	                ((NDIS_STATUS)0xC0010007L)
-#define NDIS_STATUS_DEVICE_FAILED               ((NDIS_STATUS)0xC0010008L)
-#define NDIS_STATUS_MULTICAST_FULL              ((NDIS_STATUS)0xC0010009L)
-#define NDIS_STATUS_MULTICAST_EXISTS            ((NDIS_STATUS)0xC001000AL)
-#define NDIS_STATUS_MULTICAST_NOT_FOUND	        ((NDIS_STATUS)0xC001000BL)
-#define NDIS_STATUS_REQUEST_ABORTED	            ((NDIS_STATUS)0xC001000CL)
-#define NDIS_STATUS_RESET_IN_PROGRESS           ((NDIS_STATUS)0xC001000DL)
-#define NDIS_STATUS_CLOSING_INDICATING          ((NDIS_STATUS)0xC001000EL)
-#define NDIS_STATUS_NOT_SUPPORTED               ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
-#define NDIS_STATUS_INVALID_PACKET              ((NDIS_STATUS)0xC001000FL)
-#define NDIS_STATUS_OPEN_LIST_FULL              ((NDIS_STATUS)0xC0010010L)
-#define NDIS_STATUS_ADAPTER_NOT_READY           ((NDIS_STATUS)0xC0010011L)
-#define NDIS_STATUS_ADAPTER_NOT_OPEN            ((NDIS_STATUS)0xC0010012L)
-#define NDIS_STATUS_NOT_INDICATING              ((NDIS_STATUS)0xC0010013L)
-#define NDIS_STATUS_INVALID_LENGTH              ((NDIS_STATUS)0xC0010014L)
-#define NDIS_STATUS_INVALID_DATA                ((NDIS_STATUS)0xC0010015L)
-#define NDIS_STATUS_BUFFER_TOO_SHORT            ((NDIS_STATUS)0xC0010016L)
-#define NDIS_STATUS_INVALID_OID	                ((NDIS_STATUS)0xC0010017L)
-#define NDIS_STATUS_ADAPTER_REMOVED	            ((NDIS_STATUS)0xC0010018L)
-#define NDIS_STATUS_UNSUPPORTED_MEDIA           ((NDIS_STATUS)0xC0010019L)
-#define NDIS_STATUS_GROUP_ADDRESS_IN_USE        ((NDIS_STATUS)0xC001001AL)
-#define NDIS_STATUS_FILE_NOT_FOUND              ((NDIS_STATUS)0xC001001BL)
-#define NDIS_STATUS_ERROR_READING_FILE          ((NDIS_STATUS)0xC001001CL)
-#define NDIS_STATUS_ALREADY_MAPPED              ((NDIS_STATUS)0xC001001DL)
-#define NDIS_STATUS_RESOURCE_CONFLICT           ((NDIS_STATUS)0xC001001EL)
-#define NDIS_STATUS_NO_CABLE                    ((NDIS_STATUS)0xC001001FL)
-
-#define NDIS_STATUS_INVALID_SAP	                ((NDIS_STATUS)0xC0010020L)
-#define NDIS_STATUS_SAP_IN_USE                  ((NDIS_STATUS)0xC0010021L)
-#define NDIS_STATUS_INVALID_ADDRESS             ((NDIS_STATUS)0xC0010022L)
-#define NDIS_STATUS_VC_NOT_ACTIVATED            ((NDIS_STATUS)0xC0010023L)
-#define NDIS_STATUS_DEST_OUT_OF_ORDER           ((NDIS_STATUS)0xC0010024L)
-#define NDIS_STATUS_VC_NOT_AVAILABLE            ((NDIS_STATUS)0xC0010025L)
-#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE      ((NDIS_STATUS)0xC0010026L)
-#define NDIS_STATUS_INCOMPATABLE_QOS            ((NDIS_STATUS)0xC0010027L)
-#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED      ((NDIS_STATUS)0xC0010028L)
-#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION     ((NDIS_STATUS)0xC0010029L)
-
-#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR       ((NDIS_STATUS)0xC0011000L)
-#define NDIS_STATUS_INVALID_DEVICE_REQUEST      ((NDIS_STATUS)STATUS_INVALID_DEVICE_REQUEST)
-#define NDIS_STATUS_NETWORK_UNREACHABLE         ((NDIS_STATUS)STATUS_NETWORK_UNREACHABLE)
-
-
-/* NDIS error codes for error logging */
-
-#define NDIS_ERROR_CODE_RESOURCE_CONFLICT			            EVENT_NDIS_RESOURCE_CONFLICT
-#define NDIS_ERROR_CODE_OUT_OF_RESOURCES			            EVENT_NDIS_OUT_OF_RESOURCE
-#define NDIS_ERROR_CODE_HARDWARE_FAILURE			            EVENT_NDIS_HARDWARE_FAILURE
-#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND			            EVENT_NDIS_ADAPTER_NOT_FOUND
-#define NDIS_ERROR_CODE_INTERRUPT_CONNECT			            EVENT_NDIS_INTERRUPT_CONNECT
-#define NDIS_ERROR_CODE_DRIVER_FAILURE				            EVENT_NDIS_DRIVER_FAILURE
-#define NDIS_ERROR_CODE_BAD_VERSION					              EVENT_NDIS_BAD_VERSION
-#define NDIS_ERROR_CODE_TIMEOUT						                EVENT_NDIS_TIMEOUT
-#define NDIS_ERROR_CODE_NETWORK_ADDRESS				            EVENT_NDIS_NETWORK_ADDRESS
-#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION	        EVENT_NDIS_UNSUPPORTED_CONFIGURATION
-#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER	      EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
-#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER	  EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
-#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS			          EVENT_NDIS_BAD_IO_BASE_ADDRESS
-#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL			          EVENT_NDIS_RECEIVE_SPACE_SMALL
-#define NDIS_ERROR_CODE_ADAPTER_DISABLED			            EVENT_NDIS_ADAPTER_DISABLED
-
-
-/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
-#define NDIS_MEMORY_CONTIGUOUS            0x00000001
-#define NDIS_MEMORY_NONCACHED             0x00000002
-
-/* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
-#define	NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT    0x00000001
-#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT   0x00000002
-#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
-#define NDIS_ATTRIBUTE_BUS_MASTER               0x00000008
-#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER      0x00000010
-#define NDIS_ATTRIBUTE_DESERIALIZE              0x00000020
-#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND       0x00000040
-#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK       0x00000080
-#define NDIS_ATTRIBUTE_NOT_CO_NDIS              0x00000100
-#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS    0x00000200
-
-
-/* Lock */
-
-typedef union _NDIS_RW_LOCK_REFCOUNT {
-  UINT  RefCount;
-  UCHAR  cacheLine[16];
-} NDIS_RW_LOCK_REFCOUNT;
-
-typedef struct _NDIS_RW_LOCK {
-  union {
-    struct {
-      KSPIN_LOCK  SpinLock;
-      PVOID  Context;
-    } s;
-    UCHAR  Reserved[16];
-  } u;
-
-  NDIS_RW_LOCK_REFCOUNT  RefCount[MAXIMUM_PROCESSORS];
-} NDIS_RW_LOCK, *PNDIS_RW_LOCK;
-
-typedef struct _LOCK_STATE {
-  USHORT  LockState;
-  KIRQL  OldIrql;
-} LOCK_STATE, *PLOCK_STATE;
-
-
-
-/* Timer */
-
-typedef VOID DDKAPI
-(*PNDIS_TIMER_FUNCTION)(
-  /*IN*/ PVOID  SystemSpecific1,
-  /*IN*/ PVOID  FunctionContext,
-  /*IN*/ PVOID  SystemSpecific2,
-  /*IN*/ PVOID  SystemSpecific3);
-
-typedef struct _NDIS_TIMER {
-  KTIMER  Timer;
-  KDPC  Dpc;
-} NDIS_TIMER, *PNDIS_TIMER;
-
-
-
-/* Hardware */
-
-typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
-typedef CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION, *PNDIS_EISA_SLOT_INFORMATION;
-typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;
-typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
-
-/* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS {
-  NdisHardwareStatusReady,
-  NdisHardwareStatusInitializing,
-  NdisHardwareStatusReset,
-  NdisHardwareStatusClosing,
-  NdisHardwareStatusNotReady
-} NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
-
-/* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS {
-  ULONG  Flags;
-  ULONG  ClockPrecision;
-} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
-
-/* Flag bits */
-#define	READABLE_LOCAL_CLOCK                    0x00000001
-#define	CLOCK_NETWORK_DERIVED                   0x00000002
-#define	CLOCK_PRECISION                         0x00000004
-#define	RECEIVE_TIME_INDICATION_CAPABLE         0x00000008
-#define	TIMED_SEND_CAPABLE                      0x00000010
-#define	TIME_STAMP_CAPABLE                      0x00000020
-
-/* OID_GEN_GET_NETCARD_TIME */
-typedef struct _GEN_GET_NETCARD_TIME {
-  ULONGLONG  ReadTime;
-} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
-
-/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM {
-  NdisMedium802_3,
-  NdisMedium802_5,
-  NdisMediumFddi,
-  NdisMediumWan,
-  NdisMediumLocalTalk,
-  NdisMediumDix,
-  NdisMediumArcnetRaw,
-  NdisMediumArcnet878_2,
-  NdisMediumAtm,
-  NdisMediumWirelessWan,
-  NdisMediumIrda,
-  NdisMediumBpc,
-  NdisMediumCoWan,
-  NdisMedium1394,
-  NdisMediumMax
-} NDIS_MEDIUM, *PNDIS_MEDIUM;
-
-/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
-#define NDIS_PACKET_TYPE_DIRECTED               0x00000001
-#define NDIS_PACKET_TYPE_MULTICAST              0x00000002
-#define NDIS_PACKET_TYPE_ALL_MULTICAST          0x00000004
-#define NDIS_PACKET_TYPE_BROADCAST              0x00000008
-#define NDIS_PACKET_TYPE_SOURCE_ROUTING         0x00000010
-#define NDIS_PACKET_TYPE_PROMISCUOUS            0x00000020
-#define NDIS_PACKET_TYPE_SMT                    0x00000040
-#define NDIS_PACKET_TYPE_ALL_LOCAL              0x00000080
-#define NDIS_PACKET_TYPE_GROUP                  0x00001000
-#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL         0x00002000
-#define NDIS_PACKET_TYPE_FUNCTIONAL             0x00004000
-#define NDIS_PACKET_TYPE_MAC_FRAME              0x00008000
-
-/* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
-#define NDIS_PROT_OPTION_ESTIMATED_LENGTH       0x00000001
-#define NDIS_PROT_OPTION_NO_LOOPBACK            0x00000002
-#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT      0x00000004
-
-/* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
-#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA     0x00000001
-#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED      0x00000002
-#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND      0x00000004
-#define NDIS_MAC_OPTION_NO_LOOPBACK             0x00000008
-#define NDIS_MAC_OPTION_FULL_DUPLEX             0x00000010
-#define	NDIS_MAC_OPTION_EOTX_INDICATION         0x00000020
-#define	NDIS_MAC_OPTION_8021P_PRIORITY          0x00000040
-#define NDIS_MAC_OPTION_RESERVED                0x80000000
-
-/* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE {
-	NdisMediaStateConnected,
-	NdisMediaStateDisconnected
-} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
-
-/* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID {
-	GUID  Guid;
-	union {
-		NDIS_OID  Oid;
-		NDIS_STATUS  Status;
-	} u;
-	ULONG  Size;
-	ULONG  Flags;
-} NDIS_GUID, *PNDIS_GUID;
-
-#define	NDIS_GUID_TO_OID                  0x00000001
-#define	NDIS_GUID_TO_STATUS               0x00000002
-#define	NDIS_GUID_ANSI_STRING             0x00000004
-#define	NDIS_GUID_UNICODE_STRING          0x00000008
-#define	NDIS_GUID_ARRAY	                  0x00000010
-
-
-typedef struct _NDIS_PACKET_POOL {
-  NDIS_SPIN_LOCK  SpinLock;
-  struct _NDIS_PACKET *FreeList;
-  UINT  PacketLength;
-  UCHAR  Buffer[1];
-} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
-
-/* NDIS_PACKET_PRIVATE.Flags constants */
-#define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO    0x40
-#define fPACKET_ALLOCATED_BY_NDIS               0x80
-
-typedef struct _NDIS_PACKET_PRIVATE {
-  UINT  PhysicalCount;
-  UINT  TotalLength;
-  PNDIS_BUFFER  Head;
-  PNDIS_BUFFER  Tail;
-  PNDIS_PACKET_POOL  Pool;
-  UINT  Count;
-  ULONG  Flags;
-  BOOLEAN	 ValidCounts;
-  UCHAR  NdisPacketFlags;
-  USHORT  NdisPacketOobOffset;
-} NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
-
-typedef struct _NDIS_PACKET {
-  NDIS_PACKET_PRIVATE  Private;
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  MiniportReserved[2 * sizeof(PVOID)];
-      UCHAR  WrapperReserved[2 * sizeof(PVOID)];
-    } DUMMYSTRUCTNAME;
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  MiniportReservedEx[3 * sizeof(PVOID)];
-      UCHAR  WrapperReservedEx[sizeof(PVOID)];
-    } DUMMYSTRUCTNAME;
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  MacReserved[4 * sizeof(PVOID)];
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  ULONG_PTR  Reserved[2];
-  UCHAR  ProtocolReserved[1];
-} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
-
-typedef enum _NDIS_CLASS_ID {
-	NdisClass802_3Priority,
-	NdisClassWirelessWanMbxMailbox,
-	NdisClassIrdaPacketInfo,
-	NdisClassAtmAALInfo
-} NDIS_CLASS_ID;
-
-typedef struct MediaSpecificInformation {
-  UINT  NextEntryOffset;
-  NDIS_CLASS_ID  ClassId;
-  UINT  Size;
-  UCHAR  ClassInformation[1];
-} MEDIA_SPECIFIC_INFORMATION;
-
-typedef struct _NDIS_PACKET_OOB_DATA {
-  _ANONYMOUS_UNION union {
-    ULONGLONG  TimeToSend;
-    ULONGLONG  TimeSent;
-  } DUMMYUNIONNAME;
-  ULONGLONG  TimeReceived;
-  UINT  HeaderSize;
-  UINT  SizeMediaSpecificInfo;
-  PVOID  MediaSpecificInformation;
-  NDIS_STATUS  Status;
-} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
-
-typedef struct _NDIS_PM_PACKET_PATTERN {
-  ULONG  Priority;
-  ULONG  Reserved;
-  ULONG  MaskSize;
-  ULONG  PatternOffset;
-  ULONG  PatternSize;
-  ULONG  PatternFlags;
-} NDIS_PM_PACKET_PATTERN,  *PNDIS_PM_PACKET_PATTERN;
-
-
-/* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE {
-  NdisRequestQueryInformation,
-  NdisRequestSetInformation,
-  NdisRequestQueryStatistics,
-  NdisRequestOpen,
-  NdisRequestClose,
-  NdisRequestSend,
-  NdisRequestTransferData,
-  NdisRequestReset,
-  NdisRequestGeneric1,
-  NdisRequestGeneric2,
-  NdisRequestGeneric3,
-  NdisRequestGeneric4
-} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
-
-typedef struct _NDIS_REQUEST {
-  UCHAR  MacReserved[4 * sizeof(PVOID)];
-  NDIS_REQUEST_TYPE  RequestType;
-  union _DATA {
-    struct QUERY_INFORMATION {
-      NDIS_OID  Oid;
-      PVOID  InformationBuffer;
-      UINT  InformationBufferLength;
-      UINT  BytesWritten;
-      UINT  BytesNeeded;
-    } QUERY_INFORMATION;
-    struct SET_INFORMATION {
-      NDIS_OID  Oid;
-      PVOID  InformationBuffer;
-      UINT  InformationBufferLength;
-      UINT  BytesRead;
-      UINT  BytesNeeded;
-    } SET_INFORMATION;
- } DATA;
-#if (defined(NDIS50) || defined(NDIS51))
-  UCHAR  NdisReserved[9 * sizeof(PVOID)];
-  union {
-    UCHAR  CallMgrReserved[2 * sizeof(PVOID)];
-    UCHAR  ProtocolReserved[2 * sizeof(PVOID)];
-  };
-  UCHAR  MiniportReserved[2 * sizeof(PVOID)];
-#endif
-} NDIS_REQUEST, *PNDIS_REQUEST;
-
-
-
-/* Wide Area Networks definitions */
-
-typedef struct _NDIS_WAN_PACKET {
-  LIST_ENTRY  WanPacketQueue;
-  PUCHAR  CurrentBuffer;
-  ULONG  CurrentLength;
-  PUCHAR  StartBuffer;
-  PUCHAR  EndBuffer;
-  PVOID  ProtocolReserved1;
-  PVOID  ProtocolReserved2;
-  PVOID  ProtocolReserved3;
-  PVOID  ProtocolReserved4;
-  PVOID  MacReserved1;
-  PVOID  MacReserved2;
-  PVOID  MacReserved3;
-  PVOID  MacReserved4;
-} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
-
-
-
-/* DMA channel information */
-
-typedef struct _NDIS_DMA_DESCRIPTION {
-  BOOLEAN  DemandMode;
-  BOOLEAN  AutoInitialize;
-  BOOLEAN  DmaChannelSpecified;
-  DMA_WIDTH  DmaWidth;
-  DMA_SPEED  DmaSpeed;
-  ULONG  DmaPort;
-  ULONG  DmaChannel;
-} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
-
-typedef struct _NDIS_DMA_BLOCK {
-  PVOID  MapRegisterBase;
-  KEVENT  AllocationEvent;
-  PADAPTER_OBJECT  SystemAdapterObject;
-  PVOID  Miniport;
-  BOOLEAN  InProgress;
-} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
-
-
-/* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE {
-	NdisInterfaceInternal = Internal,
-	NdisInterfaceIsa = Isa,
-	NdisInterfaceEisa = Eisa,
-	NdisInterfaceMca = MicroChannel,
-	NdisInterfaceTurboChannel = TurboChannel,
-	NdisInterfacePci = PCIBus,
-	NdisInterfacePcMcia = PCMCIABus,
-	NdisInterfaceCBus = CBus,
-	NdisInterfaceMPIBus = MPIBus,
-	NdisInterfaceMPSABus = MPSABus,
-	NdisInterfaceProcessorInternal = ProcessorInternal,
-	NdisInterfaceInternalPowerBus = InternalPowerBus,
-	NdisInterfacePNPISABus = PNPISABus,
-	NdisInterfacePNPBus = PNPBus,
-	NdisMaximumInterfaceType
-} NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;
-
-#define NdisInterruptLevelSensitive       LevelSensitive
-#define NdisInterruptLatched              Latched
-typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
-
-
-typedef enum _NDIS_PARAMETER_TYPE {
-  NdisParameterInteger,
-  NdisParameterHexInteger,
-  NdisParameterString,
-  NdisParameterMultiString,
-  NdisParameterBinary
-} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
-
-typedef struct {
-	USHORT  Length;
-	PVOID  Buffer;
-} BINARY_DATA;
-
-typedef struct _NDIS_CONFIGURATION_PARAMETER {
-  NDIS_PARAMETER_TYPE  ParameterType;
-  union {
-    ULONG  IntegerData;
-    NDIS_STRING  StringData;
-    BINARY_DATA  BinaryData;
-  } ParameterData;
-} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
-
-
-typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
-
-typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
-  NDIS_PHYSICAL_ADDRESS  PhysicalAddress;
-  UINT  Length;
-} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
-
-typedef struct _NDIS_WAN_LINE_DOWN {
-  UCHAR  RemoteAddress[6];
-  UCHAR  LocalAddress[6];
-} NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;
-
-typedef struct _NDIS_WAN_LINE_UP {
-  ULONG  LinkSpeed;
-  ULONG  MaximumTotalSize;
-  NDIS_WAN_QUALITY  Quality;
-  USHORT  SendWindow;
-  UCHAR  RemoteAddress[6];
-  /*OUT*/ UCHAR  LocalAddress[6];
-  ULONG  ProtocolBufferLength;
-  PUCHAR  ProtocolBuffer;
-  USHORT  ProtocolType;
-  NDIS_STRING  DeviceName;
-} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;
-
-
-typedef VOID DDKAPI
-(*ADAPTER_SHUTDOWN_HANDLER)(
-  /*IN*/ PVOID  ShutdownContext);
-
-
-typedef struct _OID_LIST    OID_LIST, *POID_LIST;
-
-/* PnP state */
-
-typedef enum _NDIS_PNP_DEVICE_STATE {
-  NdisPnPDeviceAdded,
-  NdisPnPDeviceStarted,
-  NdisPnPDeviceQueryStopped,
-  NdisPnPDeviceStopped,
-  NdisPnPDeviceQueryRemoved,
-  NdisPnPDeviceRemoved,
-  NdisPnPDeviceSurpriseRemoved
-} NDIS_PNP_DEVICE_STATE;
-
-#define	NDIS_DEVICE_NOT_STOPPABLE                 0x00000001
-#define	NDIS_DEVICE_NOT_REMOVEABLE                0x00000002
-#define	NDIS_DEVICE_NOT_SUSPENDABLE	              0x00000004
-#define NDIS_DEVICE_DISABLE_PM                    0x00000008
-#define NDIS_DEVICE_DISABLE_WAKE_UP               0x00000010
-#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT     0x00000020
-#define NDIS_DEVICE_RESERVED                      0x00000040
-#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET  0x00000080
-#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
-
-
-/* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS {
-  USHORT  AddressLength;
-  USHORT  AddressType;
-  UCHAR  Address[1];
-} NETWORK_ADDRESS, *PNETWORK_ADDRESS;
-
-typedef struct _NETWORK_ADDRESS_LIST {
-	LONG  AddressCount;
-	USHORT  AddressType;
-	NETWORK_ADDRESS  Address[1];
-} NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
-
-/* Protocol types supported by NDIS */
-#define	NDIS_PROTOCOL_ID_DEFAULT        0x00
-#define	NDIS_PROTOCOL_ID_TCP_IP         0x02
-#define	NDIS_PROTOCOL_ID_IPX            0x06
-#define	NDIS_PROTOCOL_ID_NBF            0x07
-#define	NDIS_PROTOCOL_ID_MAX            0x0F
-#define	NDIS_PROTOCOL_ID_MASK           0x0F
-
-
-/* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _TRANSPORT_HEADER_OFFSET {
-	USHORT  ProtocolType;
-	USHORT  HeaderOffset;
-} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
-
-
-/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
-typedef struct _NDIS_CO_LINK_SPEED {
-  ULONG  Outbound;
-  ULONG  Inbound;
-} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
-
-typedef ULONG NDIS_AF, *PNDIS_AF;
-#define CO_ADDRESS_FAMILY_Q2931           ((NDIS_AF)0x1)
-#define CO_ADDRESS_FAMILY_PSCHED          ((NDIS_AF)0x2)
-#define CO_ADDRESS_FAMILY_L2TP            ((NDIS_AF)0x3)
-#define CO_ADDRESS_FAMILY_IRDA            ((NDIS_AF)0x4)
-#define CO_ADDRESS_FAMILY_1394            ((NDIS_AF)0x5)
-#define CO_ADDRESS_FAMILY_PPP             ((NDIS_AF)0x6)
-#define CO_ADDRESS_FAMILY_TAPI            ((NDIS_AF)0x800)
-#define CO_ADDRESS_FAMILY_TAPI_PROXY      ((NDIS_AF)0x801)
-
-#define CO_ADDRESS_FAMILY_PROXY           0x80000000
-
-typedef struct {
-  NDIS_AF  AddressFamily;
-  ULONG  MajorVersion;
-  ULONG  MinorVersion;
-} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
-
-typedef struct _CO_FLOW_PARAMETERS {
-  ULONG  TokenRate;
-  ULONG  TokenBucketSize;
-  ULONG  PeakBandwidth;
-  ULONG  Latency;
-  ULONG  DelayVariation;
-  SERVICETYPE  ServiceType;
-  ULONG  MaxSduSize;
-  ULONG  MinimumPolicedSize;
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
-typedef struct _CO_SPECIFIC_PARAMETERS {
-  ULONG  ParamType;
-  ULONG  Length;
-  UCHAR  Parameters[1];
-} CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
-
-typedef struct _CO_CALL_MANAGER_PARAMETERS {
-  CO_FLOW_PARAMETERS  Transmit;
-  CO_FLOW_PARAMETERS  Receive;
-  CO_SPECIFIC_PARAMETERS  CallMgrSpecific;
-} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
-
-/* CO_MEDIA_PARAMETERS.Flags constants */
-#define RECEIVE_TIME_INDICATION           0x00000001
-#define USE_TIME_STAMPS                   0x00000002
-#define TRANSMIT_VC	                      0x00000004
-#define RECEIVE_VC                        0x00000008
-#define INDICATE_ERRED_PACKETS            0x00000010
-#define INDICATE_END_OF_TX                0x00000020
-#define RESERVE_RESOURCES_VC              0x00000040
-#define	ROUND_DOWN_FLOW	                  0x00000080
-#define	ROUND_UP_FLOW                     0x00000100
-
-typedef struct _CO_MEDIA_PARAMETERS {
-  ULONG  Flags;
-  ULONG  ReceivePriority;
-  ULONG  ReceiveSizeHint;
-  CO_SPECIFIC_PARAMETERS  MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-/* CO_CALL_PARAMETERS.Flags constants */
-#define PERMANENT_VC                      0x00000001
-#define CALL_PARAMETERS_CHANGED           0x00000002
-#define QUERY_CALL_PARAMETERS             0x00000004
-#define BROADCAST_VC                      0x00000008
-#define MULTIPOINT_VC                     0x00000010
-
-typedef struct _CO_CALL_PARAMETERS {
-  ULONG  Flags;
-  PCO_CALL_MANAGER_PARAMETERS  CallMgrParameters;
-  PCO_MEDIA_PARAMETERS  MediaParameters;
-} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
-
-typedef struct _CO_SAP {
-  ULONG  SapType;
-  ULONG  SapLength;
-  UCHAR  Sap[1];
-} CO_SAP, *PCO_SAP;
-
-typedef struct _NDIS_IPSEC_PACKET_INFO {
-  _ANONYMOUS_UNION union {
-    struct {
-      NDIS_HANDLE  OffloadHandle;
-      NDIS_HANDLE  NextOffloadHandle;
-    } Transmit;
-    struct {
-      ULONG  SA_DELETE_REQ : 1;
-      ULONG  CRYPTO_DONE : 1;
-      ULONG  NEXT_CRYPTO_DONE : 1;
-      ULONG  CryptoStatus;
-    } Receive;
-  } DUMMYUNIONNAME;
-} NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;
-
-/* NDIS_MAC_FRAGMENT.Errors constants */
-#define WAN_ERROR_CRC               			0x00000001
-#define WAN_ERROR_FRAMING           			0x00000002
-#define WAN_ERROR_HARDWAREOVERRUN   			0x00000004
-#define WAN_ERROR_BUFFEROVERRUN     			0x00000008
-#define WAN_ERROR_TIMEOUT           			0x00000010
-#define WAN_ERROR_ALIGNMENT         			0x00000020
-
-typedef struct _NDIS_MAC_FRAGMENT {
-  NDIS_HANDLE  NdisLinkContext;
-  ULONG  Errors;
-} NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;
-
-typedef struct _NDIS_MAC_LINE_DOWN {
-  NDIS_HANDLE  NdisLinkContext;
-} NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;
-
-typedef struct _NDIS_MAC_LINE_UP {
-  ULONG  LinkSpeed;
-  NDIS_WAN_QUALITY  Quality;
-  USHORT  SendWindow;
-  NDIS_HANDLE  ConnectionWrapperID;
-  NDIS_HANDLE  NdisLinkHandle;
-  NDIS_HANDLE  NdisLinkContext;
-} NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
-
-typedef struct _NDIS_PACKET_8021Q_INFO {
-	_ANONYMOUS_UNION union {
-		struct {
-			UINT32  UserPriority : 3;
-			UINT32  CanonicalFormatId : 1;
-			UINT32  VlanId : 12;
-			UINT32  Reserved : 16;
-		} TagHeader;
-		PVOID  Value;
-	} DUMMYUNIONNAME;
-} NDIS_PACKET_8021Q_INFO, *PNDIS_PACKET_8021Q_INFO;
-
-typedef enum _NDIS_PER_PACKET_INFO {
-	TcpIpChecksumPacketInfo,
-	IpSecPacketInfo,
-	TcpLargeSendPacketInfo,
-	ClassificationHandlePacketInfo,
-	NdisReserved,
-	ScatterGatherListPacketInfo,
-	Ieee8021QInfo,
-	OriginalPacketInfo,
-	PacketCancelId,
-	MaxPerPacketInfo
-} NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;
-
-typedef struct _NDIS_PACKET_EXTENSION {
-  PVOID  NdisPacketInfo[MaxPerPacketInfo];
-} NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
-
-/*
- * PNDIS_PACKET
- * NDIS_GET_ORIGINAL_PACKET(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_ORIGINAL_PACKET(Packet) \
-  NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
-
-/*
- * PVOID
- * NDIS_GET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
-  NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
-
-/*
- * PNDIS_PACKET_EXTENSION
- * NDIS_PACKET_EXTENSION_FROM_PACKET(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
-  ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
-    + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
-
-/*
- * PVOID
- * NDIS_PER_PACKET_INFO_FROM_PACKET(
- * IN OUT  PNDIS_PACKET  Packet,
- * IN NDIS_PER_PACKET_INFO  InfoType);
- */
-#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
-  ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
-    + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
-
-/*
- * VOID
- * NDIS_SET_ORIGINAL_PACKET(
- * IN OUT  PNDIS_PACKET  Packet,
- * IN PNDIS_PACKET  OriginalPacket);
- */
-#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
-  NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
-
-/*
- * VOID
- * NDIS_SET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET  Packet
- * IN ULONG_PTR  CancelId);
- */
-#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
-  NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
-
-typedef enum _NDIS_TASK {
-  TcpIpChecksumNdisTask,
-  IpSecNdisTask,
-  TcpLargeSendNdisTask,
-  MaxNdisTask
-} NDIS_TASK, *PNDIS_TASK;
-
-typedef struct _NDIS_TASK_IPSEC {
-  struct {
-    ULONG  AH_ESP_COMBINED;
-    ULONG  TRANSPORT_TUNNEL_COMBINED;
-    ULONG  V4_OPTIONS;
-    ULONG  RESERVED;
-  } Supported;
-
-  struct {
-    ULONG  MD5 : 1;
-    ULONG  SHA_1 : 1;
-    ULONG  Transport : 1;
-    ULONG  Tunnel : 1;
-    ULONG  Send : 1;
-    ULONG  Receive : 1;
-  } V4AH;
-
-  struct {
-    ULONG  DES : 1;
-    ULONG  RESERVED : 1;
-    ULONG  TRIPLE_DES : 1;
-    ULONG  NULL_ESP : 1;
-    ULONG  Transport : 1;
-    ULONG  Tunnel : 1;
-    ULONG  Send : 1;
-    ULONG  Receive : 1;
-  } V4ESP;
-} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
-
-typedef enum _NDIS_ENCAPSULATION {
-  UNSPECIFIED_Encapsulation,
-  NULL_Encapsulation,
-  IEEE_802_3_Encapsulation,
-  IEEE_802_5_Encapsulation,
-  LLC_SNAP_ROUTED_Encapsulation,
-  LLC_SNAP_BRIDGED_Encapsulation
-} NDIS_ENCAPSULATION;
-
-typedef struct _NDIS_ENCAPSULATION_FORMAT {
-  NDIS_ENCAPSULATION  Encapsulation;
-  struct {
-    ULONG  FixedHeaderSize : 1;
-    ULONG  Reserved : 31;
-  } Flags;
-  ULONG  EncapsulationHeaderSize;
-} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
-
-typedef struct _NDIS_TASK_OFFLOAD_HEADER
-{
-  ULONG Version;
-  ULONG Size;
-  ULONG Reserved;
-  UCHAR OffsetFirstTask;
-  NDIS_ENCAPSULATION_FORMAT EncapsulationFormat;
-} NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER;
-
-typedef struct _NDIS_TASK_OFFLOAD {
-  ULONG  Version;
-  ULONG  Size;
-  NDIS_TASK  Task;
-  ULONG  OffsetNextTask;
-  ULONG  TaskBufferLength;
-  UCHAR  TaskBuffer[1];
-} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
-
-/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
-#define NDIS_TASK_OFFLOAD_VERSION 1
-
-typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
-  struct {
-    ULONG  IpOptionsSupported:1;
-    ULONG  TcpOptionsSupported:1;
-    ULONG  TcpChecksum:1;
-    ULONG  UdpChecksum:1;
-    ULONG  IpChecksum:1;
-  } V4Transmit;
-
-  struct {
-    ULONG  IpOptionsSupported : 1;
-    ULONG  TcpOptionsSupported : 1;
-    ULONG  TcpChecksum : 1;
-    ULONG  UdpChecksum : 1;
-    ULONG  IpChecksum : 1;
-  } V4Receive;
-
-  struct {
-    ULONG  IpOptionsSupported : 1;
-    ULONG  TcpOptionsSupported : 1;
-    ULONG  TcpChecksum : 1;
-    ULONG  UdpChecksum : 1;
-  } V6Transmit;
-
-  struct {
-    ULONG  IpOptionsSupported : 1;
-    ULONG  TcpOptionsSupported : 1;
-    ULONG  TcpChecksum : 1;
-    ULONG  UdpChecksum : 1;
-  } V6Receive;
-} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
-
-typedef struct _NDIS_TASK_TCP_LARGE_SEND {
-  ULONG  Version;
-  ULONG  MaxOffLoadSize;
-  ULONG  MinSegmentCount;
-  BOOLEAN  TcpOptions;
-  BOOLEAN  IpOptions;
-} NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;
-
-typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
-  _ANONYMOUS_UNION union {
-    struct {
-      ULONG  NdisPacketChecksumV4 : 1;
-      ULONG  NdisPacketChecksumV6 : 1;
-      ULONG  NdisPacketTcpChecksum : 1;
-      ULONG  NdisPacketUdpChecksum : 1;
-      ULONG  NdisPacketIpChecksum : 1;
-      } Transmit;
-
-    struct {
-      ULONG  NdisPacketTcpChecksumFailed : 1;
-      ULONG  NdisPacketUdpChecksumFailed : 1;
-      ULONG  NdisPacketIpChecksumFailed : 1;
-      ULONG  NdisPacketTcpChecksumSucceeded : 1;
-      ULONG  NdisPacketUdpChecksumSucceeded : 1;
-      ULONG  NdisPacketIpChecksumSucceeded : 1;
-      ULONG  NdisPacketLoopback : 1;
-    } Receive;
-    ULONG  Value;
-  } DUMMYUNIONNAME;
-} NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
-
-typedef struct _NDIS_WAN_CO_FRAGMENT {
-  ULONG  Errors;
-} NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
-
-typedef struct _NDIS_WAN_FRAGMENT {
-  UCHAR  RemoteAddress[6];
-  UCHAR  LocalAddress[6];
-} NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
-
-typedef struct _WAN_CO_LINKPARAMS {
-  ULONG  TransmitSpeed;
-  ULONG  ReceiveSpeed;
-  ULONG  SendWindow;
-} WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
-
-
-/* Call Manager */
-
-typedef VOID DDKAPI
-(*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_ADD_PARTY_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle,
-  /*OUT*/ PNDIS_HANDLE  CallMgrPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_AF_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_CALL_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN*/ NDIS_HANDLE  CallMgrPartyContext  /*OPTIONAL*/,
-  /*IN*/ PVOID  CloseData  /*OPTIONAL*/,
-  /*IN*/ UINT  Size  /*OPTIONAL*/);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DEREG_SAP_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrSapContext);
-
-typedef VOID DDKAPI
-(*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DROP_PARTY_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrPartyContext,
-  /*IN*/ PVOID  CloseData  /*OPTIONAL*/,
-  /*IN*/ UINT  Size  /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MAKE_CALL_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle	/*OPTIONAL*/,
-  /*OUT*/ PNDIS_HANDLE  CallMgrPartyContext  /*OPTIONAL*/);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MODIFY_CALL_QOS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrVcContext,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_OPEN_AF_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrBindingContext,
-  /*IN*/ PCO_ADDRESS_FAMILY  AddressFamily,
-  /*IN*/ NDIS_HANDLE  NdisAfHandle,
-  /*OUT*/ PNDIS_HANDLE  CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_REG_SAP_HANDLER)(
-  /*IN*/ NDIS_HANDLE  CallMgrAfContext,
-  /*IN*/ PCO_SAP  Sap,
-  /*IN*/ NDIS_HANDLE  NdisSapHandle,
-  /*OUT*/ PNDIS_HANDLE  CallMgrSapContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_CREATE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolAfContext,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*OUT*/ PNDIS_HANDLE  ProtocolVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_DELETE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext);
-
-typedef VOID DDKAPI
-(*CO_REQUEST_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolAfContext  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext  /*OPTIONAL*/,
-  /*IN*/ PNDIS_REQUEST  NdisRequest);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_REQUEST_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolAfContext,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE	ProtocolPartyContext  /*OPTIONAL*/,
-  /*IN OUT*/ PNDIS_REQUEST  NdisRequest);
-
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
-	UCHAR  MajorVersion;
-	UCHAR  MinorVersion;
-	USHORT  Filler;
-	UINT  Reserved;
-	CO_CREATE_VC_HANDLER  CmCreateVcHandler;
-	CO_DELETE_VC_HANDLER  CmDeleteVcHandler;
-	CM_OPEN_AF_HANDLER  CmOpenAfHandler;
-	CM_CLOSE_AF_HANDLER	 CmCloseAfHandler;
-	CM_REG_SAP_HANDLER  CmRegisterSapHandler;
-	CM_DEREG_SAP_HANDLER  CmDeregisterSapHandler;
-	CM_MAKE_CALL_HANDLER  CmMakeCallHandler;
-	CM_CLOSE_CALL_HANDLER  CmCloseCallHandler;
-	CM_INCOMING_CALL_COMPLETE_HANDLER  CmIncomingCallCompleteHandler;
-	CM_ADD_PARTY_HANDLER  CmAddPartyHandler;
-	CM_DROP_PARTY_HANDLER  CmDropPartyHandler;
-	CM_ACTIVATE_VC_COMPLETE_HANDLER  CmActivateVcCompleteHandler;
-	CM_DEACTIVATE_VC_COMPLETE_HANDLER  CmDeactivateVcCompleteHandler;
-	CM_MODIFY_CALL_QOS_HANDLER  CmModifyCallQoSHandler;
-	CO_REQUEST_HANDLER  CmRequestHandler;
-	CO_REQUEST_COMPLETE_HANDLER  CmRequestCompleteHandler;
-} NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
-
-
-
-/* Call Manager clients */
-
-typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS Status,
-  /*IN*/ NDIS_HANDLE ProtocolAfContext,
-  /*IN*/ NDIS_HANDLE NdisAfHandle);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_AF_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolAfContext);
-
-typedef VOID DDKAPI
-(*CL_REG_SAP_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolSapContext,
-  /*IN*/ PCO_SAP  Sap,
-  /*IN*/ NDIS_HANDLE  NdisSapHandle);
-
-typedef VOID DDKAPI
-(*CL_DEREG_SAP_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolSapContext);
-
-typedef VOID DDKAPI
-(*CL_MAKE_CALL_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef VOID DDKAPI
-(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext  /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_ADD_PARTY_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef VOID DDKAPI
-(*CL_DROP_PARTY_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CL_INCOMING_CALL_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolSapContext,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CLOSE_CALL_HANDLER)(
-  /*IN*/ NDIS_STATUS  CloseStatus,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ PVOID  CloseData  /*OPTIONAL*/,
-  /*IN*/ UINT  Size  /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_DROP_PARTY_HANDLER)(
-  /*IN*/ NDIS_STATUS  DropStatus,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext,
-  /*IN*/ PVOID  CloseData  /*OPTIONAL*/,
-  /*IN*/ UINT  Size  /*OPTIONAL*/);
-
-typedef VOID DDKAPI
-(*CL_CALL_CONNECTED_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext);
-
-
-typedef struct _NDIS_CLIENT_CHARACTERISTICS {
-  UCHAR  MajorVersion;
-  UCHAR  MinorVersion;
-  USHORT  Filler;
-  UINT  Reserved;
-  CO_CREATE_VC_HANDLER  ClCreateVcHandler;
-  CO_DELETE_VC_HANDLER  ClDeleteVcHandler;
-  CO_REQUEST_HANDLER  ClRequestHandler;
-  CO_REQUEST_COMPLETE_HANDLER  ClRequestCompleteHandler;
-  CL_OPEN_AF_COMPLETE_HANDLER  ClOpenAfCompleteHandler;
-  CL_CLOSE_AF_COMPLETE_HANDLER  ClCloseAfCompleteHandler;
-  CL_REG_SAP_COMPLETE_HANDLER  ClRegisterSapCompleteHandler;
-  CL_DEREG_SAP_COMPLETE_HANDLER  ClDeregisterSapCompleteHandler;
-  CL_MAKE_CALL_COMPLETE_HANDLER  ClMakeCallCompleteHandler;
-  CL_MODIFY_CALL_QOS_COMPLETE_HANDLER	 ClModifyCallQoSCompleteHandler;
-  CL_CLOSE_CALL_COMPLETE_HANDLER  ClCloseCallCompleteHandler;
-  CL_ADD_PARTY_COMPLETE_HANDLER  ClAddPartyCompleteHandler;
-  CL_DROP_PARTY_COMPLETE_HANDLER  ClDropPartyCompleteHandler;
-  CL_INCOMING_CALL_HANDLER  ClIncomingCallHandler;
-  CL_INCOMING_CALL_QOS_CHANGE_HANDLER  ClIncomingCallQoSChangeHandler;
-  CL_INCOMING_CLOSE_CALL_HANDLER  ClIncomingCloseCallHandler;
-  CL_INCOMING_DROP_PARTY_HANDLER  ClIncomingDropPartyHandler;
-  CL_CALL_CONNECTED_HANDLER  ClCallConnectedHandler;
-} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
-
-
-/* NDIS protocol structures */
-
-/* Prototypes for NDIS 3.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*OPEN_ADAPTER_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_STATUS  OpenErrorStatus);
-
-typedef VOID DDKAPI
-(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*RESET_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*REQUEST_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_REQUEST  NdisRequest,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*STATUS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_STATUS  GeneralStatus,
-  /*IN*/ PVOID  StatusBuffer,
-  /*IN*/ UINT  StatusBufferSize);
-
-typedef VOID DDKAPI
-(*STATUS_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext);
-
-typedef VOID DDKAPI
-(*SEND_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*WAN_SEND_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_WAN_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*TRANSFER_DATA_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ UINT  BytesTransferred);
-
-typedef VOID DDKAPI
-(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
-    VOID);
-
-
-typedef NDIS_STATUS DDKAPI
-(*RECEIVE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ PVOID  HeaderBuffer,
-  /*IN*/ UINT  HeaderBufferSize,
-  /*IN*/ PVOID  LookAheadBuffer,
-  /*IN*/ UINT  LookaheadBufferSize,
-  /*IN*/ UINT  PacketSize);
-
-typedef NDIS_STATUS DDKAPI
-(*WAN_RECEIVE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle,
-  /*IN*/ PUCHAR  Packet,
-  /*IN*/ ULONG  PacketSize);
-
-typedef VOID DDKAPI
-(*RECEIVE_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext);
-
-
-/* Protocol characteristics for NDIS 3.0 protocols */
-
-#define NDIS30_PROTOCOL_CHARACTERISTICS_S \
-  UCHAR  MajorNdisVersion; \
-  UCHAR  MinorNdisVersion; \
-  _ANONYMOUS_UNION union { \
-    UINT  Reserved; \
-    UINT  Flags; \
-  } DUMMYUNIONNAME; \
-  OPEN_ADAPTER_COMPLETE_HANDLER  OpenAdapterCompleteHandler; \
-  CLOSE_ADAPTER_COMPLETE_HANDLER  CloseAdapterCompleteHandler; \
-  _ANONYMOUS_UNION union { \
-    SEND_COMPLETE_HANDLER  SendCompleteHandler; \
-    WAN_SEND_COMPLETE_HANDLER  WanSendCompleteHandler; \
-  } DUMMYUNIONNAME2; \
-  _ANONYMOUS_UNION union { \
-    TRANSFER_DATA_COMPLETE_HANDLER  TransferDataCompleteHandler; \
-    WAN_TRANSFER_DATA_COMPLETE_HANDLER  WanTransferDataCompleteHandler; \
-  } DUMMYUNIONNAME3; \
-  RESET_COMPLETE_HANDLER  ResetCompleteHandler; \
-  REQUEST_COMPLETE_HANDLER  RequestCompleteHandler; \
-  _ANONYMOUS_UNION union { \
-    RECEIVE_HANDLER	 ReceiveHandler; \
-    WAN_RECEIVE_HANDLER  WanReceiveHandler; \
-  } DUMMYUNIONNAME4; \
-  RECEIVE_COMPLETE_HANDLER  ReceiveCompleteHandler; \
-  STATUS_HANDLER  StatusHandler; \
-  STATUS_COMPLETE_HANDLER  StatusCompleteHandler; \
-  NDIS_STRING  Name;
-
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
-  NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS30_PROTOCOL_CHARACTERISTICS, *PNDIS30_PROTOCOL_CHARACTERISTICS;
-
-
-/* Prototypes for NDIS 4.0 protocol characteristics */
-
-typedef INT DDKAPI
-(*RECEIVE_PACKET_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-typedef VOID DDKAPI
-(*BIND_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  BindContext,
-  /*IN*/ PNDIS_STRING  DeviceName,
-  /*IN*/ PVOID  SystemSpecific1,
-  /*IN*/ PVOID  SystemSpecific2);
-
-typedef VOID DDKAPI
-(*UNBIND_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_HANDLE  UnbindContext);
-
-typedef NDIS_STATUS DDKAPI
-(*PNP_EVENT_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNET_PNP_EVENT  NetPnPEvent);
-
-typedef VOID DDKAPI
-(*UNLOAD_PROTOCOL_HANDLER)(
-  VOID);
-
-
-/* Protocol characteristics for NDIS 4.0 protocols */
-
-#ifdef __cplusplus
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
-  NDIS30_PROTOCOL_CHARACTERISTICS  Ndis30Chars; \
-  RECEIVE_PACKET_HANDLER  ReceivePacketHandler; \
-  BIND_HANDLER  BindAdapterHandler; \
-  UNBIND_HANDLER  UnbindAdapterHandler; \
-  PNP_EVENT_HANDLER  PnPEventHandler; \
-  UNLOAD_PROTOCOL_HANDLER  UnloadHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
-  NDIS30_PROTOCOL_CHARACTERISTICS_S \
-  RECEIVE_PACKET_HANDLER  ReceivePacketHandler; \
-  BIND_HANDLER  BindAdapterHandler; \
-  UNBIND_HANDLER  UnbindAdapterHandler; \
-  PNP_EVENT_HANDLER  PnPEventHandler; \
-  UNLOAD_PROTOCOL_HANDLER  UnloadHandler;
-
-#endif /* __cplusplus */
-
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
-  NDIS40_PROTOCOL_CHARACTERISTICS_S
-} NDIS40_PROTOCOL_CHARACTERISTICS, *PNDIS40_PROTOCOL_CHARACTERISTICS;
-
-/* Prototypes for NDIS 5.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*CO_SEND_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-typedef VOID DDKAPI
-(*CO_STATUS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext  /*OPTIONAL*/,
-  /*IN*/ NDIS_STATUS  GeneralStatus,
-  /*IN*/ PVOID  StatusBuffer,
-  /*IN*/ UINT  StatusBufferSize);
-
-typedef UINT DDKAPI
-(*CO_RECEIVE_PACKET_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-typedef VOID DDKAPI
-(*CO_AF_REGISTER_NOTIFY_HANDLER)(
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PCO_ADDRESS_FAMILY  AddressFamily);
-
-#ifdef __cplusplus \
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
-  NDIS40_PROTOCOL_CHARACTERISTICS  Ndis40Chars; \
-  PVOID  ReservedHandlers[4]; \
-  CO_SEND_COMPLETE_HANDLER  CoSendCompleteHandler; \
-  CO_STATUS_HANDLER  CoStatusHandler; \
-  CO_RECEIVE_PACKET_HANDLER  CoReceivePacketHandler; \
-  CO_AF_REGISTER_NOTIFY_HANDLER  CoAfRegisterNotifyHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
-  NDIS40_PROTOCOL_CHARACTERISTICS_S \
-  PVOID  ReservedHandlers[4]; \
-  CO_SEND_COMPLETE_HANDLER  CoSendCompleteHandler; \
-  CO_STATUS_HANDLER  CoStatusHandler; \
-  CO_RECEIVE_PACKET_HANDLER  CoReceivePacketHandler; \
-  CO_AF_REGISTER_NOTIFY_HANDLER  CoAfRegisterNotifyHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS {
-  NDIS50_PROTOCOL_CHARACTERISTICS_S
-} NDIS50_PROTOCOL_CHARACTERISTICS, *PNDIS50_PROTOCOL_CHARACTERISTICS;
-
-#if defined(NDIS50) || defined(NDIS51)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-  NDIS50_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-  NDIS40_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
-  NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#else
-#error Define an NDIS version
-#endif /* NDIS30 */
-
-
-
-/* Buffer management routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBuffer(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_BUFFER  *Buffer,
-  /*IN*/ NDIS_HANDLE  PoolHandle,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ UINT  Length);
-
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBufferPool(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_HANDLE  PoolHandle,
-  /*IN*/ UINT  NumberOfDescriptors);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacket(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_PACKET  *Packet,
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPool(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_HANDLE  PoolHandle,
-  /*IN*/ UINT  NumberOfDescriptors,
-  /*IN*/ UINT  ProtocolReservedLength);
-
-#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID))
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyBuffer(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_BUFFER  *Buffer,
-  /*IN*/ NDIS_HANDLE  PoolHandle,
-  /*IN*/ PVOID  MemoryDescriptor,
-  /*IN*/ UINT  Offset,
-  /*IN*/ UINT  Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyFromPacketToPacket(
-  /*IN*/ PNDIS_PACKET  Destination,
-  /*IN*/ UINT  DestinationOffset,
-  /*IN*/ UINT  BytesToCopy,
-  /*IN*/ PNDIS_PACKET  Source,
-  /*IN*/ UINT  SourceOffset,
-  /*OUT*/ PUINT  BytesCopied);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacket(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_PACKET  *Packet,
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacketNonInterlocked(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_PACKET  *Packet,
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacket(
-  /*IN*/ PNDIS_PACKET  Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacketNonInterlocked(
-  /*IN*/ PNDIS_PACKET  Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBufferPool(
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacket(
-  /*IN*/ PNDIS_PACKET  Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacketPool(
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReturnPackets(
-  /*IN*/ PNDIS_PACKET  *PacketsToReturn,
-  /*IN*/ UINT  NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtBack(
-  /*IN OUT*/ PNDIS_PACKET  Packet,
-  /*OUT*/ PNDIS_BUFFER  *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtFront(
-  /*IN OUT*/ PNDIS_PACKET  Packet,
-  /*OUT*/ PNDIS_BUFFER  *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAdjustBufferLength(
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*IN*/ UINT  Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisBufferLength(
-  /*IN*/ PNDIS_BUFFER  Buffer);
-
-NDISAPI
-PVOID
-DDKAPI
-NdisBufferVirtualAddress(
-  /*IN*/ PNDIS_BUFFER  Buffer);
-
-NDISAPI
-ULONG
-DDKAPI
-NDIS_BUFFER_TO_SPAN_PAGES(
-  /*IN*/ PNDIS_BUFFER  Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
-  /*IN*/ PNDIS_BUFFER  Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetBufferPhysicalArraySize(
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*OUT*/ PUINT  ArraySize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetFirstBufferFromPacket(
-  /*IN*/ PNDIS_PACKET  _Packet,
-  /*OUT*/ PNDIS_BUFFER  *_FirstBuffer,
-  /*OUT*/ PVOID  *_FirstBufferVA,
-  /*OUT*/ PUINT  _FirstBufferLength,
-  /*OUT*/ PUINT  _TotalBufferLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBuffer(
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*OUT*/ PVOID  *VirtualAddress /*OPTIONAL*/,
-  /*OUT*/ PUINT  Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferOffset(
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*OUT*/ PUINT  Offset,
-  /*OUT*/ PUINT  Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
-  /*IN*/ PNDIS_BUFFER  Buffer);
-
-
-/*
- * VOID
- * NdisGetBufferPhysicalArraySize(
- * IN PNDIS_BUFFER  Buffer,
- * OUT PUINT  ArraySize);
- */
-#define NdisGetBufferPhysicalArraySize(Buffer,        \
-                                       ArraySize)     \
-{                                                     \
-  (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer))  \
-}
-
-
-/*
- * VOID
- * NdisGetFirstBufferFromPacket(
- * IN PNDIS_PACKET  _Packet,
- * OUT PNDIS_BUFFER  * _FirstBuffer,
- * OUT PVOID  * _FirstBufferVA,
- * OUT PUINT  _FirstBufferLength,
- * OUT PUINT  _TotalBufferLength)
- */
-#define	NdisGetFirstBufferFromPacket(_Packet,             \
-                                     _FirstBuffer,        \
-                                     _FirstBufferVA,      \
-                                     _FirstBufferLength,  \
-                                     _TotalBufferLength)  \
-{                                                         \
-  PNDIS_BUFFER _Buffer;                                   \
-                                                          \
-  _Buffer         = (_Packet)->Private.Head;              \
-  *(_FirstBuffer) = _Buffer;                              \
-  if (_Buffer != NULL)                                    \
-    {                                                     \
-	    *(_FirstBufferVA)     = MmGetSystemAddressForMdl(_Buffer);  \
-	    *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer);	        \
-	    _Buffer = _Buffer->Next;                                    \
-		  *(_TotalBufferLength) = *(_FirstBufferLength);              \
-		  while (_Buffer != NULL) {                                   \
-		    *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer);      \
-		    _Buffer = _Buffer->Next;                                  \
-		  }                                                           \
-    }                             \
-  else                            \
-    {                             \
-      *(_FirstBufferVA) = 0;      \
-      *(_FirstBufferLength) = 0;  \
-      *(_TotalBufferLength) = 0;  \
-    } \
-}
-
-/*
- * VOID
- * NdisGetFirstBufferFromPacketSafe(
- * IN PNDIS_PACKET  _Packet,
- * OUT PNDIS_BUFFER  * _FirstBuffer,
- * OUT PVOID  * _FirstBufferVA,
- * OUT PUINT  _FirstBufferLength,
- * OUT PUINT  _TotalBufferLength),
- * IN MM_PAGE_PRIORITY _Priority)
- */
-#define NdisGetFirstBufferFromPacketSafe(_Packet,         \
-                                     _FirstBuffer,        \
-                                     _FirstBufferVA,      \
-                                     _FirstBufferLength,  \
-                                     _TotalBufferLength,  \
-                                     _Priority)           \
-{                                                         \
-  PNDIS_BUFFER _Buffer;                                   \
-                                                          \
-  _Buffer         = (_Packet)->Private.Head;              \
-  *(_FirstBuffer) = _Buffer;                              \
-  if (_Buffer != NULL)                                    \
-    {                                                     \
-            *(_FirstBufferVA)     = MmGetSystemAddressForMdlSafe(_Buffer, _Priority);  \
-            *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer);         \
-            _Buffer = _Buffer->Next;                                    \
-                  *(_TotalBufferLength) = *(_FirstBufferLength);              \
-                  while (_Buffer != NULL) {                                   \
-                    *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer);      \
-                    _Buffer = _Buffer->Next;                                  \
-                  }                                                           \
-    }                             \
-  else                            \
-    {                             \
-      *(_FirstBufferVA) = 0;      \
-      *(_FirstBufferLength) = 0;  \
-      *(_TotalBufferLength) = 0;  \
-    } \
-}
-
-/*
- * VOID
- * NdisQueryBuffer(
- * IN PNDIS_BUFFER  Buffer,
- * OUT PVOID  *VirtualAddress OPTIONAL,
- * OUT PUINT  Length)
- */
-#define NdisQueryBuffer(Buffer,         \
-                        VirtualAddress, \
-                        Length)         \
-{                                       \
-	if (VirtualAddress)                   \
-		*((PVOID*)VirtualAddress) = MmGetSystemAddressForMdl(Buffer); \
-                                        \
-	*((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * VOID
- * NdisQueryBufferOffset(
- * IN PNDIS_BUFFER  Buffer,
- * OUT PUINT  Offset,
- * OUT PUINT  Length);
- */
-#define NdisQueryBufferOffset(Buffer,             \
-                              Offset,             \
-                              Length)             \
-{                                                 \
-  *((PUINT)Offset) = MmGetMdlByteOffset(Buffer);  \
-  *((PUINT)Length) = MmGetMdlByteCount(Buffer);   \
-}
-
-
-/*
- * PVOID
- * NDIS_BUFFER_LINKAGE(
- * IN PNDIS_BUFFER  Buffer);
- */
-#define NDIS_BUFFER_LINKAGE(Buffer)(Buffer)->Next;
-
-
-/*
- * VOID
- * NdisChainBufferAtBack(
- * IN OUT PNDIS_PACKET  Packet,
- * IN OUT PNDIS_BUFFER  Buffer)
- */
-#define NdisChainBufferAtBack(Packet,           \
-                              Buffer)           \
-{                                               \
-	PNDIS_BUFFER NdisBuffer = (Buffer);           \
-                                                \
-	while (NdisBuffer->Next != NULL)              \
-   NdisBuffer = NdisBuffer->Next;               \
-	                                              \
-	NdisBuffer->Next = NULL;                      \
-	                                              \
-	if ((Packet)->Private.Head != NULL)           \
-    (Packet)->Private.Tail->Next = (Buffer);    \
-	else                                          \
-    (Packet)->Private.Head = (Buffer);          \
-	                                              \
-	(Packet)->Private.Tail = NdisBuffer;          \
-	(Packet)->Private.ValidCounts = FALSE;        \
-}
-
-
-/*
- * VOID
- * NdisChainBufferAtFront(
- * IN OUT PNDIS_PACKET  Packet,
- * IN OUT PNDIS_BUFFER  Buffer)
- */
-#define NdisChainBufferAtFront(Packet,        \
-                               Buffer)        \
-{                                             \
-	PNDIS_BUFFER _NdisBuffer = (Buffer);        \
-                                              \
-  while (_NdisBuffer->Next != NULL)           \
-    _NdisBuffer = _NdisBuffer->Next;          \
-                                              \
-  if ((Packet)->Private.Head == NULL)         \
-    (Packet)->Private.Tail = _NdisBuffer;     \
-                                              \
-	_NdisBuffer->Next = (Packet)->Private.Head; \
-	(Packet)->Private.Head = (Buffer);          \
-	(Packet)->Private.ValidCounts = FALSE;      \
-}
-
-
-/*
- * VOID
- * NdisGetNextBuffer(
- * IN PNDIS_BUFFER  CurrentBuffer,
- * OUT PNDIS_BUFFER  * NextBuffer)
- */
-#define NdisGetNextBuffer(CurrentBuffer,  \
-                          NextBuffer)     \
-{                                         \
-  *(NextBuffer) = (CurrentBuffer)->Next;  \
-}
-
-
-/*
- * UINT
- * NdisGetPacketFlags(
- * IN PNDIS_PACKET  Packet);
- */
-#define NdisGetPacketFlags(Packet)(Packet)->Private.Flags;
-
-
-/*
- * VOID
- * NdisClearPacketFlags(
- * IN PNDIS_PACKET  Packet,
- * IN UINT  Flags);
- */
-#define NdisClearPacketFlags(Packet, Flags) \
-  (Packet)->Private.Flags &= ~(Flags)
-
-
-/*
- * VOID
- * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET    Packet,
- * IN PPVOID          pMediaSpecificInfo,
- * IN PUINT           pSizeMediaSpecificInfo);
- */
-#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet,                                  \
-                                            _pMediaSpecificInfo,                      \
-                                            _pSizeMediaSpecificInfo)                  \
-{                                                                                     \
-  if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) ||            \
-      !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO))   \
-	  {                                                                                 \
-	    *(_pMediaSpecificInfo) = NULL;                                                  \
-	    *(_pSizeMediaSpecificInfo) = 0;                                                 \
-	  }                                                                                 \
-  else                                                                                \
-	  {                                                                                 \
-	    *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +           \
-        (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation;           \
-	    *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +       \
-	      (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo;              \
-	  }                                                                                 \
-}
-
-
-/*
- * ULONG
- * NDIS_GET_PACKET_PROTOCOL_TYPE(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
-  ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
-
-/*
- * ULONG
- * NDIS_GET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
-	((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
-	(_Packet)->Private.NdisPacketOobOffset))->HeaderSize
-
-
-/*
- * NDIS_STATUS
- * NDIS_GET_PACKET_STATUS(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_STATUS(_Packet) \
-	((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
-	(_Packet)->Private.NdisPacketOobOffset))->Status
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_TIME_RECEIVED(_Packet)  \
-	((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +  \
-	(_Packet)->Private.NdisPacketOobOffset))->TimeReceived
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_TIME_SENT(_Packet)      \
-	((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +  \
-	(_Packet)->Private.NdisPacketOobOffset))->TimeSent
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_GET_PACKET_TIME_TO_SEND(_Packet)   \
-	((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +  \
-	(_Packet)->Private.NdisPacketOobOffset))->TimeToSend
-
-
-/*
- * PNDIS_PACKET_OOB_DATA
- * NDIS_OOB_DATA_FROM_PACKET(
- * IN PNDIS_PACKET  Packet);
- */
-#define NDIS_OOB_DATA_FROM_PACKET(_Packet)    \
-  (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
-  (_Packet)->Private.NdisPacketOobOffset)
-
-
-/*
- * VOID
- * NdisQueryPacket(
- * IN PNDIS_PACKET  Packet,
- * OUT PUINT  PhysicalBufferCount  OPTIONAL,
- * OUT PUINT  BufferCount  OPTIONAL,
- * OUT PNDIS_BUFFER  *FirstBuffer OPTIONAL,
- * OUT PUINT  TotalPacketLength  OPTIONAL);
- */
-#define NdisQueryPacket(Packet,                                           \
-                        PhysicalBufferCount,                              \
-                        BufferCount,                                      \
-                        FirstBuffer,                                      \
-                        TotalPacketLength)                                \
-{                                                                         \
-  if (FirstBuffer)                                                        \
-    *((PNDIS_BUFFER*)FirstBuffer) = (Packet)->Private.Head;               \
-  if ((TotalPacketLength) || (BufferCount) || (PhysicalBufferCount))      \
-  {                                                                       \
-    if (!(Packet)->Private.ValidCounts) {                                 \
-      UINT _Offset;                                                       \
-      UINT _PacketLength;                                                 \
-      PNDIS_BUFFER _NdisBuffer;                                           \
-      UINT _PhysicalBufferCount = 0;                                      \
-      UINT _TotalPacketLength   = 0;                                      \
-      UINT _Count               = 0;                                      \
-                                                                          \
-      for (_NdisBuffer = (Packet)->Private.Head;                          \
-        _NdisBuffer != (PNDIS_BUFFER)NULL;                                \
-        _NdisBuffer = _NdisBuffer->Next)                                  \
-      {                                                                   \
-        _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer);   \
-        NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength);     \
-        _TotalPacketLength += _PacketLength;                              \
-        _Count++;                                                         \
-      }                                                                   \
-      (Packet)->Private.PhysicalCount = _PhysicalBufferCount;             \
-      (Packet)->Private.TotalLength   = _TotalPacketLength;               \
-      (Packet)->Private.Count         = _Count;                           \
-      (Packet)->Private.ValidCounts   = TRUE;                             \
-	}                                                                       \
-                                                                          \
-  if (PhysicalBufferCount)                                                \
-      *((PUINT)PhysicalBufferCount) = (Packet)->Private.PhysicalCount;    \
-                                                                          \
-  if (BufferCount)                                                        \
-      *((PUINT)BufferCount) = (Packet)->Private.Count;                    \
-                                                                          \
-  if (TotalPacketLength)                                                  \
-      *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength;        \
-  } \
-}
-
-/*
- * VOID
- * NdisQueryPacketLength(
- * IN PNDIS_PACKET  Packet,
- * OUT PUINT  PhysicalBufferCount  OPTIONAL,
- * OUT PUINT  BufferCount  OPTIONAL,
- * OUT PNDIS_BUFFER  *FirstBuffer  OPTIONAL,
- * OUT PUINT  TotalPacketLength  OPTIONAL);
- */
-#define NdisQueryPacketLength(Packet,                                     \
-                              TotalPacketLength)                          \
-{                                                                         \
-  if ((TotalPacketLength))                                                \
-  {                                                                       \
-    if (!(Packet)->Private.ValidCounts) {                                 \
-      UINT _Offset;                                                       \
-      UINT _PacketLength;                                                 \
-      PNDIS_BUFFER _NdisBuffer;                                           \
-      UINT _PhysicalBufferCount = 0;                                      \
-      UINT _TotalPacketLength   = 0;                                      \
-      UINT _Count               = 0;                                      \
-                                                                          \
-      for (_NdisBuffer = (Packet)->Private.Head;                          \
-        _NdisBuffer != (PNDIS_BUFFER)NULL;                                \
-        _NdisBuffer = _NdisBuffer->Next)                                  \
-      {                                                                   \
-        _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer);   \
-        NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength);     \
-        _TotalPacketLength += _PacketLength;                              \
-        _Count++;                                                         \
-      }                                                                   \
-      (Packet)->Private.PhysicalCount = _PhysicalBufferCount;             \
-      (Packet)->Private.TotalLength   = _TotalPacketLength;               \
-      (Packet)->Private.Count         = _Count;                           \
-      (Packet)->Private.ValidCounts   = TRUE;                             \
-  }                                                                       \
-                                                                          \
-  if (TotalPacketLength)                                                  \
-      *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength;        \
-  } \
-}
-
-
-/*
- * VOID
- * NdisRecalculatePacketCounts(
- * IN OUT  PNDIS_PACKET  Packet);
- */
-#define NdisRecalculatePacketCounts(Packet)       \
-{                                                 \
-  PNDIS_BUFFER _Buffer = (Packet)->Private.Head;  \
-  if (_Buffer != NULL)                            \
-  {                                               \
-      while (_Buffer->Next != NULL)               \
-      {                                           \
-          ´_Buffer = _Buffer->Next;               \
-      }                                           \
-      (Packet)->Private.Tail = _Buffer;           \
-  }                                               \
-  (Packet)->Private.ValidCounts = FALSE;          \
-}
-
-
-/*
- * VOID
- * NdisReinitializePacket(
- * IN OUT  PNDIS_PACKET  Packet);
- */
-#define NdisReinitializePacket(Packet)          \
-{                                               \
-	(Packet)->Private.Head = (PNDIS_BUFFER)NULL;  \
-	(Packet)->Private.ValidCounts = FALSE;        \
-}
-
-
-/*
- * VOID
- * NdisSetPacketFlags(
- * IN PNDIS_PACKET  Packet,
- * IN UINT  Flags);
- */
-#define NdisSetPacketFlags(Packet, Flags) \
-  (Packet)->Private.Flags |= (Flags);
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET  Packet,
- * IN UINT  HdrSize);
- */
-#define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize)              \
-  ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +                      \
-  (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET  Packet,
- * IN PVOID  MediaSpecificInfo,
- * IN UINT  SizeMediaSpecificInfo);
- */
-#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet,                      \
-                                            _MediaSpecificInfo,           \
-                                            _SizeMediaSpecificInfo)       \
-{                                                                         \
-  if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS)     \
-	  {                                                                     \
-      (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
-      ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +                        \
-        (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
-          (_MediaSpecificInfo);                                           \
-      ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +                        \
-        (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
-          (_SizeMediaSpecificInfo);                                       \
-	  }                                                                     \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_STATUS(
- * IN PNDIS_PACKET    Packet,
- * IN NDIS_STATUS     Status);
- */
-#define NDIS_SET_PACKET_STATUS(_Packet, _Status)  \
-  ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +    \
-  (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET  Packet,
- * IN ULONGLONG  TimeReceived);
- */
-#define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
-  ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +                \
-  (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET  Packet,
- * IN ULONGLONG  TimeSent);
- */
-#define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
-  ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +        \
-  (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET  Packet,
- * IN ULONGLONG  TimeToSend);
- */
-#define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend)  \
-  ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) +              \
-  (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
-
-
-/*
- * VOID
- * NdisSetSendFlags(
- * IN PNDIS_PACKET  Packet,
- * IN UINT  Flags);
- */
-#define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
-
-
-
-/* Memory management routines */
-
-/*
- * VOID
- * NdisCreateLookaheadBufferFromSharedMemory(
- * IN PVOID  pSharedMemory,
- * IN UINT  LookaheadLength,
- * OUT PVOID  *pLookaheadBuffer)
- */
-#define NdisCreateLookaheadBufferFromSharedMemory(_pSharedMemory,     \
-                                                  _LookaheadLength,   \
-                                                  _pLookaheadBuffer)  \
-  ((*(_pLookaheadBuffer)) = (_pSharedMemory))
-
-/*
- * VOID
- * NdisDestroyLookaheadBufferFromSharedMemory(
- * IN PVOID  pLookaheadBuffer)
- */
-#define NdisDestroyLookaheadBufferFromSharedMemory(_pLookaheadBuffer)
-
-#if defined(i386)
-
-/*
- * VOID
- * NdisMoveFromMappedMemory(
- * OUT PVOID  Destination,
- * IN PVOID  Source,
- * IN ULONG  Length);
- */
-#define NdisMoveFromMappedMemory(Destination, Source, Length) \
-  NdisMoveMappedMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveMappedMemory(
- * OUT PVOID  Destination,
- * IN PVOID  Source,
- * IN ULONG  Length);
- */
-#define NdisMoveMappedMemory(Destination, Source, Length) \
-  RtlCopyMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveToMappedMemory(
- * OUT PVOID  Destination,
- * IN PVOID  Source,
- * IN ULONG  Length);
- */
-#define NdisMoveToMappedMemory(Destination, Source, Length) \
-  NdisMoveMappedMemory(Destination, Source, Length)
-
-#endif /* i386 */
-
-/*
- * VOID
- * NdisMUpdateSharedMemory(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN ULONG  Length,
- * IN PVOID  VirtualAddress,
- * IN NDIS_PHYSICAL_ADDRESS  PhysicalAddress);
- */
-#define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
-  NdisUpdateSharedMemory(_H, _L, _V, _P)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemory(
-  /*OUT*/  PVOID  *VirtualAddress,
-  /*IN*/ UINT  Length,
-  /*IN*/ UINT  MemoryFlags,
-  /*IN*/ NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeMemory(
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ UINT  Length,
-  /*IN*/ UINT  MemoryFlags);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateReadSharedMemory(
-  /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
-  /*IN*/ ULONG       SharedMemoryAddress,
-  /*OUT*/ PUCHAR      Buffer,
-  /*IN*/ ULONG       Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateWriteSharedMemory(
-  /*IN*/ NDIS_HANDLE WrapperConfigurationContext,
-  /*IN*/ ULONG       SharedMemoryAddress,
-  /*IN*/ PUCHAR      Buffer,
-  /*IN*/ ULONG       Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMAllocateSharedMemory(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Cached,
-  /*OUT*/ PVOID  *VirtualAddress,
-  /*OUT*/ PNDIS_PHYSICAL_ADDRESS  PhysicalAddress);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateSharedMemoryAsync(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Cached,
-  /*IN*/ PVOID  Context);
-
-#if defined(NDIS50)
-
-#define NdisUpdateSharedMemory(NdisAdapterHandle, \
-                               Length,            \
-                               VirtualAddress,    \
-                               PhysicalAddress)
-
-#else
-
-NDISAPI
-VOID
-DDKAPI
-NdisUpdateSharedMemory(
-  /*IN*/ NDIS_HANDLE             NdisAdapterHandle,
-  /*IN*/ ULONG                   Length,
-  /*IN*/ PVOID                   VirtualAddress,
-  /*IN*/ NDIS_PHYSICAL_ADDRESS   PhysicalAddress);
-
-#endif /* defined(NDIS50) */
-
-/*
- * ULONG
- * NdisGetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS  PhysicalAddress);
- */
-#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
-  ((PhysicalAddress).HighPart)
-
-/*
- * VOID
- * NdisSetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS  PhysicalAddress,
- * IN ULONG  Value);
- */
-#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
-  ((PhysicalAddress).HighPart) = (Value)
-
-/*
- * ULONG
- * NdisGetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS  PhysicalAddress);
- */
-#define NdisGetPhysicalAddressLow(PhysicalAddress) \
-  ((PhysicalAddress).LowPart)
-
-
-/*
- * VOID
- * NdisSetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS  PhysicalAddress,
- * IN ULONG  Value);
- */
-#define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
-  ((PhysicalAddress).LowPart) = (Value)
-
-/*
- * VOID
- * NDIS_PHYSICAL_ADDRESS_CONST(
- * IN ULONG  Low,
- * IN LONG  High);
- */
-#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High)  \
-    { {(ULONG)(Low), (LONG)(High)} }
-
-/*
- * ULONG
- * NdisEqualMemory(
- * IN CONST VOID  *Source1,
- * IN CONST VOID  *Source2,
- * IN ULONG  Length);
- */
-#define NdisEqualMemory(Source1, Source2, Length) \
-  RtlEqualMemory(Source1, Source2, Length)
-
-/*
- * VOID
- * NdisFillMemory(
- * IN PVOID  Destination,
- * IN ULONG  Length,
- * IN UCHAR  Fill);
- */
-#define NdisFillMemory(Destination, Length, Fill) \
-  RtlFillMemory(Destination, Length, Fill)
-
-/*
- * VOID
- * NdisZeroMappedMemory(
- * IN PVOID  Destination,
- * IN ULONG  Length);
- */
-#define NdisZeroMappedMemory(Destination, Length) \
-  RtlZeroMemory(Destination, Length)
-
-/*
- * VOID
- * NdisMoveMemory(
- * OUT  PVOID  Destination,
- * IN PVOID  Source,
- * IN ULONG  Length);
- */
-#define NdisMoveMemory(Destination, Source, Length) \
-  RtlCopyMemory(Destination, Source, Length)
-
-
-/*
- * VOID
- * NdisRetrieveUlong(
- * IN PULONG  DestinationAddress,
- * IN PULONG  SourceAddress);
- */
-#define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
-  RtlRetrieveUlong(DestinationAddress, SourceAddress)
-
-
-/*
- * VOID
- * NdisStoreUlong(
- * IN PULONG  DestinationAddress,
- * IN ULONG  Value);
- */
-#define NdisStoreUlong(DestinationAddress, Value) \
-  RtlStoreUlong(DestinationAddress, Value)
-
-
-/*
- * VOID
- * NdisZeroMemory(
- * IN PVOID  Destination,
- * IN ULONG  Length)
- */
-#define NdisZeroMemory(Destination, Length) \
-  RtlZeroMemory(Destination, Length)
-
-
-
-/* Configuration routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfiguration(
-  /*OUT*/  PNDIS_STATUS  Status,
-  /*OUT*/  PNDIS_HANDLE  ConfigurationHandle,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadNetworkAddress(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PVOID  *NetworkAddress,
-  /*OUT*/ PUINT  NetworkAddressLength,
-  /*IN*/ NDIS_HANDLE  ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformation(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*OUT*/ PUINT  SlotNumber,
-  /*OUT*/ PNDIS_EISA_FUNCTION_INFORMATION  EisaData);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformationEx(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*OUT*/ PUINT  SlotNumber,
-  /*OUT*/ PNDIS_EISA_FUNCTION_INFORMATION  *EisaData,
-  /*OUT*/ PUINT  NumberOfFunctions);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPciSlotInformation(
-  /*IN*/ NDIS_HANDLE  NdisAdapterHandle,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePciSlotInformation(
-  /*IN*/ NDIS_HANDLE  NdisAdapterHandle,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-
-
-/* String management routines */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAnsiStringToUnicodeString(
-  /*IN OUT*/ PNDIS_STRING  DestinationString,
-  /*IN*/ PNDIS_ANSI_STRING  SourceString);
-
-/*
- * BOOLEAN
- * NdisEqualString(
- * IN PNDIS_STRING  String1,
- * IN PNDIS_STRING  String2,
- * IN BOOLEAN  CaseInsensitive);
- */
-#define NdisEqualString(_String1, _String2, _CaseInsensitive) \
-  RtlEqualUnicodeString(_String1, _String2, _CaseInsensitive)
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitAnsiString(
-  /*IN OUT*/ PNDIS_ANSI_STRING  DestinationString,
-  /*IN*/ PCSTR  SourceString);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitUnicodeString(
-  /*IN OUT*/ PNDIS_STRING  DestinationString,
-  /*IN*/ PCWSTR  SourceString);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisUnicodeStringToAnsiString(
-  /*IN OUT*/ PNDIS_ANSI_STRING  DestinationString,
-  /*IN*/ PNDIS_STRING  SourceString);
-
-#define NdisFreeString(_s)  NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
-#define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
-
-
-/* Spin lock reoutines */
-
-/*
- * VOID
- * NdisAllocateSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisAllocateSpinLock(_SpinLock) \
-  KeInitializeSpinLock(&(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisFreeSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisFreeSpinLock(_SpinLock)
-
-/*
- * VOID
- * NdisAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisAcquireSpinLock(_SpinLock) \
-  KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisReleaseSpinLock(_SpinLock) \
-  KeReleaseSpinLock(&(_SpinLock)->SpinLock, (_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisDprAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisDprAcquireSpinLock(_SpinLock)                \
-{                                                       \
-    KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock); \
-    (_SpinLock)->OldIrql = DISPATCH_LEVEL;               \
-}
-
-/*
- * VOID
- * NdisDprReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisDprReleaseSpinLock(_SpinLock) \
-  KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
-
-
-
-/* I/O routines */
-
-/*
- * VOID
- * NdisRawReadPortBufferUchar(
- * IN ULONG  Port,
- * OUT PUCHAR  Buffer,
- * IN ULONG  Length);
- */
-#define NdisRawReadPortBufferUchar(Port, Buffer, Length)    \
-  READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUlong(
- * IN ULONG  Port,
- * OUT PULONG  Buffer,
- * IN ULONG  Length);
- */
-#define NdisRawReadPortBufferUlong(Port, Buffer, Length)  \
-  READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUshort(
- * IN ULONG  Port,
- * OUT PUSHORT  Buffer,
- * IN ULONG  Length);
- */
-#define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
-  READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawReadPortUchar(
- * IN ULONG  Port,
- * OUT PUCHAR  Data);
- */
-#define NdisRawReadPortUchar(Port, Data) \
-  *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUlong(
- * IN ULONG  Port,
- * OUT PULONG  Data);
- */
-#define NdisRawReadPortUlong(Port, Data) \
-  *(Data) = READ_PORT_ULONG((PULONG)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUshort(
- * IN ULONG   Port,
- * OUT PUSHORT Data);
- */
-#define NdisRawReadPortUshort(Port, Data) \
-  *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
-
-
-/*
- * VOID
- * NdisRawWritePortBufferUchar(
- * IN ULONG  Port,
- * IN PUCHAR  Buffer,
- * IN ULONG  Length);
- */
-#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
-  WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUlong(
- * IN ULONG  Port,
- * IN PULONG  Buffer,
- * IN ULONG  Length);
- */
-#define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
-  WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUshort(
- * IN ULONG   Port,
- * IN PUSHORT Buffer,
- * IN ULONG   Length);
- */
-#define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
-  WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawWritePortUchar(
- * IN ULONG  Port,
- * IN UCHAR  Data);
- */
-#define NdisRawWritePortUchar(Port, Data) \
-  WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUlong(
- * IN ULONG  Port,
- * IN ULONG  Data);
- */
-#define NdisRawWritePortUlong(Port, Data)   \
-  WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUshort(
- * IN ULONG  Port,
- * IN USHORT  Data);
- */
-#define NdisRawWritePortUshort(Port, Data) \
-  WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
-
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR  Register,
- * OUT PUCHAR  Data);
- */
-#define NdisReadRegisterUchar(Register, Data) \
-  *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG  Register,
- * OUT PULONG  Data);
- */
-#define NdisReadRegisterUlong(Register, Data)   \
-  *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT  Register,
- * OUT PUSHORT  Data);
- */
-#define NdisReadRegisterUshort(Register, Data)  \
-    *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR  Register,
- * IN UCHAR  Data);
- */
-#define NdisWriteRegisterUchar(Register, Data) \
-  WRITE_REGISTER_UCHAR((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG  Register,
- * IN ULONG  Data);
- */
-#define NdisWriteRegisterUlong(Register, Data) \
-  WRITE_REGISTER_ULONG((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT  Register,
- * IN USHORT  Data);
- */
-#define NdisWriteRegisterUshort(Register, Data) \
-  WRITE_REGISTER_USHORT((Register), (Data))
-
-
-/* Linked lists */
-
-/*
- * VOID
- * NdisInitializeListHead(
- * IN PLIST_ENTRY  ListHead);
- */
-#define NdisInitializeListHead(_ListHead) \
-  InitializeListHead(_ListHead)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertHeadList(
- * IN PLIST_ENTRY  ListHead,
- * IN PLIST_ENTRY  ListEntry,
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
-  ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertTailList(
- * IN PLIST_ENTRY  ListHead,
- * IN PLIST_ENTRY  ListEntry,
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
-  ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedRemoveHeadList(
- * IN PLIST_ENTRY  ListHead,
- * IN PNDIS_SPIN_LOCK  SpinLock);
-*/
-#define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
-  ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisInitializeSListHead(
- * IN PSLIST_HEADER  SListHead);
- */
-#define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
-
-/*
- * USHORT NdisQueryDepthSList(
- * IN PSLIST_HEADER  SListHead);
- */
-#define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
-
-
-
-/* Interlocked routines */
-
-/*
- * LONG
- * NdisInterlockedDecrement(
- * IN PLONG  Addend);
- */
-#define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
-
-/*
- * LONG
- * NdisInterlockedIncrement(
- * IN PLONG  Addend);
- */
-#define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
-
-/*
- * VOID
- * NdisInterlockedAddUlong(
- * IN PULONG  Addend,
- * IN ULONG  Increment,
- * IN PNDIS_SPIN_LOCK  SpinLock);
- */
-#define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
-  ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
-
-
-
-/* Miscellaneous routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseConfiguration(
-  /*IN*/ NDIS_HANDLE  ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadConfiguration(
-  /*OUT*/  PNDIS_STATUS  Status,
-  /*OUT*/  PNDIS_CONFIGURATION_PARAMETER  *ParameterValue,
-  /*IN*/ NDIS_HANDLE  ConfigurationHandle,
-  /*IN*/ PNDIS_STRING  Keyword,
-  /*IN*/ NDIS_PARAMETER_TYPE  ParameterType);
-
-NDISAPI
-VOID
-DDKAPI
-NdisWriteConfiguration(
-  /*OUT*/  PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*IN*/ PNDIS_STRING  Keyword,
-  /*IN*/ PNDIS_CONFIGURATION_PARAMETER  *ParameterValue);
-
-NDISAPI
-VOID
-DDKCDECLAPI
-NdisWriteErrorLogEntry(
-  /*IN*/ NDIS_HANDLE  NdisAdapterHandle,
-  /*IN*/ NDIS_ERROR_CODE  ErrorCode,
-  /*IN*/ ULONG  NumberOfErrorValues,
-  /*IN*/ ...);
-
-/*
- * VOID
- * NdisStallExecution(
- * IN UINT  MicrosecondsToStall)
- */
-#define NdisStallExecution KeStallExecutionProcessor
-
-/*
- * VOID
- * NdisGetCurrentSystemTime(
- * IN PLARGE_INTEGER  pSystemTime);
- */
-#define NdisGetCurrentSystemTime KeQuerySystemTime
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCpuUsage(
-  /*OUT*/ PULONG  pCpuUsage);
-
-
-
-/* NDIS helper macros */
-
-/*
- * VOID
- * NDIS_INIT_FUNCTION(FunctionName)
- */
-#define NDIS_INIT_FUNCTION(FunctionName)    \
-  alloc_text(init, FunctionName)
-
-/*
- * VOID
- * NDIS_PAGABLE_FUNCTION(FunctionName)
- */
-#define NDIS_PAGEABLE_FUNCTION(FunctionName) \
-  alloc_text(page, FunctionName)
-
-#define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
-
-
-/* NDIS 4.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeSharedMemory(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Cached,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ NDIS_PHYSICAL_ADDRESS  PhysicalAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceive(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  NdisLinkContext,
-  /*IN*/ PUCHAR  PacketBuffer,
-  /*IN*/ UINT  PacketSize);
-
-#define NdisMIndicateReceivePacket(_handle, _packets, _number) \
-{  \
-  (*((PNDIS_MINIPORT_BLOCK)(_handle))->PacketIndicateHandler)(_handle, _packets, _number); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceiveComplete(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanSendComplete(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PNDIS_WAN_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisPciAssignResources(
-  /*IN*/ NDIS_HANDLE  NdisMacHandle,
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*IN*/ ULONG  SlotNumber,
-  /*OUT*/ PNDIS_RESOURCE_LIST  *AssignedResources);
-
-
-/* NDIS 5.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAcquireReadWriteLock(
-  /*IN*/ PNDIS_RW_LOCK  Lock,
-  /*IN*/ BOOLEAN  fWrite,
-  /*IN*/ PLOCK_STATE  LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemoryWithTag(
-  /*OUT*/ PVOID  *VirtualAddress,
-  /*IN*/ UINT  Length,
-  /*IN*/ ULONG  Tag);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPoolEx(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_HANDLE  PoolHandle,
-  /*IN*/ UINT  NumberOfDescriptors,
-  /*IN*/ UINT  NumberOfOverflowDescriptors,
-  /*IN*/ UINT  ProtocolReservedLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompletePnPEvent(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PNET_PNP_EVENT  NetPnPEvent);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCounts(
-  /*OUT*/ PULONG  pIdleCount,
-  /*OUT*/ PULONG  pKernelAndUser,
-  /*OUT*/ PULONG  pIndex);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetDriverHandle(
-  /*IN*/ PNDIS_HANDLE  NdisBindingHandle,
-  /*OUT*/ PNDIS_HANDLE  NdisDriverHandle);
-
-NDISAPI
-PNDIS_PACKET
-DDKAPI
-NdisGetReceivedPacket(
-  /*IN*/ PNDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PNDIS_HANDLE  MacContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetSystemUptime(
-  /*OUT*/ PULONG  pSystemUpTime);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeReadWriteLock(
-  /*IN*/ PNDIS_RW_LOCK  Lock);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMDeregisterDevice(
-  /*IN*/ NDIS_HANDLE  NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMGetDeviceProperty(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN OUT*/ PDEVICE_OBJECT  *PhysicalDeviceObject  /*OPTIONAL*/,
-  /*IN OUT*/ PDEVICE_OBJECT  *FunctionalDeviceObject  /*OPTIONAL*/,
-  /*IN OUT*/ PDEVICE_OBJECT  *NextDeviceObject  /*OPTIONAL*/,
-  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResources  /*OPTIONAL*/,
-  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResourcesTranslated  /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMInitializeScatterGatherDma(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ BOOLEAN  Dma64BitAddresses,
-  /*IN*/ ULONG  MaximumPhysicalMapping);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMPromoteMiniport(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMQueryAdapterInstanceName(
-  /*OUT*/ PNDIS_STRING  AdapterInstanceName,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterDevice(
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PNDIS_STRING  DeviceName,
-  /*IN*/ PNDIS_STRING  SymbolicName,
-  /*IN*/ PDRIVER_DISPATCH  MajorFunctions[],
-  /*OUT*/ PDEVICE_OBJECT  *pDeviceObject,
-  /*OUT*/ NDIS_HANDLE  *NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterUnloadHandler(
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PDRIVER_UNLOAD  UnloadHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRemoveMiniport(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMSetMiniportSecondary(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  PrimaryMiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByIndex(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ConfigurationHandle,
-  /*IN*/ ULONG  Index,
-  /*OUT*/ PNDIS_STRING  KeyName,
-  /*OUT*/ PNDIS_HANDLE  KeyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByName(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  ConfigurationHandle,
-  /*IN*/ PNDIS_STRING  SubKeyName,
-  /*OUT*/ PNDIS_HANDLE  SubKeyHandle);
-
-NDISAPI
-UINT
-DDKAPI
-NdisPacketPoolUsage(
-  /*IN*/ NDIS_HANDLE  PoolHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisSetPacketPoolProtocolId(
-  /*IN*/ NDIS_HANDLE PacketPoolHandle,
-  /*IN*/ UINT ProtocolId);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisQueryAdapterInstanceName(
-  /*OUT*/ PNDIS_STRING  AdapterInstanceName,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPcmciaAttributeMemory(
-  /*IN*/ NDIS_HANDLE  NdisAdapterHandle,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReleaseReadWriteLock(
-  /*IN*/ PNDIS_RW_LOCK  Lock,
-  /*IN*/ PLOCK_STATE  LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisWriteEventLogEntry(
-  /*IN*/ PVOID  LogHandle,
-  /*IN*/ NDIS_STATUS  EventCode,
-  /*IN*/ ULONG  UniqueEventValue,
-  /*IN*/ USHORT  NumStrings,
-  /*IN*/ PVOID  StringsList  /*OPTIONAL*/,
-  /*IN*/ ULONG  DataSize,
-  /*IN*/ PVOID  Data  /*OPTIONAL*/);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePcmciaAttributeMemory(
-  /*IN*/ NDIS_HANDLE  NdisAdapterHandle,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-
-/* Connectionless services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClAddParty(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters,
-  /*OUT*/ PNDIS_HANDLE  NdisPartyHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseAddressFamily(
-  /*IN*/ NDIS_HANDLE  NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseCall(
-  /*IN*/ NDIS_HANDLE NdisVcHandle,
-  /*IN*/ NDIS_HANDLE NdisPartyHandle  /*OPTIONAL*/,
-  /*IN*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ UINT  Size);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDeregisterSap(
-  /*IN*/ NDIS_HANDLE  NdisSapHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDropParty(
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle,
-  /*IN*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ UINT  Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisClIncomingCallComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClMakeCall(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters,
-  /*IN*/ NDIS_HANDLE  ProtocolPartyContext  /*OPTIONAL*/,
-  /*OUT*/ PNDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClModifyCallQoS(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClOpenAddressFamily(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PCO_ADDRESS_FAMILY  AddressFamily,
-  /*IN*/ NDIS_HANDLE  ProtocolAfContext,
-  /*IN*/ PNDIS_CLIENT_CHARACTERISTICS  ClCharacteristics,
-  /*IN*/ UINT  SizeOfClCharacteristics,
-  /*OUT*/ PNDIS_HANDLE  NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClRegisterSap(
-  /*IN*/ NDIS_HANDLE  NdisAfHandle,
-  /*IN*/ NDIS_HANDLE  ProtocolSapContext,
-  /*IN*/ PCO_SAP  Sap,
-  /*OUT*/ PNDIS_HANDLE  NdisSapHandle);
-
-
-/* Call Manager services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmActivateVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmAddPartyComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle,
-  /*IN*/ NDIS_HANDLE  CallMgrPartyContext  /*OPTIONAL*/,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseAddressFamilyComplete(
-  /*IN*/ NDIS_STATUS Status,
-  /*IN*/ NDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseCallComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDeactivateVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDeregisterSapComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisSapHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchCallConnected(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDispatchIncomingCall(
-  /*IN*/ NDIS_HANDLE  NdisSapHandle,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCallQoSChange(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCloseCall(
-  /*IN*/ NDIS_STATUS  CloseStatus,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ UINT  Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingDropParty(
-  /*IN*/ NDIS_STATUS  DropStatus,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle,
-  /*IN*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ UINT  Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDropPartyComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmMakeCallComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  CallMgrPartyContext  /*OPTIONAL*/,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmModifyCallQoSComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmOpenAddressFamilyComplete(
-  /*IN*/ NDIS_STATUS Status,
-  /*IN*/ NDIS_HANDLE NdisAfHandle,
-  /*IN*/ NDIS_HANDLE CallMgrAfContext);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmRegisterAddressFamily(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PCO_ADDRESS_FAMILY  AddressFamily,
-  /*IN*/ PNDIS_CALL_MANAGER_CHARACTERISTICS  CmCharacteristics,
-  /*IN*/ UINT  SizeOfCmCharacteristics);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmRegisterSapComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisSapHandle,
-  /*IN*/ NDIS_HANDLE  CallMgrSapContext);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmActivateVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmCreateVc(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  NdisAfHandle,
-  /*IN*/ NDIS_HANDLE  MiniportVcContext,
-  /*OUT*/  PNDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeactivateVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeleteVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRegisterAddressFamily(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PCO_ADDRESS_FAMILY  AddressFamily,
-  /*IN*/ PNDIS_CALL_MANAGER_CHARACTERISTICS  CmCharacteristics,
-  /*IN*/ UINT  SizeOfCmCharacteristics);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRequest(
-  /*IN*/ NDIS_HANDLE  NdisAfHandle,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/,
-  /*IN OUT*/  PNDIS_REQUEST  NdisRequest);
-
-
-/* Connection-oriented services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoCreateVc(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ NDIS_HANDLE  NdisAfHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  ProtocolVcContext,
-  /*IN OUT*/ PNDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoDeleteVc(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoRequest(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ NDIS_HANDLE  NdisAfHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/,
-  /*IN OUT*/  PNDIS_REQUEST  NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoRequestComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisAfHandle,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_HANDLE  NdisPartyHandle  /*OPTIONAL*/,
-  /*IN*/ PNDIS_REQUEST  NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoSendPackets(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoActivateVcComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PCO_CALL_PARAMETERS  CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoDeactivateVcComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateReceivePacket(
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateStatus(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle  /*OPTIONAL*/,
-  /*IN*/ NDIS_STATUS  GeneralStatus,
-  /*IN*/ PVOID  StatusBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  StatusBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoReceiveComplete(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoRequestComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PNDIS_REQUEST  Request);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoSendComplete(
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-
-/* NDIS 5.0 extensions for intermediate drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMAssociateMiniport(
-  /*IN*/ NDIS_HANDLE  DriverHandle,
-  /*IN*/ NDIS_HANDLE  ProtocolHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMCancelInitializeDeviceInstance(
-  /*IN*/ NDIS_HANDLE  DriverHandle,
-  /*IN*/ PNDIS_STRING  DeviceInstance);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendCompletePerPacketInfo(
-  /*IN*/ PNDIS_PACKET  DstPacket,
-  /*IN*/ PNDIS_PACKET  SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendPerPacketInfo(
-  /*IN*/ PNDIS_PACKET  DstPacket,
-  /*IN*/ PNDIS_PACKET  SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMDeregisterLayeredMiniport(
-  /*IN*/ NDIS_HANDLE  DriverHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetBindingContext(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetDeviceContext(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMInitializeDeviceInstanceEx(
-  /*IN*/ NDIS_HANDLE  DriverHandle,
-  /*IN*/ PNDIS_STRING  DriverInstance,
-  /*IN*/ NDIS_HANDLE  DeviceContext  /*OPTIONAL*/);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPopEntrySList(
-  /*IN*/ PSLIST_HEADER  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPushEntrySList(
-  /*IN*/ PSLIST_HEADER  ListHead,
-  /*IN*/ PSINGLE_LIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferSafe(
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*OUT*/ PVOID  *VirtualAddress  /*OPTIONAL*/,
-  /*OUT*/ PUINT  Length,
-  /*IN*/ UINT  Priority);
-
-
-/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
-
-typedef BOOLEAN DDKAPI
-(*W_CHECK_FOR_HANG_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_DISABLE_INTERRUPT_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_ENABLE_INTERRUPT_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HALT_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HANDLE_INTERRUPT_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_INITIALIZE_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  OpenErrorStatus,
-  /*OUT*/ PUINT  SelectedMediumIndex,
-  /*IN*/ PNDIS_MEDIUM  MediumArray,
-  /*IN*/ UINT  MediumArraySize,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext);
-
-typedef VOID DDKAPI
-(*W_ISR_HANDLER)(
-  /*OUT*/ PBOOLEAN  InterruptRecognized,
-  /*OUT*/ PBOOLEAN  QueueMiniportHandleInterrupt,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_QUERY_INFORMATION_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_OID  Oid,
-  /*IN*/ PVOID  InformationBuffer,
-  /*IN*/ ULONG  InformationBufferLength,
-  /*OUT*/ PULONG  BytesWritten,
-  /*OUT*/ PULONG  BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RECONFIGURE_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  OpenErrorStatus,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE	WrapperConfigurationContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RESET_HANDLER)(
-  /*OUT*/ PBOOLEAN  AddressingReset,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SEND_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PNDIS_PACKET  Packet,
-  /*IN*/ UINT  Flags);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_SEND_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle,
-  /*IN*/ PNDIS_WAN_PACKET  Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SET_INFORMATION_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_OID  Oid,
-  /*IN*/ PVOID  InformationBuffer,
-  /*IN*/ ULONG  InformationBufferLength,
-  /*OUT*/ PULONG  BytesRead,
-  /*OUT*/ PULONG  BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_TRANSFER_DATA_HANDLER)(
-  /*OUT*/ PNDIS_PACKET  Packet,
-  /*OUT*/ PUINT  BytesTransferred,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE  MiniportReceiveContext,
-  /*IN*/ UINT  ByteOffset,
-  /*IN*/ UINT  BytesToTransfer);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_TRANSFER_DATA_HANDLER)(
-  VOID);
-
-
-/* NDIS structures available only to miniport drivers */
-
-#define NDIS30_MINIPORT_CHARACTERISTICS_S \
-  UCHAR  MajorNdisVersion; \
-  UCHAR  MinorNdisVersion; \
-  UINT  Reserved; \
-  W_CHECK_FOR_HANG_HANDLER  CheckForHangHandler; \
-  W_DISABLE_INTERRUPT_HANDLER  DisableInterruptHandler; \
-  W_ENABLE_INTERRUPT_HANDLER  EnableInterruptHandler; \
-  W_HALT_HANDLER  HaltHandler; \
-  W_HANDLE_INTERRUPT_HANDLER  HandleInterruptHandler; \
-  W_INITIALIZE_HANDLER  InitializeHandler; \
-  W_ISR_HANDLER  ISRHandler; \
-  W_QUERY_INFORMATION_HANDLER  QueryInformationHandler; \
-  W_RECONFIGURE_HANDLER  ReconfigureHandler; \
-  W_RESET_HANDLER  ResetHandler; \
-  _ANONYMOUS_UNION union { \
-    W_SEND_HANDLER  SendHandler; \
-    WM_SEND_HANDLER  WanSendHandler; \
-  } _UNION_NAME(u1); \
-  W_SET_INFORMATION_HANDLER  SetInformationHandler; \
-  _ANONYMOUS_UNION union { \
-    W_TRANSFER_DATA_HANDLER  TransferDataHandler; \
-    WM_TRANSFER_DATA_HANDLER  WanTransferDataHandler; \
-  } _UNION_NAME(u2);
-
-typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
-  NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS30_MINIPORT_CHARACTERISTICS, *PSNDIS30_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 4.0 miniports */
-
-typedef VOID DDKAPI
-(*W_SEND_PACKETS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-typedef VOID DDKAPI
-(*W_RETURN_PACKET_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-typedef VOID DDKAPI
-(*W_ALLOCATE_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ PNDIS_PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PVOID  Context);
-
-#ifdef __cplusplus
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
-  NDIS30_MINIPORT_CHARACTERISTICS  Ndis30Chars; \
-  W_RETURN_PACKET_HANDLER  ReturnPacketHandler; \
-  W_SEND_PACKETS_HANDLER  SendPacketsHandler; \
-  W_ALLOCATE_COMPLETE_HANDLER  AllocateCompleteHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
-  NDIS30_MINIPORT_CHARACTERISTICS_S \
-  W_RETURN_PACKET_HANDLER  ReturnPacketHandler; \
-  W_SEND_PACKETS_HANDLER  SendPacketsHandler; \
-  W_ALLOCATE_COMPLETE_HANDLER  AllocateCompleteHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS40_MINIPORT_CHARACTERISTICS {
-  NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS40_MINIPORT_CHARACTERISTICS, *PNDIS40_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.0 miniports */
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_CREATE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE  NdisVcHandle,
-  /*OUT*/ PNDIS_HANDLE  MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DELETE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_ACTIVATE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportVcContext,
-  /*IN OUT*/ PCO_CALL_PARAMETERS  CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DEACTIVATE_VC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportVcContext);
-
-typedef VOID DDKAPI
-(*W_CO_SEND_PACKETS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportVcContext,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_REQUEST_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ NDIS_HANDLE  MiniportVcContext  /*OPTIONAL*/,
-  /*IN OUT*/ PNDIS_REQUEST  NdisRequest);
-
-#ifdef __cplusplus
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
-  NDIS40_MINIPORT_CHARACTERISTICS  Ndis40Chars; \
-  W_CO_CREATE_VC_HANDLER  CoCreateVcHandler; \
-  W_CO_DELETE_VC_HANDLER  CoDeleteVcHandler; \
-  W_CO_ACTIVATE_VC_HANDLER  CoActivateVcHandler; \
-  W_CO_DEACTIVATE_VC_HANDLER  CoDeactivateVcHandler; \
-  W_CO_SEND_PACKETS_HANDLER  CoSendPacketsHandler; \
-  W_CO_REQUEST_HANDLER  CoRequestHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
-  NDIS40_MINIPORT_CHARACTERISTICS_S \
-  W_CO_CREATE_VC_HANDLER  CoCreateVcHandler; \
-  W_CO_DELETE_VC_HANDLER  CoDeleteVcHandler; \
-  W_CO_ACTIVATE_VC_HANDLER  CoActivateVcHandler; \
-  W_CO_DEACTIVATE_VC_HANDLER  CoDeactivateVcHandler; \
-  W_CO_SEND_PACKETS_HANDLER  CoSendPacketsHandler; \
-  W_CO_REQUEST_HANDLER  CoRequestHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
-   NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS50_MINIPORT_CHARACTERISTICS, *PSNDIS50_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.1 miniports */
-
-typedef VOID DDKAPI
-(*W_CANCEL_SEND_PACKETS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PVOID  CancelId);
-
-
-#if defined(NDIS51)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
-  NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS50)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
-  NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
-  NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
-  NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#endif /* NDIS30 */
-
-
-typedef NDIS_STATUS DDKAPI
-(*SEND_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacBindingHandle,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*TRANSFER_DATA_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacBindingHandle,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ UINT  ByteOffset,
-  /*IN*/ UINT  BytesToTransfer,
-  /*OUT*/ PNDIS_PACKET  Packet,
-  /*OUT*/ PUINT  BytesTransferred);
-
-typedef NDIS_STATUS DDKAPI
-(*RESET_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacBindingHandle);
-
-typedef NDIS_STATUS DDKAPI
-(*REQUEST_HANDLER)(
-  /*IN*/ NDIS_HANDLE   MacBindingHandle,
-  /*IN*/ PNDIS_REQUEST   NdisRequest);
-
-
-
-/* Structures available only to full MAC drivers */
-
-typedef BOOLEAN DDKAPI
-(*PNDIS_INTERRUPT_SERVICE)(
-  /*IN*/ PVOID  InterruptContext);
-
-typedef VOID DDKAPI
-(*PNDIS_DEFERRED_PROCESSING)(
-  /*IN*/ PVOID  SystemSpecific1,
-  /*IN*/ PVOID  InterruptContext,
-  /*IN*/ PVOID  SystemSpecific2,
-  /*IN*/ PVOID  SystemSpecific3);
-
-
-
-typedef struct _NDIS_MINIPORT_BLOCK NDIS_MINIPORT_BLOCK, *PNDIS_MINIPORT_BLOCK;
-typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
-typedef struct _NDIS_OPEN_BLOCK		NDIS_OPEN_BLOCK,     *PNDIS_OPEN_BLOCK;
-typedef struct _NDIS_M_DRIVER_BLOCK NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
-typedef	struct _NDIS_AF_LIST        NDIS_AF_LIST,        *PNDIS_AF_LIST;
-
-
-typedef struct _NDIS_MINIPORT_INTERRUPT {
-  PKINTERRUPT  InterruptObject;
-  KSPIN_LOCK  DpcCountLock;
-  PVOID  MiniportIdField;
-  W_ISR_HANDLER  MiniportIsr;
-  W_HANDLE_INTERRUPT_HANDLER  MiniportDpc;
-  KDPC  InterruptDpc;
-  PNDIS_MINIPORT_BLOCK  Miniport;
-  UCHAR  DpcCount;
-  BOOLEAN  Filler1;
-  KEVENT  DpcsCompletedEvent;
-  BOOLEAN  SharedInterrupt;
-  BOOLEAN	 IsrRequested;
-} NDIS_MINIPORT_INTERRUPT, *PNDIS_MINIPORT_INTERRUPT;
-
-typedef struct _NDIS_MINIPORT_TIMER {
-  KTIMER  Timer;
-  KDPC  Dpc;
-  PNDIS_TIMER_FUNCTION  MiniportTimerFunction;
-  PVOID  MiniportTimerContext;
-  PNDIS_MINIPORT_BLOCK  Miniport;
-  struct _NDIS_MINIPORT_TIMER  *NextDeferredTimer;
-} NDIS_MINIPORT_TIMER, *PNDIS_MINIPORT_TIMER;
-
-typedef struct _NDIS_INTERRUPT {
-  PKINTERRUPT  InterruptObject;
-  KSPIN_LOCK  DpcCountLock;
-  PNDIS_INTERRUPT_SERVICE  MacIsr;
-  PNDIS_DEFERRED_PROCESSING  MacDpc;
-  KDPC  InterruptDpc;
-  PVOID  InterruptContext;
-  UCHAR  DpcCount;
-  BOOLEAN	 Removing;
-  KEVENT  DpcsCompletedEvent;
-} NDIS_INTERRUPT, *PNDIS_INTERRUPT;
-
-
-typedef struct _MAP_REGISTER_ENTRY {
-	PVOID  MapRegister;
-	BOOLEAN  WriteToDevice;
-} MAP_REGISTER_ENTRY, *PMAP_REGISTER_ENTRY;
-
-
-typedef enum _NDIS_WORK_ITEM_TYPE {
-  NdisWorkItemRequest,
-  NdisWorkItemSend,
-  NdisWorkItemReturnPackets,
-  NdisWorkItemResetRequested,
-  NdisWorkItemResetInProgress,
-  NdisWorkItemHalt,
-  NdisWorkItemSendLoopback,
-  NdisWorkItemMiniportCallback,
-  NdisMaxWorkItems
-} NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE;
-
-#define	NUMBER_OF_WORK_ITEM_TYPES         NdisMaxWorkItems
-#define	NUMBER_OF_SINGLE_WORK_ITEMS       6
-
-typedef struct _NDIS_MINIPORT_WORK_ITEM {
-	SINGLE_LIST_ENTRY  Link;
-	NDIS_WORK_ITEM_TYPE  WorkItemType;
-	PVOID  WorkItemContext;
-} NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
-
-
-typedef struct _NDIS_BIND_PATHS {
-	UINT  Number;
-	NDIS_STRING  Paths[1];
-} NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
-
-#define DECLARE_UNKNOWN_STRUCT(BaseName) \
-  typedef struct _##BaseName BaseName, *P##BaseName;
-
-#define DECLARE_UNKNOWN_PROTOTYPE(Name) \
-  typedef VOID (*(Name))(VOID);
-
-#define ETH_LENGTH_OF_ADDRESS 6
-
-DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
-
-DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
-
-typedef struct _ETH_FILTER {
-  PNDIS_SPIN_LOCK  Lock;
-  CHAR  (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
-  struct _NDIS_MINIPORT_BLOCK  *Miniport;
-  UINT  CombinedPacketFilter;
-  PETH_BINDING_INFO  OpenList;
-  ETH_ADDRESS_CHANGE  AddressChangeAction;
-  ETH_FILTER_CHANGE  FilterChangeAction;
-  ETH_DEFERRED_CLOSE  CloseAction;
-  UINT  MaxMulticastAddresses;
-  UINT  NumAddresses;
-  UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
-  UINT  OldCombinedPacketFilter;
-  CHAR  (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
-  UINT  OldNumAddresses;
-  PETH_BINDING_INFO  DirectedList;
-  PETH_BINDING_INFO  BMList;
-  PETH_BINDING_INFO  MCastSet;
-#if defined(_NDIS_)
-  UINT  NumOpens;
-  PVOID  BindListLock;
-#endif
-} ETH_FILTER, *PETH_FILTER;
-
-typedef VOID DDKAPI
-(*ETH_RCV_COMPLETE_HANDLER)(
-  /*IN*/ PETH_FILTER  Filter);
-
-typedef VOID DDKAPI
-(*ETH_RCV_INDICATE_HANDLER)(
-  /*IN*/ PETH_FILTER  Filter,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ PCHAR  Address,
-  /*IN*/ PVOID  HeaderBuffer,
-  /*IN*/ UINT  HeaderBufferSize,
-  /*IN*/ PVOID  LookaheadBuffer,
-  /*IN*/ UINT  LookaheadBufferSize,
-  /*IN*/ UINT  PacketSize);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_COMPLETE_HANDLER)(
-  /*IN*/ PFDDI_FILTER  Filter);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_INDICATE_HANDLER)(
-  /*IN*/ PFDDI_FILTER  Filter,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ PCHAR  Address,
-  /*IN*/ UINT  AddressLength,
-  /*IN*/ PVOID  HeaderBuffer,
-  /*IN*/ UINT  HeaderBufferSize,
-  /*IN*/ PVOID  LookaheadBuffer,
-  /*IN*/ UINT  LookaheadBufferSize,
-  /*IN*/ UINT  PacketSize);
-
-typedef VOID DDKAPI
-(*FILTER_PACKET_INDICATION_HANDLER)(
-  /*IN*/ NDIS_HANDLE  Miniport,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-typedef VOID DDKAPI
-(*TR_RCV_COMPLETE_HANDLER)(
-  /*IN*/ PTR_FILTER  Filter);
-
-typedef VOID DDKAPI
-(*TR_RCV_INDICATE_HANDLER)(
-  /*IN*/ PTR_FILTER  Filter,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ PVOID  HeaderBuffer,
-  /*IN*/ UINT  HeaderBufferSize,
-  /*IN*/ PVOID  LookaheadBuffer,
-  /*IN*/ UINT  LookaheadBufferSize,
-  /*IN*/ UINT  PacketSize);
-
-typedef VOID DDKAPI
-(*WAN_RCV_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  NdisLinkContext);
-
-typedef VOID DDKAPI
-(*WAN_RCV_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  NdisLinkContext,
-  /*IN*/ PUCHAR  Packet,
-  /*IN*/ ULONG  PacketSize);
-
-typedef VOID DDKFASTAPI
-(*NDIS_M_DEQUEUE_WORK_ITEM)(
-  /*IN*/ PNDIS_MINIPORT_BLOCK  Miniport,
-  /*IN*/ NDIS_WORK_ITEM_TYPE  WorkItemType,
-  /*OUT*/ PVOID  *WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_NEW_WORK_ITEM)(
-  /*IN*/ PNDIS_MINIPORT_BLOCK  Miniport,
-  /*IN*/ NDIS_WORK_ITEM_TYPE  WorkItemType,
-  /*IN*/ PVOID  WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_WORK_ITEM)(
-  /*IN*/ PNDIS_MINIPORT_BLOCK  Miniport,
-  /*IN*/ NDIS_WORK_ITEM_TYPE  WorkItemType,
-  /*IN*/ PVOID  WorkItemContext);
-
-typedef VOID DDKAPI
-(*NDIS_M_REQ_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_RESET_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ BOOLEAN  AddressingReset);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PNDIS_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_RESOURCES_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-typedef BOOLEAN DDKFASTAPI
-(*NDIS_M_START_SENDS)(
-  /*IN*/ PNDIS_MINIPORT_BLOCK  Miniport);
-
-typedef VOID DDKAPI
-(*NDIS_M_STATUS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportHandle,
-  /*IN*/ NDIS_STATUS  GeneralStatus,
-  /*IN*/ PVOID  StatusBuffer,
-  /*IN*/ UINT  StatusBufferSize);
-
-typedef VOID DDKAPI
-(*NDIS_M_STS_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-typedef VOID DDKAPI
-(*NDIS_M_TD_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PNDIS_PACKET  Packet,
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ UINT  BytesTransferred);
-
-typedef VOID (DDKAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PVOID  Packet,
-  /*IN*/ NDIS_STATUS  Status);
-
-
-#if ARCNET
-
-#define ARC_SEND_BUFFERS                  8
-#define ARC_HEADER_SIZE                   4
-
-typedef struct _NDIS_ARC_BUF {
-  NDIS_HANDLE  ArcnetBufferPool;
-  PUCHAR  ArcnetLookaheadBuffer;
-  UINT  NumFree;
-  ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
-} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
-
-#endif /* ARCNET */
-
-#define NDIS_MINIPORT_WORK_QUEUE_SIZE 10
-
-typedef struct _NDIS_LOG {
-  PNDIS_MINIPORT_BLOCK  Miniport;
-  KSPIN_LOCK  LogLock;
-  PIRP  Irp;
-  UINT  TotalSize;
-  UINT  CurrentSize;
-  UINT  InPtr;
-  UINT  OutPtr;
-  UCHAR  LogBuf[1];
-} NDIS_LOG, *PNDIS_LOG;
-
-typedef struct _FILTERDBS {
-  _ANONYMOUS_UNION union {
-    PETH_FILTER  EthDB;
-    PNULL_FILTER  NullDB;
-  } DUMMYUNIONNAME;
-  PTR_FILTER  TrDB;
-  PFDDI_FILTER  FddiDB;
-#if ARCNET
-  PARC_FILTER  ArcDB;
-#else /* !ARCNET */
-  PVOID  XXXDB;
-#endif /* !ARCNET */
-} FILTERDBS, *PFILTERDBS;
-
-
-struct _NDIS_MINIPORT_BLOCK {
-  PVOID  Signature;
-  PNDIS_MINIPORT_BLOCK  NextMiniport;
-  PNDIS_M_DRIVER_BLOCK  DriverHandle;
-  NDIS_HANDLE  MiniportAdapterContext;
-  UNICODE_STRING  MiniportName;
-  PNDIS_BIND_PATHS  BindPaths;
-  NDIS_HANDLE  OpenQueue;
-  REFERENCE  Ref;
-  NDIS_HANDLE  DeviceContext;
-  UCHAR  Padding1;
-  UCHAR  LockAcquired;
-  UCHAR  PmodeOpens;
-  UCHAR  AssignedProcessor;
-  KSPIN_LOCK  Lock;
-  PNDIS_REQUEST  MediaRequest;
-  PNDIS_MINIPORT_INTERRUPT  Interrupt;
-  ULONG  Flags;
-  ULONG  PnPFlags;
-  LIST_ENTRY  PacketList;
-  PNDIS_PACKET  FirstPendingPacket;
-  PNDIS_PACKET  ReturnPacketsQueue;
-  ULONG  RequestBuffer;
-  PVOID  SetMCastBuffer;
-  PNDIS_MINIPORT_BLOCK  PrimaryMiniport;
-  PVOID  WrapperContext;
-  PVOID  BusDataContext;
-  ULONG  PnPCapabilities;
-  PCM_RESOURCE_LIST  Resources;
-  NDIS_TIMER  WakeUpDpcTimer;
-  UNICODE_STRING  BaseName;
-  UNICODE_STRING  SymbolicLinkName;
-  ULONG  CheckForHangSeconds;
-  USHORT  CFHangTicks;
-  USHORT  CFHangCurrentTick;
-  NDIS_STATUS  ResetStatus;
-  NDIS_HANDLE  ResetOpen;
-  FILTERDBS  FilterDbs;
-  FILTER_PACKET_INDICATION_HANDLER  PacketIndicateHandler;
-  NDIS_M_SEND_COMPLETE_HANDLER  SendCompleteHandler;
-  NDIS_M_SEND_RESOURCES_HANDLER  SendResourcesHandler;
-  NDIS_M_RESET_COMPLETE_HANDLER  ResetCompleteHandler;
-  NDIS_MEDIUM  MediaType;
-  ULONG  BusNumber;
-  NDIS_INTERFACE_TYPE  BusType;
-  NDIS_INTERFACE_TYPE  AdapterType;
-  PDEVICE_OBJECT  DeviceObject;
-  PDEVICE_OBJECT  PhysicalDeviceObject;
-  PDEVICE_OBJECT  NextDeviceObject;
-  PMAP_REGISTER_ENTRY  MapRegisters;
-  PNDIS_AF_LIST  CallMgrAfList;
-  PVOID  MiniportThread;
-  PVOID  SetInfoBuf;
-  USHORT  SetInfoBufLen;
-  USHORT  MaxSendPackets;
-  NDIS_STATUS  FakeStatus;
-  PVOID  LockHandler;
-  PUNICODE_STRING  pAdapterInstanceName;
-  PNDIS_MINIPORT_TIMER  TimerQueue;
-  UINT  MacOptions;
-  PNDIS_REQUEST  PendingRequest;
-  UINT  MaximumLongAddresses;
-  UINT  MaximumShortAddresses;
-  UINT  CurrentLookahead;
-  UINT  MaximumLookahead;
-  W_HANDLE_INTERRUPT_HANDLER  HandleInterruptHandler;
-  W_DISABLE_INTERRUPT_HANDLER  DisableInterruptHandler;
-  W_ENABLE_INTERRUPT_HANDLER  EnableInterruptHandler;
-  W_SEND_PACKETS_HANDLER  SendPacketsHandler;
-  NDIS_M_START_SENDS  DeferredSendHandler;
-  ETH_RCV_INDICATE_HANDLER  EthRxIndicateHandler;
-  TR_RCV_INDICATE_HANDLER  TrRxIndicateHandler;
-  FDDI_RCV_INDICATE_HANDLER  FddiRxIndicateHandler;
-  ETH_RCV_COMPLETE_HANDLER  EthRxCompleteHandler;
-  TR_RCV_COMPLETE_HANDLER  TrRxCompleteHandler;
-  FDDI_RCV_COMPLETE_HANDLER  FddiRxCompleteHandler;
-  NDIS_M_STATUS_HANDLER  StatusHandler;
-  NDIS_M_STS_COMPLETE_HANDLER  StatusCompleteHandler;
-  NDIS_M_TD_COMPLETE_HANDLER  TDCompleteHandler;
-  NDIS_M_REQ_COMPLETE_HANDLER  QueryCompleteHandler;
-  NDIS_M_REQ_COMPLETE_HANDLER  SetCompleteHandler;
-  NDIS_WM_SEND_COMPLETE_HANDLER  WanSendCompleteHandler;
-  WAN_RCV_HANDLER  WanRcvHandler;
-  WAN_RCV_COMPLETE_HANDLER  WanRcvCompleteHandler;
-#if defined(_NDIS_)
-  PNDIS_MINIPORT_BLOCK  NextGlobalMiniport;
-  SINGLE_LIST_ENTRY  WorkQueue[NUMBER_OF_WORK_ITEM_TYPES];
-  SINGLE_LIST_ENTRY  SingleWorkItems[NUMBER_OF_SINGLE_WORK_ITEMS];
-  UCHAR  SendFlags;
-  UCHAR  TrResetRing;
-  UCHAR  ArcnetAddress;
-  UCHAR  XState;
-  _ANONYMOUS_UNION union {
-#if ARCNET
-    PNDIS_ARC_BUF  ArcBuf;
-#endif
-    PVOID  BusInterface;
-  } DUMMYUNIONNAME;
-  PNDIS_LOG  Log;
-  ULONG  SlotNumber;
-  PCM_RESOURCE_LIST  AllocatedResources;
-  PCM_RESOURCE_LIST  AllocatedResourcesTranslated;
-  SINGLE_LIST_ENTRY  PatternList;
-  NDIS_PNP_CAPABILITIES  PMCapabilities;
-  DEVICE_CAPABILITIES  DeviceCaps;
-  ULONG  WakeUpEnable;
-  DEVICE_POWER_STATE  CurrentDevicePowerState;
-  PIRP  pIrpWaitWake;
-  SYSTEM_POWER_STATE  WaitWakeSystemState;
-  LARGE_INTEGER  VcIndex;
-  KSPIN_LOCK  VcCountLock;
-  LIST_ENTRY  WmiEnabledVcs;
-  PNDIS_GUID  pNdisGuidMap;
-  PNDIS_GUID  pCustomGuidMap;
-  USHORT  VcCount;
-  USHORT  cNdisGuidMap;
-  USHORT  cCustomGuidMap;
-  USHORT  CurrentMapRegister;
-  PKEVENT  AllocationEvent;
-  USHORT  BaseMapRegistersNeeded;
-  USHORT  SGMapRegistersNeeded;
-  ULONG  MaximumPhysicalMapping;
-  NDIS_TIMER  MediaDisconnectTimer;
-  USHORT  MediaDisconnectTimeOut;
-  USHORT  InstanceNumber;
-  NDIS_EVENT  OpenReadyEvent;
-  NDIS_PNP_DEVICE_STATE  PnPDeviceState;
-  NDIS_PNP_DEVICE_STATE  OldPnPDeviceState;
-  PGET_SET_DEVICE_DATA  SetBusData;
-  PGET_SET_DEVICE_DATA  GetBusData;
-  KDPC  DeferredDpc;
-#if 0
-  /* FIXME: */
-  NDIS_STATS  NdisStats;
-#else
-  ULONG  NdisStats;
-#endif
-  PNDIS_PACKET  IndicatedPacket[MAXIMUM_PROCESSORS];
-  PKEVENT  RemoveReadyEvent;
-  PKEVENT  AllOpensClosedEvent;
-  PKEVENT  AllRequestsCompletedEvent;
-  ULONG  InitTimeMs;
-  NDIS_MINIPORT_WORK_ITEM  WorkItemBuffer[NUMBER_OF_SINGLE_WORK_ITEMS];
-  PDMA_ADAPTER  SystemAdapterObject;
-  ULONG  DriverVerifyFlags;
-  POID_LIST  OidList;
-  USHORT  InternalResetCount;
-  USHORT  MiniportResetCount;
-  USHORT  MediaSenseConnectCount;
-  USHORT  MediaSenseDisconnectCount;
-  PNDIS_PACKET  *xPackets;
-  ULONG  UserModeOpenReferences;
-  _ANONYMOUS_UNION union {
-    PVOID  SavedSendHandler;
-    PVOID  SavedWanSendHandler;
-  } DUMMYUNIONNAME2;
-  PVOID  SavedSendPacketsHandler;
-  PVOID  SavedCancelSendPacketsHandler;
-  W_SEND_PACKETS_HANDLER  WSendPacketsHandler;
-  ULONG  MiniportAttributes;
-  PDMA_ADAPTER  SavedSystemAdapterObject;
-  USHORT  NumOpens;
-  USHORT  CFHangXTicks;
-  ULONG  RequestCount;
-  ULONG  IndicatedPacketsCount;
-  ULONG  PhysicalMediumType;
-  PNDIS_REQUEST  LastRequest;
-  LONG  DmaAdapterRefCount;
-  PVOID  FakeMac;
-  ULONG  LockDbg;
-  ULONG  LockDbgX;
-  PVOID  LockThread;
-  ULONG  InfoFlags;
-  KSPIN_LOCK  TimerQueueLock;
-  PKEVENT  ResetCompletedEvent;
-  PKEVENT  QueuedBindingCompletedEvent;
-  PKEVENT  DmaResourcesReleasedEvent;
-  FILTER_PACKET_INDICATION_HANDLER  SavedPacketIndicateHandler;
-  ULONG  RegisteredInterrupts;
-  PNPAGED_LOOKASIDE_LIST  SGListLookasideList;
-  ULONG  ScatterGatherListSize;
-#endif /* _NDIS_ */
-};
-
-
-/* Handler prototypes for NDIS_OPEN_BLOCK */
-
-typedef NDIS_STATUS (DDKAPI *WAN_SEND_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacBindingHandle,
-  /*IN*/ NDIS_HANDLE  LinkHandle,
-  /*IN*/ PVOID  Packet);
-
-/* NDIS 4.0 extension */
-
-typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-
-typedef struct _NDIS_COMMON_OPEN_BLOCK {
-  PVOID  MacHandle;
-  NDIS_HANDLE  BindingHandle;
-  PNDIS_MINIPORT_BLOCK  MiniportHandle;
-  PNDIS_PROTOCOL_BLOCK  ProtocolHandle;
-  NDIS_HANDLE  ProtocolBindingContext;
-  PNDIS_OPEN_BLOCK  MiniportNextOpen;
-  PNDIS_OPEN_BLOCK  ProtocolNextOpen;
-  NDIS_HANDLE  MiniportAdapterContext;
-  BOOLEAN  Reserved1;
-  BOOLEAN  Reserved2;
-  BOOLEAN  Reserved3;
-  BOOLEAN  Reserved4;
-  PNDIS_STRING  BindDeviceName;
-  KSPIN_LOCK  Reserved5;
-  PNDIS_STRING  RootDeviceName;
-  _ANONYMOUS_UNION union {
-    SEND_HANDLER  SendHandler;
-    WAN_SEND_HANDLER  WanSendHandler;
-  } DUMMYUNIONNAME;
-  TRANSFER_DATA_HANDLER  TransferDataHandler;
-  SEND_COMPLETE_HANDLER  SendCompleteHandler;
-  TRANSFER_DATA_COMPLETE_HANDLER  TransferDataCompleteHandler;
-  RECEIVE_HANDLER  ReceiveHandler;
-  RECEIVE_COMPLETE_HANDLER  ReceiveCompleteHandler;
-  WAN_RECEIVE_HANDLER  WanReceiveHandler;
-  REQUEST_COMPLETE_HANDLER  RequestCompleteHandler;
-  RECEIVE_PACKET_HANDLER  ReceivePacketHandler;
-  SEND_PACKETS_HANDLER  SendPacketsHandler;
-  RESET_HANDLER  ResetHandler;
-  REQUEST_HANDLER  RequestHandler;
-  RESET_COMPLETE_HANDLER  ResetCompleteHandler;
-  STATUS_HANDLER  StatusHandler;
-  STATUS_COMPLETE_HANDLER  StatusCompleteHandler;
-#if defined(_NDIS_)
-  ULONG  Flags;
-  ULONG  References;
-  KSPIN_LOCK  SpinLock;
-  NDIS_HANDLE  FilterHandle;
-  ULONG  ProtocolOptions;
-  USHORT  CurrentLookahead;
-  USHORT  ConnectDampTicks;
-  USHORT  DisconnectDampTicks;
-  W_SEND_HANDLER  WSendHandler;
-  W_TRANSFER_DATA_HANDLER  WTransferDataHandler;
-  W_SEND_PACKETS_HANDLER  WSendPacketsHandler;
-  W_CANCEL_SEND_PACKETS_HANDLER  CancelSendPacketsHandler;
-  ULONG  WakeUpEnable;
-  PKEVENT  CloseCompleteEvent;
-  QUEUED_CLOSE  QC;
-  ULONG  AfReferences;
-  PNDIS_OPEN_BLOCK  NextGlobalOpen;
-#endif /* _NDIS_ */
-} NDIS_COMMON_OPEN_BLOCK;
-
-struct _NDIS_OPEN_BLOCK
-{
-    NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
-#if defined(_NDIS_)
-    struct _NDIS_OPEN_CO
-    {
-        struct _NDIS_CO_AF_BLOCK *  NextAf;
-        W_CO_CREATE_VC_HANDLER      MiniportCoCreateVcHandler;
-        W_CO_REQUEST_HANDLER        MiniportCoRequestHandler;
-        CO_CREATE_VC_HANDLER        CoCreateVcHandler;
-        CO_DELETE_VC_HANDLER        CoDeleteVcHandler;
-        PVOID                       CmActivateVcCompleteHandler;
-        PVOID                       CmDeactivateVcCompleteHandler;
-        PVOID                       CoRequestCompleteHandler;
-        LIST_ENTRY                  ActiveVcHead;
-        LIST_ENTRY                  InactiveVcHead;
-        LONG                        PendingAfNotifications;
-        PKEVENT                     AfNotifyCompleteEvent;
-    };
-#endif /* _NDIS_ */
-};
-
-
-
-/* Routines for NDIS miniport drivers */
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMInitializeTimer(
-  /*IN*/ /*OUT*/ PNDIS_MINIPORT_TIMER Timer,
-  /*IN*/ NDIS_HANDLE MiniportAdapterHandle,
-  /*IN*/ PNDIS_TIMER_FUNCTION TimerFunction,
-  /*IN*/ PVOID FunctionContext);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMSetPeriodicTimer(
-  /*IN*/ PNDIS_MINIPORT_TIMER Timer,
-  /*IN*/ UINT MillisecondsPeriod);
-
-NTOSAPI
-VOID
-DDKAPI
-NdisMCancelTimer(
-  /*IN*/ PNDIS_MINIPORT_TIMER Timer,
-  /*OUT*/ PBOOLEAN TimerCancelled);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeWrapper(
-  /*OUT*/ PNDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PVOID  SystemSpecific1,
-  /*IN*/ PVOID  SystemSpecific2,
-  /*IN*/ PVOID  SystemSpecific3);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateMapRegisters(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ UINT  DmaChannel,
-  /*IN*/ BOOLEAN  Dma32BitAddresses,
-  /*IN*/ ULONG  PhysicalMapRegistersNeeded,
-  /*IN*/ ULONG  MaximumPhysicalMapping);
-
-/*
- * VOID
- * NdisMArcIndicateReceive(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN PUCHAR  HeaderBuffer,
- * IN PUCHAR  DataBuffer,
- * IN UINT  Length);
- */
-#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
-                                HeaderBuffer,          \
-                                DataBuffer,            \
-                                Length)                \
-{                                                      \
-    ArcFilterDprIndicateReceive(                       \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.ArcDB), \
-        (HeaderBuffer), \
-        (DataBuffer),   \
-        (Length));      \
-}
-
-/*
- * VOID
- * NdisMArcIndicateReceiveComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                              \
-    if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB)  \
-	    {                                                        \
-	        NdisMEthIndicateReceiveComplete(_H);                 \
-	    }                                                        \
-                                                               \
-    ArcFilterDprIndicateReceiveComplete(                       \
-      ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB);   \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCloseLog(
-  /*IN*/ NDIS_HANDLE  LogHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCreateLog(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ UINT  Size,
-  /*OUT*/ PNDIS_HANDLE  LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterAdapterShutdownHandler(
-  /*IN*/ NDIS_HANDLE  MiniportHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterInterrupt(
-  /*IN*/ PNDIS_MINIPORT_INTERRUPT  Interrupt);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterIoPortRange(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ UINT  InitialPort,
-  /*IN*/ UINT  NumberOfPorts,
-  /*IN*/ PVOID  PortOffset);
-
-/*
- * VOID
- * NdisMEthIndicateReceive(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_HANDLE  MiniportReceiveContext,
- * IN PVOID  HeaderBuffer,
- * IN UINT  HeaderBufferSize,
- * IN PVOID  LookaheadBuffer,
- * IN UINT  LookaheadBufferSize,
- * IN UINT  PacketSize);
- */
-#define NdisMEthIndicateReceive(MiniportAdapterHandle,  \
-                                MiniportReceiveContext, \
-                                HeaderBuffer,           \
-                                HeaderBufferSize,       \
-                                LookaheadBuffer,        \
-                                LookaheadBufferSize,    \
-                                PacketSize)             \
-{                                                       \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.EthDB), \
-		(MiniportReceiveContext), \
-		(HeaderBuffer),           \
-		(HeaderBuffer),           \
-		(HeaderBufferSize),       \
-		(LookaheadBuffer),        \
-		(LookaheadBufferSize),    \
-		(PacketSize));            \
-}
-
-/*
- * VOID
- * NdisMEthIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                              \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.EthDB);    \
-}
-
-/*
- * VOID
- * NdisMFddiIndicateReceive(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_HANDLE  MiniportReceiveContext,
- * IN PVOID  HeaderBuffer,
- * IN UINT  HeaderBufferSize,
- * IN PVOID  LookaheadBuffer,
- * IN UINT  LookaheadBufferSize,
- * IN UINT  PacketSize);
- */
-#define NdisMFddiIndicateReceive(MiniportAdapterHandle,  \
-                                 MiniportReceiveContext, \
-                                 HeaderBuffer,           \
-                                 HeaderBufferSize,       \
-                                 LookaheadBuffer,        \
-                                 LookaheadBufferSize,    \
-                                 PacketSize)             \
-{                                                        \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
-        (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.FddiDB),   \
-        (MiniportReceiveContext),              \
-        (PUCHAR)(HeaderBuffer) + 1,            \
-        (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
-            FDDI_LENGTH_OF_LONG_ADDRESS :      \
-		    FDDI_LENGTH_OF_SHORT_ADDRESS),     \
-        (HeaderBuffer),                        \
-        (HeaderBufferSize),                    \
-        (LookaheadBuffer),                     \
-        (LookaheadBufferSize),                 \
-        (PacketSize));                         \
-}
-
-
-
-/*
- * VOID
- * NdisMFddiIndicateReceiveComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                               \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
-        ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.FddiDB);      \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFlushLog(
-  /*IN*/ NDIS_HANDLE  LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeMapRegisters(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle);
-
-/*
- * VOID
- * NdisMIndicateStatus(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_STATUS  GeneralStatus,
- * IN PVOID  StatusBuffer,
- * IN UINT  StatusBufferSize);
- */
-
-#define NdisMIndicateStatus(MiniportAdapterHandle,  \
-   GeneralStatus, StatusBuffer, StatusBufferSize)   \
-  (*((PNDIS_MINIPORT_BLOCK)(_M))->StatusHandler)(   \
-  MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
-
-/*
- * VOID
- * NdisMIndicateStatusComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
-  (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
-    MiniportAdapterHandle)
-
-/*
- * VOID
- * NdisMInitializeWrapper(
- * OUT PNDIS_HANDLE  NdisWrapperHandle,
- * IN PVOID  SystemSpecific1,
- * IN PVOID  SystemSpecific2,
- * IN PVOID  SystemSpecific3);
- */
-#define NdisMInitializeWrapper(NdisWrapperHandle, \
-                               SystemSpecific1,   \
-                               SystemSpecific2,   \
-                               SystemSpecific3)   \
-    NdisInitializeWrapper((NdisWrapperHandle),    \
-                          (SystemSpecific1),      \
-                          (SystemSpecific2),      \
-                          (SystemSpecific3))
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMMapIoSpace(
-  /*OUT*/ PVOID  *VirtualAddress,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN*/ UINT  Length);
-
-/*
- * VOID
- * NdisMQueryInformationComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_STATUS  Status);
- */
-#define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
-  (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterAdapterShutdownHandler(
-  /*IN*/ NDIS_HANDLE  MiniportHandle,
-  /*IN*/ PVOID  ShutdownContext,
-  /*IN*/ ADAPTER_SHUTDOWN_HANDLER  ShutdownHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterInterrupt(
-  /*OUT*/ PNDIS_MINIPORT_INTERRUPT  Interrupt,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ UINT  InterruptVector,
-  /*IN*/ UINT  InterruptLevel,
-  /*IN*/ BOOLEAN  RequestIsr,
-  /*IN*/ BOOLEAN  SharedInterrupt,
-  /*IN*/ NDIS_INTERRUPT_MODE  InterruptMode);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterIoPortRange(
-  /*OUT*/ PVOID  *PortOffset,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ UINT  InitialPort,
-  /*IN*/ UINT  NumberOfPorts);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterMiniport(
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
-  /*IN*/ UINT  CharacteristicsLength);
-
-
-#if !defined(_NDIS_)
-
-/*
- * VOID
- * NdisMResetComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_STATUS  Status,
- * IN BOOLEAN  AddressingReset);
- */
-#define	NdisMResetComplete(MiniportAdapterHandle, \
-                           Status,                \
-                           AddressingReset)       \
-{                                                 \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
-        MiniportAdapterHandle, Status, AddressingReset); \
-}
-
-/*
- * VOID
- * NdisMSendComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN PNDIS_PACKET  Packet,
- * IN NDIS_STATUS  Status);
- */
-#define	NdisMSendComplete(MiniportAdapterHandle, \
-                          Packet,                \
-                          Status)                \
-{                                                \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
-        MiniportAdapterHandle, Packet, Status);  \
-}
-
-/*
- * VOID
- * NdisMSendResourcesAvailable(
- * IN NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define	NdisMSendResourcesAvailable(MiniportAdapterHandle) \
-{                                                \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
-        MiniportAdapterHandle); \
-}
-
-/*
- * VOID
- * NdisMTransferDataComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN PNDIS_PACKET  Packet,
- * IN NDIS_STATUS  Status,
- * IN UINT  BytesTransferred);
- */
-#define	NdisMTransferDataComplete(MiniportAdapterHandle, \
-                                  Packet,                \
-                                  Status,                \
-                                  BytesTransferred)      \
-{                                                        \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
-        MiniportAdapterHandle, Packet, Status, BytesTransferred)           \
-}
-
-#endif /* !_NDIS_ */
-
-
-/*
- * VOID
- * NdisMSetAttributes(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_HANDLE  MiniportAdapterContext,
- * IN BOOLEAN  BusMaster,
- * IN NDIS_INTERFACE_TYPE  AdapterType);
- */
-#define NdisMSetAttributes(MiniportAdapterHandle,   \
-                           MiniportAdapterContext,  \
-                           BusMaster,               \
-                           AdapterType)             \
-  NdisMSetAttributesEx(MiniportAdapterHandle,       \
-    MiniportAdapterContext,                         \
-    0,                                              \
-    (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0,    \
-    AdapterType)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSetAttributesEx(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ UINT  CheckForHangTimeInSeconds   /*OPTIONAL*/,
-  /*IN*/ ULONG  AttributeFlags,
-  /*IN*/ NDIS_INTERFACE_TYPE AdapterType);
-
-/*
- * VOID
- * NdisMSetInformationComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_STATUS  Status);
- */
-#define NdisMSetInformationComplete(MiniportAdapterHandle, \
-                                    Status) \
-  (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
-    MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSleep(
-  /*IN*/ ULONG  MicrosecondsToSleep);
-
-NDISAPI
-BOOLEAN
-DDKAPI
-NdisMSynchronizeWithInterrupt(
-  /*IN*/ PNDIS_MINIPORT_INTERRUPT  Interrupt,
-  /*IN*/ PVOID  SynchronizeFunction,
-  /*IN*/ PVOID  SynchronizeContext);
-
-/*
- * VOID
- * NdisMTrIndicateReceive(
- * IN NDIS_HANDLE  MiniportAdapterHandle,
- * IN NDIS_HANDLE  MiniportReceiveContext,
- * IN PVOID  HeaderBuffer,
- * IN UINT  HeaderBufferSize,
- * IN PVOID  LookaheadBuffer,
- * IN UINT  LookaheadBufferSize,
- * IN UINT  PacketSize);
- */
-#define NdisMTrIndicateReceive(MiniportAdapterHandle,  \
-                               MiniportReceiveContext, \
-                               HeaderBuffer,           \
-                               HeaderBufferSize,       \
-                               LookaheadBuffer,        \
-                               LookaheadBufferSize,    \
-                               PacketSize)             \
-{                                                      \
-    (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
-      (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.TrDB),     \
-		(MiniportReceiveContext), \
-		(HeaderBuffer),           \
-		(HeaderBuffer),           \
-		(HeaderBufferSize),       \
-		(LookaheadBuffer),        \
-		(LookaheadBufferSize),    \
-		(PacketSize));            \
-}
-
-/*
- * VOID
- * NdisMTrIndicateReceiveComplete(
- * IN NDIS_HANDLE  MiniportAdapterHandle);
- */
-#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
-{                                                             \
-	(*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
-    ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.TrDB);    \
-}
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMWriteLogData(
-  /*IN*/ NDIS_HANDLE  LogHandle,
-  /*IN*/ PVOID  LogBuffer,
-  /*IN*/ UINT  LogBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMQueryAdapterResources(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*OUT*/ PNDIS_RESOURCE_LIST  ResourceList,
-  /*IN OUT*/ PUINT  BufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTerminateWrapper(
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PVOID  SystemSpecific);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMUnmapIoSpace(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterHandle,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ UINT  Length);
-
-
-
-/* NDIS intermediate miniport structures */
-
-typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
-  /*IN*/ NDIS_HANDLE  MiniportAdapterContext,
-  /*IN*/ PVOID  CallbackContext);
-
-
-
-/* Routines for intermediate miniport drivers */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMDeInitializeDeviceInstance(
-  /*IN*/ NDIS_HANDLE NdisMiniportHandle);
-
-/*
- * NDIS_STATUS
- * NdisIMInitializeDeviceInstance(
- * IN NDIS_HANDLE  DriverHandle,
- * IN PNDIS_STRING  DeviceInstance);
- */
-#define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
-  NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMRegisterLayeredMiniport(
-  /*IN*/ NDIS_HANDLE  NdisWrapperHandle,
-  /*IN*/ PNDIS_MINIPORT_CHARACTERISTICS  MiniportCharacteristics,
-  /*IN*/ UINT  CharacteristicsLength,
-  /*OUT*/ PNDIS_HANDLE  DriverHandle);
-
-
-/* Functions obsoleted by NDIS 5.0 */
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeDmaChannel(
-  /*IN*/ PNDIS_HANDLE  NdisDmaHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSetupDmaTransfer(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ PNDIS_HANDLE  NdisDmaHandle,
-  /*IN*/ PNDIS_BUFFER  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-NDISAPI
-NTSTATUS
-DDKAPI
-NdisUpcaseUnicodeString(
-  /*OUT*/ PUNICODE_STRING  DestinationString,
-  /*IN*/ PUNICODE_STRING  SourceString);
-
-
-/* Routines for NDIS protocol drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisRequest(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PNDIS_REQUEST  NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReset(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSend(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PNDIS_PACKET  Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSendPackets(
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ PPNDIS_PACKET  PacketArray,
-  /*IN*/ UINT  NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTransferData(
-  /*OUT*/ PNDIS_STATUS        Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle,
-  /*IN*/ NDIS_HANDLE  MacReceiveContext,
-  /*IN*/ UINT  ByteOffset,
-  /*IN*/ UINT  BytesToTransfer,
-  /*IN OUT*/ PNDIS_PACKET  Packet,
-  /*OUT*/ PUINT  BytesTransferred);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseAdapter(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteBindAdapter(
-  /*IN*/ NDIS_HANDLE  BindAdapterContext,
-  /*IN*/ NDIS_STATUS  Status,
-  /*IN*/ NDIS_STATUS  OpenStatus);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteUnbindAdapter(
-  /*IN*/ NDIS_HANDLE  UnbindAdapterContext,
-  /*IN*/ NDIS_STATUS  Status);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDeregisterProtocol(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*IN*/ NDIS_HANDLE  NdisProtocolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenAdapter(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_STATUS  OpenErrorStatus,
-  /*OUT*/ PNDIS_HANDLE  NdisBindingHandle,
-  /*OUT*/ PUINT  SelectedMediumIndex,
-  /*IN*/ PNDIS_MEDIUM  MediumArray,
-  /*IN*/ UINT  MediumArraySize,
-  /*IN*/ NDIS_HANDLE  NdisProtocolHandle,
-  /*IN*/ NDIS_HANDLE  ProtocolBindingContext,
-  /*IN*/ PNDIS_STRING  AdapterName,
-  /*IN*/ UINT  OpenOptions,
-  /*IN*/ PSTRING  AddressingInformation);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenProtocolConfiguration(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_HANDLE  ConfigurationHandle,
-  /*IN*/ PNDIS_STRING  ProtocolSection);
-
-NDISAPI
-VOID
-DDKAPI
-NdisRegisterProtocol(
-  /*OUT*/ PNDIS_STATUS  Status,
-  /*OUT*/ PNDIS_HANDLE  NdisProtocolHandle,
-  /*IN*/ PNDIS_PROTOCOL_CHARACTERISTICS  ProtocolCharacteristics,
-  /*IN*/ UINT  CharacteristicsLength);
-
-/* Obsoleted in Windows XP */
-
-/* Prototypes for NDIS_MAC_CHARACTERISTICS */
-
-typedef NDIS_STATUS (*OPEN_ADAPTER_HANDLER)(
-  /*OUT*/ PNDIS_STATUS  OpenErrorStatus,
-  /*OUT*/ NDIS_HANDLE  *MacBindingHandle,
-  /*OUT*/ PUINT  SelectedMediumIndex,
-  /*IN*/ PNDIS_MEDIUM  MediumArray,
-  /*IN*/ UINT  MediumArraySize,
-  /*IN*/ NDIS_HANDLE  NdisBindingContext,
-  /*IN*/ NDIS_HANDLE  MacAdapterContext,
-  /*IN*/ UINT  OpenOptions,
-  /*IN*/ PSTRING  AddressingInformation  /*OPTIONAL*/);
-
-typedef NDIS_STATUS (DDKAPI *CLOSE_ADAPTER_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacBindingHandle);
-
-typedef NDIS_STATUS (DDKAPI *WAN_TRANSFER_DATA_HANDLER)(
-  VOID);
-
-typedef NDIS_STATUS (DDKAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacAdapterContext,
-  /*IN*/ PNDIS_REQUEST  NdisRequest);
-
-typedef VOID (DDKAPI *UNLOAD_MAC_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacMacContext);
-
-typedef NDIS_STATUS (DDKAPI *ADD_ADAPTER_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacMacContext,
-  /*IN*/ NDIS_HANDLE  WrapperConfigurationContext,
-  /*IN*/ PNDIS_STRING  AdapterName);
-
-typedef VOID (*REMOVE_ADAPTER_HANDLER)(
-  /*IN*/ NDIS_HANDLE  MacAdapterContext);
-
-typedef struct _NDIS_MAC_CHARACTERISTICS {
-  UCHAR  MajorNdisVersion;
-  UCHAR  MinorNdisVersion;
-  UINT  Reserved;
-  OPEN_ADAPTER_HANDLER  OpenAdapterHandler;
-  CLOSE_ADAPTER_HANDLER  CloseAdapterHandler;
-  SEND_HANDLER  SendHandler;
-  TRANSFER_DATA_HANDLER  TransferDataHandler;
-  RESET_HANDLER  ResetHandler;
-  REQUEST_HANDLER  RequestHandler;
-  QUERY_GLOBAL_STATISTICS_HANDLER  QueryGlobalStatisticsHandler;
-  UNLOAD_MAC_HANDLER  UnloadMacHandler;
-  ADD_ADAPTER_HANDLER  AddAdapterHandler;
-  REMOVE_ADAPTER_HANDLER  RemoveAdapterHandler;
-  NDIS_STRING  Name;
-} NDIS_MAC_CHARACTERISTICS, *PNDIS_MAC_CHARACTERISTICS;
-
-typedef	NDIS_MAC_CHARACTERISTICS        NDIS_WAN_MAC_CHARACTERISTICS;
-typedef	NDIS_WAN_MAC_CHARACTERISTICS    *PNDIS_WAN_MAC_CHARACTERISTICS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDIS_H */
-
-/* EOF */
Index: Daodan/MinGW/include/ddk/ndisguid.h
===================================================================
--- Daodan/MinGW/include/ddk/ndisguid.h	(revision 1046)
+++ 	(revision )
@@ -1,439 +1,0 @@
-/*
- * ndisguid.h
- *
- * GUIDs for NDIS drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISGUID_H
-#define __NDISGUID_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-DEFINE_GUID(GUID_NDIS_LAN_CLASS,
-  0xad498944, 0x762f, 0x11d0, 0x8d, 0xcb, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_ADAPTER,
-  0x981f2d7f, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_VC,
-  0x981f2d82, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_ARRIVAL,
-  0x981f2d81, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_REMOVAL,
-  0x981f2d80, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_ARRIVAL,
-  0x182f9e0c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_REMOVAL,
-  0x981f2d79, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_BIND,
-  0x5413531c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_UNBIND,
-  0x6e3ce1ec, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_WAKE_ON_MAGIC_PACKET_ONLY,
-  0xa14f1c97, 0x8839, 0x4f8a, 0x99, 0x96, 0xa2, 0x89, 0x96, 0xeb, 0xbf, 0x1d);
-
-
-DEFINE_GUID(GUID_NDIS_802_3_CURRENT_ADDRESS,
-  0x44795700, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAC_OPTIONS,
-  0x44795703, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAXIMUM_LIST_SIZE,
-  0x44795702, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MULTICAST_LIST,
-  0x44795701, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_PERMANENT_ADDRESS,
-  0x447956ff, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT,
-  0x44795704, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_MORE_COLLISIONS,
-  0x44795706, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_ONE_COLLISION,
-  0x44795705, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_ADDRESS,
-  0x44795708, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_FUNCTIONAL,
-  0x44795709, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_GROUP,
-  0x4479570a, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATE,
-  0xacf14032, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATUS,
-  0x890a36ec, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LAST_OPEN_STATUS,
-  0x4479570b, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_PERMANENT_ADDRESS,
-  0x44795707, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LINE_ERRORS,
-  0xacf14033, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LOST_FRAMES,
-  0xacf14034, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_802_11_ADD_WEP,
-  0x4307bff0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_AUTHENTICATION_MODE,
-  0x43920a24, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID,
-  0x2504b6c2, 0x1fa5, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID_LIST,
-  0x69526f9a, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BASIC_RATES,
-  0x4a198516, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_CONFIGURATION,
-  0x4a4df982, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DESIRED_RATES,
-  0x452ee08e, 0x2536, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DISASSOCIATE,
-  0x43671f40, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_FRAGMENTATION_THRESHOLD,
-  0x69aaa7c4, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_INFRASTRUCTURE_MODE,
-  0x697d5a7e, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPES_SUPPORTED,
-  0x8531d6e6, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPE_IN_USE,
-  0x857e2326, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NUMBER_OF_ANTENNAS,
-  0x01779336, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_POWER_MODE,
-  0x85be837c, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RATES_SUPPORTED,
-  0x49db8722, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_REMOVE_WEP,
-  0x433c345c, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_PRIVACY_FILTER,
-  0x6733c4e9, 0x4792, 0x11d4, 0x97, 0xf1, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI,
-  0x1507db16, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI_TRIGGER,
-  0x155689b8, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RTS_THRESHOLD,
-  0x0134d07e, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RX_ANTENNA_SELECTED,
-  0x01ac07a2, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_SSID,
-  0x7d2a90ea, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_STATISTICS,
-  0x42bb73b0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_POWER_LEVEL,
-  0x11e6ba76, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_ANTENNA_SELECTED,
-  0x01dbb74a, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_HW_CURRENT_ADDRESS,
-  0x791ad1a1, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE,
-  0x791ad1a5, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE,
-  0x791ad1a6, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE,
-  0x791ad1a7, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE,
-  0x791ad191, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS,
-  0x791ad1a3, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCS,
-  0x791ad1a2, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS,
-  0x791ad1a4, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_AAL_TYPES,
-  0x791ad1a0, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEGORY,
-  0x791ad19f, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_VC_RATES,
-  0x791ad19e, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_DROPPED,
-  0x0a21480c, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_OK,
-  0x0a21480a, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_XMIT_CELLS_OK,
-  0x0a21480b, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_CURRENT_ADDR,
-  0xacf14036, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE,
-  0xacf14038, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MULTICAST_LIST,
-  0xacf14037, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_PERMANENT_ADDR,
-  0xacf14035, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_CURRENT_ADDR,
-  0xacf1403a, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE,
-  0xacf1403c, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MULTICAST_LIST,
-  0xacf1403b, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR,
-  0xacf14039, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_ATTACHMENT_TYPE,
-  0xacf1403d, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG,
-  0xacf1403f, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAME_ERRORS,
-  0xacf14040, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAMES_LOST,
-  0xacf14041, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCT_FAILURES,
-  0xacf14043, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCONNECTION_STATE,
-  0xacf14045, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LEM_REJECTS,
-  0xacf14044, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_RING_MGT_STATE,
-  0xacf14042, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_UPSTREAM_NODE_LONG,
-  0xacf1403e, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_LOOKAHEAD,
-  0x5ec10361, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_PACKET_FILTER,
-  0x5ec10360, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_DRIVER_VERSION,
-  0x5ec10362, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_HARDWARE_STATUS,
-  0x5ec10354, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_IN_USE,
-  0x5ec10356, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_SUPPORTED,
-  0x5ec10355, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_LINK_SPEED,
-  0x5ec10359, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAC_OPTIONS,
-  0x5ec10365, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD,
-  0x5ec10357, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE,
-  0x5ec10358, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS,
-  0x5ec10367, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE,
-  0x5ec10363, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_CONNECT_STATUS,
-  0x5ec10366, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE,
-  0x5ec1035d, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE,
-  0x5ec1035b, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE,
-  0x5ec1035a, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE,
-  0x5ec1035c, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DESCRIPTION,
-  0x5ec1035f, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DRIVER_VERSION,
-  0x447956f9, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_ID,
-  0x5ec1035e, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_ERROR,
-  0x447956fd, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_NO_BUFFER,
-  0x447956fe, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_OK,
-  0x447956fb, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_ERROR,
-  0x447956fc, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_OK,
-  0x447956fa, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_DRIVER_VERSION,
-  0x791ad198, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_HARDWARE_STATUS,
-  0x791ad192, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_LINK_SPEED,
-  0x791ad195, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MAC_OPTIONS,
-  0x791ad19a, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_SUPPORTED,
-  0x791ad193, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_IN_USE,
-  0x791ad194, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATUS,
-  0x791ad19b, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED,
-  0x791ad19d, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION,
-  0x791ad197, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSION,
-  0x791ad19c, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_ID,
-  0x791ad196, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_ERROR,
-  0x0a214808, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_OK,
-  0x0a214806, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
-  0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR,
-  0x0a214807, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_OK,
-  0x0a214805, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_STATUS_LINK_SPEED_CHANGE,
-  0x981f2d85, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_CONNECT,
-  0x981f2d7d, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_DISCONNECT,
-  0x981f2d7e, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDICATION,
-  0x981f2d84, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_END,
-  0x981f2d77, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_START,
-  0x981f2d76, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISGUID_H */
Index: Daodan/MinGW/include/ddk/ndistapi.h
===================================================================
--- Daodan/MinGW/include/ddk/ndistapi.h	(revision 1046)
+++ 	(revision )
@@ -1,1308 +1,0 @@
-/*
- * ndistapi.h
- *
- * NDIS Telephony API
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISTAPI_H
-#define __NDISTAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#ifndef NDIS_TAPI_CURRENT_VERSION
-#define NDIS_TAPI_CURRENT_VERSION         0x00010003
-#endif
-
-typedef ULONG_PTR HTAPI_LINE;
-typedef ULONG_PTR HDRV_LINE;
-typedef ULONG_PTR HTAPI_CALL;
-typedef ULONG_PTR HDRV_CALL;
-
-#define NDIS_STATUS_TAPI_ADDRESSBLOCKED               ((NDIS_STATUS)0xC0012000L)
-#define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL            ((NDIS_STATUS)0xC0012001L)
-#define NDIS_STATUS_TAPI_CALLUNAVAIL                  ((NDIS_STATUS)0xC0012002L)
-#define NDIS_STATUS_TAPI_DIALBILLING                  ((NDIS_STATUS)0xC0012003L)
-#define NDIS_STATUS_TAPI_DIALDIALTONE                 ((NDIS_STATUS)0xC0012004L)
-#define NDIS_STATUS_TAPI_DIALPROMPT                   ((NDIS_STATUS)0xC0012005L)
-#define NDIS_STATUS_TAPI_DIALQUIET                    ((NDIS_STATUS)0xC0012006L)
-#define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION       ((NDIS_STATUS)0xC0012007L)
-#define NDIS_STATUS_TAPI_INUSE                        ((NDIS_STATUS)0xC0012008L)
-#define NDIS_STATUS_TAPI_INVALADDRESS                 ((NDIS_STATUS)0xC0012009L)
-#define NDIS_STATUS_TAPI_INVALADDRESSID               ((NDIS_STATUS)0xC001200AL)
-#define NDIS_STATUS_TAPI_INVALADDRESSMODE             ((NDIS_STATUS)0xC001200BL)
-#define NDIS_STATUS_TAPI_INVALBEARERMODE              ((NDIS_STATUS)0xC001200CL)
-#define NDIS_STATUS_TAPI_INVALCALLHANDLE              ((NDIS_STATUS)0xC001200DL)
-#define NDIS_STATUS_TAPI_INVALCALLPARAMS              ((NDIS_STATUS)0xC001200EL)
-#define NDIS_STATUS_TAPI_INVALCALLSTATE               ((NDIS_STATUS)0xC001200FL)
-#define NDIS_STATUS_TAPI_INVALDEVICECLASS             ((NDIS_STATUS)0xC0012010L)
-#define NDIS_STATUS_TAPI_INVALLINEHANDLE              ((NDIS_STATUS)0xC0012011L)
-#define NDIS_STATUS_TAPI_INVALLINESTATE               ((NDIS_STATUS)0xC0012012L)
-#define NDIS_STATUS_TAPI_INVALMEDIAMODE               ((NDIS_STATUS)0xC0012013L)
-#define NDIS_STATUS_TAPI_INVALRATE                    ((NDIS_STATUS)0xC0012014L)
-#define NDIS_STATUS_TAPI_NODRIVER                     ((NDIS_STATUS)0xC0012015L)
-#define NDIS_STATUS_TAPI_OPERATIONUNAVAIL             ((NDIS_STATUS)0xC0012016L)
-#define NDIS_STATUS_TAPI_RATEUNAVAIL                  ((NDIS_STATUS)0xC0012017L)
-#define NDIS_STATUS_TAPI_RESOURCEUNAVAIL              ((NDIS_STATUS)0xC0012018L)
-#define NDIS_STATUS_TAPI_STRUCTURETOOSMALL            ((NDIS_STATUS)0xC0012019L)
-#define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG           ((NDIS_STATUS)0xC001201AL)
-#define NDIS_STATUS_TAPI_ALLOCATED                    ((NDIS_STATUS)0xC001201BL)
-#define NDIS_STATUS_TAPI_INVALADDRESSSTATE            ((NDIS_STATUS)0xC001201CL)
-#define NDIS_STATUS_TAPI_INVALPARAM                   ((NDIS_STATUS)0xC001201DL)
-#define NDIS_STATUS_TAPI_NODEVICE                     ((NDIS_STATUS)0xC001201EL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL        ((NDIS_STATUS)0xC0012020L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN       ((NDIS_STATUS)0xC0012021L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT        ((NDIS_STATUS)0xC0012022L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP        ((NDIS_STATUS)0xC0012023L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED     ((NDIS_STATUS)0xC0012024L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY          ((NDIS_STATUS)0xC0012025L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER      ((NDIS_STATUS)0xC0012026L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS    ((NDIS_STATUS)0xC0012027L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE   ((NDIS_STATUS)0xC0012028L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION    ((NDIS_STATUS)0xC0012029L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE  ((NDIS_STATUS)0xC001202AL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL       ((NDIS_STATUS)0xC001202BL)
-#define NDIS_STATUS_TAPI_RECV_DIGIT					          ((NDIS_STATUS)0x40010020L)
-
-#define LINE_ADDRESSSTATE                 0L
-#define LINE_CALLINFO                     1L
-#define LINE_CALLSTATE                    2L
-#define LINE_CLOSE                        3L
-#define LINE_DEVSPECIFIC                  4L
-#define LINE_DEVSPECIFICFEATURE           5L
-#define LINE_GATHERDIGITS                 6L
-#define LINE_GENERATE                     7L
-#define LINE_LINEDEVSTATE                 8L
-#define LINE_MONITORDIGITS                9L
-#define LINE_MONITORMEDIA                 10L
-#define LINE_MONITORTONE                  11L
-#define LINE_REPLY                        12L
-#define LINE_REQUEST                      13L
-#define LINE_CREATE                       19L
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINE_AGENTSPECIFIC                21L
-#define LINE_AGENTSTATUS                  22L
-#define LINE_APPNEWCALL                   23L
-#define LINE_PROXYREQUEST                 24L
-#define LINE_REMOVE                       25L
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
-#define LINE_AGENTSESSIONSTATUS           27L
-#define LINE_QUEUESTATUS                  28L
-#define LINE_AGENTSTATUSEX                29L
-#define LINE_GROUPSTATUS                  30L
-#define LINE_PROXYSTATUS                  31L
-#endif
-#if (TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINE_APPNEWCALLHUB                32L
-#define LINE_CALLHUBCLOSE                 33L
-#define LINE_DEVSPECIFICEX                34L
-#endif
-
-#define TSPI_MESSAGE_BASE                 500L
-#define LINE_NEWCALL                      TSPI_MESSAGE_BASE
-#define LINE_CALLDEVSPECIFIC              (TSPI_MESSAGE_BASE + 1L)
-#define STRINGFORMAT_ASCII                0x00000001
-#define STRINGFORMAT_DBCS                 0x00000002
-#define STRINGFORMAT_UNICODE              0x00000003
-#define STRINGFORMAT_BINARY               0x00000004
-
-#define LINEADDRCAPFLAGS_FWDNUMRINGS      0x00000001
-#define LINEADDRCAPFLAGS_PICKUPGROUPID    0x00000002
-#define LINEADDRCAPFLAGS_SECURE           0x00000004
-#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT   0x00000008
-#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE  0x00000010
-#define LINEADDRCAPFLAGS_DIALED           0x00000020
-#define LINEADDRCAPFLAGS_ORIGOFFHOOK      0x00000040
-#define LINEADDRCAPFLAGS_DESTOFFHOOK      0x00000080
-#define LINEADDRCAPFLAGS_FWDCONSULT       0x00000100
-#define LINEADDRCAPFLAGS_SETUPCONFNULL    0x00000200
-#define LINEADDRCAPFLAGS_AUTORECONNECT    0x00000400
-#define LINEADDRCAPFLAGS_COMPLETIONID     0x00000800
-#define LINEADDRCAPFLAGS_TRANSFERHELD     0x00001000
-#define LINEADDRCAPFLAGS_TRANSFERMAKE     0x00002000
-#define LINEADDRCAPFLAGS_CONFERENCEHELD   0x00004000
-#define LINEADDRCAPFLAGS_CONFERENCEMAKE   0x00008000
-#define LINEADDRCAPFLAGS_PARTIALDIAL      0x00010000
-#define LINEADDRCAPFLAGS_FWDSTATUSVALID   0x00020000
-#define LINEADDRCAPFLAGS_FWDINTEXTADDR    0x00040000
-#define LINEADDRCAPFLAGS_FWDBUSYNAADDR    0x00080000
-#define LINEADDRCAPFLAGS_ACCEPTTOALERT    0x00100000
-#define LINEADDRCAPFLAGS_CONFDROP         0x00200000
-#define LINEADDRCAPFLAGS_PICKUPCALLWAIT   0x00400000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000
-#define LINEADDRCAPFLAGS_QUEUE            0x01000000
-#define LINEADDRCAPFLAGS_ROUTEPOINT       0x02000000
-#define LINEADDRCAPFLAGS_HOLDMAKESNEW     0x04000000
-#define LINEADDRCAPFLAGS_NOINTERNALCALLS  0x08000000
-#define LINEADDRCAPFLAGS_NOEXTERNALCALLS  0x10000000
-#define LINEADDRCAPFLAGS_SETCALLINGID     0x20000000
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRCAPFLAGS_ACDGROUP         0x40000000
-#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
-                                          0x80000000
-#endif
-
-#define LINEADDRESSMODE_ADDRESSID         0x00000001
-#define LINEADDRESSMODE_DIALABLEADDR      0x00000002
-#define LINEADDRESSSHARING_PRIVATE        0x00000001
-#define LINEADDRESSSHARING_BRIDGEDEXCL    0x00000002
-#define LINEADDRESSSHARING_BRIDGEDNEW     0x00000004
-#define LINEADDRESSSHARING_BRIDGEDSHARED  0x00000008
-#define LINEADDRESSSHARING_MONITORED      0x00000010
-#define LINEADDRESSSTATE_OTHER            0x00000001
-#define LINEADDRESSSTATE_DEVSPECIFIC      0x00000002
-#define LINEADDRESSSTATE_INUSEZERO        0x00000004
-#define LINEADDRESSSTATE_INUSEONE         0x00000008
-#define LINEADDRESSSTATE_INUSEMANY        0x00000010
-#define LINEADDRESSSTATE_NUMCALLS         0x00000020
-#define LINEADDRESSSTATE_FORWARD          0x00000040
-#define LINEADDRESSSTATE_TERMINALS        0x00000080
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRESSTYPE_PHONENUMBER       0x00000001
-#define LINEADDRESSTYPE_SDP               0x00000002
-#define LINEADDRESSTYPE_EMAILNAME         0x00000004
-#define LINEADDRESSTYPE_DOMAINNAME        0x00000008
-#define LINEADDRESSTYPE_IPADDRESS         0x00000010
-#endif
-
-#define LINEADDRFEATURE_FORWARD           0x00000001
-#define LINEADDRFEATURE_MAKECALL          0x00000002
-#define LINEADDRFEATURE_PICKUP            0x00000004
-#define LINEADDRFEATURE_SETMEDIACONTROL   0x00000008
-#define LINEADDRFEATURE_SETTERMINAL       0x00000010
-#define LINEADDRFEATURE_SETUPCONF         0x00000020
-#define LINEADDRFEATURE_UNCOMPLETECALL    0x00000040
-#define LINEADDRFEATURE_UNPARK            0x00000080
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRFEATURE_PICKUPHELD        0x00000100
-#define LINEADDRFEATURE_PICKUPGROUP       0x00000200
-#define LINEADDRFEATURE_PICKUPDIRECT      0x00000400
-#define LINEADDRFEATURE_PICKUPWAITING     0x00000800
-#define LINEADDRFEATURE_FORWARDFWD        0x00001000
-#define LINEADDRFEATURE_FORWARDDND        0x00002000
-#endif
-
-#define LINEANSWERMODE_NONE               0x00000001
-#define LINEANSWERMODE_DROP               0x00000002
-#define LINEANSWERMODE_HOLD               0x00000004
-
-#define LINEBEARERMODE_VOICE              0x00000001
-#define LINEBEARERMODE_SPEECH             0x00000002
-#define LINEBEARERMODE_MULTIUSE           0x00000004
-#define LINEBEARERMODE_DATA               0x00000008
-#define LINEBEARERMODE_ALTSPEECHDATA      0x00000010
-#define LINEBEARERMODE_NONCALLSIGNALING   0x00000020
-#define LINEBEARERMODE_PASSTHROUGH        0x00000040
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEBEARERMODE_RESTRICTEDDATA     0x00000080
-#endif
-
-#define LINEBUSYMODE_STATION              0x00000001
-#define LINEBUSYMODE_TRUNK                0x00000002
-#define LINEBUSYMODE_UNKNOWN              0x00000004
-#define LINEBUSYMODE_UNAVAIL              0x00000008
-
-#define LINECALLCOMPLCOND_BUSY            0x00000001
-#define LINECALLCOMPLCOND_NOANSWER        0x00000002
-
-#define LINECALLCOMPLMODE_CAMPON          0x00000001
-#define LINECALLCOMPLMODE_CALLBACK        0x00000002
-#define LINECALLCOMPLMODE_INTRUDE         0x00000004
-#define LINECALLCOMPLMODE_MESSAGE         0x00000008
-
-#define LINECALLFEATURE_ACCEPT            0x00000001
-#define LINECALLFEATURE_ADDTOCONF         0x00000002
-#define LINECALLFEATURE_ANSWER            0x00000004
-#define LINECALLFEATURE_BLINDTRANSFER     0x00000008
-#define LINECALLFEATURE_COMPLETECALL      0x00000010
-#define LINECALLFEATURE_COMPLETETRANSF    0x00000020
-#define LINECALLFEATURE_DIAL              0x00000040
-#define LINECALLFEATURE_DROP              0x00000080
-#define LINECALLFEATURE_GATHERDIGITS      0x00000100
-#define LINECALLFEATURE_GENERATEDIGITS    0x00000200
-#define LINECALLFEATURE_GENERATETONE      0x00000400
-#define LINECALLFEATURE_HOLD              0x00000800
-#define LINECALLFEATURE_MONITORDIGITS     0x00001000
-#define LINECALLFEATURE_MONITORMEDIA      0x00002000
-#define LINECALLFEATURE_MONITORTONES      0x00004000
-#define LINECALLFEATURE_PARK              0x00008000
-#define LINECALLFEATURE_PREPAREADDCONF    0x00010000
-#define LINECALLFEATURE_REDIRECT          0x00020000
-#define LINECALLFEATURE_REMOVEFROMCONF    0x00040000
-#define LINECALLFEATURE_SECURECALL        0x00080000
-#define LINECALLFEATURE_SENDUSERUSER      0x00100000
-#define LINECALLFEATURE_SETCALLPARAMS     0x00200000
-#define LINECALLFEATURE_SETMEDIACONTROL   0x00400000
-#define LINECALLFEATURE_SETTERMINAL       0x00800000
-#define LINECALLFEATURE_SETUPCONF         0x01000000
-#define LINECALLFEATURE_SETUPTRANSFER     0x02000000
-#define LINECALLFEATURE_SWAPHOLD          0x04000000
-#define LINECALLFEATURE_UNHOLD            0x08000000
-#define LINECALLFEATURE_RELEASEUSERUSERINFO \
-                                          0x10000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLFEATURE_SETTREATMENT      0x20000000
-#define LINECALLFEATURE_SETQOS            0x40000000
-#define LINECALLFEATURE_SETCALLDATA       0x80000000
-#endif
-
-#define LINECALLINFOSTATE_OTHER           0x00000001
-#define LINECALLINFOSTATE_DEVSPECIFIC     0x00000002
-#define LINECALLINFOSTATE_BEARERMODE      0x00000004
-#define LINECALLINFOSTATE_RATE            0x00000008
-#define LINECALLINFOSTATE_MEDIAMODE       0x00000010
-#define LINECALLINFOSTATE_APPSPECIFIC     0x00000020
-#define LINECALLINFOSTATE_CALLID          0x00000040
-#define LINECALLINFOSTATE_RELATEDCALLID   0x00000080
-#define LINECALLINFOSTATE_ORIGIN          0x00000100
-#define LINECALLINFOSTATE_REASON          0x00000200
-#define LINECALLINFOSTATE_COMPLETIONID    0x00000400
-#define LINECALLINFOSTATE_NUMOWNERINCR    0x00000800
-#define LINECALLINFOSTATE_NUMOWNERDECR    0x00001000
-#define LINECALLINFOSTATE_NUMMONITORS     0x00002000
-#define LINECALLINFOSTATE_TRUNK           0x00004000
-#define LINECALLINFOSTATE_CALLERID        0x00008000
-#define LINECALLINFOSTATE_CALLEDID        0x00010000
-#define LINECALLINFOSTATE_CONNECTEDID     0x00020000
-#define LINECALLINFOSTATE_REDIRECTIONID   0x00040000
-#define LINECALLINFOSTATE_REDIRECTINGID   0x00080000
-#define LINECALLINFOSTATE_DISPLAY         0x00100000
-#define LINECALLINFOSTATE_USERUSERINFO    0x00200000
-#define LINECALLINFOSTATE_HIGHLEVELCOMP   0x00400000
-#define LINECALLINFOSTATE_LOWLEVELCOMP    0x00800000
-#define LINECALLINFOSTATE_CHARGINGINFO    0x01000000
-#define LINECALLINFOSTATE_TERMINAL        0x02000000
-#define LINECALLINFOSTATE_DIALPARAMS      0x04000000
-#define LINECALLINFOSTATE_MONITORMODES    0x08000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLINFOSTATE_TREATMENT       0x10000000
-#define LINECALLINFOSTATE_QOS             0x20000000
-#define LINECALLINFOSTATE_CALLDATA        0x40000000
-#endif
-
-#define LINECALLORIGIN_OUTBOUND           0x00000001
-#define LINECALLORIGIN_INTERNAL           0x00000002
-#define LINECALLORIGIN_EXTERNAL           0x00000004
-#define LINECALLORIGIN_UNKNOWN            0x00000010
-#define LINECALLORIGIN_UNAVAIL            0x00000020
-#define LINECALLORIGIN_CONFERENCE         0x00000040
-#define LINECALLORIGIN_INBOUND            0x00000080
-
-#define LINECALLPARAMFLAGS_SECURE         0x00000001
-#define LINECALLPARAMFLAGS_IDLE           0x00000002
-#define LINECALLPARAMFLAGS_BLOCKID        0x00000004
-#define LINECALLPARAMFLAGS_ORIGOFFHOOK    0x00000008
-#define LINECALLPARAMFLAGS_DESTOFFHOOK    0x00000010
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE \
-                                          0x00000020
-#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
-#define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
-                                          0x00000080
-#endif
-
-#define LINECALLPARTYID_BLOCKED           0x00000001
-#define LINECALLPARTYID_OUTOFAREA         0x00000002
-#define LINECALLPARTYID_NAME              0x00000004
-#define LINECALLPARTYID_ADDRESS           0x00000008
-#define LINECALLPARTYID_PARTIAL           0x00000010
-#define LINECALLPARTYID_UNKNOWN           0x00000020
-#define LINECALLPARTYID_UNAVAIL           0x00000040
-
-#define LINECALLPRIVILEGE_NONE            0x00000001
-#define LINECALLPRIVILEGE_MONITOR         0x00000002
-#define LINECALLPRIVILEGE_OWNER           0x00000004
-
-#define LINECALLREASON_DIRECT             0x00000001
-#define LINECALLREASON_FWDBUSY            0x00000002
-#define LINECALLREASON_FWDNOANSWER        0x00000004
-#define LINECALLREASON_FWDUNCOND          0x00000008
-#define LINECALLREASON_PICKUP             0x00000010
-#define LINECALLREASON_UNPARK             0x00000020
-#define LINECALLREASON_REDIRECT           0x00000040
-#define LINECALLREASON_CALLCOMPLETION     0x00000080
-#define LINECALLREASON_TRANSFER           0x00000100
-#define LINECALLREASON_REMINDER           0x00000200
-#define LINECALLREASON_UNKNOWN            0x00000400
-#define LINECALLREASON_UNAVAIL            0x00000800
-#define LINECALLREASON_INTRUDE            0x00001000
-#define LINECALLREASON_PARKED             0x00002000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLREASON_CAMPEDON           0x00004000
-#define LINECALLREASON_ROUTEREQUEST       0x00008000
-#endif
-
-#define LINECALLSELECT_LINE               0x00000001
-#define LINECALLSELECT_ADDRESS            0x00000002
-#define LINECALLSELECT_CALL               0x00000004
-#if (NDIS_TAPI_CURRENT_VERSION > 0x00020000)
-#define LINECALLSELECT_DEVICEID           0x00000008
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINECALLSELECT_CALLID             0x00000010
-#endif
-
-#define LINECALLSTATE_IDLE                0x00000001
-#define LINECALLSTATE_OFFERING            0x00000002
-#define LINECALLSTATE_ACCEPTED            0x00000004
-#define LINECALLSTATE_DIALTONE            0x00000008
-#define LINECALLSTATE_DIALING             0x00000010
-#define LINECALLSTATE_RINGBACK            0x00000020
-#define LINECALLSTATE_BUSY                0x00000040
-#define LINECALLSTATE_SPECIALINFO         0x00000080
-#define LINECALLSTATE_CONNECTED           0x00000100
-#define LINECALLSTATE_PROCEEDING          0x00000200
-#define LINECALLSTATE_ONHOLD              0x00000400
-#define LINECALLSTATE_CONFERENCED         0x00000800
-#define LINECALLSTATE_ONHOLDPENDCONF      0x00001000
-#define LINECALLSTATE_ONHOLDPENDTRANSFER  0x00002000
-#define LINECALLSTATE_DISCONNECTED        0x00004000
-#define LINECALLSTATE_UNKNOWN             0x00008000
-
-#define LINEDEVCAPFLAGS_CROSSADDRCONF     0x00000001
-#define LINEDEVCAPFLAGS_HIGHLEVCOMP       0x00000002
-#define LINEDEVCAPFLAGS_LOWLEVCOMP        0x00000004
-#define LINEDEVCAPFLAGS_MEDIACONTROL      0x00000008
-#define LINEDEVCAPFLAGS_MULTIPLEADDR      0x00000010
-#define LINEDEVCAPFLAGS_CLOSEDROP         0x00000020
-#define LINEDEVCAPFLAGS_DIALBILLING       0x00000040
-#define LINEDEVCAPFLAGS_DIALQUIET         0x00000080
-#define LINEDEVCAPFLAGS_DIALDIALTONE      0x00000100
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEDEVCAPFLAGS_MSP               0x00000200
-#define LINEDEVCAPFLAGS_CALLHUB           0x00000400
-#define LINEDEVCAPFLAGS_CALLHUBTRACKING   0x00000800
-#define LINEDEVCAPFLAGS_PRIVATEOBJECTS    0x00001000
-#endif
-
-#define LINEDEVSTATE_OTHER      0x00000001
-#define LINEDEVSTATE_RINGING              0x00000002
-#define LINEDEVSTATE_CONNECTED            0x00000004
-#define LINEDEVSTATE_DISCONNECTED         0x00000008
-#define LINEDEVSTATE_MSGWAITON            0x00000010
-#define LINEDEVSTATE_MSGWAITOFF           0x00000020
-#define LINEDEVSTATE_INSERVICE            0x00000040
-#define LINEDEVSTATE_OUTOFSERVICE         0x00000080
-#define LINEDEVSTATE_MAINTENANCE          0x00000100
-#define LINEDEVSTATE_OPEN                 0x00000200
-#define LINEDEVSTATE_CLOSE                0x00000400
-#define LINEDEVSTATE_NUMCALLS             0x00000800
-#define LINEDEVSTATE_NUMCOMPLETIONS       0x00001000
-#define LINEDEVSTATE_TERMINALS            0x00002000
-#define LINEDEVSTATE_ROAMMODE             0x00004000
-#define LINEDEVSTATE_BATTERY              0x00008000
-#define LINEDEVSTATE_SIGNAL               0x00010000
-#define LINEDEVSTATE_DEVSPECIFIC          0x00020000
-#define LINEDEVSTATE_REINIT               0x00040000
-#define LINEDEVSTATE_LOCK                 0x00080000
-
-#define LINEDEVSTATUSFLAGS_CONNECTED      0x00000001
-#define LINEDEVSTATUSFLAGS_MSGWAIT        0x00000002
-#define LINEDEVSTATUSFLAGS_INSERVICE      0x00000004
-#define LINEDEVSTATUSFLAGS_LOCKED         0x00000008
-
-#define LINEDIALTONEMODE_NORMAL           0x00000001
-#define LINEDIALTONEMODE_SPECIAL          0x00000002
-#define LINEDIALTONEMODE_INTERNAL         0x00000004
-#define LINEDIALTONEMODE_EXTERNAL         0x00000008
-#define LINEDIALTONEMODE_UNKNOWN          0x00000010
-#define LINEDIALTONEMODE_UNAVAIL          0x00000020
-
-#define LINEDIGITMODE_PULSE               0x00000001
-#define LINEDIGITMODE_DTMF                0x00000002
-#define LINEDIGITMODE_DTMFEND             0x00000004
-
-#define LINEDISCONNECTMODE_NORMAL         0x00000001
-#define LINEDISCONNECTMODE_UNKNOWN        0x00000002
-#define LINEDISCONNECTMODE_REJECT         0x00000004
-#define LINEDISCONNECTMODE_PICKUP         0x00000008
-#define LINEDISCONNECTMODE_FORWARDED      0x00000010
-#define LINEDISCONNECTMODE_BUSY           0x00000020
-#define LINEDISCONNECTMODE_NOANSWER       0x00000040
-#define LINEDISCONNECTMODE_BADADDRESS     0x00000080
-#define LINEDISCONNECTMODE_UNREACHABLE    0x00000100
-#define LINEDISCONNECTMODE_CONGESTION     0x00000200
-#define LINEDISCONNECTMODE_INCOMPATIBLE   0x00000400
-#define LINEDISCONNECTMODE_UNAVAIL        0x00000800
-#define LINEDISCONNECTMODE_NODIALTONE     0x00001000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEDISCONNECTMODE_NUMBERCHANGED  0x00002000
-#define LINEDISCONNECTMODE_OUTOFORDER     0x00004000
-#define LINEDISCONNECTMODE_TEMPFAILURE    0x00008000
-#define LINEDISCONNECTMODE_QOSUNAVAIL     0x00010000
-#define LINEDISCONNECTMODE_BLOCKED        0x00020000
-#define LINEDISCONNECTMODE_DONOTDISTURB   0x00040000
-#define LINEDISCONNECTMODE_CANCELLED      0x00080000
-#endif
-
-#define LINEFEATURE_DEVSPECIFIC           0x00000001
-#define LINEFEATURE_DEVSPECIFICFEAT       0x00000002
-#define LINEFEATURE_FORWARD               0x00000004
-#define LINEFEATURE_MAKECALL              0x00000008
-#define LINEFEATURE_SETMEDIACONTROL       0x00000010
-#define LINEFEATURE_SETTERMINAL           0x00000020
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEFEATURE_SETDEVSTATUS          0x00000040
-#define LINEFEATURE_FORWARDFWD            0x00000080
-#define LINEFEATURE_FORWARDDND            0x00000100
-#endif
-
-#define LINEFORWARDMODE_UNCOND            0x00000001
-#define LINEFORWARDMODE_UNCONDINTERNAL    0x00000002
-#define LINEFORWARDMODE_UNCONDEXTERNAL    0x00000004
-#define LINEFORWARDMODE_UNCONDSPECIFIC    0x00000008
-#define LINEFORWARDMODE_BUSY              0x00000010
-#define LINEFORWARDMODE_BUSYINTERNAL      0x00000020
-#define LINEFORWARDMODE_BUSYEXTERNAL      0x00000040
-#define LINEFORWARDMODE_BUSYSPECIFIC      0x00000080
-#define LINEFORWARDMODE_NOANSW            0x00000100
-#define LINEFORWARDMODE_NOANSWINTERNAL    0x00000200
-#define LINEFORWARDMODE_NOANSWEXTERNAL    0x00000400
-#define LINEFORWARDMODE_NOANSWSPECIFIC    0x00000800
-#define LINEFORWARDMODE_BUSYNA            0x00001000
-#define LINEFORWARDMODE_BUSYNAINTERNAL    0x00002000
-#define LINEFORWARDMODE_BUSYNAEXTERNAL    0x00004000
-#define LINEFORWARDMODE_BUSYNASPECIFIC    0x00008000
-
-#define LINEGATHERTERM_BUFFERFULL         0x00000001
-#define LINEGATHERTERM_TERMDIGIT          0x00000002
-#define LINEGATHERTERM_FIRSTTIMEOUT       0x00000004
-#define LINEGATHERTERM_INTERTIMEOUT       0x00000008
-#define LINEGATHERTERM_CANCEL             0x00000010
-
-#define LINEGENERATETERM_DONE             0x00000001
-#define LINEGENERATETERM_CANCEL           0x00000002
-
-#define LINEMEDIACONTROL_NONE             0x00000001
-#define LINEMEDIACONTROL_START            0x00000002
-#define LINEMEDIACONTROL_RESET            0x00000004
-#define LINEMEDIACONTROL_PAUSE            0x00000008
-#define LINEMEDIACONTROL_RESUME           0x00000010
-#define LINEMEDIACONTROL_RATEUP           0x00000020
-#define LINEMEDIACONTROL_RATEDOWN         0x00000040
-#define LINEMEDIACONTROL_RATENORMAL       0x00000080
-#define LINEMEDIACONTROL_VOLUMEUP         0x00000100
-#define LINEMEDIACONTROL_VOLUMEDOWN       0x00000200
-#define LINEMEDIACONTROL_VOLUMENORMAL     0x00000400
-
-#define LINEMEDIAMODE_UNKNOWN             0x00000002
-#define LINEMEDIAMODE_INTERACTIVEVOICE    0x00000004
-#define LINEMEDIAMODE_AUTOMATEDVOICE      0x00000008
-#define LINEMEDIAMODE_DATAMODEM           0x00000010
-#define LINEMEDIAMODE_G3FAX               0x00000020
-#define LINEMEDIAMODE_TDD                 0x00000040
-#define LINEMEDIAMODE_G4FAX               0x00000080
-#define LINEMEDIAMODE_DIGITALDATA         0x00000100
-#define LINEMEDIAMODE_TELETEX             0x00000200
-#define LINEMEDIAMODE_VIDEOTEX            0x00000400
-#define LINEMEDIAMODE_TELEX               0x00000800
-#define LINEMEDIAMODE_MIXED               0x00001000
-#define LINEMEDIAMODE_ADSI                0x00002000
-
-#define LINEMEDIAMODE_VOICEVIEW           0x00004000
-#define LAST_LINEMEDIAMODE                0x00004000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020001)
-#define LINEMEDIAMODE_VIDEO               0x00008000
-#define LAST_LINEMEDIAMODE                0x00008000
-#endif
-
-#define LINEPARKMODE_DIRECTED             0x00000001
-#define LINEPARKMODE_NONDIRECTED          0x00000002
-
-#define LINEREMOVEFROMCONF_NONE           0x00000001
-#define LINEREMOVEFROMCONF_LAST           0x00000002
-#define LINEREMOVEFROMCONF_ANY            0x00000003
-
-#define LINEREQUESTMODE_MAKECALL          0x00000001
-#define LINEREQUESTMODE_MEDIACALL         0x00000002
-#define LINEREQUESTMODE_DROP              0x00000004
-
-#define LAST_LINEREQUESTMODE              LINEREQUESTMODE_MEDIACALL
-
-#define LINEROAMMODE_UNKNOWN              0x00000001
-#define LINEROAMMODE_UNAVAIL              0x00000002
-#define LINEROAMMODE_HOME                 0x00000004
-#define LINEROAMMODE_ROAMA                0x00000008
-#define LINEROAMMODE_ROAMB                0x00000010
-
-#define LINESPECIALINFO_NOCIRCUIT         0x00000001
-#define LINESPECIALINFO_CUSTIRREG         0x00000002
-#define LINESPECIALINFO_REORDER           0x00000004
-#define LINESPECIALINFO_UNKNOWN           0x00000008
-#define LINESPECIALINFO_UNAVAIL           0x00000010
-
-#define LINETERMDEV_PHONE                 0x00000001
-#define LINETERMDEV_HEADSET               0x00000002
-#define LINETERMDEV_SPEAKER               0x00000004
-
-#define LINETERMMODE_BUTTONS              0x00000001
-#define LINETERMMODE_LAMPS                0x00000002
-#define LINETERMMODE_DISPLAY              0x00000004
-#define LINETERMMODE_RINGER               0x00000008
-#define LINETERMMODE_HOOKSWITCH           0x00000010
-#define LINETERMMODE_MEDIATOLINE          0x00000020
-#define LINETERMMODE_MEDIAFROMLINE        0x00000040
-#define LINETERMMODE_MEDIABIDIRECT        0x00000080
-
-#define LINETERMSHARING_PRIVATE           0x00000001
-#define LINETERMSHARING_SHAREDEXCL        0x00000002
-#define LINETERMSHARING_SHAREDCONF        0x00000004
-
-#define LINETONEMODE_CUSTOM               0x00000001
-#define LINETONEMODE_RINGBACK             0x00000002
-#define LINETONEMODE_BUSY                 0x00000004
-#define LINETONEMODE_BEEP                 0x00000008
-#define LINETONEMODE_BILLING              0x00000010
-
-#define LINETRANSFERMODE_TRANSFER         0x00000001
-#define LINETRANSFERMODE_CONFERENCE       0x00000002
-
-#define LINETOLLLISTOPTION_ADD            0x00000001
-#define LINETOLLLISTOPTION_REMOVE         0x00000002
-
-#define LINETRANSLATEOPTION_CARDOVERRIDE  0x00000001
-
-#define LINETRANSLATERESULT_CANONICAL     0x00000001
-#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
-#define LINETRANSLATERESULT_LONGDISTANCE  0x00000004
-#define LINETRANSLATERESULT_LOCAL         0x00000008
-#define LINETRANSLATERESULT_INTOLLLIST    0x00000010
-#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
-#define LINETRANSLATERESULT_DIALBILLING   0x00000040
-#define LINETRANSLATERESULT_DIALQUIET     0x00000080
-#define LINETRANSLATERESULT_DIALDIALTONE  0x00000100
-#define LINETRANSLATERESULT_DIALPROMPT    0x00000200
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINETRANSLATERESULT_VOICEDETECT   0x00000400
-#endif
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
-#endif
-
-
-typedef struct  _NDIS_VAR_DATA_DESC {
-	USHORT  Length;
-	USHORT  MaximumLength;
-	LONG  Offset;
-} NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
-
-typedef struct _LINE_DIAL_PARAMS {
-	ULONG  ulDialPause;
-	ULONG  ulDialSpeed;
-	ULONG  ulDigitDuration;
-	ULONG  ulWaitForDialtone;
-} LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
-
-typedef struct _LINE_ADDRESS_CAPS {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulLineDeviceID;
-	ULONG  ulAddressSize;
-	ULONG  ulAddressOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-	ULONG  ulAddressSharing;
-	ULONG  ulAddressStates;
-	ULONG  ulCallInfoStates;
-	ULONG  ulCallerIDFlags;
-	ULONG  ulCalledIDFlags;
-	ULONG  ulConnectedIDFlags;
-	ULONG  ulRedirectionIDFlags;
-	ULONG  ulRedirectingIDFlags;
-	ULONG  ulCallStates;
-	ULONG  ulDialToneModes;
-	ULONG  ulBusyModes;
-	ULONG  ulSpecialInfo;
-	ULONG  ulDisconnectModes;
-	ULONG  ulMaxNumActiveCalls;
-	ULONG  ulMaxNumOnHoldCalls;
-	ULONG  ulMaxNumOnHoldPendingCalls;
-	ULONG  ulMaxNumConference;
-	ULONG  ulMaxNumTransConf;
-	ULONG  ulAddrCapFlags;
-	ULONG  ulCallFeatures;
-	ULONG  ulRemoveFromConfCaps;
-	ULONG  ulRemoveFromConfState;
-	ULONG  ulTransferModes;
-	ULONG  ulParkModes;
-	ULONG  ulForwardModes;
-	ULONG  ulMaxForwardEntries;
-	ULONG  ulMaxSpecificEntries;
-	ULONG  ulMinFwdNumRings;
-	ULONG  ulMaxFwdNumRings;
-	ULONG  ulMaxCallCompletions;
-	ULONG  ulCallCompletionConds;
-	ULONG  ulCallCompletionModes;
-	ULONG  ulNumCompletionMessages;
-	ULONG  ulCompletionMsgTextEntrySize;
-	ULONG  ulCompletionMsgTextSize;
-	ULONG  ulCompletionMsgTextOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
-	ULONG  ulAddressFeatures;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-	ULONG  ulPredictiveAutoTransferStates;
-	ULONG  ulNumCallTreatments;
-	ULONG  ulCallTreatmentListSize;
-	ULONG  ulCallTreatmentListOffset;
-	ULONG  ulDeviceClassesSize;
-	ULONG  ulDeviceClassesOffset;
-	ULONG  ulMaxCallDataSize;
-	ULONG  ulCallFeatures2;
-	ULONG  ulMaxNoAnswerTimeout;
-	ULONG  ulConnectedModes;
-	ULONG  ulOfferingModes;
-	ULONG  ulAvailableMediaModes;
-#endif
-#endif
-} LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
-
-typedef struct _LINE_ADDRESS_STATUS {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulNumInUse;
-	ULONG  ulNumActiveCalls;
-	ULONG  ulNumOnHoldCalls;
-	ULONG  ulNumOnHoldPendCalls;
-	ULONG  ulAddressFeatures;
-	ULONG  ulNumRingsNoAnswer;
-	ULONG  ulForwardNumEntries;
-	ULONG  ulForwardSize;
-	ULONG  ulForwardOffset;
-	ULONG  ulTerminalModesSize;
-	ULONG  ulTerminalModesOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-} LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
-
-typedef struct _LINE_CALL_INFO {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  hLine;
-	ULONG  ulLineDeviceID;
-	ULONG  ulAddressID;
-	ULONG  ulBearerMode;
-	ULONG  ulRate;
-	ULONG  ulMediaMode;
-	ULONG  ulAppSpecific;
-	ULONG  ulCallID;
-	ULONG  ulRelatedCallID;
-	ULONG  ulCallParamFlags;
-	ULONG  ulCallStates;
-	ULONG  ulMonitorDigitModes;
-	ULONG  ulMonitorMediaModes;
-	LINE_DIAL_PARAMS  DialParams;
-	ULONG  ulOrigin;
-	ULONG  ulReason;
-	ULONG  ulCompletionID;
-	ULONG  ulNumOwners;
-	ULONG  ulNumMonitors;
-	ULONG  ulCountryCode;
-	ULONG  ulTrunk;
-	ULONG  ulCallerIDFlags;
-	ULONG  ulCallerIDSize;
-	ULONG  ulCallerIDOffset;
-	ULONG  ulCallerIDNameSize;
-	ULONG  ulCallerIDNameOffset;
-	ULONG  ulCalledIDFlags;
-	ULONG  ulCalledIDSize;
-	ULONG  ulCalledIDOffset;
-	ULONG  ulCalledIDNameSize;
-	ULONG  ulCalledIDNameOffset;
-	ULONG  ulConnectedIDFlags;
-	ULONG  ulConnectedIDSize;
-	ULONG  ulConnectedIDOffset;
-	ULONG  ulConnectedIDNameSize;
-	ULONG  ulConnectedIDNameOffset;
-	ULONG  ulRedirectionIDFlags;
-	ULONG  ulRedirectionIDSize;
-	ULONG  ulRedirectionIDOffset;
-	ULONG  ulRedirectionIDNameSize;
-	ULONG  ulRedirectionIDNameOffset;
-	ULONG  ulRedirectingIDFlags;
-	ULONG  ulRedirectingIDSize;
-	ULONG  ulRedirectingIDOffset;
-	ULONG  ulRedirectingIDNameSize;
-	ULONG  ulRedirectingIDNameOffset;
-	ULONG  ulAppNameSize;
-	ULONG  ulAppNameOffset;
-	ULONG  ulDisplayableAddressSize;
-	ULONG  ulDisplayableAddressOffset;
-	ULONG  ulCalledPartySize;
-	ULONG  ulCalledPartyOffset;
-	ULONG  ulCommentSize;
-	ULONG  ulCommentOffset;
-	ULONG  ulDisplaySize;
-	ULONG  ulDisplayOffset;
-	ULONG  ulUserUserInfoSize;
-	ULONG  ulUserUserInfoOffset;
-	ULONG  ulHighLevelCompSize;
-	ULONG  ulHighLevelCompOffset;
-	ULONG  ulLowLevelCompSize;
-	ULONG  ulLowLevelCompOffset;
-	ULONG  ulChargingInfoSize;
-	ULONG  ulChargingInfoOffset;
-	ULONG  ulTerminalModesSize;
-	ULONG  ulTerminalModesOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-	ULONG  ulCallTreatment;
-	ULONG  ulCallDataSize;
-	ULONG  ulCallDataOffset;
-	ULONG  ulSendingFlowspecSize;
-	ULONG  ulSendingFlowspecOffset;
-	ULONG  ulReceivingFlowspecSize;
-	ULONG  ulReceivingFlowspecOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-	ULONG  ulCallerIDAddressType;
-	ULONG  ulCalledIDAddressType;
-	ULONG  ulConnectedIDAddressType;
-	ULONG  ulRedirectionIDAddressType;
-	ULONG  ulRedirectingIDAddressType;
-#endif
-} LINE_CALL_INFO, *PLINE_CALL_INFO;
-
-typedef struct _LINE_CALL_PARAMS {
-  ULONG  ulTotalSize;
-	ULONG  ulBearerMode;
-	ULONG  ulMinRate;
-	ULONG  ulMaxRate;
-	ULONG  ulMediaMode;
-	ULONG  ulCallParamFlags;
-	ULONG  ulAddressMode;
-	ULONG  ulAddressID;
-	LINE_DIAL_PARAMS  DialParams;
-	ULONG  ulOrigAddressSize;
-	ULONG  ulOrigAddressOffset;
-	ULONG  ulDisplayableAddressSize;
-	ULONG  ulDisplayableAddressOffset;
-	ULONG  ulCalledPartySize;
-	ULONG  ulCalledPartyOffset;
-	ULONG  ulCommentSize;
-	ULONG  ulCommentOffset;
-	ULONG  ulUserUserInfoSize;
-	ULONG  ulUserUserInfoOffset;
-	ULONG  ulHighLevelCompSize;
-	ULONG  ulHighLevelCompOffset;
-	ULONG  ulLowLevelCompSize;
-	ULONG  ulLowLevelCompOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-	ULONG  ulPredictiveAutoTransferStates;
-	ULONG  ulTargetAddressSize;
-	ULONG  ulTargetAddressOffset;
-	ULONG  ulSendingFlowspecSize;
-	ULONG  ulSendingFlowspecOffset;
-	ULONG  ulReceivingFlowspecSize;
-	ULONG  ulReceivingFlowspecOffset;
-	ULONG  ulDeviceClassSize;
-	ULONG  ulDeviceClassOffset;
-	ULONG  ulDeviceConfigSize;
-	ULONG  ulDeviceConfigOffset;
-	ULONG  ulCallDataSize;
-	ULONG  ulCallDataOffset;
-	ULONG  ulNoAnswerTimeout;
-	ULONG  ulCallingPartyIDSize;
-	ULONG  ulCallingPartyIDOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-  ULONG  ulAddressType;
-#endif
-} LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
-
-typedef struct _LINE_CALL_STATUS {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulCallState;
-	ULONG  ulCallStateMode;
-	ULONG  ulCallPrivilege;
-	ULONG  ulCallFeatures;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-} LINE_CALL_STATUS, *PLINE_CALL_STATUS;
-
-typedef struct _LINE_DEV_CAPS {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulProviderInfoSize;
-	ULONG  ulProviderInfoOffset;
-	ULONG  ulSwitchInfoSize;
-	ULONG  ulSwitchInfoOffset;
-	ULONG  ulPermanentLineID;
-	ULONG  ulLineNameSize;
-	ULONG  ulLineNameOffset;
-	ULONG  ulStringFormat;
-	ULONG  ulAddressModes;
-	ULONG  ulNumAddresses;
-	ULONG  ulBearerModes;
-	ULONG  ulMaxRate;
-	ULONG  ulMediaModes;
-	ULONG  ulGenerateToneModes;
-	ULONG  ulGenerateToneMaxNumFreq;
-	ULONG  ulGenerateDigitModes;
-	ULONG  ulMonitorToneMaxNumFreq;
-	ULONG  ulMonitorToneMaxNumEntries;
-	ULONG  ulMonitorDigitModes;
-	ULONG  ulGatherDigitsMinTimeout;
-	ULONG  ulGatherDigitsMaxTimeout;
-	ULONG  ulMedCtlDigitMaxListSize;
-	ULONG  ulMedCtlMediaMaxListSize;
-	ULONG  ulMedCtlToneMaxListSize;
-	ULONG  ulMedCtlCallStateMaxListSize;
-	ULONG  ulDevCapFlags;
-	ULONG  ulMaxNumActiveCalls;
-	ULONG  ulAnswerMode;
-	ULONG  ulRingModes;
-	ULONG  ulLineStates;
-	ULONG  ulUUIAcceptSize;
-	ULONG  ulUUIAnswerSize;
-	ULONG  ulUUIMakeCallSize;
-	ULONG  ulUUIDropSize;
-	ULONG  ulUUISendUserUserInfoSize;
-	ULONG  ulUUICallInfoSize;
-	LINE_DIAL_PARAMS  MinDialParams;
-	LINE_DIAL_PARAMS  MaxDialParams;
-	LINE_DIAL_PARAMS  DefaultDialParams;
-	ULONG  ulNumTerminals;
-	ULONG  ulTerminalCapsSize;
-	ULONG  ulTerminalCapsOffset;
-	ULONG  ulTerminalTextEntrySize;
-	ULONG  ulTerminalTextSize;
-	ULONG  ulTerminalTextOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
-	ULONG  ulLineFeatures;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-	ULONG  ulSettableDevStatus;
-	ULONG  ulDeviceClassesSize;
-	ULONG  ulDeviceClassesOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
-  GUID  PermanentLineGuid;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-	ULONG  ulAddressTypes;
-	GUID  ProtocolGuid;
-	ULONG  ulAvailableTracking;
-#endif
-} LINE_DEV_CAPS, *PLINE_DEV_CAPS;
-
-typedef struct _LINE_DEV_STATUS {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulNumOpens;
-	ULONG  ulOpenMediaModes;
-	ULONG  ulNumActiveCalls;
-	ULONG  ulNumOnHoldCalls;
-	ULONG  ulNumOnHoldPendCalls;
-	ULONG  ulLineFeatures;
-	ULONG  ulNumCallCompletions;
-	ULONG  ulRingMode;
-	ULONG  ulSignalLevel;
-	ULONG  ulBatteryLevel;
-	ULONG  ulRoamMode;
-	ULONG  ulDevStatusFlags;
-	ULONG  ulTerminalModesSize;
-	ULONG  ulTerminalModesOffset;
-	ULONG  ulDevSpecificSize;
-	ULONG  ulDevSpecificOffset;
-} LINE_DEV_STATUS, *PLINE_DEV_STATUS;
-
-typedef struct _LINE_EXTENSION_ID {
-	ULONG  ulExtensionID0;
-	ULONG  ulExtensionID1;
-	ULONG  ulExtensionID2;
-	ULONG  ulExtensionID3;
-} LINE_EXTENSION_ID, *PLINE_EXTENSION_ID;
-
-typedef struct _VAR_STRING {
-	ULONG  ulTotalSize;
-	ULONG  ulNeededSize;
-	ULONG  ulUsedSize;
-	ULONG  ulStringFormat;
-	ULONG  ulStringSize;
-	ULONG  ulStringOffset;
-} VAR_STRING, *PVAR_STRING;
-
-typedef struct _NDIS_TAPI_ANSWER {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulUserUserInfoSize;
-  /*IN*/ UCHAR  UserUserInfo[1];
-} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;
-
-typedef struct _NDIS_TAPI_CLOSE {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
-
-typedef struct _NDIS_TAPI_CLOSE_CALL {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;
-
-typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulMediaModes;
-  /*IN*/ LINE_CALL_PARAMS  LineCallParams;
-} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_DROP {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulUserUserInfoSize;
-  /*IN*/ UCHAR  UserUserInfo[1];
-} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;
-
-typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
-  /*IN*/ ULONG  ulRequestID;
-} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
-
-typedef struct _NDIS_TAPI_SET_APP_SPECIFIC {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulAppSpecific;
-} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;
-
-typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulBearerMode;
-  /*IN*/ ULONG  ulMinRate;
-  /*IN*/ ULONG  ulMaxRate;
-  /*IN*/ BOOLEAN  bSetLineDialParams;
-  /*IN*/ LINE_DIAL_PARAMS  LineDialParams;
-} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;
-
-typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulMediaModes;
-} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_SET_DEV_CONFIG {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulDeviceClassSize;
-  /*IN*/ ULONG  ulDeviceClassOffset;
-  /*IN*/ ULONG  ulDeviceConfigSize;
-  /*IN*/ UCHAR  DeviceConfig[1];
-} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_SET_MEDIA_MODE {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulMediaMode;
-} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;
-
-typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulLineStates;
-  /*IN*/ ULONG  ulAddressStates;
-} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;
-
-typedef struct _NDIS_TAPI_ACCEPT {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulUserUserInfoSize;
-  /*IN*/ UCHAR  UserUserInfo[1];
-} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;
-
-typedef struct _NDIS_TAPI_DIAL {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulDestAddressSize;
-  /*IN*/ CHAR  szDestAddress[1];
-} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;
-
-typedef struct _NDIS_TAPI_EVENT {
-  /*IN*/ HTAPI_LINE  htLine;
-  /*IN*/ HTAPI_CALL  htCall;
-  /*IN*/ ULONG  ulMsg;
-  /*IN*/ ULONG  ulParam1;
-  /*IN*/ ULONG  ulParam2;
-  /*IN*/ ULONG  ulParam3;
-} NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
-
-typedef struct _NDIS_TAPI_OPEN {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ HTAPI_LINE  htLine;
-  /*OUT*/ HDRV_LINE  hdLine;
-} NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN;
-
-typedef struct _NDIS_TAPI_SECURE_CALL {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;
-
-typedef struct _NDIS_TAPI_SELECT_EXT_VERSION {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulExtVersion;
-} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_SEND_USER_USER_INFO {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulUserUserInfoSize;
-  /*IN*/ UCHAR  UserUserInfo[1];
-} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;
-
-
-typedef struct _NDIS_TAPI_CONFIG_DIALOG {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulDeviceClassSize;
-  /*IN*/ ULONG  ulDeviceClassOffset;
-  /*IN*/ ULONG  ulLibraryNameTotalSize;
-  /*OUT*/ ULONG ulLibraryNameNeededSize;
-  /*OUT*/ CHAR  szLibraryName[1];
-} NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG;
-
-typedef struct _NDIS_TAPI_DEV_SPECIFIC {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN OUT*/ ULONG  ulParamsSize;
-  /*IN OUT*/ UCHAR  Params[1];
-} NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulExtVersion;
-  /*OUT*/ LINE_ADDRESS_CAPS  LineAddressCaps;
-} NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_ID {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*OUT*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulAddressMode;
-  /*IN*/ ULONG  ulAddressSize;
-  /*IN*/ CHAR  szAddress[1];
-} NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulAddressID;
-  /*OUT*/ LINE_ADDRESS_STATUS  LineAddressStatus;
-} NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS;
-
-typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*OUT*/ ULONG  ulAddressID;
-} NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_CALL_INFO {
-  ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*OUT*/ LINE_CALL_INFO  LineCallInfo;
-} NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO;
-
-typedef struct _NDIS_TAPI_GET_CALL_STATUS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*OUT*/ LINE_CALL_STATUS  LineCallStatus;
-} NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CAPS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulExtVersion;
-  /*OUT*/ LINE_DEV_CAPS  LineDevCaps;
-} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CONFIG {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulDeviceClassSize;
-  /*IN*/ ULONG  ulDeviceClassOffset;
-  /*OUT*/ VAR_STRING  DeviceConfig;
-} NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_GET_EXTENSION_ID {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*OUT*/ LINE_EXTENSION_ID  LineExtensionID;
-} NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;
-
-typedef struct _NDIS_TAPI_GET_ID {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulSelect;
-  /*IN*/ ULONG  ulDeviceClassSize;
-  /*IN*/ ULONG  ulDeviceClassOffset;
-  /*OUT*/ VAR_STRING  DeviceID;
-} NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID;
-
-typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*OUT*/ LINE_DEV_STATUS  LineDevStatus;
-} NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS;
-
-typedef struct _NDIS_TAPI_MAKE_CALL {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ HDRV_LINE  hdLine;
-  /*IN*/ HTAPI_CALL  htCall;
-  /*OUT*/ HDRV_CALL  hdCall;
-  /*IN*/ ULONG  ulDestAddressSize;
-  /*IN*/ ULONG  ulDestAddressOffset;
-  /*IN*/ BOOLEAN  bUseDefaultLineCallParams;
-  /*IN*/ LINE_CALL_PARAMS  LineCallParams;
-} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;
-
-typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceID;
-  /*IN*/ ULONG  ulLowVersion;
-  /*IN*/ ULONG  ulHighVersion;
-  /*OUT*/ ULONG  ulExtVersion;
-} NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE {
-  /*IN*/ ULONG  ulRequestID;
-  /*IN*/ ULONG  ulDeviceIDBase;
-  /*OUT*/ ULONG  ulNumLineDevs;
-  /*OUT*/ ULONG  ulProviderID;
-} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;
-
-
-#define CO_TAPI_VERSION                   NDIS_TAPI_CURRENT_VERSION
-
-#define CO_TAPI_FLAG_OUTGOING_CALL          0x00000001
-#define CO_TAPI_FLAG_INCOMING_CALL          0x00000002
-#define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS	0x00000004
-
-#define AF_TAPI_SAP_TYPE                  0x00008000
-
-typedef struct _CO_TAPI_ADDRESS_CAPS {
-  /*IN*/ ULONG  ulLineID;
-  /*IN*/ ULONG  ulAddressID;
-  /*OUT*/ ULONG  ulFlags;
-  /*OUT*/ LINE_ADDRESS_CAPS  LineAddressCaps;
-} CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;
-
-/* CO_TAPI_CM_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_LINE_CAPS        0x00000001
-
-typedef struct _CO_TAPI_CM_CAPS {
-  /*OUT*/ ULONG  ulCoTapiVersion;
-  /*OUT*/ ULONG  ulNumLines;
-  /*OUT*/ ULONG  ulFlags;
-} CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;
-
-typedef struct _CO_TAPI_CALL_DIAGNOSTICS {
-  /*OUT*/ ULONG  ulOrigin;
-  /*OUT*/ ULONG  ulReason;
-  /*OUT*/ NDIS_VAR_DATA_DESC  DiagInfo;
-} CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;
-
-
-/* CO_TAPI_LINE_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_ADDRESS_CAPS     0x00000001
-
-typedef struct _CO_TAPI_LINE_CAPS {
-  /*IN*/ ULONG  ulLineID;
-  /*OUT*/ ULONG  ulFlags;
-  /*OUT*/ LINE_DEV_CAPS  LineDevCaps;
-} CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;
-
-typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
-  /*IN*/ ULONG  ulFlags;
-  /*IN*/ NDIS_VAR_DATA_DESC  NdisCallParams;
-  /*OUT*/ NDIS_VAR_DATA_DESC  LineCallInfo;
-} CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;
-
-typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
-  /*IN*/ ULONG  ulLineID;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulFlags;
-  /*IN*/ NDIS_VAR_DATA_DESC  DestAddress;
-  /*IN*/ NDIS_VAR_DATA_DESC  LineCallParams;
-  /*OUT*/ NDIS_VAR_DATA_DESC  NdisCallParams;
-} CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;
-
-/* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
-#define CO_TAPI_LINE_ID_UNSPECIFIED       0xFFFFFFFF
-
-/* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
-#define CO_TAPI_ADDRESS_ID_UNSPECIFIED    0xFFFFFFFF
-
-typedef struct _CO_TAPI_TRANSLATE_SAP {
-  /*IN*/ ULONG  ulLineID;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulMediaModes;
-  /*IN*/ ULONG  Reserved;
-  /*OUT*/ ULONG  NumberOfSaps;
-  /*OUT*/ NDIS_VAR_DATA_DESC  NdisSapParams[1];
-} CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;
-
-typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
-  /*IN*/ ULONG  ulLineID;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulFlags;
-  /*IN*/ NDIS_VAR_DATA_DESC  LineCallInfo;
-} CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
-
-typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
-  /*IN*/ ULONG  ulLineID;
-  /*IN*/ ULONG  ulAddressID;
-  /*IN*/ ULONG  ulFlags;
-  /*IN*/ NDIS_VAR_DATA_DESC  DestAddress;
-  /*IN*/ NDIS_VAR_DATA_DESC  LineCallParams;
-} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISTAPI_H */
Index: Daodan/MinGW/include/ddk/ndiswan.h
===================================================================
--- Daodan/MinGW/include/ddk/ndiswan.h	(revision 1046)
+++ 	(revision )
@@ -1,251 +1,0 @@
-/*
- * ndiswan.h
- *
- * Definitions for NDIS WAN miniport drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISWAN_H
-#define __NDISWAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#define NDIS_USE_WAN_WRAPPER         			0x00000001
-
-#define NDIS_STATUS_TAPI_INDICATION 			((NDIS_STATUS)0x40010080L)
-
-/* NDIS_WAN_INFO.FramingBits constants */
-#define RAS_FRAMING                     0x00000001
-#define RAS_COMPRESSION                 0x00000002
-
-#define ARAP_V1_FRAMING                 0x00000004
-#define ARAP_V2_FRAMING                 0x00000008
-#define ARAP_FRAMING                    (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
-
-#define PPP_MULTILINK_FRAMING           0x00000010
-#define PPP_SHORT_SEQUENCE_HDR_FORMAT   0x00000020
-#define PPP_MC_MULTILINK_FRAMING        0x00000040
-
-#define PPP_FRAMING                     0x00000100
-#define PPP_COMPRESS_ADDRESS_CONTROL    0x00000200
-#define PPP_COMPRESS_PROTOCOL_FIELD     0x00000400
-#define PPP_ACCM_SUPPORTED              0x00000800
-
-#define SLIP_FRAMING                    0x00001000
-#define SLIP_VJ_COMPRESSION             0x00002000
-#define SLIP_VJ_AUTODETECT              0x00004000
-
-#define MEDIA_NRZ_ENCODING              0x00010000
-#define MEDIA_NRZI_ENCODING             0x00020000
-#define MEDIA_NLPID                     0x00040000
-
-#define RFC_1356_FRAMING                0x00100000
-#define RFC_1483_FRAMING                0x00200000
-#define RFC_1490_FRAMING                0x00400000
-#define LLC_ENCAPSULATION               0x00800000
-
-#define SHIVA_FRAMING                   0x01000000
-#define NBF_PRESERVE_MAC_ADDRESS        0x01000000
-
-#define PASS_THROUGH_MODE               0x10000000
-#define RAW_PASS_THROUGH_MODE           0x20000000
-
-#define TAPI_PROVIDER                   0x80000000
-
-typedef struct _NDIS_WAN_INFO {
-  /*OUT*/ ULONG  MaxFrameSize;
-  /*OUT*/ ULONG  MaxTransmit;
-  /*OUT*/ ULONG  HeaderPadding;
-  /*OUT*/ ULONG  TailPadding;
-  /*OUT*/ ULONG  Endpoints;
-  /*OUT*/ UINT  MemoryFlags;
-  /*OUT*/ NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress;
-  /*OUT*/ ULONG  FramingBits;
-  /*OUT*/ ULONG  DesiredACCM;
-} NDIS_WAN_INFO, *PNDIS_WAN_INFO;
-
-typedef struct _NDIS_WAN_GET_LINK_INFO {
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle;
-  /*OUT*/ ULONG  MaxSendFrameSize;
-  /*OUT*/ ULONG  MaxRecvFrameSize;
-  /*OUT*/ ULONG  HeaderPadding;
-  /*OUT*/ ULONG  TailPadding;
-  /*OUT*/ ULONG  SendFramingBits;
-  /*OUT*/ ULONG  RecvFramingBits;
-  /*OUT*/ ULONG  SendCompressionBits;
-  /*OUT*/ ULONG  RecvCompressionBits;
-  /*OUT*/ ULONG  SendACCM;
-  /*OUT*/ ULONG  RecvACCM;
-} NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_SET_LINK_INFO {
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle;
-  /*IN*/ ULONG  MaxSendFrameSize;
-  /*IN*/ ULONG  MaxRecvFrameSize;
-  /*IN*/ ULONG  HeaderPadding;
-  /*IN*/ ULONG  TailPadding;
-  /*IN*/ ULONG  SendFramingBits;
-  /*IN*/ ULONG  RecvFramingBits;
-  /*IN*/ ULONG  SendCompressionBits;
-  /*IN*/ ULONG  RecvCompressionBits;
-  /*IN*/ ULONG  SendACCM;
-  /*IN*/ ULONG  RecvACCM;
-} NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO;
-
-/* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
-#define NDISWAN_COMPRESSION            		0x00000001
-#define NDISWAN_ENCRYPTION              	0x00000010
-#define NDISWAN_40_ENCRYPTION           	0x00000020
-#define NDISWAN_128_ENCRYPTION          	0x00000040
-#define NDISWAN_56_ENCRYPTION           	0x00000080
-#define NDISWAN_HISTORY_LESS            	0x01000000
-
-/* NDIS_WAN_COMPRESS_INFO.CompType constants */
-#define COMPTYPE_OUI											0
-#define COMPTYPE_NT31RAS									254
-#define COMPTYPE_NONE											255
-
-typedef struct _NDIS_WAN_COMPRESS_INFO {
-	UCHAR  SessionKey[8];
-	ULONG  MSCompType;
-	UCHAR  CompType;
-	USHORT  CompLength;
-	_ANONYMOUS_UNION union {
-		struct {
-			UCHAR  CompOUI[3];
-			UCHAR  CompSubType;
-			UCHAR  CompValues[32];
-		} Proprietary;
-		struct {
-			UCHAR  CompValues[32];
-		} Public;
-	} DUMMYUNIONNAME;
-} NDIS_WAN_COMPRESS_INFO;
-
-typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO;
-
-typedef struct _NDIS_WAN_GET_COMP_INFO {
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle;
-  /*OUT*/ NDIS_WAN_COMPRESS_INFO  SendCapabilities;
-  /*OUT*/ NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
-} NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_SET_COMP_INFO {
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle;
-  /*IN*/ NDIS_WAN_COMPRESS_INFO  SendCapabilities;
-  /*IN*/ NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
-} NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_GET_STATS_INFO {
-  /*IN*/ NDIS_HANDLE  NdisLinkHandle;
-  /*OUT*/ ULONG  BytesSent;
-  /*OUT*/ ULONG  BytesRcvd;
-  /*OUT*/ ULONG  FramesSent;
-  /*OUT*/ ULONG  FramesRcvd;
-  /*OUT*/ ULONG  CRCErrors;
-  /*OUT*/ ULONG  TimeoutErrors;
-  /*OUT*/ ULONG  AlignmentErrors;
-  /*OUT*/ ULONG  SerialOverrunErrors;
-  /*OUT*/ ULONG  FramingErrors;
-  /*OUT*/ ULONG  BufferOverrunErrors;
-  /*OUT*/ ULONG  BytesTransmittedUncompressed;
-  /*OUT*/ ULONG  BytesReceivedUncompressed;
-  /*OUT*/ ULONG  BytesTransmittedCompressed;
-  /*OUT*/ ULONG  BytesReceivedCompressed;
-} NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;
-
-#define NdisMWanInitializeWrapper(NdisWrapperHandle,	\
-                                  SystemSpecific1,		\
-                                  SystemSpecific2,		\
-                                  SystemSpecific3)		\
-{                                                     \
-	NdisMInitializeWrapper(NdisWrapperHandle,          	\
-                         SystemSpecific1,          		\
-                         SystemSpecific2,          		\
-                         SystemSpecific3);         		\
-}
-
-typedef struct _NDIS_WAN_CO_INFO {
-  /*OUT*/ ULONG  MaxFrameSize;
-  /*OUT*/ ULONG  MaxSendWindow;
-  /*OUT*/ ULONG  FramingBits;
-  /*OUT*/ ULONG  DesiredACCM;
-} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
-  /*OUT*/ ULONG  MaxSendFrameSize;
-  /*OUT*/ ULONG  MaxRecvFrameSize;
-  /*OUT*/ ULONG  SendFramingBits;
-  /*OUT*/ ULONG  RecvFramingBits;
-  /*OUT*/ ULONG  SendCompressionBits;
-  /*OUT*/ ULONG  RecvCompressionBits;
-  /*OUT*/ ULONG  SendACCM;
-  /*OUT*/ ULONG  RecvACCM;
-} NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
-  /*IN*/ ULONG  MaxSendFrameSize;
-  /*IN*/ ULONG  MaxRecvFrameSize;
-  /*IN*/ ULONG  SendFramingBits;
-  /*IN*/ ULONG  RecvFramingBits;
-  /*IN*/ ULONG  SendCompressionBits;
-  /*IN*/ ULONG  RecvCompressionBits;
-  /*IN*/ ULONG  SendACCM;
-  /*IN*/ ULONG  RecvACCM;
-} NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_COMP_INFO {
-  /*OUT*/ NDIS_WAN_COMPRESS_INFO  SendCapabilities;
-  /*OUT*/ NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
-} NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
-  /*IN*/ NDIS_WAN_COMPRESS_INFO  SendCapabilities;
-  /*IN*/ NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
-} NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
-  /*OUT*/ ULONG  BytesSent;
-  /*OUT*/ ULONG  BytesRcvd;
-  /*OUT*/ ULONG  FramesSent;
-  /*OUT*/ ULONG  FramesRcvd;
-  /*OUT*/ ULONG  CRCErrors;
-  /*OUT*/ ULONG  TimeoutErrors;
-  /*OUT*/ ULONG  AlignmentErrors;
-  /*OUT*/ ULONG  SerialOverrunErrors;
-  /*OUT*/ ULONG  FramingErrors;
-  /*OUT*/ ULONG  BufferOverrunErrors;
-  /*OUT*/ ULONG  BytesTransmittedUncompressed;
-  /*OUT*/ ULONG  BytesReceivedUncompressed;
-  /*OUT*/ ULONG  BytesTransmittedCompressed;
-  /*OUT*/ ULONG  BytesReceivedCompressed;
-} NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISWAN_H */
Index: Daodan/MinGW/include/ddk/netevent.h
===================================================================
--- Daodan/MinGW/include/ddk/netevent.h	(revision 1046)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- * netevent.h
- *
- * Network events
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NETEVENT_H
-#define __NETEVENT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define EVENT_TRANSPORT_REGISTER_FAILED  0xC000232CL
-
-#define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETEVENT_H */
Index: Daodan/MinGW/include/ddk/netpnp.h
===================================================================
--- Daodan/MinGW/include/ddk/netpnp.h	(revision 1046)
+++ 	(revision )
@@ -1,69 +1,0 @@
-/*
- * netpnp.h
- *
- * Network Plug and Play event support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NETPNP_H
-#define __NETPNP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NET_PNP_EVENT_CODE {
-  NetEventSetPower,
-  NetEventQueryPower,
-  NetEventQueryRemoveDevice,
-  NetEventCancelRemoveDevice,
-  NetEventReconfigure,
-  NetEventBindList,
-  NetEventBindsComplete,
-  NetEventPnPCapabilities,
-  NetEventMaximum
-} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
-
-typedef struct _NET_PNP_EVENT {
-  NET_PNP_EVENT_CODE  NetEvent;
-  PVOID  Buffer;
-  ULONG  BufferLength;
-  ULONG_PTR  NdisReserved[4];
-  ULONG_PTR  TransportReserved[4];
-  ULONG_PTR  TdiReserved[4];
-  ULONG_PTR  TdiClientReserved[4];
-} NET_PNP_EVENT, *PNET_PNP_EVENT;
-
-typedef enum _NET_DEVICE_POWER_STATE {
-  NetDeviceStateUnspecified,
-  NetDeviceStateD0,
-  NetDeviceStateD1,
-  NetDeviceStateD2,
-  NetDeviceStateD3,
-  NetDeviceStateMaximum
-} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETPNP_H */
Index: Daodan/MinGW/include/ddk/newdev.h
===================================================================
--- Daodan/MinGW/include/ddk/newdev.h	(revision 1046)
+++ 	(revision )
@@ -1,66 +1,0 @@
-/*
- * newdev.h
- *
- * Driver installation DLL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NEWDEV_H
-#define __NEWDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* UpdateDriverForPlugAndPlayDevices.InstallFlags constants */
-#define INSTALLFLAG_FORCE                 0x00000001
-#define INSTALLFLAG_READONLY              0x00000002
-#define INSTALLFLAG_NONINTERACTIVE        0x00000004
-#define INSTALLFLAG_BITS                  0x00000007
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesA(
-  HWND  hwndParent,
-  LPCSTR  HardwareId,
-  LPCSTR  FullInfPath,
-  DWORD  InstallFlags,
-  PBOOL  bRebootRequired  /*OPTIONAL*/);
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesW(
-  HWND  hwndParent,
-  LPCWSTR  HardwareId,
-  LPCWSTR  FullInfPath,
-  DWORD  InstallFlags,
-  PBOOL  bRebootRequired  /*OPTIONAL*/);
-
-#ifdef UNICODE
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesW
-#else
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesA
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NEWDEV_H */
Index: Daodan/MinGW/include/ddk/ntapi.h
===================================================================
--- Daodan/MinGW/include/ddk/ntapi.h	(revision 1046)
+++ 	(revision )
@@ -1,4073 +1,0 @@
-/*
- * ntapi.h
- *
- * Windows NT Native API
- *
- * Most structures in this file is obtained from Windows NT/2000 Native API
- * Reference by Gary Nebbett, ISBN 1578701996.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTAPI_H
-#define __NTAPI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-#include <winbase.h>
-#include "ntddk.h"
-#include "ntpoapi.h"
-
-#pragma pack(push,4)
-
-typedef struct _PEB *PPEB;
-
-/* FIXME: Unknown definitions */
-typedef PVOID POBJECT_TYPE_LIST;
-typedef PVOID PEXECUTION_STATE;
-typedef PVOID PLANGID;
-
-#ifndef NtCurrentProcess
-#define NtCurrentProcess() ((HANDLE)0xFFFFFFFF)
-#endif /* NtCurrentProcess */
-#ifndef NtCurrentThread
-#define NtCurrentThread() ((HANDLE)0xFFFFFFFE)
-#endif /* NtCurrentThread */
-
-/* System information and control */
-
-typedef enum _SYSTEM_INFORMATION_CLASS {
-	SystemInformationClassMin = 0,
-	SystemBasicInformation = 0,
-	SystemProcessorInformation = 1,
-	SystemPerformanceInformation = 2,
-	SystemTimeOfDayInformation = 3,
-	SystemPathInformation = 4,
-	SystemNotImplemented1 = 4,
-	SystemProcessInformation = 5,
-	SystemProcessesAndThreadsInformation = 5,
-	SystemCallCountInfoInformation = 6,
-	SystemCallCounts = 6,
-	SystemDeviceInformation = 7,
-	SystemConfigurationInformation = 7,
-	SystemProcessorPerformanceInformation = 8,
-	SystemProcessorTimes = 8,
-	SystemFlagsInformation = 9,
-	SystemGlobalFlag = 9,
-	SystemCallTimeInformation = 10,
-	SystemNotImplemented2 = 10,
-	SystemModuleInformation = 11,
-	SystemLocksInformation = 12,
-	SystemLockInformation = 12,
-	SystemStackTraceInformation = 13,
-	SystemNotImplemented3 = 13,
-	SystemPagedPoolInformation = 14,
-	SystemNotImplemented4 = 14,
-	SystemNonPagedPoolInformation = 15,
-	SystemNotImplemented5 = 15,
-	SystemHandleInformation = 16,
-	SystemObjectInformation = 17,
-	SystemPageFileInformation = 18,
-	SystemPagefileInformation = 18,
-	SystemVdmInstemulInformation = 19,
-	SystemInstructionEmulationCounts = 19,
-	SystemVdmBopInformation = 20,
-	SystemInvalidInfoClass1 = 20,
-	SystemFileCacheInformation = 21,
-	SystemCacheInformation = 21,
-	SystemPoolTagInformation = 22,
-	SystemInterruptInformation = 23,
-	SystemProcessorStatistics = 23,
-	SystemDpcBehaviourInformation = 24,
-	SystemDpcInformation = 24,
-	SystemFullMemoryInformation = 25,
-	SystemNotImplemented6 = 25,
-	SystemLoadImage = 26,
-	SystemUnloadImage = 27,
-	SystemTimeAdjustmentInformation = 28,
-	SystemTimeAdjustment = 28,
-	SystemSummaryMemoryInformation = 29,
-	SystemNotImplemented7 = 29,
-	SystemNextEventIdInformation = 30,
-	SystemNotImplemented8 = 30,
-	SystemEventIdsInformation = 31,
-	SystemNotImplemented9 = 31,
-	SystemCrashDumpInformation = 32,
-	SystemExceptionInformation = 33,
-	SystemCrashDumpStateInformation = 34,
-	SystemKernelDebuggerInformation = 35,
-	SystemContextSwitchInformation = 36,
-	SystemRegistryQuotaInformation = 37,
-	SystemLoadAndCallImage = 38,
-	SystemPrioritySeparation = 39,
-	SystemPlugPlayBusInformation = 40,
-	SystemNotImplemented10 = 40,
-	SystemDockInformation = 41,
-	SystemNotImplemented11 = 41,
-	/* SystemPowerInformation = 42, Conflicts with POWER_INFORMATION_LEVEL 1 */
-	SystemInvalidInfoClass2 = 42,
-	SystemProcessorSpeedInformation = 43,
-	SystemInvalidInfoClass3 = 43,
-	SystemCurrentTimeZoneInformation = 44,
-	SystemTimeZoneInformation = 44,
-	SystemLookasideInformation = 45,
-	SystemSetTimeSlipEvent = 46,
-	SystemCreateSession = 47,
-	SystemDeleteSession = 48,
-	SystemInvalidInfoClass4 = 49,
-	SystemRangeStartInformation = 50,
-	SystemVerifierInformation = 51,
-	SystemAddVerifier = 52,
-	SystemSessionProcessesInformation	= 53,
-	SystemInformationClassMax
-} SYSTEM_INFORMATION_CLASS;
-
-typedef struct _SYSTEM_BASIC_INFORMATION {
-	ULONG  Unknown;
-	ULONG  MaximumIncrement;
-	ULONG  PhysicalPageSize;
-	ULONG  NumberOfPhysicalPages;
-	ULONG  LowestPhysicalPage;
-	ULONG  HighestPhysicalPage;
-	ULONG  AllocationGranularity;
-	ULONG  LowestUserAddress;
-	ULONG  HighestUserAddress;
-	ULONG  ActiveProcessors;
-	UCHAR  NumberProcessors;
-} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_INFORMATION {
-	USHORT  ProcessorArchitecture;
-	USHORT  ProcessorLevel;
-	USHORT  ProcessorRevision;
-	USHORT  Unknown;
-	ULONG  FeatureBits;
-} SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
-
-typedef struct _SYSTEM_PERFORMANCE_INFORMATION {
-	LARGE_INTEGER  IdleTime;
-	LARGE_INTEGER  ReadTransferCount;
-	LARGE_INTEGER  WriteTransferCount;
-	LARGE_INTEGER  OtherTransferCount;
-	ULONG  ReadOperationCount;
-	ULONG  WriteOperationCount;
-	ULONG  OtherOperationCount;
-	ULONG  AvailablePages;
-	ULONG  TotalCommittedPages;
-	ULONG  TotalCommitLimit;
-	ULONG  PeakCommitment;
-	ULONG  PageFaults;
-	ULONG  WriteCopyFaults;
-	ULONG  TransitionFaults;
-	ULONG  CacheTransitionFaults;
-	ULONG  DemandZeroFaults;
-	ULONG  PagesRead;
-	ULONG  PageReadIos;
-	ULONG	 CacheReads;
-	ULONG	 CacheIos;
-	ULONG  PagefilePagesWritten;
-	ULONG  PagefilePageWriteIos;
-	ULONG  MappedFilePagesWritten;
-	ULONG  MappedFilePageWriteIos;
-	ULONG  PagedPoolUsage;
-	ULONG  NonPagedPoolUsage;
-	ULONG  PagedPoolAllocs;
-	ULONG  PagedPoolFrees;
-	ULONG  NonPagedPoolAllocs;
-	ULONG  NonPagedPoolFrees;
-	ULONG  TotalFreeSystemPtes;
-	ULONG  SystemCodePage;
-	ULONG  TotalSystemDriverPages;
-	ULONG  TotalSystemCodePages;
-	ULONG  SmallNonPagedLookasideListAllocateHits;
-	ULONG  SmallPagedLookasideListAllocateHits;
-	ULONG  Reserved3;
-	ULONG  MmSystemCachePage;
-	ULONG  PagedPoolPage;
-	ULONG  SystemDriverPage;
-	ULONG  FastReadNoWait;
-	ULONG  FastReadWait;
-	ULONG  FastReadResourceMiss;
-	ULONG  FastReadNotPossible;
-	ULONG  FastMdlReadNoWait;
-	ULONG  FastMdlReadWait;
-	ULONG  FastMdlReadResourceMiss;
-	ULONG  FastMdlReadNotPossible;
-	ULONG  MapDataNoWait;
-	ULONG  MapDataWait;
-	ULONG  MapDataNoWaitMiss;
-	ULONG  MapDataWaitMiss;
-	ULONG  PinMappedDataCount;
-	ULONG  PinReadNoWait;
-	ULONG  PinReadWait;
-	ULONG  PinReadNoWaitMiss;
-	ULONG  PinReadWaitMiss;
-	ULONG  CopyReadNoWait;
-	ULONG  CopyReadWait;
-	ULONG  CopyReadNoWaitMiss;
-	ULONG  CopyReadWaitMiss;
-	ULONG  MdlReadNoWait;
-	ULONG  MdlReadWait;
-	ULONG  MdlReadNoWaitMiss;
-	ULONG  MdlReadWaitMiss;
-	ULONG  ReadAheadIos;
-	ULONG  LazyWriteIos;
-	ULONG  LazyWritePages;
-	ULONG  DataFlushes;
-	ULONG  DataPages;
-	ULONG  ContextSwitches;
-	ULONG  FirstLevelTbFills;
-	ULONG  SecondLevelTbFills;
-	ULONG  SystemCalls;
-} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
-
-typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION {
-	LARGE_INTEGER  BootTime;
-	LARGE_INTEGER  CurrentTime;
-	LARGE_INTEGER  TimeZoneBias;
-	ULONG  CurrentTimeZoneId;
-} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;
-
-typedef struct _VM_COUNTERS {
-	ULONG  PeakVirtualSize;
-	ULONG  VirtualSize;
-	ULONG  PageFaultCount;
-	ULONG  PeakWorkingSetSize;
-	ULONG  WorkingSetSize;
-	ULONG  QuotaPeakPagedPoolUsage;
-	ULONG  QuotaPagedPoolUsage;
-	ULONG  QuotaPeakNonPagedPoolUsage;
-	ULONG  QuotaNonPagedPoolUsage;
-	ULONG  PagefileUsage;
-	ULONG  PeakPagefileUsage;
-} VM_COUNTERS;
-
-typedef enum _THREAD_STATE {
-	StateInitialized,
-	StateReady,
-	StateRunning,
-	StateStandby,
-	StateTerminated,
-	StateWait,
-	StateTransition,
-	StateUnknown
-} THREAD_STATE;
-
-typedef struct _SYSTEM_THREADS {
-	LARGE_INTEGER  KernelTime;
-	LARGE_INTEGER  UserTime;
-	LARGE_INTEGER  CreateTime;
-	ULONG  WaitTime;
-	PVOID  StartAddress;
-	CLIENT_ID  ClientId;
-	KPRIORITY  Priority;
-	KPRIORITY  BasePriority;
-	ULONG  ContextSwitchCount;
-	THREAD_STATE  State;
-	KWAIT_REASON  WaitReason;
-} SYSTEM_THREADS, *PSYSTEM_THREADS;
-
-typedef struct _SYSTEM_PROCESSES {
-	ULONG  NextEntryDelta;
-	ULONG  ThreadCount;
-	ULONG  Reserved1[6];
-	LARGE_INTEGER  CreateTime;
-	LARGE_INTEGER  UserTime;
-	LARGE_INTEGER  KernelTime;
-	UNICODE_STRING  ProcessName;
-	KPRIORITY  BasePriority;
-	ULONG  ProcessId;
-	ULONG  InheritedFromProcessId;
-	ULONG  HandleCount;
-	ULONG  Reserved2[2];
-	VM_COUNTERS  VmCounters;
-	IO_COUNTERS  IoCounters;
-	SYSTEM_THREADS  Threads[1];
-} SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
-
-typedef struct _SYSTEM_CALLS_INFORMATION {
-	ULONG  Size;
-	ULONG  NumberOfDescriptorTables;
-	ULONG  NumberOfRoutinesInTable[1];
-	ULONG  CallCounts[ANYSIZE_ARRAY];
-} SYSTEM_CALLS_INFORMATION, *PSYSTEM_CALLS_INFORMATION;
-
-typedef struct _SYSTEM_CONFIGURATION_INFORMATION {
-	ULONG  DiskCount;
-	ULONG  FloppyCount;
-	ULONG  CdRomCount;
-	ULONG  TapeCount;
-	ULONG  SerialCount;
-	ULONG  ParallelCount;
-} SYSTEM_CONFIGURATION_INFORMATION, *PSYSTEM_CONFIGURATION_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_TIMES {
-	LARGE_INTEGER  IdleTime;
-	LARGE_INTEGER  KernelTime;
-	LARGE_INTEGER  UserTime;
-	LARGE_INTEGER  DpcTime;
-	LARGE_INTEGER  InterruptTime;
-	ULONG  InterruptCount;
-} SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
-
-/* SYSTEM_GLOBAL_FLAG.GlobalFlag constants */
-#define FLG_STOP_ON_EXCEPTION             0x00000001
-#define FLG_SHOW_LDR_SNAPS                0x00000002
-#define FLG_DEBUG_INITIAL_COMMAND         0x00000004
-#define FLG_STOP_ON_HUNG_GUI              0x00000008
-#define FLG_HEAP_ENABLE_TAIL_CHECK        0x00000010
-#define FLG_HEAP_ENABLE_FREE_CHECK        0x00000020
-#define FLG_HEAP_VALIDATE_PARAMETERS      0x00000040
-#define FLG_HEAP_VALIDATE_ALL             0x00000080
-#define FLG_POOL_ENABLE_TAIL_CHECK        0x00000100
-#define FLG_POOL_ENABLE_FREE_CHECK        0x00000200
-#define FLG_POOL_ENABLE_TAGGING           0x00000400
-#define FLG_HEAP_ENABLE_TAGGING           0x00000800
-#define FLG_USER_STACK_TRACE_DB           0x00001000
-#define FLG_KERNEL_STACK_TRACE_DB         0x00002000
-#define FLG_MAINTAIN_OBJECT_TYPELIST      0x00004000
-#define FLG_HEAP_ENABLE_TAG_BY_DLL        0x00008000
-#define FLG_IGNORE_DEBUG_PRIV             0x00010000
-#define FLG_ENABLE_CSRDEBUG               0x00020000
-#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD     0x00040000
-#define FLG_DISABLE_PAGE_KERNEL_STACKS    0x00080000
-#define FLG_HEAP_ENABLE_CALL_TRACING      0x00100000
-#define FLG_HEAP_DISABLE_COALESCING       0x00200000
-#define FLG_ENABLE_CLOSE_EXCEPTIONS       0x00400000
-#define FLG_ENABLE_EXCEPTION_LOGGING      0x00800000
-#define FLG_ENABLE_DBGPRINT_BUFFERING     0x08000000
-
-typedef struct _SYSTEM_GLOBAL_FLAG {
-  ULONG  GlobalFlag;
-} SYSTEM_GLOBAL_FLAG, *PSYSTEM_GLOBAL_FLAG;
-
-typedef struct _SYSTEM_MODULE_INFORMATION_ENTRY {
-	ULONG	 Unknown1;
-	ULONG	 Unknown2;
-	PVOID  Base;
-	ULONG  Size;
-	ULONG  Flags;
-	USHORT  Index;
-  /* Length of module name not including the path, this
-     field contains valid value only for NTOSKRNL module */
-	USHORT	NameLength;
-	USHORT  LoadCount;
-	USHORT  PathLength;
-	CHAR  ImageName[256];
-} SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
-
-typedef struct _SYSTEM_MODULE_INFORMATION {
-	ULONG  Count;
-  SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
-} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
-
-typedef struct _SYSTEM_LOCK_INFORMATION {
-	PVOID  Address;
-	USHORT  Type;
-	USHORT  Reserved1;
-	ULONG  ExclusiveOwnerThreadId;
-	ULONG  ActiveCount;
-	ULONG  ContentionCount;
-	ULONG  Reserved2[2];
-	ULONG  NumberOfSharedWaiters;
-	ULONG  NumberOfExclusiveWaiters;
-} SYSTEM_LOCK_INFORMATION, *PSYSTEM_LOCK_INFORMATION;
-
-/*SYSTEM_HANDLE_INFORMATION.Flags cosntants */
-#define PROTECT_FROM_CLOSE                0x01
-#define INHERIT                           0x02
-
-typedef struct _SYSTEM_HANDLE_INFORMATION {
-	ULONG  ProcessId;
-	UCHAR  ObjectTypeNumber;
-	UCHAR  Flags;
-	USHORT  Handle;
-	PVOID  Object;
-	ACCESS_MASK  GrantedAccess;
-} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
-
-typedef struct _SYSTEM_OBJECT_TYPE_INFORMATION {
-	ULONG  NextEntryOffset;
-	ULONG  ObjectCount;
-	ULONG  HandleCount;
-	ULONG  TypeNumber;
-	ULONG  InvalidAttributes;
-	GENERIC_MAPPING  GenericMapping;
-	ACCESS_MASK  ValidAccessMask;
-	POOL_TYPE  PoolType;
-	UCHAR  Unknown;
-	UNICODE_STRING  Name;
-} SYSTEM_OBJECT_TYPE_INFORMATION, *PSYSTEM_OBJECT_TYPE_INFORMATION;
-
-/* SYSTEM_OBJECT_INFORMATION.Flags constants */
-#define FLG_SYSOBJINFO_SINGLE_HANDLE_ENTRY    0x40
-#define FLG_SYSOBJINFO_DEFAULT_SECURITY_QUOTA 0x20
-#define FLG_SYSOBJINFO_PERMANENT              0x10
-#define FLG_SYSOBJINFO_EXCLUSIVE              0x08
-#define FLG_SYSOBJINFO_CREATOR_INFO           0x04
-#define FLG_SYSOBJINFO_KERNEL_MODE            0x02
-
-typedef struct _SYSTEM_OBJECT_INFORMATION {
-	ULONG  NextEntryOffset;
-	PVOID  Object;
-	ULONG  CreatorProcessId;
-	USHORT  Unknown;
-	USHORT  Flags;
-	ULONG  PointerCount;
-	ULONG  HandleCount;
-	ULONG  PagedPoolUsage;
-	ULONG  NonPagedPoolUsage;
-	ULONG  ExclusiveProcessId;
-	PSECURITY_DESCRIPTOR  SecurityDescriptor;
-	UNICODE_STRING  Name;
-} SYSTEM_OBJECT_INFORMATION, *PSYSTEM_OBJECT_INFORMATION;
-
-typedef struct _SYSTEM_PAGEFILE_INFORMATION {
-	ULONG  NextEntryOffset;
-	ULONG  CurrentSize;
-	ULONG  TotalUsed;
-	ULONG  PeakUsed;
-	UNICODE_STRING  FileName;
-} SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
-
-typedef struct _SYSTEM_INSTRUCTION_EMULATION_INFORMATION {
-	ULONG  SegmentNotPresent;
-	ULONG  TwoByteOpcode;
-	ULONG  ESprefix;
-	ULONG  CSprefix;
-	ULONG  SSprefix;
-	ULONG  DSprefix;
-	ULONG  FSPrefix;
-	ULONG  GSprefix;
-	ULONG  OPER32prefix;
-	ULONG  ADDR32prefix;
-	ULONG  INSB;
-	ULONG  INSW;
-	ULONG  OUTSB;
-	ULONG  OUTSW;
-	ULONG  PUSHFD;
-	ULONG  POPFD;
-	ULONG  INTnn;
-	ULONG  INTO;
-	ULONG  IRETD;
-	ULONG  INBimm;
-	ULONG  INWimm;
-	ULONG  OUTBimm;
-	ULONG  OUTWimm;
-	ULONG  INB;
-	ULONG  INW;
-	ULONG  OUTB;
-	ULONG  OUTW;
-	ULONG  LOCKprefix;
-	ULONG  REPNEprefix;
-	ULONG  REPprefix;
-	ULONG  HLT;
-	ULONG  CLI;
-	ULONG  STI;
-	ULONG  GenericInvalidOpcode;
-} SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
-
-typedef struct _SYSTEM_POOL_TAG_INFORMATION {
-	CHAR  Tag[4];
-	ULONG  PagedPoolAllocs;
-	ULONG  PagedPoolFrees;
-	ULONG  PagedPoolUsage;
-	ULONG  NonPagedPoolAllocs;
-	ULONG  NonPagedPoolFrees;
-	ULONG  NonPagedPoolUsage;
-} SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_STATISTICS {
-	ULONG  ContextSwitches;
-	ULONG  DpcCount;
-	ULONG  DpcRequestRate;
-	ULONG  TimeIncrement;
-	ULONG  DpcBypassCount;
-	ULONG  ApcBypassCount;
-} SYSTEM_PROCESSOR_STATISTICS, *PSYSTEM_PROCESSOR_STATISTICS;
-
-typedef struct _SYSTEM_DPC_INFORMATION {
-	ULONG  Reserved;
-	ULONG  MaximumDpcQueueDepth;
-	ULONG  MinimumDpcRate;
-	ULONG  AdjustDpcThreshold;
-	ULONG  IdealDpcRate;
-} SYSTEM_DPC_INFORMATION, *PSYSTEM_DPC_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_IMAGE {
-	UNICODE_STRING  ModuleName;
-	PVOID  ModuleBase;
-	PVOID  SectionPointer;
-	PVOID  EntryPoint;
-	PVOID  ExportDirectory;
-} SYSTEM_LOAD_IMAGE, *PSYSTEM_LOAD_IMAGE;
-
-typedef struct _SYSTEM_UNLOAD_IMAGE {
-  PVOID  ModuleBase;
-} SYSTEM_UNLOAD_IMAGE, *PSYSTEM_UNLOAD_IMAGE;
-
-typedef struct _SYSTEM_QUERY_TIME_ADJUSTMENT {
-	ULONG  TimeAdjustment;
-	ULONG  MaximumIncrement;
-	BOOLEAN  TimeSynchronization;
-} SYSTEM_QUERY_TIME_ADJUSTMENT, *PSYSTEM_QUERY_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_SET_TIME_ADJUSTMENT {
-	ULONG  TimeAdjustment;
-	BOOLEAN  TimeSynchronization;
-} SYSTEM_SET_TIME_ADJUSTMENT, *PSYSTEM_SET_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_CRASH_DUMP_INFORMATION {
-	HANDLE  CrashDumpSectionHandle;
-	HANDLE  Unknown;
-} SYSTEM_CRASH_DUMP_INFORMATION, *PSYSTEM_CRASH_DUMP_INFORMATION;
-
-typedef struct _SYSTEM_EXCEPTION_INFORMATION {
-	ULONG  AlignmentFixupCount;
-	ULONG  ExceptionDispatchCount;
-	ULONG  FloatingEmulationCount;
-	ULONG  Reserved;
-} SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;
-
-typedef struct _SYSTEM_CRASH_DUMP_STATE_INFORMATION {
-	ULONG  CrashDumpSectionExists;
-	ULONG  Unknown;
-} SYSTEM_CRASH_DUMP_STATE_INFORMATION, *PSYSTEM_CRASH_DUMP_STATE_INFORMATION;
-
-typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION {
-	BOOLEAN  DebuggerEnabled;
-	BOOLEAN  DebuggerNotPresent;
-} SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
-
-typedef struct _SYSTEM_CONTEXT_SWITCH_INFORMATION {
-	ULONG  ContextSwitches;
-	ULONG  ContextSwitchCounters[11];
-} SYSTEM_CONTEXT_SWITCH_INFORMATION, *PSYSTEM_CONTEXT_SWITCH_INFORMATION;
-
-typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
-	ULONG  RegistryQuota;
-	ULONG  RegistryQuotaInUse;
-	ULONG  PagedPoolSize;
-} SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_AND_CALL_IMAGE {
-  UNICODE_STRING  ModuleName;
-} SYSTEM_LOAD_AND_CALL_IMAGE, *PSYSTEM_LOAD_AND_CALL_IMAGE;
-
-typedef struct _SYSTEM_PRIORITY_SEPARATION {
-  ULONG  PrioritySeparation;
-} SYSTEM_PRIORITY_SEPARATION, *PSYSTEM_PRIORITY_SEPARATION;
-
-typedef struct _SYSTEM_TIME_ZONE_INFORMATION {
-	LONG  Bias;
-	WCHAR  StandardName[32];
-	LARGE_INTEGER  StandardDate;
-	LONG  StandardBias;
-	WCHAR  DaylightName[32];
-	LARGE_INTEGER  DaylightDate;
-	LONG  DaylightBias;
-} SYSTEM_TIME_ZONE_INFORMATION, *PSYSTEM_TIME_ZONE_INFORMATION;
-
-typedef struct _SYSTEM_LOOKASIDE_INFORMATION {
-	USHORT  Depth;
-	USHORT  MaximumDepth;
-	ULONG  TotalAllocates;
-	ULONG  AllocateMisses;
-	ULONG  TotalFrees;
-	ULONG  FreeMisses;
-	POOL_TYPE  Type;
-	ULONG  Tag;
-	ULONG  Size;
-} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
-
-typedef struct _SYSTEM_SET_TIME_SLIP_EVENT {
-  HANDLE  TimeSlipEvent;
-} SYSTEM_SET_TIME_SLIP_EVENT, *PSYSTEM_SET_TIME_SLIP_EVENT;
-
-typedef struct _SYSTEM_CREATE_SESSION {
-  ULONG  SessionId;
-} SYSTEM_CREATE_SESSION, *PSYSTEM_CREATE_SESSION;
-
-typedef struct _SYSTEM_DELETE_SESSION {
-  ULONG  SessionId;
-} SYSTEM_DELETE_SESSION, *PSYSTEM_DELETE_SESSION;
-
-typedef struct _SYSTEM_RANGE_START_INFORMATION {
-  PVOID  SystemRangeStart;
-} SYSTEM_RANGE_START_INFORMATION, *PSYSTEM_RANGE_START_INFORMATION;
-
-typedef struct _SYSTEM_SESSION_PROCESSES_INFORMATION {
-	ULONG  SessionId;
-	ULONG  BufferSize;
-	PVOID  Buffer;
-} SYSTEM_SESSION_PROCESSES_INFORMATION, *PSYSTEM_SESSION_PROCESSES_INFORMATION;
-
-typedef struct _SYSTEM_POOL_BLOCK {
-	BOOLEAN  Allocated;
-	USHORT  Unknown;
-	ULONG  Size;
-	CHAR  Tag[4];
-} SYSTEM_POOL_BLOCK, *PSYSTEM_POOL_BLOCK;
-
-typedef struct _SYSTEM_POOL_BLOCKS_INFORMATION {
-	ULONG  PoolSize;
-	PVOID  PoolBase;
-	USHORT  Unknown;
-	ULONG  NumberOfBlocks;
-	SYSTEM_POOL_BLOCK  PoolBlocks[1];
-} SYSTEM_POOL_BLOCKS_INFORMATION, *PSYSTEM_POOL_BLOCKS_INFORMATION;
-
-typedef struct _SYSTEM_MEMORY_USAGE {
-	PVOID  Name;
-	USHORT  Valid;
-	USHORT  Standby;
-	USHORT  Modified;
-	USHORT  PageTables;
-} SYSTEM_MEMORY_USAGE, *PSYSTEM_MEMORY_USAGE;
-
-typedef struct _SYSTEM_MEMORY_USAGE_INFORMATION {
-  	ULONG  Reserved;
-	PVOID  EndOfData;
-	SYSTEM_MEMORY_USAGE  MemoryUsage[1];
-} SYSTEM_MEMORY_USAGE_INFORMATION, *PSYSTEM_MEMORY_USAGE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemInformation(
-  /*IN*/ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
-  /*IN OUT*/ PVOID  SystemInformation,
-  /*IN*/ ULONG  SystemInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation(
-  /*IN*/ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
-  /*IN OUT*/ PVOID  SystemInformation,
-  /*IN*/ ULONG  SystemInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-NtQueryFullAttributesFile(
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
-  /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-ZwQueryFullAttributesFile(
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
-  /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSystemInformation(
-  /*IN*/ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
-  /*IN OUT*/ PVOID  SystemInformation,
-  /*IN*/ ULONG  SystemInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation(
-  /*IN*/ SYSTEM_INFORMATION_CLASS  SystemInformationClass,
-  /*IN OUT*/ PVOID  SystemInformation,
-  /*IN*/ ULONG  SystemInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemEnvironmentValue(
-  /*IN*/ PUNICODE_STRING  Name,
-  /*OUT*/ PVOID  Value,
-  /*IN*/ ULONG  ValueLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemEnvironmentValue(
-  /*IN*/ PUNICODE_STRING  Name,
-  /*OUT*/ PVOID  Value,
-  /*IN*/ ULONG  ValueLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSystemEnvironmentValue(
-  /*IN*/ PUNICODE_STRING  Name,
-  /*IN*/ PUNICODE_STRING  Value);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemEnvironmentValue(
-  /*IN*/ PUNICODE_STRING  Name,
-  /*IN*/ PUNICODE_STRING  Value);
-
-typedef enum _SHUTDOWN_ACTION {
-	ShutdownNoReboot,
-	ShutdownReboot,
-	ShutdownPowerOff
-} SHUTDOWN_ACTION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtShutdownSystem(
-  /*IN*/ SHUTDOWN_ACTION  Action);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwShutdownSystem(
-  /*IN*/ SHUTDOWN_ACTION  Action);
-
-typedef enum _DEBUG_CONTROL_CODE {
-  DebugGetTraceInformation = 1,
-	DebugSetInternalBreakpoint,
-	DebugSetSpecialCall,
-	DebugClearSpecialCalls,
-	DebugQuerySpecialCalls,
-	DebugDbgBreakPoint,
-	DebugMaximum
-} DEBUG_CONTROL_CODE;
-
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSystemDebugControl(
-  /*IN*/ DEBUG_CONTROL_CODE  ControlCode,
-  /*IN*/ PVOID  InputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSystemDebugControl(
-  /*IN*/ DEBUG_CONTROL_CODE  ControlCode,
-  /*IN*/ PVOID  InputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-
-
-/* Objects, Object directories, and symbolic links */
-
-typedef enum _OBJECT_INFORMATION_CLASS {
-	ObjectBasicInformation,
-	ObjectNameInformation,
-	ObjectTypeInformation,
-	ObjectAllTypesInformation,
-	ObjectHandleInformation
-} OBJECT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryObject(
-  /*IN*/ HANDLE  ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS  ObjectInformationClass,
-  /*OUT*/ PVOID  ObjectInformation,
-  /*IN*/ ULONG  ObjectInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject(
-  /*IN*/ HANDLE  ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS  ObjectInformationClass,
-  /*OUT*/ PVOID  ObjectInformation,
-  /*IN*/ ULONG  ObjectInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationObject(
-  /*IN*/ HANDLE  ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS  ObjectInformationClass,
-  /*IN*/ PVOID  ObjectInformation,
-  /*IN*/ ULONG  ObjectInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject(
-  /*IN*/ HANDLE  ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS  ObjectInformationClass,
-  /*IN*/ PVOID  ObjectInformation,
-  /*IN*/ ULONG  ObjectInformationLength);
-
-/* OBJECT_BASIC_INFORMATION.Attributes constants */
-/* also in winbase.h */
-#define HANDLE_FLAG_INHERIT               0x01
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE    0x02
-/* end winbase.h */
-#define PERMANENT                         0x10
-#define EXCLUSIVE                         0x20
-
-typedef struct _OBJECT_BASIC_INFORMATION {
-	ULONG  Attributes;
-	ACCESS_MASK  GrantedAccess;
-	ULONG  HandleCount;
-	ULONG  PointerCount;
-	ULONG  PagedPoolUsage;
-	ULONG  NonPagedPoolUsage;
-	ULONG  Reserved[3];
-	ULONG  NameInformationLength;
-	ULONG  TypeInformationLength;
-	ULONG  SecurityDescriptorLength;
-	LARGE_INTEGER  CreateTime;
-} OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
-#if 0
-/* FIXME: Enable later */
-typedef struct _OBJECT_TYPE_INFORMATION {
-	UNICODE_STRING  Name;
-	ULONG  ObjectCount;
-	ULONG  HandleCount;
-	ULONG  Reserved1[4];
-	ULONG  PeakObjectCount;
-	ULONG  PeakHandleCount;
-	ULONG  Reserved2[4];
-	ULONG  InvalidAttributes;
-	GENERIC_MAPPING  GenericMapping;
-	ULONG  ValidAccess;
-	UCHAR  Unknown;
-	BOOLEAN  MaintainHandleDatabase;
-	POOL_TYPE  PoolType;
-	ULONG  PagedPoolUsage;
-	ULONG  NonPagedPoolUsage;
-} OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
-
-typedef struct _OBJECT_ALL_TYPES_INFORMATION {
-  ULONG  NumberOfTypes;
-  OBJECT_TYPE_INFORMATION  TypeInformation;
-} OBJECT_ALL_TYPES_INFORMATION, *POBJECT_ALL_TYPES_INFORMATION;
-#endif
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION {
-  BOOLEAN  Inherit;
-  BOOLEAN  ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFORMATION, *POBJECT_HANDLE_ATTRIBUTE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateObject(
-  /*IN*/ HANDLE  SourceProcessHandle,
-  /*IN*/ HANDLE  SourceHandle,
-  /*IN*/ HANDLE  TargetProcessHandle,
-  /*OUT*/ PHANDLE  TargetHandle  /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG  Attributes,
-  /*IN*/ ULONG  Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject(
-  /*IN*/ HANDLE  SourceProcessHandle,
-  /*IN*/ HANDLE  SourceHandle,
-  /*IN*/ HANDLE  TargetProcessHandle,
-  /*OUT*/ PHANDLE  TargetHandle  /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG  Attributes,
-  /*IN*/ ULONG  Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySecurityObject(
-  /*IN*/ HANDLE Handle,
-  /*IN*/ SECURITY_INFORMATION  SecurityInformation,
-  /*OUT*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ULONG  SecurityDescriptorLength,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject(
-  /*IN*/ HANDLE Handle,
-  /*IN*/ SECURITY_INFORMATION  SecurityInformation,
-  /*OUT*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ULONG  SecurityDescriptorLength,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSecurityObject(
-  /*IN*/ HANDLE  Handle,
-  /*IN*/ SECURITY_INFORMATION  SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject(
-  /*IN*/ HANDLE  Handle,
-  /*IN*/ SECURITY_INFORMATION  SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenDirectoryObject(
-  /*OUT*/ PHANDLE  DirectoryHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject(
-  /*OUT*/ PHANDLE  DirectoryHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryDirectoryObject(
-  /*IN*/ HANDLE  DirectoryHandle,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  ReturnSingleEntry,
-  /*IN*/ BOOLEAN  RestartScan,
-  /*IN OUT*/ PULONG  Context,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject(
-  /*IN*/ HANDLE  DirectoryHandle,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  ReturnSingleEntry,
-  /*IN*/ BOOLEAN  RestartScan,
-  /*IN OUT*/ PULONG  Context,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-typedef struct _DIRECTORY_BASIC_INFORMATION {
-  UNICODE_STRING  ObjectName;
-  UNICODE_STRING  ObjectTypeName;
-} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateSymbolicLinkObject(
-  /*OUT*/ PHANDLE  SymbolicLinkHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PUNICODE_STRING  TargetName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject(
-  /*OUT*/ PHANDLE  SymbolicLinkHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PUNICODE_STRING  TargetName);
-
-
-
-
-/* Virtual memory */
-
-typedef enum _MEMORY_INFORMATION_CLASS {
-MemoryBasicInformation,
-MemoryWorkingSetList,
-MemorySectionName,
-MemoryBasicVlmInformation
-} MEMORY_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN*/ ULONG  ZeroBits,
-  /*IN OUT*/ PULONG  AllocationSize,
-  /*IN*/ ULONG  AllocationType,
-  /*IN*/ ULONG  Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN*/ ULONG  ZeroBits,
-  /*IN OUT*/ PULONG  AllocationSize,
-  /*IN*/ ULONG  AllocationType,
-  /*IN*/ ULONG  Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFreeVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  FreeSize,
-  /*IN*/ ULONG  FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  FreeSize,
-  /*IN*/ ULONG  FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ MEMORY_INFORMATION_CLASS  MemoryInformationClass,
-  /*OUT*/ PVOID  MemoryInformation,
-  /*IN*/ ULONG  MemoryInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ MEMORY_INFORMATION_CLASS  MemoryInformationClass,
-  /*OUT*/ PVOID  MemoryInformation,
-  /*IN*/ ULONG  MemoryInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-/* MEMORY_WORKING_SET_LIST.WorkingSetList constants */
-#define WSLE_PAGE_READONLY                0x001
-#define WSLE_PAGE_EXECUTE                 0x002
-#define WSLE_PAGE_READWRITE               0x004
-#define WSLE_PAGE_EXECUTE_READ            0x003
-#define WSLE_PAGE_WRITECOPY               0x005
-#define WSLE_PAGE_EXECUTE_READWRITE       0x006
-#define WSLE_PAGE_EXECUTE_WRITECOPY       0x007
-#define WSLE_PAGE_SHARE_COUNT_MASK        0x0E0
-#define WSLE_PAGE_SHAREABLE               0x100
-
-typedef struct _MEMORY_WORKING_SET_LIST {
-  ULONG  NumberOfPages;
-  ULONG  WorkingSetList[1];
-} MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
-
-typedef struct _MEMORY_SECTION_NAME {
-  UNICODE_STRING  SectionFileName;
-} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
-
-/* Zw[Lock|Unlock]VirtualMemory.LockType constants */
-#define LOCK_VM_IN_WSL                    0x01
-#define LOCK_VM_IN_RAM                    0x02
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtLockVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  LockSize,
-  /*IN*/ ULONG  LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLockVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  LockSize,
-  /*IN*/ ULONG  LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtUnlockVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  LockSize,
-  /*IN*/ ULONG  LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnlockVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  LockSize,
-  /*IN*/ ULONG  LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReadVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtWriteVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtProtectVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  ProtectSize,
-  /*IN*/ ULONG  NewProtect,
-  /*OUT*/ PULONG  OldProtect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwProtectVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  ProtectSize,
-  /*IN*/ ULONG  NewProtect,
-  /*OUT*/ PULONG  OldProtect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFlushVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  FlushSize,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN OUT*/ PULONG  FlushSize,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateUserPhysicalPages(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PULONG  NumberOfPages,
-  /*OUT*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateUserPhysicalPages(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PULONG  NumberOfPages,
-  /*OUT*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFreeUserPhysicalPages(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeUserPhysicalPages(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtMapUserPhysicalPages(
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPages(
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtMapUserPhysicalPagesScatter(
-  /*IN*/ PVOID  *BaseAddresses,
-  /*IN*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPagesScatter(
-  /*IN*/ PVOID  *BaseAddresses,
-  /*IN*/ PULONG  NumberOfPages,
-  /*IN*/ PULONG  PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtGetWriteWatch(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  RegionSize,
-  /*OUT*/ PULONG  Buffer,
-  /*IN OUT*/ PULONG  BufferEntries,
-  /*OUT*/ PULONG  Granularity);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetWriteWatch(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  RegionSize,
-  /*OUT*/ PULONG  Buffer,
-  /*IN OUT*/ PULONG  BufferEntries,
-  /*OUT*/ PULONG  Granularity);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtResetWriteWatch(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  RegionSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResetWriteWatch(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  RegionSize);
-
-
-
-
-/* Sections */
-
-typedef enum _SECTION_INFORMATION_CLASS {
-  SectionBasicInformation,
-  SectionImageInformation
-} SECTION_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateSection(
-  /*OUT*/ PHANDLE  SectionHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PLARGE_INTEGER  SectionSize  /*OPTIONAL*/,
-  /*IN*/ ULONG  Protect,
-  /*IN*/ ULONG  Attributes,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection(
-  /*OUT*/ PHANDLE  SectionHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PLARGE_INTEGER  SectionSize  /*OPTIONAL*/,
-  /*IN*/ ULONG  Protect,
-  /*IN*/ ULONG  Attributes,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ SECTION_INFORMATION_CLASS  SectionInformationClass,
-  /*OUT*/ PVOID  SectionInformation,
-  /*IN*/ ULONG  SectionInformationLength,
-  /*OUT*/ PULONG  ResultLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ SECTION_INFORMATION_CLASS  SectionInformationClass,
-  /*OUT*/ PVOID  SectionInformation,
-  /*IN*/ ULONG  SectionInformationLength,
-  /*OUT*/ PULONG  ResultLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtExtendSection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ PLARGE_INTEGER  SectionSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwExtendSection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ PLARGE_INTEGER  SectionSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAreMappedFilesTheSame(
-  /*IN*/ PVOID  Address1,
-  /*IN*/ PVOID  Address2);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAreMappedFilesTheSame(
-  /*IN*/ PVOID  Address1,
-  /*IN*/ PVOID  Address2);
-
-
-
-
-/* Threads */
-
-typedef struct _USER_STACK {
-	PVOID  FixedStackBase;
-	PVOID  FixedStackLimit;
-	PVOID  ExpandableStackBase;
-	PVOID  ExpandableStackLimit;
-	PVOID  ExpandableStackBottom;
-} USER_STACK, *PUSER_STACK;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateThread(
-  /*OUT*/ PHANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*OUT*/ PCLIENT_ID  ClientId,
-  /*IN*/ PCONTEXT  ThreadContext,
-  /*IN*/ PUSER_STACK  UserStack,
-  /*IN*/ BOOLEAN  CreateSuspended);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateThread(
-  /*OUT*/ PHANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*OUT*/ PCLIENT_ID  ClientId,
-  /*IN*/ PCONTEXT  ThreadContext,
-  /*IN*/ PUSER_STACK  UserStack,
-  /*IN*/ BOOLEAN  CreateSuspended);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThread(
-  /*OUT*/ PHANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PCLIENT_ID  ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread(
-  /*OUT*/ PHANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PCLIENT_ID  ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtTerminateThread(
-  /*IN*/ HANDLE  ThreadHandle  /*OPTIONAL*/,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateThread(
-  /*IN*/ HANDLE  ThreadHandle  /*OPTIONAL*/,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*OUT*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*OUT*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*IN*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*IN*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength);
-
-typedef struct _THREAD_BASIC_INFORMATION {
-	NTSTATUS  ExitStatus;
-	PNT_TIB  TebBaseAddress;
-	CLIENT_ID  ClientId;
-	KAFFINITY  AffinityMask;
-	KPRIORITY  Priority;
-	KPRIORITY  BasePriority;
-} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
-
-typedef struct _KERNEL_USER_TIMES {
-	LARGE_INTEGER  CreateTime;
-	LARGE_INTEGER  ExitTime;
-	LARGE_INTEGER  KernelTime;
-	LARGE_INTEGER  UserTime;
-} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSuspendThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSuspendThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtResumeThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResumeThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtGetContextThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PCONTEXT  Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetContextThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PCONTEXT  Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetContextThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ PCONTEXT  Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetContextThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ PCONTEXT  Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueueApcThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ PKNORMAL_ROUTINE  ApcRoutine,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*IN*/ PVOID  Argument1  /*OPTIONAL*/,
-  /*IN*/ PVOID  Argument2  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueueApcThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ PKNORMAL_ROUTINE  ApcRoutine,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*IN*/ PVOID  Argument1  /*OPTIONAL*/,
-  /*IN*/ PVOID  Argument2  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtTestAlert(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTestAlert(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAlertThread(
-  /*IN*/ HANDLE  ThreadHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread(
-  /*IN*/ HANDLE  ThreadHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAlertResumeThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertResumeThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*OUT*/ PULONG  PreviousSuspendCount  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRegisterThreadTerminatePort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRegisterThreadTerminatePort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtImpersonateThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ HANDLE  TargetThreadHandle,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE  SecurityQos);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ HANDLE  TargetThreadHandle,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE  SecurityQos);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtImpersonateAnonymousToken(
-  /*IN*/ HANDLE  ThreadHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateAnonymousToken(
-  /*IN*/ HANDLE  ThreadHandle);
-
-
-
-
-/* Processes */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateProcess(
-  /*OUT*/ PHANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ HANDLE  InheritFromProcessHandle,
-  /*IN*/ BOOLEAN  InheritHandles,
-  /*IN*/ HANDLE  SectionHandle  /*OPTIONAL*/,
-  /*IN*/ HANDLE  DebugPort  /*OPTIONAL*/,
-  /*IN*/ HANDLE  ExceptionPort  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProcess(
-  /*OUT*/ PHANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ HANDLE  InheritFromProcessHandle,
-  /*IN*/ BOOLEAN  InheritHandles,
-  /*IN*/ HANDLE  SectionHandle  /*OPTIONAL*/,
-  /*IN*/ HANDLE  DebugPort  /*OPTIONAL*/,
-  /*IN*/ HANDLE  ExceptionPort  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtTerminateProcess(
-  /*IN*/ HANDLE  ProcessHandle  /*OPTIONAL*/,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess(
-  /*IN*/ HANDLE  ProcessHandle  /*OPTIONAL*/,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationProcess(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS  ProcessInformationClass,
-  /*OUT*/ PVOID  ProcessInformation,
-  /*IN*/ ULONG  ProcessInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS  ProcessInformationClass,
-  /*OUT*/ PVOID  ProcessInformation,
-  /*IN*/ ULONG  ProcessInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationProcess(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS  ProcessInformationClass,
-  /*IN*/ PVOID  ProcessInformation,
-  /*IN*/ ULONG  ProcessInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS  ProcessInformationClass,
-  /*IN*/ PVOID  ProcessInformation,
-  /*IN*/ ULONG  ProcessInformationLength);
-
-typedef struct _PROCESS_BASIC_INFORMATION {
-	NTSTATUS  ExitStatus;
-	PPEB  PebBaseAddress;
-	KAFFINITY  AffinityMask;
-	KPRIORITY  BasePriority;
-	ULONG  UniqueProcessId;
-	ULONG  InheritedFromUniqueProcessId;
-} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
-
-typedef struct _PROCESS_ACCESS_TOKEN {
-  HANDLE  Token;
-  HANDLE  Thread;
-} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN;
-
-/* DefaultHardErrorMode constants */
-/* also in winbase.h */
-#define SEM_FAILCRITICALERRORS            0x0001
-#define SEM_NOGPFAULTERRORBOX             0x0002
-#define SEM_NOALIGNMENTFAULTEXCEPT        0x0004
-#define SEM_NOOPENFILEERRORBOX            0x8000
-/* end winbase.h */
-typedef struct _POOLED_USAGE_AND_LIMITS {
-	ULONG  PeakPagedPoolUsage;
-	ULONG  PagedPoolUsage;
-	ULONG  PagedPoolLimit;
-	ULONG  PeakNonPagedPoolUsage;
-	ULONG  NonPagedPoolUsage;
-	ULONG  NonPagedPoolLimit;
-	ULONG  PeakPagefileUsage;
-	ULONG  PagefileUsage;
-	ULONG  PagefileLimit;
-} POOLED_USAGE_AND_LIMITS, *PPOOLED_USAGE_AND_LIMITS;
-
-typedef struct _PROCESS_WS_WATCH_INFORMATION {
-  PVOID  FaultingPc;
-  PVOID  FaultingVa;
-} PROCESS_WS_WATCH_INFORMATION, *PPROCESS_WS_WATCH_INFORMATION;
-
-/* PROCESS_PRIORITY_CLASS.PriorityClass constants */
-#define PC_IDLE                           1
-#define PC_NORMAL                         2
-#define PC_HIGH                           3
-#define PC_REALTIME                       4
-#define PC_BELOW_NORMAL                   5
-#define PC_ABOVE_NORMAL                   6
-
-typedef struct _PROCESS_PRIORITY_CLASS {
-  BOOLEAN  Foreground;
-  UCHAR  PriorityClass;
-} PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;
-
-/* PROCESS_DEVICEMAP_INFORMATION.DriveType constants */
-#define DRIVE_UNKNOWN                     0
-#define DRIVE_NO_ROOT_DIR                 1
-#define DRIVE_REMOVABLE                   2
-#define DRIVE_FIXED                       3
-#define DRIVE_REMOTE                      4
-#define DRIVE_CDROM                       5
-#define DRIVE_RAMDISK                     6
-
-typedef struct _PROCESS_DEVICEMAP_INFORMATION {
-	_ANONYMOUS_UNION union {
-		struct {
-		  HANDLE  DirectoryHandle;
-		} Set;
-		struct {
-		  ULONG  DriveMap;
-		  UCHAR  DriveType[32];
-		} Query;
-	} DUMMYUNIONNAME;
-} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
-
-typedef struct _PROCESS_SESSION_INFORMATION {
-  ULONG  SessionId;
-} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;
-
-typedef struct _RTL_USER_PROCESS_PARAMETERS {
-	ULONG  AllocationSize;
-	ULONG  Size;
-	ULONG  Flags;
-	ULONG  DebugFlags;
-	HANDLE  hConsole;
-	ULONG  ProcessGroup;
-	HANDLE  hStdInput;
-	HANDLE  hStdOutput;
-	HANDLE  hStdError;
-	UNICODE_STRING  CurrentDirectoryName;
-	HANDLE  CurrentDirectoryHandle;
-	UNICODE_STRING  DllPath;
-	UNICODE_STRING  ImagePathName;
-	UNICODE_STRING  CommandLine;
-	PWSTR  Environment;
-	ULONG  dwX;
-	ULONG  dwY;
-	ULONG  dwXSize;
-	ULONG  dwYSize;
-	ULONG  dwXCountChars;
-	ULONG  dwYCountChars;
-	ULONG  dwFillAttribute;
-	ULONG  dwFlags;
-	ULONG  wShowWindow;
-	UNICODE_STRING  WindowTitle;
-	UNICODE_STRING  DesktopInfo;
-	UNICODE_STRING  ShellInfo;
-	UNICODE_STRING  RuntimeInfo;
-} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
-
-NTSTATUS
-NTAPI
-RtlCreateProcessParameters(
-  /*OUT*/ PRTL_USER_PROCESS_PARAMETERS  *ProcessParameters,
-  /*IN*/ PUNICODE_STRING  ImageFile,
-  /*IN*/ PUNICODE_STRING  DllPath  /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  CurrentDirectory  /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  CommandLine  /*OPTIONAL*/,
-  /*IN*/ PWSTR  Environment /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  WindowTitle  /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  DesktopInfo  /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  ShellInfo  /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  RuntimeInfo  /*OPTIONAL*/);
-
-NTSTATUS
-NTAPI
-RtlDestroyProcessParameters(
-  /*IN*/ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters);
-
-typedef struct _DEBUG_BUFFER {
-	HANDLE  SectionHandle;
-	PVOID  SectionBase;
-	PVOID  RemoteSectionBase;
-	ULONG  SectionBaseDelta;
-	HANDLE  EventPairHandle;
-	ULONG  Unknown[2];
-	HANDLE  RemoteThreadHandle;
-	ULONG  InfoClassMask;
-	ULONG  SizeOfInfo;
-	ULONG  AllocatedSize;
-	ULONG  SectionSize;
-	PVOID  ModuleInformation;
-	PVOID  BackTraceInformation;
-	PVOID  HeapInformation;
-	PVOID  LockInformation;
-	PVOID  Reserved[8];
-} DEBUG_BUFFER, *PDEBUG_BUFFER;
-
-PDEBUG_BUFFER
-NTAPI
-RtlCreateQueryDebugBuffer(
-  /*IN*/ ULONG  Size,
-  /*IN*/ BOOLEAN  EventPair);
-
-/* RtlQueryProcessDebugInformation.DebugInfoClassMask constants */
-#define PDI_MODULES                       0x01
-#define PDI_BACKTRACE                     0x02
-#define PDI_HEAPS                         0x04
-#define PDI_HEAP_TAGS                     0x08
-#define PDI_HEAP_BLOCKS                   0x10
-#define PDI_LOCKS                         0x20
-
-NTSTATUS
-NTAPI
-RtlQueryProcessDebugInformation(
-  /*IN*/ ULONG  ProcessId,
-  /*IN*/ ULONG  DebugInfoClassMask,
-  /*IN OUT*/ PDEBUG_BUFFER  DebugBuffer);
-
-NTSTATUS
-NTAPI
-RtlDestroyQueryDebugBuffer(
-  /*IN*/ PDEBUG_BUFFER  DebugBuffer);
-
-/* DEBUG_MODULE_INFORMATION.Flags constants */
-#define LDRP_STATIC_LINK                  0x00000002
-#define LDRP_IMAGE_DLL                    0x00000004
-#define LDRP_LOAD_IN_PROGRESS             0x00001000
-#define LDRP_UNLOAD_IN_PROGRESS           0x00002000
-#define LDRP_ENTRY_PROCESSED              0x00004000
-#define LDRP_ENTRY_INSERTED               0x00008000
-#define LDRP_CURRENT_LOAD                 0x00010000
-#define LDRP_FAILED_BUILTIN_LOAD          0x00020000
-#define LDRP_DONT_CALL_FOR_THREADS        0x00040000
-#define LDRP_PROCESS_ATTACH_CALLED        0x00080000
-#define LDRP_DEBUG_SYMBOLS_LOADED         0x00100000
-#define LDRP_IMAGE_NOT_AT_BASE            0x00200000
-#define LDRP_WX86_IGNORE_MACHINETYPE      0x00400000
-
-typedef struct _DEBUG_MODULE_INFORMATION {
-	ULONG  Reserved[2];
-	ULONG  Base;
-	ULONG  Size;
-	ULONG  Flags;
-	USHORT  Index;
-	USHORT  Unknown;
-	USHORT  LoadCount;
-	USHORT  ModuleNameOffset;
-	CHAR  ImageName[256];
-} DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
-
-typedef struct _DEBUG_HEAP_INFORMATION {
-	ULONG  Base;
-	ULONG  Flags;
-	USHORT  Granularity;
-	USHORT  Unknown;
-	ULONG  Allocated;
-	ULONG  Committed;
-	ULONG  TagCount;
-	ULONG  BlockCount;
-	ULONG  Reserved[7];
-	PVOID  Tags;
-	PVOID  Blocks;
-} DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
-
-typedef struct _DEBUG_LOCK_INFORMATION {
-	PVOID  Address;
-	USHORT  Type;
-	USHORT  CreatorBackTraceIndex;
-	ULONG  OwnerThreadId;
-	ULONG  ActiveCount;
-	ULONG  ContentionCount;
-	ULONG  EntryCount;
-	ULONG  RecursionCount;
-	ULONG  NumberOfSharedWaiters;
-	ULONG  NumberOfExclusiveWaiters;
-} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
-
-
-
-/* Jobs */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateJobObject(
-  /*OUT*/ PHANDLE  JobHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateJobObject(
-  /*OUT*/ PHANDLE  JobHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenJobObject(
-  /*OUT*/ PHANDLE  JobHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenJobObject(
-  /*OUT*/ PHANDLE  JobHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtTerminateJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ NTSTATUS  ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAssignProcessToJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ HANDLE  ProcessHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAssignProcessToJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ HANDLE  ProcessHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ JOBOBJECTINFOCLASS  JobInformationClass,
-  /*OUT*/ PVOID  JobInformation,
-  /*IN*/ ULONG  JobInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ JOBOBJECTINFOCLASS  JobInformationClass,
-  /*OUT*/ PVOID  JobInformation,
-  /*IN*/ ULONG  JobInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ JOBOBJECTINFOCLASS  JobInformationClass,
-  /*IN*/ PVOID  JobInformation,
-  /*IN*/ ULONG  JobInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationJobObject(
-  /*IN*/ HANDLE  JobHandle,
-  /*IN*/ JOBOBJECTINFOCLASS  JobInformationClass,
-  /*IN*/ PVOID  JobInformation,
-  /*IN*/ ULONG  JobInformationLength);
-
-
-/* Tokens */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateToken(
-  /*OUT*/ PHANDLE TokenHandle,
-  /*IN*/ ACCESS_MASK DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
-  /*IN*/ TOKEN_TYPE Type,
-  /*IN*/ PLUID AuthenticationId,
-  /*IN*/ PLARGE_INTEGER ExpirationTime,
-  /*IN*/ PTOKEN_USER User,
-  /*IN*/ PTOKEN_GROUPS Groups,
-  /*IN*/ PTOKEN_PRIVILEGES Privileges,
-  /*IN*/ PTOKEN_OWNER Owner,
-  /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup,
-  /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl,
-  /*IN*/ PTOKEN_SOURCE Source
-);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateToken(
-  /*OUT*/ PHANDLE TokenHandle,
-  /*IN*/ ACCESS_MASK DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
-  /*IN*/ TOKEN_TYPE Type,
-  /*IN*/ PLUID AuthenticationId,
-  /*IN*/ PLARGE_INTEGER ExpirationTime,
-  /*IN*/ PTOKEN_USER User,
-  /*IN*/ PTOKEN_GROUPS Groups,
-  /*IN*/ PTOKEN_PRIVILEGES Privileges,
-  /*IN*/ PTOKEN_OWNER Owner,
-  /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup,
-  /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl,
-  /*IN*/ PTOKEN_SOURCE Source
-);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenProcessToken(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE  TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE  TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThreadToken(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ BOOLEAN  OpenAsSelf,
-  /*OUT*/ PHANDLE  TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ BOOLEAN  OpenAsSelf,
-  /*OUT*/ PHANDLE  TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateToken(
-  /*IN*/ HANDLE  ExistingTokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ BOOLEAN  EffectiveOnly,
-  /*IN*/ TOKEN_TYPE  TokenType,
-  /*OUT*/ PHANDLE  NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken(
-  /*IN*/ HANDLE  ExistingTokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ BOOLEAN  EffectiveOnly,
-  /*IN*/ TOKEN_TYPE  TokenType,
-  /*OUT*/ PHANDLE  NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFilterToken(
-  /*IN*/ HANDLE  ExistingTokenHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ PTOKEN_GROUPS  SidsToDisable,
-  /*IN*/ PTOKEN_PRIVILEGES  PrivilegesToDelete,
-  /*IN*/ PTOKEN_GROUPS  SidsToRestricted,
-  /*OUT*/ PHANDLE  NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFilterToken(
-  /*IN*/ HANDLE  ExistingTokenHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ PTOKEN_GROUPS  SidsToDisable,
-  /*IN*/ PTOKEN_PRIVILEGES  PrivilegesToDelete,
-  /*IN*/ PTOKEN_GROUPS  SidsToRestricted,
-  /*OUT*/ PHANDLE  NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAdjustPrivilegesToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ BOOLEAN  DisableAllPrivileges,
-  /*IN*/ PTOKEN_PRIVILEGES  NewState,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PTOKEN_PRIVILEGES  PreviousState  /*OPTIONAL*/,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ BOOLEAN  DisableAllPrivileges,
-  /*IN*/ PTOKEN_PRIVILEGES  NewState,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PTOKEN_PRIVILEGES  PreviousState  /*OPTIONAL*/,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAdjustGroupsToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ BOOLEAN  ResetToDefault,
-  /*IN*/ PTOKEN_GROUPS  NewState,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PTOKEN_GROUPS  PreviousState  /*OPTIONAL*/,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustGroupsToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ BOOLEAN  ResetToDefault,
-  /*IN*/ PTOKEN_GROUPS  NewState,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PTOKEN_GROUPS  PreviousState  /*OPTIONAL*/,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*OUT*/ PVOID  TokenInformation,
-  /*IN*/ ULONG  TokenInformationLength,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*OUT*/ PVOID  TokenInformation,
-  /*IN*/ ULONG  TokenInformationLength,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*IN*/ PVOID  TokenInformation,
-  /*IN*/ ULONG  TokenInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationToken(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*IN*/ PVOID  TokenInformation,
-  /*IN*/ ULONG  TokenInformationLength);
-
-
-
-
-/* Time */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemTime(
-  /*OUT*/ PLARGE_INTEGER  CurrentTime);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemTime(
-  /*OUT*/ PLARGE_INTEGER  CurrentTime);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSystemTime(
-  /*IN*/ PLARGE_INTEGER  NewTime,
-  /*OUT*/ PLARGE_INTEGER  OldTime  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime(
-  /*IN*/ PLARGE_INTEGER  NewTime,
-  /*OUT*/ PLARGE_INTEGER  OldTime  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryPerformanceCounter(
-  /*OUT*/ PLARGE_INTEGER  PerformanceCount,
-  /*OUT*/ PLARGE_INTEGER  PerformanceFrequency  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryPerformanceCounter(
-  /*OUT*/ PLARGE_INTEGER  PerformanceCount,
-  /*OUT*/ PLARGE_INTEGER  PerformanceFrequency  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryTimerResolution(
-  /*OUT*/ PULONG  CoarsestResolution,
-  /*OUT*/ PULONG  FinestResolution,
-  /*OUT*/ PULONG  ActualResolution);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryTimerResolution(
-  /*OUT*/ PULONG  CoarsestResolution,
-  /*OUT*/ PULONG  FinestResolution,
-  /*OUT*/ PULONG  ActualResolution);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDelayExecution(
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDelayExecution(
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtYieldExecution(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution(
-  VOID);
-
-NTOSAPI
-ULONG
-NTAPI
-NtGetTickCount(
-  VOID);
-
-NTOSAPI
-ULONG
-NTAPI
-ZwGetTickCount(
-  VOID);
-
-
-
-
-/* Execution profiling */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateProfile(
-  /*OUT*/ PHANDLE  ProfileHandle,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  Base,
-  /*IN*/ ULONG  Size,
-  /*IN*/ ULONG  BucketShift,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ KPROFILE_SOURCE  Source,
-  /*IN*/ ULONG  ProcessorMask);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProfile(
-  /*OUT*/ PHANDLE  ProfileHandle,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  Base,
-  /*IN*/ ULONG  Size,
-  /*IN*/ ULONG  BucketShift,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ KPROFILE_SOURCE  Source,
-  /*IN*/ ULONG  ProcessorMask);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetIntervalProfile(
-  /*IN*/ ULONG  Interval,
-  /*IN*/ KPROFILE_SOURCE  Source);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetIntervalProfile(
-  /*IN*/ ULONG  Interval,
-  /*IN*/ KPROFILE_SOURCE  Source);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryIntervalProfile(
-  /*IN*/ KPROFILE_SOURCE  Source,
-  /*OUT*/ PULONG  Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryIntervalProfile(
-  /*IN*/ KPROFILE_SOURCE  Source,
-  /*OUT*/ PULONG  Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtStartProfile(
-  /*IN*/ HANDLE  ProfileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStartProfile(
-  /*IN*/ HANDLE  ProfileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtStopProfile(
-  /*IN*/ HANDLE  ProfileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStopProfile(
-  /*IN*/ HANDLE  ProfileHandle);
-
-/* Local Procedure Call (LPC) */
-
-typedef struct _LPC_MESSAGE {
-	USHORT  DataSize;
-	USHORT  MessageSize;
-	USHORT  MessageType;
-	USHORT  VirtualRangesOffset;
-	CLIENT_ID  ClientId;
-	ULONG  MessageId;
-	ULONG  SectionSize;
-	UCHAR  Data[ANYSIZE_ARRAY];
-} LPC_MESSAGE, *PLPC_MESSAGE;
-
-#define LPC_MESSAGE_BASE_SIZE	24
-
-typedef enum _LPC_TYPE {
-	LPC_NEW_MESSAGE,
-	LPC_REQUEST,
-	LPC_REPLY,
-	LPC_DATAGRAM,
-	LPC_LOST_REPLY,
-	LPC_PORT_CLOSED,
-	LPC_CLIENT_DIED,
-	LPC_EXCEPTION,
-	LPC_DEBUG_EVENT,
-	LPC_ERROR_EVENT,
-	LPC_CONNECTION_REQUEST,
-	LPC_CONNECTION_REFUSED,
-  LPC_MAXIMUM
-} LPC_TYPE;
-
-typedef struct _LPC_SECTION_WRITE {
-	ULONG  Length;
-	HANDLE  SectionHandle;
-	ULONG  SectionOffset;
-	ULONG  ViewSize;
-	PVOID  ViewBase;
-	PVOID  TargetViewBase;
-} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
-
-typedef struct _LPC_SECTION_READ {
-	ULONG  Length;
-	ULONG  ViewSize;
-	PVOID  ViewBase;
-} LPC_SECTION_READ, *PLPC_SECTION_READ;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreatePort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  MaxDataSize,
-  /*IN*/ ULONG  MaxMessageSize,
-  /*IN*/ ULONG  Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  MaxDataSize,
-  /*IN*/ ULONG  MaxMessageSize,
-  /*IN*/ ULONG  Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateWaitablePort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  MaxDataSize,
-  /*IN*/ ULONG  MaxMessageSize,
-  /*IN*/ ULONG  Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateWaitablePort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  MaxDataSize,
-  /*IN*/ ULONG  MaxMessageSize,
-  /*IN*/ ULONG  Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtConnectPort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ PUNICODE_STRING  PortName,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE  SecurityQos,
-  /*IN OUT*/ PLPC_SECTION_WRITE  WriteSection  /*OPTIONAL*/,
-  /*IN OUT*/ PLPC_SECTION_READ  ReadSection  /*OPTIONAL*/,
-  /*OUT*/ PULONG  MaxMessageSize  /*OPTIONAL*/,
-  /*IN OUT*/ PVOID  ConnectData  /*OPTIONAL*/,
-  /*IN OUT*/ PULONG  ConnectDataLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwConnectPort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ PUNICODE_STRING  PortName,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE  SecurityQos,
-  /*IN OUT*/ PLPC_SECTION_WRITE  WriteSection  /*OPTIONAL*/,
-  /*IN OUT*/ PLPC_SECTION_READ  ReadSection  /*OPTIONAL*/,
-  /*OUT*/ PULONG  MaxMessageSize  /*OPTIONAL*/,
-  /*IN OUT*/ PVOID  ConnectData  /*OPTIONAL*/,
-  /*IN OUT*/ PULONG  ConnectDataLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtListenPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PLPC_MESSAGE  Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwListenPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PLPC_MESSAGE  Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAcceptConnectPort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ ULONG  PortIdentifier,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ BOOLEAN  Accept,
-  /*IN OUT*/ PLPC_SECTION_WRITE  WriteSection  /*OPTIONAL*/,
-  /*IN OUT*/ PLPC_SECTION_READ  ReadSection  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAcceptConnectPort(
-  /*OUT*/ PHANDLE  PortHandle,
-  /*IN*/ ULONG  PortIdentifier,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ BOOLEAN  Accept,
-  /*IN OUT*/ PLPC_SECTION_WRITE  WriteSection  /*OPTIONAL*/,
-  /*IN OUT*/ PLPC_SECTION_READ  ReadSection  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCompleteConnectPort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCompleteConnectPort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  RequestMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  RequestMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestWaitReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  RequestMessage,
-  /*OUT*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWaitReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  RequestMessage,
-  /*OUT*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReplyWaitReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN OUT*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReplyPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN OUT*/ PLPC_MESSAGE  ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReplyWaitReceivePort(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PULONG  PortIdentifier  /*OPTIONAL*/,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage  /*OPTIONAL*/,
-  /*OUT*/ PLPC_MESSAGE  Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePort(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PULONG  PortIdentifier  /*OPTIONAL*/,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage  /*OPTIONAL*/,
-  /*OUT*/ PLPC_MESSAGE  Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReplyWaitReceivePortEx(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PULONG  PortIdentifier  /*OPTIONAL*/,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage  /*OPTIONAL*/,
-  /*OUT*/ PLPC_MESSAGE  Message,
-  /*IN*/ PLARGE_INTEGER  Timeout);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePortEx(
-  /*IN*/ HANDLE  PortHandle,
-  /*OUT*/ PULONG  PortIdentifier  /*OPTIONAL*/,
-  /*IN*/ PLPC_MESSAGE  ReplyMessage  /*OPTIONAL*/,
-  /*OUT*/ PLPC_MESSAGE  Message,
-  /*IN*/ PLARGE_INTEGER  Timeout);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReadRequestData(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ ULONG  Index,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadRequestData(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ ULONG  Index,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtWriteRequestData(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ ULONG  Index,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteRequestData(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message,
-  /*IN*/ ULONG  Index,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-typedef enum _PORT_INFORMATION_CLASS {
-  PortBasicInformation
-} PORT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PORT_INFORMATION_CLASS  PortInformationClass,
-  /*OUT*/ PVOID  PortInformation,
-  /*IN*/ ULONG  PortInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PORT_INFORMATION_CLASS  PortInformationClass,
-  /*OUT*/ PVOID  PortInformation,
-  /*IN*/ ULONG  PortInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtImpersonateClientOfPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateClientOfPort(
-  /*IN*/ HANDLE  PortHandle,
-  /*IN*/ PLPC_MESSAGE  Message);
-
-
-
-
-/* Files */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteFile(
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile(
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFlushBuffersFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushBuffersFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCancelIoFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReadFileScatter(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PFILE_SEGMENT_ELEMENT  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadFileScatter(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PFILE_SEGMENT_ELEMENT  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtWriteFileGather(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PFILE_SEGMENT_ELEMENT  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteFileGather(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PFILE_SEGMENT_ELEMENT  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/);
-
-
-
-
-/* Registry keys */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSaveKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSaveMergedKeys(
-  /*IN*/ HANDLE  KeyHandle1,
-  /*IN*/ HANDLE  KeyHandle2,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveMergedKeys(
-  /*IN*/ HANDLE  KeyHandle1,
-  /*IN*/ HANDLE  KeyHandle2,
-  /*IN*/ HANDLE  FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRestoreKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ ULONG  Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ ULONG  Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtLoadKey(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES  FileObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES  FileObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtLoadKey2(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES  FileObjectAttributes,
-  /*IN*/ ULONG  Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey2(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES  FileObjectAttributes,
-  /*IN*/ ULONG  Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtUnloadKey(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryOpenSubKeys(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*OUT*/ PULONG  NumberOfKeys);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryOpenSubKeys(
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*OUT*/ PULONG  NumberOfKeys);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtReplaceKey(
-  /*IN*/ POBJECT_ATTRIBUTES  NewFileObjectAttributes,
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  OldFileObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey(
-  /*IN*/ POBJECT_ATTRIBUTES  NewFileObjectAttributes,
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ POBJECT_ATTRIBUTES  OldFileObjectAttributes);
-
-typedef enum _KEY_SET_INFORMATION_CLASS {
-  KeyLastWriteTimeInformation
-} KEY_SET_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ KEY_SET_INFORMATION_CLASS  KeyInformationClass,
-  /*IN*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  KeyInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ KEY_SET_INFORMATION_CLASS  KeyInformationClass,
-  /*IN*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  KeyInformationLength);
-
-typedef struct _KEY_LAST_WRITE_TIME_INFORMATION {
-  LARGE_INTEGER LastWriteTime;
-} KEY_LAST_WRITE_TIME_INFORMATION, *PKEY_LAST_WRITE_TIME_INFORMATION;
-
-typedef struct _KEY_NAME_INFORMATION {
-	ULONG NameLength;
-	WCHAR Name[1];
-} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtNotifyChangeKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  EventHandle  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  NotifyFilter,
-  /*IN*/ BOOLEAN  WatchSubtree,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ HANDLE  EventHandle  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  NotifyFilter,
-  /*IN*/ BOOLEAN  WatchSubtree,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-/* ZwNotifyChangeMultipleKeys.Flags constants */
-#define REG_MONITOR_SINGLE_KEY            0x00
-#define REG_MONITOR_SECOND_KEY            0x01
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtNotifyChangeMultipleKeys(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ HANDLE  EventHandle  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  NotifyFilter,
-  /*IN*/ BOOLEAN  WatchSubtree,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeMultipleKeys(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_ATTRIBUTES  KeyObjectAttributes,
-  /*IN*/ HANDLE  EventHandle  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  NotifyFilter,
-  /*IN*/ BOOLEAN  WatchSubtree,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryMultipleValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN OUT*/  PKEY_VALUE_ENTRY  ValueList,
-  /*IN*/ ULONG  NumberOfValues,
-  /*OUT*/ PVOID  Buffer,
-  /*IN OUT*/ PULONG  Length,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryMultipleValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN OUT*/  PKEY_VALUE_ENTRY  ValueList,
-  /*IN*/ ULONG  NumberOfValues,
-  /*OUT*/ PVOID  Buffer,
-  /*IN OUT*/ PULONG  Length,
-  /*OUT*/ PULONG  ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtInitializeRegistry(
-  /*IN*/ BOOLEAN  Setup);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitializeRegistry(
-  /*IN*/ BOOLEAN  Setup);
-
-
-
-
-/* Security and auditing */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtPrivilegeCheck(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ PPRIVILEGE_SET  RequiredPrivileges,
-  /*OUT*/ PBOOLEAN  Result);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeCheck(
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ PPRIVILEGE_SET  RequiredPrivileges,
-  /*OUT*/ PBOOLEAN  Result);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtPrivilegeObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PPRIVILEGE_SET  Privileges,
-  /*IN*/ BOOLEAN  AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PPRIVILEGE_SET  Privileges,
-  /*IN*/ BOOLEAN  AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheck(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PBOOLEAN  AccessStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheck(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PBOOLEAN  AccessStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PBOOLEAN  AccessStatus,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PBOOLEAN  AccessStatus,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckByType(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ULONG  DesiredAccess,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PULONG  AccessStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByType(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ULONG  DesiredAccess,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PULONG  AccessStatus);
-
-typedef enum _AUDIT_EVENT_TYPE {
-	AuditEventObjectAccess,
-	AuditEventDirectoryServiceAccess
-} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckByTypeAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PULONG  AccessStatus,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PULONG  AccessStatus,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckByTypeResultList(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultList(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ PPRIVILEGE_SET  PrivilegeSet,
-  /*IN*/ PULONG  PrivilegeSetLength,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckByTypeResultListAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList,
-  /*OUT*/ PULONG  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList,
-  /*OUT*/ PULONG  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckByTypeResultListAndAuditAlarmByHandle(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList,
-  /*OUT*/ PULONG  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSID  PrincipalSelfSid,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ AUDIT_EVENT_TYPE  AuditType,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ POBJECT_TYPE_LIST  ObjectTypeList,
-  /*IN*/ ULONG  ObjectTypeListLength,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*OUT*/ PACCESS_MASK  GrantedAccessList,
-  /*OUT*/ PULONG  AccessStatusList,
-  /*OUT*/ PULONG  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  *HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ACCESS_MASK  GrantedAccess,
-  /*IN*/ PPRIVILEGE_SET  Privileges  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*IN*/ BOOLEAN  AccessGranted,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  *HandleId,
-  /*IN*/ PUNICODE_STRING  ObjectTypeName,
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ HANDLE  TokenHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ACCESS_MASK  GrantedAccess,
-  /*IN*/ PPRIVILEGE_SET  Privileges  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  ObjectCreation,
-  /*IN*/ BOOLEAN  AccessGranted,
-  /*OUT*/ PBOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCloseObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ BOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ BOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ BOOLEAN  GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteObjectAuditAlarm(
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID  HandleId,
-  /*IN*/ BOOLEAN  GenerateOnClose);
-
-
-
-
-/* Plug and play and power management */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWakeupLatency(
-  /*IN*/ LATENCY_TIME  Latency);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestDeviceWakeup(
-  /*IN*/ HANDLE  DeviceHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelDeviceWakeupRequest(
-  /*IN*/ HANDLE  DeviceHandle);
-
-NTOSAPI
-BOOLEAN
-NTAPI
-ZwIsSystemResumeAutomatic(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetThreadExecutionState(
-  /*IN*/ EXECUTION_STATE  ExecutionState,
-  /*OUT*/ PEXECUTION_STATE  PreviousExecutionState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetDevicePowerState(
-  /*IN*/ HANDLE  DeviceHandle,
-  /*OUT*/ PDEVICE_POWER_STATE  DevicePowerState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemPowerState(
-  /*IN*/ POWER_ACTION  SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE  MinSystemState,
-  /*IN*/ ULONG  Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction(
-  /*IN*/ POWER_ACTION  SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE  MinSystemState,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation(
-  /*IN*/ POWER_INFORMATION_LEVEL  PowerInformationLevel,
-  /*IN*/ PVOID  InputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtPlugPlayControl(
-  /*IN*/ ULONG  ControlCode,
-  /*IN OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPlugPlayControl(
-  /*IN*/ ULONG  ControlCode,
-  /*IN OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtGetPlugPlayEvent(
-  /*IN*/ ULONG  Reserved1,
-  /*IN*/ ULONG  Reserved2,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetPlugPlayEvent(
-  /*IN*/ ULONG  Reserved1,
-  /*IN*/ ULONG  Reserved2,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength);
-
-
-
-
-/* Miscellany */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRaiseException(
-  /*IN*/ PEXCEPTION_RECORD  ExceptionRecord,
-  /*IN*/ PCONTEXT  Context,
-  /*IN*/ BOOLEAN  SearchFrames);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseException(
-  /*IN*/ PEXCEPTION_RECORD  ExceptionRecord,
-  /*IN*/ PCONTEXT  Context,
-  /*IN*/ BOOLEAN  SearchFrames);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtContinue(
-  /*IN*/ PCONTEXT  Context,
-  /*IN*/ BOOLEAN  TestAlert);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwContinue(
-  /*IN*/ PCONTEXT  Context,
-  /*IN*/ BOOLEAN  TestAlert);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwW32Call(
-  /*IN*/ ULONG  RoutineIndex,
-  /*IN*/ PVOID  Argument,
-  /*IN*/ ULONG  ArgumentLength,
-  /*OUT*/ PVOID  *Result  /*OPTIONAL*/,
-  /*OUT*/ PULONG  ResultLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetLowWaitHighThread(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLowWaitHighThread(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetHighWaitLowThread(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetHighWaitLowThread(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtLoadDriver(
-  /*IN*/ PUNICODE_STRING  DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver(
-  /*IN*/ PUNICODE_STRING  DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtUnloadDriver(
-  /*IN*/ PUNICODE_STRING  DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver(
-  /*IN*/ PUNICODE_STRING  DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFlushInstructionCache(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress  /*OPTIONAL*/,
-  /*IN*/ ULONG  FlushSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  BaseAddress  /*OPTIONAL*/,
-  /*IN*/ ULONG  FlushSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFlushWriteBuffer(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushWriteBuffer(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryDefaultLocale(
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*OUT*/ PLCID  Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale(
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*OUT*/ PLCID  Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetDefaultLocale(
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*IN*/ LCID  Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale(
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*IN*/ LCID  Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryDefaultUILanguage(
-  /*OUT*/ PLANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultUILanguage(
-  /*OUT*/ PLANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetDefaultUILanguage(
-  /*IN*/ LANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage(
-  /*IN*/ LANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInstallUILanguage(
-  /*OUT*/ PLANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInstallUILanguage(
-  /*OUT*/ PLANGID  LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateLocallyUniqueId(
-  /*OUT*/ PLUID  Luid);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateUuids(
-  /*OUT*/ PLARGE_INTEGER  UuidLastTimeAllocated,
-  /*OUT*/ PULONG  UuidDeltaTime,
-  /*OUT*/ PULONG  UuidSequenceNumber,
-  /*OUT*/ PUCHAR  UuidSeed);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateUuids(
-  /*OUT*/ PLARGE_INTEGER  UuidLastTimeAllocated,
-  /*OUT*/ PULONG  UuidDeltaTime,
-  /*OUT*/ PULONG  UuidSequenceNumber,
-  /*OUT*/ PUCHAR  UuidSeed);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetUuidSeed(
-  /*IN*/ PUCHAR  UuidSeed);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetUuidSeed(
-  /*IN*/ PUCHAR  UuidSeed);
-
-typedef enum _HARDERROR_RESPONSE_OPTION {
-	OptionAbortRetryIgnore,
-	OptionOk,
-	OptionOkCancel,
-	OptionRetryCancel,
-	OptionYesNo,
-	OptionYesNoCancel,
-	OptionShutdownSystem
-} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
-
-typedef enum _HARDERROR_RESPONSE {
-	ResponseReturnToCaller,
-	ResponseNotHandled,
-	ResponseAbort,
-	ResponseCancel,
-	ResponseIgnore,
-	ResponseNo,
-	ResponseOk,
-	ResponseRetry,
-	ResponseYes
-} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRaiseHardError(
-  /*IN*/ NTSTATUS  Status,
-  /*IN*/ ULONG  NumberOfArguments,
-  /*IN*/ ULONG  StringArgumentsMask,
-  /*IN*/ PULONG  Arguments,
-  /*IN*/ HARDERROR_RESPONSE_OPTION  ResponseOption,
-  /*OUT*/ PHARDERROR_RESPONSE  Response);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseHardError(
-  /*IN*/ NTSTATUS  Status,
-  /*IN*/ ULONG  NumberOfArguments,
-  /*IN*/ ULONG  StringArgumentsMask,
-  /*IN*/ PULONG  Arguments,
-  /*IN*/ HARDERROR_RESPONSE_OPTION  ResponseOption,
-  /*OUT*/ PHARDERROR_RESPONSE  Response);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetDefaultHardErrorPort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultHardErrorPort(
-  /*IN*/ HANDLE  PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDisplayString(
-  /*IN*/ PUNICODE_STRING  String);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString(
-  /*IN*/ PUNICODE_STRING  String);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreatePagingFile(
-  /*IN*/ PUNICODE_STRING  FileName,
-  /*IN*/ PULARGE_INTEGER  InitialSize,
-  /*IN*/ PULARGE_INTEGER  MaximumSize,
-  /*IN*/ ULONG  Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePagingFile(
-  /*IN*/ PUNICODE_STRING  FileName,
-  /*IN*/ PULARGE_INTEGER  InitialSize,
-  /*IN*/ PULARGE_INTEGER  MaximumSize,
-  /*IN*/ ULONG  Reserved);
-
-typedef USHORT RTL_ATOM, *PRTL_ATOM;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAddAtom(
-  /*IN*/ PWSTR  AtomName,
-  /*IN*/ ULONG  AtomNameLength,
-  /*OUT*/ PRTL_ATOM  Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAddAtom(
-  /*IN*/ PWSTR  AtomName,
-  /*IN*/ ULONG  AtomNameLength,
-  /*OUT*/ PRTL_ATOM  Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFindAtom(
-  /*IN*/ PWSTR  AtomName,
-  /*IN*/ ULONG  AtomNameLength,
-  /*OUT*/ PRTL_ATOM  Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFindAtom(
-  /*IN*/ PWSTR  AtomName,
-  /*IN*/ ULONG  AtomNameLength,
-  /*OUT*/ PRTL_ATOM  Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteAtom(
-  /*IN*/ RTL_ATOM  Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteAtom(
-  /*IN*/ RTL_ATOM  Atom);
-
-typedef enum _ATOM_INFORMATION_CLASS {
-	AtomBasicInformation,
-	AtomListInformation
-} ATOM_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationAtom(
-  /*IN*/ RTL_ATOM  Atom,
-  /*IN*/ ATOM_INFORMATION_CLASS  AtomInformationClass,
-  /*OUT*/ PVOID  AtomInformation,
-  /*IN*/ ULONG  AtomInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationAtom(
-  /*IN*/ RTL_ATOM  Atom,
-  /*IN*/ ATOM_INFORMATION_CLASS  AtomInformationClass,
-  /*OUT*/ PVOID  AtomInformation,
-  /*IN*/ ULONG  AtomInformationLength,
-  /*OUT*/ PULONG  ReturnLength  /*OPTIONAL*/);
-
-typedef struct _ATOM_BASIC_INFORMATION {
-	USHORT  ReferenceCount;
-	USHORT  Pinned;
-	USHORT  NameLength;
-	WCHAR  Name[1];
-} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
-
-typedef struct _ATOM_LIST_INFORMATION {
-  ULONG  NumberOfAtoms;
-  ATOM  Atoms[1];
-} ATOM_LIST_INFORMATION, *PATOM_LIST_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetLdtEntries(
-  /*IN*/ ULONG  Selector1,
-  /*IN*/ LDT_ENTRY  LdtEntry1,
-  /*IN*/ ULONG  Selector2,
-  /*IN*/ LDT_ENTRY  LdtEntry2);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLdtEntries(
-  /*IN*/ ULONG  Selector1,
-  /*IN*/ LDT_ENTRY  LdtEntry1,
-  /*IN*/ ULONG  Selector2,
-  /*IN*/ LDT_ENTRY  LdtEntry2);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtVdmControl(
-  /*IN*/ ULONG  ControlCode,
-  /*IN*/ PVOID  ControlData);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwVdmControl(
-  /*IN*/ ULONG  ControlCode,
-  /*IN*/ PVOID  ControlData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTAPI_H */
Index: Daodan/MinGW/include/ddk/ntdd8042.h
===================================================================
--- Daodan/MinGW/include/ddk/ntdd8042.h	(revision 1046)
+++ 	(revision )
@@ -1,213 +1,0 @@
-/*
- * ntdd8042.h
- *
- * i8042 IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDD8042_H
-#define __NTDD8042_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddkbd.h"
-#include "ntddmou.h"
-
-#define IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_KEYBOARD \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_MOUSE \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define I8042_POWER_SYS_BUTTON            0x0001
-#define I8042_SLEEP_SYS_BUTTON            0x0002
-#define I8042_WAKE_SYS_BUTTON             0x0004
-#define I8042_SYS_BUTTONS                 (I8042_POWER_SYS_BUTTON | \
-                                           I8042_SLEEP_SYS_BUTTON | \
-                                           I8042_WAKE_SYS_BUTTON)
-
-typedef enum _TRANSMIT_STATE {
-  Idle = 0,
-  SendingBytes
-} TRANSMIT_STATE;
-
-typedef struct _OUTPUT_PACKET {
-  PUCHAR  Bytes;
-  ULONG  CurrentByte;
-  ULONG  ByteCount;
-  TRANSMIT_STATE  State;
-} OUTPUT_PACKET, *POUTPUT_PACKET;
-
-typedef enum _KEYBOARD_SCAN_STATE {
-  Normal,
-  GotE0,
-  GotE1
-} KEYBOARD_SCAN_STATE, *PKEYBOARD_SCAN_STATE;
-
-typedef enum _MOUSE_STATE {
-  MouseIdle,
-  XMovement,
-  YMovement,
-  ZMovement,
-  MouseExpectingACK,
-  MouseResetting
-} MOUSE_STATE, *PMOUSE_STATE;
-
-typedef enum _MOUSE_RESET_SUBSTATE {
-	ExpectingReset,
-	ExpectingResetId,
-	ExpectingGetDeviceIdACK,
-	ExpectingGetDeviceIdValue,
-	ExpectingSetResolutionDefaultACK,
-	ExpectingSetResolutionDefaultValueACK,
-	ExpectingSetResolutionACK,
-	ExpectingSetResolutionValueACK,
-	ExpectingSetScaling1to1ACK,
-	ExpectingSetScaling1to1ACK2,
-	ExpectingSetScaling1to1ACK3,
-	ExpectingReadMouseStatusACK,
-	ExpectingReadMouseStatusByte1,
-	ExpectingReadMouseStatusByte2,
-	ExpectingReadMouseStatusByte3,
-	StartPnPIdDetection,
-	ExpectingLoopSetSamplingRateACK,
-	ExpectingLoopSetSamplingRateValueACK,
-	ExpectingPnpIdByte1,
-	ExpectingPnpIdByte2,
-	ExpectingPnpIdByte3,
-	ExpectingPnpIdByte4,
-	ExpectingPnpIdByte5,
-	ExpectingPnpIdByte6,
-	ExpectingPnpIdByte7,
-	EnableWheel,
-	Enable5Buttons,
-	ExpectingGetDeviceId2ACK,
-	ExpectingGetDeviceId2Value,
-	ExpectingSetSamplingRateACK,
-	ExpectingSetSamplingRateValueACK,
-	ExpectingEnableACK,
-	ExpectingFinalResolutionACK,
-	ExpectingFinalResolutionValueACK,
-	ExpectingGetDeviceIdDetectACK,
-	ExpectingGetDeviceIdDetectValue,
-	CustomHookStateMinimum = 100,
-	CustomHookStateMaximum = 999,
-	I8042ReservedMinimum = 1000
-} MOUSE_RESET_SUBSTATE, *PMOUSE_RESET_SUBSTATE;
-
-typedef struct _INTERNAL_I8042_START_INFORMATION {
-  ULONG  Size;
-  PKINTERRUPT  InterruptObject;
-  ULONG  Reserved[8];
-} INTERNAL_I8042_START_INFORMATION, *PINTERNAL_I8042_START_INFORMATION;
-
-typedef VOID DDKAPI
-(*PI8042_ISR_WRITE_PORT)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ UCHAR  Value);
-
-typedef VOID DDKAPI
-(*PI8042_QUEUE_PACKET)(
-  /*IN*/ PVOID  Context);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_READ_PORT) (
-  /*IN*/ PVOID  Context,
-  /*OUT*/ PUCHAR  Value,
-  /*IN*/ BOOLEAN  WaitForACK);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_WRITE_PORT)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ UCHAR  Value,
-  /*IN*/ BOOLEAN  WaitForACK);
-
-
-typedef NTSTATUS DDKAPI
-(*PI8042_KEYBOARD_INITIALIZATION_ROUTINE)(
-  /*IN*/ PVOID  InitializationContext,
-  /*IN*/ PVOID  SynchFuncContext,
-  /*IN*/ PI8042_SYNCH_READ_PORT  ReadPort,
-  /*IN*/ PI8042_SYNCH_WRITE_PORT  WritePort,
-  /*OUT*/ PBOOLEAN  TurnTranslationOn);
-
-typedef BOOLEAN DDKAPI
-(*PI8042_KEYBOARD_ISR)(
-  PVOID  IsrContext,
-  PKEYBOARD_INPUT_DATA  CurrentInput,
-  POUTPUT_PACKET  CurrentOutput,
-  UCHAR  StatusByte,
-  PUCHAR  Byte,
-  PBOOLEAN  ContinueProcessing,
-  PKEYBOARD_SCAN_STATE  ScanState);
-
-typedef struct _INTERNAL_I8042_HOOK_KEYBOARD {
-  /*OUT*/ PVOID  Context;
-  /*OUT*/ PI8042_KEYBOARD_INITIALIZATION_ROUTINE  InitializationRoutine;
-  /*OUT*/ PI8042_KEYBOARD_ISR  IsrRoutine;
-  /*IN*/ PI8042_ISR_WRITE_PORT  IsrWritePort;
-  /*IN*/ PI8042_QUEUE_PACKET  QueueKeyboardPacket;
-  /*IN*/ PVOID  CallContext;
-} INTERNAL_I8042_HOOK_KEYBOARD, *PINTERNAL_I8042_HOOK_KEYBOARD;
-
-typedef BOOLEAN DDKAPI
-(*PI8042_MOUSE_ISR)(
-  PVOID  IsrContext,
-  PMOUSE_INPUT_DATA  CurrentInput,
-  POUTPUT_PACKET  CurrentOutput,
-  UCHAR  StatusByte,
-  PUCHAR  Byte,
-  PBOOLEAN  ContinueProcessing,
-  PMOUSE_STATE  MouseState,
-  PMOUSE_RESET_SUBSTATE  ResetSubState);
-
-typedef struct _INTERNAL_I8042_HOOK_MOUSE {
-  /*OUT*/ PVOID  Context;
-  /*OUT*/ PI8042_MOUSE_ISR  IsrRoutine;
-  /*IN*/ PI8042_ISR_WRITE_PORT  IsrWritePort;
-  /*IN*/ PI8042_QUEUE_PACKET  QueueMousePacket;
-  /*IN*/ PVOID  CallContext;
-} INTERNAL_I8042_HOOK_MOUSE, *PINTERNAL_I8042_HOOK_MOUSE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDD8042_H */
Index: Daodan/MinGW/include/ddk/ntddbeep.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddbeep.h	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/*
- * ntddbeep.h
- *
- * Beep device IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDBEEP_H
-#define __NTDDBEEP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_BEEP_DEVICE_NAME               "\\Device\\Beep"
-#define DD_BEEP_DEVICE_NAME_U             L"\\Device\\Beep"
-
-#define IOCTL_BEEP_SET \
-  CTL_CODE(FILE_DEVICE_BEEP, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _BEEP_SET_PARAMETERS {
-	ULONG  Frequency;
-	ULONG  Duration;
-} BEEP_SET_PARAMETERS, *PBEEP_SET_PARAMETERS;
-
-#define BEEP_FREQUENCY_MINIMUM            0x25
-#define BEEP_FREQUENCY_MAXIMUM            0x7FFF
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDBEEP_H */
Index: Daodan/MinGW/include/ddk/ntddcdrm.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddcdrm.h	(revision 1046)
+++ 	(revision )
@@ -1,347 +1,0 @@
-/*
- * ntddcdrm.h
- *
- * CDROM IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCDRM_H
-#define __NTDDCDRM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_CDROM_BASE                  FILE_DEVICE_CD_ROM
-
-#define IOCTL_CDROM_CHECK_VERIFY \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_FIND_NEW_DEVICES \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_CONTROL \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x000D, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_DRIVE_GEOMETRY \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_LAST_SESSION \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_VOLUME \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PAUSE_AUDIO \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PLAY_AUDIO_MSF \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RAW_READ \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT,  FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_Q_CHANNEL \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC_EX \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RESUME_AUDIO \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SEEK_AUDIO_MSF \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SET_VOLUME \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SIMBAD \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x1003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_STOP_AUDIO \
-  CTL_CODE(IOCTL_CDROM_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAXIMUM_NUMBER_TRACKS             100
-#define MAXIMUM_CDROM_SIZE                804
-#define MINIMUM_CDROM_READ_TOC_EX_SIZE    2
-
-typedef struct _TRACK_DATA {
-  UCHAR  Reserved;
-  UCHAR  Control : 4;
-  UCHAR  Adr : 4;
-  UCHAR  TrackNumber;
-  UCHAR  Reserved1;
-  UCHAR  Address[4];
-} TRACK_DATA, *PTRACK_DATA;
-
-/* CDROM_DISK_DATA.DiskData flags */
-#define CDROM_DISK_AUDIO_TRACK            0x00000001
-#define CDROM_DISK_DATA_TRACK             0x00000002
-
-typedef struct _CDROM_DISK_DATA {
-  ULONG  DiskData;
-} CDROM_DISK_DATA, *PCDROM_DISK_DATA;
-
-typedef struct _CDROM_PLAY_AUDIO_MSF {
-  UCHAR  StartingM;
-  UCHAR  StartingS;
-  UCHAR  StartingF;
-  UCHAR  EndingM;
-  UCHAR  EndingS;
-  UCHAR  EndingF;
-} CDROM_PLAY_AUDIO_MSF, *PCDROM_PLAY_AUDIO_MSF;
-
-/* CDROM_READ_TOC_EX.Format constants */
-#define CDROM_READ_TOC_EX_FORMAT_TOC      0x00
-#define CDROM_READ_TOC_EX_FORMAT_SESSION  0x01
-#define CDROM_READ_TOC_EX_FORMAT_FULL_TOC 0x02
-#define CDROM_READ_TOC_EX_FORMAT_PMA      0x03
-#define CDROM_READ_TOC_EX_FORMAT_ATIP     0x04
-#define CDROM_READ_TOC_EX_FORMAT_CDTEXT   0x05
-
-typedef struct _CDROM_READ_TOC_EX {
-  UCHAR  Format : 4;
-  UCHAR  Reserved1 : 3;
-  UCHAR  Msf : 1;
-  UCHAR  SessionTrack;
-  UCHAR  Reserved2;
-  UCHAR  Reserved3;
-} CDROM_READ_TOC_EX, *PCDROM_READ_TOC_EX;
-
-typedef struct _CDROM_SEEK_AUDIO_MSF {
-  UCHAR  M;
-  UCHAR  S;
-  UCHAR  F;
-} CDROM_SEEK_AUDIO_MSF, *PCDROM_SEEK_AUDIO_MSF;
-
-/* CDROM_SUB_Q_DATA_FORMAT.Format constants */
-#define IOCTL_CDROM_SUB_Q_CHANNEL         0x00
-#define IOCTL_CDROM_CURRENT_POSITION      0x01
-#define IOCTL_CDROM_MEDIA_CATALOG         0x02
-#define IOCTL_CDROM_TRACK_ISRC            0x03
-
-typedef struct _CDROM_SUB_Q_DATA_FORMAT {
-  UCHAR Format;
-  UCHAR Track;
-} CDROM_SUB_Q_DATA_FORMAT, *PCDROM_SUB_Q_DATA_FORMAT;
-
-typedef struct _CDROM_TOC {
-  UCHAR  Length[2];
-  UCHAR  FirstTrack;
-  UCHAR  LastTrack;
-  TRACK_DATA  TrackData[MAXIMUM_NUMBER_TRACKS];
-} CDROM_TOC, *PCDROM_TOC;
-
-#define CDROM_TOC_SIZE sizeof(CDROM_TOC)
-
-typedef struct _CDROM_TOC_ATIP_DATA_BLOCK {
-  UCHAR  CdrwReferenceSpeed : 3;
-  UCHAR  Reserved3 : 1;
-  UCHAR  WritePower : 3;
-  UCHAR  True1 : 1;
-  UCHAR  Reserved4 : 6;
-  UCHAR  UnrestrictedUse : 1;
-  UCHAR  Reserved5 : 1;
-  UCHAR  A3Valid : 1;
-  UCHAR  A2Valid : 1;
-  UCHAR  A1Valid : 1;
-  UCHAR  Reserved6 : 3;
-  UCHAR  IsCdrw : 1;
-  UCHAR  True2 : 1;
-  UCHAR  Reserved7;
-  UCHAR  LeadInMsf[3];
-  UCHAR  Reserved8;
-  UCHAR  LeadOutMsf[3];
-  UCHAR  Reserved9;
-  UCHAR  A1Values[3];
-  UCHAR  Reserved10;
-  UCHAR  A2Values[3];
-  UCHAR  Reserved11;
-  UCHAR  A3Values[3];
-  UCHAR  Reserved12;
-} CDROM_TOC_ATIP_DATA_BLOCK, *PCDROM_TOC_ATIP_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_ATIP_DATA {
-  UCHAR  Length[2];
-  UCHAR  Reserved1;
-  UCHAR  Reserved2;
-  CDROM_TOC_ATIP_DATA_BLOCK  Descriptors[0];
-} CDROM_TOC_ATIP_DATA, *PCDROM_TOC_ATIP_DATA;
-
-/* CDROM_TOC_CD_TEXT_DATA_BLOCK.PackType constants */
-#define CDROM_CD_TEXT_PACK_ALBUM_NAME 0x80
-#define CDROM_CD_TEXT_PACK_PERFORMER  0x81
-#define CDROM_CD_TEXT_PACK_SONGWRITER 0x82
-#define CDROM_CD_TEXT_PACK_COMPOSER   0x83
-#define CDROM_CD_TEXT_PACK_ARRANGER   0x84
-#define CDROM_CD_TEXT_PACK_MESSAGES   0x85
-#define CDROM_CD_TEXT_PACK_DISC_ID    0x86
-#define CDROM_CD_TEXT_PACK_GENRE      0x87
-#define CDROM_CD_TEXT_PACK_TOC_INFO   0x88
-#define CDROM_CD_TEXT_PACK_TOC_INFO2  0x89
-#define CDROM_CD_TEXT_PACK_UPC_EAN    0x8e
-#define CDROM_CD_TEXT_PACK_SIZE_INFO  0x8f
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA_BLOCK {
-  UCHAR  PackType;
-  UCHAR  TrackNumber : 7;
-  UCHAR  ExtensionFlag : 1;
-  UCHAR  SequenceNumber;
-  UCHAR  CharacterPosition : 4;
-  UCHAR  BlockNumber : 3;
-  UCHAR  Unicode : 1;
-  _ANONYMOUS_UNION union {
-    UCHAR  Text[12];
-    WCHAR  WText[6];
-  } DUMMYUNIONNAME;
-  UCHAR  CRC[2];
-} CDROM_TOC_CD_TEXT_DATA_BLOCK, *PCDROM_TOC_CD_TEXT_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA {
-  UCHAR  Length[2];
-  UCHAR  Reserved1;
-  UCHAR  Reserved2;
-  CDROM_TOC_CD_TEXT_DATA_BLOCK  Descriptors[0];
-} CDROM_TOC_CD_TEXT_DATA, *PCDROM_TOC_CD_TEXT_DATA;
-
-/* CDROM_TOC_FULL_TOC_DATA_BLOCK.Adr constants */
-#define ADR_NO_MODE_INFORMATION           0x0
-#define ADR_ENCODES_CURRENT_POSITION      0x1
-#define ADR_ENCODES_MEDIA_CATALOG         0x2
-#define ADR_ENCODES_ISRC                  0x3
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA_BLOCK {
-  UCHAR  SessionNumber;
-  UCHAR  Control : 4;
-  UCHAR  Adr : 4;
-  UCHAR  Reserved1;
-  UCHAR  Point;
-  UCHAR  MsfExtra[3];
-  UCHAR  Zero;
-  UCHAR  Msf[3];
-} CDROM_TOC_FULL_TOC_DATA_BLOCK, *PCDROM_TOC_FULL_TOC_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA {
-  UCHAR  Length[2];
-  UCHAR  FirstCompleteSession;
-  UCHAR  LastCompleteSession;
-  CDROM_TOC_FULL_TOC_DATA_BLOCK  Descriptors[0];
-} CDROM_TOC_FULL_TOC_DATA, *PCDROM_TOC_FULL_TOC_DATA;
-
-typedef struct _CDROM_TOC_PMA_DATA {
-  UCHAR  Length[2];
-  UCHAR  Reserved1;
-  UCHAR  Reserved2;
-  CDROM_TOC_FULL_TOC_DATA_BLOCK  Descriptors[0];
-} CDROM_TOC_PMA_DATA, *PCDROM_TOC_PMA_DATA;
-
-/* SUB_Q_HEADER.AudioStatus constants */
-#define AUDIO_STATUS_NOT_SUPPORTED  0x00
-#define AUDIO_STATUS_IN_PROGRESS    0x11
-#define AUDIO_STATUS_PAUSED         0x12
-#define AUDIO_STATUS_PLAY_COMPLETE  0x13
-#define AUDIO_STATUS_PLAY_ERROR     0x14
-#define AUDIO_STATUS_NO_STATUS      0x15
-
-typedef struct _SUB_Q_HEADER {
-  UCHAR  Reserved;
-  UCHAR  AudioStatus;
-  UCHAR  DataLength[2];
-} SUB_Q_HEADER, *PSUB_Q_HEADER;
-
-typedef struct _SUB_Q_MEDIA_CATALOG_NUMBER {
-  SUB_Q_HEADER  Header;
-  UCHAR  FormatCode;
-  UCHAR  Reserved[3];
-  UCHAR  Reserved1 : 7;
-  UCHAR  Mcval :1;
-  UCHAR  MediaCatalog[15];
-} SUB_Q_MEDIA_CATALOG_NUMBER, *PSUB_Q_MEDIA_CATALOG_NUMBER;
-
-typedef struct _SUB_Q_TRACK_ISRC {
-  SUB_Q_HEADER  Header;
-  UCHAR  FormatCode;
-  UCHAR  Reserved0;
-  UCHAR  Track;
-  UCHAR  Reserved1;
-  UCHAR  Reserved2 : 7;
-  UCHAR  Tcval : 1;
-  UCHAR  TrackIsrc[15];
-} SUB_Q_TRACK_ISRC, *PSUB_Q_TRACK_ISRC;
-
-typedef struct _SUB_Q_CURRENT_POSITION {
-  SUB_Q_HEADER  Header;
-  UCHAR  FormatCode;
-  UCHAR  Control : 4;
-  UCHAR  ADR : 4;
-  UCHAR  TrackNumber;
-  UCHAR  IndexNumber;
-  UCHAR  AbsoluteAddress[4];
-  UCHAR  TrackRelativeAddress[4];
-} SUB_Q_CURRENT_POSITION, *PSUB_Q_CURRENT_POSITION;
-
-typedef union _SUB_Q_CHANNEL_DATA {
-  SUB_Q_CURRENT_POSITION  CurrentPosition;
-  SUB_Q_MEDIA_CATALOG_NUMBER  MediaCatalog;
-  SUB_Q_TRACK_ISRC  TrackIsrc;
-} SUB_Q_CHANNEL_DATA, *PSUB_Q_CHANNEL_DATA;
-
-/* CDROM_AUDIO_CONTROL.LbaFormat constants */
-#define AUDIO_WITH_PREEMPHASIS            0x1
-#define DIGITAL_COPY_PERMITTED            0x2
-#define AUDIO_DATA_TRACK                  0x4
-#define TWO_FOUR_CHANNEL_AUDIO            0x8
-
-typedef struct _CDROM_AUDIO_CONTROL {
-	UCHAR  LbaFormat;
-	USHORT  LogicalBlocksPerSecond;
-} CDROM_AUDIO_CONTROL, *PCDROM_AUDIO_CONTROL;
-
-typedef struct _VOLUME_CONTROL {
-  UCHAR  PortVolume[4];
-} VOLUME_CONTROL, *PVOLUME_CONTROL;
-
-typedef enum _TRACK_MODE_TYPE {
-	YellowMode2,
-	XAForm2,
-	CDDA
-} TRACK_MODE_TYPE, *PTRACK_MODE_TYPE;
-
-typedef struct __RAW_READ_INFO {
-	LARGE_INTEGER  DiskOffset;
-	ULONG  SectorCount;
-	TRACK_MODE_TYPE  TrackMode;
-} RAW_READ_INFO, *PRAW_READ_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDRM_H */
Index: Daodan/MinGW/include/ddk/ntddcdvd.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddcdvd.h	(revision 1046)
+++ 	(revision )
@@ -1,213 +1,0 @@
-/*
- * ntddcdvd.h
- *
- * DVD IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCDVD_H
-#define __NTDDCDVD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_DVD_BASE                    FILE_DEVICE_DVD
-
-#define IOCTL_DVD_END_SESSION \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_GET_REGION \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_KEY \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_STRUCTURE \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SEND_KEY \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_START_SESSION \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SET_READ_AHEAD \
-  CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef ULONG DVD_SESSION_ID, *PDVD_SESSION_ID;
-
-typedef struct _STORAGE_SET_READ_AHEAD {
-	LARGE_INTEGER  TriggerAddress;
-	LARGE_INTEGER  TargetAddress;
-} STORAGE_SET_READ_AHEAD, *PSTORAGE_SET_READ_AHEAD;
-
-typedef enum DVD_STRUCTURE_FORMAT {
-  DvdPhysicalDescriptor,
-  DvdCopyrightDescriptor,
-  DvdDiskKeyDescriptor,
-  DvdBCADescriptor,
-  DvdManufacturerDescriptor,
-  DvdMaxDescriptor
-} DVD_STRUCTURE_FORMAT, *PDVD_STRUCTURE_FORMAT;
-
-#include <pshpack1.h>
-typedef struct DVD_READ_STRUCTURE {
-  LARGE_INTEGER  BlockByteOffset;
-  DVD_STRUCTURE_FORMAT  Format;
-  DVD_SESSION_ID  SessionId;
-  UCHAR  LayerNumber;
-} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
-#include <poppack.h>
-
-typedef struct _DVD_DESCRIPTOR_HEADER {
-    USHORT Length;
-    UCHAR Reserved[2];
-    UCHAR Data[0];
-} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
-
-#include <pshpack1.h>
-typedef struct _DVD_LAYER_DESCRIPTOR {
-  UCHAR  BookVersion : 4;
-  UCHAR  BookType : 4;
-  UCHAR  MinimumRate : 4;
-  UCHAR  DiskSize : 4;
-  UCHAR  LayerType : 4;
-  UCHAR  TrackPath : 1;
-  UCHAR  NumberOfLayers : 2;
-  UCHAR  Reserved1 : 1;
-  UCHAR  TrackDensity : 4;
-  UCHAR  LinearDensity : 4;
-  ULONG  StartingDataSector;
-  ULONG  EndDataSector;
-  ULONG  EndLayerZeroSector;
-  UCHAR  Reserved5 : 7;
-  UCHAR  BCAFlag : 1;
-  UCHAR  Reserved6;
-} DVD_LAYER_DESCRIPTOR, *PDVD_LAYER_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _DVD_COPYRIGHT_DESCRIPTOR {
-  UCHAR  CopyrightProtectionType;
-  UCHAR  RegionManagementInformation;
-  USHORT  Reserved;
-} DVD_COPYRIGHT_DESCRIPTOR, *PDVD_COPYRIGHT_DESCRIPTOR;
-
-typedef struct _DVD_DISK_KEY_DESCRIPTOR {
-  UCHAR  DiskKeyData[2048];
-} DVD_DISK_KEY_DESCRIPTOR, *PDVD_DISK_KEY_DESCRIPTOR;
-
-typedef enum _DVD_KEY_TYPE {
-	DvdChallengeKey = 0x01,
-	DvdBusKey1,
-	DvdBusKey2,
-	DvdTitleKey,
-	DvdAsf,
-	DvdSetRpcKey = 0x6,
-	DvdGetRpcKey = 0x8,
-	DvdDiskKey = 0x80,
-	DvdInvalidateAGID = 0x3f
-} DVD_KEY_TYPE;
-
-typedef struct _DVD_COPY_PROTECT_KEY {
-	ULONG  KeyLength;
-	DVD_SESSION_ID  SessionId;
-	DVD_KEY_TYPE  KeyType;
-	ULONG  KeyFlags;
-	union {
-		HANDLE  FileHandle;
-		LARGE_INTEGER  TitleOffset;
-	} Parameters;
-	UCHAR  KeyData[0];
-} DVD_COPY_PROTECT_KEY, *PDVD_COPY_PROTECT_KEY;
-
-#define DVD_CHALLENGE_KEY_LENGTH          (12 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_BUS_KEY_LENGTH                (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_TITLE_KEY_LENGTH              (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_DISK_KEY_LENGTH               (2048 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_RPC_KEY_LENGTH                (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_SET_RPC_KEY_LENGTH            (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_ASF_LENGTH                    (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY))
-
-#define DVD_END_ALL_SESSIONS              ((DVD_SESSION_ID) 0xffffffff)
-
-
-#define DVD_CGMS_RESERVED_MASK            0x00000078
-
-#define DVD_CGMS_COPY_PROTECT_MASK        0x00000018
-#define DVD_CGMS_COPY_PERMITTED           0x00000000
-#define DVD_CGMS_COPY_ONCE                0x00000010
-#define DVD_CGMS_NO_COPY                  0x00000018
-
-#define DVD_COPYRIGHT_MASK                0x00000040
-#define DVD_NOT_COPYRIGHTED               0x00000000
-#define DVD_COPYRIGHTED                   0x00000040
-
-#define DVD_SECTOR_PROTECT_MASK           0x00000020
-#define DVD_SECTOR_NOT_PROTECTED          0x00000000
-#define DVD_SECTOR_PROTECTED              0x00000020
-
-
-typedef struct _DVD_BCA_DESCRIPTOR {
-  UCHAR  BCAInformation[0];
-} DVD_BCA_DESCRIPTOR, *PDVD_BCA_DESCRIPTOR;
-
-typedef struct _DVD_MANUFACTURER_DESCRIPTOR {
-  UCHAR  ManufacturingInformation[2048];
-} DVD_MANUFACTURER_DESCRIPTOR, *PDVD_MANUFACTURER_DESCRIPTOR;
-
-typedef struct _DVD_RPC_KEY {
-  UCHAR  UserResetsAvailable : 3;
-  UCHAR  ManufacturerResetsAvailable : 3;
-  UCHAR  TypeCode : 2;
-  UCHAR  RegionMask;
-  UCHAR  RpcScheme;
-  UCHAR  Reserved2[1];
-} DVD_RPC_KEY, *PDVD_RPC_KEY;
-
-typedef struct _DVD_SET_RPC_KEY {
-  UCHAR  PreferredDriveRegionCode;
-  UCHAR  Reserved[3];
-} DVD_SET_RPC_KEY, *PDVD_SET_RPC_KEY;
-
-typedef struct _DVD_ASF {
-  UCHAR  Reserved0[3];
-  UCHAR  SuccessFlag : 1;
-  UCHAR  Reserved1 : 7;
-} DVD_ASF, *PDVD_ASF;
-
-typedef struct _DVD_REGION {
-	UCHAR  CopySystem;
-	UCHAR  RegionData;
-	UCHAR  SystemRegion;
-	UCHAR  ResetCount;
-} DVD_REGION, *PDVD_REGION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDVD_H */
Index: Daodan/MinGW/include/ddk/ntddchgr.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddchgr.h	(revision 1046)
+++ 	(revision )
@@ -1,353 +1,0 @@
-/*
- * ntddchgr.h
- *
- * Media changer IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCHGR_H
-#define __NTDDCHGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_CHANGER_DEVICE_NAME            "\\Device\\Changer"
-#define DD_CHANGER_DEVICE_NAME_U          L"\\Device\\Changer"
-
-#define IOCTL_CHANGER_BASE                FILE_DEVICE_CHANGER
-
-#define IOCTL_CHANGER_EXCHANGE_MEDIUM  \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_ELEMENT_STATUS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_GET_PARAMETERS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_PRODUCT_DATA \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_STATUS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_MOVE_MEDIUM \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_QUERY_VOLUME_TAGS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_SET_ACCESS \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_SET_POSITION \
-  CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAX_VOLUME_ID_SIZE                36
-#define MAX_VOLUME_TEMPLATE_SIZE          40
-
-typedef  enum _ELEMENT_TYPE {
-  AllElements,
-  ChangerTransport,
-  ChangerSlot,
-  ChangerIEPort,
-  ChangerDrive,
-  ChangerDoor,
-  ChangerKeypad,
-  ChangerMaxElement
-} ELEMENT_TYPE, *PELEMENT_TYPE;
-
-typedef struct _CHANGER_ELEMENT {
-  ELEMENT_TYPE  ElementType;
-  ULONG  ElementAddress;
-} CHANGER_ELEMENT, *PCHANGER_ELEMENT;
-
-typedef struct _CHANGER_ELEMENT_LIST {
-  CHANGER_ELEMENT  Element;
-  ULONG  NumberOfElements;
-} CHANGER_ELEMENT_LIST, *PCHANGER_ELEMENT_LIST;
-
-typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS {
-  CHANGER_ELEMENT_LIST  ElementList;
-  BOOLEAN  BarCodeScan;
-} CHANGER_INITIALIZE_ELEMENT_STATUS, *PCHANGER_INITIALIZE_ELEMENT_STATUS;
-
-typedef struct _CHANGER_READ_ELEMENT_STATUS {
-  CHANGER_ELEMENT_LIST  ElementList;
-  BOOLEAN  VolumeTagInfo;
-} CHANGER_READ_ELEMENT_STATUS, *PCHANGER_READ_ELEMENT_STATUS;
-
-
-typedef struct _CHANGER_SET_POSITION {
-	CHANGER_ELEMENT  Transport;
-	CHANGER_ELEMENT  Destination;
-	BOOLEAN  Flip;
-} CHANGER_SET_POSITION, *PCHANGER_SET_POSITION;
-
-typedef struct _CHANGER_EXCHANGE_MEDIUM {
-	CHANGER_ELEMENT  Transport;
-	CHANGER_ELEMENT  Source;
-	CHANGER_ELEMENT  Destination1;
-	CHANGER_ELEMENT  Destination2;
-	BOOLEAN  Flip1;
-	BOOLEAN  Flip2;
-} CHANGER_EXCHANGE_MEDIUM, *PCHANGER_EXCHANGE_MEDIUM;
-
-typedef struct _CHANGER_MOVE_MEDIUM {
-  CHANGER_ELEMENT  Transport;
-  CHANGER_ELEMENT  Source;
-  CHANGER_ELEMENT  Destination;
-  BOOLEAN  Flip;
-} CHANGER_MOVE_MEDIUM, *PCHANGER_MOVE_MEDIUM;
-
-#define VENDOR_ID_LENGTH                  8
-#define PRODUCT_ID_LENGTH                 16
-#define REVISION_LENGTH                   4
-#define SERIAL_NUMBER_LENGTH              32
-
-typedef  struct _CHANGER_PRODUCT_DATA {
-	UCHAR  VendorId[VENDOR_ID_LENGTH];
-	UCHAR  ProductId[PRODUCT_ID_LENGTH];
-	UCHAR  Revision[REVISION_LENGTH];
-	UCHAR  SerialNumber[SERIAL_NUMBER_LENGTH];
-	UCHAR  DeviceType;
-} CHANGER_PRODUCT_DATA, *PCHANGER_PRODUCT_DATA;
-
-/* CHANGER_SET_ACCESS.Control constants */
-#define LOCK_ELEMENT                      0
-#define UNLOCK_ELEMENT                    1
-#define EXTEND_IEPORT                     2
-#define RETRACT_IEPORT                    3
-
-typedef struct _CHANGER_SET_ACCESS {
-  CHANGER_ELEMENT  Element;
-  ULONG  Control;
-} CHANGER_SET_ACCESS, *PCHANGER_SET_ACCESS;
-
-
-typedef enum _CHANGER_DEVICE_PROBLEM_TYPE {
-  DeviceProblemNone,
-  DeviceProblemHardware,
-  DeviceProblemCHMError,
-  DeviceProblemDoorOpen,
-  DeviceProblemCalibrationError,
-  DeviceProblemTargetFailure,
-  DeviceProblemCHMMoveError,
-  DeviceProblemCHMZeroError,
-  DeviceProblemCartridgeInsertError,
-  DeviceProblemPositionError,
-  DeviceProblemSensorError,
-  DeviceProblemCartridgeEjectError,
-  DeviceProblemGripperError,
-  DeviceProblemDriveError
-} CHANGER_DEVICE_PROBLEM_TYPE, *PCHANGER_DEVICE_PROBLEM_TYPE;
-
-/* CHANGER_ELEMENT_STATUS(_EX).Flags constants */
-#define ELEMENT_STATUS_FULL               0x00000001
-#define ELEMENT_STATUS_IMPEXP             0x00000002
-#define ELEMENT_STATUS_EXCEPT             0x00000004
-#define ELEMENT_STATUS_ACCESS             0x00000008
-#define ELEMENT_STATUS_EXENAB             0x00000010
-#define ELEMENT_STATUS_INENAB             0x00000020
-#define ELEMENT_STATUS_PRODUCT_DATA       0x00000040
-#define ELEMENT_STATUS_LUN_VALID          0x00001000
-#define ELEMENT_STATUS_ID_VALID           0x00002000
-#define ELEMENT_STATUS_NOT_BUS            0x00008000
-#define ELEMENT_STATUS_INVERT             0x00400000
-#define ELEMENT_STATUS_SVALID             0x00800000
-#define ELEMENT_STATUS_PVOLTAG            0x10000000
-#define ELEMENT_STATUS_AVOLTAG            0x20000000
-
-/* CHANGER_ELEMENT_STATUS(_EX).ExceptionCode constants */
-#define ERROR_LABEL_UNREADABLE            0x00000001
-#define ERROR_LABEL_QUESTIONABLE          0x00000002
-#define ERROR_SLOT_NOT_PRESENT            0x00000004
-#define ERROR_DRIVE_NOT_INSTALLED         0x00000008
-#define ERROR_TRAY_MALFUNCTION            0x00000010
-#define ERROR_INIT_STATUS_NEEDED          0x00000011
-#define ERROR_UNHANDLED_ERROR             0xFFFFFFFF
-
-typedef struct _CHANGER_ELEMENT_STATUS {
-  CHANGER_ELEMENT  Element;
-  CHANGER_ELEMENT  SrcElementAddress;
-  ULONG  Flags;
-  ULONG  ExceptionCode;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  USHORT  Reserved;
-  UCHAR  PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
-  UCHAR  AlternateVolumeID[MAX_VOLUME_ID_SIZE];
-} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;
-
-typedef  struct _CHANGER_ELEMENT_STATUS_EX {
-  CHANGER_ELEMENT  Element;
-  CHANGER_ELEMENT  SrcElementAddress;
-  ULONG  Flags;
-  ULONG  ExceptionCode;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  USHORT  Reserved;
-  UCHAR  PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
-  UCHAR  AlternateVolumeID[MAX_VOLUME_ID_SIZE];
-  UCHAR  VendorIdentification[VENDOR_ID_LENGTH];
-  UCHAR  ProductIdentification[PRODUCT_ID_LENGTH];
-  UCHAR  SerialNumber[SERIAL_NUMBER_LENGTH];
-} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;
-
-/* CHANGER_SEND_VOLUME_TAG_INFORMATION.ActionCode constants */
-#define SEARCH_ALL                        0x0
-#define SEARCH_PRIMARY                    0x1
-#define SEARCH_ALTERNATE                  0x2
-#define SEARCH_ALL_NO_SEQ                 0x4
-#define SEARCH_PRI_NO_SEQ                 0x5
-#define SEARCH_ALT_NO_SEQ                 0x6
-#define ASSERT_PRIMARY                    0x8
-#define ASSERT_ALTERNATE                  0x9
-#define REPLACE_PRIMARY                   0xA
-#define REPLACE_ALTERNATE                 0xB
-#define UNDEFINE_PRIMARY                  0xC
-#define UNDEFINE_ALTERNATE                0xD
-
-typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION {
-  CHANGER_ELEMENT StartingElement;
-  ULONG  ActionCode;
-  UCHAR  VolumeIDTemplate[MAX_VOLUME_TEMPLATE_SIZE];
-} CHANGER_SEND_VOLUME_TAG_INFORMATION, *PCHANGER_SEND_VOLUME_TAG_INFORMATION;
-
-/* GET_CHANGER_PARAMETERS.Features0 constants */
-#define CHANGER_BAR_CODE_SCANNER_INSTALLED  0x00000001
-#define CHANGER_INIT_ELEM_STAT_WITH_RANGE   0x00000002
-#define CHANGER_CLOSE_IEPORT                0x00000004
-#define CHANGER_OPEN_IEPORT                 0x00000008
-#define CHANGER_STATUS_NON_VOLATILE         0x00000010
-#define CHANGER_EXCHANGE_MEDIA              0x00000020
-#define CHANGER_CLEANER_SLOT                0x00000040
-#define CHANGER_LOCK_UNLOCK                 0x00000080
-#define CHANGER_CARTRIDGE_MAGAZINE          0x00000100
-#define CHANGER_MEDIUM_FLIP                 0x00000200
-#define CHANGER_POSITION_TO_ELEMENT         0x00000400
-#define CHANGER_REPORT_IEPORT_STATE         0x00000800
-#define CHANGER_STORAGE_DRIVE               0x00001000
-#define CHANGER_STORAGE_IEPORT              0x00002000
-#define CHANGER_STORAGE_SLOT                0x00004000
-#define CHANGER_STORAGE_TRANSPORT           0x00008000
-#define CHANGER_DRIVE_CLEANING_REQUIRED     0x00010000
-#define CHANGER_PREDISMOUNT_EJECT_REQUIRED  0x00020000
-#define CHANGER_CLEANER_ACCESS_NOT_VALID    0x00040000
-#define CHANGER_PREMOUNT_EJECT_REQUIRED     0x00080000
-#define CHANGER_VOLUME_IDENTIFICATION       0x00100000
-#define CHANGER_VOLUME_SEARCH               0x00200000
-#define CHANGER_VOLUME_ASSERT               0x00400000
-#define CHANGER_VOLUME_REPLACE              0x00800000
-#define CHANGER_VOLUME_UNDEFINE             0x01000000
-#define CHANGER_SERIAL_NUMBER_VALID         0x04000000
-#define CHANGER_DEVICE_REINITIALIZE_CAPABLE 0x08000000
-#define CHANGER_KEYPAD_ENABLE_DISABLE       0x10000000
-#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS  0x20000000
-#define CHANGER_RESERVED_BIT                0x80000000
-
-/* GET_CHANGER_PARAMETERS.Features1 constants */
-#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT   0x80000001
-#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE  0x80000002
-#define CHANGER_CLEANER_AUTODISMOUNT        0x80000004
-#define CHANGER_TRUE_EXCHANGE_CAPABLE       0x80000008
-#define CHANGER_SLOTS_USE_TRAYS             0x80000010
-#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR  0x80000020
-#define CHANGER_CLEANER_OPS_NOT_SUPPORTED   0x80000040
-#define CHANGER_IEPORT_USER_CONTROL_OPEN    0x80000080
-#define CHANGER_IEPORT_USER_CONTROL_CLOSE   0x80000100
-#define CHANGER_MOVE_EXTENDS_IEPORT         0x80000200
-#define CHANGER_MOVE_RETRACTS_IEPORT        0x80000400
-
-/* GET_CHANGER_PARAMETERS.MoveFrom,ExchangeFrom,PositionCapabilities constants */
-#define CHANGER_TO_TRANSPORT              0x01
-#define CHANGER_TO_SLOT                   0x02
-#define CHANGER_TO_IEPORT                 0x04
-#define CHANGER_TO_DRIVE                  0x08
-
-/* GET_CHANGER_PARAMETERS.LockUnlockCapabilities constants */
-#define LOCK_UNLOCK_IEPORT                0x01
-#define LOCK_UNLOCK_DOOR                  0x02
-#define LOCK_UNLOCK_KEYPAD                0x04
-
-typedef struct _GET_CHANGER_PARAMETERS {
-  ULONG  Size;
-  USHORT  NumberTransportElements;
-  USHORT  NumberStorageElements;
-  USHORT  NumberCleanerSlots;
-  USHORT  NumberIEElements;
-  USHORT  NumberDataTransferElements;
-  USHORT  NumberOfDoors;
-  USHORT  FirstSlotNumber;
-  USHORT  FirstDriveNumber;
-  USHORT  FirstTransportNumber;
-  USHORT  FirstIEPortNumber;
-  USHORT  FirstCleanerSlotAddress;
-  USHORT  MagazineSize;
-  ULONG  DriveCleanTimeout;
-  ULONG  Features0;
-  ULONG  Features1;
-  UCHAR  MoveFromTransport;
-  UCHAR  MoveFromSlot;
-  UCHAR  MoveFromIePort;
-  UCHAR  MoveFromDrive;
-  UCHAR  ExchangeFromTransport;
-  UCHAR  ExchangeFromSlot;
-  UCHAR  ExchangeFromIePort;
-  UCHAR  ExchangeFromDrive;
-  UCHAR  LockUnlockCapabilities;
-  UCHAR  PositionCapabilities;
-  UCHAR  Reserved1[2];
-  ULONG  Reserved2[2];
-} GET_CHANGER_PARAMETERS, * PGET_CHANGER_PARAMETERS;
-
-typedef struct READ_ELEMENT_ADDRESS_INFO {
-  ULONG  NumberOfElements;
-  CHANGER_ELEMENT_STATUS  ElementStatus[1];
-} READ_ELEMENT_ADDRESS_INFO, *PREAD_ELEMENT_ADDRESS_INFO;
-
-typedef struct _TAPE_WMI_OPERATIONS {
-  ULONG  Method;
-  ULONG  DataBufferSize;
-  PVOID  DataBuffer;
-} TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS;
-
-typedef struct _WMI_CHANGER_PROBLEM_DEVICE_ERROR {
-  ULONG  ChangerProblemType;
-} WMI_CHANGER_PROBLEM_DEVICE_ERROR, *PWMI_CHANGER_PROBLEM_DEVICE_ERROR;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCHGR_H */
Index: Daodan/MinGW/include/ddk/ntdddisk.h
===================================================================
--- Daodan/MinGW/include/ddk/ntdddisk.h	(revision 1046)
+++ 	(revision )
@@ -1,557 +1,0 @@
-/*
- * ddk/ntdddisk.h
- *
- * Driver Development Kit -- Disk IOCTL interface.
- *
- * Written by Casper S. Hornstrup  <chorns@users.sourceforge.net>
- * Copyright (C) 2002-2004, 2015, 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, 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.
- *
- */
-#ifndef _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"
-
-#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		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0000)
-#define IOCTL_DISK_GET_PARTITION_INFO		__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0001)
-#define IOCTL_DISK_SET_PARTITION_INFO		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0002)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT		__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0003)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0004)
-#define IOCTL_DISK_VERIFY			__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0005)
-#define IOCTL_DISK_FORMAT_TRACKS		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0006)
-#define IOCTL_DISK_REASSIGN_BLOCKS		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0007)
-#define IOCTL_DISK_PERFORMANCE			__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0008)
-#define IOCTL_DISK_IS_WRITABLE			__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0009)
-#define IOCTL_DISK_FORMAT_TRACKS_EX		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x000B)
-#define IOCTL_DISK_GET_PARTITION_INFO_EX	__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0012)
-#define IOCTL_DISK_SET_PARTITION_INFO_EX	__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0013)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0014)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0015)
-#define IOCTL_DISK_CREATE_DISK			__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0016)
-#define IOCTL_DISK_GET_LENGTH_INFO		__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0017)
-#define IOCTL_DISK_PERFORMANCE_OFF		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0018)
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX	__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0028)
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0032)
-#define IOCTL_DISK_GROW_PARTITION		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0034)
-#define IOCTL_DISK_GET_CACHE_INFORMATION	__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0035)
-#define IOCTL_DISK_SET_CACHE_INFORMATION	__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0036)
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0040)
-#define IOCTL_DISK_CHECK_VERIFY 		__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0200)
-#define IOCTL_DISK_RESERVE			__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0204)
-#define IOCTL_DISK_FIND_NEW_DEVICES		__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0206)
-#define IOCTL_DISK_GET_MEDIA_TYPES		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0300)
-
-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"
-#define DD_DISK_DEVICE_NAME_U			  L"\\Device\\UNKNOWN"
-
-#define IOCTL_DISK_CONTROLLER_NUMBER		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0011)
-#define IOCTL_DISK_INTERNAL_SET_VERIFY		__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0100)
-#define IOCTL_DISK_INTERNAL_CLEAR_VERIFY	__FILE_AM_BUFFERED(__IOCTL_DISK_,0x0101)
-
-#define SMART_GET_VERSION			__FILE_RD_BUFFERED(__IOCTL_DISK_,0x0020)
-#define SMART_RCV_DRIVE_DATA			__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0022)
-#define SMART_SEND_DRIVE_COMMAND		__FILE_RW_BUFFERED(__IOCTL_DISK_,0x0021)
-
-#define IsFTPartition( PartitionType ) \
- (((PartitionType) & PARTITION_NTFT) && IsRecognizedPartition(PartitionType))
-
-DEFINE_GUID( WMI_DISK_GEOMETRY_GUID,
-    0x25007f51L, 0x57c2, 0x11d1, 0xa5, 0x28, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10
-  );
-
-typedef USHORT BAD_TRACK_NUMBER;
-typedef USHORT *PBAD_TRACK_NUMBER;
-
-typedef
-struct _DISK_CONTROLLER_NUMBER
-{ ULONG 		ControllerNumber;
-  ULONG 		DiskNumber;
-} DISK_CONTROLLER_NUMBER, *PDISK_CONTROLLER_NUMBER;
-
-typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
-typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
-
-typedef
-struct _SET_PARTITION_INFORMATION_EX
-{ PARTITION_STYLE			PartitionStyle;
-  _ANONYMOUS_UNION union
-  { SET_PARTITION_INFORMATION_MBR	Mbr;
-    SET_PARTITION_INFORMATION_GPT	Gpt;
-  } DUMMYUNIONNAME;
-} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
-
-/* GETVERSIONINPARAMS.fCapabilities constants
- */
-#define CAP_ATA_ID_CMD                    1
-#define CAP_ATAPI_ID_CMD                  2
-#define CAP_SMART_CMD                     4
-
-typedef
-struct _GETVERSIONINPARAMS
-{ UCHAR 		bVersion;
-  UCHAR 		bRevision;
-  UCHAR 		bReserved;
-  UCHAR 		bIDEDeviceMap;
-  ULONG 		fCapabilities;
-  ULONG 		dwReserved[4];
-} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;
-
-/* IDEREGS.bCommandReg constants
- */
-#define ATAPI_ID_CMD                      0xA1
-#define ID_CMD                            0xEC
-#define SMART_CMD                         0xB0
-
-#define SMART_CYL_LOW                     0x4F
-#define SMART_CYL_HI                      0xC2
-
-typedef
-struct _IDEREGS
-{ UCHAR 		bFeaturesReg;
-  UCHAR 		bSectorCountReg;
-  UCHAR 		bSectorNumberReg;
-  UCHAR 		bCylLowReg;
-  UCHAR 		bCylHighReg;
-  UCHAR 		bDriveHeadReg;
-  UCHAR 		bCommandReg;
-  UCHAR 		bReserved;
-} IDEREGS, *PIDEREGS, *LPIDEREGS;
-
-#include <pshpack1.h>
-typedef
-struct _SENDCMDINPARAMS
-{ ULONG 		cBufferSize;
-  IDEREGS		irDriveRegs;
-  UCHAR 		bDriveNumber;
-  UCHAR 		bReserved[3];
-  ULONG 		dwReserved[4];
-  UCHAR 		bBuffer[1];
-} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
-#include <poppack.h>
-
-/* DRIVERSTATUS.bDriverError constants
- */
-#define SMART_NO_ERROR                    0
-#define SMART_IDE_ERROR                   1
-#define SMART_INVALID_FLAG                2
-#define SMART_INVALID_COMMAND             3
-#define SMART_INVALID_BUFFER              4
-#define SMART_INVALID_DRIVE               5
-#define SMART_INVALID_IOCTL               6
-#define SMART_ERROR_NO_MEM                7
-#define SMART_INVALID_REGISTER            8
-#define SMART_NOT_SUPPORTED               9
-#define SMART_NO_IDE_DEVICE               10
-
-#define SMART_OFFLINE_ROUTINE_OFFLINE     0
-#define SMART_SHORT_SELFTEST_OFFLINE      1
-#define SMART_EXTENDED_SELFTEST_OFFLINE   2
-#define SMART_ABORT_OFFLINE_SELFTEST      127
-#define SMART_SHORT_SELFTEST_CAPTIVE      129
-#define SMART_EXTENDED_SELFTEST_CAPTIVE   130
-
-typedef
-struct _DRIVERSTATUS
-{ UCHAR 		bDriverError;
-  UCHAR 		bIDEError;
-  UCHAR 		bReserved[2];
-  ULONG 		dwReserved[2];
-} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;
-
-#define READ_ATTRIBUTE_BUFFER_SIZE        512
-#define IDENTIFY_BUFFER_SIZE              512
-#define READ_THRESHOLD_BUFFER_SIZE        512
-#define SMART_LOG_SECTOR_SIZE             512
-
-#include <pshpack1.h>
-typedef
-struct _SENDCMDOUTPARAMS
-{ ULONG 		cBufferSize;
-  DRIVERSTATUS		DriverStatus;
-  UCHAR 		bBuffer[1];
-} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
-#include <poppack.h>
-
-#define READ_ATTRIBUTES                   0xD0
-#define READ_THRESHOLDS                   0xD1
-#define ENABLE_DISABLE_AUTOSAVE           0xD2
-#define SAVE_ATTRIBUTE_VALUES             0xD3
-#define EXECUTE_OFFLINE_DIAGS             0xD4
-#define SMART_READ_LOG                    0xD5
-#define SMART_WRITE_LOG                   0xd6
-#define ENABLE_SMART                      0xD8
-#define DISABLE_SMART                     0xD9
-#define RETURN_SMART_STATUS               0xDA
-#define ENABLE_DISABLE_AUTO_OFFLINE       0xDB
-
-_END_C_DECLS
-
-#endif	/* _DDK_NTDDDISK_H */
-#endif	/* !_DDK_NTDDDISK_H: $RCSfile: ntdddisk.h,v $: end of file */
Index: Daodan/MinGW/include/ddk/ntddk.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddk.h	(revision 1046)
+++ 	(revision )
@@ -1,99 +1,0 @@
-/*
- * ddk/ntddk.h
- *
- * Windows Device Driver Kit -- common defines:
- *  DBG               -  Debugging enabled/disabled (0/1)
- *  POOL_TAGGING      -  Enable pool tagging
- *  _X86_             -  X86 environment
- *  __USE_NTOSKRNL__  -  Use ntoskrnl.exe instead of kernel32.dll
- *
- * $Id: ntddk.h,v 0e0292c3eba8 2015/11/14 21:06:19 keithmarshall $
- *
- * Written by Casper S. Hornstrup  <chorns@users.sourceforge.net>
- * Copyright (C) 2002, 2004, 2006, 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.
- *
- */
-#ifndef _DDK_NTDDK_H
-#define _DDK_NTDDK_H
-#pragma GCC system_header
-
-#ifndef __USE_NTOSKRNL__
-#define __USE_NTOSKRNL__ 1
-#endif
-
-#include <stdarg.h>
-#include <windef.h>
-#include <ntdef.h>
-#include <basetyps.h>
-
-_BEGIN_C_DECLS
-
-/* Base types, structures and definitions.
- */
-typedef short CSHORT;
-typedef CONST int CINT;
-typedef CONST char *PCSZ;
-
-#ifndef STATIC
-#define STATIC static
-#endif
-
-#ifndef CALLBACK
-#define CALLBACK
-#endif
-
-#ifndef DECL_IMPORT
-#define DECL_IMPORT __declspec(dllimport)
-#endif
-
-#ifndef DECL_EXPORT
-#define DECL_EXPORT __declspec(dllexport)
-#endif
-
-/* Windows NT status codes.
- */
-#include "ntstatus.h"
-
-/* Windows NT definitions exported to user mode.
- */
-#include <winnt.h>
-
-/* Windows Device Driver Kit.
- */
-#include "winddk.h"
-
-/* Definitions only in Windows XP.
- */
-#include "winxp.h"
-
-/* Definitions only in Windows 2000.
- */
-#include "win2k.h"
-
-/* Definitions only in Windows NT 4.
- */
-#include "winnt4.h"
-
-_END_C_DECLS
-
-#endif /* _DDK_NTDDK_H: $RCSfile: ntddk.h,v $: end of file */
Index: Daodan/MinGW/include/ddk/ntddkbd.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddkbd.h	(revision 1046)
+++ 	(revision )
@@ -1,135 +1,0 @@
-/*
- * ntddkbd.h
- *
- * Keyboard IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDKBD_H
-#define __NTDDKBD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_KEYBOARD_DEVICE_NAME           "\\Device\\KeyboardClass"
-#define DD_KEYBOARD_DEVICE_NAME_U         L"\\Device\\KeyboardClass"
-
-#define IOCTL_KEYBOARD_QUERY_ATTRIBUTES \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATORS \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0020, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_TYPEMATIC \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_TYPEMATIC \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_INDICATORS \
-  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
-  0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define KEYBOARD_ERROR_VALUE_BASE         10000
-
-/* KEYBOARD_INPUT_DATA.MakeCode constants */
-#define KEYBOARD_OVERRUN_MAKE_CODE        0xFF
-
-/* KEYBOARD_INPUT_DATA.Flags constants */
-#define KEY_MAKE                          0
-#define KEY_BREAK                         1
-#define KEY_E0                            2
-#define KEY_E1                            4
-
-typedef struct _KEYBOARD_INPUT_DATA {
-  USHORT  UnitId;
-  USHORT  MakeCode;
-  USHORT  Flags;
-  USHORT  Reserved;
-  ULONG  ExtraInformation;
-} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
-
-
-typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS {
-	USHORT  UnitId;
-	USHORT  Rate;
-	USHORT  Delay;
-} KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS;
-
-typedef struct _KEYBOARD_ID {
-	UCHAR  Type;
-	UCHAR  Subtype;
-} KEYBOARD_ID, *PKEYBOARD_ID;
-
-#define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id))
-#define FAREAST_KEYBOARD(Id)  ((Id).Type == 7 || (Id).Type == 8)
-
-typedef struct _KEYBOARD_INDICATOR_PARAMETERS {
-  USHORT  UnitId;
-  USHORT  LedFlags;
-} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS;
-
-typedef struct _INDICATOR_LIST {
-  USHORT  MakeCode;
-  USHORT  IndicatorFlags;
-} INDICATOR_LIST, *PINDICATOR_LIST;
-
-typedef struct _KEYBOARD_INDICATOR_TRANSLATION {
-  USHORT  NumberOfIndicatorKeys;
-  INDICATOR_LIST  IndicatorList[1];
-} KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION;
-
-typedef struct _KEYBOARD_ATTRIBUTES {
-	KEYBOARD_ID  KeyboardIdentifier;
-	USHORT  KeyboardMode;
-	USHORT  NumberOfFunctionKeys;
-	USHORT  NumberOfIndicators;
-	USHORT  NumberOfKeysTotal;
-	ULONG  InputDataQueueLength;
-	KEYBOARD_TYPEMATIC_PARAMETERS  KeyRepeatMinimum;
-	KEYBOARD_TYPEMATIC_PARAMETERS  KeyRepeatMaximum;
-} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
-
-typedef struct _KEYBOARD_UNIT_ID_PARAMETER {
-  USHORT  UnitId;
-} KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER;
-
-typedef struct _KEYBOARD_IME_STATUS {
-	USHORT  UnitId;
-	ULONG  ImeOpen;
-	ULONG  ImeConvMode;
-} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDKBD_H */
Index: Daodan/MinGW/include/ddk/ntddmou.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddmou.h	(revision 1046)
+++ 	(revision )
@@ -1,115 +1,0 @@
-/*
- * ntddmou.h
- *
- * Mouse device IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDMOU_H
-#define __NTDDMOU_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_MOUSE_DEVICE_NAME              "\\Device\\PointerClass"
-#define DD_MOUSE_DEVICE_NAME_U            L"\\Device\\PointerClass"
-
-#define IOCTL_MOUSE_QUERY_ATTRIBUTES \
-  CTL_CODE(FILE_DEVICE_MOUSE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
-  0x378de44c, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define MOUSE_ERROR_VALUE_BASE            20000
-
-/* MOUSE_INPUT_DATA.ButtonFlags constants */
-#define MOUSE_LEFT_BUTTON_DOWN            0x0001
-#define MOUSE_LEFT_BUTTON_UP              0x0002
-#define MOUSE_RIGHT_BUTTON_DOWN           0x0004
-#define MOUSE_RIGHT_BUTTON_UP             0x0008
-#define MOUSE_MIDDLE_BUTTON_DOWN          0x0010
-#define MOUSE_MIDDLE_BUTTON_UP            0x0020
-#define MOUSE_BUTTON_4_DOWN               0x0040
-#define MOUSE_BUTTON_4_UP                 0x0080
-#define MOUSE_BUTTON_5_DOWN               0x0100
-#define MOUSE_BUTTON_5_UP                 0x0200
-#define MOUSE_WHEEL                       0x0400
-
-#define MOUSE_BUTTON_1_DOWN               MOUSE_LEFT_BUTTON_DOWN
-#define MOUSE_BUTTON_1_UP                 MOUSE_LEFT_BUTTON_UP
-#define MOUSE_BUTTON_2_DOWN               MOUSE_RIGHT_BUTTON_DOWN
-#define MOUSE_BUTTON_2_UP                 MOUSE_RIGHT_BUTTON_UP
-#define MOUSE_BUTTON_3_DOWN               MOUSE_MIDDLE_BUTTON_DOWN
-#define MOUSE_BUTTON_3_UP                 MOUSE_MIDDLE_BUTTON_UP
-
-/* MOUSE_INPUT_DATA.Flags constants */
-#define MOUSE_MOVE_RELATIVE               0
-#define MOUSE_MOVE_ABSOLUTE               1
-#define MOUSE_VIRTUAL_DESKTOP             0x02
-#define MOUSE_ATTRIBUTES_CHANGED          0x04
-
-typedef struct _MOUSE_INPUT_DATA {
-	USHORT  UnitId;
-	USHORT  Flags;
-	_ANONYMOUS_UNION union {
-		ULONG Buttons;
-		_ANONYMOUS_STRUCT struct  {
-			USHORT  ButtonFlags;
-			USHORT  ButtonData;
-		} DUMMYSTRUCTNAME;
-	} DUMMYUNIONNAME;
-	ULONG  RawButtons;
-	LONG  LastX;
-	LONG  LastY;
-	ULONG  ExtraInformation;
-} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
-
-typedef struct _MOUSE_UNIT_ID_PARAMETER {
-  USHORT  UnitId;
-} MOUSE_UNIT_ID_PARAMETER, *PMOUSE_UNIT_ID_PARAMETER;
-
-/* MOUSE_ATTRIBUTES.MouseIdentifier constants */
-#define MOUSE_INPORT_HARDWARE             0x0001
-#define MOUSE_I8042_HARDWARE              0x0002
-#define MOUSE_SERIAL_HARDWARE             0x0004
-#define BALLPOINT_I8042_HARDWARE          0x0008
-#define BALLPOINT_SERIAL_HARDWARE         0x0010
-#define WHEELMOUSE_I8042_HARDWARE         0x0020
-#define WHEELMOUSE_SERIAL_HARDWARE        0x0040
-#define MOUSE_HID_HARDWARE                0x0080
-#define WHEELMOUSE_HID_HARDWARE           0x0100
-
-typedef struct _MOUSE_ATTRIBUTES {
-  USHORT  MouseIdentifier;
-  USHORT  NumberOfButtons;
-  USHORT  SampleRate;
-  ULONG  InputDataQueueLength;
-} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDMOU_H */
Index: Daodan/MinGW/include/ddk/ntddndis.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddndis.h	(revision 1046)
+++ 	(revision )
@@ -1,188 +1,0 @@
-/*
- * ntddndis.h
- *
- * NDIS device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDNDIS_H
-#define __NTDDNDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NDIS_WAN_QUALITY {
-	NdisWanRaw,
-	NdisWanErrorControl,
-	NdisWanReliable
-} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
-
-typedef enum _NDIS_DEVICE_POWER_STATE {
-  NdisDeviceStateUnspecified = 0,
-  NdisDeviceStateD0,
-  NdisDeviceStateD1,
-  NdisDeviceStateD2,
-  NdisDeviceStateD3,
-  NdisDeviceStateMaximum
-} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
-
-typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
-  NDIS_DEVICE_POWER_STATE  MinMagicPacketWakeUp;
-  NDIS_DEVICE_POWER_STATE  MinPatternWakeUp;
-  NDIS_DEVICE_POWER_STATE  MinLinkChangeWakeUp;
-} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
-
-/* NDIS_PNP_CAPABILITIES.Flags constants */
-#define NDIS_DEVICE_WAKE_UP_ENABLE                0x00000001
-#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE  0x00000002
-#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE   0x00000004
-
-typedef struct _NDIS_PNP_CAPABILITIES {
-  ULONG  Flags;
-  NDIS_PM_WAKE_UP_CAPABILITIES  WakeUpCapabilities;
-} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
-
-/* Required Object IDs (OIDs) */
-#define OID_GEN_SUPPORTED_LIST            0x00010101
-#define OID_GEN_HARDWARE_STATUS           0x00010102
-#define OID_GEN_MEDIA_SUPPORTED           0x00010103
-#define OID_GEN_MEDIA_IN_USE              0x00010104
-#define OID_GEN_MAXIMUM_LOOKAHEAD         0x00010105
-#define OID_GEN_MAXIMUM_FRAME_SIZE        0x00010106
-#define OID_GEN_LINK_SPEED                0x00010107
-#define OID_GEN_TRANSMIT_BUFFER_SPACE     0x00010108
-#define OID_GEN_RECEIVE_BUFFER_SPACE      0x00010109
-#define OID_GEN_TRANSMIT_BLOCK_SIZE       0x0001010A
-#define OID_GEN_RECEIVE_BLOCK_SIZE        0x0001010B
-#define OID_GEN_VENDOR_ID                 0x0001010C
-#define OID_GEN_VENDOR_DESCRIPTION        0x0001010D
-#define OID_GEN_CURRENT_PACKET_FILTER     0x0001010E
-#define OID_GEN_CURRENT_LOOKAHEAD         0x0001010F
-#define OID_GEN_DRIVER_VERSION            0x00010110
-#define OID_GEN_MAXIMUM_TOTAL_SIZE        0x00010111
-#define OID_GEN_PROTOCOL_OPTIONS          0x00010112
-#define OID_GEN_MAC_OPTIONS               0x00010113
-#define OID_GEN_MEDIA_CONNECT_STATUS      0x00010114
-#define OID_GEN_MAXIMUM_SEND_PACKETS      0x00010115
-#define OID_GEN_VENDOR_DRIVER_VERSION     0x00010116
-#define OID_GEN_SUPPORTED_GUIDS           0x00010117
-#define OID_GEN_NETWORK_LAYER_ADDRESSES   0x00010118
-#define OID_GEN_TRANSPORT_HEADER_OFFSET   0x00010119
-#define OID_GEN_MACHINE_NAME              0x0001021A
-#define OID_GEN_RNDIS_CONFIG_PARAMETER    0x0001021B
-#define OID_GEN_VLAN_ID                   0x0001021C
-
-/* Optional OIDs */
-#define OID_GEN_MEDIA_CAPABILITIES        0x00010201
-#define OID_GEN_PHYSICAL_MEDIUM           0x00010202
-
-/* Required statistics OIDs */
-#define OID_GEN_XMIT_OK                   0x00020101
-#define OID_GEN_RCV_OK                    0x00020102
-#define OID_GEN_XMIT_ERROR                0x00020103
-#define OID_GEN_RCV_ERROR                 0x00020104
-#define OID_GEN_RCV_NO_BUFFER             0x00020105
-
-/* Optional statistics OIDs */
-#define OID_GEN_DIRECTED_BYTES_XMIT       0x00020201
-#define OID_GEN_DIRECTED_FRAMES_XMIT      0x00020202
-#define OID_GEN_MULTICAST_BYTES_XMIT      0x00020203
-#define OID_GEN_MULTICAST_FRAMES_XMIT     0x00020204
-#define OID_GEN_BROADCAST_BYTES_XMIT      0x00020205
-#define OID_GEN_BROADCAST_FRAMES_XMIT     0x00020206
-#define OID_GEN_DIRECTED_BYTES_RCV        0x00020207
-#define OID_GEN_DIRECTED_FRAMES_RCV       0x00020208
-#define OID_GEN_MULTICAST_BYTES_RCV       0x00020209
-#define OID_GEN_MULTICAST_FRAMES_RCV      0x0002020A
-#define OID_GEN_BROADCAST_BYTES_RCV       0x0002020B
-#define OID_GEN_BROADCAST_FRAMES_RCV      0x0002020C
-#define OID_GEN_RCV_CRC_ERROR             0x0002020D
-#define OID_GEN_TRANSMIT_QUEUE_LENGTH     0x0002020E
-#define OID_GEN_GET_TIME_CAPS             0x0002020F
-#define OID_GEN_GET_NETCARD_TIME          0x00020210
-#define OID_GEN_NETCARD_LOAD              0x00020211
-#define OID_GEN_DEVICE_PROFILE            0x00020212
-#define OID_GEN_INIT_TIME_MS              0x00020213
-#define OID_GEN_RESET_COUNTS              0x00020214
-#define OID_GEN_MEDIA_SENSE_COUNTS        0x00020215
-#define OID_GEN_FRIENDLY_NAME             0x00020216
-#define OID_GEN_MINIPORT_INFO             0x00020217
-#define OID_GEN_RESET_VERIFY_PARAMETERS   0x00020218
-
-/* IEEE 802.3 (Ethernet) OIDs */
-#define NDIS_802_3_MAC_OPTION_PRIORITY    0x00000001
-
-#define OID_802_3_PERMANENT_ADDRESS       0x01010101
-#define OID_802_3_CURRENT_ADDRESS         0x01010102
-#define OID_802_3_MULTICAST_LIST          0x01010103
-#define OID_802_3_MAXIMUM_LIST_SIZE       0x01010104
-#define OID_802_3_MAC_OPTIONS             0x01010105
-#define OID_802_3_RCV_ERROR_ALIGNMENT     0x01020101
-#define OID_802_3_XMIT_ONE_COLLISION      0x01020102
-#define OID_802_3_XMIT_MORE_COLLISIONS    0x01020103
-#define OID_802_3_XMIT_DEFERRED           0x01020201
-#define OID_802_3_XMIT_MAX_COLLISIONS     0x01020202
-#define OID_802_3_RCV_OVERRUN             0x01020203
-#define OID_802_3_XMIT_UNDERRUN           0x01020204
-#define OID_802_3_XMIT_HEARTBEAT_FAILURE  0x01020205
-#define OID_802_3_XMIT_TIMES_CRS_LOST     0x01020206
-#define OID_802_3_XMIT_LATE_COLLISIONS    0x01020207
-
-/* OID_GEN_MINIPORT_INFO constants */
-#define NDIS_MINIPORT_BUS_MASTER                      0x00000001
-#define NDIS_MINIPORT_WDM_DRIVER                      0x00000002
-#define NDIS_MINIPORT_SG_LIST                         0x00000004
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY            0x00000008
-#define NDIS_MINIPORT_INDICATES_PACKETS               0x00000010
-#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE             0x00000020
-#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE            0x00000040
-#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS        0x00000080
-#define NDIS_MINIPORT_INTERMEDIATE_DRIVER             0x00000100
-#define NDIS_MINIPORT_IS_NDIS_5                       0x00000200
-#define NDIS_MINIPORT_IS_CO                           0x00000400
-#define NDIS_MINIPORT_DESERIALIZE                     0x00000800
-#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING          0x00001000
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE            0x00002000
-#define NDIS_MINIPORT_NETBOOT_CARD                    0x00004000
-#define NDIS_MINIPORT_PM_SUPPORTED                    0x00008000
-#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE  0x00010000
-#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS           0x00020000
-#define NDIS_MINIPORT_HIDDEN                          0x00040000
-#define NDIS_MINIPORT_SWENUM                          0x00080000
-#define NDIS_MINIPORT_SURPRISE_REMOVE_OK              0x00100000
-#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND              0x00200000
-#define NDIS_MINIPORT_HARDWARE_DEVICE                 0x00400000
-#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS    0x00800000
-#define NDIS_MINIPORT_64BITS_DMA                      0x01000000
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDNDIS_H */
Index: Daodan/MinGW/include/ddk/ntddpar.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddpar.h	(revision 1046)
+++ 	(revision )
@@ -1,119 +1,0 @@
-/*
- * ntddpar.h
- *
- * Parallel port driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDPAR_H
-#define __NTDDPAR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* Parallel port device GUIDs */
-
-DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL,
-  0x97F76EF0, 0xF883, 0x11D0, 0xAF, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x84, 0x5C);
-DEFINE_GUID (GUID_DEVINTERFACE_PARCLASS,
-  0x811FC6A5, 0xF728, 0x11D0, 0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1);
-
-#define GUID_PARALLEL_DEVICE GUID_DEVINTERFACE_PARALLEL
-#define GUID_PARCLASS_DEVICE GUID_DEVINTERFACE_PARCLASS
-
-
-#define IOCTL_IEEE1284_GET_MODE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_IEEE1284_NEGOTIATE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEFAULT_MODES \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEVICE_CAPS \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_IS_PORT_FREE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID_SIZE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_INFORMATION \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_LOCATION \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_RAW_DEVICE_ID \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_INFORMATION \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_READ_ADDRESS \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_WRITE_ADDRESS \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION {
-  ULONG  DeviceIdSize;
-} PAR_DEVICE_ID_SIZE_INFORMATION, *PPAR_DEVICE_ID_SIZE_INFORMATION;
-
-#define PARALLEL_INIT                     0x01
-#define PARALLEL_AUTOFEED                 0x02
-#define PARALLEL_PAPER_EMPTY              0x04
-#define PARALLEL_OFF_LINE                 0x08
-#define PARALLEL_POWER_OFF                0x10
-#define PARALLEL_NOT_CONNECTED            0x20
-#define PARALLEL_BUSY                     0x40
-#define PARALLEL_SELECTED                 0x80
-
-typedef struct _PAR_QUERY_INFORMATION {
-  UCHAR  Status;
-} PAR_QUERY_INFORMATION, *PPAR_QUERY_INFORMATION;
-
-typedef struct _PAR_SET_INFORMATION {
-  UCHAR  Init;
-} PAR_SET_INFORMATION, *PPAR_SET_INFORMATION;
-
-typedef struct _PARCLASS_NEGOTIATION_MASK {
-  USHORT  usReadMask;
-  USHORT  usWriteMask;
-} PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK;
-
-#define NONE                              0x0000
-#define CENTRONICS                        0x0001
-#define IEEE_COMPATIBILITY                0x0002
-#define NIBBLE                            0x0004
-#define CHANNEL_NIBBLE                    0x0008
-#define BYTE_BIDIR                        0x0010
-#define EPP_HW                            0x0020
-#define EPP_SW                            0x0040
-#define EPP_ANY                           0x0060
-#define BOUNDED_ECP                       0x0080
-#define ECP_HW_NOIRQ                      0x0100
-#define ECP_HW_IRQ                        0x0200
-#define ECP_SW                            0x0400
-#define ECP_ANY                           0x0780
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPAR_H */
Index: Daodan/MinGW/include/ddk/ntddpcm.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddpcm.h	(revision 1046)
+++ 	(revision )
@@ -1,165 +1,0 @@
-/*
- * ntddpcm.h
- *
- * PCMCIA IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDPCM_H
-#define __NTDDPCM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_PCMCIA_BASE                 FILE_DEVICE_CONTROLLER
-
-#define DD_PCMCIA_DEVICE_NAME             "\\\\.\\Pcmcia"
-#define DD_PCMCIA_DEVICE_NAME_U           L"\\\\.\\Pcmcia"
-
-#define IOCTL_GET_TUPLE_DATA \
-  CTL_CODE(IOCTL_PCMCIA_BASE, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SOCKET_INFORMATION \
-  CTL_CODE(IOCTL_PCMCIA_BASE, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define DEVICE_IDENTIFIER_LENGTH          64
-#define DRIVER_NAME_LENGTH                32
-#define MANUFACTURER_NAME_LENGTH          64
-
-#define PcmciaInvalidControllerType       0xffffffff
-
-typedef struct _TUPLE_REQUEST {
- USHORT  Socket;
-} TUPLE_REQUEST, *PTUPLE_REQUEST;
-
-typedef enum _PCMCIA_CONTROLLER_CLASS {
-	PcmciaInvalidControllerClass = -1,
-	PcmciaIntelCompatible,
-	PcmciaCardBusCompatible,
-	PcmciaElcController,
-	PcmciaDatabook,
-	PcmciaPciPcmciaBridge,
-	PcmciaCirrusLogic,
-	PcmciaTI,
-	PcmciaTopic,
-	PcmciaRicoh,
-	PcmciaDatabookCB,
-	PcmciaOpti,
-	PcmciaTrid,
-	PcmciaO2Micro,
-	PcmciaNEC,
-	PcmciaNEC_98
-} PCMCIA_CONTROLLER_CLASS, *PPCMCIA_CONTROLLER_CLASS;
-
-typedef struct _PCMCIA_SOCKET_INFORMATION {
-	USHORT  Socket;
-	USHORT  TupleCrc;
-	UCHAR  Manufacturer[MANUFACTURER_NAME_LENGTH];
-	UCHAR  Identifier[DEVICE_IDENTIFIER_LENGTH];
-	UCHAR  DriverName[DRIVER_NAME_LENGTH];
-	UCHAR  DeviceFunctionId;
-	UCHAR  Reserved;
-	UCHAR  CardInSocket;
-	UCHAR  CardEnabled;
-	ULONG  ControllerType;
-} PCMCIA_SOCKET_INFORMATION, *PPCMCIA_SOCKET_INFORMATION;
-
-#define PcmciaClassFromControllerType(type)     ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
-#define PcmciaModelFromControllerType(type)     (((type) >> 8) & 0x3ffff)
-#define PcmciaRevisionFromControllerType(type)  ((type) >> 26)
-
-
-DEFINE_GUID(GUID_PCMCIA_INTERFACE_STANDARD, \
-  0xbed5dadfL, 0x38fb, 0x11d1, 0x94, 0x62, 0x00, 0xc0, 0x4f, 0xb9, 0x60, 0xee);
-
-typedef ULONG MEMORY_SPACE;
-
-typedef ULONG STDCALL
-(*PPCMCIA_READ_WRITE_CONFIG)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  WhichSpace,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-#define PCCARD_PCI_CONFIGURATION_SPACE    0
-#define PCCARD_ATTRIBUTE_MEMORY           1
-#define PCCARD_COMMON_MEMORY              2
-#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT  3
-#define PCCARD_COMMON_MEMORY_INDIRECT     4
-
-typedef struct _PCMCIA_BUS_INTERFACE_STANDARD {
-	USHORT  Size;
-	USHORT  Version;
-	PVOID  Context;
-	PINTERFACE_REFERENCE  InterfaceReference;
-	PINTERFACE_DEREFERENCE  InterfaceDereference;
-	PPCMCIA_READ_WRITE_CONFIG ReadConfig;
-	PPCMCIA_READ_WRITE_CONFIG  WriteConfig;
-} PCMCIA_BUS_INTERFACE_STANDARD, *PPCMCIA_BUS_INTERFACE_STANDARD;
-
-#define PCMCIA_MEMORY_8BIT_ACCESS         0
-#define PCMCIA_MEMORY_16BIT_ACCESS        1
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_MODIFY_MEMORY_WINDOW)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONGLONG  HostBase,
-  /*IN*/ ULONGLONG  CardBase,
-  /*IN*/ BOOLEAN  Enable,
-  /*IN*/ ULONG  WindowSize  /*OPTIONAL*/,
-  /*IN*/ UCHAR  AccessSpeed  /*OPTIONAL*/,
-  /*IN*/ UCHAR  BusWidth  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  IsAttributeMemory  /*OPTIONAL*/);
-
-#define PCMCIA_VPP_0V                     0
-#define PCMCIA_VPP_12V                    1
-#define PCMCIA_VPP_IS_VCC                 2
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_SET_VPP)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ UCHAR  VppLevel);
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_IS_WRITE_PROTECTED)(
-  /*IN*/ PVOID  Context);
-
-typedef struct _PCMCIA_INTERFACE_STANDARD {
-	USHORT  Size;
-	USHORT  Version;
-	PINTERFACE_REFERENCE  InterfaceReference;
-	PINTERFACE_DEREFERENCE  InterfaceDereference;
-	PVOID  Context;
-	PPCMCIA_MODIFY_MEMORY_WINDOW  ModifyMemoryWindow;
-	PPCMCIA_SET_VPP  SetVpp;
-	PPCMCIA_IS_WRITE_PROTECTED  IsWriteProtected;
-} PCMCIA_INTERFACE_STANDARD, *PPCMCIA_INTERFACE_STANDARD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPCM_H */
Index: Daodan/MinGW/include/ddk/ntddscsi.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddscsi.h	(revision 1046)
+++ 	(revision )
@@ -1,171 +1,0 @@
-/*
- * ntddscsi.h
- *
- * SCSI port IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSCSI_H
-#define __NTDDSCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_SCSI_DEVICE_NAME               "\\Device\\ScsiPort"
-#define DD_SCSI_DEVICE_NAME_U             L"\\Device\\ScsiPort"
-
-#define IOCTL_SCSI_BASE                   FILE_DEVICE_CONTROLLER
-
-#define IOCTL_SCSI_GET_INQUIRY_DATA \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_CAPABILITIES \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_ADDRESS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_MINIPORT \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH_DIRECT \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_RESCAN_BUS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(ScsiRawInterfaceGuid, \
-  0x53f56309L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(WmiScsiAddressGuid, \
-  0x53f5630fL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-typedef struct _SCSI_PASS_THROUGH {
-  USHORT  Length;
-  UCHAR  ScsiStatus;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  UCHAR  CdbLength;
-  UCHAR  SenseInfoLength;
-  UCHAR  DataIn;
-  ULONG  DataTransferLength;
-  ULONG  TimeOutValue;
-  ULONG_PTR DataBufferOffset;
-  ULONG  SenseInfoOffset;
-  UCHAR  Cdb[16];
-} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
-
-typedef struct _SCSI_PASS_THROUGH_DIRECT {
-  USHORT  Length;
-  UCHAR  ScsiStatus;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  UCHAR  CdbLength;
-  UCHAR  SenseInfoLength;
-  UCHAR  DataIn;
-  ULONG  DataTransferLength;
-  ULONG  TimeOutValue;
-  PVOID  DataBuffer;
-  ULONG  SenseInfoOffset;
-  UCHAR  Cdb[16];
-} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
-
-typedef struct _SRB_IO_CONTROL {
-  ULONG  HeaderLength;
-  UCHAR  Signature[8];
-  ULONG  Timeout;
-  ULONG  ControlCode;
-  ULONG  ReturnCode;
-  ULONG  Length;
-} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
-
-typedef struct _SCSI_ADDRESS {
-	ULONG  Length;
-	UCHAR  PortNumber;
-	UCHAR  PathId;
-	UCHAR  TargetId;
-	UCHAR  Lun;
-} SCSI_ADDRESS, *PSCSI_ADDRESS;
-
-typedef struct _SCSI_BUS_DATA {
-	UCHAR  NumberOfLogicalUnits;
-	UCHAR  InitiatorBusId;
-	ULONG  InquiryDataOffset;
-}SCSI_BUS_DATA, *PSCSI_BUS_DATA;
-
-typedef struct _SCSI_ADAPTER_BUS_INFO {
-	UCHAR  NumberOfBuses;
-	SCSI_BUS_DATA  BusData[1];
-} SCSI_ADAPTER_BUS_INFO, *PSCSI_ADAPTER_BUS_INFO;
-
-typedef struct _IO_SCSI_CAPABILITIES {
-	ULONG  Length;
-	ULONG  MaximumTransferLength;
-	ULONG  MaximumPhysicalPages;
-	ULONG  SupportedAsynchronousEvents;
-	ULONG  AlignmentMask;
-	BOOLEAN  TaggedQueuing;
-	BOOLEAN  AdapterScansDown;
-	BOOLEAN  AdapterUsesPio;
-} IO_SCSI_CAPABILITIES, *PIO_SCSI_CAPABILITIES;
-
-typedef struct _SCSI_INQUIRY_DATA {
-	UCHAR  PathId;
-	UCHAR  TargetId;
-	UCHAR  Lun;
-	BOOLEAN  DeviceClaimed;
-	ULONG  InquiryDataLength;
-	ULONG  NextInquiryDataOffset;
-	UCHAR  InquiryData[1];
-} SCSI_INQUIRY_DATA, *PSCSI_INQUIRY_DATA;
-
-#define SCSI_IOCTL_DATA_OUT               0
-#define SCSI_IOCTL_DATA_IN                1
-#define SCSI_IOCTL_DATA_UNSPECIFIED       2
-
-typedef struct _DUMP_POINTERS {
-	PADAPTER_OBJECT  AdapterObject;
-	PVOID  MappedRegisterBase;
-	PVOID  DumpData;
-	PVOID  CommonBufferVa;
-	LARGE_INTEGER  CommonBufferPa;
-	ULONG  CommonBufferSize;
-	BOOLEAN  AllocateCommonBuffers;
-	BOOLEAN  UseDiskDump;
-	UCHAR  Spare1[2];
-	PVOID  DeviceObject;
-} DUMP_POINTERS, *PDUMP_POINTERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSCSI_H */
Index: Daodan/MinGW/include/ddk/ntddser.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddser.h	(revision 1046)
+++ 	(revision )
@@ -1,449 +1,0 @@
-/*
- * ntddser.h
- *
- * Serial port driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSER_H
-#define __NTDDSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* GUIDs */
-
-DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,
-  0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73);
-
-DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,
-  0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18);
-
-#define IOCTL_SERIAL_CLEAR_STATS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 36, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_DTR \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_RTS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CONFIG_SIZE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_BAUD_RATE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_CHARS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_COMMSTATUS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 27, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_DTRRTS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_HANDFLOW \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_LINE_CONTROL \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEM_CONTROL \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEMSTATUS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_PROPERTIES \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_STATS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 35, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_TIMEOUTS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_WAIT_MASK \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_IMMEDIATE_CHAR \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_LSRMST_INSERT \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_PURGE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_RESET_DEVICE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BAUD_RATE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_ON \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_OFF \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_CHARS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_DTR \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_FIFO_CONTROL \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_HANDFLOW \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_LINE_CONTROL \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_MODEM_CONTROL \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_QUEUE_SIZE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_RTS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_TIMEOUTS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_WAIT_MASK \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XOFF \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XON \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_WAIT_ON_MASK \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_XOFF_COUNTER \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 28, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS \
-  CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERENUM_PORT_DESC \
-  CTL_CODE (FILE_DEVICE_SERENUM, 130, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERENUM_GET_PORT_NAME \
-  CTL_CODE (FILE_DEVICE_SERENUM, 131, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_SERENUM_REMOVE_SELF \
-  CTL_CODE (FILE_DEVICE_SERENUM, 129, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-typedef struct _SERIAL_BAUD_RATE {
-  ULONG  BaudRate;
-} SERIAL_BAUD_RATE, *PSERIAL_BAUD_RATE;
-
-/* SERIAL_BAUD_RATE.BaudRate constants */
-#define SERIAL_BAUD_075                   0x00000001
-#define SERIAL_BAUD_110                   0x00000002
-#define SERIAL_BAUD_134_5                 0x00000004
-#define SERIAL_BAUD_150                   0x00000008
-#define SERIAL_BAUD_300                   0x00000010
-#define SERIAL_BAUD_600                   0x00000020
-#define SERIAL_BAUD_1200                  0x00000040
-#define SERIAL_BAUD_1800                  0x00000080
-#define SERIAL_BAUD_2400                  0x00000100
-#define SERIAL_BAUD_4800                  0x00000200
-#define SERIAL_BAUD_7200                  0x00000400
-#define SERIAL_BAUD_9600                  0x00000800
-#define SERIAL_BAUD_14400                 0x00001000
-#define SERIAL_BAUD_19200                 0x00002000
-#define SERIAL_BAUD_38400                 0x00004000
-#define SERIAL_BAUD_56K                   0x00008000
-#define SERIAL_BAUD_128K                  0x00010000
-#define SERIAL_BAUD_115200                0x00020000
-#define SERIAL_BAUD_57600                 0x00040000
-#define SERIAL_BAUD_USER                  0x10000000
-
-typedef struct _SERIAL_CHARS {
-  UCHAR  EofChar;
-  UCHAR  ErrorChar;
-  UCHAR  BreakChar;
-  UCHAR  EventChar;
-  UCHAR  XonChar;
-  UCHAR  XoffChar;
-} SERIAL_CHARS, *PSERIAL_CHARS;
-
-typedef struct _SERIAL_STATUS {
-  ULONG  Errors;
-  ULONG  HoldReasons;
-  ULONG  AmountInInQueue;
-  ULONG  AmountInOutQueue;
-  BOOLEAN  EofReceived;
-  BOOLEAN  WaitForImmediate;
-} SERIAL_STATUS, *PSERIAL_STATUS;
-
-typedef struct _SERIAL_HANDFLOW {
-	ULONG  ControlHandShake;
-	ULONG  FlowReplace;
-	LONG  XonLimit;
-	LONG  XoffLimit;
-} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
-
-#define SERIAL_DTR_MASK                   0x00000003
-#define SERIAL_DTR_CONTROL                0x00000001
-#define SERIAL_DTR_HANDSHAKE              0x00000002
-#define SERIAL_CTS_HANDSHAKE              0x00000008
-#define SERIAL_DSR_HANDSHAKE              0x00000010
-#define SERIAL_DCD_HANDSHAKE              0x00000020
-#define SERIAL_OUT_HANDSHAKEMASK          0x00000038
-#define SERIAL_DSR_SENSITIVITY            0x00000040
-#define SERIAL_ERROR_ABORT                0x80000000
-#define SERIAL_CONTROL_INVALID            0x7fffff84
-#define SERIAL_AUTO_TRANSMIT              0x00000001
-#define SERIAL_AUTO_RECEIVE               0x00000002
-#define SERIAL_ERROR_CHAR                 0x00000004
-#define SERIAL_NULL_STRIPPING             0x00000008
-#define SERIAL_BREAK_CHAR                 0x00000010
-#define SERIAL_RTS_MASK                   0x000000c0
-#define SERIAL_RTS_CONTROL                0x00000040
-#define SERIAL_RTS_HANDSHAKE              0x00000080
-#define SERIAL_TRANSMIT_TOGGLE            0x000000c0
-#define SERIAL_XOFF_CONTINUE              0x80000000
-#define SERIAL_FLOW_INVALID               0x7fffff20
-
-typedef struct _SERIAL_LINE_CONTROL {
-  UCHAR  StopBits;
-  UCHAR  Parity;
-  UCHAR  WordLength;
-} SERIAL_LINE_CONTROL, *PSERIAL_LINE_CONTROL;
-
-/* SERIAL_LINE_CONTROL.StopBits constants */
-#define STOP_BIT_1                        0x00
-#define STOP_BITS_1_5                     0x01
-#define STOP_BITS_2                       0x02
-
-/* SERIAL_LINE_CONTROL.Parity constants */
-#define NO_PARITY                         0x00
-#define ODD_PARITY                        0x01
-#define EVEN_PARITY                       0x02
-#define MARK_PARITY                       0x03
-#define SPACE_PARITY                      0x04
-
-/* IOCTL_SERIAL_(GET_MODEM_CONTROL, SET_MODEM_CONTROL) flags */
-#define SERIAL_IOC_MCR_DTR                0x00000001
-#define SERIAL_IOC_MCR_RTS                0x00000002
-#define SERIAL_IOC_MCR_OUT1               0x00000004
-#define SERIAL_IOC_MCR_OUT2               0x00000008
-#define SERIAL_IOC_MCR_LOOP               0x00000010
-
-typedef struct _SERIAL_COMMPROP {
-  USHORT  PacketLength;
-  USHORT  PacketVersion;
-  ULONG  ServiceMask;
-  ULONG  Reserved1;
-  ULONG  MaxTxQueue;
-  ULONG  MaxRxQueue;
-  ULONG  MaxBaud;
-  ULONG  ProvSubType;
-  ULONG  ProvCapabilities;
-  ULONG  SettableParams;
-  ULONG  SettableBaud;
-  USHORT  SettableData;
-  USHORT  SettableStopParity;
-  ULONG  CurrentTxQueue;
-  ULONG  CurrentRxQueue;
-  ULONG  ProvSpec1;
-  ULONG  ProvSpec2;
-  WCHAR  ProvChar[1];
-} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
-
-/* SERIAL_COMMPROP.SettableParams flags */
-#define SERIAL_SP_PARITY                  0x0001
-#define SERIAL_SP_BAUD                    0x0002
-#define SERIAL_SP_DATABITS                0x0004
-#define SERIAL_SP_STOPBITS                0x0008
-#define SERIAL_SP_HANDSHAKING             0x0010
-#define SERIAL_SP_PARITY_CHECK            0x0020
-#define SERIAL_SP_CARRIER_DETECT          0x0040
-
-/* SERIAL_COMMPROP.ProvCapabilities flags */
-#define SERIAL_PCF_DTRDSR                 0x00000001
-#define SERIAL_PCF_RTSCTS                 0x00000002
-#define SERIAL_PCF_CD                     0x00000004
-#define SERIAL_PCF_PARITY_CHECK           0x00000008
-#define SERIAL_PCF_XONXOFF                0x00000010
-#define SERIAL_PCF_SETXCHAR               0x00000020
-#define SERIAL_PCF_TOTALTIMEOUTS          0x00000040
-#define SERIAL_PCF_INTTIMEOUTS            0x00000080
-#define SERIAL_PCF_SPECIALCHARS           0x00000100
-#define SERIAL_PCF_16BITMODE              0x00000200
-
-/* SERIAL_COMMPROP.SettableData flags */
-#define SERIAL_DATABITS_5                 0x0001
-#define SERIAL_DATABITS_6                 0x0002
-#define SERIAL_DATABITS_7                 0x0004
-#define SERIAL_DATABITS_8                 0x0008
-#define SERIAL_DATABITS_16                0x0010
-#define SERIAL_DATABITS_16X               0x0020
-
-/* SERIAL_COMMPROP.SettableStopParity flags */
-#define SERIAL_STOPBITS_10                0x0001
-#define SERIAL_STOPBITS_15                0x0002
-#define SERIAL_STOPBITS_20                0x0004
-#define SERIAL_PARITY_NONE                0x0100
-#define SERIAL_PARITY_ODD                 0x0200
-#define SERIAL_PARITY_EVEN                0x0400
-#define SERIAL_PARITY_MARK                0x0800
-#define SERIAL_PARITY_SPACE               0x1000
-
-typedef struct _SERIALPERF_STATS {
-  ULONG  ReceivedCount;
-  ULONG  TransmittedCount;
-  ULONG  FrameErrorCount;
-  ULONG  SerialOverrunErrorCount;
-  ULONG  BufferOverrunErrorCount;
-  ULONG  ParityErrorCount;
-} SERIALPERF_STATS, *PSERIALPERF_STATS;
-
-typedef struct _SERIAL_TIMEOUTS {
-  ULONG  ReadIntervalTimeout;
-  ULONG  ReadTotalTimeoutMultiplier;
-  ULONG  ReadTotalTimeoutConstant;
-  ULONG  WriteTotalTimeoutMultiplier;
-  ULONG  WriteTotalTimeoutConstant;
-} SERIAL_TIMEOUTS, *PSERIAL_TIMEOUTS;
-
-/* IOCTL_SERIAL_(GET_WAIT_MASK, SET_WAIT_MASK, WAIT_ON_MASK) flags */
-#define SERIAL_EV_RXCHAR                  0x0001
-#define SERIAL_EV_RXFLAG                  0x0002
-#define SERIAL_EV_TXEMPTY                 0x0004
-#define SERIAL_EV_CTS                     0x0008
-#define SERIAL_EV_DSR                     0x0010
-#define SERIAL_EV_RLSD                    0x0020
-#define SERIAL_EV_BREAK                   0x0040
-#define SERIAL_EV_ERR                     0x0080
-#define SERIAL_EV_RING                    0x0100
-#define SERIAL_EV_PERR                    0x0200
-#define SERIAL_EV_RX80FULL                0x0400
-#define SERIAL_EV_EVENT1                  0x0800
-#define SERIAL_EV_EVENT2                  0x1000
-
-/* IOCTL_SERIAL_LSRMST_INSERT constants */
-#define SERIAL_LSRMST_LSR_DATA            0x01
-#define SERIAL_LSRMST_LSR_NODATA          0x02
-#define SERIAL_LSRMST_MST                 0x03
-#define SERIAL_LSRMST_ESCAPE              0x00
-
-/* IOCTL_SERIAL_PURGE constants */
-#define SERIAL_PURGE_TXABORT              0x00000001
-#define SERIAL_PURGE_RXABORT              0x00000002
-#define SERIAL_PURGE_TXCLEAR              0x00000004
-#define SERIAL_PURGE_RXCLEAR              0x00000008
-
-/* IOCTL_SERIAL_SET_FIFO_CONTROL constants */
-#define SERIAL_IOC_FCR_FIFO_ENABLE        0x00000001
-#define SERIAL_IOC_FCR_RCVR_RESET         0x00000002
-#define SERIAL_IOC_FCR_XMIT_RESET         0x00000004
-#define SERIAL_IOC_FCR_DMA_MODE           0x00000008
-#define SERIAL_IOC_FCR_RES1               0x00000010
-#define SERIAL_IOC_FCR_RES2               0x00000020
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_LSB   0x00000040
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_MSB   0x00000080
-
-typedef struct _SERIAL_QUEUE_SIZE {
-  ULONG  InSize;
-  ULONG  OutSize;
-} SERIAL_QUEUE_SIZE, *PSERIAL_QUEUE_SIZE;
-
-typedef struct _SERIAL_XOFF_COUNTER {
-	ULONG  Timeout;
-	LONG  Counter;
-	UCHAR  XoffChar;
-} SERIAL_XOFF_COUNTER, *PSERIAL_XOFF_COUNTER;
-
-typedef struct _SERIAL_BASIC_SETTINGS {
-	SERIAL_TIMEOUTS  Timeouts;
-	SERIAL_HANDFLOW  HandFlow;
-	ULONG  RxFifo;
-	ULONG  TxFifo;
-} SERIAL_BASIC_SETTINGS, *PSERIAL_BASIC_SETTINGS;
-
-typedef struct _SERENUM_PORT_DESC {
-	ULONG  Size;
-	PVOID  PortHandle;
-	PHYSICAL_ADDRESS  PortAddress;
-	USHORT  Reserved[1];
-} SERENUM_PORT_DESC, *PSERENUM_PORT_DESC;
-
-typedef UCHAR STDCALL
-(*PSERENUM_READPORT)(
-  PVOID  SerPortAddress);
-
-typedef VOID STDCALL
-(*PSERENUM_WRITEPORT)(
-  PVOID  SerPortAddress,
-  UCHAR  Value);
-
-typedef enum _SERENUM_PORTION {
-  SerenumFirstHalf,
-  SerenumSecondHalf,
-  SerenumWhole
-} SERENUM_PORTION;
-
-typedef struct _SERENUM_PORT_PARAMETERS {
-  ULONG  Size;
-  PSERENUM_READPORT  ReadAccessor;
-  PSERENUM_WRITEPORT  WriteAccessor;
-  PVOID  SerPortAddress;
-  PVOID  HardwareHandle;
-  SERENUM_PORTION  Portion;
-  USHORT  NumberAxis;
-  USHORT  Reserved[3];
-} SERENUM_PORT_PARAMETERS, *PSERENUM_PORT_PARAMETERS;
-
-#define SERIAL_ERROR_BREAK                0x00000001
-#define SERIAL_ERROR_FRAMING              0x00000002
-#define SERIAL_ERROR_OVERRUN              0x00000004
-#define SERIAL_ERROR_QUEUEOVERRUN         0x00000008
-#define SERIAL_ERROR_PARITY               0x00000010
-
-#define SERIAL_SP_UNSPECIFIED             0x00000000
-#define SERIAL_SP_RS232                   0x00000001
-#define SERIAL_SP_PARALLEL                0x00000002
-#define SERIAL_SP_RS422                   0x00000003
-#define SERIAL_SP_RS423                   0x00000004
-#define SERIAL_SP_RS449                   0x00000005
-#define SERIAL_SP_MODEM                   0X00000006
-#define SERIAL_SP_FAX                     0x00000021
-#define SERIAL_SP_SCANNER                 0x00000022
-#define SERIAL_SP_BRIDGE                  0x00000100
-#define SERIAL_SP_LAT                     0x00000101
-#define SERIAL_SP_TELNET                  0x00000102
-#define SERIAL_SP_X25                     0x00000103
-#define SERIAL_SP_SERIALCOMM              0x00000001
-
-#define SERIAL_TX_WAITING_FOR_CTS         0x00000001
-#define SERIAL_TX_WAITING_FOR_DSR         0x00000002
-#define SERIAL_TX_WAITING_FOR_DCD         0x00000004
-#define SERIAL_TX_WAITING_FOR_XON         0x00000008
-#define SERIAL_TX_WAITING_XOFF_SENT       0x00000010
-#define SERIAL_TX_WAITING_ON_BREAK        0x00000020
-#define SERIAL_RX_WAITING_FOR_DSR         0x00000040
-
-#define SERIAL_DTR_STATE                  0x00000001
-#define SERIAL_RTS_STATE                  0x00000002
-#define SERIAL_CTS_STATE                  0x00000010
-#define SERIAL_DSR_STATE                  0x00000020
-#define SERIAL_RI_STATE                   0x00000040
-#define SERIAL_DCD_STATE                  0x00000080
-
-typedef struct _SERIALCONFIG {
-  ULONG  Size;
-  USHORT  Version;
-  ULONG  SubType;
-  ULONG  ProvOffset;
-  ULONG  ProviderSize;
-  WCHAR  ProviderData[1];
-} SERIALCONFIG,*PSERIALCONFIG;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSER_H */
Index: Daodan/MinGW/include/ddk/ntddstor.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddstor.h	(revision 1046)
+++ 	(revision )
@@ -1,348 +1,0 @@
-/*
- * ddk/ntddstor.h
- *
- * Windows Device Driver Kit -- storage class IOCTL interface.
- *
- * $Id: ntddstor.h,v 6d2220f53104 2016/07/21 21:20:34 keithmarshall $
- *
- * Written by Casper S. Hornstrup  <chorns@users.sourceforge.net>
- * Copyright (C) 2002, 2004, 2015, 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, 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.
- *
- */
-#ifndef _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 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; there is no need to process it again.
- */
-#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	  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0200)
-#define IOCTL_STORAGE_CHECK_VERIFY2	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0200)
-#define IOCTL_STORAGE_MEDIA_REMOVAL	  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0201)
-#define IOCTL_STORAGE_EJECT_MEDIA	  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0202)
-#define IOCTL_STORAGE_LOAD_MEDIA	  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0203)
-#define IOCTL_STORAGE_LOAD_MEDIA2	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0203)
-#define IOCTL_STORAGE_RESERVE		  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0204)
-#define IOCTL_STORAGE_RELEASE		  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0205)
-#define IOCTL_STORAGE_FIND_NEW_DEVICES	  __FILE_RD_BUFFERED(__IOCTL_STORAGE_,0x0206)
-#define IOCTL_STORAGE_EJECTION_CONTROL	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0250)
-#define IOCTL_STORAGE_MCN_CONTROL	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0251)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0300)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0301)
-#define IOCTL_STORAGE_RESET_BUS 	  __FILE_RW_BUFFERED(__IOCTL_STORAGE_,0x0400)
-#define IOCTL_STORAGE_RESET_DEVICE	  __FILE_RW_BUFFERED(__IOCTL_STORAGE_,0x0401)
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER   __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0420)
-#define IOCTL_STORAGE_PREDICT_FAILURE	  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0440)
-
-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  __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0304)
-#define IOCTL_STORAGE_QUERY_PROPERTY	       __FILE_AM_BUFFERED(__IOCTL_STORAGE_,0x0500)
-
-DEFINE_GUID( GUID_DEVINTERFACE_DISK,
-    0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_CDROM,
-    0x53f56308L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_PARTITION,
-    0x53f5630aL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_TAPE,
-    0x53f5630bL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_WRITEONCEDISK,
-    0x53f5630cL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_VOLUME,
-    0x53f5630dL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_MEDIUMCHANGER,
-    0x53f56310L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_FLOPPY,
-    0x53f56311L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_CDCHANGER,
-    0x53f56312L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-DEFINE_GUID( GUID_DEVINTERFACE_STORAGEPORT,
-    0x2accfe60L, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b
-  );
-
-typedef
-enum _STORAGE_MEDIA_TYPE
-{ DDS_4mm		= 0x20,
-  MiniQic		= 0x21,
-  Travan		= 0x22,
-  QIC			= 0x23,
-  MP_8mm		= 0x24,
-  AME_8mm		= 0x25,
-  AIT1_8mm		= 0x26,
-  DLT			= 0x27,
-  NCTP			= 0x28,
-  IBM_3480		= 0x29,
-  IBM_3490E		= 0x2A,
-  IBM_Magstar_3590	= 0x2B,
-  IBM_Magstar_MP	= 0x2C,
-  STK_DATA_D3		= 0x2D,
-  SONY_DTF		= 0x2E,
-  DV_6mm		= 0x2F,
-  DMI			= 0x30,
-  SONY_D2		= 0x31,
-  CLEANER_CARTRIDGE	= 0x32,
-  CD_ROM		= 0x33,
-  CD_R			= 0x34,
-  CD_RW			= 0x35,
-  DVD_ROM		= 0x36,
-  DVD_R			= 0x37,
-  DVD_RW		= 0x38,
-  MO_3_RW		= 0x39,
-  MO_5_WO		= 0x3A,
-  MO_5_RW		= 0x3B,
-  MO_5_LIMDOW		= 0x3C,
-  PC_5_WO		= 0x3D,
-  PC_5_RW		= 0x3E,
-  PD_5_RW		= 0x3F,
-  ABL_5_WO		= 0x40,
-  PINNACLE_APEX_5_RW	= 0x41,
-  SONY_12_WO		= 0x42,
-  PHILIPS_12_WO		= 0x43,
-  HITACHI_12_WO		= 0x44,
-  CYGNET_12_WO		= 0x45,
-  KODAK_14_WO		= 0x46,
-  MO_NFR_525		= 0x47,
-  NIKON_12_RW		= 0x48,
-  IOMEGA_ZIP		= 0x49,
-  IOMEGA_JAZ		= 0x4A,
-  SYQUEST_EZ135		= 0x4B,
-  SYQUEST_EZFLYER	= 0x4C,
-  SYQUEST_SYJET		= 0x4D,
-  AVATAR_F2		= 0x4E,
-  MP2_8mm		= 0x4F,
-  DST_S			= 0x50,
-  DST_M			= 0x51,
-  DST_L			= 0x52,
-  VXATape_1		= 0x53,
-  VXATape_2		= 0x54,
-  STK_9840		= 0x55,
-  LTO_Ultrium		= 0x56,
-  LTO_Accelis		= 0x57,
-  DVD_RAM		= 0x58,
-  AIT_8mm		= 0x59,
-  ADR_1			= 0x5A,
-  ADR_2			= 0x5B
-} STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE;
-
-
-/* DEVICE_MEDIA_INFO.DeviceSpecific.DiskInfo.MediaCharacteristics constants
- */
-#define MEDIA_ERASEABLE           0x00000001
-#define MEDIA_WRITE_ONCE          0x00000002
-#define MEDIA_READ_ONLY           0x00000004
-#define MEDIA_READ_WRITE          0x00000008
-#define MEDIA_WRITE_PROTECTED     0x00000100
-#define MEDIA_CURRENTLY_MOUNTED   0x80000000
-
-typedef struct _DEVICE_MEDIA_INFO
-{ union
-  { struct
-    { LARGE_INTEGER		  Cylinders;
-      STORAGE_MEDIA_TYPE	  MediaType;
-      ULONG			  TracksPerCylinder;
-      ULONG			  SectorsPerTrack;
-      ULONG			  BytesPerSector;
-      ULONG			  NumberMediaSides;
-      ULONG			  MediaCharacteristics;
-    }				DiskInfo;
-    struct
-    { LARGE_INTEGER		  Cylinders;
-      STORAGE_MEDIA_TYPE	  MediaType;
-      ULONG			  TracksPerCylinder;
-      ULONG			  SectorsPerTrack;
-      ULONG			  BytesPerSector;
-      ULONG			  NumberMediaSides;
-      ULONG			  MediaCharacteristics;
-    }				RemovableDiskInfo;
-    struct
-    { STORAGE_MEDIA_TYPE	  MediaType;
-      ULONG			  MediaCharacteristics;
-      ULONG			  CurrentBlockSize;
-      STORAGE_BUS_TYPE		  BusType;
-      union
-      { struct
-	{ UCHAR			      MediumType;
-          UCHAR			      DensityCode;
-        }			    ScsiInformation;
-      }				  BusSpecificData;
-    }				TapeInfo;
-  }			      DeviceSpecific;
-} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;
-
-typedef
-struct _GET_MEDIA_TYPES
-{ ULONG 		DeviceType;
-  ULONG 		MediaInfoCount;
-  DEVICE_MEDIA_INFO	MediaInfo[1];
-} GET_MEDIA_TYPES, *PGET_MEDIA_TYPES;
-
-typedef
-struct _STORAGE_ADAPTER_DESCRIPTOR
-{ ULONG 		Version;
-  ULONG 		Size;
-  ULONG 		MaximumTransferLength;
-  ULONG 		MaximumPhysicalPages;
-  ULONG 		AlignmentMask;
-  BOOLEAN		AdapterUsesPio;
-  BOOLEAN		AdapterScansDown;
-  BOOLEAN		CommandQueueing;
-  BOOLEAN		AcceleratedTransfer;
-  STORAGE_BUS_TYPE	BusType;
-  USHORT		BusMajorVersion;
-  USHORT		BusMinorVersion;
-} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
-
-typedef
-struct _STORAGE_BUS_RESET_REQUEST
-{ UCHAR 		PathId;
-} STORAGE_BUS_RESET_REQUEST, *PSTORAGE_BUS_RESET_REQUEST;
-
-typedef
-struct _STORAGE_DESCRIPTOR_HEADER
-{ ULONG 		Version;
-  ULONG 		Size;
-} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
-
-typedef
-struct _STORAGE_DEVICE_DESCRIPTOR
-{ ULONG 		Version;
-  ULONG 		Size;
-  UCHAR 		DeviceType;
-  UCHAR 		DeviceTypeModifier;
-  BOOLEAN		RemovableMedia;
-  BOOLEAN		CommandQueueing;
-  ULONG 		VendorIdOffset;
-  ULONG 		ProductIdOffset;
-  ULONG 		ProductRevisionOffset;
-  ULONG 		SerialNumberOffset;
-  STORAGE_BUS_TYPE	BusType;
-  ULONG 		RawPropertiesLength;
-  UCHAR 		RawDeviceProperties[1];
-} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
-
-typedef
-struct _STORAGE_DEVICE_ID_DESCRIPTOR
-{ ULONG 		Version;
-  ULONG 		Size;
-  ULONG 		NumberOfIdentifiers;
-  UCHAR 		Identifiers[1];
-} STORAGE_DEVICE_ID_DESCRIPTOR, *PSTORAGE_DEVICE_ID_DESCRIPTOR;
-
-typedef
-struct _STORAGE_DEVICE_NUMBER
-{ DEVICE_TYPE		DeviceType;
-  ULONG 		DeviceNumber;
-  ULONG 		PartitionNumber;
-} STORAGE_DEVICE_NUMBER, *PSTORAGE_DEVICE_NUMBER;
-
-typedef
-struct _STORAGE_PREDICT_FAILURE
-{ ULONG 		PredictFailure;
-  UCHAR 		VendorSpecific[512];
-} STORAGE_PREDICT_FAILURE, *PSTORAGE_PREDICT_FAILURE;
-
-typedef
-enum _STORAGE_PROPERTY_ID
-{ StorageDeviceProperty 	= 0,
-  StorageAdapterProperty	= 1,
-  StorageDeviceIdProperty	= 2
-} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
-
-typedef
-enum _STORAGE_QUERY_TYPE
-{ PropertyStandardQuery 	= 0,
-  PropertyExistsQuery		= 1,
-  PropertyMaskQuery		= 2,
-  PropertyQueryMaxDefined	= 3
-} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
-
-typedef
-struct _STORAGE_PROPERTY_QUERY
-{ STORAGE_PROPERTY_ID	PropertyId;
-  STORAGE_QUERY_TYPE	QueryType;
-  UCHAR 		AdditionalParameters[1];
-} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
-
-_END_C_DECLS
-
-#endif	/* _DDK_NTDDSTOR_H */
-#endif  /* !_DDK_NTDDSTOR_H: $RCSfile: ntddstor.h,v $: end of file */
Index: Daodan/MinGW/include/ddk/ntddtape.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddtape.h	(revision 1046)
+++ 	(revision )
@@ -1,79 +1,0 @@
-/*
- * ntddtape.h
- *
- * Tape device IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDTAPE_H
-#define __NTDDTAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_TAPE_DEVICE_NAME               "\\Device\\Tape"
-#define DD_TAPE_DEVICE_NAME_U             L"\\Device\\Tape"
-
-#define IOCTL_TAPE_BASE                   FILE_DEVICE_TAPE
-
-#define IOCTL_TAPE_CHECK_VERIFY         CTL_CODE(IOCTL_TAPE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_CREATE_PARTITION     CTL_CODE(IOCTL_TAPE_BASE, 0x000a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_ERASE                CTL_CODE(IOCTL_TAPE_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_FIND_NEW_DEVICES     CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_DRIVE_PARAMS     CTL_CODE(IOCTL_TAPE_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_MEDIA_PARAMS     CTL_CODE(IOCTL_TAPE_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_POSITION         CTL_CODE(IOCTL_TAPE_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_STATUS           CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS )
-
-#define IOCTL_TAPE_PREPARE              CTL_CODE(IOCTL_TAPE_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_DRIVE_PARAMS     CTL_CODE(IOCTL_TAPE_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_SET_MEDIA_PARAMS     CTL_CODE(IOCTL_TAPE_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_POSITION         CTL_CODE(IOCTL_TAPE_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_WRITE_MARKS          CTL_CODE(IOCTL_TAPE_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
-  TapeDriveProblemNone,
-  TapeDriveReadWriteWarning,
-  TapeDriveReadWriteError,
-  TapeDriveReadWarning,
-  TapeDriveWriteWarning,
-  TapeDriveReadError,
-  TapeDriveWriteError,
-  TapeDriveHardwareError,
-  TapeDriveUnsupportedMedia,
-  TapeDriveScsiConnectionError,
-  TapeDriveTimetoClean,
-  TapeDriveCleanDriveNow,
-  TapeDriveMediaLifeExpired,
-  TapeDriveSnappedTape
-} TAPE_DRIVE_PROBLEM_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTAPE_H */
Index: Daodan/MinGW/include/ddk/ntddtdi.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddtdi.h	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-/*
- * ntddtdi.h
- *
- * TDI IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDTDI_H
-#define __NTDDTDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_TDI_DEVICE_NAME                "\\Device\\UNKNOWN"
-#define DD_TDI_DEVICE_NAME_U              L"\\Device\\UNKNOWN"
-
-#define _TDI_CONTROL_CODE(Request, Method) \
-  CTL_CODE(FILE_DEVICE_TRANSPORT, Request, Method, FILE_ANY_ACCESS)
-
-#define IOCTL_TDI_ACCEPT                  _TDI_CONTROL_CODE(0,  METHOD_BUFFERED)
-#define IOCTL_TDI_CONNECT                 _TDI_CONTROL_CODE(1,  METHOD_BUFFERED)
-#define IOCTL_TDI_DISCONNECT              _TDI_CONTROL_CODE(2,  METHOD_BUFFERED)
-#define IOCTL_TDI_LISTEN                  _TDI_CONTROL_CODE(3,  METHOD_BUFFERED)
-#define IOCTL_TDI_QUERY_INFORMATION       _TDI_CONTROL_CODE(4,  METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE                 _TDI_CONTROL_CODE(5,  METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE_DATAGRAM        _TDI_CONTROL_CODE(6,  METHOD_OUT_DIRECT)
-#define IOCTL_TDI_SEND                    _TDI_CONTROL_CODE(7,  METHOD_IN_DIRECT)
-#define IOCTL_TDI_SEND_DATAGRAM           _TDI_CONTROL_CODE(8,  METHOD_IN_DIRECT)
-#define IOCTL_TDI_SET_EVENT_HANDLER       _TDI_CONTROL_CODE(9,  METHOD_BUFFERED)
-#define IOCTL_TDI_SET_INFORMATION         _TDI_CONTROL_CODE(10, METHOD_IN_DIRECT)
-#define IOCTL_TDI_ASSOCIATE_ADDRESS       _TDI_CONTROL_CODE(11, METHOD_BUFFERED)
-#define IOCTL_TDI_DISASSOCIATE_ADDRESS    _TDI_CONTROL_CODE(12, METHOD_BUFFERED)
-#define IOCTL_TDI_ACTION                  _TDI_CONTROL_CODE(13, METHOD_OUT_DIRECT)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTDI_H */
Index: Daodan/MinGW/include/ddk/ntddvdeo.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddvdeo.h	(revision 1046)
+++ 	(revision )
@@ -1,440 +1,0 @@
-/*
- * ntddvdeo.h
- *
- * Definitions for video devices
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDVDEO_H
-#define __NTDDVDEO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define VIDEO_DEVICE_NAME                 "DISPLAY%d"
-#define WVIDEO_DEVICE_NAME                L"DISPLAY%d"
-
-#define DD_FULLSCREEN_VIDEO_DEVICE_NAME   L"\\Device\\FSVideo"
-
-DEFINE_GUID(GUID_DEVINTERFACE_DISPLAY_ADAPTER, \
-  0x5b45201d, 0xf2f2, 0x4f3b, 0x85, 0xbb, 0x30, 0xff, 0x1f, 0x95, 0x35, 0x99);
-
-
-#define IOCTL_VIDEO_DISABLE_CURSOR \
-  CTL_CODE (FILE_DEVICE_VIDEO, 0x109, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_DISABLE_POINTER \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10f, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_CURSOR \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x108, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_POINTER \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x119, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_BANK_SELECT_CODE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x115, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_CHILD_STATE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_POWER_MANAGEMENT \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x11c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_LOAD_AND_SET_FONT \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_MAP_VIDEO_MEMORY \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_AVAIL_MODES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x11a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURRENT_MODE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_ATTR \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_POSITION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_ATTR \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x111, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x114, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_POSITION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x113, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x118, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESET_DEVICE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESTORE_HARDWARE_STATE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x81, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SAVE_HARDWARE_STATE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x80, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x122, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_COLOR_REGISTERS \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURRENT_MODE \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_ATTR \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_POSITION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x10c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_PALETTE_REGISTERS \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x106, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_ATTR \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x110, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_POSITION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x112, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POWER_MANAGEMENT \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x11b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SHARE_VIDEO_MEMORY \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x11d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SWITCH_DUALVIEW \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x123, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x117, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x11e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION \
-  CTL_CODE(FILE_DEVICE_VIDEO, 0x121, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-
-typedef struct _VIDEO_MEMORY {
-  PVOID  RequestedVirtualAddress;
-} VIDEO_MEMORY, *PVIDEO_MEMORY;
-
-typedef struct _VIDEO_MEMORY_INFORMATION {
-  PVOID  VideoRamBase;
-  ULONG  VideoRamLength;
-  PVOID  FrameBufferBase;
-  ULONG  FrameBufferLength;
-} VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
-
-/* VIDEO_MODE.RequestedMode */
-#define VIDEO_MODE_MAP_MEM_LINEAR         0x40000000
-#define VIDEO_MODE_NO_ZERO_MEMORY         0x80000000
-
-typedef struct _VIDEO_MODE {
-  ULONG  RequestedMode;
-} VIDEO_MODE, *PVIDEO_MODE;
-
-/* VIDEO_MODE_INFORMATION.AttributeFlags */
-#define VIDEO_MODE_COLOR                  0x0001
-#define VIDEO_MODE_GRAPHICS               0x0002
-#define VIDEO_MODE_PALETTE_DRIVEN         0x0004
-#define VIDEO_MODE_MANAGED_PALETTE        0x0008
-#define VIDEO_MODE_INTERLACED             0x0010
-#define VIDEO_MODE_NO_OFF_SCREEN          0x0020
-#define VIDEO_MODE_NO_64_BIT_ACCESS       0x0040
-#define VIDEO_MODE_BANKED                 0x0080
-#define VIDEO_MODE_LINEAR                 0x0100
-
-typedef struct _VIDEO_MODE_INFORMATION {
-  ULONG  Length;
-  ULONG  ModeIndex;
-  ULONG  VisScreenWidth;
-  ULONG  VisScreenHeight;
-  ULONG  ScreenStride;
-  ULONG  NumberOfPlanes;
-  ULONG  BitsPerPlane;
-  ULONG  Frequency;
-  ULONG  XMillimeter;
-  ULONG  YMillimeter;
-  ULONG  NumberRedBits;
-  ULONG  NumberGreenBits;
-  ULONG  NumberBlueBits;
-  ULONG  RedMask;
-  ULONG  GreenMask;
-  ULONG  BlueMask;
-  ULONG  AttributeFlags;
-  ULONG  VideoMemoryBitmapWidth;
-  ULONG  VideoMemoryBitmapHeight;
-  ULONG  DriverSpecificAttributeFlags;
-} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;
-
-typedef struct _VIDEO_NUM_MODES {
-  ULONG  NumModes;
-  ULONG  ModeInformationLength;
-} VIDEO_NUM_MODES, *PVIDEO_NUM_MODES;
-
-typedef enum _VIDEO_POWER_STATE {
-  VideoPowerUnspecified = 0,
-  VideoPowerOn = 1,
-  VideoPowerStandBy,
-  VideoPowerSuspend,
-  VideoPowerOff,
-  VideoPowerHibernate,
-  VideoPowerShutdown,
-  VideoPowerMaximum
-} VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;
-
-typedef struct _VIDEO_POWER_MANAGEMENT {
-  ULONG  Length;
-  ULONG  DPMSVersion;
-  ULONG  PowerState;
-} VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;
-
-typedef struct _VIDEO_PUBLIC_ACCESS_RANGES {
-  ULONG  InIoSpace;
-  ULONG  MappedInIoSpace;
-  PVOID  VirtualAddress;
-} VIDEO_PUBLIC_ACCESS_RANGES, *PVIDEO_PUBLIC_ACCESS_RANGES;
-
-typedef struct _VIDEO_SHARE_MEMORY {
-  HANDLE  ProcessHandle;
-  ULONG  ViewOffset;
-  ULONG  ViewSize;
-  PVOID  RequestedVirtualAddress;
-} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
-
-typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
-  ULONG  SharedViewOffset;
-  ULONG  SharedViewSize;
-  PVOID  VirtualAddress;
-} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
-
-/* VIDEO_BANK_SELECT.BankingFlags constants */
-#define PLANAR_HC                         0x00000001
-
-/* VIDEO_BANK_SELECT.BankingType and PlanarHCBankingType constants */
-typedef enum _VIDEO_BANK_TYPE {
-  VideoNotBanked = 0,
-  VideoBanked1RW,
-  VideoBanked1R1W,
-  VideoBanked2RW,
-  NumVideoBankTypes
-} VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE;
-
-typedef struct _VIDEO_BANK_SELECT {
-  ULONG  Length;
-  ULONG  Size;
-  ULONG  BankingFlags;
-  ULONG  BankingType;
-  ULONG  PlanarHCBankingType;
-  ULONG  BitmapWidthInBytes;
-  ULONG  BitmapSize;
-  ULONG  Granularity;
-  ULONG  PlanarHCGranularity;
-  ULONG  CodeOffset;
-  ULONG  PlanarHCBankCodeOffset;
-  ULONG  PlanarHCEnableCodeOffset;
-  ULONG  PlanarHCDisableCodeOffset;
-} VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT;
-
-typedef struct _VIDEO_LOAD_FONT_INFORMATION {
-  USHORT  WidthInPixels;
-  USHORT  HeightInPixels;
-  ULONG  FontSize;
-  UCHAR  Font[1];
-} VIDEO_LOAD_FONT_INFORMATION, *PVIDEO_LOAD_FONT_INFORMATION;
-
-/* VIDEO_COLOR_CAPABILITIES.AttributeFlags constants */
-#define VIDEO_DEVICE_COLOR                0x00000001
-#define VIDEO_OPTIONAL_GAMMET_TABLE       0x00000002
-
-typedef struct _VIDEO_COLOR_CAPABILITIES {
-  ULONG  Length;
-  ULONG  AttributeFlags;
-  LONG  RedPhosphoreDecay;
-  LONG  GreenPhosphoreDecay;
-  LONG  BluePhosphoreDecay;
-  LONG  WhiteChromaticity_x;
-  LONG  WhiteChromaticity_y;
-  LONG  WhiteChromaticity_Y;
-  LONG  RedChromaticity_x;
-  LONG  RedChromaticity_y;
-  LONG  GreenChromaticity_x;
-  LONG  GreenChromaticity_y;
-  LONG  BlueChromaticity_x;
-  LONG  BlueChromaticity_y;
-  LONG  WhiteGamma;
-  LONG  RedGamma;
-  LONG  GreenGamma;
-  LONG  BlueGamma;
-} VIDEO_COLOR_CAPABILITIES, *PVIDEO_COLOR_CAPABILITIES;
-
-typedef struct _VIDEO_CURSOR_ATTRIBUTES {
-  USHORT  Width;
-  USHORT  Height;
-  SHORT  Column;
-  SHORT  Row;
-  UCHAR  Rate;
-  UCHAR  Enable;
-} VIDEO_CURSOR_ATTRIBUTES, *PVIDEO_CURSOR_ATTRIBUTES;
-
-typedef struct _VIDEO_CURSOR_POSITION {
-  SHORT  Column;
-  SHORT  Row;
-} VIDEO_CURSOR_POSITION, *PVIDEO_CURSOR_POSITION;
-
-typedef struct _VIDEO_POINTER_ATTRIBUTES {
-  ULONG  Flags;
-  ULONG  Width;
-  ULONG  Height;
-  ULONG  WidthInBytes;
-  ULONG  Enable;
-  SHORT  Column;
-  SHORT  Row;
-  UCHAR  Pixels[1];
-} VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES;
-
-/* VIDEO_POINTER_CAPABILITIES.Flags */
-#define VIDEO_MODE_ASYNC_POINTER          0x01
-#define VIDEO_MODE_MONO_POINTER           0x02
-#define VIDEO_MODE_COLOR_POINTER          0x04
-#define VIDEO_MODE_ANIMATE_START          0x08
-#define VIDEO_MODE_ANIMATE_UPDATE         0x10
-
-typedef struct _VIDEO_POINTER_CAPABILITIES {
-  ULONG  Flags;
-  ULONG  MaxWidth;
-  ULONG  MaxHeight;
-  ULONG  HWPtrBitmapStart;
-  ULONG  HWPtrBitmapEnd;
-} VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES;
-
-typedef struct _VIDEO_POINTER_POSITION {
-  SHORT  Column;
-  SHORT  Row;
-} VIDEO_POINTER_POSITION, *PVIDEO_POINTER_POSITION;
-
-
-/* VIDEO_HARDWARE_STATE_HEADER.VGAStateFlags constants */
-#define VIDEO_STATE_NON_STANDARD_VGA      0x00000001
-#define VIDEO_STATE_UNEMULATED_VGA_STATE  0x00000002
-#define VIDEO_STATE_PACKED_CHAIN4_MODE    0x00000004
-
-typedef struct _VIDEO_HARDWARE_STATE_HEADER {
-  ULONG  Length;
-  UCHAR  PortValue[0x30];
-  ULONG  AttribIndexDataState;
-  ULONG  BasicSequencerOffset;
-  ULONG  BasicCrtContOffset;
-  ULONG  BasicGraphContOffset;
-  ULONG  BasicAttribContOffset;
-  ULONG  BasicDacOffset;
-  ULONG  BasicLatchesOffset;
-  ULONG  ExtendedSequencerOffset;
-  ULONG  ExtendedCrtContOffset;
-  ULONG  ExtendedGraphContOffset;
-  ULONG  ExtendedAttribContOffset;
-  ULONG  ExtendedDacOffset;
-  ULONG  ExtendedValidatorStateOffset;
-  ULONG  ExtendedMiscDataOffset;
-  ULONG  PlaneLength;
-  ULONG  Plane1Offset;
-  ULONG  Plane2Offset;
-  ULONG  Plane3Offset;
-  ULONG  Plane4Offset;
-  ULONG  VGAStateFlags;
-  ULONG  DIBOffset;
-  ULONG  DIBBitsPerPixel;
-  ULONG  DIBXResolution;
-  ULONG  DIBYResolution;
-  ULONG  DIBXlatOffset;
-  ULONG  DIBXlatLength;
-  ULONG  VesaInfoOffset;
-  PVOID  FrameBufferData;
-} VIDEO_HARDWARE_STATE_HEADER, *PVIDEO_HARDWARE_STATE_HEADER;
-
-typedef struct _VIDEO_CLUTDATA {
-  UCHAR  Red;
-  UCHAR  Green;
-  UCHAR  Blue;
-  UCHAR  Unused;
-} VIDEO_CLUTDATA, *PVIDEO_CLUTDATA;
-
-typedef struct {
-	USHORT  NumEntries;
-	USHORT  FirstEntry;
-	union {
-    VIDEO_CLUTDATA  RgbArray;
-    ULONG  RgbLong;
-	} LookupTable[1];
-} VIDEO_CLUT, *PVIDEO_CLUT;
-
-typedef struct _VIDEO_PALETTE_DATA {
-  USHORT  NumEntries;
-  USHORT  FirstEntry;
-  USHORT  Colors[1];
-} VIDEO_PALETTE_DATA, *PVIDEO_PALETTE_DATA;
-
-typedef struct _VIDEO_HARDWARE_STATE {
-	PVIDEO_HARDWARE_STATE_HEADER  StateHeader;
-	ULONG  StateLength;
-} VIDEO_HARDWARE_STATE, *PVIDEO_HARDWARE_STATE;
-
-#define VIDEO_CHILD_ACTIVE                0x00000001
-#define VIDEO_CHILD_DETACHED              0x00000002
-#define VIDEO_CHILD_NOPRUNE_FREQ          0x80000000
-#define VIDEO_CHILD_NOPRUNE_RESOLUTION    0x40000000
-
-#define VIDEO_DUALVIEW_REMOVABLE          0x00000001
-#define VIDEO_DUALVIEW_PRIMARY            0x80000000
-#define VIDEO_DUALVIEW_SECONDARY          0x40000000
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVDEO_H */
Index: Daodan/MinGW/include/ddk/ntddvol.h
===================================================================
--- Daodan/MinGW/include/ddk/ntddvol.h	(revision 1046)
+++ 	(revision )
@@ -1,141 +1,0 @@
-/*
- * ntddvol.h
- *
- * Volume IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDVOL_H
-#define __NTDDVOL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_VOLUME_BASE                 ((ULONG) 'V')
-
-#define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL \
-  CTL_CODE(IOCTL_VOLUME_BASE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_PHYSICAL_TO_LOGICAL \
-  CTL_CODE(IOCTL_VOLUME_BASE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_READ_PLEX \
-  CTL_CODE(IOCTL_VOLUME_BASE, 11, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
-
-#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS \
-  CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_CLUSTERED \
-  CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_VOLUME_NUMBER \
-  CTL_CODE(IOCTL_VOLUME_BASE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_PARTITION \
-  CTL_CODE(IOCTL_VOLUME_BASE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SET_GPT_ATTRIBUTES \
-  CTL_CODE(IOCTL_VOLUME_BASE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_GET_GPT_ATTRIBUTES \
-  CTL_CODE(IOCTL_VOLUME_BASE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE \
-  CTL_CODE(IOCTL_VOLUME_BASE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_ONLINE \
-  CTL_CODE(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_OFFLINE \
-  CTL_CODE(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_IS_OFFLINE \
-  CTL_CODE(IOCTL_VOLUME_BASE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_IO_CAPABLE \
-  CTL_CODE(IOCTL_VOLUME_BASE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_FAILOVER_SET \
-  CTL_CODE(IOCTL_VOLUME_BASE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _VOLUME_LOGICAL_OFFSET {
-  LONGLONG  LogicalOffset;
-} VOLUME_LOGICAL_OFFSET, *PVOLUME_LOGICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSET {
-  ULONG  DiskNumber;
-  LONGLONG  Offset;
-} VOLUME_PHYSICAL_OFFSET, *PVOLUME_PHYSICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSETS {
-  ULONG  NumberOfPhysicalOffsets;
-  VOLUME_PHYSICAL_OFFSET  PhysicalOffset[1];
-} VOLUME_PHYSICAL_OFFSETS, *PVOLUME_PHYSICAL_OFFSETS;
-
-typedef struct _VOLUME_READ_PLEX_INPUT {
-  LARGE_INTEGER  ByteOffset;
-  ULONG  Length;
-  ULONG  PlexNumber;
-} VOLUME_READ_PLEX_INPUT, *PVOLUME_READ_PLEX_INPUT;
-
-typedef struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION {
-  ULONGLONG  GptAttributes;
-} VOLUME_GET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _VOLUME_SET_GPT_ATTRIBUTES_INFORMATION {
-	ULONGLONG  GptAttributes;
-	BOOLEAN  RevertOnClose;
-	BOOLEAN  ApplyToAllConnectedVolumes;
-	USHORT  Reserved1;
-	ULONG  Reserved2;
-} VOLUME_SET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_SET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _DISK_EXTENT {
-	ULONG  DiskNumber;
-	LARGE_INTEGER  StartingOffset;
-	LARGE_INTEGER  ExtentLength;
-} DISK_EXTENT, *PDISK_EXTENT;
-
-typedef struct _VOLUME_DISK_EXTENTS {
-	ULONG  NumberOfDiskExtents;
-	DISK_EXTENT  Extents[1];
-} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
-
-typedef struct _VOLUME_NUMBER {
-	ULONG  VolumeNumber;
-	WCHAR  VolumeManagerName[8];
-} VOLUME_NUMBER, *PVOLUME_NUMBER;
-
-typedef struct _VOLUME_FAILOVER_SET {
-	ULONG  NumberOfDisks;
-	ULONG  DiskNumbers[1];
-} VOLUME_FAILOVER_SET, *PVOLUME_FAILOVER_SET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVOL_H */
Index: Daodan/MinGW/include/ddk/ntifs.h
===================================================================
--- Daodan/MinGW/include/ddk/ntifs.h	(revision 1046)
+++ 	(revision )
@@ -1,5359 +1,0 @@
-/*
- * ntifs.h
- *
- * Windows NT Filesystem Driver Developer Kit
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Bo Brantén <bosse@acc.umu.se>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _NTIFS_
-#define _NTIFS_
-#define _GNU_NTIFS_
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntapi.h"
-
-#define VER_PRODUCTBUILD 10000
-
-#ifndef NTSYSAPI
-#define NTSYSAPI
-#endif
-
-#ifndef NTKERNELAPI
-#define NTKERNELAPI STDCALL
-#endif
-
-typedef struct _SE_EXPORTS                  *PSE_EXPORTS;
-
-extern PUCHAR                       *FsRtlLegalAnsiCharacterArray;
-extern PSE_EXPORTS                  SeExports;
-extern PACL                         SePublicDefaultDacl;
-extern PACL                         SeSystemDefaultDacl;
-
-#define ANSI_DOS_STAR                   ('<')
-#define ANSI_DOS_QM                     ('>')
-#define ANSI_DOS_DOT                    ('"')
-
-#define DOS_STAR                        (L'<')
-#define DOS_QM                          (L'>')
-#define DOS_DOT                         (L'"')
-
-/* also in winnt.h */
-#define ACCESS_ALLOWED_ACE_TYPE         (0x0)
-#define ACCESS_DENIED_ACE_TYPE          (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE           (0x2)
-#define SYSTEM_ALARM_ACE_TYPE           (0x3)
-
-#define COMPRESSION_FORMAT_NONE         (0x0000)
-#define COMPRESSION_FORMAT_DEFAULT      (0x0001)
-#define COMPRESSION_FORMAT_LZNT1        (0x0002)
-#define COMPRESSION_ENGINE_STANDARD     (0x0000)
-#define COMPRESSION_ENGINE_MAXIMUM      (0x0100)
-#define COMPRESSION_ENGINE_HIBER        (0x0200)
-
-#define FILE_ACTION_ADDED                   0x00000001
-#define FILE_ACTION_REMOVED                 0x00000002
-#define FILE_ACTION_MODIFIED                0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME        0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME        0x00000005
-#define FILE_ACTION_ADDED_STREAM            0x00000006
-#define FILE_ACTION_REMOVED_STREAM          0x00000007
-#define FILE_ACTION_MODIFIED_STREAM         0x00000008
-#define FILE_ACTION_REMOVED_BY_DELETE       0x00000009
-#define FILE_ACTION_ID_NOT_TUNNELLED        0x0000000A
-#define FILE_ACTION_TUNNELLED_ID_COLLISION  0x0000000B
-/* end  winnt.h */
-
-#define FILE_EA_TYPE_BINARY             0xfffe
-#define FILE_EA_TYPE_ASCII              0xfffd
-#define FILE_EA_TYPE_BITMAP             0xfffb
-#define FILE_EA_TYPE_METAFILE           0xfffa
-#define FILE_EA_TYPE_ICON               0xfff9
-#define FILE_EA_TYPE_EA                 0xffee
-#define FILE_EA_TYPE_MVMT               0xffdf
-#define FILE_EA_TYPE_MVST               0xffde
-#define FILE_EA_TYPE_ASN1               0xffdd
-#define FILE_EA_TYPE_FAMILY_IDS         0xff01
-
-#define FILE_NEED_EA                    0x00000080
-
-/* also in winnt.h */
-#define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002
-#define FILE_NOTIFY_CHANGE_NAME         0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES   0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE         0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE   0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS  0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION     0x00000040
-#define FILE_NOTIFY_CHANGE_EA           0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY     0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME  0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE  0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-#define FILE_NOTIFY_VALID_MASK          0x00000fff
-/* end winnt.h */
-
-#define FILE_OPLOCK_BROKEN_TO_LEVEL_2   0x00000007
-#define FILE_OPLOCK_BROKEN_TO_NONE      0x00000008
-
-#define FILE_OPBATCH_BREAK_UNDERWAY     0x00000009
-
-#define FILE_CASE_SENSITIVE_SEARCH      0x00000001
-#define FILE_CASE_PRESERVED_NAMES       0x00000002
-#define FILE_UNICODE_ON_DISK            0x00000004
-#define FILE_PERSISTENT_ACLS            0x00000008
-#define FILE_FILE_COMPRESSION           0x00000010
-#define FILE_VOLUME_QUOTAS              0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES      0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS    0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE    0x00000100
-#define FS_LFN_APIS                     0x00004000
-#define FILE_VOLUME_IS_COMPRESSED       0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS        0x00010000
-#define FILE_SUPPORTS_ENCRYPTION        0x00020000
-#define FILE_NAMED_STREAMS              0x00040000
-#define FILE_READ_ONLY_VOLUME           0x00080000
-#define FILE_SEQUENTIAL_WRITE_ONCE      0x00100000
-#define FILE_SUPPORTS_TRANSACTIONS      0x00200000
-/* Note: These flags only have a meaning starting with Windows 7/2008 R2.
-   Their absence on older OSes does NOT mean that a filesystem is missing
-   that property. */
-#define FILE_SUPPORTS_HARD_LINKS        0x00400000
-#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
-#define FILE_SUPPORTS_OPEN_BY_FILE_ID   0x01000000
-#define FILE_SUPPORTS_USN_JOURNAL       0x02000000
-
-#define FILE_PIPE_BYTE_STREAM_TYPE      0x00000000
-#define FILE_PIPE_MESSAGE_TYPE          0x00000001
-
-#define FILE_PIPE_BYTE_STREAM_MODE      0x00000000
-#define FILE_PIPE_MESSAGE_MODE          0x00000001
-
-#define FILE_PIPE_QUEUE_OPERATION       0x00000000
-#define FILE_PIPE_COMPLETE_OPERATION    0x00000001
-
-#define FILE_PIPE_INBOUND               0x00000000
-#define FILE_PIPE_OUTBOUND              0x00000001
-#define FILE_PIPE_FULL_DUPLEX           0x00000002
-
-#define FILE_PIPE_DISCONNECTED_STATE    0x00000001
-#define FILE_PIPE_LISTENING_STATE       0x00000002
-#define FILE_PIPE_CONNECTED_STATE       0x00000003
-#define FILE_PIPE_CLOSING_STATE         0x00000004
-
-#define FILE_PIPE_CLIENT_END            0x00000000
-#define FILE_PIPE_SERVER_END            0x00000001
-
-#define FILE_PIPE_READ_DATA             0x00000000
-#define FILE_PIPE_WRITE_SPACE           0x00000001
-
-#define FILE_STORAGE_TYPE_SPECIFIED             0x00000041  /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */
-#define FILE_STORAGE_TYPE_DEFAULT               (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DIRECTORY             (StorageTypeDirectory << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_FILE                  (StorageTypeFile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DOCFILE               (StorageTypeDocfile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_JUNCTION_POINT        (StorageTypeJunctionPoint << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_CATALOG               (StorageTypeCatalog << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STRUCTURED_STORAGE    (StorageTypeStructuredStorage << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_EMBEDDING             (StorageTypeEmbedding << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STREAM                (StorageTypeStream << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_MINIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_DEFAULT
-#define FILE_MAXIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_STREAM
-#define FILE_STORAGE_TYPE_MASK                  0x000f0000
-#define FILE_STORAGE_TYPE_SHIFT                 16
-
-#define FILE_VC_QUOTA_NONE              0x00000000
-#define FILE_VC_QUOTA_TRACK             0x00000001
-#define FILE_VC_QUOTA_ENFORCE           0x00000002
-#define FILE_VC_QUOTA_MASK              0x00000003
-
-#define FILE_VC_QUOTAS_LOG_VIOLATIONS   0x00000004
-#define FILE_VC_CONTENT_INDEX_DISABLED  0x00000008
-
-#define FILE_VC_LOG_QUOTA_THRESHOLD     0x00000010
-#define FILE_VC_LOG_QUOTA_LIMIT         0x00000020
-#define FILE_VC_LOG_VOLUME_THRESHOLD    0x00000040
-#define FILE_VC_LOG_VOLUME_LIMIT        0x00000080
-
-#define FILE_VC_QUOTAS_INCOMPLETE       0x00000100
-#define FILE_VC_QUOTAS_REBUILDING       0x00000200
-
-#define FILE_VC_VALID_MASK              0x000003ff
-
-#define FSRTL_FLAG_FILE_MODIFIED        (0x01)
-#define FSRTL_FLAG_FILE_LENGTH_CHANGED  (0x02)
-#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)
-#define FSRTL_FLAG_USER_MAPPED_FILE     (0x20)
-#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE   (0x80)
-
-#define FSRTL_FLAG2_DO_MODIFIED_WRITE   (0x01)
-
-#define FSRTL_FSP_TOP_LEVEL_IRP         (0x01)
-#define FSRTL_CACHE_TOP_LEVEL_IRP       (0x02)
-#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP   (0x03)
-#define FSRTL_FAST_IO_TOP_LEVEL_IRP     (0x04)
-#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG    (0x04)
-
-#define FSRTL_VOLUME_DISMOUNT           1
-#define FSRTL_VOLUME_DISMOUNT_FAILED    2
-#define FSRTL_VOLUME_LOCK               3
-#define FSRTL_VOLUME_LOCK_FAILED        4
-#define FSRTL_VOLUME_UNLOCK             5
-#define FSRTL_VOLUME_MOUNT              6
-
-#define FSRTL_WILD_CHARACTER            0x08
-
-#ifdef _X86_
-#define HARDWARE_PTE    HARDWARE_PTE_X86
-#define PHARDWARE_PTE   PHARDWARE_PTE_X86
-#else
-#define HARDWARE_PTE    ULONG
-#define PHARDWARE_PTE   PULONG
-#endif
-
-#define IO_CHECK_CREATE_PARAMETERS      0x0200
-#define IO_ATTACH_DEVICE                0x0400
-
-#define IO_ATTACH_DEVICE_API            0x80000000
-/* also in winnt.h */
-#define IO_COMPLETION_QUERY_STATE       0x0001
-#define IO_COMPLETION_MODIFY_STATE      0x0002
-#define IO_COMPLETION_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-/* end winnt.h */
-#define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE    64
-#define IO_FILE_OBJECT_PAGED_POOL_CHARGE        1024
-
-#define IO_TYPE_APC                     18
-#define IO_TYPE_DPC                     19
-#define IO_TYPE_DEVICE_QUEUE            20
-#define IO_TYPE_EVENT_PAIR              21
-#define IO_TYPE_INTERRUPT               22
-#define IO_TYPE_PROFILE                 23
-
-#define IRP_BEING_VERIFIED              0x10
-
-#define MAILSLOT_CLASS_FIRSTCLASS       1
-#define MAILSLOT_CLASS_SECONDCLASS      2
-
-#define MAILSLOT_SIZE_AUTO              0
-
-#define MAP_PROCESS                     1L
-#define MAP_SYSTEM                      2L
-#define MEM_DOS_LIM                     0x40000000
-/* also in winnt.h */
-#define MEM_IMAGE                       SEC_IMAGE
-/* end winnt.h */
-#define OB_TYPE_TYPE                    1
-#define OB_TYPE_DIRECTORY               2
-#define OB_TYPE_SYMBOLIC_LINK           3
-#define OB_TYPE_TOKEN                   4
-#define OB_TYPE_PROCESS                 5
-#define OB_TYPE_THREAD                  6
-#define OB_TYPE_EVENT                   7
-#define OB_TYPE_EVENT_PAIR              8
-#define OB_TYPE_MUTANT                  9
-#define OB_TYPE_SEMAPHORE               10
-#define OB_TYPE_TIMER                   11
-#define OB_TYPE_PROFILE                 12
-#define OB_TYPE_WINDOW_STATION          13
-#define OB_TYPE_DESKTOP                 14
-#define OB_TYPE_SECTION                 15
-#define OB_TYPE_KEY                     16
-#define OB_TYPE_PORT                    17
-#define OB_TYPE_ADAPTER                 18
-#define OB_TYPE_CONTROLLER              19
-#define OB_TYPE_DEVICE                  20
-#define OB_TYPE_DRIVER                  21
-#define OB_TYPE_IO_COMPLETION           22
-#define OB_TYPE_FILE                    23
-
-#define PIN_WAIT                        (1)
-#define PIN_EXCLUSIVE                   (2)
-#define PIN_NO_READ                     (4)
-#define PIN_IF_BCB                      (8)
-
-#define PORT_CONNECT                    0x0001
-#define PORT_ALL_ACCESS                 (STANDARD_RIGHTS_ALL |\
-                                         PORT_CONNECT)
-/* also in winnt.h */
-#define SEC_BASED	0x00200000
-#define SEC_NO_CHANGE	0x00400000
-#define SEC_FILE	0x00800000
-#define SEC_IMAGE	0x01000000
-#define SEC_VLM		0x02000000
-#define SEC_RESERVE	0x04000000
-#define SEC_COMMIT	0x08000000
-#define SEC_NOCACHE	0x10000000
-
-#define SECURITY_WORLD_SID_AUTHORITY    {0,0,0,0,0,1}
-#define SECURITY_WORLD_RID              (0x00000000L)
-
-#define SID_REVISION                    1
-
-#define TOKEN_ASSIGN_PRIMARY            (0x0001)
-#define TOKEN_DUPLICATE                 (0x0002)
-#define TOKEN_IMPERSONATE               (0x0004)
-#define TOKEN_QUERY                     (0x0008)
-#define TOKEN_QUERY_SOURCE              (0x0010)
-#define TOKEN_ADJUST_PRIVILEGES         (0x0020)
-#define TOKEN_ADJUST_GROUPS             (0x0040)
-#define TOKEN_ADJUST_DEFAULT            (0x0080)
-
-#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
-                          TOKEN_ASSIGN_PRIMARY     |\
-                          TOKEN_DUPLICATE          |\
-                          TOKEN_IMPERSONATE        |\
-                          TOKEN_QUERY              |\
-                          TOKEN_QUERY_SOURCE       |\
-                          TOKEN_ADJUST_PRIVILEGES  |\
-                          TOKEN_ADJUST_GROUPS      |\
-                          TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_READ       (STANDARD_RIGHTS_READ     |\
-                          TOKEN_QUERY)
-
-#define TOKEN_WRITE      (STANDARD_RIGHTS_WRITE    |\
-                          TOKEN_ADJUST_PRIVILEGES  |\
-                          TOKEN_ADJUST_GROUPS      |\
-                          TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_EXECUTE    (STANDARD_RIGHTS_EXECUTE)
-
-#define TOKEN_SOURCE_LENGTH 8
-/* end winnt.h */
-
-#define TOKEN_HAS_TRAVERSE_PRIVILEGE    0x01
-#define TOKEN_HAS_BACKUP_PRIVILEGE      0x02
-#define TOKEN_HAS_RESTORE_PRIVILEGE     0x04
-#define TOKEN_HAS_ADMIN_GROUP           0x08
-#define TOKEN_IS_RESTRICTED             0x10
-
-#define VACB_MAPPING_GRANULARITY        (0x40000)
-#define VACB_OFFSET_SHIFT               (18)
-
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1    CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2    CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_BATCH_OPLOCK      CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE  CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_NOTIFY       CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_LOCK_VOLUME               CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_UNLOCK_VOLUME             CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DISMOUNT_VOLUME           CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_IS_VOLUME_MOUNTED         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_PATHNAME_VALID         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_VOLUME_DIRTY         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_QUERY_RETRIEVAL_POINTERS  CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_COMPRESSION           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_COMPRESSION           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-
-
-#define FSCTL_MARK_AS_SYSTEM_HIVE       CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACK_NO_2     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_INVALIDATE_VOLUMES        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_FAT_BPB             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_FILTER_OPLOCK     CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-#define FSCTL_GET_NTFS_VOLUME_DATA      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_NTFS_FILE_RECORD      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_VOLUME_BITMAP         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_RETRIEVAL_POINTERS    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_MOVE_FILE                 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_VOLUME_DIRTY           CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_HFS_INFORMATION       CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ALLOW_EXTENDED_DASD_IO    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER,  FILE_ANY_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-#define FSCTL_READ_PROPERTY_DATA        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_PROPERTY_DATA       CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_FIND_FILES_BY_SID         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define FSCTL_DUMP_PROPERTY_DATA        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_SET_OBJECT_ID             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_OBJECT_ID             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_OBJECT_ID          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_REPARSE_POINT         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_REPARSE_POINT         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_REPARSE_POINT      CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_ENUM_USN_DATA             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SECURITY_ID_CHECK         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_USN_JOURNAL          CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SET_OBJECT_ID_EXTENDED    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_CREATE_OR_GET_OBJECT_ID   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_SPARSE                CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ZERO_DATA             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_QUERY_ALLOCATED_RANGES    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_ENABLE_UPGRADE            CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ENCRYPTION            CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ENCRYPTION_FSCTL_IO       CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_RAW_ENCRYPTED       CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_READ_RAW_ENCRYPTED        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56,  METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_CREATE_USN_JOURNAL        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_FILE_USN_DATA        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_WRITE_USN_CLOSE_RECORD    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59,  METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_EXTEND_VOLUME             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_USN_JOURNAL         CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_USN_JOURNAL        CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_HANDLE               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_COPYFILE              CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_LINK_FILES            CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_HSM_MSG                   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 66, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_NSS_CONTROL               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 67, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_HSM_DATA                  CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 68, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_RECALL_FILE               CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NSS_RCONTROL              CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 70, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_READ_FROM_PLEX            CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA)
-#define FSCTL_FILE_PREFETCH             CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define FSCTL_MAILSLOT_PEEK             CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)
-
-#define FSCTL_NETWORK_SET_CONFIGURATION_INFO    CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 102, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONFIGURATION_INFO    CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 103, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONNECTION_INFO       CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 104, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_ENUMERATE_CONNECTIONS     CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 105, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_DELETE_CONNECTION         CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_STATISTICS            CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_SET_DOMAIN_NAME           CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_REMOTE_BOOT_INIT_SCRT     CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_PIPE_ASSIGN_EVENT         CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_DISCONNECT           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_LISTEN               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_PEEK                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_QUERY_EVENT          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_TRANSCEIVE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_WAIT                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_IMPERSONATE          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_SET_CLIENT_PROCESS   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_INTERNAL_READ        CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_INTERNAL_WRITE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_TRANSCEIVE  CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
-
-#define IOCTL_REDIR_QUERY_PATH          CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef PVOID PEJOB;
-typedef PVOID OPLOCK, *POPLOCK;
-typedef PVOID PWOW64_PROCESS;
-
-typedef struct _CACHE_MANAGER_CALLBACKS         *PCACHE_MANAGER_CALLBACKS;
-typedef struct _EPROCESS_QUOTA_BLOCK            *PEPROCESS_QUOTA_BLOCK;
-typedef struct _FILE_GET_QUOTA_INFORMATION      *PFILE_GET_QUOTA_INFORMATION;
-typedef struct _HANDLE_TABLE                    *PHANDLE_TABLE;
-typedef struct _KEVENT_PAIR                     *PKEVENT_PAIR;
-typedef struct _KPROCESS                        *PKPROCESS;
-typedef struct _KQUEUE                          *PKQUEUE;
-typedef struct _KTRAP_FRAME                     *PKTRAP_FRAME;
-typedef struct _MAILSLOT_CREATE_PARAMETERS      *PMAILSLOT_CREATE_PARAMETERS;
-typedef struct _MMWSL                           *PMMWSL;
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS    *PNAMED_PIPE_CREATE_PARAMETERS;
-typedef struct _OBJECT_DIRECTORY                *POBJECT_DIRECTORY;
-typedef struct _PAGEFAULT_HISTORY               *PPAGEFAULT_HISTORY;
-typedef struct _PS_IMPERSONATION_INFORMATION    *PPS_IMPERSONATION_INFORMATION;
-typedef struct _SECTION_OBJECT                  *PSECTION_OBJECT;
-typedef struct _SHARED_CACHE_MAP                *PSHARED_CACHE_MAP;
-typedef struct _TERMINATION_PORT                *PTERMINATION_PORT;
-typedef struct _VACB                            *PVACB;
-typedef struct _VAD_HEADER                      *PVAD_HEADER;
-
-typedef struct _NOTIFY_SYNC
-{
-    ULONG Unknown0;
-    ULONG Unknown1;
-    ULONG Unknown2;
-    USHORT Unknown3;
-    USHORT Unknown4;
-    ULONG Unknown5;
-    ULONG Unknown6;
-    ULONG Unknown7;
-    ULONG Unknown8;
-    ULONG Unknown9;
-    ULONG Unknown10;
-} NOTIFY_SYNC, * PNOTIFY_SYNC;
-
-typedef enum _FAST_IO_POSSIBLE {
-    FastIoIsNotPossible,
-    FastIoIsPossible,
-    FastIoIsQuestionable
-} FAST_IO_POSSIBLE;
-
-typedef enum _FILE_STORAGE_TYPE {
-    StorageTypeDefault = 1,
-    StorageTypeDirectory,
-    StorageTypeFile,
-    StorageTypeJunctionPoint,
-    StorageTypeCatalog,
-    StorageTypeStructuredStorage,
-    StorageTypeEmbedding,
-    StorageTypeStream
-} FILE_STORAGE_TYPE;
-
-typedef enum _IO_COMPLETION_INFORMATION_CLASS {
-    IoCompletionBasicInformation
-} IO_COMPLETION_INFORMATION_CLASS;
-
-typedef enum _OBJECT_INFO_CLASS {
-    ObjectBasicInfo,
-    ObjectNameInfo,
-    ObjectTypeInfo,
-    ObjectAllTypesInfo,
-    ObjectProtectionInfo
-} OBJECT_INFO_CLASS;
-
-typedef struct _HARDWARE_PTE_X86 {
-    ULONG Valid             : 1;
-    ULONG Write             : 1;
-    ULONG Owner             : 1;
-    ULONG WriteThrough      : 1;
-    ULONG CacheDisable      : 1;
-    ULONG Accessed          : 1;
-    ULONG Dirty             : 1;
-    ULONG LargePage         : 1;
-    ULONG Global            : 1;
-    ULONG CopyOnWrite       : 1;
-    ULONG Prototype         : 1;
-    ULONG reserved          : 1;
-    ULONG PageFrameNumber   : 20;
-} HARDWARE_PTE_X86, *PHARDWARE_PTE_X86;
-
-typedef struct _KAPC_STATE {
-    LIST_ENTRY  ApcListHead[2];
-    PKPROCESS   Process;
-    BOOLEAN     KernelApcInProgress;
-    BOOLEAN     KernelApcPending;
-    BOOLEAN     UserApcPending;
-} KAPC_STATE, *PKAPC_STATE;
-
-typedef struct _KGDTENTRY {
-    USHORT LimitLow;
-    USHORT BaseLow;
-    union {
-        struct {
-            UCHAR BaseMid;
-            UCHAR Flags1;
-            UCHAR Flags2;
-            UCHAR BaseHi;
-        } Bytes;
-        struct {
-            ULONG BaseMid       : 8;
-            ULONG Type          : 5;
-            ULONG Dpl           : 2;
-            ULONG Pres          : 1;
-            ULONG LimitHi       : 4;
-            ULONG Sys           : 1;
-            ULONG Reserved_0    : 1;
-            ULONG Default_Big   : 1;
-            ULONG Granularity   : 1;
-            ULONG BaseHi        : 8;
-        } Bits;
-    } HighWord;
-} KGDTENTRY, *PKGDTENTRY;
-
-typedef struct _KIDTENTRY {
-    USHORT Offset;
-    USHORT Selector;
-    USHORT Access;
-    USHORT ExtendedOffset;
-} KIDTENTRY, *PKIDTENTRY;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT_FLAGS {
-    ULONG SessionSpace              : 1;
-    ULONG BeingTrimmed              : 1;
-    ULONG SessionLeader             : 1;
-    ULONG TrimHard                  : 1;
-    ULONG WorkingSetHard            : 1;
-    ULONG AddressSpaceBeingDeleted  : 1;
-    ULONG Available                 : 10;
-    ULONG AllowWorkingSetAdjustment : 8;
-    ULONG MemoryPriority            : 8;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#else
-
-typedef struct _MMSUPPORT_FLAGS {
-    ULONG SessionSpace      : 1;
-    ULONG BeingTrimmed      : 1;
-    ULONG ProcessInSession  : 1;
-    ULONG SessionLeader     : 1;
-    ULONG TrimHard          : 1;
-    ULONG WorkingSetHard    : 1;
-    ULONG WriteWatch        : 1;
-    ULONG Filler            : 25;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#endif
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT {
-    LARGE_INTEGER   LastTrimTime;
-    MMSUPPORT_FLAGS Flags;
-    ULONG           PageFaultCount;
-    ULONG           PeakWorkingSetSize;
-    ULONG           WorkingSetSize;
-    ULONG           MinimumWorkingSetSize;
-    ULONG           MaximumWorkingSetSize;
-    PMMWSL          VmWorkingSetList;
-    LIST_ENTRY      WorkingSetExpansionLinks;
-    ULONG           Claim;
-    ULONG           NextEstimationSlot;
-    ULONG           NextAgingSlot;
-    ULONG           EstimatedAvailable;
-    ULONG           GrowthSinceLastEstimate;
-} MMSUPPORT, *PMMSUPPORT;
-
-#else
-
-typedef struct _MMSUPPORT {
-    LARGE_INTEGER   LastTrimTime;
-    ULONG           LastTrimFaultCount;
-    ULONG           PageFaultCount;
-    ULONG           PeakWorkingSetSize;
-    ULONG           WorkingSetSize;
-    ULONG           MinimumWorkingSetSize;
-    ULONG           MaximumWorkingSetSize;
-    PMMWSL          VmWorkingSetList;
-    LIST_ENTRY      WorkingSetExpansionLinks;
-    BOOLEAN         AllowWorkingSetAdjustment;
-    BOOLEAN         AddressSpaceBeingDeleted;
-    UCHAR           ForegroundSwitchCount;
-    UCHAR           MemoryPriority;
-#if (VER_PRODUCTBUILD >= 2195)
-    union {
-        ULONG           LongFlags;
-        MMSUPPORT_FLAGS Flags;
-    } u;
-    ULONG           Claim;
-    ULONG           NextEstimationSlot;
-    ULONG           NextAgingSlot;
-    ULONG           EstimatedAvailable;
-    ULONG           GrowthSinceLastEstimate;
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-} MMSUPPORT, *PMMSUPPORT;
-
-#endif
-
-typedef struct _SE_AUDIT_PROCESS_CREATION_INFO {
-    POBJECT_NAME_INFORMATION ImageFileName;
-} SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
-
-typedef struct _BITMAP_RANGE {
-    LIST_ENTRY      Links;
-    LARGE_INTEGER   BasePage;
-    ULONG           FirstDirtyPage;
-    ULONG           LastDirtyPage;
-    ULONG           DirtyPages;
-    PULONG          Bitmap;
-} BITMAP_RANGE, *PBITMAP_RANGE;
-
-typedef struct _CACHE_UNINITIALIZE_EVENT {
-    struct _CACHE_UNINITIALIZE_EVENT    *Next;
-    KEVENT                              Event;
-} CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
-
-typedef struct _CC_FILE_SIZES {
-    LARGE_INTEGER AllocationSize;
-    LARGE_INTEGER FileSize;
-    LARGE_INTEGER ValidDataLength;
-} CC_FILE_SIZES, *PCC_FILE_SIZES;
-
-typedef struct _COMPRESSED_DATA_INFO {
-    USHORT  CompressionFormatAndEngine;
-    UCHAR   CompressionUnitShift;
-    UCHAR   ChunkShift;
-    UCHAR   ClusterShift;
-    UCHAR   Reserved;
-    USHORT  NumberOfChunks;
-    ULONG   CompressedChunkSizes[ANYSIZE_ARRAY];
-} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
-
-typedef struct _DEVICE_MAP {
-    POBJECT_DIRECTORY   DosDevicesDirectory;
-    POBJECT_DIRECTORY   GlobalDosDevicesDirectory;
-    ULONG               ReferenceCount;
-    ULONG               DriveMap;
-    UCHAR               DriveType[32];
-} DEVICE_MAP, *PDEVICE_MAP;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _EX_FAST_REF {
-    _ANONYMOUS_UNION union {
-        PVOID Object;
-        ULONG RefCnt : 3;
-        ULONG Value;
-    } DUMMYUNIONNAME;
-} EX_FAST_REF, *PEX_FAST_REF;
-
-typedef struct _EX_PUSH_LOCK {
-    _ANONYMOUS_UNION union {
-        _ANONYMOUS_STRUCT struct {
-            ULONG   Waiting     : 1;
-            ULONG   Exclusive   : 1;
-            ULONG   Shared      : 30;
-        } DUMMYSTRUCTNAME;
-        ULONG   Value;
-        PVOID   Ptr;
-    } DUMMYUNIONNAME;
-} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
-
-typedef struct _EX_RUNDOWN_REF {
-    _ANONYMOUS_UNION union {
-        ULONG Count;
-        PVOID Ptr;
-    } DUMMYUNIONNAME;
-} EX_RUNDOWN_REF, *PEX_RUNDOWN_REF;
-
-#endif
-
-typedef struct _EPROCESS_QUOTA_ENTRY {
-    ULONG Usage;
-    ULONG Limit;
-    ULONG Peak;
-    ULONG Return;
-} EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY;
-
-typedef struct _EPROCESS_QUOTA_BLOCK {
-    EPROCESS_QUOTA_ENTRY    QuotaEntry[3];
-    LIST_ENTRY              QuotaList;
-    ULONG                   ReferenceCount;
-    ULONG                   ProcessCount;
-} EPROCESS_QUOTA_BLOCK, *PEPROCESS_QUOTA_BLOCK;
-
-/*
- * When needing these parameters cast your PIO_STACK_LOCATION to
- * PEXTENDED_IO_STACK_LOCATION
- */
-#if !defined(_ALPHA_) && !defined(_M_ALPHA)
-#include <pshpack4.h>
-#endif
-typedef struct _EXTENDED_IO_STACK_LOCATION {
-
-    /* Included for padding */
-    UCHAR MajorFunction;
-    UCHAR MinorFunction;
-    UCHAR Flags;
-    UCHAR Control;
-
-    union {
-
-       struct {
-          PIO_SECURITY_CONTEXT              SecurityContext;
-          ULONG                             Options;
-          USHORT                            Reserved;
-          USHORT                            ShareAccess;
-          PMAILSLOT_CREATE_PARAMETERS       Parameters;
-       } CreateMailslot;
-
-        struct {
-            PIO_SECURITY_CONTEXT            SecurityContext;
-            ULONG                           Options;
-            USHORT                          Reserved;
-            USHORT                          ShareAccess;
-            PNAMED_PIPE_CREATE_PARAMETERS   Parameters;
-        } CreatePipe;
-
-        struct {
-            ULONG                           OutputBufferLength;
-            ULONG                           InputBufferLength;
-            ULONG                           FsControlCode;
-            PVOID                           Type3InputBuffer;
-        } FileSystemControl;
-
-        struct {
-            PLARGE_INTEGER                  Length;
-            ULONG                           Key;
-            LARGE_INTEGER                   ByteOffset;
-        } LockControl;
-
-        struct {
-            ULONG                           Length;
-            ULONG                           CompletionFilter;
-        } NotifyDirectory;
-
-        struct {
-            ULONG                           Length;
-            PUNICODE_STRING                 FileName;
-            FILE_INFORMATION_CLASS          FileInformationClass;
-            ULONG                           FileIndex;
-        } QueryDirectory;
-
-        struct {
-            ULONG                           Length;
-            PVOID                           EaList;
-            ULONG                           EaListLength;
-            ULONG                           EaIndex;
-        } QueryEa;
-
-        struct {
-            ULONG                           Length;
-            PSID                            StartSid;
-            PFILE_GET_QUOTA_INFORMATION     SidList;
-            ULONG                           SidListLength;
-        } QueryQuota;
-
-        struct {
-            ULONG                           Length;
-        } SetEa;
-
-        struct {
-            ULONG                           Length;
-        } SetQuota;
-
-        struct {
-            ULONG                           Length;
-            FS_INFORMATION_CLASS            FsInformationClass;
-        } SetVolume;
-
-    } Parameters;
-    PDEVICE_OBJECT  DeviceObject;
-    PFILE_OBJECT  FileObject;
-    PIO_COMPLETION_ROUTINE  CompletionRoutine;
-    PVOID  Context;
-
-} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
-#if !defined(_ALPHA_) && !defined(_M_ALPHA)
-#include <poppack.h>
-#endif
-
-typedef struct _FILE_ACCESS_INFORMATION {
-    ACCESS_MASK AccessFlags;
-} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
-
-typedef struct _FILE_ALLOCATION_INFORMATION {
-    LARGE_INTEGER AllocationSize;
-} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
-
-typedef struct _FILE_BOTH_DIR_INFORMATION {
-    ULONG           NextEntryOffset;
-    ULONG           FileIndex;
-    LARGE_INTEGER   CreationTime;
-    LARGE_INTEGER   LastAccessTime;
-    LARGE_INTEGER   LastWriteTime;
-    LARGE_INTEGER   ChangeTime;
-    LARGE_INTEGER   EndOfFile;
-    LARGE_INTEGER   AllocationSize;
-    ULONG           FileAttributes;
-    ULONG           FileNameLength;
-    ULONG           EaSize;
-    CCHAR           ShortNameLength;
-    WCHAR           ShortName[12];
-    WCHAR           FileName[1];
-} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
-
-typedef struct _FILE_COMPLETION_INFORMATION {
-    HANDLE  Port;
-    ULONG   Key;
-} FILE_COMPLETION_INFORMATION, *PFILE_COMPLETION_INFORMATION;
-
-typedef struct _FILE_COMPRESSION_INFORMATION {
-    LARGE_INTEGER   CompressedFileSize;
-    USHORT          CompressionFormat;
-    UCHAR           CompressionUnitShift;
-    UCHAR           ChunkShift;
-    UCHAR           ClusterShift;
-    UCHAR           Reserved[3];
-} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;
-
-typedef struct _FILE_COPY_ON_WRITE_INFORMATION {
-    BOOLEAN ReplaceIfExists;
-    HANDLE  RootDirectory;
-    ULONG   FileNameLength;
-    WCHAR   FileName[1];
-} FILE_COPY_ON_WRITE_INFORMATION, *PFILE_COPY_ON_WRITE_INFORMATION;
-
-typedef struct _FILE_DIRECTORY_INFORMATION {
-    ULONG           NextEntryOffset;
-    ULONG           FileIndex;
-    LARGE_INTEGER   CreationTime;
-    LARGE_INTEGER   LastAccessTime;
-    LARGE_INTEGER   LastWriteTime;
-    LARGE_INTEGER   ChangeTime;
-    LARGE_INTEGER   EndOfFile;
-    LARGE_INTEGER   AllocationSize;
-    ULONG           FileAttributes;
-    ULONG           FileNameLength;
-    WCHAR           FileName[1];
-} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_FULL_DIRECTORY_INFORMATION {
-		ULONG	          NextEntryOffset;
-		ULONG	          FileIndex;
-		LARGE_INTEGER   CreationTime;
-		LARGE_INTEGER   LastAccessTime;
-		LARGE_INTEGER   LastWriteTime;
-		LARGE_INTEGER   ChangeTime;
-		LARGE_INTEGER   EndOfFile;
-		LARGE_INTEGER   AllocationSize;
-		ULONG           FileAttributes;
-		ULONG           FileNameLength;
-		ULONG           EaSize;
-		WCHAR           FileName[0];
-} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_BOTH_DIRECTORY_INFORMATION {
-		ULONG         NextEntryOffset;
-		ULONG	        FileIndex;
-		LARGE_INTEGER CreationTime;
-		LARGE_INTEGER LastAccessTime;
-		LARGE_INTEGER LastWriteTime;
-		LARGE_INTEGER ChangeTime;
-		LARGE_INTEGER EndOfFile;
-		LARGE_INTEGER AllocationSize;
-		ULONG         FileAttributes;
-		ULONG         FileNameLength;
-		ULONG         EaSize;
-		CHAR          ShortNameLength;
-		WCHAR         ShortName[12];
-		WCHAR         FileName[0];
-} FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATION {
-		ULONG	          NextEntryOffset;
-		ULONG	          FileIndex;
-		LARGE_INTEGER   CreationTime;
-		LARGE_INTEGER   LastAccessTime;
-		LARGE_INTEGER   LastWriteTime;
-		LARGE_INTEGER   ChangeTime;
-		LARGE_INTEGER   EndOfFile;
-		LARGE_INTEGER   AllocationSize;
-		ULONG           FileAttributes;
-		ULONG           FileNameLength;
-		ULONG           EaSize;
-		LARGE_INTEGER   FileId;
-		WCHAR           FileName[0];
-} FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATION {
-		ULONG         NextEntryOffset;
-		ULONG	        FileIndex;
-		LARGE_INTEGER CreationTime;
-		LARGE_INTEGER LastAccessTime;
-		LARGE_INTEGER LastWriteTime;
-		LARGE_INTEGER ChangeTime;
-		LARGE_INTEGER EndOfFile;
-		LARGE_INTEGER AllocationSize;
-		ULONG         FileAttributes;
-		ULONG         FileNameLength;
-		ULONG         EaSize;
-		CHAR          ShortNameLength;
-		WCHAR         ShortName[12];
-		LARGE_INTEGER FileId;
-		WCHAR         FileName[0];
-} FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION;
-
-#endif
-
-typedef struct _FILE_EA_INFORMATION {
-    ULONG EaSize;
-} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
-
-typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
-    ULONG   FileSystemAttributes;
-    ULONG   MaximumComponentNameLength;
-    ULONG   FileSystemNameLength;
-    WCHAR   FileSystemName[1];
-} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
-
-typedef struct _FILE_FS_CONTROL_INFORMATION {
-    LARGE_INTEGER   FreeSpaceStartFiltering;
-    LARGE_INTEGER   FreeSpaceThreshold;
-    LARGE_INTEGER   FreeSpaceStopFiltering;
-    LARGE_INTEGER   DefaultQuotaThreshold;
-    LARGE_INTEGER   DefaultQuotaLimit;
-    ULONG           FileSystemControlFlags;
-} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION;
-
-typedef struct _FILE_FS_FULL_SIZE_INFORMATION {
-    LARGE_INTEGER   TotalAllocationUnits;
-    LARGE_INTEGER   CallerAvailableAllocationUnits;
-    LARGE_INTEGER   ActualAvailableAllocationUnits;
-    ULONG           SectorsPerAllocationUnit;
-    ULONG           BytesPerSector;
-} FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_LABEL_INFORMATION {
-    ULONG VolumeLabelLength;
-    WCHAR VolumeLabel[1];
-} FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-typedef struct _FILE_FS_OBJECT_ID_INFORMATION {
-    UCHAR ObjectId[16];
-    UCHAR ExtendedInfo[48];
-} FILE_FS_OBJECT_ID_INFORMATION, *PFILE_FS_OBJECT_ID_INFORMATION;
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-typedef struct _FILE_FS_SIZE_INFORMATION {
-    LARGE_INTEGER   TotalAllocationUnits;
-    LARGE_INTEGER   AvailableAllocationUnits;
-    ULONG           SectorsPerAllocationUnit;
-    ULONG           BytesPerSector;
-} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_VOLUME_INFORMATION {
-    LARGE_INTEGER   VolumeCreationTime;
-    ULONG           VolumeSerialNumber;
-    ULONG           VolumeLabelLength;
-    BOOLEAN         SupportsObjects;
-    WCHAR           VolumeLabel[1];
-} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
-
-typedef struct _FILE_FULL_DIR_INFORMATION {
-    ULONG           NextEntryOffset;
-    ULONG           FileIndex;
-    LARGE_INTEGER   CreationTime;
-    LARGE_INTEGER   LastAccessTime;
-    LARGE_INTEGER   LastWriteTime;
-    LARGE_INTEGER   ChangeTime;
-    LARGE_INTEGER   EndOfFile;
-    LARGE_INTEGER   AllocationSize;
-    ULONG           FileAttributes;
-    ULONG           FileNameLength;
-    ULONG           EaSize;
-    WCHAR           FileName[1];
-} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
-
-typedef struct _FILE_GET_EA_INFORMATION {
-    ULONG   NextEntryOffset;
-    UCHAR   EaNameLength;
-    CHAR    EaName[1];
-} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;
-
-typedef struct _FILE_GET_QUOTA_INFORMATION {
-    ULONG   NextEntryOffset;
-    ULONG   SidLength;
-    SID     Sid;
-} FILE_GET_QUOTA_INFORMATION, *PFILE_GET_QUOTA_INFORMATION;
-
-typedef struct _FILE_INTERNAL_INFORMATION {
-    LARGE_INTEGER IndexNumber;
-} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
-
-typedef struct _FILE_LINK_INFORMATION {
-    BOOLEAN ReplaceIfExists;
-    HANDLE  RootDirectory;
-    ULONG   FileNameLength;
-    WCHAR   FileName[1];
-} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
-
-typedef struct _FILE_LOCK_INFO {
-    LARGE_INTEGER   StartingByte;
-    LARGE_INTEGER   Length;
-    BOOLEAN         ExclusiveLock;
-    ULONG           Key;
-    PFILE_OBJECT    FileObject;
-    PEPROCESS       Process;
-    LARGE_INTEGER   EndingByte;
-} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_SHARED_LOCK_ENTRY {
-    PVOID           Unknown1;
-    PVOID           Unknown2;
-    FILE_LOCK_INFO  FileLock;
-} FILE_SHARED_LOCK_ENTRY, *PFILE_SHARED_LOCK_ENTRY;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_EXCLUSIVE_LOCK_ENTRY {
-    LIST_ENTRY      ListEntry;
-    PVOID           Unknown1;
-    PVOID           Unknown2;
-    FILE_LOCK_INFO  FileLock;
-} FILE_EXCLUSIVE_LOCK_ENTRY, *PFILE_EXCLUSIVE_LOCK_ENTRY;
-
-typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
-  /*IN*/ PVOID    Context,
-  /*IN*/ PIRP     Irp
-);
-
-typedef VOID (NTAPI *PUNLOCK_ROUTINE) (
-  /*IN*/ PVOID            Context,
-  /*IN*/ PFILE_LOCK_INFO  FileLockInfo
-);
-
-typedef struct _FILE_LOCK {
-    PCOMPLETE_LOCK_IRP_ROUTINE  CompleteLockIrpRoutine;
-    PUNLOCK_ROUTINE             UnlockRoutine;
-    BOOLEAN                     FastIoIsQuestionable;
-    BOOLEAN                     Pad[3];
-    PVOID                       LockInformation;
-    FILE_LOCK_INFO              LastReturnedLockInfo;
-    PVOID                       LastReturnedLock;
-} FILE_LOCK, *PFILE_LOCK;
-
-typedef struct _FILE_MAILSLOT_PEEK_BUFFER {
-    ULONG ReadDataAvailable;
-    ULONG NumberOfMessages;
-    ULONG MessageLength;
-} FILE_MAILSLOT_PEEK_BUFFER, *PFILE_MAILSLOT_PEEK_BUFFER;
-
-typedef struct _FILE_MAILSLOT_QUERY_INFORMATION {
-    ULONG           MaximumMessageSize;
-    ULONG           MailslotQuota;
-    ULONG           NextMessageSize;
-    ULONG           MessagesAvailable;
-    LARGE_INTEGER   ReadTimeout;
-} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION;
-
-typedef struct _FILE_MAILSLOT_SET_INFORMATION {
-    LARGE_INTEGER ReadTimeout;
-} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;
-
-typedef struct _FILE_MODE_INFORMATION {
-    ULONG Mode;
-} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
-
-typedef struct _FILE_ALL_INFORMATION {
-    FILE_BASIC_INFORMATION      BasicInformation;
-    FILE_STANDARD_INFORMATION   StandardInformation;
-    FILE_INTERNAL_INFORMATION   InternalInformation;
-    FILE_EA_INFORMATION         EaInformation;
-    FILE_ACCESS_INFORMATION     AccessInformation;
-    FILE_POSITION_INFORMATION   PositionInformation;
-    FILE_MODE_INFORMATION       ModeInformation;
-    FILE_ALIGNMENT_INFORMATION  AlignmentInformation;
-    FILE_NAME_INFORMATION       NameInformation;
-} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
-
-typedef struct _FILE_NAMES_INFORMATION {
-    ULONG NextEntryOffset;
-    ULONG FileIndex;
-    ULONG FileNameLength;
-    WCHAR FileName[1];
-} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;
-
-typedef struct _FILE_OBJECTID_INFORMATION {
-    LONGLONG        FileReference;
-    UCHAR           ObjectId[16];
-    _ANONYMOUS_UNION union {
-        struct {
-            UCHAR   BirthVolumeId[16];
-            UCHAR   BirthObjectId[16];
-            UCHAR   DomainId[16];
-        } ;
-        UCHAR       ExtendedInfo[48];
-    } DUMMYUNIONNAME;
-} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
-
-typedef struct _FILE_OLE_CLASSID_INFORMATION {
-    GUID ClassId;
-} FILE_OLE_CLASSID_INFORMATION, *PFILE_OLE_CLASSID_INFORMATION;
-
-typedef struct _FILE_OLE_ALL_INFORMATION {
-    FILE_BASIC_INFORMATION          BasicInformation;
-    FILE_STANDARD_INFORMATION       StandardInformation;
-    FILE_INTERNAL_INFORMATION       InternalInformation;
-    FILE_EA_INFORMATION             EaInformation;
-    FILE_ACCESS_INFORMATION         AccessInformation;
-    FILE_POSITION_INFORMATION       PositionInformation;
-    FILE_MODE_INFORMATION           ModeInformation;
-    FILE_ALIGNMENT_INFORMATION      AlignmentInformation;
-    USN                             LastChangeUsn;
-    USN                             ReplicationUsn;
-    LARGE_INTEGER                   SecurityChangeTime;
-    FILE_OLE_CLASSID_INFORMATION    OleClassIdInformation;
-    FILE_OBJECTID_INFORMATION       ObjectIdInformation;
-    FILE_STORAGE_TYPE               StorageType;
-    ULONG                           OleStateBits;
-    ULONG                           OleId;
-    ULONG                           NumberOfStreamReferences;
-    ULONG                           StreamIndex;
-    ULONG                           SecurityId;
-    BOOLEAN                         ContentIndexDisable;
-    BOOLEAN                         InheritContentIndexDisable;
-    FILE_NAME_INFORMATION           NameInformation;
-} FILE_OLE_ALL_INFORMATION, *PFILE_OLE_ALL_INFORMATION;
-
-typedef struct _FILE_OLE_DIR_INFORMATION {
-    ULONG               NextEntryOffset;
-    ULONG               FileIndex;
-    LARGE_INTEGER       CreationTime;
-    LARGE_INTEGER       LastAccessTime;
-    LARGE_INTEGER       LastWriteTime;
-    LARGE_INTEGER       ChangeTime;
-    LARGE_INTEGER       EndOfFile;
-    LARGE_INTEGER       AllocationSize;
-    ULONG               FileAttributes;
-    ULONG               FileNameLength;
-    FILE_STORAGE_TYPE   StorageType;
-    GUID                OleClassId;
-    ULONG               OleStateBits;
-    BOOLEAN             ContentIndexDisable;
-    BOOLEAN             InheritContentIndexDisable;
-    WCHAR               FileName[1];
-} FILE_OLE_DIR_INFORMATION, *PFILE_OLE_DIR_INFORMATION;
-
-typedef struct _FILE_OLE_INFORMATION {
-    LARGE_INTEGER                   SecurityChangeTime;
-    FILE_OLE_CLASSID_INFORMATION    OleClassIdInformation;
-    FILE_OBJECTID_INFORMATION       ObjectIdInformation;
-    FILE_STORAGE_TYPE               StorageType;
-    ULONG                           OleStateBits;
-    BOOLEAN                         ContentIndexDisable;
-    BOOLEAN                         InheritContentIndexDisable;
-} FILE_OLE_INFORMATION, *PFILE_OLE_INFORMATION;
-
-typedef struct _FILE_OLE_STATE_BITS_INFORMATION {
-    ULONG StateBits;
-    ULONG StateBitsMask;
-} FILE_OLE_STATE_BITS_INFORMATION, *PFILE_OLE_STATE_BITS_INFORMATION;
-
-typedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {
-    HANDLE  EventHandle;
-    ULONG   KeyValue;
-} FILE_PIPE_ASSIGN_EVENT_BUFFER, *PFILE_PIPE_ASSIGN_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_CLIENT_PROCESS_BUFFER {
-    PVOID ClientSession;
-    PVOID ClientProcess;
-} FILE_PIPE_CLIENT_PROCESS_BUFFER, *PFILE_PIPE_CLIENT_PROCESS_BUFFER;
-
-typedef struct _FILE_PIPE_EVENT_BUFFER {
-    ULONG NamedPipeState;
-    ULONG EntryType;
-    ULONG ByteCount;
-    ULONG KeyValue;
-    ULONG NumberRequests;
-} FILE_PIPE_EVENT_BUFFER, *PFILE_PIPE_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_INFORMATION {
-    ULONG ReadMode;
-    ULONG CompletionMode;
-} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION;
-
-typedef struct _FILE_PIPE_LOCAL_INFORMATION {
-    ULONG NamedPipeType;
-    ULONG NamedPipeConfiguration;
-    ULONG MaximumInstances;
-    ULONG CurrentInstances;
-    ULONG InboundQuota;
-    ULONG ReadDataAvailable;
-    ULONG OutboundQuota;
-    ULONG WriteQuotaAvailable;
-    ULONG NamedPipeState;
-    ULONG NamedPipeEnd;
-} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;
-
-typedef struct _FILE_PIPE_REMOTE_INFORMATION {
-    LARGE_INTEGER   CollectDataTime;
-    ULONG           MaximumCollectionCount;
-} FILE_PIPE_REMOTE_INFORMATION, *PFILE_PIPE_REMOTE_INFORMATION;
-
-typedef struct _FILE_PIPE_WAIT_FOR_BUFFER {
-    LARGE_INTEGER   Timeout;
-    ULONG           NameLength;
-    BOOLEAN         TimeoutSpecified;
-    WCHAR           Name[1];
-} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;
-
-typedef struct _FILE_QUOTA_INFORMATION {
-    ULONG           NextEntryOffset;
-    ULONG           SidLength;
-    LARGE_INTEGER   ChangeTime;
-    LARGE_INTEGER   QuotaUsed;
-    LARGE_INTEGER   QuotaThreshold;
-    LARGE_INTEGER   QuotaLimit;
-    SID             Sid;
-} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
-
-typedef struct _FILE_RENAME_INFORMATION {
-    BOOLEAN ReplaceIfExists;
-    HANDLE  RootDirectory;
-    ULONG   FileNameLength;
-    WCHAR   FileName[1];
-} FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
-
-typedef struct _FILE_STREAM_INFORMATION {
-    ULONG           NextEntryOffset;
-    ULONG           StreamNameLength;
-    LARGE_INTEGER   StreamSize;
-    LARGE_INTEGER   StreamAllocationSize;
-    WCHAR           StreamName[1];
-} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;
-
-typedef struct _FILE_TRACKING_INFORMATION {
-    HANDLE  DestinationFile;
-    ULONG   ObjectInformationLength;
-    CHAR    ObjectInformation[1];
-} FILE_TRACKING_INFORMATION, *PFILE_TRACKING_INFORMATION;
-
-typedef struct _FSRTL_COMMON_FCB_HEADER {
-    CSHORT          NodeTypeCode;
-    CSHORT          NodeByteSize;
-    UCHAR           Flags;
-    UCHAR           IsFastIoPossible;
-#if (VER_PRODUCTBUILD >= 1381)
-    UCHAR           Flags2;
-    UCHAR           Reserved;
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-    PERESOURCE      Resource;
-    PERESOURCE      PagingIoResource;
-    LARGE_INTEGER   AllocationSize;
-    LARGE_INTEGER   FileSize;
-    LARGE_INTEGER   ValidDataLength;
-} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
-
-typedef struct _GENERATE_NAME_CONTEXT {
-    USHORT  Checksum;
-    BOOLEAN CheckSumInserted;
-    UCHAR   NameLength;
-    WCHAR   NameBuffer[8];
-    ULONG   ExtensionLength;
-    WCHAR   ExtensionBuffer[4];
-    ULONG   LastIndexValue;
-} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
-
-typedef struct _HANDLE_TABLE_ENTRY {
-    PVOID   Object;
-    ULONG   ObjectAttributes;
-    ULONG   GrantedAccess;
-    USHORT  GrantedAccessIndex;
-    USHORT  CreatorBackTraceIndex;
-    ULONG   NextFreeTableEntry;
-} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
-
-typedef struct _MAPPING_PAIR {
-    ULONGLONG Vcn;
-    ULONGLONG Lcn;
-} MAPPING_PAIR, *PMAPPING_PAIR;
-
-typedef struct _GET_RETRIEVAL_DESCRIPTOR {
-    ULONG           NumberOfPairs;
-    ULONGLONG       StartVcn;
-    MAPPING_PAIR    Pair[1];
-} GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR;
-
-typedef struct _IO_CLIENT_EXTENSION {
-    struct _IO_CLIENT_EXTENSION *NextExtension;
-    PVOID                       ClientIdentificationAddress;
-} IO_CLIENT_EXTENSION, *PIO_CLIENT_EXTENSION;
-
-typedef struct _IO_COMPLETION_BASIC_INFORMATION {
-    LONG Depth;
-} IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION;
-
-typedef struct _KEVENT_PAIR {
-    USHORT Type;
-    USHORT Size;
-    KEVENT Event1;
-    KEVENT Event2;
-} KEVENT_PAIR, *PKEVENT_PAIR;
-
-typedef struct _KQUEUE {
-    DISPATCHER_HEADER   Header;
-    LIST_ENTRY          EntryListHead;
-    ULONG               CurrentCount;
-    ULONG               MaximumCount;
-    LIST_ENTRY          ThreadListHead;
-} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
-
-typedef struct _MAILSLOT_CREATE_PARAMETERS {
-    ULONG           MailslotQuota;
-    ULONG           MaximumMessageSize;
-    LARGE_INTEGER   ReadTimeout;
-    BOOLEAN         TimeoutSpecified;
-} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
-
-typedef struct _MBCB {
-    CSHORT          NodeTypeCode;
-    CSHORT          NodeIsInZone;
-    ULONG           PagesToWrite;
-    ULONG           DirtyPages;
-    ULONG           Reserved;
-    LIST_ENTRY      BitmapRanges;
-    LONGLONG        ResumeWritePage;
-    BITMAP_RANGE    BitmapRange1;
-    BITMAP_RANGE    BitmapRange2;
-    BITMAP_RANGE    BitmapRange3;
-} MBCB, *PMBCB;
-
-typedef struct _MOVEFILE_DESCRIPTOR {
-     HANDLE         FileHandle;
-     ULONG          Reserved;
-     LARGE_INTEGER  StartVcn;
-     LARGE_INTEGER  TargetLcn;
-     ULONG          NumVcns;
-     ULONG          Reserved1;
-} MOVEFILE_DESCRIPTOR, *PMOVEFILE_DESCRIPTOR;
-
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS {
-    ULONG           NamedPipeType;
-    ULONG           ReadMode;
-    ULONG           CompletionMode;
-    ULONG           MaximumInstances;
-    ULONG           InboundQuota;
-    ULONG           OutboundQuota;
-    LARGE_INTEGER   DefaultTimeout;
-    BOOLEAN         TimeoutSpecified;
-} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
-
-typedef struct _OBJECT_BASIC_INFO {
-    ULONG           Attributes;
-    ACCESS_MASK     GrantedAccess;
-    ULONG           HandleCount;
-    ULONG           ReferenceCount;
-    ULONG           PagedPoolUsage;
-    ULONG           NonPagedPoolUsage;
-    ULONG           Reserved[3];
-    ULONG           NameInformationLength;
-    ULONG           TypeInformationLength;
-    ULONG           SecurityDescriptorLength;
-    LARGE_INTEGER   CreateTime;
-} OBJECT_BASIC_INFO, *POBJECT_BASIC_INFO;
-
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFO {
-    BOOLEAN Inherit;
-    BOOLEAN ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFO, *POBJECT_HANDLE_ATTRIBUTE_INFO;
-
-typedef struct _OBJECT_NAME_INFO {
-    UNICODE_STRING  ObjectName;
-    WCHAR           ObjectNameBuffer[1];
-} OBJECT_NAME_INFO, *POBJECT_NAME_INFO;
-
-typedef struct _OBJECT_PROTECTION_INFO {
-    BOOLEAN Inherit;
-    BOOLEAN ProtectHandle;
-} OBJECT_PROTECTION_INFO, *POBJECT_PROTECTION_INFO;
-
-typedef struct _OBJECT_TYPE_INFO {
-    UNICODE_STRING  ObjectTypeName;
-    UCHAR           Unknown[0x58];
-    WCHAR           ObjectTypeNameBuffer[1];
-} OBJECT_TYPE_INFO, *POBJECT_TYPE_INFO;
-
-typedef struct _OBJECT_ALL_TYPES_INFO {
-    ULONG               NumberOfObjectTypes;
-    OBJECT_TYPE_INFO    ObjectsTypeInfo[1];
-} OBJECT_ALL_TYPES_INFO, *POBJECT_ALL_TYPES_INFO;
-
-typedef struct _PAGEFAULT_HISTORY {
-    ULONG                           CurrentIndex;
-    ULONG                           MaxIndex;
-    KSPIN_LOCK                      SpinLock;
-    PVOID                           Reserved;
-    PROCESS_WS_WATCH_INFORMATION    WatchInfo[1];
-} PAGEFAULT_HISTORY, *PPAGEFAULT_HISTORY;
-
-typedef struct _PATHNAME_BUFFER {
-    ULONG PathNameLength;
-    WCHAR Name[1];
-} PATHNAME_BUFFER, *PPATHNAME_BUFFER;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _PRIVATE_CACHE_MAP_FLAGS {
-    ULONG DontUse           : 16;
-    ULONG ReadAheadActive   : 1;
-    ULONG ReadAheadEnabled  : 1;
-    ULONG Available         : 14;
-} PRIVATE_CACHE_MAP_FLAGS, *PPRIVATE_CACHE_MAP_FLAGS;
-
-typedef struct _PRIVATE_CACHE_MAP {
-    _ANONYMOUS_UNION union {
-        CSHORT                  NodeTypeCode;
-        PRIVATE_CACHE_MAP_FLAGS Flags;
-        ULONG                   UlongFlags;
-    } DUMMYUNIONNAME;
-    ULONG                       ReadAheadMask;
-    PFILE_OBJECT                FileObject;
-    LARGE_INTEGER               FileOffset1;
-    LARGE_INTEGER               BeyondLastByte1;
-    LARGE_INTEGER               FileOffset2;
-    LARGE_INTEGER               BeyondLastByte2;
-    LARGE_INTEGER               ReadAheadOffset[2];
-    ULONG                       ReadAheadLength[2];
-    KSPIN_LOCK                  ReadAheadSpinLock;
-    LIST_ENTRY                  PrivateLinks;
-} PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP;
-
-#endif
-
-typedef struct _PS_IMPERSONATION_INFORMATION {
-    PACCESS_TOKEN                   Token;
-    BOOLEAN                         CopyOnOpen;
-    BOOLEAN                         EffectiveOnly;
-    SECURITY_IMPERSONATION_LEVEL    ImpersonationLevel;
-} PS_IMPERSONATION_INFORMATION, *PPS_IMPERSONATION_INFORMATION;
-
-typedef struct _PUBLIC_BCB {
-    CSHORT          NodeTypeCode;
-    CSHORT          NodeByteSize;
-    ULONG           MappedLength;
-    LARGE_INTEGER   MappedFileOffset;
-} PUBLIC_BCB, *PPUBLIC_BCB;
-
-typedef struct _QUERY_PATH_REQUEST {
-    ULONG                   PathNameLength;
-    PIO_SECURITY_CONTEXT    SecurityContext;
-    WCHAR                   FilePathName[1];
-} QUERY_PATH_REQUEST, *PQUERY_PATH_REQUEST;
-
-typedef struct _QUERY_PATH_RESPONSE {
-    ULONG LengthAccepted;
-} QUERY_PATH_RESPONSE, *PQUERY_PATH_RESPONSE;
-
-typedef struct _RETRIEVAL_POINTERS_BUFFER {
-    ULONG               ExtentCount;
-    LARGE_INTEGER       StartingVcn;
-    struct {
-        LARGE_INTEGER   NextVcn;
-        LARGE_INTEGER   Lcn;
-    } Extents[1];
-} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
-
-typedef struct _RTL_SPLAY_LINKS {
-    struct _RTL_SPLAY_LINKS *Parent;
-    struct _RTL_SPLAY_LINKS *LeftChild;
-    struct _RTL_SPLAY_LINKS *RightChild;
-} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
-
-typedef struct _SE_EXPORTS {
-
-    LUID    SeCreateTokenPrivilege;
-    LUID    SeAssignPrimaryTokenPrivilege;
-    LUID    SeLockMemoryPrivilege;
-    LUID    SeIncreaseQuotaPrivilege;
-    LUID    SeUnsolicitedInputPrivilege;
-    LUID    SeTcbPrivilege;
-    LUID    SeSecurityPrivilege;
-    LUID    SeTakeOwnershipPrivilege;
-    LUID    SeLoadDriverPrivilege;
-    LUID    SeCreatePagefilePrivilege;
-    LUID    SeIncreaseBasePriorityPrivilege;
-    LUID    SeSystemProfilePrivilege;
-    LUID    SeSystemtimePrivilege;
-    LUID    SeProfileSingleProcessPrivilege;
-    LUID    SeCreatePermanentPrivilege;
-    LUID    SeBackupPrivilege;
-    LUID    SeRestorePrivilege;
-    LUID    SeShutdownPrivilege;
-    LUID    SeDebugPrivilege;
-    LUID    SeAuditPrivilege;
-    LUID    SeSystemEnvironmentPrivilege;
-    LUID    SeChangeNotifyPrivilege;
-    LUID    SeRemoteShutdownPrivilege;
-
-    PSID    SeNullSid;
-    PSID    SeWorldSid;
-    PSID    SeLocalSid;
-    PSID    SeCreatorOwnerSid;
-    PSID    SeCreatorGroupSid;
-
-    PSID    SeNtAuthoritySid;
-    PSID    SeDialupSid;
-    PSID    SeNetworkSid;
-    PSID    SeBatchSid;
-    PSID    SeInteractiveSid;
-    PSID    SeLocalSystemSid;
-    PSID    SeAliasAdminsSid;
-    PSID    SeAliasUsersSid;
-    PSID    SeAliasGuestsSid;
-    PSID    SeAliasPowerUsersSid;
-    PSID    SeAliasAccountOpsSid;
-    PSID    SeAliasSystemOpsSid;
-    PSID    SeAliasPrintOpsSid;
-    PSID    SeAliasBackupOpsSid;
-
-    PSID    SeAuthenticatedUsersSid;
-
-    PSID    SeRestrictedSid;
-    PSID    SeAnonymousLogonSid;
-
-    LUID    SeUndockPrivilege;
-    LUID    SeSyncAgentPrivilege;
-    LUID    SeEnableDelegationPrivilege;
-
-} SE_EXPORTS, *PSE_EXPORTS;
-
-typedef struct _SECTION_BASIC_INFORMATION {
-    PVOID           BaseAddress;
-    ULONG           Attributes;
-    LARGE_INTEGER   Size;
-} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
-
-typedef struct _SECTION_IMAGE_INFORMATION {
-    PVOID   EntryPoint;
-    ULONG   Unknown1;
-    ULONG   StackReserve;
-    ULONG   StackCommit;
-    ULONG   Subsystem;
-    USHORT  MinorSubsystemVersion;
-    USHORT  MajorSubsystemVersion;
-    ULONG   Unknown2;
-    ULONG   Characteristics;
-    USHORT  ImageNumber;
-    BOOLEAN Executable;
-    UCHAR   Unknown3;
-    ULONG   Unknown4[3];
-} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _SHARED_CACHE_MAP {
-    CSHORT                      NodeTypeCode;
-    CSHORT                      NodeByteSize;
-    ULONG                       OpenCount;
-    LARGE_INTEGER               FileSize;
-    LIST_ENTRY                  BcbList;
-    LARGE_INTEGER               SectionSize;
-    LARGE_INTEGER               ValidDataLength;
-    LARGE_INTEGER               ValidDataGoal;
-    PVACB                       InitialVacbs[4];
-    PVACB                       *Vacbs;
-    PFILE_OBJECT                FileObject;
-    PVACB                       ActiveVacb;
-    PVOID                       NeedToZero;
-    ULONG                       ActivePage;
-    ULONG                       NeedToZeroPage;
-    KSPIN_LOCK                  ActiveVacbSpinLock;
-    ULONG                       VacbActiveCount;
-    ULONG                       DirtyPages;
-    LIST_ENTRY                  SharedCacheMapLinks;
-    ULONG                       Flags;
-    NTSTATUS                    Status;
-    PMBCB                       Mbcb;
-    PVOID                       Section;
-    PKEVENT                     CreateEvent;
-    PKEVENT                     WaitOnActiveCount;
-    ULONG                       PagesToWrite;
-    LONGLONG                    BeyondLastFlush;
-    PCACHE_MANAGER_CALLBACKS    Callbacks;
-    PVOID                       LazyWriteContext;
-    LIST_ENTRY                  PrivateList;
-    PVOID                       LogHandle;
-    PVOID                       FlushToLsnRoutine;
-    ULONG                       DirtyPageThreshold;
-    ULONG                       LazyWritePassCount;
-    PCACHE_UNINITIALIZE_EVENT   UninitializeEvent;
-    PVACB                       NeedToZeroVacb;
-    KSPIN_LOCK                  BcbSpinLock;
-    PVOID                       Reserved;
-    KEVENT                      Event;
-    EX_PUSH_LOCK                VacbPushLock;
-    PRIVATE_CACHE_MAP           PrivateCacheMap;
-} SHARED_CACHE_MAP, *PSHARED_CACHE_MAP;
-
-#endif
-
-typedef struct _STARTING_VCN_INPUT_BUFFER {
-    LARGE_INTEGER StartingVcn;
-} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
-
-typedef struct _SYSTEM_CACHE_INFORMATION {
-    ULONG CurrentSize;
-    ULONG PeakSize;
-    ULONG PageFaultCount;
-    ULONG MinimumWorkingSet;
-    ULONG MaximumWorkingSet;
-    ULONG Unused[4];
-} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
-
-typedef struct _TERMINATION_PORT {
-    struct _TERMINATION_PORT*   Next;
-    PVOID                       Port;
-} TERMINATION_PORT, *PTERMINATION_PORT;
-
-typedef struct _SECURITY_CLIENT_CONTEXT {
-    SECURITY_QUALITY_OF_SERVICE SecurityQos;
-    PACCESS_TOKEN               ClientToken;
-    BOOLEAN                     DirectlyAccessClientToken;
-    BOOLEAN                     DirectAccessEffectiveOnly;
-    BOOLEAN                     ServerIsRemote;
-    TOKEN_CONTROL               ClientTokenControl;
-} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;
-
-typedef struct _TUNNEL {
-    FAST_MUTEX          Mutex;
-    PRTL_SPLAY_LINKS    Cache;
-    LIST_ENTRY          TimerQueue;
-    USHORT              NumEntries;
-} TUNNEL, *PTUNNEL;
-
-typedef struct _VACB {
-    PVOID               BaseAddress;
-    PSHARED_CACHE_MAP   SharedCacheMap;
-    union {
-        LARGE_INTEGER   FileOffset;
-        USHORT          ActiveCount;
-    } Overlay;
-    LIST_ENTRY          LruList;
-} VACB, *PVACB;
-
-typedef struct _VAD_HEADER {
-    PVOID       StartVPN;
-    PVOID       EndVPN;
-    PVAD_HEADER ParentLink;
-    PVAD_HEADER LeftLink;
-    PVAD_HEADER RightLink;
-    ULONG       Flags;          /* LSB = CommitCharge */
-    PVOID       ControlArea;
-    PVOID       FirstProtoPte;
-    PVOID       LastPTE;
-    ULONG       Unknown;
-    LIST_ENTRY  Secured;
-} VAD_HEADER, *PVAD_HEADER;
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCanIWrite (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ ULONG        BytesToWrite,
-  /*IN*/ BOOLEAN      Wait,
-  /*IN*/ BOOLEAN      Retrying
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyRead (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ ULONG                Length,
-  /*IN*/ BOOLEAN              Wait,
-  /*OUT*/ PVOID               Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyWrite (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-  /*IN*/ BOOLEAN          Wait,
-  /*IN*/ PVOID            Buffer
-);
-
-#define CcCopyWriteWontFlush(FO, FOFF, LEN) ((LEN) <= 0x10000)
-
-typedef VOID (NTAPI *PCC_POST_DEFERRED_WRITE) (
-  /*IN*/ PVOID Context1,
-  /*IN*/ PVOID Context2
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcDeferWrite (
-  /*IN*/ PFILE_OBJECT             FileObject,
-  /*IN*/ PCC_POST_DEFERRED_WRITE  PostRoutine,
-  /*IN*/ PVOID                    Context1,
-  /*IN*/ PVOID                    Context2,
-  /*IN*/ ULONG                    BytesToWrite,
-  /*IN*/ BOOLEAN                  Retrying
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyRead (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ ULONG                FileOffset,
-  /*IN*/ ULONG                Length,
-  /*IN*/ ULONG                PageCount,
-  /*OUT*/ PVOID               Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyWrite (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ ULONG        FileOffset,
-  /*IN*/ ULONG        Length,
-  /*IN*/ PVOID        Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFlushCache (
-  /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
-  /*IN*/ PLARGE_INTEGER           FileOffset /*OPTIONAL*/,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PIO_STATUS_BLOCK        IoStatus /*OPTIONAL*/
-);
-
-typedef VOID (*PDIRTY_PAGE_ROUTINE) (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-  /*IN*/ PLARGE_INTEGER   OldestLsn,
-  /*IN*/ PLARGE_INTEGER   NewestLsn,
-  /*IN*/ PVOID            Context1,
-  /*IN*/ PVOID            Context2
-);
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetDirtyPages (
-  /*IN*/ PVOID                LogHandle,
-  /*IN*/ PDIRTY_PAGE_ROUTINE  DirtyPageRoutine,
-  /*IN*/ PVOID                Context1,
-  /*IN*/ PVOID                Context2
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromBcb (
-  /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromSectionPtrs (
-  /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer
-);
-
-#define CcGetFileSizePointer(FO) (                                     \
-    ((PLARGE_INTEGER)((FO)->SectionObjectPointer->SharedCacheMap) + 1) \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetFlushedValidData (
-  /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
-  /*IN*/ BOOLEAN                  BcbListHeld
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-LARGE_INTEGER
-CcGetLsnForFileObject (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*OUT*/ PLARGE_INTEGER  OldestLsn /*OPTIONAL*/
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_LAZY_WRITE) (
-  /*IN*/ PVOID    Context,
-  /*IN*/ BOOLEAN  Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_LAZY_WRITE) (
-  /*IN*/ PVOID Context
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_READ_AHEAD) (
-  /*IN*/ PVOID    Context,
-  /*IN*/ BOOLEAN  Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_READ_AHEAD) (
-  /*IN*/ PVOID Context
-);
-
-typedef struct _CACHE_MANAGER_CALLBACKS {
-    PACQUIRE_FOR_LAZY_WRITE     AcquireForLazyWrite;
-    PRELEASE_FROM_LAZY_WRITE    ReleaseFromLazyWrite;
-    PACQUIRE_FOR_READ_AHEAD     AcquireForReadAhead;
-    PRELEASE_FROM_READ_AHEAD    ReleaseFromReadAhead;
-} CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
-
-NTKERNELAPI
-VOID
-NTAPI
-CcInitializeCacheMap (
-  /*IN*/ PFILE_OBJECT             FileObject,
-  /*IN*/ PCC_FILE_SIZES           FileSizes,
-  /*IN*/ BOOLEAN                  PinAccess,
-  /*IN*/ PCACHE_MANAGER_CALLBACKS Callbacks,
-  /*IN*/ PVOID                    LazyWriteContext
-);
-
-#define CcIsFileCached(FO) (                                                         \
-    ((FO)->SectionObjectPointer != NULL) &&                                          \
-    (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcIsThereDirtyData (
-  /*IN*/ PVPB Vpb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcMapData (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-  /*IN*/ BOOLEAN          Wait,
-  /*OUT*/ PVOID           *Bcb,
-  /*OUT*/ PVOID           *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlRead (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ ULONG                Length,
-  /*OUT*/ PMDL                *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlReadComplete (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ PMDL         MdlChain
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlWriteComplete (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ PMDL             MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinMappedData (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-#if (VER_PRODUCTBUILD >= 2195)
-  /*IN*/ ULONG            Flags,
-#else
-  /*IN*/ BOOLEAN          Wait,
-#endif
-  /*IN OUT*/ PVOID        *Bcb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinRead (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-#if (VER_PRODUCTBUILD >= 2195)
-  /*IN*/ ULONG            Flags,
-#else
-  /*IN*/ BOOLEAN          Wait,
-#endif
-  /*OUT*/ PVOID           *Bcb,
-  /*OUT*/ PVOID           *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcPrepareMdlWrite (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ ULONG                Length,
-  /*OUT*/ PMDL                *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPreparePinWrite (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length,
-  /*IN*/ BOOLEAN          Zero,
-#if (VER_PRODUCTBUILD >= 2195)
-  /*IN*/ ULONG            Flags,
-#else
-  /*IN*/ BOOLEAN          Wait,
-#endif
-  /*OUT*/ PVOID           *Bcb,
-  /*OUT*/ PVOID           *Buffer
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPurgeCacheSection (
-  /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
-  /*IN*/ PLARGE_INTEGER           FileOffset /*OPTIONAL*/,
-  /*IN*/ ULONG                    Length,
-  /*IN*/ BOOLEAN                  UninitializeCacheMaps
-);
-
-#define CcReadAhead(FO, FOFF, LEN) (                \
-    if ((LEN) >= 256) {                             \
-        CcScheduleReadAhead((FO), (FOFF), (LEN));   \
-    }                                               \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PVOID
-NTAPI
-CcRemapBcb (
-  /*IN*/ PVOID Bcb
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-CcRepinBcb (
-  /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcScheduleReadAhead (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ ULONG            Length
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetAdditionalCacheAttributes (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ BOOLEAN      DisableReadAhead,
-  /*IN*/ BOOLEAN      DisableWriteBehind
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetBcbOwnerPointer (
-  /*IN*/ PVOID Bcb,
-  /*IN*/ PVOID OwnerPointer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPageThreshold (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ ULONG        DirtyPageThreshold
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPinnedData (
-  /*IN*/ PVOID            BcbVoid,
-  /*IN*/ PLARGE_INTEGER   Lsn /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetFileSizes (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PCC_FILE_SIZES   FileSizes
-);
-
-typedef VOID (NTAPI *PFLUSH_TO_LSN) (
-  /*IN*/ PVOID            LogHandle,
-  /*IN*/ PLARGE_INTEGER   Lsn
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetLogHandleForFile (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PVOID            LogHandle,
-  /*IN*/ PFLUSH_TO_LSN    FlushToLsnRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetReadAheadGranularity (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ ULONG        Granularity     /* default: PAGE_SIZE */
-                                    /* allowed: 2^n * PAGE_SIZE */
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcUninitializeCacheMap (
-  /*IN*/ PFILE_OBJECT                 FileObject,
-  /*IN*/ PLARGE_INTEGER               TruncateSize /*OPTIONAL*/,
-  /*IN*/ PCACHE_UNINITIALIZE_EVENT    UninitializeCompleteEvent /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinData (
-  /*IN*/ PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinDataForThread (
-  /*IN*/ PVOID            Bcb,
-  /*IN*/ ERESOURCE_THREAD ResourceThreadId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinRepinnedBcb (
-  /*IN*/ PVOID                Bcb,
-  /*IN*/ BOOLEAN              WriteThrough,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-CcWaitForCurrentLazyWriterActivity (
-    VOID
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcZeroData (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   StartOffset,
-  /*IN*/ PLARGE_INTEGER   EndOffset,
-  /*IN*/ BOOLEAN          Wait
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ExDisableResourceBoostLite (
-  /*IN*/ PERESOURCE Resource
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExQueryPoolBlockSize (
-  /*IN*/ PVOID        PoolBlock,
-  /*OUT*/ PBOOLEAN    QuotaCharged
-);
-
-#define FlagOn(x, f) ((x) & (f))
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlAddToTunnelCache (
-  /*IN*/ PTUNNEL          Cache,
-  /*IN*/ ULONGLONG        DirectoryKey,
-  /*IN*/ PUNICODE_STRING  ShortName,
-  /*IN*/ PUNICODE_STRING  LongName,
-  /*IN*/ BOOLEAN          KeyByShortName,
-  /*IN*/ ULONG            DataLength,
-  /*IN*/ PVOID            Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-PFILE_LOCK
-NTAPI
-FsRtlAllocateFileLock (
-  /*IN*/ PCOMPLETE_LOCK_IRP_ROUTINE   CompleteLockIrpRoutine /*OPTIONAL*/,
-  /*IN*/ PUNLOCK_ROUTINE              UnlockRoutine /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePool (
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuota (
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuotaTag (
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        NumberOfBytes,
-  /*IN*/ ULONG        Tag
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithTag (
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        NumberOfBytes,
-  /*IN*/ ULONG        Tag
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlAreNamesEqual (
-  /*IN*/ PUNICODE_STRING  Name1,
-  /*IN*/ PUNICODE_STRING  Name2,
-  /*IN*/ BOOLEAN          IgnoreCase,
-  /*IN*/ PWCHAR           UpcaseTable /*OPTIONAL*/
-);
-
-#define FsRtlAreThereCurrentFileLocks(FL) ( \
-    ((FL)->FastIoIsQuestionable)            \
-)
-
-/*
-  FsRtlCheckLockForReadAccess:
-
-  All this really does is pick out the lock parameters from the irp (io stack
-  location?), get IoGetRequestorProcess, and pass values on to
-  FsRtlFastCheckLockForRead.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForReadAccess (
-  /*IN*/ PFILE_LOCK   FileLock,
-  /*IN*/ PIRP         Irp
-);
-
-/*
-  FsRtlCheckLockForWriteAccess:
-
-  All this really does is pick out the lock parameters from the irp (io stack
-  location?), get IoGetRequestorProcess, and pass values on to
-  FsRtlFastCheckLockForWrite.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForWriteAccess (
-  /*IN*/ PFILE_LOCK   FileLock,
-  /*IN*/ PIRP         Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_WAIT_COMPLETE_ROUTINE) (
-  /*IN*/ PVOID    Context,
-  /*IN*/ PIRP     Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_FS_PREPOST_IRP) (
-  /*IN*/ PVOID    Context,
-  /*IN*/ PIRP     Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlCheckOplock (
-  /*IN*/ POPLOCK                          Oplock,
-  /*IN*/ PIRP                             Irp,
-  /*IN*/ PVOID                            Context,
-  /*IN*/ POPLOCK_WAIT_COMPLETE_ROUTINE    CompletionRoutine /*OPTIONAL*/,
-  /*IN*/ POPLOCK_FS_PREPOST_IRP           PostIrpRoutine /*OPTIONAL*/
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyRead (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ ULONG                Length,
-  /*IN*/ BOOLEAN              Wait,
-  /*IN*/ ULONG                LockKey,
-  /*OUT*/ PVOID               Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus,
-  /*IN*/ PDEVICE_OBJECT       DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyWrite (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ ULONG                Length,
-  /*IN*/ BOOLEAN              Wait,
-  /*IN*/ ULONG                LockKey,
-  /*IN*/ PVOID                Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus,
-  /*IN*/ PDEVICE_OBJECT       DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCurrentBatchOplock (
-  /*IN*/ POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteKeyFromTunnelCache (
-  /*IN*/ PTUNNEL      Cache,
-  /*IN*/ ULONGLONG    DirectoryKey
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteTunnelCache (
-  /*IN*/ PTUNNEL Cache
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeregisterUncProvider (
-  /*IN*/ HANDLE Handle
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlDoesNameContainWildCards (
-  /*IN*/ PUNICODE_STRING Name
-);
-
-#define FsRtlEnterFileSystem    KeEnterCriticalRegion
-
-#define FsRtlExitFileSystem     KeLeaveCriticalRegion
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForRead (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ PLARGE_INTEGER       Length,
-  /*IN*/ ULONG                Key,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PEPROCESS            Process
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForWrite (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ PLARGE_INTEGER       Length,
-  /*IN*/ ULONG                Key,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PEPROCESS            Process
-);
-
-#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) (       \
-     FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11)   \
-)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAll (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PEPROCESS            Process,
-  /*IN*/ PVOID                Context /*OPTIONAL*/
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAllByKey (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PEPROCESS            Process,
-  /*IN*/ ULONG                Key,
-  /*IN*/ PVOID                Context /*OPTIONAL*/
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockSingle (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ PLARGE_INTEGER       Length,
-  /*IN*/ PEPROCESS            Process,
-  /*IN*/ ULONG                Key,
-  /*IN*/ PVOID                Context /*OPTIONAL*/,
-  /*IN*/ BOOLEAN              AlreadySynchronized
-);
-/* ret:  STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFindInTunnelCache (
-  /*IN*/ PTUNNEL          Cache,
-  /*IN*/ ULONGLONG        DirectoryKey,
-  /*IN*/ PUNICODE_STRING  Name,
-  /*OUT*/ PUNICODE_STRING ShortName,
-  /*OUT*/ PUNICODE_STRING LongName,
-  /*IN OUT*/ PULONG       DataLength,
-  /*OUT*/ PVOID           Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlFreeFileLock (
-  /*IN*/ PFILE_LOCK FileLock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlGetFileSize (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN OUT*/ PLARGE_INTEGER   FileSize
-);
-
-/*
-  FsRtlGetNextFileLock:
-
-  ret: NULL if no more locks
-
-  Internals:
-    FsRtlGetNextFileLock uses FileLock->LastReturnedLockInfo and
-    FileLock->LastReturnedLock as storage.
-    LastReturnedLock is a pointer to the 'raw' lock inkl. double linked
-    list, and FsRtlGetNextFileLock needs this to get next lock on subsequent
-    calls with Restart = FALSE.
-*/
-NTKERNELAPI
-PFILE_LOCK_INFO
-NTAPI
-FsRtlGetNextFileLock (
-  /*IN*/ PFILE_LOCK   FileLock,
-  /*IN*/ BOOLEAN      Restart
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeFileLock (
-  /*IN*/ PFILE_LOCK                   FileLock,
-  /*IN*/ PCOMPLETE_LOCK_IRP_ROUTINE   CompleteLockIrpRoutine /*OPTIONAL*/,
-  /*IN*/ PUNLOCK_ROUTINE              UnlockRoutine /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeOplock (
-  /*IN OUT*/ POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeTunnelCache (
-  /*IN*/ PTUNNEL Cache
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNameInExpression (
-  /*IN*/ PUNICODE_STRING  Expression,
-  /*IN*/ PUNICODE_STRING  Name,
-  /*IN*/ BOOLEAN          IgnoreCase,
-  /*IN*/ PWCHAR           UpcaseTable /*OPTIONAL*/
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNtstatusExpected (
-  /*IN*/ NTSTATUS Ntstatus
-);
-
-#define FsRtlIsUnicodeCharacterWild(C) (                                    \
-    (((C) >= 0x40) ?                                                        \
-    FALSE :                                                                 \
-    FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER ))    \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadComplete (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PMDL             MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadCompleteDev (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PMDL             MdlChain,
-  /*IN*/ PDEVICE_OBJECT   DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteComplete (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ PMDL             MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteCompleteDev (
-  /*IN*/ PFILE_OBJECT     FileObject,
-  /*IN*/ PLARGE_INTEGER   FileOffset,
-  /*IN*/ PMDL             MdlChain,
-  /*IN*/ PDEVICE_OBJECT   DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNormalizeNtstatus (
-  /*IN*/ NTSTATUS Exception,
-  /*IN*/ NTSTATUS GenericException
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyChangeDirectory (
-  /*IN*/ PNOTIFY_SYNC NotifySync,
-  /*IN*/ PVOID        FsContext,
-  /*IN*/ PSTRING      FullDirectoryName,
-  /*IN*/ PLIST_ENTRY  NotifyList,
-  /*IN*/ BOOLEAN      WatchTree,
-  /*IN*/ ULONG        CompletionFilter,
-  /*IN*/ PIRP         NotifyIrp
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyCleanup (
-  /*IN*/ PNOTIFY_SYNC NotifySync,
-  /*IN*/ PLIST_ENTRY  NotifyList,
-  /*IN*/ PVOID        FsContext
-);
-
-typedef BOOLEAN (*PCHECK_FOR_TRAVERSE_ACCESS) (
-  /*IN*/ PVOID                        NotifyContext,
-  /*IN*/ PVOID                        TargetContext,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT    SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullChangeDirectory (
-  /*IN*/ PNOTIFY_SYNC                 NotifySync,
-  /*IN*/ PLIST_ENTRY                  NotifyList,
-  /*IN*/ PVOID                        FsContext,
-  /*IN*/ PSTRING                      FullDirectoryName,
-  /*IN*/ BOOLEAN                      WatchTree,
-  /*IN*/ BOOLEAN                      IgnoreBuffer,
-  /*IN*/ ULONG                        CompletionFilter,
-  /*IN*/ PIRP                         NotifyIrp,
-  /*IN*/ PCHECK_FOR_TRAVERSE_ACCESS   TraverseCallback /*OPTIONAL*/,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT    SubjectContext /*OPTIONAL*/
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullReportChange (
-  /*IN*/ PNOTIFY_SYNC NotifySync,
-  /*IN*/ PLIST_ENTRY  NotifyList,
-  /*IN*/ PSTRING      FullTargetName,
-  /*IN*/ USHORT       TargetNameOffset,
-  /*IN*/ PSTRING      StreamName /*OPTIONAL*/,
-  /*IN*/ PSTRING      NormalizedParentName /*OPTIONAL*/,
-  /*IN*/ ULONG        FilterMatch,
-  /*IN*/ ULONG        Action,
-  /*IN*/ PVOID        TargetContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyInitializeSync (
-  /*IN*/ PNOTIFY_SYNC NotifySync
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyReportChange (
-  /*IN*/ PNOTIFY_SYNC NotifySync,
-  /*IN*/ PLIST_ENTRY  NotifyList,
-  /*IN*/ PSTRING      FullTargetName,
-  /*IN*/ PUSHORT      FileNamePartLength,
-  /*IN*/ ULONG        FilterMatch
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyUninitializeSync (
-  /*IN*/ PNOTIFY_SYNC NotifySync
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNotifyVolumeEvent (
-  /*IN*/ PFILE_OBJECT FileObject,
-  /*IN*/ ULONG        EventCode
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlOplockFsctrl (
-  /*IN*/ POPLOCK  Oplock,
-  /*IN*/ PIRP     Irp,
-  /*IN*/ ULONG    OpenCount
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlOplockIsFastIoPossible (
-  /*IN*/ POPLOCK Oplock
-);
-
-/*
-  FsRtlPrivateLock:
-
-  ret: IoStatus->Status: STATUS_PENDING, STATUS_LOCK_NOT_GRANTED
-
-  Internals:
-    -Calls IoCompleteRequest if Irp
-    -Uses exception handling / ExRaiseStatus with STATUS_INSUFFICIENT_RESOURCES
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlPrivateLock (
-  /*IN*/ PFILE_LOCK           FileLock,
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ PLARGE_INTEGER       Length,
-  /*IN*/ PEPROCESS            Process,
-  /*IN*/ ULONG                Key,
-  /*IN*/ BOOLEAN              FailImmediately,
-  /*IN*/ BOOLEAN              ExclusiveLock,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatus,
-  /*IN*/ PIRP                 Irp /*OPTIONAL*/,
-  /*IN*/ PVOID                Context,
-  /*IN*/ BOOLEAN              AlreadySynchronized
-);
-
-/*
-  FsRtlProcessFileLock:
-
-  ret:
-    -STATUS_INVALID_DEVICE_REQUEST
-    -STATUS_RANGE_NOT_LOCKED from unlock routines.
-    -STATUS_PENDING, STATUS_LOCK_NOT_GRANTED from FsRtlPrivateLock
-    (redirected IoStatus->Status).
-
-  Internals:
-    -switch ( Irp->CurrentStackLocation->MinorFunction )
-        lock: return FsRtlPrivateLock;
-        unlocksingle: return FsRtlFastUnlockSingle;
-        unlockall: return FsRtlFastUnlockAll;
-        unlockallbykey: return FsRtlFastUnlockAllByKey;
-        default: IofCompleteRequest with STATUS_INVALID_DEVICE_REQUEST;
-                 return STATUS_INVALID_DEVICE_REQUEST;
-
-    -'AllwaysZero' is passed thru as 'AllwaysZero' to lock / unlock routines.
-    -'Irp' is passet thru as 'Irp' to FsRtlPrivateLock.
-*/
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlProcessFileLock (
-  /*IN*/ PFILE_LOCK   FileLock,
-  /*IN*/ PIRP         Irp,
-  /*IN*/ PVOID        Context /*OPTIONAL*/
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlRegisterUncProvider (
-  /*IN OUT*/ PHANDLE      MupHandle,
-  /*IN*/ PUNICODE_STRING  RedirectorDeviceName,
-  /*IN*/ BOOLEAN          MailslotsSupported
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeFileLock (
-  /*IN*/ PFILE_LOCK FileLock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeOplock (
-  /*IN OUT*/ POPLOCK Oplock
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalDisplayString (
-  /*IN*/ PCHAR String
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalQueryRealTimeClock (
-  /*IN OUT*/ PTIME_FIELDS TimeFields
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalSetRealTimeClock (
-  /*IN*/ PTIME_FIELDS TimeFields
-);
-
-#define InitializeMessageHeader(m, l, t) {                  \
-    (m)->Length = (USHORT)(l);                              \
-    (m)->DataLength = (USHORT)(l - sizeof( LPC_MESSAGE ));  \
-    (m)->MessageType = (USHORT)(t);                         \
-    (m)->DataInfoOffset = 0;                                \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-IoAcquireVpbSpinLock (
-  /*OUT*/ PKIRQL Irql
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckDesiredAccess (
-  /*IN OUT*/ PACCESS_MASK DesiredAccess,
-  /*IN*/ ACCESS_MASK      GrantedAccess
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckEaBufferValidity (
-  /*IN*/ PFILE_FULL_EA_INFORMATION    EaBuffer,
-  /*IN*/ ULONG                        EaLength,
-  /*OUT*/ PULONG                      ErrorOffset
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckFunctionAccess (
-  /*IN*/ ACCESS_MASK              GrantedAccess,
-  /*IN*/ UCHAR                    MajorFunction,
-  /*IN*/ UCHAR                    MinorFunction,
-  /*IN*/ ULONG                    IoControlCode,
-  /*IN*/ PFILE_INFORMATION_CLASS  FileInformationClass /*OPTIONAL*/,
-  /*IN*/ PFS_INFORMATION_CLASS    FsInformationClass /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckQuotaBufferValidity (
-  /*IN*/ PFILE_QUOTA_INFORMATION  QuotaBuffer,
-  /*IN*/ ULONG                    QuotaLength,
-  /*OUT*/ PULONG                  ErrorOffset
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObject (
-  /*IN*/ PFILE_OBJECT     FileObject /*OPTIONAL*/,
-  /*IN*/ PDEVICE_OBJECT   DeviceObject /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObjectLite (
-  /*IN*/ PFILE_OBJECT     FileObject /*OPTIONAL*/,
-  /*IN*/ PDEVICE_OBJECT   DeviceObject /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoFastQueryNetworkAttributes (
-  /*IN*/ POBJECT_ATTRIBUTES               ObjectAttributes,
-  /*IN*/ ACCESS_MASK                      DesiredAccess,
-  /*IN*/ ULONG                            OpenOptions,
-  /*OUT*/ PIO_STATUS_BLOCK                IoStatus,
-  /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION  Buffer
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetAttachedDevice (
-  /*IN*/ PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetBaseFileSystemDeviceObject (
-  /*IN*/ PFILE_OBJECT FileObject
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoGetRequestorProcess (
-  /*IN*/ PIRP Irp
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-ULONG
-NTAPI
-IoGetRequestorProcessId (
-  /*IN*/ PIRP Irp
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PIRP
-NTAPI
-IoGetTopLevelIrp (
-    VOID
-);
-
-#define IoIsFileOpenedExclusively(FileObject) ( \
-    (BOOLEAN) !(                                \
-    (FileObject)->SharedRead ||                 \
-    (FileObject)->SharedWrite ||                \
-    (FileObject)->SharedDelete                  \
-    )                                           \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsOperationSynchronous (
-  /*IN*/ PIRP Irp
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsSystemThread (
-  /*IN*/ PETHREAD Thread
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsValidNameGraftingBuffer (
-  /*IN*/ PIRP                 Irp,
-  /*IN*/ PREPARSE_DATA_BUFFER ReparseBuffer
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoPageRead (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PMDL                 Mdl,
-  /*IN*/ PLARGE_INTEGER       Offset,
-  /*IN*/ PKEVENT              Event,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryFileInformation (
-  /*IN*/ PFILE_OBJECT             FileObject,
-  /*IN*/ FILE_INFORMATION_CLASS   FileInformationClass,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PVOID                   FileInformation,
-  /*OUT*/ PULONG                  ReturnedLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryVolumeInformation (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ FS_INFORMATION_CLASS FsInformationClass,
-  /*IN*/ ULONG                Length,
-  /*OUT*/ PVOID               FsInformation,
-  /*OUT*/ PULONG              ReturnedLength
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoRegisterFileSystem (
-  /*IN OUT*/ PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-typedef VOID (NTAPI *PDRIVER_FS_NOTIFICATION) (
-  /*IN*/ PDEVICE_OBJECT DeviceObject,
-  /*IN*/ BOOLEAN        DriverActive
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoRegisterFsRegistrationChange (
-  /*IN*/ PDRIVER_OBJECT           DriverObject,
-  /*IN*/ PDRIVER_FS_NOTIFICATION  DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-VOID
-NTAPI
-IoReleaseVpbSpinLock (
-  /*IN*/ KIRQL Irql
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetDeviceToVerify (
-  /*IN*/ PETHREAD         Thread,
-  /*IN*/ PDEVICE_OBJECT   DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSetInformation (
-  /*IN*/ PFILE_OBJECT             FileObject,
-  /*IN*/ FILE_INFORMATION_CLASS   FileInformationClass,
-  /*IN*/ ULONG                    Length,
-  /*IN*/ PVOID                    FileInformation
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetTopLevelIrp (
-  /*IN*/ PIRP Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSynchronousPageWrite (
-  /*IN*/ PFILE_OBJECT         FileObject,
-  /*IN*/ PMDL                 Mdl,
-  /*IN*/ PLARGE_INTEGER       FileOffset,
-  /*IN*/ PKEVENT              Event,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoThreadToProcess (
-  /*IN*/ PETHREAD Thread
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoUnregisterFileSystem (
-  /*IN OUT*/ PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoUnregisterFsRegistrationChange (
-  /*IN*/ PDRIVER_OBJECT           DriverObject,
-  /*IN*/ PDRIVER_FS_NOTIFICATION  DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoVerifyVolume (
-  /*IN*/ PDEVICE_OBJECT   DeviceObject,
-  /*IN*/ BOOLEAN          AllowRawMount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeAttachProcess (
-  /*IN*/ PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeDetachProcess (
-    VOID
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeInitializeQueue (
-  /*IN*/ PRKQUEUE Queue,
-  /*IN*/ ULONG    Count /*OPTIONAL*/
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertHeadQueue (
-  /*IN*/ PRKQUEUE     Queue,
-  /*IN*/ PLIST_ENTRY  Entry
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertQueue (
-  /*IN*/ PRKQUEUE     Queue,
-  /*IN*/ PLIST_ENTRY  Entry
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeInsertQueueApc (
-  /*IN*/ PKAPC      Apc,
-  /*IN*/ PVOID      SystemArgument1,
-  /*IN*/ PVOID      SystemArgument2,
-  /*IN*/ KPRIORITY  PriorityBoost
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateQueue (
-  /*IN*/ PRKQUEUE Queue
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRemoveQueue (
-  /*IN*/ PRKQUEUE         Queue,
-  /*IN*/ KPROCESSOR_MODE  WaitMode,
-  /*IN*/ PLARGE_INTEGER   Timeout /*OPTIONAL*/
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRundownQueue (
-  /*IN*/ PRKQUEUE Queue
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-KeStackAttachProcess (
-  /*IN*/ PKPROCESS    Process,
-  /*OUT*/ PKAPC_STATE ApcState
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeUnstackDetachProcess (
-  /*IN*/ PKAPC_STATE ApcState
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmCanFileBeTruncated (
-  /*IN*/ PSECTION_OBJECT_POINTERS     SectionObjectPointer,
-  /*IN*/ PLARGE_INTEGER               NewFileSize
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmFlushImageSection (
-  /*IN*/ PSECTION_OBJECT_POINTERS     SectionObjectPointer,
-  /*IN*/ MMFLUSH_TYPE                 FlushType
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmForceSectionClosed (
-  /*IN*/ PSECTION_OBJECT_POINTERS SectionObjectPointer,
-  /*IN*/ BOOLEAN                  DelayClose
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsRecursiveIoFault (
-    VOID
-);
-
-#else
-
-#define MmIsRecursiveIoFault() (                            \
-    (PsGetCurrentThread()->DisablePageFaultClustering) |    \
-    (PsGetCurrentThread()->ForwardClusterOnly)              \
-)
-
-#endif
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapViewOfSection (
-  /*IN*/ PVOID                SectionObject,
-  /*IN*/ PEPROCESS            Process,
-  /*IN OUT*/ PVOID            *BaseAddress,
-  /*IN*/ ULONG                ZeroBits,
-  /*IN*/ ULONG                CommitSize,
-  /*IN OUT*/ PLARGE_INTEGER   SectionOffset /*OPTIONAL*/,
-  /*IN OUT*/ PULONG           ViewSize,
-  /*IN*/ SECTION_INHERIT      InheritDisposition,
-  /*IN*/ ULONG                AllocationType,
-  /*IN*/ ULONG                Protect
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmSetAddressRangeModified (
-  /*IN*/ PVOID    Address,
-  /*IN*/ ULONG    Length
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObCreateObject (
-  /*IN*/ KPROCESSOR_MODE      ObjectAttributesAccessMode /*OPTIONAL*/,
-  /*IN*/ POBJECT_TYPE         ObjectType,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes /*OPTIONAL*/,
-  /*IN*/ KPROCESSOR_MODE      AccessMode,
-  /*IN OUT*/ PVOID            ParseContext /*OPTIONAL*/,
-  /*IN*/ ULONG                ObjectSize,
-  /*IN*/ ULONG                PagedPoolCharge /*OPTIONAL*/,
-  /*IN*/ ULONG                NonPagedPoolCharge /*OPTIONAL*/,
-  /*OUT*/ PVOID               *Object
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ObGetObjectPointerCount (
-  /*IN*/ PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObInsertObject (
-  /*IN*/ PVOID            Object,
-  /*IN*/ PACCESS_STATE    PassedAccessState /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK      DesiredAccess,
-  /*IN*/ ULONG            AdditionalReferences,
-  /*OUT*/ PVOID           *ReferencedObject /*OPTIONAL*/,
-  /*OUT*/ PHANDLE         Handle
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ObMakeTemporaryObject (
-  /*IN*/ PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObOpenObjectByPointer (
-  /*IN*/ PVOID            Object,
-  /*IN*/ ULONG            HandleAttributes,
-  /*IN*/ PACCESS_STATE    PassedAccessState /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK      DesiredAccess /*OPTIONAL*/,
-  /*IN*/ POBJECT_TYPE     ObjectType /*OPTIONAL*/,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*OUT*/ PHANDLE         Handle
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryNameString (
-  /*IN*/ PVOID                        Object,
-  /*OUT*/ POBJECT_NAME_INFORMATION    ObjectNameInfo,
-  /*IN*/ ULONG                        Length,
-  /*OUT*/ PULONG                      ReturnLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryObjectAuditingByHandle (
-  /*IN*/ HANDLE       Handle,
-  /*OUT*/ PBOOLEAN    GenerateOnClose
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObReferenceObjectByName (
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ ULONG            Attributes,
-  /*IN*/ PACCESS_STATE    PassedAccessState /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK      DesiredAccess /*OPTIONAL*/,
-  /*IN*/ POBJECT_TYPE     ObjectType,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN OUT*/ PVOID        ParseContext /*OPTIONAL*/,
-  /*OUT*/ PVOID           *Object
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsChargePoolQuota (
-  /*IN*/ PEPROCESS    Process,
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        Amount
-);
-
-#define PsDereferenceImpersonationToken(T)  \
-            {if (ARGUMENT_PRESENT(T)) {     \
-                (ObDereferenceObject((T))); \
-            } else {                        \
-                ;                           \
-            }                               \
-}
-
-#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
-
-NTKERNELAPI
-ULONGLONG
-NTAPI
-PsGetProcessExitTime (
-    VOID
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-PsIsThreadTerminating (
-  /*IN*/ PETHREAD Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessByProcessId (
-  /*IN*/ PVOID        ProcessId,
-  /*OUT*/ PEPROCESS   *Process
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessThreadByCid (
-  /*IN*/ PCLIENT_ID   Cid,
-  /*OUT*/ PEPROCESS   *Process /*OPTIONAL*/,
-  /*OUT*/ PETHREAD    *Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupThreadByThreadId (
-  /*IN*/ PVOID        UniqueThreadId,
-  /*OUT*/ PETHREAD    *Thread
-);
-
-NTKERNELAPI
-PACCESS_TOKEN
-NTAPI
-PsReferenceImpersonationToken (
-  /*IN*/ PETHREAD                         Thread,
-  /*OUT*/ PBOOLEAN                        CopyOnUse,
-  /*OUT*/ PBOOLEAN                        EffectiveOnly,
-  /*OUT*/ PSECURITY_IMPERSONATION_LEVEL   Level
-);
-
-NTKERNELAPI
-HANDLE
-NTAPI
-PsReferencePrimaryToken (
-  /*IN*/ PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsReturnPoolQuota (
-  /*IN*/ PEPROCESS    Process,
-  /*IN*/ POOL_TYPE    PoolType,
-  /*IN*/ ULONG        Amount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsRevertToSelf (
-    VOID
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlAbsoluteToSelfRelativeSD (
-  /*IN*/ PSECURITY_DESCRIPTOR     AbsoluteSecurityDescriptor,
-  /*IN OUT*/ PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
-  /*IN*/ PULONG                   BufferLength
-);
-
-NTSYSAPI
-PVOID
-NTAPI
-RtlAllocateHeap (
-  /*IN*/ HANDLE  HeapHandle,
-  /*IN*/ ULONG   Flags,
-  /*IN*/ ULONG   Size
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressBuffer (
-  /*IN*/ USHORT   CompressionFormatAndEngine,
-  /*IN*/ PUCHAR   UncompressedBuffer,
-  /*IN*/ ULONG    UncompressedBufferSize,
-  /*OUT*/ PUCHAR  CompressedBuffer,
-  /*IN*/ ULONG    CompressedBufferSize,
-  /*IN*/ ULONG    UncompressedChunkSize,
-  /*OUT*/ PULONG  FinalCompressedSize,
-  /*IN*/ PVOID    WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressChunks (
-  /*IN*/ PUCHAR                       UncompressedBuffer,
-  /*IN*/ ULONG                        UncompressedBufferSize,
-  /*OUT*/ PUCHAR                      CompressedBuffer,
-  /*IN*/ ULONG                        CompressedBufferSize,
-  /*IN OUT*/ PCOMPRESSED_DATA_INFO    CompressedDataInfo,
-  /*IN*/ ULONG                        CompressedDataInfoLength,
-  /*IN*/ PVOID                        WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlConvertSidToUnicodeString (
-  /*OUT*/ PUNICODE_STRING DestinationString,
-  /*IN*/ PSID             Sid,
-  /*IN*/ BOOLEAN          AllocateDestinationString
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCopySid (
-  /*IN*/ ULONG   Length,
-  /*IN*/ PSID    Destination,
-  /*IN*/ PSID    Source
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressBuffer (
-  /*IN*/ USHORT   CompressionFormat,
-  /*OUT*/ PUCHAR  UncompressedBuffer,
-  /*IN*/ ULONG    UncompressedBufferSize,
-  /*IN*/ PUCHAR   CompressedBuffer,
-  /*IN*/ ULONG    CompressedBufferSize,
-  /*OUT*/ PULONG  FinalUncompressedSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressChunks (
-  /*OUT*/ PUCHAR                  UncompressedBuffer,
-  /*IN*/ ULONG                    UncompressedBufferSize,
-  /*IN*/ PUCHAR                   CompressedBuffer,
-  /*IN*/ ULONG                    CompressedBufferSize,
-  /*IN*/ PUCHAR                   CompressedTail,
-  /*IN*/ ULONG                    CompressedTailSize,
-  /*IN*/ PCOMPRESSED_DATA_INFO    CompressedDataInfo
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressFragment (
-  /*IN*/ USHORT   CompressionFormat,
-  /*OUT*/ PUCHAR  UncompressedFragment,
-  /*IN*/ ULONG    UncompressedFragmentSize,
-  /*IN*/ PUCHAR   CompressedBuffer,
-  /*IN*/ ULONG    CompressedBufferSize,
-  /*IN*/ ULONG    FragmentOffset,
-  /*OUT*/ PULONG  FinalUncompressedSize,
-  /*IN*/ PVOID    WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDescribeChunk (
-  /*IN*/ USHORT       CompressionFormat,
-  /*IN OUT*/ PUCHAR   *CompressedBuffer,
-  /*IN*/ PUCHAR       EndOfCompressedBufferPlus1,
-  /*OUT*/ PUCHAR      *ChunkBuffer,
-  /*OUT*/ PULONG      ChunkSize
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlEqualSid (
-  /*IN*/ PSID Sid1,
-  /*IN*/ PSID Sid2
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlFillMemoryUlong (
-  /*IN*/ PVOID    Destination,
-  /*IN*/ ULONG    Length,
-  /*IN*/ ULONG    Fill
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlFreeHeap (
-  /*IN*/ HANDLE  HeapHandle,
-  /*IN*/ ULONG   Flags,
-  /*IN*/ PVOID   P
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlGenerate8dot3Name (
-  /*IN*/ PUNICODE_STRING              Name,
-  /*IN*/ BOOLEAN                      AllowExtendedCharacters,
-  /*IN OUT*/ PGENERATE_NAME_CONTEXT   Context,
-  /*OUT*/ PUNICODE_STRING             Name8dot3
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetCompressionWorkSpaceSize (
-  /*IN*/ USHORT   CompressionFormatAndEngine,
-  /*OUT*/ PULONG  CompressBufferWorkSpaceSize,
-  /*OUT*/ PULONG  CompressFragmentWorkSpaceSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetDaclSecurityDescriptor (
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*OUT*/ PBOOLEAN            DaclPresent,
-  /*OUT*/ PACL                *Dacl,
-  /*OUT*/ PBOOLEAN            DaclDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetGroupSecurityDescriptor (
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*OUT*/ PSID                *Group,
-  /*OUT*/ PBOOLEAN            GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetOwnerSecurityDescriptor (
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*OUT*/ PSID                *Owner,
-  /*OUT*/ PBOOLEAN            OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlInitializeSid (
-  /*IN OUT*/ PSID                     Sid,
-  /*IN*/ PSID_IDENTIFIER_AUTHORITY    IdentifierAuthority,
-  /*IN*/ UCHAR                        SubAuthorityCount
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlIsNameLegalDOS8Dot3 (
-  /*IN*/ PUNICODE_STRING UnicodeName,
-  /*IN*/ PANSI_STRING    AnsiName,
-    PBOOLEAN           Unknown
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthRequiredSid (
-  /*IN*/ UCHAR SubAuthorityCount
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthSid (
-  /*IN*/ PSID Sid
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlNtStatusToDosError (
-  /*IN*/ NTSTATUS Status
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlReserveChunk (
-  /*IN*/ USHORT       CompressionFormat,
-  /*IN OUT*/ PUCHAR   *CompressedBuffer,
-  /*IN*/ PUCHAR       EndOfCompressedBufferPlus1,
-  /*OUT*/ PUCHAR      *ChunkBuffer,
-  /*IN*/ ULONG        ChunkSize
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlSecondsSince1970ToTime (
-  /*IN*/ ULONG            SecondsSince1970,
-  /*OUT*/ PLARGE_INTEGER  Time
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSelfRelativeToAbsoluteSD (
-  /*IN*/ PSECURITY_DESCRIPTOR     SelfRelativeSD,
-  /*OUT*/ PSECURITY_DESCRIPTOR    AbsoluteSD,
-  /*IN*/ PULONG                   AbsoluteSDSize,
-  /*IN*/ PACL                     Dacl,
-  /*IN*/ PULONG                   DaclSize,
-  /*IN*/ PACL                     Sacl,
-  /*IN*/ PULONG                   SaclSize,
-  /*IN*/ PSID                     Owner,
-  /*IN*/ PULONG                   OwnerSize,
-  /*IN*/ PSID                     PrimaryGroup,
-  /*IN*/ PULONG                   PrimaryGroupSize
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetGroupSecurityDescriptor (
-  /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ PSID                     Group,
-  /*IN*/ BOOLEAN                  GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetOwnerSecurityDescriptor (
-  /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ PSID                     Owner,
-  /*IN*/ BOOLEAN                  OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetSaclSecurityDescriptor (
-  /*IN OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ BOOLEAN                  SaclPresent,
-  /*IN*/ PACL                     Sacl,
-  /*IN*/ BOOLEAN                  SaclDefaulted
-);
-
-NTSYSAPI
-PUCHAR
-NTAPI
-RtlSubAuthorityCountSid (
-  /*IN*/ PSID Sid
-);
-
-NTSYSAPI
-PULONG
-NTAPI
-RtlSubAuthoritySid (
-  /*IN*/ PSID    Sid,
-  /*IN*/ ULONG   SubAuthority
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlValidSid (
-  /*IN*/ PSID Sid
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeAppendPrivileges (
-    PACCESS_STATE   AccessState,
-    PPRIVILEGE_SET  Privileges
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileEvents (
-  /*IN*/ BOOLEAN              AccessGranted,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileOrGlobalEvents (
-  /*IN*/ BOOLEAN                      AccessGranted,
-  /*IN*/ PSECURITY_DESCRIPTOR         SecurityDescriptor,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT    SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeCaptureSubjectContext (
-  /*OUT*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateAccessState (
-  /*OUT*/ PACCESS_STATE   AccessState,
-  /*IN*/ PVOID            AuxData,
-  /*IN*/ ACCESS_MASK      AccessMask,
-  /*IN*/ PGENERIC_MAPPING Mapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurity (
-  /*IN*/ PETHREAD                     Thread,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE QualityOfService,
-  /*IN*/ BOOLEAN                      RemoteClient,
-  /*OUT*/ PSECURITY_CLIENT_CONTEXT    ClientContext
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurityFromSubjectContext (
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT    SubjectContext,
-  /*IN*/ PSECURITY_QUALITY_OF_SERVICE QualityOfService,
-  /*IN*/ BOOLEAN                      ServerIsRemote,
-  /*OUT*/ PSECURITY_CLIENT_CONTEXT    ClientContext
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeDeleteClientSecurity(C)  {                                           \
-            if (SeTokenType((C)->ClientToken) == TokenPrimary) {               \
-                PsDereferencePrimaryToken( (C)->ClientToken );                 \
-            } else {                                                           \
-                PsDereferenceImpersonationToken( (C)->ClientToken );           \
-            }                                                                  \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-SeDeleteObjectAuditAlarm (
-  /*IN*/ PVOID    Object,
-  /*IN*/ HANDLE   Handle
-);
-
-#define SeEnableAccessToExports() SeExports = *(PSE_EXPORTS *)SeExports;
-
-NTKERNELAPI
-VOID
-NTAPI
-SeFreePrivileges (
-  /*IN*/ PPRIVILEGE_SET Privileges
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeImpersonateClient (
-  /*IN*/ PSECURITY_CLIENT_CONTEXT ClientContext,
-  /*IN*/ PETHREAD                 ServerThread /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeImpersonateClientEx (
-  /*IN*/ PSECURITY_CLIENT_CONTEXT ClientContext,
-  /*IN*/ PETHREAD                 ServerThread /*OPTIONAL*/
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-SeLockSubjectContext (
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeMarkLogonSessionForTerminationNotification (
-  /*IN*/ PLUID LogonId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectAuditAlarm (
-  /*IN*/ PUNICODE_STRING      ObjectTypeName,
-  /*IN*/ PVOID                Object /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING      AbsoluteObjectName /*OPTIONAL*/,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ PACCESS_STATE        AccessState,
-  /*IN*/ BOOLEAN              ObjectCreated,
-  /*IN*/ BOOLEAN              AccessGranted,
-  /*IN*/ KPROCESSOR_MODE      AccessMode,
-  /*OUT*/ PBOOLEAN            GenerateOnClose
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectForDeleteAuditAlarm (
-  /*IN*/ PUNICODE_STRING      ObjectTypeName,
-  /*IN*/ PVOID                Object /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING      AbsoluteObjectName /*OPTIONAL*/,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ PACCESS_STATE        AccessState,
-  /*IN*/ BOOLEAN              ObjectCreated,
-  /*IN*/ BOOLEAN              AccessGranted,
-  /*IN*/ KPROCESSOR_MODE      AccessMode,
-  /*OUT*/ PBOOLEAN            GenerateOnClose
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SePrivilegeCheck (
-  /*IN OUT*/ PPRIVILEGE_SET           RequiredPrivileges,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT    SubjectContext,
-  /*IN*/ KPROCESSOR_MODE              AccessMode
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryAuthenticationIdToken (
-  /*IN*/ PACCESS_TOKEN    Token,
-  /*OUT*/ PLUID           LogonId
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryInformationToken (
-  /*IN*/ PACCESS_TOKEN           Token,
-  /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass,
-  /*OUT*/ PVOID                  *TokenInformation
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySecurityDescriptorInfo (
-  /*IN*/ PSECURITY_INFORMATION    SecurityInformation,
-  /*OUT*/ PSECURITY_DESCRIPTOR    SecurityDescriptor,
-  /*IN OUT*/ PULONG               Length,
-  /*IN*/ PSECURITY_DESCRIPTOR     *ObjectsSecurityDescriptor
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySessionIdToken (
-  /*IN*/ PACCESS_TOKEN    Token,
-  /*IN*/ PULONG           SessionId
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeQuerySubjectContextToken( SubjectContext )                \
-    ( ARGUMENT_PRESENT(                                             \
-        ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken   \
-        ) ?                                                         \
-    ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken :     \
-    ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken )
-
-typedef NTSTATUS (*PSE_LOGON_SESSION_TERMINATED_ROUTINE) (
-  /*IN*/ PLUID LogonId
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeRegisterLogonSessionTerminatedRoutine (
-  /*IN*/ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeReleaseSubjectContext (
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeSetAccessStateGenericMapping (
-    PACCESS_STATE       AccessState,
-    PGENERIC_MAPPING    GenericMapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfo (
-  /*IN*/ PVOID                    Object /*OPTIONAL*/,
-  /*IN*/ PSECURITY_INFORMATION    SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR     SecurityDescriptor,
-  /*IN OUT*/ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
-  /*IN*/ POOL_TYPE                PoolType,
-  /*IN*/ PGENERIC_MAPPING         GenericMapping
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfoEx (
-  /*IN*/ PVOID                    Object /*OPTIONAL*/,
-  /*IN*/ PSECURITY_INFORMATION    SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR     ModificationDescriptor,
-  /*IN OUT*/ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
-  /*IN*/ ULONG                    AutoInheritFlags,
-  /*IN*/ POOL_TYPE                PoolType,
-  /*IN*/ PGENERIC_MAPPING         GenericMapping
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsAdmin (
-  /*IN*/ PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsRestricted (
-  /*IN*/ PACCESS_TOKEN Token
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-TOKEN_TYPE
-NTAPI
-SeTokenType (
-  /*IN*/ PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeUnlockSubjectContext (
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-SeUnregisterLogonSessionTerminatedRoutine (
-  /*IN*/ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtAdjustPrivilegesToken (
-  /*IN*/ HANDLE               TokenHandle,
-  /*IN*/ BOOLEAN              DisableAllPrivileges,
-  /*IN*/ PTOKEN_PRIVILEGES    NewState,
-  /*IN*/ ULONG                BufferLength,
-  /*OUT*/ PTOKEN_PRIVILEGES   PreviousState /*OPTIONAL*/,
-  /*OUT*/ PULONG              ReturnLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken (
-  /*IN*/ HANDLE               TokenHandle,
-  /*IN*/ BOOLEAN              DisableAllPrivileges,
-  /*IN*/ PTOKEN_PRIVILEGES    NewState,
-  /*IN*/ ULONG                BufferLength,
-  /*OUT*/ PTOKEN_PRIVILEGES   PreviousState /*OPTIONAL*/,
-  /*OUT*/ PULONG              ReturnLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtAlertThread (
-  /*IN*/ HANDLE ThreadHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread (
-  /*IN*/ HANDLE ThreadHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtAllocateVirtualMemory (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN OUT*/ PVOID    *BaseAddress,
-  /*IN*/ ULONG        ZeroBits,
-  /*IN OUT*/ PULONG   RegionSize,
-  /*IN*/ ULONG        AllocationType,
-  /*IN*/ ULONG        Protect
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN OUT*/ PVOID    *BaseAddress,
-  /*IN*/ ULONG        ZeroBits,
-  /*IN OUT*/ PULONG   RegionSize,
-  /*IN*/ ULONG        AllocationType,
-  /*IN*/ ULONG        Protect
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtAccessCheckAndAuditAlarm (
-  /*IN*/ PUNICODE_STRING      SubsystemName,
-  /*IN*/ PVOID                HandleId,
-  /*IN*/ PUNICODE_STRING      ObjectTypeName,
-  /*IN*/ PUNICODE_STRING      ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING     GenericMapping,
-  /*IN*/ BOOLEAN              ObjectCreation,
-  /*OUT*/ PACCESS_MASK        GrantedAccess,
-  /*OUT*/ PBOOLEAN            AccessStatus,
-  /*OUT*/ PBOOLEAN            GenerateOnClose
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm (
-  /*IN*/ PUNICODE_STRING      SubsystemName,
-  /*IN*/ PVOID                HandleId,
-  /*IN*/ PUNICODE_STRING      ObjectTypeName,
-  /*IN*/ PUNICODE_STRING      ObjectName,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ PGENERIC_MAPPING     GenericMapping,
-  /*IN*/ BOOLEAN              ObjectCreation,
-  /*OUT*/ PACCESS_MASK        GrantedAccess,
-  /*OUT*/ PBOOLEAN            AccessStatus,
-  /*OUT*/ PBOOLEAN            GenerateOnClose
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtCancelIoFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtClearEvent (
-  /*IN*/ HANDLE EventHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwClearEvent (
-  /*IN*/ HANDLE EventHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtCloseObjectAuditAlarm (
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID            HandleId,
-  /*IN*/ BOOLEAN          GenerateOnClose
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm (
-  /*IN*/ PUNICODE_STRING  SubsystemName,
-  /*IN*/ PVOID            HandleId,
-  /*IN*/ BOOLEAN          GenerateOnClose
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtCreateSection (
-  /*OUT*/ PHANDLE             SectionHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes /*OPTIONAL*/,
-  /*IN*/ PLARGE_INTEGER       MaximumSize /*OPTIONAL*/,
-  /*IN*/ ULONG                SectionPageProtection,
-  /*IN*/ ULONG                AllocationAttributes,
-  /*IN*/ HANDLE               FileHandle /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection (
-  /*OUT*/ PHANDLE             SectionHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes /*OPTIONAL*/,
-  /*IN*/ PLARGE_INTEGER       MaximumSize /*OPTIONAL*/,
-  /*IN*/ ULONG                SectionPageProtection,
-  /*IN*/ ULONG                AllocationAttributes,
-  /*IN*/ HANDLE               FileHandle /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtCreateSymbolicLinkObject (
-  /*OUT*/ PHANDLE             SymbolicLinkHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PUNICODE_STRING      TargetName
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject (
-  /*OUT*/ PHANDLE             SymbolicLinkHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PUNICODE_STRING      TargetName
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDeleteFile (
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile (
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDeleteValueKey (
-  /*IN*/ HANDLE           Handle,
-  /*IN*/ PUNICODE_STRING  Name
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteValueKey (
-  /*IN*/ HANDLE           Handle,
-  /*IN*/ PUNICODE_STRING  Name
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDeviceIoControlFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*IN*/ HANDLE               Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                IoControlCode,
-  /*IN*/ PVOID                InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                InputBufferLength,
-  /*OUT*/ PVOID               OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeviceIoControlFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*IN*/ HANDLE               Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                IoControlCode,
-  /*IN*/ PVOID                InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                InputBufferLength,
-  /*OUT*/ PVOID               OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDisplayString (
-  /*IN*/ PUNICODE_STRING String
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString (
-  /*IN*/ PUNICODE_STRING String
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDuplicateObject (
-  /*IN*/ HANDLE       SourceProcessHandle,
-  /*IN*/ HANDLE       SourceHandle,
-  /*IN*/ HANDLE       TargetProcessHandle /*OPTIONAL*/,
-  /*OUT*/ PHANDLE     TargetHandle /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG        HandleAttributes,
-  /*IN*/ ULONG        Options
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject (
-  /*IN*/ HANDLE       SourceProcessHandle,
-  /*IN*/ HANDLE       SourceHandle,
-  /*IN*/ HANDLE       TargetProcessHandle /*OPTIONAL*/,
-  /*OUT*/ PHANDLE     TargetHandle /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG        HandleAttributes,
-  /*IN*/ ULONG        Options
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtDuplicateToken (
-  /*IN*/ HANDLE               ExistingTokenHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ BOOLEAN              EffectiveOnly,
-  /*IN*/ TOKEN_TYPE           TokenType,
-  /*OUT*/ PHANDLE             NewTokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken (
-  /*IN*/ HANDLE               ExistingTokenHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ BOOLEAN              EffectiveOnly,
-  /*IN*/ TOKEN_TYPE           TokenType,
-  /*OUT*/ PHANDLE             NewTokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtFlushInstructionCache (
-  /*IN*/ HANDLE   ProcessHandle,
-  /*IN*/ PVOID    BaseAddress /*OPTIONAL*/,
-  /*IN*/ ULONG    FlushSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache (
-  /*IN*/ HANDLE   ProcessHandle,
-  /*IN*/ PVOID    BaseAddress /*OPTIONAL*/,
-  /*IN*/ ULONG    FlushSize
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtFlushVirtualMemory (
-  /*IN*/ HANDLE               ProcessHandle,
-  /*IN OUT*/ PVOID            *BaseAddress,
-  /*IN OUT*/ PULONG           FlushSize,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory (
-  /*IN*/ HANDLE               ProcessHandle,
-  /*IN OUT*/ PVOID            *BaseAddress,
-  /*IN OUT*/ PULONG           FlushSize,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtFreeVirtualMemory (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN OUT*/ PVOID    *BaseAddress,
-  /*IN OUT*/ PULONG   RegionSize,
-  /*IN*/ ULONG        FreeType
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN OUT*/ PVOID    *BaseAddress,
-  /*IN OUT*/ PULONG   RegionSize,
-  /*IN*/ ULONG        FreeType
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtFsControlFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*IN*/ HANDLE               Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                FsControlCode,
-  /*IN*/ PVOID                InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                InputBufferLength,
-  /*OUT*/ PVOID               OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFsControlFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*IN*/ HANDLE               Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                FsControlCode,
-  /*IN*/ PVOID                InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                InputBufferLength,
-  /*OUT*/ PVOID               OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                OutputBufferLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtInitiatePowerAction (
-  /*IN*/ POWER_ACTION         SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE   MinSystemState,
-  /*IN*/ ULONG                Flags,
-  /*IN*/ BOOLEAN              Asynchronous
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction (
-  /*IN*/ POWER_ACTION         SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE   MinSystemState,
-  /*IN*/ ULONG                Flags,
-  /*IN*/ BOOLEAN              Asynchronous
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtLoadDriver (
-    /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
-  /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver (
-    /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
-  /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtLoadKey (
-  /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey (
-  /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes,
-  /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtNotifyChangeKey (
-  /*IN*/ HANDLE               KeyHandle,
-  /*IN*/ HANDLE               EventHandle /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                NotifyFilter,
-  /*IN*/ BOOLEAN              WatchSubtree,
-  /*IN*/ PVOID                Buffer,
-  /*IN*/ ULONG                BufferLength,
-  /*IN*/ BOOLEAN              Asynchronous
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey (
-  /*IN*/ HANDLE               KeyHandle,
-  /*IN*/ HANDLE               EventHandle /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE      ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ ULONG                NotifyFilter,
-  /*IN*/ BOOLEAN              WatchSubtree,
-  /*IN*/ PVOID                Buffer,
-  /*IN*/ ULONG                BufferLength,
-  /*IN*/ BOOLEAN              Asynchronous
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenDirectoryObject (
-  /*OUT*/ PHANDLE             DirectoryHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject (
-  /*OUT*/ PHANDLE             DirectoryHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenEvent (
-  /*OUT*/ PHANDLE             EventHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenEvent (
-  /*OUT*/ PHANDLE             EventHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenProcess (
-  /*OUT*/ PHANDLE             ProcessHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PCLIENT_ID           ClientId /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcess (
-  /*OUT*/ PHANDLE             ProcessHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PCLIENT_ID           ClientId /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenProcessToken (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE     TokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken (
-  /*IN*/ HANDLE       ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE     TokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenThread (
-  /*OUT*/ PHANDLE             ThreadHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PCLIENT_ID           ClientId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread (
-  /*OUT*/ PHANDLE             ThreadHandle,
-  /*IN*/ ACCESS_MASK          DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES   ObjectAttributes,
-  /*IN*/ PCLIENT_ID           ClientId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtOpenThreadToken (
-  /*IN*/ HANDLE       ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ BOOLEAN      OpenAsSelf,
-  /*OUT*/ PHANDLE     TokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken (
-  /*IN*/ HANDLE       ThreadHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ BOOLEAN      OpenAsSelf,
-  /*OUT*/ PHANDLE     TokenHandle
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtPowerInformation (
-  /*IN*/ POWER_INFORMATION_LEVEL  PowerInformationLevel,
-  /*IN*/ PVOID                    InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                    InputBufferLength,
-  /*OUT*/ PVOID                   OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                    OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation (
-  /*IN*/ POWER_INFORMATION_LEVEL  PowerInformationLevel,
-  /*IN*/ PVOID                    InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                    InputBufferLength,
-  /*OUT*/ PVOID                   OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG                    OutputBufferLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtPulseEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPulseEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryDefaultLocale (
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*OUT*/ PLCID   Locale
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale (
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*OUT*/ PLCID   Locale
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryDirectoryFile (
-  /*IN*/ HANDLE                   FileHandle,
-  /*IN*/ HANDLE                   Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE          ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                    ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK        IoStatusBlock,
-  /*OUT*/ PVOID                   FileInformation,
-  /*IN*/ ULONG                    Length,
-  /*IN*/ FILE_INFORMATION_CLASS   FileInformationClass,
-  /*IN*/ BOOLEAN                  ReturnSingleEntry,
-  /*IN*/ PUNICODE_STRING          FileName /*OPTIONAL*/,
-  /*IN*/ BOOLEAN                  RestartScan
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryFile (
-  /*IN*/ HANDLE                   FileHandle,
-  /*IN*/ HANDLE                   Event /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE          ApcRoutine /*OPTIONAL*/,
-  /*IN*/ PVOID                    ApcContext /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK        IoStatusBlock,
-  /*OUT*/ PVOID                   FileInformation,
-  /*IN*/ ULONG                    Length,
-  /*IN*/ FILE_INFORMATION_CLASS   FileInformationClass,
-  /*IN*/ BOOLEAN                  ReturnSingleEntry,
-  /*IN*/ PUNICODE_STRING          FileName /*OPTIONAL*/,
-  /*IN*/ BOOLEAN                  RestartScan
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryDirectoryObject (
-  /*IN*/ HANDLE       DirectoryHandle,
-  /*OUT*/ PVOID       Buffer,
-  /*IN*/ ULONG        Length,
-  /*IN*/ BOOLEAN      ReturnSingleEntry,
-  /*IN*/ BOOLEAN      RestartScan,
-  /*IN OUT*/ PULONG   Context,
-  /*OUT*/ PULONG      ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject (
-  /*IN*/ HANDLE       DirectoryHandle,
-  /*OUT*/ PVOID       Buffer,
-  /*IN*/ ULONG        Length,
-  /*IN*/ BOOLEAN      ReturnSingleEntry,
-  /*IN*/ BOOLEAN      RestartScan,
-  /*IN OUT*/ PULONG   Context,
-  /*OUT*/ PULONG      ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryEaFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               Buffer,
-  /*IN*/ ULONG                Length,
-  /*IN*/ BOOLEAN              ReturnSingleEntry,
-  /*IN*/ PVOID                EaList /*OPTIONAL*/,
-  /*IN*/ ULONG                EaListLength,
-  /*IN*/ PULONG               EaIndex /*OPTIONAL*/,
-  /*IN*/ BOOLEAN              RestartScan
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryEaFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               Buffer,
-  /*IN*/ ULONG                Length,
-  /*IN*/ BOOLEAN              ReturnSingleEntry,
-  /*IN*/ PVOID                EaList /*OPTIONAL*/,
-  /*IN*/ ULONG                EaListLength,
-  /*IN*/ PULONG               EaIndex /*OPTIONAL*/,
-  /*IN*/ BOOLEAN              RestartScan
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationProcess (
-  /*IN*/ HANDLE           ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
-  /*OUT*/ PVOID           ProcessInformation,
-  /*IN*/ ULONG            ProcessInformationLength,
-  /*OUT*/ PULONG          ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess (
-  /*IN*/ HANDLE           ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
-  /*OUT*/ PVOID           ProcessInformation,
-  /*IN*/ ULONG            ProcessInformationLength,
-  /*OUT*/ PULONG          ReturnLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationToken (
-  /*IN*/ HANDLE                   TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*OUT*/ PVOID                   TokenInformation,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken (
-  /*IN*/ HANDLE                   TokenHandle,
-  /*IN*/ TOKEN_INFORMATION_CLASS  TokenInformationClass,
-  /*OUT*/ PVOID                   TokenInformation,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryObject (
-  /*IN*/ HANDLE                      ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS    ObjectInformationClass,
-  /*OUT*/ PVOID                      ObjectInformation,
-  /*IN*/ ULONG                       Length,
-  /*OUT*/ PULONG                     ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject (
-  /*IN*/ HANDLE                      ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS    ObjectInformationClass,
-  /*OUT*/ PVOID                      ObjectInformation,
-  /*IN*/ ULONG                       Length,
-  /*OUT*/ PULONG                     ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQuerySection (
-  /*IN*/ HANDLE                       SectionHandle,
-  /*IN*/ SECTION_INFORMATION_CLASS    SectionInformationClass,
-  /*OUT*/ PVOID                       SectionInformation,
-  /*IN*/ ULONG                        SectionInformationLength,
-  /*OUT*/ PULONG                      ResultLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection (
-  /*IN*/ HANDLE                       SectionHandle,
-  /*IN*/ SECTION_INFORMATION_CLASS    SectionInformationClass,
-  /*OUT*/ PVOID                       SectionInformation,
-  /*IN*/ ULONG                        SectionInformationLength,
-  /*OUT*/ PULONG                      ResultLength /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQuerySecurityObject (
-  /*IN*/ HANDLE                   FileHandle,
-  /*IN*/ SECURITY_INFORMATION     SecurityInformation,
-  /*OUT*/ PSECURITY_DESCRIPTOR    SecurityDescriptor,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject (
-  /*IN*/ HANDLE                   FileHandle,
-  /*IN*/ SECURITY_INFORMATION     SecurityInformation,
-  /*OUT*/ PSECURITY_DESCRIPTOR    SecurityDescriptor,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemInformation (
-  /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
-  /*OUT*/ PVOID                   SystemInformation,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ReturnLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation (
-  /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
-  /*OUT*/ PVOID                   SystemInformation,
-  /*IN*/ ULONG                    Length,
-  /*OUT*/ PULONG                  ReturnLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtQueryVolumeInformationFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               FsInformation,
-  /*IN*/ ULONG                Length,
-  /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryVolumeInformationFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               FsInformation,
-  /*IN*/ ULONG                Length,
-  /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtReplaceKey (
-  /*IN*/ POBJECT_ATTRIBUTES   NewFileObjectAttributes,
-  /*IN*/ HANDLE               KeyHandle,
-  /*IN*/ POBJECT_ATTRIBUTES   OldFileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey (
-  /*IN*/ POBJECT_ATTRIBUTES   NewFileObjectAttributes,
-  /*IN*/ HANDLE               KeyHandle,
-  /*IN*/ POBJECT_ATTRIBUTES   OldFileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtResetEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwResetEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtRestoreKey (
-  /*IN*/ HANDLE   KeyHandle,
-  /*IN*/ HANDLE   FileHandle,
-  /*IN*/ ULONG    Flags
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey (
-  /*IN*/ HANDLE   KeyHandle,
-  /*IN*/ HANDLE   FileHandle,
-  /*IN*/ ULONG    Flags
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSaveKey (
-  /*IN*/ HANDLE KeyHandle,
-  /*IN*/ HANDLE FileHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey (
-  /*IN*/ HANDLE KeyHandle,
-  /*IN*/ HANDLE FileHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetDefaultLocale (
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*IN*/ LCID     Locale
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale (
-  /*IN*/ BOOLEAN  ThreadOrSystem,
-  /*IN*/ LCID     Locale
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetDefaultUILanguage (
-  /*IN*/ LANGID LanguageId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage (
-  /*IN*/ LANGID LanguageId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetEaFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               Buffer,
-  /*IN*/ ULONG                Length
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEaFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*OUT*/ PVOID               Buffer,
-  /*IN*/ ULONG                Length
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEvent (
-  /*IN*/ HANDLE   EventHandle,
-  /*OUT*/ PULONG  PreviousState /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetInformationObject (
-  /*IN*/ HANDLE                       ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS    ObjectInformationClass,
-  /*IN*/ PVOID                        ObjectInformation,
-  /*IN*/ ULONG                        ObjectInformationLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject (
-  /*IN*/ HANDLE                       ObjectHandle,
-  /*IN*/ OBJECT_INFORMATION_CLASS    ObjectInformationClass,
-  /*IN*/ PVOID                        ObjectInformation,
-  /*IN*/ ULONG                        ObjectInformationLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetInformationProcess (
-  /*IN*/ HANDLE           ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
-  /*IN*/ PVOID            ProcessInformation,
-  /*IN*/ ULONG            ProcessInformationLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess (
-  /*IN*/ HANDLE           ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS ProcessInformationClass,
-  /*IN*/ PVOID            ProcessInformation,
-  /*IN*/ ULONG            ProcessInformationLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetSecurityObject (
-  /*IN*/ HANDLE               Handle,
-  /*IN*/ SECURITY_INFORMATION SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject (
-  /*IN*/ HANDLE               Handle,
-  /*IN*/ SECURITY_INFORMATION SecurityInformation,
-  /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetSystemInformation (
-  /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
-  /*IN*/ PVOID                    SystemInformation,
-  /*IN*/ ULONG                    Length
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation (
-  /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass,
-  /*IN*/ PVOID                    SystemInformation,
-  /*IN*/ ULONG                    Length
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetSystemTime (
-  /*IN*/ PLARGE_INTEGER   NewTime,
-  /*OUT*/ PLARGE_INTEGER  OldTime /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime (
-  /*IN*/ PLARGE_INTEGER   NewTime,
-  /*OUT*/ PLARGE_INTEGER  OldTime /*OPTIONAL*/
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtSetVolumeInformationFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ PVOID                FsInformation,
-  /*IN*/ ULONG                Length,
-  /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetVolumeInformationFile (
-  /*IN*/ HANDLE               FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK    IoStatusBlock,
-  /*IN*/ PVOID                FsInformation,
-  /*IN*/ ULONG                Length,
-  /*IN*/ FS_INFORMATION_CLASS FsInformationClass
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtTerminateProcess (
-  /*IN*/ HANDLE   ProcessHandle /*OPTIONAL*/,
-  /*IN*/ NTSTATUS ExitStatus
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess (
-  /*IN*/ HANDLE   ProcessHandle /*OPTIONAL*/,
-  /*IN*/ NTSTATUS ExitStatus
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtUnloadDriver (
-    /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
-  /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver (
-    /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
-  /*IN*/ PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtUnloadKey (
-  /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey (
-  /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtWaitForSingleObject (
-  /*IN*/ HANDLE           Handle,
-  /*IN*/ BOOLEAN          Alertable,
-  /*IN*/ PLARGE_INTEGER   Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForSingleObject (
-  /*IN*/ HANDLE           Handle,
-  /*IN*/ BOOLEAN          Alertable,
-  /*IN*/ PLARGE_INTEGER   Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtWaitForMultipleObjects (
-  /*IN*/ ULONG            HandleCount,
-  /*IN*/ PHANDLE          Handles,
-  /*IN*/ WAIT_TYPE        WaitType,
-  /*IN*/ BOOLEAN          Alertable,
-  /*IN*/ PLARGE_INTEGER   Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForMultipleObjects (
-  /*IN*/ ULONG            HandleCount,
-  /*IN*/ PHANDLE          Handles,
-  /*IN*/ WAIT_TYPE        WaitType,
-  /*IN*/ BOOLEAN          Alertable,
-  /*IN*/ PLARGE_INTEGER   Timeout /*OPTIONAL*/
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-NtYieldExecution (
-    VOID
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution (
-    VOID
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NTIFS_ */
Index: Daodan/MinGW/include/ddk/ntpoapi.h
===================================================================
--- Daodan/MinGW/include/ddk/ntpoapi.h	(revision 1046)
+++ 	(revision )
@@ -1,229 +1,0 @@
-/*
- * ntpoapi.h
- *
- * APIs for power management.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTPOAPI_H
-#define __NTPOAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-#define POWER_PERF_SCALE                  100
-#define PERF_LEVEL_TO_PERCENT(x)          (((x) * 1000) / (POWER_PERF_SCALE * 10))
-#define PERCENT_TO_PERF_LEVEL(x)          (((x) * POWER_PERF_SCALE * 10) / 1000)
-
-typedef struct _PROCESSOR_IDLE_TIMES {
-	ULONGLONG  StartTime;
-	ULONGLONG  EndTime;
-	ULONG  IdleHandlerReserved[4];
-} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES;
-
-typedef BOOLEAN DDKFASTAPI
-(*PPROCESSOR_IDLE_HANDLER)(
-  /*IN OUT*/ PPROCESSOR_IDLE_TIMES IdleTimes);
-
-typedef struct _PROCESSOR_IDLE_HANDLER_INFO {
-  ULONG  HardwareLatency;
-  PPROCESSOR_IDLE_HANDLER  Handler;
-} PROCESSOR_IDLE_HANDLER_INFO, *PPROCESSOR_IDLE_HANDLER_INFO;
-
-typedef VOID DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE)(
-  /*IN*/ UCHAR  Throttle);
-
-typedef NTSTATUS DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE2)(
-  /*IN*/ UCHAR  Throttle);
-
-#define MAX_IDLE_HANDLERS                 3
-
-typedef struct _PROCESSOR_STATE_HANDLER {
-	UCHAR  ThrottleScale;
-	BOOLEAN  ThrottleOnIdle;
-	PSET_PROCESSOR_THROTTLE  SetThrottle;
-	ULONG  NumIdleHandlers;
-	PROCESSOR_IDLE_HANDLER_INFO  IdleHandler[MAX_IDLE_HANDLERS];
-} PROCESSOR_STATE_HANDLER, *PPROCESSOR_STATE_HANDLER;
-
-typedef enum _POWER_STATE_HANDLER_TYPE {
-	PowerStateSleeping1,
-	PowerStateSleeping2,
-	PowerStateSleeping3,
-	PowerStateSleeping4,
-	PowerStateSleeping4Firmware,
-	PowerStateShutdownReset,
-	PowerStateShutdownOff,
-	PowerStateMaximum
-} POWER_STATE_HANDLER_TYPE, *PPOWER_STATE_HANDLER_TYPE;
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_SYSTEM_HANDLER)(
-  /*IN*/ PVOID  SystemContext);
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_HANDLER)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PENTER_STATE_SYSTEM_HANDLER  SystemHandler  /*OPTIONAL*/,
-  /*IN*/ PVOID  SystemContext,
-  /*IN*/ LONG  NumberProcessors,
-  /*IN*/ VOLATILE PLONG  Number);
-
-typedef struct _POWER_STATE_HANDLER {
-	POWER_STATE_HANDLER_TYPE  Type;
-	BOOLEAN  RtcWake;
-	UCHAR  Spare[3];
-	PENTER_STATE_HANDLER  Handler;
-	PVOID  Context;
-} POWER_STATE_HANDLER, *PPOWER_STATE_HANDLER;
-
-typedef NTSTATUS STDCALL
-(*PENTER_STATE_NOTIFY_HANDLER)(
-  /*IN*/ POWER_STATE_HANDLER_TYPE  State,
-  /*IN*/ PVOID  Context,
-  /*IN*/ BOOLEAN  Entering);
-
-typedef struct _POWER_STATE_NOTIFY_HANDLER {
-	PENTER_STATE_NOTIFY_HANDLER  Handler;
-	PVOID  Context;
-} POWER_STATE_NOTIFY_HANDLER, *PPOWER_STATE_NOTIFY_HANDLER;
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtPowerInformation(
-  /*IN*/ POWER_INFORMATION_LEVEL  InformationLevel,
-  /*IN*/ PVOID  InputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength);
-
-#define PROCESSOR_STATE_TYPE_PERFORMANCE  1
-#define PROCESSOR_STATE_TYPE_THROTTLE     2
-
-typedef struct _PROCESSOR_PERF_LEVEL {
-  UCHAR  PercentFrequency;
-  UCHAR  Reserved;
-  USHORT  Flags;
-} PROCESSOR_PERF_LEVEL, *PPROCESSOR_PERF_LEVEL;
-
-typedef struct _PROCESSOR_PERF_STATE {
-  UCHAR  PercentFrequency;
-  UCHAR  MinCapacity;
-  USHORT  Power;
-  UCHAR  IncreaseLevel;
-  UCHAR  DecreaseLevel;
-  USHORT  Flags;
-  ULONG  IncreaseTime;
-  ULONG  DecreaseTime;
-  ULONG  IncreaseCount;
-  ULONG  DecreaseCount;
-  ULONGLONG  PerformanceTime;
-} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE;
-
-typedef struct _PROCESSOR_STATE_HANDLER2 {
-	ULONG  NumIdleHandlers;
-	PROCESSOR_IDLE_HANDLER_INFO  IdleHandler[MAX_IDLE_HANDLERS];
-	PSET_PROCESSOR_THROTTLE2  SetPerfLevel;
-	ULONG  HardwareLatency;
-	UCHAR  NumPerfStates;
-	PROCESSOR_PERF_LEVEL  PerfLevel[1];
-} PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2;
-
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetThreadExecutionState(
-  /*IN*/ EXECUTION_STATE  esFlags,
-  /*OUT*/ EXECUTION_STATE  *PreviousFlags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestWakeupLatency(
-  /*IN*/ LATENCY_TIME  latency);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtInitiatePowerAction(
-  /*IN*/ POWER_ACTION  SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE  MinSystemState,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ BOOLEAN  Asynchronous);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetSystemPowerState(
-  /*IN*/ POWER_ACTION SystemAction,
-  /*IN*/ SYSTEM_POWER_STATE MinSystemState,
-  /*IN*/ ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtGetDevicePowerState(
-  /*IN*/ HANDLE  Device,
-  /*OUT*/ DEVICE_POWER_STATE  *State);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtCancelDeviceWakeupRequest(
-  /*IN*/ HANDLE  Device);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-NtIsSystemResumeAutomatic(
-  VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestDeviceWakeup(
-  /*IN*/ HANDLE  Device);
-
-#define WINLOGON_LOCK_ON_SLEEP            0x00000001
-
-typedef struct _PROCESSOR_POWER_INFORMATION {
-  ULONG  Number;
-  ULONG  MaxMhz;
-  ULONG  CurrentMhz;
-  ULONG  MhzLimit;
-  ULONG  MaxIdleState;
-  ULONG  CurrentIdleState;
-} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTPOAPI_H */
Index: Daodan/MinGW/include/ddk/ntstatus.h
===================================================================
--- Daodan/MinGW/include/ddk/ntstatus.h	(revision 1046)
+++ 	(revision )
@@ -1,1105 +1,0 @@
-/*
- * ntstatus.h
- *
- * Windows NT status codes
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _NTSTATUS_H
-#define _NTSTATUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(STATUS_SUCCESS)
-#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
-#endif /* !STATUS_SUCCESS */
-#define FACILITY_DEBUGGER 0x1
-#define FACILITY_RPC_RUNTIME 0x2
-#define FACILITY_RPC_STUBS 0x3
-#define FACILITY_IO_ERROR_CODE 0x4
-#define FACILITY_TERMINAL_SERVER 0xA
-#define FACILITY_USB_ERROR_CODE 0x10
-#define FACILITY_HID_ERROR_CODE 0x11
-#define FACILITY_FIREWIRE_ERROR_CODE 0x12
-#define FACILITY_CLUSTER_ERROR_CODE 0x13
-#define FACILITY_ACPI_ERROR_CODE 0x14
-#define FACILITY_SXS_ERROR_CODE 0x15
-#define STATUS_SEVERITY_SUCCESS 0x0
-#define STATUS_SEVERITY_INFORMATIONAL 0x1
-#define STATUS_SEVERITY_WARNING 0x2
-#define STATUS_SEVERITY_ERROR 0x3
-#define STATUS_WAIT_0 ((NTSTATUS)0x00000000L)
-#define STATUS_WAIT_1 ((NTSTATUS)0x00000001L)
-#define STATUS_WAIT_2 ((NTSTATUS)0x00000002L)
-#define STATUS_WAIT_3 ((NTSTATUS)0x00000003L)
-#define STATUS_WAIT_63 ((NTSTATUS)0x0000003FL)
-#define STATUS_ABANDONED ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_0 ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_63 ((NTSTATUS)0x000000BFL)
-#define STATUS_USER_APC ((NTSTATUS)0x000000C0L)
-#define STATUS_KERNEL_APC ((NTSTATUS)0x00000100L)
-#define STATUS_ALERTED ((NTSTATUS)0x00000101L)
-#define STATUS_TIMEOUT ((NTSTATUS)0x00000102L)
-#define STATUS_PENDING ((NTSTATUS)0x00000103L)
-#define STATUS_REPARSE ((NTSTATUS)0x00000104L)
-#define STATUS_MORE_ENTRIES ((NTSTATUS)0x00000105L)
-#define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS)0x00000106L)
-#define STATUS_SOME_NOT_MAPPED ((NTSTATUS)0x00000107L)
-#define STATUS_OPLOCK_BREAK_IN_PROGRESS ((NTSTATUS)0x00000108L)
-#define STATUS_VOLUME_MOUNTED ((NTSTATUS)0x00000109L)
-#define STATUS_RXACT_COMMITTED ((NTSTATUS)0x0000010AL)
-#define STATUS_NOTIFY_CLEANUP ((NTSTATUS)0x0000010BL)
-#define STATUS_NOTIFY_ENUM_DIR ((NTSTATUS)0x0000010CL)
-#define STATUS_NO_QUOTAS_FOR_ACCOUNT ((NTSTATUS)0x0000010DL)
-#define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED ((NTSTATUS)0x0000010EL)
-#define STATUS_PAGE_FAULT_TRANSITION ((NTSTATUS)0x00000110L)
-#define STATUS_PAGE_FAULT_DEMAND_ZERO ((NTSTATUS)0x00000111L)
-#define STATUS_PAGE_FAULT_COPY_ON_WRITE ((NTSTATUS)0x00000112L)
-#define STATUS_PAGE_FAULT_GUARD_PAGE ((NTSTATUS)0x00000113L)
-#define STATUS_PAGE_FAULT_PAGING_FILE ((NTSTATUS)0x00000114L)
-#define STATUS_CACHE_PAGE_LOCKED ((NTSTATUS)0x00000115L)
-#define STATUS_CRASH_DUMP ((NTSTATUS)0x00000116L)
-#define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117L)
-#define STATUS_REPARSE_OBJECT ((NTSTATUS)0x00000118L)
-#define STATUS_RESOURCE_REQUIREMENTS_CHANGED ((NTSTATUS)0x00000119L)
-#define STATUS_TRANSLATION_COMPLETE ((NTSTATUS)0x00000120L)
-#define STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY ((NTSTATUS)0x00000121L)
-#define STATUS_NOTHING_TO_TERMINATE ((NTSTATUS)0x00000122L)
-#define STATUS_PROCESS_NOT_IN_JOB ((NTSTATUS)0x00000123L)
-#define STATUS_PROCESS_IN_JOB ((NTSTATUS)0x00000124L)
-#define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS)0x40000000L)
-#define STATUS_THREAD_WAS_SUSPENDED ((NTSTATUS)0x40000001L)
-#define STATUS_WORKING_SET_LIMIT_RANGE ((NTSTATUS)0x40000002L)
-#define STATUS_IMAGE_NOT_AT_BASE ((NTSTATUS)0x40000003L)
-#define STATUS_RXACT_STATE_CREATED ((NTSTATUS)0x40000004L)
-#define STATUS_SEGMENT_NOTIFICATION ((NTSTATUS)0x40000005L)
-#define STATUS_LOCAL_USER_SESSION_KEY ((NTSTATUS)0x40000006L)
-#define STATUS_BAD_CURRENT_DIRECTORY ((NTSTATUS)0x40000007L)
-#define STATUS_SERIAL_MORE_WRITES ((NTSTATUS)0x40000008L)
-#define STATUS_REGISTRY_RECOVERED ((NTSTATUS)0x40000009L)
-#define STATUS_FT_READ_RECOVERY_FROM_BACKUP ((NTSTATUS)0x4000000AL)
-#define STATUS_FT_WRITE_RECOVERY ((NTSTATUS)0x4000000BL)
-#define STATUS_SERIAL_COUNTER_TIMEOUT ((NTSTATUS)0x4000000CL)
-#define STATUS_NULL_LM_PASSWORD ((NTSTATUS)0x4000000DL)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH ((NTSTATUS)0x4000000EL)
-#define STATUS_RECEIVE_PARTIAL ((NTSTATUS)0x4000000FL)
-#define STATUS_RECEIVE_EXPEDITED ((NTSTATUS)0x40000010L)
-#define STATUS_RECEIVE_PARTIAL_EXPEDITED ((NTSTATUS)0x40000011L)
-#define STATUS_EVENT_DONE ((NTSTATUS)0x40000012L)
-#define STATUS_EVENT_PENDING ((NTSTATUS)0x40000013L)
-#define STATUS_CHECKING_FILE_SYSTEM ((NTSTATUS)0x40000014L)
-#define STATUS_FATAL_APP_EXIT ((NTSTATUS)0x40000015L)
-#define STATUS_PREDEFINED_HANDLE ((NTSTATUS)0x40000016L)
-#define STATUS_WAS_UNLOCKED ((NTSTATUS)0x40000017L)
-#define STATUS_SERVICE_NOTIFICATION ((NTSTATUS)0x40000018L)
-#define STATUS_WAS_LOCKED ((NTSTATUS)0x40000019L)
-#define STATUS_LOG_HARD_ERROR ((NTSTATUS)0x4000001AL)
-#define STATUS_ALREADY_WIN32 ((NTSTATUS)0x4000001BL)
-#define STATUS_WX86_UNSIMULATE ((NTSTATUS)0x4000001CL)
-#define STATUS_WX86_CONTINUE ((NTSTATUS)0x4000001DL)
-#define STATUS_WX86_SINGLE_STEP ((NTSTATUS)0x4000001EL)
-#define STATUS_WX86_BREAKPOINT ((NTSTATUS)0x4000001FL)
-#define STATUS_WX86_EXCEPTION_CONTINUE ((NTSTATUS)0x40000020L)
-#define STATUS_WX86_EXCEPTION_LASTCHANCE ((NTSTATUS)0x40000021L)
-#define STATUS_WX86_EXCEPTION_CHAIN ((NTSTATUS)0x40000022L)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE ((NTSTATUS)0x40000023L)
-#define STATUS_NO_YIELD_PERFORMED ((NTSTATUS)0x40000024L)
-#define STATUS_TIMER_RESUME_IGNORED ((NTSTATUS)0x40000025L)
-#define STATUS_ARBITRATION_UNHANDLED ((NTSTATUS)0x40000026L)
-#define STATUS_CARDBUS_NOT_SUPPORTED ((NTSTATUS)0x40000027L)
-#define STATUS_WX86_CREATEWX86TIB ((NTSTATUS)0x40000028L)
-#define STATUS_MP_PROCESSOR_MISMATCH ((NTSTATUS)0x40000029L)
-#define STATUS_HIBERNATED ((NTSTATUS)0x4000002AL)
-#define STATUS_RESUME_HIBERNATION ((NTSTATUS)0x4000002BL)
-#define STATUS_GUARD_PAGE_VIOLATION ((NTSTATUS)0x80000001L)
-#define STATUS_DATATYPE_MISALIGNMENT ((NTSTATUS)0x80000002L)
-#define STATUS_BREAKPOINT ((NTSTATUS)0x80000003L)
-#define STATUS_SINGLE_STEP ((NTSTATUS)0x80000004L)
-#define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L)
-#define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L)
-#define STATUS_WAKE_SYSTEM_DEBUGGER ((NTSTATUS)0x80000007L)
-#define STATUS_HANDLES_CLOSED ((NTSTATUS)0x8000000AL)
-#define STATUS_NO_INHERITANCE ((NTSTATUS)0x8000000BL)
-#define STATUS_GUID_SUBSTITUTION_MADE ((NTSTATUS)0x8000000CL)
-#define STATUS_PARTIAL_COPY ((NTSTATUS)0x8000000DL)
-#define STATUS_DEVICE_PAPER_EMPTY ((NTSTATUS)0x8000000EL)
-#define STATUS_DEVICE_POWERED_OFF ((NTSTATUS)0x8000000FL)
-#define STATUS_DEVICE_OFF_LINE ((NTSTATUS)0x80000010L)
-#define STATUS_DEVICE_BUSY ((NTSTATUS)0x80000011L)
-#define STATUS_NO_MORE_EAS ((NTSTATUS)0x80000012L)
-#define STATUS_INVALID_EA_NAME ((NTSTATUS)0x80000013L)
-#define STATUS_EA_LIST_INCONSISTENT ((NTSTATUS)0x80000014L)
-#define STATUS_INVALID_EA_FLAG ((NTSTATUS)0x80000015L)
-#define STATUS_VERIFY_REQUIRED ((NTSTATUS)0x80000016L)
-#define STATUS_EXTRANEOUS_INFORMATION ((NTSTATUS)0x80000017L)
-#define STATUS_RXACT_COMMIT_NECESSARY ((NTSTATUS)0x80000018L)
-#define STATUS_NO_MORE_ENTRIES ((NTSTATUS)0x8000001AL)
-#define STATUS_FILEMARK_DETECTED ((NTSTATUS)0x8000001BL)
-#define STATUS_MEDIA_CHANGED ((NTSTATUS)0x8000001CL)
-#define STATUS_BUS_RESET ((NTSTATUS)0x8000001DL)
-#define STATUS_END_OF_MEDIA ((NTSTATUS)0x8000001EL)
-#define STATUS_BEGINNING_OF_MEDIA ((NTSTATUS)0x8000001FL)
-#define STATUS_MEDIA_CHECK ((NTSTATUS)0x80000020L)
-#define STATUS_SETMARK_DETECTED ((NTSTATUS)0x80000021L)
-#define STATUS_NO_DATA_DETECTED ((NTSTATUS)0x80000022L)
-#define STATUS_REDIRECTOR_HAS_OPEN_HANDLES ((NTSTATUS)0x80000023L)
-#define STATUS_SERVER_HAS_OPEN_HANDLES ((NTSTATUS)0x80000024L)
-#define STATUS_ALREADY_DISCONNECTED ((NTSTATUS)0x80000025L)
-#define STATUS_LONGJUMP ((NTSTATUS)0x80000026L)
-#define STATUS_CLEANER_CARTRIDGE_INSTALLED ((NTSTATUS)0x80000027L)
-#define STATUS_PLUGPLAY_QUERY_VETOED ((NTSTATUS)0x80000028L)
-#define STATUS_UNWIND_CONSOLIDATE ((NTSTATUS)0x80000029L)
-#define STATUS_CLUSTER_NODE_ALREADY_UP ((NTSTATUS)0x80130001L)
-#define STATUS_CLUSTER_NODE_ALREADY_DOWN ((NTSTATUS)0x80130002L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_ONLINE ((NTSTATUS)0x80130003L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE ((NTSTATUS)0x80130004L)
-#define STATUS_CLUSTER_NODE_ALREADY_MEMBER ((NTSTATUS)0x80130005L)
-#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)
-#define STATUS_NOT_IMPLEMENTED ((NTSTATUS)0xC0000002L)
-#define STATUS_INVALID_INFO_CLASS ((NTSTATUS)0xC0000003L)
-#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
-#define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L)
-#define STATUS_IN_PAGE_ERROR ((NTSTATUS)0xC0000006L)
-#define STATUS_PAGEFILE_QUOTA ((NTSTATUS)0xC0000007L)
-#define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L)
-#define STATUS_BAD_INITIAL_STACK ((NTSTATUS)0xC0000009L)
-#define STATUS_BAD_INITIAL_PC ((NTSTATUS)0xC000000AL)
-#define STATUS_INVALID_CID ((NTSTATUS)0xC000000BL)
-#define STATUS_TIMER_NOT_CANCELED ((NTSTATUS)0xC000000CL)
-#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL)
-#define STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL)
-#define STATUS_NO_SUCH_FILE ((NTSTATUS)0xC000000FL)
-#define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS)0xC0000010L)
-#define STATUS_END_OF_FILE ((NTSTATUS)0xC0000011L)
-#define STATUS_WRONG_VOLUME ((NTSTATUS)0xC0000012L)
-#define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS)0xC0000013L)
-#define STATUS_UNRECOGNIZED_MEDIA ((NTSTATUS)0xC0000014L)
-#define STATUS_NONEXISTENT_SECTOR ((NTSTATUS)0xC0000015L)
-#define STATUS_MORE_PROCESSING_REQUIRED ((NTSTATUS)0xC0000016L)
-#define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L)
-#define STATUS_CONFLICTING_ADDRESSES ((NTSTATUS)0xC0000018L)
-#define STATUS_NOT_MAPPED_VIEW ((NTSTATUS)0xC0000019L)
-#define STATUS_UNABLE_TO_FREE_VM ((NTSTATUS)0xC000001AL)
-#define STATUS_UNABLE_TO_DELETE_SECTION ((NTSTATUS)0xC000001BL)
-#define STATUS_INVALID_SYSTEM_SERVICE ((NTSTATUS)0xC000001CL)
-#define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL)
-#define STATUS_INVALID_LOCK_SEQUENCE ((NTSTATUS)0xC000001EL)
-#define STATUS_INVALID_VIEW_SIZE ((NTSTATUS)0xC000001FL)
-#define STATUS_INVALID_FILE_FOR_SECTION ((NTSTATUS)0xC0000020L)
-#define STATUS_ALREADY_COMMITTED ((NTSTATUS)0xC0000021L)
-#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
-#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L)
-#define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS)0xC0000024L)
-#define STATUS_NONCONTINUABLE_EXCEPTION ((NTSTATUS)0xC0000025L)
-#define STATUS_INVALID_DISPOSITION ((NTSTATUS)0xC0000026L)
-#define STATUS_UNWIND ((NTSTATUS)0xC0000027L)
-#define STATUS_BAD_STACK ((NTSTATUS)0xC0000028L)
-#define STATUS_INVALID_UNWIND_TARGET ((NTSTATUS)0xC0000029L)
-#define STATUS_NOT_LOCKED ((NTSTATUS)0xC000002AL)
-#define STATUS_PARITY_ERROR ((NTSTATUS)0xC000002BL)
-#define STATUS_UNABLE_TO_DECOMMIT_VM ((NTSTATUS)0xC000002CL)
-#define STATUS_NOT_COMMITTED ((NTSTATUS)0xC000002DL)
-#define STATUS_INVALID_PORT_ATTRIBUTES ((NTSTATUS)0xC000002EL)
-#define STATUS_PORT_MESSAGE_TOO_LONG ((NTSTATUS)0xC000002FL)
-#define STATUS_INVALID_PARAMETER_MIX ((NTSTATUS)0xC0000030L)
-#define STATUS_INVALID_QUOTA_LOWER ((NTSTATUS)0xC0000031L)
-#define STATUS_DISK_CORRUPT_ERROR ((NTSTATUS)0xC0000032L)
-#define STATUS_OBJECT_NAME_INVALID ((NTSTATUS)0xC0000033L)
-#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L)
-#define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS)0xC0000035L)
-#define STATUS_PORT_DISCONNECTED ((NTSTATUS)0xC0000037L)
-#define STATUS_DEVICE_ALREADY_ATTACHED ((NTSTATUS)0xC0000038L)
-#define STATUS_OBJECT_PATH_INVALID ((NTSTATUS)0xC0000039L)
-#define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS)0xC000003AL)
-#define STATUS_OBJECT_PATH_SYNTAX_BAD ((NTSTATUS)0xC000003BL)
-#define STATUS_DATA_OVERRUN ((NTSTATUS)0xC000003CL)
-#define STATUS_DATA_LATE_ERROR ((NTSTATUS)0xC000003DL)
-#define STATUS_DATA_ERROR ((NTSTATUS)0xC000003EL)
-#define STATUS_CRC_ERROR ((NTSTATUS)0xC000003FL)
-#define STATUS_SECTION_TOO_BIG ((NTSTATUS)0xC0000040L)
-#define STATUS_PORT_CONNECTION_REFUSED ((NTSTATUS)0xC0000041L)
-#define STATUS_INVALID_PORT_HANDLE ((NTSTATUS)0xC0000042L)
-#define STATUS_SHARING_VIOLATION ((NTSTATUS)0xC0000043L)
-#define STATUS_QUOTA_EXCEEDED ((NTSTATUS)0xC0000044L)
-#define STATUS_INVALID_PAGE_PROTECTION ((NTSTATUS)0xC0000045L)
-#define STATUS_MUTANT_NOT_OWNED ((NTSTATUS)0xC0000046L)
-#define STATUS_SEMAPHORE_LIMIT_EXCEEDED ((NTSTATUS)0xC0000047L)
-#define STATUS_PORT_ALREADY_SET ((NTSTATUS)0xC0000048L)
-#define STATUS_SECTION_NOT_IMAGE ((NTSTATUS)0xC0000049L)
-#define STATUS_SUSPEND_COUNT_EXCEEDED ((NTSTATUS)0xC000004AL)
-#define STATUS_THREAD_IS_TERMINATING ((NTSTATUS)0xC000004BL)
-#define STATUS_BAD_WORKING_SET_LIMIT ((NTSTATUS)0xC000004CL)
-#define STATUS_INCOMPATIBLE_FILE_MAP ((NTSTATUS)0xC000004DL)
-#define STATUS_SECTION_PROTECTION ((NTSTATUS)0xC000004EL)
-#define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS)0xC000004FL)
-#define STATUS_EA_TOO_LARGE ((NTSTATUS)0xC0000050L)
-#define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS)0xC0000051L)
-#define STATUS_NO_EAS_ON_FILE ((NTSTATUS)0xC0000052L)
-#define STATUS_EA_CORRUPT_ERROR ((NTSTATUS)0xC0000053L)
-#define STATUS_FILE_LOCK_CONFLICT ((NTSTATUS)0xC0000054L)
-#define STATUS_LOCK_NOT_GRANTED ((NTSTATUS)0xC0000055L)
-#define STATUS_DELETE_PENDING ((NTSTATUS)0xC0000056L)
-#define STATUS_CTL_FILE_NOT_SUPPORTED ((NTSTATUS)0xC0000057L)
-#define STATUS_UNKNOWN_REVISION ((NTSTATUS)0xC0000058L)
-#define STATUS_REVISION_MISMATCH ((NTSTATUS)0xC0000059L)
-#define STATUS_INVALID_OWNER ((NTSTATUS)0xC000005AL)
-#define STATUS_INVALID_PRIMARY_GROUP ((NTSTATUS)0xC000005BL)
-#define STATUS_NO_IMPERSONATION_TOKEN ((NTSTATUS)0xC000005CL)
-#define STATUS_CANT_DISABLE_MANDATORY ((NTSTATUS)0xC000005DL)
-#define STATUS_NO_LOGON_SERVERS ((NTSTATUS)0xC000005EL)
-#define STATUS_NO_SUCH_LOGON_SESSION ((NTSTATUS)0xC000005FL)
-#define STATUS_NO_SUCH_PRIVILEGE ((NTSTATUS)0xC0000060L)
-#define STATUS_PRIVILEGE_NOT_HELD ((NTSTATUS)0xC0000061L)
-#define STATUS_INVALID_ACCOUNT_NAME ((NTSTATUS)0xC0000062L)
-#define STATUS_USER_EXISTS ((NTSTATUS)0xC0000063L)
-#define STATUS_NO_SUCH_USER ((NTSTATUS)0xC0000064L)
-#define STATUS_GROUP_EXISTS ((NTSTATUS)0xC0000065L)
-#define STATUS_NO_SUCH_GROUP ((NTSTATUS)0xC0000066L)
-#define STATUS_MEMBER_IN_GROUP ((NTSTATUS)0xC0000067L)
-#define STATUS_MEMBER_NOT_IN_GROUP ((NTSTATUS)0xC0000068L)
-#define STATUS_LAST_ADMIN ((NTSTATUS)0xC0000069L)
-#define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006AL)
-#define STATUS_ILL_FORMED_PASSWORD ((NTSTATUS)0xC000006BL)
-#define STATUS_PASSWORD_RESTRICTION ((NTSTATUS)0xC000006CL)
-#define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006DL)
-#define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006EL)
-#define STATUS_INVALID_LOGON_HOURS ((NTSTATUS)0xC000006FL)
-#define STATUS_INVALID_WORKSTATION ((NTSTATUS)0xC0000070L)
-#define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071L)
-#define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072L)
-#define STATUS_NONE_MAPPED ((NTSTATUS)0xC0000073L)
-#define STATUS_TOO_MANY_LUIDS_REQUESTED ((NTSTATUS)0xC0000074L)
-#define STATUS_LUIDS_EXHAUSTED ((NTSTATUS)0xC0000075L)
-#define STATUS_INVALID_SUB_AUTHORITY ((NTSTATUS)0xC0000076L)
-#define STATUS_INVALID_ACL ((NTSTATUS)0xC0000077L)
-#define STATUS_INVALID_SID ((NTSTATUS)0xC0000078L)
-#define STATUS_INVALID_SECURITY_DESCR ((NTSTATUS)0xC0000079L)
-#define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS)0xC000007AL)
-#define STATUS_INVALID_IMAGE_FORMAT ((NTSTATUS)0xC000007BL)
-#define STATUS_NO_TOKEN ((NTSTATUS)0xC000007CL)
-#define STATUS_BAD_INHERITANCE_ACL ((NTSTATUS)0xC000007DL)
-#define STATUS_RANGE_NOT_LOCKED ((NTSTATUS)0xC000007EL)
-#define STATUS_DISK_FULL ((NTSTATUS)0xC000007FL)
-#define STATUS_SERVER_DISABLED ((NTSTATUS)0xC0000080L)
-#define STATUS_SERVER_NOT_DISABLED ((NTSTATUS)0xC0000081L)
-#define STATUS_TOO_MANY_GUIDS_REQUESTED ((NTSTATUS)0xC0000082L)
-#define STATUS_GUIDS_EXHAUSTED ((NTSTATUS)0xC0000083L)
-#define STATUS_INVALID_ID_AUTHORITY ((NTSTATUS)0xC0000084L)
-#define STATUS_AGENTS_EXHAUSTED ((NTSTATUS)0xC0000085L)
-#define STATUS_INVALID_VOLUME_LABEL ((NTSTATUS)0xC0000086L)
-#define STATUS_SECTION_NOT_EXTENDED ((NTSTATUS)0xC0000087L)
-#define STATUS_NOT_MAPPED_DATA ((NTSTATUS)0xC0000088L)
-#define STATUS_RESOURCE_DATA_NOT_FOUND ((NTSTATUS)0xC0000089L)
-#define STATUS_RESOURCE_TYPE_NOT_FOUND ((NTSTATUS)0xC000008AL)
-#define STATUS_RESOURCE_NAME_NOT_FOUND ((NTSTATUS)0xC000008BL)
-#define STATUS_ARRAY_BOUNDS_EXCEEDED ((NTSTATUS)0xC000008CL)
-#define STATUS_FLOAT_DENORMAL_OPERAND ((NTSTATUS)0xC000008DL)
-#define STATUS_FLOAT_DIVIDE_BY_ZERO ((NTSTATUS)0xC000008EL)
-#define STATUS_FLOAT_INEXACT_RESULT ((NTSTATUS)0xC000008FL)
-#define STATUS_FLOAT_INVALID_OPERATION ((NTSTATUS)0xC0000090L)
-#define STATUS_FLOAT_OVERFLOW ((NTSTATUS)0xC0000091L)
-#define STATUS_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000092L)
-#define STATUS_FLOAT_UNDERFLOW ((NTSTATUS)0xC0000093L)
-#define STATUS_INTEGER_DIVIDE_BY_ZERO ((NTSTATUS)0xC0000094L)
-#define STATUS_INTEGER_OVERFLOW ((NTSTATUS)0xC0000095L)
-#define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L)
-#define STATUS_TOO_MANY_PAGING_FILES ((NTSTATUS)0xC0000097L)
-#define STATUS_FILE_INVALID ((NTSTATUS)0xC0000098L)
-#define STATUS_ALLOTTED_SPACE_EXCEEDED ((NTSTATUS)0xC0000099L)
-#define STATUS_INSUFFICIENT_RESOURCES ((NTSTATUS)0xC000009AL)
-#define STATUS_DFS_EXIT_PATH_FOUND ((NTSTATUS)0xC000009BL)
-#define STATUS_DEVICE_DATA_ERROR ((NTSTATUS)0xC000009CL)
-#define STATUS_DEVICE_NOT_CONNECTED ((NTSTATUS)0xC000009DL)
-#define STATUS_DEVICE_POWER_FAILURE ((NTSTATUS)0xC000009EL)
-#define STATUS_FREE_VM_NOT_AT_BASE ((NTSTATUS)0xC000009FL)
-#define STATUS_MEMORY_NOT_ALLOCATED ((NTSTATUS)0xC00000A0L)
-#define STATUS_WORKING_SET_QUOTA ((NTSTATUS)0xC00000A1L)
-#define STATUS_MEDIA_WRITE_PROTECTED ((NTSTATUS)0xC00000A2L)
-#define STATUS_DEVICE_NOT_READY ((NTSTATUS)0xC00000A3L)
-#define STATUS_INVALID_GROUP_ATTRIBUTES ((NTSTATUS)0xC00000A4L)
-#define STATUS_BAD_IMPERSONATION_LEVEL ((NTSTATUS)0xC00000A5L)
-#define STATUS_CANT_OPEN_ANONYMOUS ((NTSTATUS)0xC00000A6L)
-#define STATUS_BAD_VALIDATION_CLASS ((NTSTATUS)0xC00000A7L)
-#define STATUS_BAD_TOKEN_TYPE ((NTSTATUS)0xC00000A8L)
-#define STATUS_BAD_MASTER_BOOT_RECORD ((NTSTATUS)0xC00000A9L)
-#define STATUS_INSTRUCTION_MISALIGNMENT ((NTSTATUS)0xC00000AAL)
-#define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS)0xC00000ABL)
-#define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS)0xC00000ACL)
-#define STATUS_INVALID_PIPE_STATE ((NTSTATUS)0xC00000ADL)
-#define STATUS_PIPE_BUSY ((NTSTATUS)0xC00000AEL)
-#define STATUS_ILLEGAL_FUNCTION ((NTSTATUS)0xC00000AFL)
-#define STATUS_PIPE_DISCONNECTED ((NTSTATUS)0xC00000B0L)
-#define STATUS_PIPE_CLOSING ((NTSTATUS)0xC00000B1L)
-#define STATUS_PIPE_CONNECTED ((NTSTATUS)0xC00000B2L)
-#define STATUS_PIPE_LISTENING ((NTSTATUS)0xC00000B3L)
-#define STATUS_INVALID_READ_MODE ((NTSTATUS)0xC00000B4L)
-#define STATUS_IO_TIMEOUT ((NTSTATUS)0xC00000B5L)
-#define STATUS_FILE_FORCED_CLOSED ((NTSTATUS)0xC00000B6L)
-#define STATUS_PROFILING_NOT_STARTED ((NTSTATUS)0xC00000B7L)
-#define STATUS_PROFILING_NOT_STOPPED ((NTSTATUS)0xC00000B8L)
-#define STATUS_COULD_NOT_INTERPRET ((NTSTATUS)0xC00000B9L)
-#define STATUS_FILE_IS_A_DIRECTORY ((NTSTATUS)0xC00000BAL)
-#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL)
-#define STATUS_REMOTE_NOT_LISTENING ((NTSTATUS)0xC00000BCL)
-#define STATUS_DUPLICATE_NAME ((NTSTATUS)0xC00000BDL)
-#define STATUS_BAD_NETWORK_PATH ((NTSTATUS)0xC00000BEL)
-#define STATUS_NETWORK_BUSY ((NTSTATUS)0xC00000BFL)
-#define STATUS_DEVICE_DOES_NOT_EXIST ((NTSTATUS)0xC00000C0L)
-#define STATUS_TOO_MANY_COMMANDS ((NTSTATUS)0xC00000C1L)
-#define STATUS_ADAPTER_HARDWARE_ERROR ((NTSTATUS)0xC00000C2L)
-#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS)0xC00000C3L)
-#define STATUS_UNEXPECTED_NETWORK_ERROR ((NTSTATUS)0xC00000C4L)
-#define STATUS_BAD_REMOTE_ADAPTER ((NTSTATUS)0xC00000C5L)
-#define STATUS_PRINT_QUEUE_FULL ((NTSTATUS)0xC00000C6L)
-#define STATUS_NO_SPOOL_SPACE ((NTSTATUS)0xC00000C7L)
-#define STATUS_PRINT_CANCELLED ((NTSTATUS)0xC00000C8L)
-#define STATUS_NETWORK_NAME_DELETED ((NTSTATUS)0xC00000C9L)
-#define STATUS_NETWORK_ACCESS_DENIED ((NTSTATUS)0xC00000CAL)
-#define STATUS_BAD_DEVICE_TYPE ((NTSTATUS)0xC00000CBL)
-#define STATUS_BAD_NETWORK_NAME ((NTSTATUS)0xC00000CCL)
-#define STATUS_TOO_MANY_NAMES ((NTSTATUS)0xC00000CDL)
-#define STATUS_TOO_MANY_SESSIONS ((NTSTATUS)0xC00000CEL)
-#define STATUS_SHARING_PAUSED ((NTSTATUS)0xC00000CFL)
-#define STATUS_REQUEST_NOT_ACCEPTED ((NTSTATUS)0xC00000D0L)
-#define STATUS_REDIRECTOR_PAUSED ((NTSTATUS)0xC00000D1L)
-#define STATUS_NET_WRITE_FAULT ((NTSTATUS)0xC00000D2L)
-#define STATUS_PROFILING_AT_LIMIT ((NTSTATUS)0xC00000D3L)
-#define STATUS_NOT_SAME_DEVICE ((NTSTATUS)0xC00000D4L)
-#define STATUS_FILE_RENAMED ((NTSTATUS)0xC00000D5L)
-#define STATUS_VIRTUAL_CIRCUIT_CLOSED ((NTSTATUS)0xC00000D6L)
-#define STATUS_NO_SECURITY_ON_OBJECT ((NTSTATUS)0xC00000D7L)
-#define STATUS_CANT_WAIT ((NTSTATUS)0xC00000D8L)
-#define STATUS_PIPE_EMPTY ((NTSTATUS)0xC00000D9L)
-#define STATUS_CANT_ACCESS_DOMAIN_INFO ((NTSTATUS)0xC00000DAL)
-#define STATUS_CANT_TERMINATE_SELF ((NTSTATUS)0xC00000DBL)
-#define STATUS_INVALID_SERVER_STATE ((NTSTATUS)0xC00000DCL)
-#define STATUS_INVALID_DOMAIN_STATE ((NTSTATUS)0xC00000DDL)
-#define STATUS_INVALID_DOMAIN_ROLE ((NTSTATUS)0xC00000DEL)
-#define STATUS_NO_SUCH_DOMAIN ((NTSTATUS)0xC00000DFL)
-#define STATUS_DOMAIN_EXISTS ((NTSTATUS)0xC00000E0L)
-#define STATUS_DOMAIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00000E1L)
-#define STATUS_OPLOCK_NOT_GRANTED ((NTSTATUS)0xC00000E2L)
-#define STATUS_INVALID_OPLOCK_PROTOCOL ((NTSTATUS)0xC00000E3L)
-#define STATUS_INTERNAL_DB_CORRUPTION ((NTSTATUS)0xC00000E4L)
-#define STATUS_INTERNAL_ERROR ((NTSTATUS)0xC00000E5L)
-#define STATUS_GENERIC_NOT_MAPPED ((NTSTATUS)0xC00000E6L)
-#define STATUS_BAD_DESCRIPTOR_FORMAT ((NTSTATUS)0xC00000E7L)
-#define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L)
-#define STATUS_UNEXPECTED_IO_ERROR ((NTSTATUS)0xC00000E9L)
-#define STATUS_UNEXPECTED_MM_CREATE_ERR ((NTSTATUS)0xC00000EAL)
-#define STATUS_UNEXPECTED_MM_MAP_ERROR ((NTSTATUS)0xC00000EBL)
-#define STATUS_UNEXPECTED_MM_EXTEND_ERR ((NTSTATUS)0xC00000ECL)
-#define STATUS_NOT_LOGON_PROCESS ((NTSTATUS)0xC00000EDL)
-#define STATUS_LOGON_SESSION_EXISTS ((NTSTATUS)0xC00000EEL)
-#define STATUS_INVALID_PARAMETER_1 ((NTSTATUS)0xC00000EFL)
-#define STATUS_INVALID_PARAMETER_2 ((NTSTATUS)0xC00000F0L)
-#define STATUS_INVALID_PARAMETER_3 ((NTSTATUS)0xC00000F1L)
-#define STATUS_INVALID_PARAMETER_4 ((NTSTATUS)0xC00000F2L)
-#define STATUS_INVALID_PARAMETER_5 ((NTSTATUS)0xC00000F3L)
-#define STATUS_INVALID_PARAMETER_6 ((NTSTATUS)0xC00000F4L)
-#define STATUS_INVALID_PARAMETER_7 ((NTSTATUS)0xC00000F5L)
-#define STATUS_INVALID_PARAMETER_8 ((NTSTATUS)0xC00000F6L)
-#define STATUS_INVALID_PARAMETER_9 ((NTSTATUS)0xC00000F7L)
-#define STATUS_INVALID_PARAMETER_10 ((NTSTATUS)0xC00000F8L)
-#define STATUS_INVALID_PARAMETER_11 ((NTSTATUS)0xC00000F9L)
-#define STATUS_INVALID_PARAMETER_12 ((NTSTATUS)0xC00000FAL)
-#define STATUS_REDIRECTOR_NOT_STARTED ((NTSTATUS)0xC00000FBL)
-#define STATUS_REDIRECTOR_STARTED ((NTSTATUS)0xC00000FCL)
-#define STATUS_STACK_OVERFLOW ((NTSTATUS)0xC00000FDL)
-#define STATUS_NO_SUCH_PACKAGE ((NTSTATUS)0xC00000FEL)
-#define STATUS_BAD_FUNCTION_TABLE ((NTSTATUS)0xC00000FFL)
-#define STATUS_VARIABLE_NOT_FOUND ((NTSTATUS)0xC0000100L)
-#define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS)0xC0000101L)
-#define STATUS_FILE_CORRUPT_ERROR ((NTSTATUS)0xC0000102L)
-#define STATUS_NOT_A_DIRECTORY ((NTSTATUS)0xC0000103L)
-#define STATUS_BAD_LOGON_SESSION_STATE ((NTSTATUS)0xC0000104L)
-#define STATUS_LOGON_SESSION_COLLISION ((NTSTATUS)0xC0000105L)
-#define STATUS_NAME_TOO_LONG ((NTSTATUS)0xC0000106L)
-#define STATUS_FILES_OPEN ((NTSTATUS)0xC0000107L)
-#define STATUS_CONNECTION_IN_USE ((NTSTATUS)0xC0000108L)
-#define STATUS_MESSAGE_NOT_FOUND ((NTSTATUS)0xC0000109L)
-#define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS)0xC000010AL)
-#define STATUS_INVALID_LOGON_TYPE ((NTSTATUS)0xC000010BL)
-#define STATUS_NO_GUID_TRANSLATION ((NTSTATUS)0xC000010CL)
-#define STATUS_CANNOT_IMPERSONATE ((NTSTATUS)0xC000010DL)
-#define STATUS_IMAGE_ALREADY_LOADED ((NTSTATUS)0xC000010EL)
-#define STATUS_ABIOS_NOT_PRESENT ((NTSTATUS)0xC000010FL)
-#define STATUS_ABIOS_LID_NOT_EXIST ((NTSTATUS)0xC0000110L)
-#define STATUS_ABIOS_LID_ALREADY_OWNED ((NTSTATUS)0xC0000111L)
-#define STATUS_ABIOS_NOT_LID_OWNER ((NTSTATUS)0xC0000112L)
-#define STATUS_ABIOS_INVALID_COMMAND ((NTSTATUS)0xC0000113L)
-#define STATUS_ABIOS_INVALID_LID ((NTSTATUS)0xC0000114L)
-#define STATUS_ABIOS_SELECTOR_NOT_AVAILABLE ((NTSTATUS)0xC0000115L)
-#define STATUS_ABIOS_INVALID_SELECTOR ((NTSTATUS)0xC0000116L)
-#define STATUS_NO_LDT ((NTSTATUS)0xC0000117L)
-#define STATUS_INVALID_LDT_SIZE ((NTSTATUS)0xC0000118L)
-#define STATUS_INVALID_LDT_OFFSET ((NTSTATUS)0xC0000119L)
-#define STATUS_INVALID_LDT_DESCRIPTOR ((NTSTATUS)0xC000011AL)
-#define STATUS_INVALID_IMAGE_NE_FORMAT ((NTSTATUS)0xC000011BL)
-#define STATUS_RXACT_INVALID_STATE ((NTSTATUS)0xC000011CL)
-#define STATUS_RXACT_COMMIT_FAILURE ((NTSTATUS)0xC000011DL)
-#define STATUS_MAPPED_FILE_SIZE_ZERO ((NTSTATUS)0xC000011EL)
-#define STATUS_TOO_MANY_OPENED_FILES ((NTSTATUS)0xC000011FL)
-#define STATUS_CANCELLED ((NTSTATUS)0xC0000120L)
-#define STATUS_CANNOT_DELETE ((NTSTATUS)0xC0000121L)
-#define STATUS_INVALID_COMPUTER_NAME ((NTSTATUS)0xC0000122L)
-#define STATUS_FILE_DELETED ((NTSTATUS)0xC0000123L)
-#define STATUS_SPECIAL_ACCOUNT ((NTSTATUS)0xC0000124L)
-#define STATUS_SPECIAL_GROUP ((NTSTATUS)0xC0000125L)
-#define STATUS_SPECIAL_USER ((NTSTATUS)0xC0000126L)
-#define STATUS_MEMBERS_PRIMARY_GROUP ((NTSTATUS)0xC0000127L)
-#define STATUS_FILE_CLOSED ((NTSTATUS)0xC0000128L)
-#define STATUS_TOO_MANY_THREADS ((NTSTATUS)0xC0000129L)
-#define STATUS_THREAD_NOT_IN_PROCESS ((NTSTATUS)0xC000012AL)
-#define STATUS_TOKEN_ALREADY_IN_USE ((NTSTATUS)0xC000012BL)
-#define STATUS_PAGEFILE_QUOTA_EXCEEDED ((NTSTATUS)0xC000012CL)
-#define STATUS_COMMITMENT_LIMIT ((NTSTATUS)0xC000012DL)
-#define STATUS_INVALID_IMAGE_LE_FORMAT ((NTSTATUS)0xC000012EL)
-#define STATUS_INVALID_IMAGE_NOT_MZ ((NTSTATUS)0xC000012FL)
-#define STATUS_INVALID_IMAGE_PROTECT ((NTSTATUS)0xC0000130L)
-#define STATUS_INVALID_IMAGE_WIN_16 ((NTSTATUS)0xC0000131L)
-#define STATUS_LOGON_SERVER_CONFLICT ((NTSTATUS)0xC0000132L)
-#define STATUS_TIME_DIFFERENCE_AT_DC ((NTSTATUS)0xC0000133L)
-#define STATUS_SYNCHRONIZATION_REQUIRED ((NTSTATUS)0xC0000134L)
-#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L)
-#define STATUS_OPEN_FAILED ((NTSTATUS)0xC0000136L)
-#define STATUS_IO_PRIVILEGE_FAILED ((NTSTATUS)0xC0000137L)
-#define STATUS_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000138L)
-#define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000139L)
-#define STATUS_CONTROL_C_EXIT ((NTSTATUS)0xC000013AL)
-#define STATUS_LOCAL_DISCONNECT ((NTSTATUS)0xC000013BL)
-#define STATUS_REMOTE_DISCONNECT ((NTSTATUS)0xC000013CL)
-#define STATUS_REMOTE_RESOURCES ((NTSTATUS)0xC000013DL)
-#define STATUS_LINK_FAILED ((NTSTATUS)0xC000013EL)
-#define STATUS_LINK_TIMEOUT ((NTSTATUS)0xC000013FL)
-#define STATUS_INVALID_CONNECTION ((NTSTATUS)0xC0000140L)
-#define STATUS_INVALID_ADDRESS ((NTSTATUS)0xC0000141L)
-#define STATUS_DLL_INIT_FAILED ((NTSTATUS)0xC0000142L)
-#define STATUS_MISSING_SYSTEMFILE ((NTSTATUS)0xC0000143L)
-#define STATUS_UNHANDLED_EXCEPTION ((NTSTATUS)0xC0000144L)
-#define STATUS_APP_INIT_FAILURE ((NTSTATUS)0xC0000145L)
-#define STATUS_PAGEFILE_CREATE_FAILED ((NTSTATUS)0xC0000146L)
-#define STATUS_NO_PAGEFILE ((NTSTATUS)0xC0000147L)
-#define STATUS_INVALID_LEVEL ((NTSTATUS)0xC0000148L)
-#define STATUS_WRONG_PASSWORD_CORE ((NTSTATUS)0xC0000149L)
-#define STATUS_ILLEGAL_FLOAT_CONTEXT ((NTSTATUS)0xC000014AL)
-#define STATUS_PIPE_BROKEN ((NTSTATUS)0xC000014BL)
-#define STATUS_REGISTRY_CORRUPT ((NTSTATUS)0xC000014CL)
-#define STATUS_REGISTRY_IO_FAILED ((NTSTATUS)0xC000014DL)
-#define STATUS_NO_EVENT_PAIR ((NTSTATUS)0xC000014EL)
-#define STATUS_UNRECOGNIZED_VOLUME ((NTSTATUS)0xC000014FL)
-#define STATUS_SERIAL_NO_DEVICE_INITED ((NTSTATUS)0xC0000150L)
-#define STATUS_NO_SUCH_ALIAS ((NTSTATUS)0xC0000151L)
-#define STATUS_MEMBER_NOT_IN_ALIAS ((NTSTATUS)0xC0000152L)
-#define STATUS_MEMBER_IN_ALIAS ((NTSTATUS)0xC0000153L)
-#define STATUS_ALIAS_EXISTS ((NTSTATUS)0xC0000154L)
-#define STATUS_LOGON_NOT_GRANTED ((NTSTATUS)0xC0000155L)
-#define STATUS_TOO_MANY_SECRETS ((NTSTATUS)0xC0000156L)
-#define STATUS_SECRET_TOO_LONG ((NTSTATUS)0xC0000157L)
-#define STATUS_INTERNAL_DB_ERROR ((NTSTATUS)0xC0000158L)
-#define STATUS_FULLSCREEN_MODE ((NTSTATUS)0xC0000159L)
-#define STATUS_TOO_MANY_CONTEXT_IDS ((NTSTATUS)0xC000015AL)
-#define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015BL)
-#define STATUS_NOT_REGISTRY_FILE ((NTSTATUS)0xC000015CL)
-#define STATUS_NT_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000015DL)
-#define STATUS_DOMAIN_CTRLR_CONFIG_ERROR ((NTSTATUS)0xC000015EL)
-#define STATUS_FT_MISSING_MEMBER ((NTSTATUS)0xC000015FL)
-#define STATUS_ILL_FORMED_SERVICE_ENTRY ((NTSTATUS)0xC0000160L)
-#define STATUS_ILLEGAL_CHARACTER ((NTSTATUS)0xC0000161L)
-#define STATUS_UNMAPPABLE_CHARACTER ((NTSTATUS)0xC0000162L)
-#define STATUS_UNDEFINED_CHARACTER ((NTSTATUS)0xC0000163L)
-#define STATUS_FLOPPY_VOLUME ((NTSTATUS)0xC0000164L)
-#define STATUS_FLOPPY_ID_MARK_NOT_FOUND ((NTSTATUS)0xC0000165L)
-#define STATUS_FLOPPY_WRONG_CYLINDER ((NTSTATUS)0xC0000166L)
-#define STATUS_FLOPPY_UNKNOWN_ERROR ((NTSTATUS)0xC0000167L)
-#define STATUS_FLOPPY_BAD_REGISTERS ((NTSTATUS)0xC0000168L)
-#define STATUS_DISK_RECALIBRATE_FAILED ((NTSTATUS)0xC0000169L)
-#define STATUS_DISK_OPERATION_FAILED ((NTSTATUS)0xC000016AL)
-#define STATUS_DISK_RESET_FAILED ((NTSTATUS)0xC000016BL)
-#define STATUS_SHARED_IRQ_BUSY ((NTSTATUS)0xC000016CL)
-#define STATUS_FT_ORPHANING ((NTSTATUS)0xC000016DL)
-#define STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT ((NTSTATUS)0xC000016EL)
-#define STATUS_PARTITION_FAILURE ((NTSTATUS)0xC0000172L)
-#define STATUS_INVALID_BLOCK_LENGTH ((NTSTATUS)0xC0000173L)
-#define STATUS_DEVICE_NOT_PARTITIONED ((NTSTATUS)0xC0000174L)
-#define STATUS_UNABLE_TO_LOCK_MEDIA ((NTSTATUS)0xC0000175L)
-#define STATUS_UNABLE_TO_UNLOAD_MEDIA ((NTSTATUS)0xC0000176L)
-#define STATUS_EOM_OVERFLOW ((NTSTATUS)0xC0000177L)
-#define STATUS_NO_MEDIA ((NTSTATUS)0xC0000178L)
-#define STATUS_NO_SUCH_MEMBER ((NTSTATUS)0xC000017AL)
-#define STATUS_INVALID_MEMBER ((NTSTATUS)0xC000017BL)
-#define STATUS_KEY_DELETED ((NTSTATUS)0xC000017CL)
-#define STATUS_NO_LOG_SPACE ((NTSTATUS)0xC000017DL)
-#define STATUS_TOO_MANY_SIDS ((NTSTATUS)0xC000017EL)
-#define STATUS_LM_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000017FL)
-#define STATUS_KEY_HAS_CHILDREN ((NTSTATUS)0xC0000180L)
-#define STATUS_CHILD_MUST_BE_VOLATILE ((NTSTATUS)0xC0000181L)
-#define STATUS_DEVICE_CONFIGURATION_ERROR ((NTSTATUS)0xC0000182L)
-#define STATUS_DRIVER_INTERNAL_ERROR ((NTSTATUS)0xC0000183L)
-#define STATUS_INVALID_DEVICE_STATE ((NTSTATUS)0xC0000184L)
-#define STATUS_IO_DEVICE_ERROR ((NTSTATUS)0xC0000185L)
-#define STATUS_DEVICE_PROTOCOL_ERROR ((NTSTATUS)0xC0000186L)
-#define STATUS_BACKUP_CONTROLLER ((NTSTATUS)0xC0000187L)
-#define STATUS_LOG_FILE_FULL ((NTSTATUS)0xC0000188L)
-#define STATUS_TOO_LATE ((NTSTATUS)0xC0000189L)
-#define STATUS_NO_TRUST_LSA_SECRET ((NTSTATUS)0xC000018AL)
-#define STATUS_NO_TRUST_SAM_ACCOUNT ((NTSTATUS)0xC000018BL)
-#define STATUS_TRUSTED_DOMAIN_FAILURE ((NTSTATUS)0xC000018CL)
-#define STATUS_TRUSTED_RELATIONSHIP_FAILURE ((NTSTATUS)0xC000018DL)
-#define STATUS_EVENTLOG_FILE_CORRUPT ((NTSTATUS)0xC000018EL)
-#define STATUS_EVENTLOG_CANT_START ((NTSTATUS)0xC000018FL)
-#define STATUS_TRUST_FAILURE ((NTSTATUS)0xC0000190L)
-#define STATUS_MUTANT_LIMIT_EXCEEDED ((NTSTATUS)0xC0000191L)
-#define STATUS_NETLOGON_NOT_STARTED ((NTSTATUS)0xC0000192L)
-#define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193L)
-#define STATUS_POSSIBLE_DEADLOCK ((NTSTATUS)0xC0000194L)
-#define STATUS_NETWORK_CREDENTIAL_CONFLICT ((NTSTATUS)0xC0000195L)
-#define STATUS_REMOTE_SESSION_LIMIT ((NTSTATUS)0xC0000196L)
-#define STATUS_EVENTLOG_FILE_CHANGED ((NTSTATUS)0xC0000197L)
-#define STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT ((NTSTATUS)0xC0000198L)
-#define STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT ((NTSTATUS)0xC0000199L)
-#define STATUS_NOLOGON_SERVER_TRUST_ACCOUNT ((NTSTATUS)0xC000019AL)
-#define STATUS_DOMAIN_TRUST_INCONSISTENT ((NTSTATUS)0xC000019BL)
-#define STATUS_FS_DRIVER_REQUIRED ((NTSTATUS)0xC000019CL)
-#define STATUS_NO_USER_SESSION_KEY ((NTSTATUS)0xC0000202L)
-#define STATUS_USER_SESSION_DELETED ((NTSTATUS)0xC0000203L)
-#define STATUS_RESOURCE_LANG_NOT_FOUND ((NTSTATUS)0xC0000204L)
-#define STATUS_INSUFF_SERVER_RESOURCES ((NTSTATUS)0xC0000205L)
-#define STATUS_INVALID_BUFFER_SIZE ((NTSTATUS)0xC0000206L)
-#define STATUS_INVALID_ADDRESS_COMPONENT ((NTSTATUS)0xC0000207L)
-#define STATUS_INVALID_ADDRESS_WILDCARD ((NTSTATUS)0xC0000208L)
-#define STATUS_TOO_MANY_ADDRESSES ((NTSTATUS)0xC0000209L)
-#define STATUS_ADDRESS_ALREADY_EXISTS ((NTSTATUS)0xC000020AL)
-#define STATUS_ADDRESS_CLOSED ((NTSTATUS)0xC000020BL)
-#define STATUS_CONNECTION_DISCONNECTED ((NTSTATUS)0xC000020CL)
-#define STATUS_CONNECTION_RESET ((NTSTATUS)0xC000020DL)
-#define STATUS_TOO_MANY_NODES ((NTSTATUS)0xC000020EL)
-#define STATUS_TRANSACTION_ABORTED ((NTSTATUS)0xC000020FL)
-#define STATUS_TRANSACTION_TIMED_OUT ((NTSTATUS)0xC0000210L)
-#define STATUS_TRANSACTION_NO_RELEASE ((NTSTATUS)0xC0000211L)
-#define STATUS_TRANSACTION_NO_MATCH ((NTSTATUS)0xC0000212L)
-#define STATUS_TRANSACTION_RESPONDED ((NTSTATUS)0xC0000213L)
-#define STATUS_TRANSACTION_INVALID_ID ((NTSTATUS)0xC0000214L)
-#define STATUS_TRANSACTION_INVALID_TYPE ((NTSTATUS)0xC0000215L)
-#define STATUS_NOT_SERVER_SESSION ((NTSTATUS)0xC0000216L)
-#define STATUS_NOT_CLIENT_SESSION ((NTSTATUS)0xC0000217L)
-#define STATUS_CANNOT_LOAD_REGISTRY_FILE ((NTSTATUS)0xC0000218L)
-#define STATUS_DEBUG_ATTACH_FAILED ((NTSTATUS)0xC0000219L)
-#define STATUS_SYSTEM_PROCESS_TERMINATED ((NTSTATUS)0xC000021AL)
-#define STATUS_DATA_NOT_ACCEPTED ((NTSTATUS)0xC000021BL)
-#define STATUS_NO_BROWSER_SERVERS_FOUND ((NTSTATUS)0xC000021CL)
-#define STATUS_VDM_HARD_ERROR ((NTSTATUS)0xC000021DL)
-#define STATUS_DRIVER_CANCEL_TIMEOUT ((NTSTATUS)0xC000021EL)
-#define STATUS_REPLY_MESSAGE_MISMATCH ((NTSTATUS)0xC000021FL)
-#define STATUS_MAPPED_ALIGNMENT ((NTSTATUS)0xC0000220L)
-#define STATUS_IMAGE_CHECKSUM_MISMATCH ((NTSTATUS)0xC0000221L)
-#define STATUS_LOST_WRITEBEHIND_DATA ((NTSTATUS)0xC0000222L)
-#define STATUS_CLIENT_SERVER_PARAMETERS_INVALID ((NTSTATUS)0xC0000223L)
-#define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224L)
-#define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L)
-#define STATUS_NOT_TINY_STREAM ((NTSTATUS)0xC0000226L)
-#define STATUS_RECOVERY_FAILURE ((NTSTATUS)0xC0000227L)
-#define STATUS_STACK_OVERFLOW_READ ((NTSTATUS)0xC0000228L)
-#define STATUS_FAIL_CHECK ((NTSTATUS)0xC0000229L)
-#define STATUS_DUPLICATE_OBJECTID ((NTSTATUS)0xC000022AL)
-#define STATUS_OBJECTID_EXISTS ((NTSTATUS)0xC000022BL)
-#define STATUS_CONVERT_TO_LARGE ((NTSTATUS)0xC000022CL)
-#define STATUS_RETRY ((NTSTATUS)0xC000022DL)
-#define STATUS_FOUND_OUT_OF_SCOPE ((NTSTATUS)0xC000022EL)
-#define STATUS_ALLOCATE_BUCKET ((NTSTATUS)0xC000022FL)
-#define STATUS_PROPSET_NOT_FOUND ((NTSTATUS)0xC0000230L)
-#define STATUS_MARSHALL_OVERFLOW ((NTSTATUS)0xC0000231L)
-#define STATUS_INVALID_VARIANT ((NTSTATUS)0xC0000232L)
-#define STATUS_DOMAIN_CONTROLLER_NOT_FOUND ((NTSTATUS)0xC0000233L)
-#define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234L)
-#define STATUS_HANDLE_NOT_CLOSABLE ((NTSTATUS)0xC0000235L)
-#define STATUS_CONNECTION_REFUSED ((NTSTATUS)0xC0000236L)
-#define STATUS_GRACEFUL_DISCONNECT ((NTSTATUS)0xC0000237L)
-#define STATUS_ADDRESS_ALREADY_ASSOCIATED ((NTSTATUS)0xC0000238L)
-#define STATUS_ADDRESS_NOT_ASSOCIATED ((NTSTATUS)0xC0000239L)
-#define STATUS_CONNECTION_INVALID ((NTSTATUS)0xC000023AL)
-#define STATUS_CONNECTION_ACTIVE ((NTSTATUS)0xC000023BL)
-#define STATUS_NETWORK_UNREACHABLE ((NTSTATUS)0xC000023CL)
-#define STATUS_HOST_UNREACHABLE ((NTSTATUS)0xC000023DL)
-#define STATUS_PROTOCOL_UNREACHABLE ((NTSTATUS)0xC000023EL)
-#define STATUS_PORT_UNREACHABLE ((NTSTATUS)0xC000023FL)
-#define STATUS_REQUEST_ABORTED ((NTSTATUS)0xC0000240L)
-#define STATUS_CONNECTION_ABORTED ((NTSTATUS)0xC0000241L)
-#define STATUS_BAD_COMPRESSION_BUFFER ((NTSTATUS)0xC0000242L)
-#define STATUS_USER_MAPPED_FILE ((NTSTATUS)0xC0000243L)
-#define STATUS_AUDIT_FAILED ((NTSTATUS)0xC0000244L)
-#define STATUS_TIMER_RESOLUTION_NOT_SET ((NTSTATUS)0xC0000245L)
-#define STATUS_CONNECTION_COUNT_LIMIT ((NTSTATUS)0xC0000246L)
-#define STATUS_LOGIN_TIME_RESTRICTION ((NTSTATUS)0xC0000247L)
-#define STATUS_LOGIN_WKSTA_RESTRICTION ((NTSTATUS)0xC0000248L)
-#define STATUS_IMAGE_MP_UP_MISMATCH ((NTSTATUS)0xC0000249L)
-#define STATUS_INSUFFICIENT_LOGON_INFO ((NTSTATUS)0xC0000250L)
-#define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS)0xC0000251L)
-#define STATUS_BAD_SERVICE_ENTRYPOINT ((NTSTATUS)0xC0000252L)
-#define STATUS_LPC_REPLY_LOST ((NTSTATUS)0xC0000253L)
-#define STATUS_IP_ADDRESS_CONFLICT1 ((NTSTATUS)0xC0000254L)
-#define STATUS_IP_ADDRESS_CONFLICT2 ((NTSTATUS)0xC0000255L)
-#define STATUS_REGISTRY_QUOTA_LIMIT ((NTSTATUS)0xC0000256L)
-#define STATUS_PATH_NOT_COVERED ((NTSTATUS)0xC0000257L)
-#define STATUS_NO_CALLBACK_ACTIVE ((NTSTATUS)0xC0000258L)
-#define STATUS_LICENSE_QUOTA_EXCEEDED ((NTSTATUS)0xC0000259L)
-#define STATUS_PWD_TOO_SHORT ((NTSTATUS)0xC000025AL)
-#define STATUS_PWD_TOO_RECENT ((NTSTATUS)0xC000025BL)
-#define STATUS_PWD_HISTORY_CONFLICT ((NTSTATUS)0xC000025CL)
-#define STATUS_PLUGPLAY_NO_DEVICE ((NTSTATUS)0xC000025EL)
-#define STATUS_UNSUPPORTED_COMPRESSION ((NTSTATUS)0xC000025FL)
-#define STATUS_INVALID_HW_PROFILE ((NTSTATUS)0xC0000260L)
-#define STATUS_INVALID_PLUGPLAY_DEVICE_PATH ((NTSTATUS)0xC0000261L)
-#define STATUS_DRIVER_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000262L)
-#define STATUS_DRIVER_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000263L)
-#define STATUS_RESOURCE_NOT_OWNED ((NTSTATUS)0xC0000264L)
-#define STATUS_TOO_MANY_LINKS ((NTSTATUS)0xC0000265L)
-#define STATUS_QUOTA_LIST_INCONSISTENT ((NTSTATUS)0xC0000266L)
-#define STATUS_FILE_IS_OFFLINE ((NTSTATUS)0xC0000267L)
-#define STATUS_EVALUATION_EXPIRATION ((NTSTATUS)0xC0000268L)
-#define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS)0xC0000269L)
-#define STATUS_LICENSE_VIOLATION ((NTSTATUS)0xC000026AL)
-#define STATUS_DLL_INIT_FAILED_LOGOFF ((NTSTATUS)0xC000026BL)
-#define STATUS_DRIVER_UNABLE_TO_LOAD ((NTSTATUS)0xC000026CL)
-#define STATUS_DFS_UNAVAILABLE ((NTSTATUS)0xC000026DL)
-#define STATUS_VOLUME_DISMOUNTED ((NTSTATUS)0xC000026EL)
-#define STATUS_WX86_INTERNAL_ERROR ((NTSTATUS)0xC000026FL)
-#define STATUS_WX86_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000270L)
-#define STATUS_VALIDATE_CONTINUE ((NTSTATUS)0xC0000271L)
-#define STATUS_NO_MATCH ((NTSTATUS)0xC0000272L)
-#define STATUS_NO_MORE_MATCHES ((NTSTATUS)0xC0000273L)
-#define STATUS_NOT_A_REPARSE_POINT ((NTSTATUS)0xC0000275L)
-#define STATUS_IO_REPARSE_TAG_INVALID ((NTSTATUS)0xC0000276L)
-#define STATUS_IO_REPARSE_TAG_MISMATCH ((NTSTATUS)0xC0000277L)
-#define STATUS_IO_REPARSE_DATA_INVALID ((NTSTATUS)0xC0000278L)
-#define STATUS_IO_REPARSE_TAG_NOT_HANDLED ((NTSTATUS)0xC0000279L)
-#define STATUS_REPARSE_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000280L)
-#define STATUS_DIRECTORY_IS_A_REPARSE_POINT ((NTSTATUS)0xC0000281L)
-#define STATUS_RANGE_LIST_CONFLICT ((NTSTATUS)0xC0000282L)
-#define STATUS_SOURCE_ELEMENT_EMPTY ((NTSTATUS)0xC0000283L)
-#define STATUS_DESTINATION_ELEMENT_FULL ((NTSTATUS)0xC0000284L)
-#define STATUS_ILLEGAL_ELEMENT_ADDRESS ((NTSTATUS)0xC0000285L)
-#define STATUS_MAGAZINE_NOT_PRESENT ((NTSTATUS)0xC0000286L)
-#define STATUS_REINITIALIZATION_NEEDED ((NTSTATUS)0xC0000287L)
-#define STATUS_DEVICE_REQUIRES_CLEANING ((NTSTATUS)0x80000288L)
-#define STATUS_DEVICE_DOOR_OPEN ((NTSTATUS)0x80000289L)
-#define STATUS_ENCRYPTION_FAILED ((NTSTATUS)0xC000028AL)
-#define STATUS_DECRYPTION_FAILED ((NTSTATUS)0xC000028BL)
-#define STATUS_RANGE_NOT_FOUND ((NTSTATUS)0xC000028CL)
-#define STATUS_NO_RECOVERY_POLICY ((NTSTATUS)0xC000028DL)
-#define STATUS_NO_EFS ((NTSTATUS)0xC000028EL)
-#define STATUS_WRONG_EFS ((NTSTATUS)0xC000028FL)
-#define STATUS_NO_USER_KEYS ((NTSTATUS)0xC0000290L)
-#define STATUS_FILE_NOT_ENCRYPTED ((NTSTATUS)0xC0000291L)
-#define STATUS_NOT_EXPORT_FORMAT ((NTSTATUS)0xC0000292L)
-#define STATUS_FILE_ENCRYPTED ((NTSTATUS)0xC0000293L)
-#define STATUS_WAKE_SYSTEM ((NTSTATUS)0x40000294L)
-#define STATUS_WMI_GUID_NOT_FOUND ((NTSTATUS)0xC0000295L)
-#define STATUS_WMI_INSTANCE_NOT_FOUND ((NTSTATUS)0xC0000296L)
-#define STATUS_WMI_ITEMID_NOT_FOUND ((NTSTATUS)0xC0000297L)
-#define STATUS_WMI_TRY_AGAIN ((NTSTATUS)0xC0000298L)
-#define STATUS_SHARED_POLICY ((NTSTATUS)0xC0000299L)
-#define STATUS_POLICY_OBJECT_NOT_FOUND ((NTSTATUS)0xC000029AL)
-#define STATUS_POLICY_ONLY_IN_DS ((NTSTATUS)0xC000029BL)
-#define STATUS_VOLUME_NOT_UPGRADED ((NTSTATUS)0xC000029CL)
-#define STATUS_REMOTE_STORAGE_NOT_ACTIVE ((NTSTATUS)0xC000029DL)
-#define STATUS_REMOTE_STORAGE_MEDIA_ERROR ((NTSTATUS)0xC000029EL)
-#define STATUS_NO_TRACKING_SERVICE ((NTSTATUS)0xC000029FL)
-#define STATUS_SERVER_SID_MISMATCH ((NTSTATUS)0xC00002A0L)
-#define STATUS_DS_NO_ATTRIBUTE_OR_VALUE ((NTSTATUS)0xC00002A1L)
-#define STATUS_DS_INVALID_ATTRIBUTE_SYNTAX ((NTSTATUS)0xC00002A2L)
-#define STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED ((NTSTATUS)0xC00002A3L)
-#define STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS ((NTSTATUS)0xC00002A4L)
-#define STATUS_DS_BUSY ((NTSTATUS)0xC00002A5L)
-#define STATUS_DS_UNAVAILABLE ((NTSTATUS)0xC00002A6L)
-#define STATUS_DS_NO_RIDS_ALLOCATED ((NTSTATUS)0xC00002A7L)
-#define STATUS_DS_NO_MORE_RIDS ((NTSTATUS)0xC00002A8L)
-#define STATUS_DS_INCORRECT_ROLE_OWNER ((NTSTATUS)0xC00002A9L)
-#define STATUS_DS_RIDMGR_INIT_ERROR ((NTSTATUS)0xC00002AAL)
-#define STATUS_DS_OBJ_CLASS_VIOLATION ((NTSTATUS)0xC00002ABL)
-#define STATUS_DS_CANT_ON_NON_LEAF ((NTSTATUS)0xC00002ACL)
-#define STATUS_DS_CANT_ON_RDN ((NTSTATUS)0xC00002ADL)
-#define STATUS_DS_CANT_MOD_OBJ_CLASS ((NTSTATUS)0xC00002AEL)
-#define STATUS_DS_CROSS_DOM_MOVE_FAILED ((NTSTATUS)0xC00002AFL)
-#define STATUS_DS_GC_NOT_AVAILABLE ((NTSTATUS)0xC00002B0L)
-#define STATUS_DIRECTORY_SERVICE_REQUIRED ((NTSTATUS)0xC00002B1L)
-#define STATUS_REPARSE_ATTRIBUTE_CONFLICT ((NTSTATUS)0xC00002B2L)
-#define STATUS_CANT_ENABLE_DENY_ONLY ((NTSTATUS)0xC00002B3L)
-#define STATUS_FLOAT_MULTIPLE_FAULTS ((NTSTATUS)0xC00002B4L)
-#define STATUS_FLOAT_MULTIPLE_TRAPS ((NTSTATUS)0xC00002B5L)
-#define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L)
-#define STATUS_JOURNAL_DELETE_IN_PROGRESS ((NTSTATUS)0xC00002B7L)
-#define STATUS_JOURNAL_NOT_ACTIVE ((NTSTATUS)0xC00002B8L)
-#define STATUS_NOINTERFACE ((NTSTATUS)0xC00002B9L)
-#define STATUS_DS_ADMIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00002C1L)
-#define STATUS_DRIVER_FAILED_SLEEP ((NTSTATUS)0xC00002C2L)
-#define STATUS_MUTUAL_AUTHENTICATION_FAILED ((NTSTATUS)0xC00002C3L)
-#define STATUS_CORRUPT_SYSTEM_FILE ((NTSTATUS)0xC00002C4L)
-#define STATUS_DATATYPE_MISALIGNMENT_ERROR ((NTSTATUS)0xC00002C5L)
-#define STATUS_WMI_READ_ONLY ((NTSTATUS)0xC00002C6L)
-#define STATUS_WMI_SET_FAILURE ((NTSTATUS)0xC00002C7L)
-#define STATUS_COMMITMENT_MINIMUM ((NTSTATUS)0xC00002C8L)
-#define STATUS_REG_NAT_CONSUMPTION ((NTSTATUS)0xC00002C9L)
-#define STATUS_TRANSPORT_FULL ((NTSTATUS)0xC00002CAL)
-#define STATUS_DS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002CBL)
-#define STATUS_ONLY_IF_CONNECTED ((NTSTATUS)0xC00002CCL)
-#define STATUS_DS_SENSITIVE_GROUP_VIOLATION ((NTSTATUS)0xC00002CDL)
-#define STATUS_PNP_RESTART_ENUMERATION ((NTSTATUS)0xC00002CEL)
-#define STATUS_JOURNAL_ENTRY_DELETED ((NTSTATUS)0xC00002CFL)
-#define STATUS_DS_CANT_MOD_PRIMARYGROUPID ((NTSTATUS)0xC00002D0L)
-#define STATUS_SYSTEM_IMAGE_BAD_SIGNATURE ((NTSTATUS)0xC00002D1L)
-#define STATUS_PNP_REBOOT_REQUIRED ((NTSTATUS)0xC00002D2L)
-#define STATUS_POWER_STATE_INVALID ((NTSTATUS)0xC00002D3L)
-#define STATUS_DS_INVALID_GROUP_TYPE ((NTSTATUS)0xC00002D4L)
-#define STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D5L)
-#define STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D6L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D7L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC00002D8L)
-#define STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D9L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ((NTSTATUS)0xC00002DAL)
-#define STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ((NTSTATUS)0xC00002DBL)
-#define STATUS_DS_HAVE_PRIMARY_MEMBERS ((NTSTATUS)0xC00002DCL)
-#define STATUS_WMI_NOT_SUPPORTED ((NTSTATUS)0xC00002DDL)
-#define STATUS_INSUFFICIENT_POWER ((NTSTATUS)0xC00002DEL)
-#define STATUS_SAM_NEED_BOOTKEY_PASSWORD ((NTSTATUS)0xC00002DFL)
-#define STATUS_SAM_NEED_BOOTKEY_FLOPPY ((NTSTATUS)0xC00002E0L)
-#define STATUS_DS_CANT_START ((NTSTATUS)0xC00002E1L)
-#define STATUS_DS_INIT_FAILURE ((NTSTATUS)0xC00002E2L)
-#define STATUS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002E3L)
-#define STATUS_DS_GC_REQUIRED ((NTSTATUS)0xC00002E4L)
-#define STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY ((NTSTATUS)0xC00002E5L)
-#define STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS ((NTSTATUS)0xC00002E6L)
-#define STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED ((NTSTATUS)0xC00002E7L)
-#define STATUS_MULTIPLE_FAULT_VIOLATION ((NTSTATUS)0xC00002E8L)
-#define STATUS_CURRENT_DOMAIN_NOT_ALLOWED ((NTSTATUS)0xC00002E9L)
-#define STATUS_CANNOT_MAKE ((NTSTATUS)0xC00002EAL)
-#define STATUS_SYSTEM_SHUTDOWN ((NTSTATUS)0xC00002EBL)
-#define STATUS_DS_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002ECL)
-#define STATUS_DS_SAM_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002EDL)
-#define STATUS_UNFINISHED_CONTEXT_DELETED ((NTSTATUS)0xC00002EEL)
-#define STATUS_NO_TGT_REPLY ((NTSTATUS)0xC00002EFL)
-#define STATUS_OBJECTID_NOT_FOUND ((NTSTATUS)0xC00002F0L)
-#define STATUS_NO_IP_ADDRESSES ((NTSTATUS)0xC00002F1L)
-#define STATUS_WRONG_CREDENTIAL_HANDLE ((NTSTATUS)0xC00002F2L)
-#define STATUS_CRYPTO_SYSTEM_INVALID ((NTSTATUS)0xC00002F3L)
-#define STATUS_MAX_REFERRALS_EXCEEDED ((NTSTATUS)0xC00002F4L)
-#define STATUS_MUST_BE_KDC ((NTSTATUS)0xC00002F5L)
-#define STATUS_STRONG_CRYPTO_NOT_SUPPORTED ((NTSTATUS)0xC00002F6L)
-#define STATUS_TOO_MANY_PRINCIPALS ((NTSTATUS)0xC00002F7L)
-#define STATUS_NO_PA_DATA ((NTSTATUS)0xC00002F8L)
-#define STATUS_PKINIT_NAME_MISMATCH ((NTSTATUS)0xC00002F9L)
-#define STATUS_SMARTCARD_LOGON_REQUIRED ((NTSTATUS)0xC00002FAL)
-#define STATUS_KDC_INVALID_REQUEST ((NTSTATUS)0xC00002FBL)
-#define STATUS_KDC_UNABLE_TO_REFER ((NTSTATUS)0xC00002FCL)
-#define STATUS_KDC_UNKNOWN_ETYPE ((NTSTATUS)0xC00002FDL)
-#define STATUS_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FEL)
-#define STATUS_SERVER_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FFL)
-#define STATUS_NOT_SUPPORTED_ON_SBS ((NTSTATUS)0xC0000300L)
-#define STATUS_WMI_GUID_DISCONNECTED ((NTSTATUS)0xC0000301L)
-#define STATUS_WMI_ALREADY_DISABLED ((NTSTATUS)0xC0000302L)
-#define STATUS_WMI_ALREADY_ENABLED ((NTSTATUS)0xC0000303L)
-#define STATUS_MFT_TOO_FRAGMENTED ((NTSTATUS)0xC0000304L)
-#define STATUS_COPY_PROTECTION_FAILURE ((NTSTATUS)0xC0000305L)
-#define STATUS_CSS_AUTHENTICATION_FAILURE ((NTSTATUS)0xC0000306L)
-#define STATUS_CSS_KEY_NOT_PRESENT ((NTSTATUS)0xC0000307L)
-#define STATUS_CSS_KEY_NOT_ESTABLISHED ((NTSTATUS)0xC0000308L)
-#define STATUS_CSS_SCRAMBLED_SECTOR ((NTSTATUS)0xC0000309L)
-#define STATUS_CSS_REGION_MISMATCH ((NTSTATUS)0xC000030AL)
-#define STATUS_CSS_RESETS_EXHAUSTED ((NTSTATUS)0xC000030BL)
-#define STATUS_PKINIT_FAILURE ((NTSTATUS)0xC0000320L)
-#define STATUS_SMARTCARD_SUBSYSTEM_FAILURE ((NTSTATUS)0xC0000321L)
-#define STATUS_NO_KERB_KEY ((NTSTATUS)0xC0000322L)
-#define STATUS_HOST_DOWN ((NTSTATUS)0xC0000350L)
-#define STATUS_UNSUPPORTED_PREAUTH ((NTSTATUS)0xC0000351L)
-#define STATUS_EFS_ALG_BLOB_TOO_BIG ((NTSTATUS)0xC0000352L)
-#define STATUS_PORT_NOT_SET ((NTSTATUS)0xC0000353L)
-#define STATUS_DEBUGGER_INACTIVE ((NTSTATUS)0xC0000354L)
-#define STATUS_DS_VERSION_CHECK_FAILURE ((NTSTATUS)0xC0000355L)
-#define STATUS_AUDITING_DISABLED ((NTSTATUS)0xC0000356L)
-#define STATUS_PRENT4_MACHINE_ACCOUNT ((NTSTATUS)0xC0000357L)
-#define STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC0000358L)
-#define STATUS_INVALID_IMAGE_WIN_32 ((NTSTATUS)0xC0000359L)
-#define STATUS_INVALID_IMAGE_WIN_64 ((NTSTATUS)0xC000035AL)
-#define STATUS_BAD_BINDINGS ((NTSTATUS)0xC000035BL)
-#define STATUS_NETWORK_SESSION_EXPIRED ((NTSTATUS)0xC000035CL)
-#define STATUS_APPHELP_BLOCK ((NTSTATUS)0xC000035DL)
-#define STATUS_ALL_SIDS_FILTERED ((NTSTATUS)0xC000035EL)
-#define STATUS_NOT_SAFE_MODE_DRIVER ((NTSTATUS)0xC000035FL)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT ((NTSTATUS)0xC0000361L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PATH ((NTSTATUS)0xC0000362L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER ((NTSTATUS)0xC0000363L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_OTHER ((NTSTATUS)0xC0000364L)
-#define STATUS_FAILED_DRIVER_ENTRY ((NTSTATUS)0xC0000365L)
-#define STATUS_DEVICE_ENUMERATION_ERROR ((NTSTATUS)0xC0000366L)
-#define STATUS_WAIT_FOR_OPLOCK ((NTSTATUS)0x00000367L)
-#define STATUS_MOUNT_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000368L)
-#define STATUS_INVALID_DEVICE_OBJECT_PARAMETER ((NTSTATUS)0xC0000369L)
-#define STATUS_MCA_OCCURED ((NTSTATUS)0xC000036AL)
-#define STATUS_DRIVER_BLOCKED_CRITICAL ((NTSTATUS)0xC000036BL)
-#define STATUS_DRIVER_BLOCKED ((NTSTATUS)0xC000036CL)
-#define STATUS_DRIVER_DATABASE_ERROR ((NTSTATUS)0xC000036DL)
-#define STATUS_SYSTEM_HIVE_TOO_LARGE ((NTSTATUS)0xC000036EL)
-#define STATUS_INVALID_IMPORT_OF_NON_DLL ((NTSTATUS)0xC000036FL)
-#define STATUS_DS_SHUTTING_DOWN ((NTSTATUS)0x40000370L)
-#define STATUS_SMARTCARD_WRONG_PIN ((NTSTATUS)0xC0000380L)
-#define STATUS_SMARTCARD_CARD_BLOCKED ((NTSTATUS)0xC0000381L)
-#define STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED ((NTSTATUS)0xC0000382L)
-#define STATUS_SMARTCARD_NO_CARD ((NTSTATUS)0xC0000383L)
-#define STATUS_SMARTCARD_NO_KEY_CONTAINER ((NTSTATUS)0xC0000384L)
-#define STATUS_SMARTCARD_NO_CERTIFICATE ((NTSTATUS)0xC0000385L)
-#define STATUS_SMARTCARD_NO_KEYSET ((NTSTATUS)0xC0000386L)
-#define STATUS_SMARTCARD_IO_ERROR ((NTSTATUS)0xC0000387L)
-#define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388L)
-#define STATUS_SMARTCARD_CERT_REVOKED ((NTSTATUS)0xC0000389L)
-#define STATUS_ISSUING_CA_UNTRUSTED ((NTSTATUS)0xC000038AL)
-#define STATUS_REVOCATION_OFFLINE_C ((NTSTATUS)0xC000038BL)
-#define STATUS_PKINIT_CLIENT_FAILURE ((NTSTATUS)0xC000038CL)
-#define STATUS_SMARTCARD_CERT_EXPIRED ((NTSTATUS)0xC000038DL)
-#define STATUS_DRIVER_FAILED_PRIOR_UNLOAD ((NTSTATUS)0xC000038EL)
-#define STATUS_WOW_ASSERTION ((NTSTATUS)0xC0009898L)
-#define RPC_NT_INVALID_STRING_BINDING ((NTSTATUS)0xC0020001L)
-#define RPC_NT_WRONG_KIND_OF_BINDING ((NTSTATUS)0xC0020002L)
-#define RPC_NT_INVALID_BINDING ((NTSTATUS)0xC0020003L)
-#define RPC_NT_PROTSEQ_NOT_SUPPORTED ((NTSTATUS)0xC0020004L)
-#define RPC_NT_INVALID_RPC_PROTSEQ ((NTSTATUS)0xC0020005L)
-#define RPC_NT_INVALID_STRING_UUID ((NTSTATUS)0xC0020006L)
-#define RPC_NT_INVALID_ENDPOINT_FORMAT ((NTSTATUS)0xC0020007L)
-#define RPC_NT_INVALID_NET_ADDR ((NTSTATUS)0xC0020008L)
-#define RPC_NT_NO_ENDPOINT_FOUND ((NTSTATUS)0xC0020009L)
-#define RPC_NT_INVALID_TIMEOUT ((NTSTATUS)0xC002000AL)
-#define RPC_NT_OBJECT_NOT_FOUND ((NTSTATUS)0xC002000BL)
-#define RPC_NT_ALREADY_REGISTERED ((NTSTATUS)0xC002000CL)
-#define RPC_NT_TYPE_ALREADY_REGISTERED ((NTSTATUS)0xC002000DL)
-#define RPC_NT_ALREADY_LISTENING ((NTSTATUS)0xC002000EL)
-#define RPC_NT_NO_PROTSEQS_REGISTERED ((NTSTATUS)0xC002000FL)
-#define RPC_NT_NOT_LISTENING ((NTSTATUS)0xC0020010L)
-#define RPC_NT_UNKNOWN_MGR_TYPE ((NTSTATUS)0xC0020011L)
-#define RPC_NT_UNKNOWN_IF ((NTSTATUS)0xC0020012L)
-#define RPC_NT_NO_BINDINGS ((NTSTATUS)0xC0020013L)
-#define RPC_NT_NO_PROTSEQS ((NTSTATUS)0xC0020014L)
-#define RPC_NT_CANT_CREATE_ENDPOINT ((NTSTATUS)0xC0020015L)
-#define RPC_NT_OUT_OF_RESOURCES ((NTSTATUS)0xC0020016L)
-#define RPC_NT_SERVER_UNAVAILABLE ((NTSTATUS)0xC0020017L)
-#define RPC_NT_SERVER_TOO_BUSY ((NTSTATUS)0xC0020018L)
-#define RPC_NT_INVALID_NETWORK_OPTIONS ((NTSTATUS)0xC0020019L)
-#define RPC_NT_NO_CALL_ACTIVE ((NTSTATUS)0xC002001AL)
-#define RPC_NT_CALL_FAILED ((NTSTATUS)0xC002001BL)
-#define RPC_NT_CALL_FAILED_DNE ((NTSTATUS)0xC002001CL)
-#define RPC_NT_PROTOCOL_ERROR ((NTSTATUS)0xC002001DL)
-#define RPC_NT_UNSUPPORTED_TRANS_SYN ((NTSTATUS)0xC002001FL)
-#define RPC_NT_UNSUPPORTED_TYPE ((NTSTATUS)0xC0020021L)
-#define RPC_NT_INVALID_TAG ((NTSTATUS)0xC0020022L)
-#define RPC_NT_INVALID_BOUND ((NTSTATUS)0xC0020023L)
-#define RPC_NT_NO_ENTRY_NAME ((NTSTATUS)0xC0020024L)
-#define RPC_NT_INVALID_NAME_SYNTAX ((NTSTATUS)0xC0020025L)
-#define RPC_NT_UNSUPPORTED_NAME_SYNTAX ((NTSTATUS)0xC0020026L)
-#define RPC_NT_UUID_NO_ADDRESS ((NTSTATUS)0xC0020028L)
-#define RPC_NT_DUPLICATE_ENDPOINT ((NTSTATUS)0xC0020029L)
-#define RPC_NT_UNKNOWN_AUTHN_TYPE ((NTSTATUS)0xC002002AL)
-#define RPC_NT_MAX_CALLS_TOO_SMALL ((NTSTATUS)0xC002002BL)
-#define RPC_NT_STRING_TOO_LONG ((NTSTATUS)0xC002002CL)
-#define RPC_NT_PROTSEQ_NOT_FOUND ((NTSTATUS)0xC002002DL)
-#define RPC_NT_PROCNUM_OUT_OF_RANGE ((NTSTATUS)0xC002002EL)
-#define RPC_NT_BINDING_HAS_NO_AUTH ((NTSTATUS)0xC002002FL)
-#define RPC_NT_UNKNOWN_AUTHN_SERVICE ((NTSTATUS)0xC0020030L)
-#define RPC_NT_UNKNOWN_AUTHN_LEVEL ((NTSTATUS)0xC0020031L)
-#define RPC_NT_INVALID_AUTH_IDENTITY ((NTSTATUS)0xC0020032L)
-#define RPC_NT_UNKNOWN_AUTHZ_SERVICE ((NTSTATUS)0xC0020033L)
-#define EPT_NT_INVALID_ENTRY ((NTSTATUS)0xC0020034L)
-#define EPT_NT_CANT_PERFORM_OP ((NTSTATUS)0xC0020035L)
-#define EPT_NT_NOT_REGISTERED ((NTSTATUS)0xC0020036L)
-#define RPC_NT_NOTHING_TO_EXPORT ((NTSTATUS)0xC0020037L)
-#define RPC_NT_INCOMPLETE_NAME ((NTSTATUS)0xC0020038L)
-#define RPC_NT_INVALID_VERS_OPTION ((NTSTATUS)0xC0020039L)
-#define RPC_NT_NO_MORE_MEMBERS ((NTSTATUS)0xC002003AL)
-#define RPC_NT_NOT_ALL_OBJS_UNEXPORTED ((NTSTATUS)0xC002003BL)
-#define RPC_NT_INTERFACE_NOT_FOUND ((NTSTATUS)0xC002003CL)
-#define RPC_NT_ENTRY_ALREADY_EXISTS ((NTSTATUS)0xC002003DL)
-#define RPC_NT_ENTRY_NOT_FOUND ((NTSTATUS)0xC002003EL)
-#define RPC_NT_NAME_SERVICE_UNAVAILABLE ((NTSTATUS)0xC002003FL)
-#define RPC_NT_INVALID_NAF_ID ((NTSTATUS)0xC0020040L)
-#define RPC_NT_CANNOT_SUPPORT ((NTSTATUS)0xC0020041L)
-#define RPC_NT_NO_CONTEXT_AVAILABLE ((NTSTATUS)0xC0020042L)
-#define RPC_NT_INTERNAL_ERROR ((NTSTATUS)0xC0020043L)
-#define RPC_NT_ZERO_DIVIDE ((NTSTATUS)0xC0020044L)
-#define RPC_NT_ADDRESS_ERROR ((NTSTATUS)0xC0020045L)
-#define RPC_NT_FP_DIV_ZERO ((NTSTATUS)0xC0020046L)
-#define RPC_NT_FP_UNDERFLOW ((NTSTATUS)0xC0020047L)
-#define RPC_NT_FP_OVERFLOW ((NTSTATUS)0xC0020048L)
-#define RPC_NT_NO_MORE_ENTRIES ((NTSTATUS)0xC0030001L)
-#define RPC_NT_SS_CHAR_TRANS_OPEN_FAIL ((NTSTATUS)0xC0030002L)
-#define RPC_NT_SS_CHAR_TRANS_SHORT_FILE ((NTSTATUS)0xC0030003L)
-#define RPC_NT_SS_IN_NULL_CONTEXT ((NTSTATUS)0xC0030004L)
-#define RPC_NT_SS_CONTEXT_MISMATCH ((NTSTATUS)0xC0030005L)
-#define RPC_NT_SS_CONTEXT_DAMAGED ((NTSTATUS)0xC0030006L)
-#define RPC_NT_SS_HANDLES_MISMATCH ((NTSTATUS)0xC0030007L)
-#define RPC_NT_SS_CANNOT_GET_CALL_HANDLE ((NTSTATUS)0xC0030008L)
-#define RPC_NT_NULL_REF_POINTER ((NTSTATUS)0xC0030009L)
-#define RPC_NT_ENUM_VALUE_OUT_OF_RANGE ((NTSTATUS)0xC003000AL)
-#define RPC_NT_BYTE_COUNT_TOO_SMALL ((NTSTATUS)0xC003000BL)
-#define RPC_NT_BAD_STUB_DATA ((NTSTATUS)0xC003000CL)
-#define RPC_NT_CALL_IN_PROGRESS ((NTSTATUS)0xC0020049L)
-#define RPC_NT_NO_MORE_BINDINGS ((NTSTATUS)0xC002004AL)
-#define RPC_NT_GROUP_MEMBER_NOT_FOUND ((NTSTATUS)0xC002004BL)
-#define EPT_NT_CANT_CREATE ((NTSTATUS)0xC002004CL)
-#define RPC_NT_INVALID_OBJECT ((NTSTATUS)0xC002004DL)
-#define RPC_NT_NO_INTERFACES ((NTSTATUS)0xC002004FL)
-#define RPC_NT_CALL_CANCELLED ((NTSTATUS)0xC0020050L)
-#define RPC_NT_BINDING_INCOMPLETE ((NTSTATUS)0xC0020051L)
-#define RPC_NT_COMM_FAILURE ((NTSTATUS)0xC0020052L)
-#define RPC_NT_UNSUPPORTED_AUTHN_LEVEL ((NTSTATUS)0xC0020053L)
-#define RPC_NT_NO_PRINC_NAME ((NTSTATUS)0xC0020054L)
-#define RPC_NT_NOT_RPC_ERROR ((NTSTATUS)0xC0020055L)
-#define RPC_NT_UUID_LOCAL_ONLY ((NTSTATUS)0x40020056L)
-#define RPC_NT_SEC_PKG_ERROR ((NTSTATUS)0xC0020057L)
-#define RPC_NT_NOT_CANCELLED ((NTSTATUS)0xC0020058L)
-#define RPC_NT_INVALID_ES_ACTION ((NTSTATUS)0xC0030059L)
-#define RPC_NT_WRONG_ES_VERSION ((NTSTATUS)0xC003005AL)
-#define RPC_NT_WRONG_STUB_VERSION ((NTSTATUS)0xC003005BL)
-#define RPC_NT_INVALID_PIPE_OBJECT ((NTSTATUS)0xC003005CL)
-#define RPC_NT_INVALID_PIPE_OPERATION ((NTSTATUS)0xC003005DL)
-#define RPC_NT_WRONG_PIPE_VERSION ((NTSTATUS)0xC003005EL)
-#define RPC_NT_PIPE_CLOSED ((NTSTATUS)0xC003005FL)
-#define RPC_NT_PIPE_DISCIPLINE_ERROR ((NTSTATUS)0xC0030060L)
-#define RPC_NT_PIPE_EMPTY ((NTSTATUS)0xC0030061L)
-#define RPC_NT_INVALID_ASYNC_HANDLE ((NTSTATUS)0xC0020062L)
-#define RPC_NT_INVALID_ASYNC_CALL ((NTSTATUS)0xC0020063L)
-#define RPC_NT_SEND_INCOMPLETE ((NTSTATUS)0x400200AFL)
-#define STATUS_ACPI_INVALID_OPCODE ((NTSTATUS)0xC0140001L)
-#define STATUS_ACPI_STACK_OVERFLOW ((NTSTATUS)0xC0140002L)
-#define STATUS_ACPI_ASSERT_FAILED ((NTSTATUS)0xC0140003L)
-#define STATUS_ACPI_INVALID_INDEX ((NTSTATUS)0xC0140004L)
-#define STATUS_ACPI_INVALID_ARGUMENT ((NTSTATUS)0xC0140005L)
-#define STATUS_ACPI_FATAL ((NTSTATUS)0xC0140006L)
-#define STATUS_ACPI_INVALID_SUPERNAME ((NTSTATUS)0xC0140007L)
-#define STATUS_ACPI_INVALID_ARGTYPE ((NTSTATUS)0xC0140008L)
-#define STATUS_ACPI_INVALID_OBJTYPE ((NTSTATUS)0xC0140009L)
-#define STATUS_ACPI_INVALID_TARGETTYPE ((NTSTATUS)0xC014000AL)
-#define STATUS_ACPI_INCORRECT_ARGUMENT_COUNT ((NTSTATUS)0xC014000BL)
-#define STATUS_ACPI_ADDRESS_NOT_MAPPED ((NTSTATUS)0xC014000CL)
-#define STATUS_ACPI_INVALID_EVENTTYPE ((NTSTATUS)0xC014000DL)
-#define STATUS_ACPI_HANDLER_COLLISION ((NTSTATUS)0xC014000EL)
-#define STATUS_ACPI_INVALID_DATA ((NTSTATUS)0xC014000FL)
-#define STATUS_ACPI_INVALID_REGION ((NTSTATUS)0xC0140010L)
-#define STATUS_ACPI_INVALID_ACCESS_SIZE ((NTSTATUS)0xC0140011L)
-#define STATUS_ACPI_ACQUIRE_GLOBAL_LOCK ((NTSTATUS)0xC0140012L)
-#define STATUS_ACPI_ALREADY_INITIALIZED ((NTSTATUS)0xC0140013L)
-#define STATUS_ACPI_NOT_INITIALIZED ((NTSTATUS)0xC0140014L)
-#define STATUS_ACPI_INVALID_MUTEX_LEVEL ((NTSTATUS)0xC0140015L)
-#define STATUS_ACPI_MUTEX_NOT_OWNED ((NTSTATUS)0xC0140016L)
-#define STATUS_ACPI_MUTEX_NOT_OWNER ((NTSTATUS)0xC0140017L)
-#define STATUS_ACPI_RS_ACCESS ((NTSTATUS)0xC0140018L)
-#define STATUS_ACPI_INVALID_TABLE ((NTSTATUS)0xC0140019L)
-#define STATUS_ACPI_REG_HANDLER_FAILED ((NTSTATUS)0xC0140020L)
-#define STATUS_ACPI_POWER_REQUEST_FAILED ((NTSTATUS)0xC0140021L)
-#define STATUS_CTX_WINSTATION_NAME_INVALID ((NTSTATUS)0xC00A0001L)
-#define STATUS_CTX_INVALID_PD ((NTSTATUS)0xC00A0002L)
-#define STATUS_CTX_PD_NOT_FOUND ((NTSTATUS)0xC00A0003L)
-#define STATUS_CTX_CDM_CONNECT ((NTSTATUS)0x400A0004L)
-#define STATUS_CTX_CDM_DISCONNECT ((NTSTATUS)0x400A0005L)
-#define STATUS_CTX_CLOSE_PENDING ((NTSTATUS)0xC00A0006L)
-#define STATUS_CTX_NO_OUTBUF ((NTSTATUS)0xC00A0007L)
-#define STATUS_CTX_MODEM_INF_NOT_FOUND ((NTSTATUS)0xC00A0008L)
-#define STATUS_CTX_INVALID_MODEMNAME ((NTSTATUS)0xC00A0009L)
-#define STATUS_CTX_RESPONSE_ERROR ((NTSTATUS)0xC00A000AL)
-#define STATUS_CTX_MODEM_RESPONSE_TIMEOUT ((NTSTATUS)0xC00A000BL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_CARRIER ((NTSTATUS)0xC00A000CL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE ((NTSTATUS)0xC00A000DL)
-#define STATUS_CTX_MODEM_RESPONSE_BUSY ((NTSTATUS)0xC00A000EL)
-#define STATUS_CTX_MODEM_RESPONSE_VOICE ((NTSTATUS)0xC00A000FL)
-#define STATUS_CTX_TD_ERROR ((NTSTATUS)0xC00A0010L)
-#define STATUS_CTX_LICENSE_CLIENT_INVALID ((NTSTATUS)0xC00A0012L)
-#define STATUS_CTX_LICENSE_NOT_AVAILABLE ((NTSTATUS)0xC00A0013L)
-#define STATUS_CTX_LICENSE_EXPIRED ((NTSTATUS)0xC00A0014L)
-#define STATUS_CTX_WINSTATION_NOT_FOUND ((NTSTATUS)0xC00A0015L)
-#define STATUS_CTX_WINSTATION_NAME_COLLISION ((NTSTATUS)0xC00A0016L)
-#define STATUS_CTX_WINSTATION_BUSY ((NTSTATUS)0xC00A0017L)
-#define STATUS_CTX_BAD_VIDEO_MODE ((NTSTATUS)0xC00A0018L)
-#define STATUS_CTX_GRAPHICS_INVALID ((NTSTATUS)0xC00A0022L)
-#define STATUS_CTX_NOT_CONSOLE ((NTSTATUS)0xC00A0024L)
-#define STATUS_CTX_CLIENT_QUERY_TIMEOUT ((NTSTATUS)0xC00A0026L)
-#define STATUS_CTX_CONSOLE_DISCONNECT ((NTSTATUS)0xC00A0027L)
-#define STATUS_CTX_CONSOLE_CONNECT ((NTSTATUS)0xC00A0028L)
-#define STATUS_CTX_SHADOW_DENIED ((NTSTATUS)0xC00A002AL)
-#define STATUS_CTX_WINSTATION_ACCESS_DENIED ((NTSTATUS)0xC00A002BL)
-#define STATUS_CTX_INVALID_WD ((NTSTATUS)0xC00A002EL)
-#define STATUS_CTX_WD_NOT_FOUND ((NTSTATUS)0xC00A002FL)
-#define STATUS_CTX_SHADOW_INVALID ((NTSTATUS)0xC00A0030L)
-#define STATUS_CTX_SHADOW_DISABLED ((NTSTATUS)0xC00A0031L)
-#define STATUS_RDP_PROTOCOL_ERROR ((NTSTATUS)0xC00A0032L)
-#define STATUS_CTX_CLIENT_LICENSE_NOT_SET ((NTSTATUS)0xC00A0033L)
-#define STATUS_CTX_CLIENT_LICENSE_IN_USE ((NTSTATUS)0xC00A0034L)
-#define STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE ((NTSTATUS)0xC00A0035L)
-#define STATUS_CTX_SHADOW_NOT_RUNNING ((NTSTATUS)0xC00A0036L)
-#define STATUS_PNP_BAD_MPS_TABLE ((NTSTATUS)0xC0040035L)
-#define STATUS_PNP_TRANSLATION_FAILED ((NTSTATUS)0xC0040036L)
-#define STATUS_PNP_IRQ_TRANSLATION_FAILED ((NTSTATUS)0xC0040037L)
-#define STATUS_SXS_SECTION_NOT_FOUND ((NTSTATUS)0xC0150001L)
-#define STATUS_SXS_CANT_GEN_ACTCTX ((NTSTATUS)0xC0150002L)
-#define STATUS_SXS_INVALID_ACTCTXDATA_FORMAT ((NTSTATUS)0xC0150003L)
-#define STATUS_SXS_ASSEMBLY_NOT_FOUND ((NTSTATUS)0xC0150004L)
-#define STATUS_SXS_MANIFEST_FORMAT_ERROR ((NTSTATUS)0xC0150005L)
-#define STATUS_SXS_MANIFEST_PARSE_ERROR ((NTSTATUS)0xC0150006L)
-#define STATUS_SXS_ACTIVATION_CONTEXT_DISABLED ((NTSTATUS)0xC0150007L)
-#define STATUS_SXS_KEY_NOT_FOUND ((NTSTATUS)0xC0150008L)
-#define STATUS_SXS_VERSION_CONFLICT ((NTSTATUS)0xC0150009L)
-#define STATUS_SXS_WRONG_SECTION_TYPE ((NTSTATUS)0xC015000AL)
-#define STATUS_SXS_THREAD_QUERIES_DISABLED ((NTSTATUS)0xC015000BL)
-#define STATUS_SXS_ASSEMBLY_MISSING ((NTSTATUS)0xC015000CL)
-#define STATUS_SXS_RELEASE_ACTIVATION_CONTEXT ((NTSTATUS)0x4015000DL)
-#define STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET ((NTSTATUS)0xC015000EL)
-#define STATUS_SXS_EARLY_DEACTIVATION ((NTSTATUS)0xC015000FL)
-#define STATUS_SXS_INVALID_DEACTIVATION ((NTSTATUS)0xC0150010L)
-#define STATUS_SXS_MULTIPLE_DEACTIVATION ((NTSTATUS)0xC0150011L)
-#define STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY ((NTSTATUS)0xC0150012L)
-#define STATUS_SXS_PROCESS_TERMINATION_REQUESTED ((NTSTATUS)0xC0150013L)
-#define STATUS_CLUSTER_INVALID_NODE ((NTSTATUS)0xC0130001L)
-#define STATUS_CLUSTER_NODE_EXISTS ((NTSTATUS)0xC0130002L)
-#define STATUS_CLUSTER_JOIN_IN_PROGRESS ((NTSTATUS)0xC0130003L)
-#define STATUS_CLUSTER_NODE_NOT_FOUND ((NTSTATUS)0xC0130004L)
-#define STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND ((NTSTATUS)0xC0130005L)
-#define STATUS_CLUSTER_NETWORK_EXISTS ((NTSTATUS)0xC0130006L)
-#define STATUS_CLUSTER_NETWORK_NOT_FOUND ((NTSTATUS)0xC0130007L)
-#define STATUS_CLUSTER_NETINTERFACE_EXISTS ((NTSTATUS)0xC0130008L)
-#define STATUS_CLUSTER_NETINTERFACE_NOT_FOUND ((NTSTATUS)0xC0130009L)
-#define STATUS_CLUSTER_INVALID_REQUEST ((NTSTATUS)0xC013000AL)
-#define STATUS_CLUSTER_INVALID_NETWORK_PROVIDER ((NTSTATUS)0xC013000BL)
-#define STATUS_CLUSTER_NODE_DOWN ((NTSTATUS)0xC013000CL)
-#define STATUS_CLUSTER_NODE_UNREACHABLE ((NTSTATUS)0xC013000DL)
-#define STATUS_CLUSTER_NODE_NOT_MEMBER ((NTSTATUS)0xC013000EL)
-#define STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS ((NTSTATUS)0xC013000FL)
-#define STATUS_CLUSTER_INVALID_NETWORK ((NTSTATUS)0xC0130010L)
-#define STATUS_CLUSTER_NO_NET_ADAPTERS ((NTSTATUS)0xC0130011L)
-#define STATUS_CLUSTER_NODE_UP ((NTSTATUS)0xC0130012L)
-#define STATUS_CLUSTER_NODE_PAUSED ((NTSTATUS)0xC0130013L)
-#define STATUS_CLUSTER_NODE_NOT_PAUSED ((NTSTATUS)0xC0130014L)
-#define STATUS_CLUSTER_NO_SECURITY_CONTEXT ((NTSTATUS)0xC0130015L)
-#define STATUS_CLUSTER_NETWORK_NOT_INTERNAL ((NTSTATUS)0xC0130016L)
-#define STATUS_CLUSTER_POISONED ((NTSTATUS)0xC0130017L)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/include/ddk/parallel.h
===================================================================
--- Daodan/MinGW/include/ddk/parallel.h	(revision 1046)
+++ 	(revision )
@@ -1,277 +1,0 @@
-/*
- * parallel.h
- *
- * ParPort driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __PARALLEL_H
-#define __PARALLEL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddpar.h"
-
-#define DD_PARALLEL_PORT_BASE_NAME        "ParallelPort"
-#define DD_PARALLEL_PORT_BASE_NAME_U      L"ParallelPort"
-
-#define IOCTL_INTERNAL_DESELECT_DEVICE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_INIT_1284_3_BUS \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_FREE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 40, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_SELECT_DEVICE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _PARALLEL_1284_COMMAND {
-  UCHAR  ID;
-  UCHAR  Port;
-  ULONG  CommandFlags;
-} PARALLEL_1284_COMMAND, *PPARALLEL_1284_COMMAND;
-
-/* PARALLEL_1284_COMMAND.CommandFlags */
-#define PAR_END_OF_CHAIN_DEVICE           0x00000001
-#define PAR_HAVE_PORT_KEEP_PORT           0x00000002
-
-typedef struct _MORE_PARALLEL_PORT_INFORMATION {
-  INTERFACE_TYPE  InterfaceType;
-  ULONG  BusNumber;
-  ULONG  InterruptLevel;
-  ULONG  InterruptVector;
-  KAFFINITY  InterruptAffinity;
-  KINTERRUPT_MODE  InterruptMode;
-} MORE_PARALLEL_PORT_INFORMATION, *PMORE_PARALLEL_PORT_INFORMATION;
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_SET_CHIP_MODE)(
-  /*IN*/  PVOID  SetChipContext,
-  /*IN*/  UCHAR  ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_CLEAR_CHIP_MODE)(
-  /*IN*/  PVOID  ClearChipContext,
-  /*IN*/  UCHAR  ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARCHIP_CLEAR_CHIP_MODE)(
-  /*IN*/  PVOID  ClearChipContext,
-  /*IN*/  UCHAR  ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRY_SELECT_ROUTINE)(
-  /*IN*/  PVOID  TrySelectContext,
-  /*IN*/  PVOID  TrySelectCommand);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_ROUTINE)(
-  /*IN*/ PVOID  DeselectContext,
-  /*IN*/ PVOID  DeselectCommand);
-
-/* PARALLEL_PNP_INFORMATION.HardwareCapabilities */
-#define PPT_NO_HARDWARE_PRESENT           0x00000000
-#define PPT_ECP_PRESENT                   0x00000001
-#define PPT_EPP_PRESENT                   0x00000002
-#define PPT_EPP_32_PRESENT                0x00000004
-#define PPT_BYTE_PRESENT                  0x00000008
-#define PPT_BIDI_PRESENT                  0x00000008
-#define PPT_1284_3_PRESENT                0x00000010
-
-typedef struct _PARALLEL_PNP_INFORMATION {
-  PHYSICAL_ADDRESS  OriginalEcpController;
-  PUCHAR  EcpController;
-  ULONG  SpanOfEcpController;
-  ULONG  PortNumber;
-  ULONG  HardwareCapabilities;
-  PPARALLEL_SET_CHIP_MODE  TrySetChipMode;
-  PPARALLEL_CLEAR_CHIP_MODE  ClearChipMode;
-  ULONG  FifoDepth;
-  ULONG  FifoWidth;
-  PHYSICAL_ADDRESS  EppControllerPhysicalAddress;
-  ULONG  SpanOfEppController;
-  ULONG  Ieee1284_3DeviceCount;
-  PPARALLEL_TRY_SELECT_ROUTINE  TrySelectDevice;
-  PPARALLEL_DESELECT_ROUTINE  DeselectDevice;
-  PVOID  Context;
-  ULONG  CurrentMode;
-  PWSTR  PortName;
-} PARALLEL_PNP_INFORMATION, *PPARALLEL_PNP_INFORMATION;
-
-typedef BOOLEAN DDKAPI
-(*PPARALLEL_TRY_ALLOCATE_ROUTINE)(
-  /*IN*/ PVOID  TryAllocateContext);
-
-typedef VOID DDKAPI
-(*PPARALLEL_FREE_ROUTINE)(
-  /*IN*/ PVOID  FreeContext);
-
-typedef ULONG DDKAPI
-(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
-  /*IN*/  PVOID  QueryAllocsContext);
-
-typedef struct _PARALLEL_PORT_INFORMATION {
-  PHYSICAL_ADDRESS  OriginalController;
-  PUCHAR  Controller;
-  ULONG  SpanOfController;
-  PPARALLEL_TRY_ALLOCATE_ROUTINE  TryAllocatePort;
-  PPARALLEL_FREE_ROUTINE  FreePort;
-  PPARALLEL_QUERY_WAITERS_ROUTINE  QueryNumWaiters;
-  PVOID  Context;
-} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;
-
-/* PARALLEL_CHIP_MODE.ModeFlags */
-#define INITIAL_MODE                      0x00
-#define PARCHIP_ECR_ARBITRATOR            0x01
-
-typedef struct _PARALLEL_CHIP_MODE {
-  UCHAR  ModeFlags;
-  BOOLEAN  success;
-} PARALLEL_CHIP_MODE, *PPARALLEL_CHIP_MODE;
-
-typedef VOID DDKAPI
-(*PPARALLEL_DEFERRED_ROUTINE)(
-  /*IN*/  PVOID  DeferredContext);
-
-typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE {
-  PKSERVICE_ROUTINE  InterruptServiceRoutine;
-  PVOID  InterruptServiceContext;
-  PPARALLEL_DEFERRED_ROUTINE  DeferredPortCheckRoutine;
-  PVOID  DeferredPortCheckContext;
-} PARALLEL_INTERRUPT_SERVICE_ROUTINE, *PPARALLEL_INTERRUPT_SERVICE_ROUTINE;
-
-
-#define IOCTL_INTERNAL_DISCONNECT_IDLE \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT_NO_SELECT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 52, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_CONNECT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_DISCONNECT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT \
-  CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef USHORT DDKAPI
-(*PDETERMINE_IEEE_MODES)(
-  /*IN*/ PVOID  Context);
-
-typedef enum _PARALLEL_SAFETY {
-	SAFE_MODE,
-	UNSAFE_MODE
-} PARALLEL_SAFETY;
-
-typedef NTSTATUS DDKAPI
-(*PNEGOTIATE_IEEE_MODE)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ USHORT  ModeMaskFwd,
-  /*IN*/ USHORT  ModeMaskRev,
-  /*IN*/ PARALLEL_SAFETY  ModeSafety,
-  /*IN*/ BOOLEAN  IsForward);
-
-typedef NTSTATUS DDKAPI
-(*PTERMINATE_IEEE_MODE)(
-  /*IN*/  PVOID  Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_FWD_TO_REV)(
-  /*IN*/ PVOID  Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_REV_TO_FWD)(
-  /*IN*/ PVOID  Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_READ)(
-  /*IN*/  PVOID  Context,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/  ULONG  NumBytesToRead,
-  /*OUT*/ PULONG  NumBytesRead,
-  /*IN*/  UCHAR  Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_WRITE)(
-  /*IN*/  PVOID  Context,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/  ULONG  NumBytesToWrite,
-  /*OUT*/ PULONG  NumBytesWritten,
-  /*IN*/  UCHAR   Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRYSELECT_DEVICE)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PARALLEL_1284_COMMAND  Command);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_DEVICE)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PARALLEL_1284_COMMAND  Command);
-
-typedef struct _PARCLASS_INFORMATION {
-  PUCHAR  Controller;
-  PUCHAR  EcrController;
-  ULONG  SpanOfController;
-  PDETERMINE_IEEE_MODES  DetermineIeeeModes;
-  PNEGOTIATE_IEEE_MODE  NegotiateIeeeMode;
-  PTERMINATE_IEEE_MODE  TerminateIeeeMode;
-  PPARALLEL_IEEE_FWD_TO_REV  IeeeFwdToRevMode;
-  PPARALLEL_IEEE_REV_TO_FWD  IeeeRevToFwdMode;
-  PPARALLEL_READ  ParallelRead;
-  PPARALLEL_WRITE  ParallelWrite;
-  PVOID  ParclassContext;
-  ULONG  HardwareCapabilities;
-  ULONG  FifoDepth;
-  ULONG  FifoWidth;
-  PPARALLEL_TRYSELECT_DEVICE  ParallelTryselect;
-  PPARALLEL_DESELECT_DEVICE  ParallelDeSelect;
-} PARCLASS_INFORMATION, *PPARCLASS_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PARALLEL_H */
Index: Daodan/MinGW/include/ddk/pfhook.h
===================================================================
--- Daodan/MinGW/include/ddk/pfhook.h	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-/*
- * pfhook.h
- *
- * Packet filter API
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __PFHOOK_H
-#define __PFHOOK_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_IPFLTRDRVR_DEVICE_NAME         L"\\Device\\IPFILTERDRIVER"
-
-#define INVALID_PF_IF_INDEX               0xffffffff
-#define ZERO_PF_IP_ADDR                   0
-
-typedef ULONG IPAddr;
-
-typedef enum _PF_FORWARD_ACTION {
-	PF_FORWARD = 0,
-	PF_DROP = 1,
-	PF_PASS = 2,
-	PF_ICMP_ON_DROP = 3
-} PF_FORWARD_ACTION;
-
-typedef PF_FORWARD_ACTION STDCALL
-(*PacketFilterExtensionPtr)(
-  /*IN*/ unsigned char  *PacketHeader,
-  /*IN*/ unsigned char  *Packet,
-  /*IN*/ unsigned int  PacketLength,
-  /*IN*/ unsigned int  RecvInterfaceIndex,
-  /*IN*/ unsigned int  SendInterfaceIndex,
-  /*IN*/ IPAddr  RecvLinkNextHop,
-  /*IN*/ IPAddr  SendLinkNextHop);
-
-typedef struct _PF_SET_EXTENSION_HOOK_INFO {
-  PacketFilterExtensionPtr  ExtensionPointer;
-} PF_SET_EXTENSION_HOOK_INFO, *PPF_SET_EXTENSION_HOOK_INFO;
-
-#define FSCTL_IPFLTRDRVR_BASE             FILE_DEVICE_NETWORK
-
-#define _IPFLTRDRVR_CTL_CODE(function, method, access) \
-  CTL_CODE(FSCTL_IPFLTRDRVR_BASE, function, method, access)
-
-#define IOCTL_PF_SET_EXTENSION_POINTER \
-  _IPFLTRDRVR_CTL_CODE(22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PFHOOK_H */
Index: Daodan/MinGW/include/ddk/poclass.h
===================================================================
--- Daodan/MinGW/include/ddk/poclass.h	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-/*
- * poclass.h
- *
- * Power policy driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __POCLASS_H
-#define __POCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-DEFINE_GUID(GUID_CLASS_INPUT,
-  0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-
-DEFINE_GUID(GUID_DEVICE_LID,
-  0x4AFA3D52L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_MEMORY,
-  0x3fd0f03dL, 0x92e0, 0x45fb, 0xb7, 0x5c, 0x5e, 0xd8, 0xff, 0xb0, 0x10, 0x21);
-
-DEFINE_GUID(GUID_DEVICE_MESSAGE_INDICATOR,
-  0XCD48A365L, 0xfa94, 0x4ce2, 0xa2, 0x32, 0xa1, 0xb7, 0x64, 0xe5, 0xd8, 0xb4);
-
-DEFINE_GUID(GUID_DEVICE_PROCESSOR,
-  0x97fadb10L, 0x4e33, 0x40ae, 0x35, 0x9c, 0x8b, 0xef, 0x02, 0x9d, 0xbd, 0xd0);
-
-DEFINE_GUID(GUID_DEVICE_SYS_BUTTON,
-  0x4AFA3D53L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_THERMAL_ZONE,
-  0x4AFA3D51L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-
-#define IOCTL_GET_PROCESSOR_OBJ_INFO \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x60, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_CAPS \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x50, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_EVENT \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x51, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_SET_SYS_MESSAGE_INDICATOR \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x70, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_NOTIFY_SWITCH_EVENT \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x40, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_QUERY_INFORMATION \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x20, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_SET_COOLING_POLICY \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x21, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_QUERY_LID \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x30, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_RUN_ACTIVE_COOLING_METHOD \
-  CTL_CODE(FILE_DEVICE_BATTERY, 0x22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define SYS_BUTTON_POWER                  0x00000001
-#define SYS_BUTTON_SLEEP                  0x00000002
-#define SYS_BUTTON_LID                    0x00000004
-#define SYS_BUTTON_WAKE                   0x80000000
-
-#define MAX_ACTIVE_COOLING_LEVELS         10
-#define ACTIVE_COOLING                    0
-#define PASSIVE_COOLING                   1
-
-typedef struct _THERMAL_INFORMATION {
-  ULONG  ThermalStamp;
-  ULONG  ThermalConstant1;
-  ULONG  ThermalConstant2;
-  KAFFINITY  Processors;
-  ULONG  SamplingPeriod;
-  ULONG  CurrentTemperature;
-  ULONG  PassiveTripPoint;
-  ULONG  CriticalTripPoint;
-  UCHAR  ActiveTripPointCount;
-  ULONG  ActiveTripPoint[MAX_ACTIVE_COOLING_LEVELS];
-} THERMAL_INFORMATION, *PTHERMAL_INFORMATION;
-
-typedef struct _PROCESSOR_OBJECT_INFO {
-	ULONG  PhysicalID;
-	ULONG  PBlkAddress;
-	UCHAR  PBlkLength;
-} PROCESSOR_OBJECT_INFO, *PPROCESSOR_OBJECT_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __POCLASS_H */
Index: Daodan/MinGW/include/ddk/scsi.h
===================================================================
--- Daodan/MinGW/include/ddk/scsi.h	(revision 1046)
+++ 	(revision )
@@ -1,1701 +1,0 @@
-/*
- * scsi.h
- *
- * SCSI port and class interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSI_H
-#define __SCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef union _CDB {
-  struct _CDB6GENERIC {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  CommandUniqueBits : 4;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  CommandUniqueBytes[3];
-    UCHAR  Link : 1;
-    UCHAR  Flag : 1;
-    UCHAR  Reserved : 4;
-    UCHAR  VendorUnique : 2;
-  } CDB6GENERIC, *PCDB6GENERIC;
-
-  struct _CDB6READWRITE {
-    UCHAR  OperationCode;
-    UCHAR  LogicalBlockMsb1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  LogicalBlockMsb0;
-    UCHAR  LogicalBlockLsb;
-    UCHAR  TransferBlocks;
-    UCHAR  Control;
-  } CDB6READWRITE, *PCDB6READWRITE;
-
-  struct _CDB6INQUIRY {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  PageCode;
-    UCHAR  IReserved;
-    UCHAR  AllocationLength;
-    UCHAR  Control;
-  } CDB6INQUIRY, *PCDB6INQUIRY;
-
-  struct _CDB6INQUIRY3 {
-    UCHAR  OperationCode;
-    UCHAR  EnableVitalProductData : 1;
-    UCHAR  CommandSupportData : 1;
-    UCHAR  Reserved1 : 6;
-    UCHAR  PageCode;
-    UCHAR  Reserved2;
-    UCHAR  AllocationLength;
-    UCHAR  Control;
-  } CDB6INQUIRY3, *PCDB6INQUIRY3;
-
-  struct _CDB6VERIFY {
-    UCHAR  OperationCode;
-    UCHAR  Fixed : 1;
-    UCHAR  ByteCompare : 1;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved : 2;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  VerificationLength[3];
-    UCHAR  Control;
-  } CDB6VERIFY, *PCDB6VERIFY;
-
-  struct _CDB6FORMAT {
-    UCHAR  OperationCode;
-    UCHAR  FormatControl : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  FReserved1;
-    UCHAR  InterleaveMsb;
-    UCHAR  InterleaveLsb;
-    UCHAR  FReserved2;
-  } CDB6FORMAT, *PCDB6FORMAT;
-
-  struct _CDB10 {
-    UCHAR  OperationCode;
-    UCHAR  RelativeAddress : 1;
-    UCHAR  Reserved1 : 2;
-    UCHAR  ForceUnitAccess : 1;
-    UCHAR  DisablePageOut : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  LogicalBlockByte0;
-    UCHAR  LogicalBlockByte1;
-    UCHAR  LogicalBlockByte2;
-    UCHAR  LogicalBlockByte3;
-    UCHAR  Reserved2;
-    UCHAR  TransferBlocksMsb;
-    UCHAR  TransferBlocksLsb;
-    UCHAR  Control;
-  } CDB10, *PCDB10;
-
-  struct _CDB12 {
-    UCHAR  OperationCode;
-    UCHAR  RelativeAddress : 1;
-    UCHAR  Reserved1 : 2;
-    UCHAR  ForceUnitAccess : 1;
-    UCHAR  DisablePageOut : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  LogicalBlock[4];
-    UCHAR  TransferLength[4];
-    UCHAR  Reserved2;
-    UCHAR  Control;
-  } CDB12, *PCDB12;
-
-  struct _PAUSE_RESUME {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[6];
-    UCHAR  Action;
-    UCHAR  Control;
-  } PAUSE_RESUME, *PPAUSE_RESUME;
-
-  struct _READ_TOC {
-    UCHAR  OperationCode;
-    UCHAR  Reserved0 : 1;
-    UCHAR  Msf : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Format2 : 4;
-    UCHAR  Reserved2 : 4;
-    UCHAR  Reserved3[3];
-    UCHAR  StartingTrack;
-    UCHAR  AllocationLength[2];
-    UCHAR  Control : 6;
-    UCHAR  Format : 2;
-  } READ_TOC, *PREAD_TOC;
-
-  struct _READ_DISK_INFORMATION {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[5];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } READ_DISK_INFORMATION, *PREAD_DISK_INFORMATION;
-
-  struct _READ_TRACK_INFORMATION {
-    UCHAR  OperationCode;
-    UCHAR  Track : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Reserved2 : 1;
-    UCHAR  Lun : 3;
-    UCHAR  BlockAddress[4];
-    UCHAR  Reserved3;
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } READ_TRACK_INFORMATION, *PREAD_TRACK_INFORMATION;
-
-  struct _RESERVE_TRACK_RZONE {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1[4];
-    UCHAR  ReservationSize[4];
-    UCHAR  Control;
-  } RESERVE_TRACK_RZONE, *PRESERVE_TRACK_RZONE;
-
-  struct _SEND_OPC_INFORMATION {
-    UCHAR  OperationCode;
-    UCHAR  DoOpc    : 1;
-    UCHAR  Reserved : 7;
-    UCHAR  Reserved1[5];
-    UCHAR  ParameterListLength[2];
-    UCHAR  Reserved2;
-  } SEND_OPC_INFORMATION, *PSEND_OPC_INFORMATION;
-
-  struct _CLOSE_TRACK {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved1 : 7;
-    UCHAR  Track     : 1;
-    UCHAR  Session   : 1;
-    UCHAR  Reserved2 : 6;
-    UCHAR  Reserved3;
-    UCHAR  TrackNumber[2];
-    UCHAR  Reserved4[3];
-    UCHAR  Control;
-  } CLOSE_TRACK, *PCLOSE_TRACK;
-
-  struct _SEND_CUE_SHEET {
-    UCHAR  OperationCode;
-    UCHAR  Reserved[5];
-    UCHAR  CueSheetSize[3];
-    UCHAR  Control;
-  } SEND_CUE_SHEET, *PSEND_CUE_SHEET;
-
-  struct _READ_HEADER {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 1;
-    UCHAR  Msf : 1;
-    UCHAR  Reserved2 : 3;
-    UCHAR  Lun : 3;
-    UCHAR  LogicalBlockAddress[4];
-    UCHAR  Reserved3;
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } READ_HEADER, *PREAD_HEADER;
-
-  struct _PLAY_AUDIO {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  StartingBlockAddress[4];
-    UCHAR  Reserved2;
-    UCHAR  PlayLength[2];
-    UCHAR  Control;
-  } PLAY_AUDIO, *PPLAY_AUDIO;
-
-  struct _PLAY_AUDIO_MSF {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2;
-    UCHAR  StartingM;
-    UCHAR  StartingS;
-    UCHAR  StartingF;
-    UCHAR  EndingM;
-    UCHAR  EndingS;
-    UCHAR  EndingF;
-    UCHAR  Control;
-  } PLAY_AUDIO_MSF, *PPLAY_AUDIO_MSF;
-
-/* FIXME: Should the union be anonymous in C++ too?  If so,
-   can't define named types _LBA and _MSF within anonymous union
-   for C++. */
-  struct _PLAY_CD {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 1;
-    UCHAR  CMSF : 1;
-    UCHAR  ExpectedSectorType : 3;
-    UCHAR  Lun : 3;
-#ifndef __cplusplus
-  _ANONYMOUS_UNION
-#endif
-  union {
-      struct _LBA {
-            UCHAR  StartingBlockAddress[4];
-            UCHAR  PlayLength[4];
-      } LBA;
-
-      struct _MSF {
-            UCHAR  Reserved1;
-            UCHAR  StartingM;
-            UCHAR  StartingS;
-            UCHAR  StartingF;
-            UCHAR  EndingM;
-            UCHAR  EndingS;
-            UCHAR  EndingF;
-            UCHAR  Reserved2;
-      } MSF;
-  #ifndef __cplusplus
-  }DUMMYUNIONNAME;
-  #else
-  }u;
-  #endif
-
-    UCHAR  Audio : 1;
-    UCHAR  Composite : 1;
-    UCHAR  Port1 : 1;
-    UCHAR  Port2 : 1;
-    UCHAR  Reserved2 : 3;
-    UCHAR  Speed : 1;
-    UCHAR  Control;
-  } PLAY_CD, *PPLAY_CD;
-
-  struct _SCAN_CD {
-    UCHAR  OperationCode;
-    UCHAR  RelativeAddress : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Direct : 1;
-    UCHAR  Lun : 3;
-    UCHAR  StartingAddress[4];
-    UCHAR  Reserved2[3];
-    UCHAR  Reserved3 : 6;
-    UCHAR  Type : 2;
-    UCHAR  Reserved4;
-    UCHAR  Control;
-  } SCAN_CD, *PSCAN_CD;
-
-  struct _STOP_PLAY_SCAN {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[7];
-    UCHAR  Control;
-  } STOP_PLAY_SCAN, *PSTOP_PLAY_SCAN;
-
-  struct _SUBCHANNEL {
-    UCHAR  OperationCode;
-    UCHAR  Reserved0 : 1;
-    UCHAR  Msf : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2 : 6;
-    UCHAR  SubQ : 1;
-    UCHAR  Reserved3 : 1;
-    UCHAR  Format;
-    UCHAR  Reserved4[2];
-    UCHAR  TrackNumber;
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } SUBCHANNEL, *PSUBCHANNEL;
-
-  struct _READ_CD {
-    UCHAR  OperationCode;
-    UCHAR  RelativeAddress : 1;
-    UCHAR  Reserved0 : 1;
-    UCHAR  ExpectedSectorType : 3;
-    UCHAR  Lun : 3;
-    UCHAR  StartingLBA[4];
-    UCHAR  TransferBlocks[3];
-    UCHAR  Reserved2 : 1;
-    UCHAR  ErrorFlags : 2;
-    UCHAR  IncludeEDC : 1;
-    UCHAR  IncludeUserData : 1;
-    UCHAR  HeaderCode : 2;
-    UCHAR  IncludeSyncData : 1;
-    UCHAR  SubChannelSelection : 3;
-    UCHAR  Reserved3 : 5;
-    UCHAR  Control;
-  } READ_CD, *PREAD_CD;
-
-  struct _READ_CD_MSF {
-    UCHAR  OperationCode;
-    UCHAR  RelativeAddress : 1;
-    UCHAR  Reserved1 : 1;
-    UCHAR  ExpectedSectorType : 3;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2;
-    UCHAR  StartingM;
-    UCHAR  StartingS;
-    UCHAR  StartingF;
-    UCHAR  EndingM;
-    UCHAR  EndingS;
-    UCHAR  EndingF;
-    UCHAR  Reserved3;
-    UCHAR  Reserved4 : 1;
-    UCHAR  ErrorFlags : 2;
-    UCHAR  IncludeEDC : 1;
-    UCHAR  IncludeUserData : 1;
-    UCHAR  HeaderCode : 2;
-    UCHAR  IncludeSyncData : 1;
-    UCHAR  SubChannelSelection : 3;
-    UCHAR  Reserved5 : 5;
-    UCHAR  Control;
-  } READ_CD_MSF, *PREAD_CD_MSF;
-
-  struct _PLXTR_READ_CDDA {
-    UCHAR  OperationCode;
-    UCHAR  Reserved0 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  LogicalBlockByte0;
-    UCHAR  LogicalBlockByte1;
-    UCHAR  LogicalBlockByte2;
-    UCHAR  LogicalBlockByte3;
-    UCHAR  TransferBlockByte0;
-    UCHAR  TransferBlockByte1;
-    UCHAR  TransferBlockByte2;
-    UCHAR  TransferBlockByte3;
-    UCHAR  SubCode;
-    UCHAR  Control;
-  } PLXTR_READ_CDDA, *PPLXTR_READ_CDDA;
-
-  struct _NEC_READ_CDDA {
-    UCHAR  OperationCode;
-    UCHAR  Reserved0;
-    UCHAR  LogicalBlockByte0;
-    UCHAR  LogicalBlockByte1;
-    UCHAR  LogicalBlockByte2;
-    UCHAR  LogicalBlockByte3;
-    UCHAR  Reserved1;
-    UCHAR  TransferBlockByte0;
-    UCHAR  TransferBlockByte1;
-    UCHAR  Control;
-  } NEC_READ_CDDA, *PNEC_READ_CDDA;
-
-  struct _MODE_SENSE {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Dbd : 1;
-    UCHAR  Reserved2 : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  PageCode : 6;
-    UCHAR  Pc : 2;
-    UCHAR  Reserved3;
-    UCHAR  AllocationLength;
-    UCHAR  Control;
-  } MODE_SENSE, *PMODE_SENSE;
-
-  struct _MODE_SENSE10 {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Dbd : 1;
-    UCHAR  Reserved2 : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  PageCode : 6;
-    UCHAR  Pc : 2;
-    UCHAR  Reserved3[4];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } MODE_SENSE10, *PMODE_SENSE10;
-
-  struct _MODE_SELECT {
-    UCHAR  OperationCode;
-    UCHAR  SPBit : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  PFBit : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[2];
-    UCHAR  ParameterListLength;
-    UCHAR  Control;
-  } MODE_SELECT, *PMODE_SELECT;
-
-  struct _MODE_SELECT10 {
-    UCHAR  OperationCode;
-    UCHAR  SPBit : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  PFBit : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[5];
-    UCHAR  ParameterListLength[2];
-    UCHAR  Control;
-  } MODE_SELECT10, *PMODE_SELECT10;
-
-  struct _LOCATE {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  CPBit : 1;
-    UCHAR  BTBit : 1;
-    UCHAR  Reserved1 : 2;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved3;
-    UCHAR  LogicalBlockAddress[4];
-    UCHAR  Reserved4;
-    UCHAR  Partition;
-    UCHAR  Control;
-  } LOCATE, *PLOCATE;
-
-  struct _LOGSENSE {
-    UCHAR  OperationCode;
-    UCHAR  SPBit : 1;
-    UCHAR  PPCBit : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  PageCode : 6;
-    UCHAR  PCBit : 2;
-    UCHAR  Reserved2;
-    UCHAR  Reserved3;
-    UCHAR  ParameterPointer[2];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } LOGSENSE, *PLOGSENSE;
-
-  struct _LOGSELECT {
-    UCHAR  OperationCode;
-    UCHAR  SPBit : 1;
-    UCHAR  PCRBit : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved : 6;
-    UCHAR  PCBit : 2;
-    UCHAR  Reserved2[4];
-    UCHAR  ParameterListLength[2];
-    UCHAR  Control;
-  } LOGSELECT, *PLOGSELECT;
-
-  struct _PRINT {
-    UCHAR  OperationCode;
-    UCHAR  Reserved : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  TransferLength[3];
-    UCHAR  Control;
-  } PRINT, *PPRINT;
-
-  struct _SEEK {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  LogicalBlockAddress[4];
-    UCHAR  Reserved2[3];
-    UCHAR  Control;
-  } SEEK, *PSEEK;
-
-  struct _ERASE {
-    UCHAR  OperationCode;
-    UCHAR  Long : 1;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved1 : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[3];
-    UCHAR  Control;
-  } ERASE, *PERASE;
-
-  struct _START_STOP {
-    UCHAR  OperationCode;
-    UCHAR  Immediate: 1;
-    UCHAR  Reserved1 : 4;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[2];
-    UCHAR  Start : 1;
-    UCHAR  LoadEject : 1;
-    UCHAR  Reserved3 : 6;
-    UCHAR  Control;
-  } START_STOP, *PSTART_STOP;
-
-  struct _MEDIA_REMOVAL {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  Reserved2[2];
-
-    UCHAR  Prevent : 1;
-    UCHAR  Persistant : 1;
-    UCHAR  Reserved3 : 6;
-
-    UCHAR  Control;
-  } MEDIA_REMOVAL, *PMEDIA_REMOVAL;
-
-  struct _SEEK_BLOCK {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved1 : 7;
-    UCHAR  BlockAddress[3];
-    UCHAR  Link : 1;
-    UCHAR  Flag : 1;
-    UCHAR  Reserved2 : 4;
-    UCHAR  VendorUnique : 2;
-  } SEEK_BLOCK, *PSEEK_BLOCK;
-
-  struct _REQUEST_BLOCK_ADDRESS {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1[3];
-    UCHAR  AllocationLength;
-    UCHAR  Link : 1;
-    UCHAR  Flag : 1;
-    UCHAR  Reserved2 : 4;
-    UCHAR  VendorUnique : 2;
-  } REQUEST_BLOCK_ADDRESS, *PREQUEST_BLOCK_ADDRESS;
-
-  struct _PARTITION {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  Sel: 1;
-    UCHAR  PartitionSelect : 6;
-    UCHAR  Reserved1[3];
-    UCHAR  Control;
-  } PARTITION, *PPARTITION;
-
-  struct _WRITE_TAPE_MARKS {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  WriteSetMarks: 1;
-    UCHAR  Reserved : 3;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  TransferLength[3];
-    UCHAR  Control;
-  } WRITE_TAPE_MARKS, *PWRITE_TAPE_MARKS;
-
-  struct _SPACE_TAPE_MARKS {
-    UCHAR  OperationCode;
-    UCHAR  Code : 3;
-    UCHAR  Reserved : 2;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  NumMarksMSB ;
-    UCHAR  NumMarks;
-    UCHAR  NumMarksLSB;
-  union {
-        UCHAR  value;
-      struct {
-            UCHAR  Link : 1;
-            UCHAR  Flag : 1;
-            UCHAR  Reserved : 4;
-            UCHAR  VendorUnique : 2;
-      } Fields;
-  } Byte6;
-  } SPACE_TAPE_MARKS, *PSPACE_TAPE_MARKS;
-
-  struct _READ_POSITION {
-    UCHAR  Operation;
-    UCHAR  BlockType : 1;
-    UCHAR  Reserved1 : 4;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[7];
-    UCHAR  Control;
-  } READ_POSITION, *PREAD_POSITION;
-
-  struct _CDB6READWRITETAPE {
-    UCHAR  OperationCode;
-    UCHAR  VendorSpecific : 5;
-    UCHAR  Reserved : 3;
-    UCHAR  TransferLenMSB;
-    UCHAR  TransferLen;
-    UCHAR  TransferLenLSB;
-    UCHAR  Link : 1;
-    UCHAR  Flag : 1;
-    UCHAR  Reserved1 : 4;
-    UCHAR  VendorUnique : 2;
-  } CDB6READWRITETAPE, *PCDB6READWRITETAPE;
-
-  struct _INIT_ELEMENT_STATUS {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNubmer : 3;
-    UCHAR  Reserved2[3];
-    UCHAR  Reserved3 : 7;
-    UCHAR  NoBarCode : 1;
-  } INIT_ELEMENT_STATUS, *PINIT_ELEMENT_STATUS;
-
-  struct _INITIALIZE_ELEMENT_RANGE {
-    UCHAR  OperationCode;
-    UCHAR  Range : 1;
-    UCHAR  Reserved1 : 4;
-    UCHAR  LogicalUnitNubmer : 3;
-    UCHAR  FirstElementAddress[2];
-    UCHAR  Reserved2[2];
-    UCHAR  NumberOfElements[2];
-    UCHAR  Reserved3;
-    UCHAR  Reserved4 : 7;
-    UCHAR  NoBarCode : 1;
-  } INITIALIZE_ELEMENT_RANGE, *PINITIALIZE_ELEMENT_RANGE;
-
-  struct _POSITION_TO_ELEMENT {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  TransportElementAddress[2];
-    UCHAR  DestinationElementAddress[2];
-    UCHAR  Reserved2[2];
-    UCHAR  Flip : 1;
-    UCHAR  Reserved3 : 7;
-    UCHAR  Control;
-  } POSITION_TO_ELEMENT, *PPOSITION_TO_ELEMENT;
-
-  struct _MOVE_MEDIUM {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  TransportElementAddress[2];
-    UCHAR  SourceElementAddress[2];
-    UCHAR  DestinationElementAddress[2];
-    UCHAR  Reserved2[2];
-    UCHAR  Flip : 1;
-    UCHAR  Reserved3 : 7;
-    UCHAR  Control;
-  } MOVE_MEDIUM, *PMOVE_MEDIUM;
-
-  struct _EXCHANGE_MEDIUM {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  TransportElementAddress[2];
-    UCHAR  SourceElementAddress[2];
-    UCHAR  Destination1ElementAddress[2];
-    UCHAR  Destination2ElementAddress[2];
-    UCHAR  Flip1 : 1;
-    UCHAR  Flip2 : 1;
-    UCHAR  Reserved3 : 6;
-    UCHAR  Control;
-  } EXCHANGE_MEDIUM, *PEXCHANGE_MEDIUM;
-
-  struct _READ_ELEMENT_STATUS {
-    UCHAR  OperationCode;
-    UCHAR  ElementType : 4;
-    UCHAR  VolTag : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  StartingElementAddress[2];
-    UCHAR  NumberOfElements[2];
-    UCHAR  Reserved1;
-    UCHAR  AllocationLength[3];
-    UCHAR  Reserved2;
-    UCHAR  Control;
-  } READ_ELEMENT_STATUS, *PREAD_ELEMENT_STATUS;
-
-  struct _SEND_VOLUME_TAG {
-    UCHAR  OperationCode;
-    UCHAR  ElementType : 4;
-    UCHAR  Reserved1 : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  StartingElementAddress[2];
-    UCHAR  Reserved2;
-    UCHAR  ActionCode : 5;
-    UCHAR  Reserved3 : 3;
-    UCHAR  Reserved4[2];
-    UCHAR  ParameterListLength[2];
-    UCHAR  Reserved5;
-    UCHAR  Control;
-  } SEND_VOLUME_TAG, *PSEND_VOLUME_TAG;
-
-  struct _REQUEST_VOLUME_ELEMENT_ADDRESS {
-    UCHAR  OperationCode;
-    UCHAR  ElementType : 4;
-    UCHAR  VolTag : 1;
-    UCHAR  LogicalUnitNumber : 3;
-    UCHAR  StartingElementAddress[2];
-    UCHAR  NumberElements[2];
-    UCHAR  Reserved1;
-    UCHAR  AllocationLength[3];
-    UCHAR  Reserved2;
-    UCHAR  Control;
-  } REQUEST_VOLUME_ELEMENT_ADDRESS, *PREQUEST_VOLUME_ELEMENT_ADDRESS;
-
-  struct _LOAD_UNLOAD {
-    UCHAR  OperationCode;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved1 : 4;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[2];
-    UCHAR  Start : 1;
-    UCHAR  LoadEject : 1;
-    UCHAR  Reserved3: 6;
-    UCHAR  Reserved4[3];
-    UCHAR  Slot;
-    UCHAR  Reserved5[3];
-  } LOAD_UNLOAD, *PLOAD_UNLOAD;
-
-  struct _MECH_STATUS {
-    UCHAR  OperationCode;
-    UCHAR  Reserved : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved1[6];
-    UCHAR  AllocationLength[2];
-    UCHAR  Reserved2[1];
-    UCHAR  Control;
-  } MECH_STATUS, *PMECH_STATUS;
-
-  struct _SYNCHRONIZE_CACHE10 {
-
-    UCHAR  OperationCode;
-
-    UCHAR  RelAddr : 1;
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved : 3;
-    UCHAR  Lun : 3;
-
-    UCHAR  LogicalBlockAddress[4];
-    UCHAR  Reserved2;
-    UCHAR  BlockCount[2];
-    UCHAR  Control;
-  } SYNCHRONIZE_CACHE10, *PSYNCHRONIZE_CACHE10;
-
-  struct _GET_EVENT_STATUS_NOTIFICATION {
-    UCHAR  OperationCode;
-
-    UCHAR  Immediate : 1;
-    UCHAR  Reserved : 4;
-    UCHAR  Lun : 3;
-
-    UCHAR  Reserved2[2];
-    UCHAR  NotificationClassRequest;
-    UCHAR  Reserved3[2];
-    UCHAR  EventListLength[2];
-
-    UCHAR  Control;
-  } GET_EVENT_STATUS_NOTIFICATION, *PGET_EVENT_STATUS_NOTIFICATION;
-
-  struct _READ_DVD_STRUCTURE {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  RMDBlockNumber[4];
-    UCHAR  LayerNumber;
-    UCHAR  Format;
-    UCHAR  AllocationLength[2];
-    UCHAR  Reserved3 : 6;
-    UCHAR  AGID : 2;
-    UCHAR  Control;
-  } READ_DVD_STRUCTURE, *PREAD_DVD_STRUCTURE;
-
-  struct _SEND_DVD_STRUCTURE {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[5];
-    UCHAR  Format;
-    UCHAR  ParameterListLength[2];
-    UCHAR  Reserved3;
-    UCHAR  Control;
-  } SEND_DVD_STRUCTURE, *PSEND_DVD_STRUCTURE;
-
-  struct _SEND_KEY {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[6];
-    UCHAR  ParameterListLength[2];
-    UCHAR  KeyFormat : 6;
-    UCHAR  AGID : 2;
-    UCHAR  Control;
-  } SEND_KEY, *PSEND_KEY;
-
-  struct _REPORT_KEY {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  LogicalBlockAddress[4];
-    UCHAR  Reserved2[2];
-    UCHAR  AllocationLength[2];
-    UCHAR  KeyFormat : 6;
-    UCHAR  AGID : 2;
-    UCHAR  Control;
-  } REPORT_KEY, *PREPORT_KEY;
-
-  struct _SET_READ_AHEAD {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  TriggerLBA[4];
-    UCHAR  ReadAheadLBA[4];
-    UCHAR  Reserved2;
-    UCHAR  Control;
-  } SET_READ_AHEAD, *PSET_READ_AHEAD;
-
-  struct _READ_FORMATTED_CAPACITIES {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1 : 5;
-    UCHAR  Lun : 3;
-    UCHAR  Reserved2[5];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } READ_FORMATTED_CAPACITIES, *PREAD_FORMATTED_CAPACITIES;
-
-  struct _REPORT_LUNS {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1[5];
-    UCHAR  AllocationLength[4];
-    UCHAR  Reserved2[1];
-    UCHAR  Control;
-  } REPORT_LUNS, *PREPORT_LUNS;
-
-  struct _PERSISTENT_RESERVE_IN {
-    UCHAR  OperationCode;
-    UCHAR  ServiceAction : 5;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Reserved2[5];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } PERSISTENT_RESERVE_IN, *PPERSISTENT_RESERVE_IN;
-
-  struct _PERSISTENT_RESERVE_OUT {
-    UCHAR  OperationCode;
-    UCHAR  ServiceAction : 5;
-    UCHAR  Reserved1 : 3;
-    UCHAR  Type : 4;
-    UCHAR  Scope : 4;
-    UCHAR  Reserved2[4];
-    UCHAR  ParameterListLength[2];
-    UCHAR  Control;
-  } PERSISTENT_RESERVE_OUT, *PPERSISTENT_RESERVE_OUT;
-
-  struct _GET_CONFIGURATION {
-    UCHAR  OperationCode;
-    UCHAR  RequestType : 1;
-    UCHAR  Reserved1   : 7;
-    UCHAR  StartingFeature[2];
-    UCHAR  Reserved2[3];
-    UCHAR  AllocationLength[2];
-    UCHAR  Control;
-  } GET_CONFIGURATION, *PGET_CONFIGURATION;
-
-  struct _SET_CD_SPEED {
-    UCHAR  OperationCode;
-    UCHAR  Reserved1;
-    UCHAR  ReadSpeed[2];
-    UCHAR  WriteSpeed[2];
-    UCHAR  Reserved2[5];
-    UCHAR  Control;
-  } SET_CD_SPEED, *PSET_CD_SPEED;
-
-  ULONG AsUlong[4];
-    UCHAR  AsByte[16];
-} CDB, *PCDB;
-
-#ifndef _INQUIRYDATA_DEFINED /* also in minitape.h */
-#define _INQUIRYDATA_DEFINED
-
-#define INQUIRYDATABUFFERSIZE             36
-
-typedef struct _INQUIRYDATA {
-  UCHAR  DeviceType : 5;
-  UCHAR  DeviceTypeQualifier : 3;
-  UCHAR  DeviceTypeModifier : 7;
-  UCHAR  RemovableMedia : 1;
-  _ANONYMOUS_UNION union {
-    UCHAR  Versions;
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  ANSIVersion : 3;
-      UCHAR  ECMAVersion : 3;
-      UCHAR  ISOVersion : 2;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  UCHAR  ResponseDataFormat : 4;
-  UCHAR  HiSupport : 1;
-  UCHAR  NormACA : 1;
-  UCHAR  TerminateTask : 1;
-  UCHAR  AERC : 1;
-  UCHAR  AdditionalLength;
-  UCHAR  Reserved;
-  UCHAR  Addr16 : 1;
-  UCHAR  Addr32 : 1;
-  UCHAR  AckReqQ: 1;
-  UCHAR  MediumChanger : 1;
-  UCHAR  MultiPort : 1;
-  UCHAR  ReservedBit2 : 1;
-  UCHAR  EnclosureServices : 1;
-  UCHAR  ReservedBit3 : 1;
-  UCHAR  SoftReset : 1;
-  UCHAR  CommandQueue : 1;
-  UCHAR  TransferDisable : 1;
-  UCHAR  LinkedCommands : 1;
-  UCHAR  Synchronous : 1;
-  UCHAR  Wide16Bit : 1;
-  UCHAR  Wide32Bit : 1;
-  UCHAR  RelativeAddressing : 1;
-  UCHAR  VendorId[8];
-  UCHAR  ProductId[16];
-  UCHAR  ProductRevisionLevel[4];
-  UCHAR  VendorSpecific[20];
-  UCHAR  Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-/* INQUIRYDATA.DeviceType constants */
-#define DIRECT_ACCESS_DEVICE              0x00
-#define SEQUENTIAL_ACCESS_DEVICE          0x01
-#define PRINTER_DEVICE                    0x02
-#define PROCESSOR_DEVICE                  0x03
-#define WRITE_ONCE_READ_MULTIPLE_DEVICE   0x04
-#define READ_ONLY_DIRECT_ACCESS_DEVICE    0x05
-#define SCANNER_DEVICE                    0x06
-#define OPTICAL_DEVICE                    0x07
-#define MEDIUM_CHANGER                    0x08
-#define COMMUNICATION_DEVICE              0x09
-#define LOGICAL_UNIT_NOT_PRESENT_DEVICE   0x7F
-#define DEVICE_QUALIFIER_NOT_SUPPORTED    0x03
-
-/* INQUIRYDATA.DeviceTypeQualifier constants */
-#define DEVICE_CONNECTED 0x00
-
-#define SCSISTAT_GOOD                     0x00
-#define SCSISTAT_CHECK_CONDITION          0x02
-#define SCSISTAT_CONDITION_MET            0x04
-#define SCSISTAT_BUSY                     0x08
-#define SCSISTAT_INTERMEDIATE             0x10
-#define SCSISTAT_INTERMEDIATE_COND_MET    0x14
-#define SCSISTAT_RESERVATION_CONFLICT     0x18
-#define SCSISTAT_COMMAND_TERMINATED       0x22
-#define SCSISTAT_QUEUE_FULL               0x28
-
-/* Mode Sense/Select page constants */
-#define MODE_PAGE_ERROR_RECOVERY          0x01
-#define MODE_PAGE_DISCONNECT              0x02
-#define MODE_PAGE_FORMAT_DEVICE           0x03
-#define MODE_PAGE_RIGID_GEOMETRY          0x04
-#define MODE_PAGE_FLEXIBILE               0x05
-#define MODE_PAGE_WRITE_PARAMETERS        0x05
-#define MODE_PAGE_VERIFY_ERROR            0x07
-#define MODE_PAGE_CACHING                 0x08
-#define MODE_PAGE_PERIPHERAL              0x09
-#define MODE_PAGE_CONTROL                 0x0A
-#define MODE_PAGE_MEDIUM_TYPES            0x0B
-#define MODE_PAGE_NOTCH_PARTITION         0x0C
-#define MODE_PAGE_CD_AUDIO_CONTROL        0x0E
-#define MODE_PAGE_DATA_COMPRESS           0x0F
-#define MODE_PAGE_DEVICE_CONFIG           0x10
-#define MODE_PAGE_MEDIUM_PARTITION        0x11
-#define MODE_PAGE_CDVD_FEATURE_SET        0x18
-#define MODE_PAGE_POWER_CONDITION         0x1A
-#define MODE_PAGE_FAULT_REPORTING         0x1C
-#define MODE_PAGE_CDVD_INACTIVITY         0x1D
-#define MODE_PAGE_ELEMENT_ADDRESS         0x1D
-#define MODE_PAGE_TRANSPORT_GEOMETRY      0x1E
-#define MODE_PAGE_DEVICE_CAPABILITIES     0x1F
-#define MODE_PAGE_CAPABILITIES            0x2A
-#define MODE_SENSE_RETURN_ALL             0x3f
-#define MODE_SENSE_CURRENT_VALUES         0x00
-#define MODE_SENSE_CHANGEABLE_VALUES      0x40
-#define MODE_SENSE_DEFAULT_VAULES         0x80
-#define MODE_SENSE_SAVED_VALUES           0xc0
-
-/* SCSI CDB operation codes */
-#define SCSIOP_TEST_UNIT_READY            0x00
-#define SCSIOP_REZERO_UNIT                0x01
-#define SCSIOP_REWIND                     0x01
-#define SCSIOP_REQUEST_BLOCK_ADDR         0x02
-#define SCSIOP_REQUEST_SENSE              0x03
-#define SCSIOP_FORMAT_UNIT                0x04
-#define SCSIOP_READ_BLOCK_LIMITS          0x05
-#define SCSIOP_REASSIGN_BLOCKS            0x07
-#define SCSIOP_INIT_ELEMENT_STATUS        0x07
-#define SCSIOP_READ6                      0x08
-#define SCSIOP_RECEIVE                    0x08
-#define SCSIOP_WRITE6                     0x0A
-#define SCSIOP_PRINT                      0x0A
-#define SCSIOP_SEND                       0x0A
-#define SCSIOP_SEEK6                      0x0B
-#define SCSIOP_TRACK_SELECT               0x0B
-#define SCSIOP_SLEW_PRINT                 0x0B
-#define SCSIOP_SEEK_BLOCK                 0x0C
-#define SCSIOP_PARTITION                  0x0D
-#define SCSIOP_READ_REVERSE               0x0F
-#define SCSIOP_WRITE_FILEMARKS            0x10
-#define SCSIOP_FLUSH_BUFFER               0x10
-#define SCSIOP_SPACE                      0x11
-#define SCSIOP_INQUIRY                    0x12
-#define SCSIOP_VERIFY6                    0x13
-#define SCSIOP_RECOVER_BUF_DATA           0x14
-#define SCSIOP_MODE_SELECT                0x15
-#define SCSIOP_RESERVE_UNIT               0x16
-#define SCSIOP_RELEASE_UNIT               0x17
-#define SCSIOP_COPY                       0x18
-#define SCSIOP_ERASE                      0x19
-#define SCSIOP_MODE_SENSE                 0x1A
-#define SCSIOP_START_STOP_UNIT            0x1B
-#define SCSIOP_STOP_PRINT                 0x1B
-#define SCSIOP_LOAD_UNLOAD                0x1B
-#define SCSIOP_RECEIVE_DIAGNOSTIC         0x1C
-#define SCSIOP_SEND_DIAGNOSTIC            0x1D
-#define SCSIOP_MEDIUM_REMOVAL             0x1E
-
-#define SCSIOP_READ_FORMATTED_CAPACITY    0x23
-#define SCSIOP_READ_CAPACITY              0x25
-#define SCSIOP_READ                       0x28
-#define SCSIOP_WRITE                      0x2A
-#define SCSIOP_SEEK                       0x2B
-#define SCSIOP_LOCATE                     0x2B
-#define SCSIOP_POSITION_TO_ELEMENT        0x2B
-#define SCSIOP_WRITE_VERIFY               0x2E
-#define SCSIOP_VERIFY                     0x2F
-#define SCSIOP_SEARCH_DATA_HIGH           0x30
-#define SCSIOP_SEARCH_DATA_EQUAL          0x31
-#define SCSIOP_SEARCH_DATA_LOW            0x32
-#define SCSIOP_SET_LIMITS                 0x33
-#define SCSIOP_READ_POSITION              0x34
-#define SCSIOP_SYNCHRONIZE_CACHE          0x35
-#define SCSIOP_COMPARE                    0x39
-#define SCSIOP_COPY_COMPARE               0x3A
-#define SCSIOP_WRITE_DATA_BUFF            0x3B
-#define SCSIOP_READ_DATA_BUFF             0x3C
-#define SCSIOP_CHANGE_DEFINITION          0x40
-#define SCSIOP_READ_SUB_CHANNEL           0x42
-#define SCSIOP_READ_TOC                   0x43
-#define SCSIOP_READ_HEADER                0x44
-#define SCSIOP_PLAY_AUDIO                 0x45
-#define SCSIOP_GET_CONFIGURATION          0x46
-#define SCSIOP_PLAY_AUDIO_MSF             0x47
-#define SCSIOP_PLAY_TRACK_INDEX           0x48
-#define SCSIOP_PLAY_TRACK_RELATIVE        0x49
-#define SCSIOP_GET_EVENT_STATUS           0x4A
-#define SCSIOP_PAUSE_RESUME               0x4B
-#define SCSIOP_LOG_SELECT                 0x4C
-#define SCSIOP_LOG_SENSE                  0x4D
-#define SCSIOP_STOP_PLAY_SCAN             0x4E
-#define SCSIOP_READ_DISK_INFORMATION      0x51
-#define SCSIOP_READ_TRACK_INFORMATION     0x52
-#define SCSIOP_RESERVE_TRACK_RZONE        0x53
-#define SCSIOP_SEND_OPC_INFORMATION       0x54
-#define SCSIOP_MODE_SELECT10              0x55
-#define SCSIOP_MODE_SENSE10               0x5A
-#define SCSIOP_CLOSE_TRACK_SESSION        0x5B
-#define SCSIOP_READ_BUFFER_CAPACITY       0x5C
-#define SCSIOP_SEND_CUE_SHEET             0x5D
-#define SCSIOP_PERSISTENT_RESERVE_IN      0x5E
-#define SCSIOP_PERSISTENT_RESERVE_OUT     0x5F
-
-#define SCSIOP_REPORT_LUNS                0xA0
-#define SCSIOP_BLANK                      0xA1
-#define SCSIOP_SEND_KEY                   0xA3
-#define SCSIOP_REPORT_KEY                 0xA4
-#define SCSIOP_MOVE_MEDIUM                0xA5
-#define SCSIOP_LOAD_UNLOAD_SLOT           0xA6
-#define SCSIOP_EXCHANGE_MEDIUM            0xA6
-#define SCSIOP_SET_READ_AHEAD             0xA7
-#define SCSIOP_READ_DVD_STRUCTURE         0xAD
-#define SCSIOP_REQUEST_VOL_ELEMENT        0xB5
-#define SCSIOP_SEND_VOLUME_TAG            0xB6
-#define SCSIOP_READ_ELEMENT_STATUS        0xB8
-#define SCSIOP_READ_CD_MSF                0xB9
-#define SCSIOP_SCAN_CD                    0xBA
-#define SCSIOP_SET_CD_SPEED               0xBB
-#define SCSIOP_PLAY_CD                    0xBC
-#define SCSIOP_MECHANISM_STATUS           0xBD
-#define SCSIOP_READ_CD                    0xBE
-#define SCSIOP_SEND_DVD_STRUCTURE         0xBF
-#define SCSIOP_INIT_ELEMENT_RANGE         0xE7
-
-#define SCSIOP_DENON_EJECT_DISC           0xE6
-#define SCSIOP_DENON_STOP_AUDIO           0xE7
-#define SCSIOP_DENON_PLAY_AUDIO           0xE8
-#define SCSIOP_DENON_READ_TOC             0xE9
-#define SCSIOP_DENON_READ_SUBCODE         0xEB
-
-#define SCSIMESS_MODIFY_DATA_POINTER      0x00
-#define SCSIMESS_SYNCHRONOUS_DATA_REQ     0x01
-#define SCSIMESS_WIDE_DATA_REQUEST        0x03
-
-#define SCSIMESS_MODIFY_DATA_LENGTH       5
-#define SCSIMESS_SYNCH_DATA_LENGTH        3
-#define SCSIMESS_WIDE_DATA_LENGTH         2
-
-#define SCSIMESS_ABORT                    0x06
-#define SCSIMESS_ABORT_WITH_TAG           0x0D
-#define SCSIMESS_BUS_DEVICE_RESET         0x0C
-#define SCSIMESS_CLEAR_QUEUE              0x0E
-#define SCSIMESS_COMMAND_COMPLETE         0x00
-#define SCSIMESS_DISCONNECT               0x04
-#define SCSIMESS_EXTENDED_MESSAGE         0x01
-#define SCSIMESS_IDENTIFY                 0x80
-#define SCSIMESS_IDENTIFY_WITH_DISCON     0xC0
-#define SCSIMESS_IGNORE_WIDE_RESIDUE      0x23
-#define SCSIMESS_INITIATE_RECOVERY        0x0F
-#define SCSIMESS_INIT_DETECTED_ERROR      0x05
-#define SCSIMESS_LINK_CMD_COMP            0x0A
-#define SCSIMESS_LINK_CMD_COMP_W_FLAG     0x0B
-#define SCSIMESS_MESS_PARITY_ERROR        0x09
-#define SCSIMESS_MESSAGE_REJECT           0x07
-#define SCSIMESS_NO_OPERATION             0x08
-#define SCSIMESS_HEAD_OF_QUEUE_TAG        0x21
-#define SCSIMESS_ORDERED_QUEUE_TAG        0x22
-#define SCSIMESS_SIMPLE_QUEUE_TAG         0x20
-#define SCSIMESS_RELEASE_RECOVERY         0x10
-#define SCSIMESS_RESTORE_POINTERS         0x03
-#define SCSIMESS_SAVE_DATA_POINTER        0x02
-#define SCSIMESS_TERMINATE_IO_PROCESS     0x11
-
-#define CDB_FORCE_MEDIA_ACCESS            0x08
-
-#define CDB_RETURN_ON_COMPLETION          0
-#define CDB_RETURN_IMMEDIATE              1
-
-#define CDB_INQUIRY_EVPD                  0x01
-
-#define LUN0_FORMAT_SAVING_DEFECT_LIST    0
-#define USE_DEFAULTMSB                    0
-#define USE_DEFAULTLSB                    0
-
-#define START_UNIT_CODE                   0x01
-#define STOP_UNIT_CODE                    0x00
-
-typedef struct _SENSE_DATA {
-  UCHAR  ErrorCode : 7;
-  UCHAR  Valid : 1;
-  UCHAR  SegmentNumber;
-  UCHAR  SenseKey : 4;
-  UCHAR  Reserved : 1;
-  UCHAR  IncorrectLength : 1;
-  UCHAR  EndOfMedia : 1;
-  UCHAR  FileMark : 1;
-  UCHAR  Information[4];
-  UCHAR  AdditionalSenseLength;
-  UCHAR  CommandSpecificInformation[4];
-  UCHAR  AdditionalSenseCode;
-  UCHAR  AdditionalSenseCodeQualifier;
-  UCHAR  FieldReplaceableUnitCode;
-  UCHAR  SenseKeySpecific[3];
-} SENSE_DATA, *PSENSE_DATA;
-
-#define SENSE_BUFFER_SIZE                 18
-
-/* Sense codes */
-#define SCSI_SENSE_NO_SENSE               0x00
-#define SCSI_SENSE_RECOVERED_ERROR        0x01
-#define SCSI_SENSE_NOT_READY              0x02
-#define SCSI_SENSE_MEDIUM_ERROR           0x03
-#define SCSI_SENSE_HARDWARE_ERROR         0x04
-#define SCSI_SENSE_ILLEGAL_REQUEST        0x05
-#define SCSI_SENSE_UNIT_ATTENTION         0x06
-#define SCSI_SENSE_DATA_PROTECT           0x07
-#define SCSI_SENSE_BLANK_CHECK            0x08
-#define SCSI_SENSE_UNIQUE                 0x09
-#define SCSI_SENSE_COPY_ABORTED           0x0A
-#define SCSI_SENSE_ABORTED_COMMAND        0x0B
-#define SCSI_SENSE_EQUAL                  0x0C
-#define SCSI_SENSE_VOL_OVERFLOW           0x0D
-#define SCSI_SENSE_MISCOMPARE             0x0E
-#define SCSI_SENSE_RESERVED               0x0F
-
-/* Additional tape bit */
-#define SCSI_ILLEGAL_LENGTH               0x20
-#define SCSI_EOM                          0x40
-#define SCSI_FILE_MARK                    0x80
-
-/* Additional Sense codes */
-#define SCSI_ADSENSE_NO_SENSE                              0x00
-#define SCSI_ADSENSE_NO_SEEK_COMPLETE                      0x02
-#define SCSI_ADSENSE_LUN_NOT_READY                         0x04
-#define SCSI_ADSENSE_WRITE_ERROR                           0x0C
-#define SCSI_ADSENSE_TRACK_ERROR                           0x14
-#define SCSI_ADSENSE_SEEK_ERROR                            0x15
-#define SCSI_ADSENSE_REC_DATA_NOECC                        0x17
-#define SCSI_ADSENSE_REC_DATA_ECC                          0x18
-#define SCSI_ADSENSE_ILLEGAL_COMMAND                       0x20
-#define SCSI_ADSENSE_ILLEGAL_BLOCK                         0x21
-#define SCSI_ADSENSE_INVALID_CDB                           0x24
-#define SCSI_ADSENSE_INVALID_LUN                           0x25
-#define SCSI_ADSENSE_WRITE_PROTECT                         0x27
-#define SCSI_ADSENSE_MEDIUM_CHANGED                        0x28
-#define SCSI_ADSENSE_BUS_RESET                             0x29
-#define SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION       0x2E
-#define SCSI_ADSENSE_INVALID_MEDIA                         0x30
-#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE                    0x3a
-#define SCSI_ADSENSE_POSITION_ERROR                        0x3b
-#define SCSI_ADSENSE_OPERATOR_REQUEST                      0x5a
-#define SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x5d
-#define SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK           0x64
-#define SCSI_ADSENSE_COPY_PROTECTION_FAILURE               0x6f
-#define SCSI_ADSENSE_POWER_CALIBRATION_ERROR               0x73
-#define SCSI_ADSENSE_VENDOR_UNIQUE                         0x80
-#define SCSI_ADSENSE_MUSIC_AREA                            0xA0
-#define SCSI_ADSENSE_DATA_AREA                             0xA1
-#define SCSI_ADSENSE_VOLUME_OVERFLOW                       0xA7
-
-#define SCSI_SENSEQ_CAUSE_NOT_REPORTABLE                   0x00
-#define SCSI_SENSEQ_BECOMING_READY                         0x01
-#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED                  0x02
-#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED           0x03
-#define SCSI_SENSEQ_FORMAT_IN_PROGRESS                     0x04
-#define SCSI_SENSEQ_REBUILD_IN_PROGRESS                    0x05
-#define SCSI_SENSEQ_RECALCULATION_IN_PROGRESS              0x06
-#define SCSI_SENSEQ_OPERATION_IN_PROGRESS                  0x07
-#define SCSI_SENSEQ_LONG_WRITE_IN_PROGRESS                 0x08
-#define SCSI_SENSEQ_LOSS_OF_STREAMING                      0x09
-#define SCSI_SENSEQ_PADDING_BLOCKS_ADDED                   0x0A
-
-
-#define FILE_DEVICE_SCSI 0x0000001b
-
-#define IOCTL_SCSI_EXECUTE_IN ((FILE_DEVICE_SCSI << 16) + 0x0011)
-#define IOCTL_SCSI_EXECUTE_OUT ((FILE_DEVICE_SCSI << 16) + 0x0012)
-#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
-
-/* SMART support in ATAPI */
-#define IOCTL_SCSI_MINIPORT_SMART_VERSION               ((FILE_DEVICE_SCSI << 16) + 0x0500)
-#define IOCTL_SCSI_MINIPORT_IDENTIFY                    ((FILE_DEVICE_SCSI << 16) + 0x0501)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS          ((FILE_DEVICE_SCSI << 16) + 0x0502)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS       ((FILE_DEVICE_SCSI << 16) + 0x0503)
-#define IOCTL_SCSI_MINIPORT_ENABLE_SMART                ((FILE_DEVICE_SCSI << 16) + 0x0504)
-#define IOCTL_SCSI_MINIPORT_DISABLE_SMART               ((FILE_DEVICE_SCSI << 16) + 0x0505)
-#define IOCTL_SCSI_MINIPORT_RETURN_STATUS               ((FILE_DEVICE_SCSI << 16) + 0x0506)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE     ((FILE_DEVICE_SCSI << 16) + 0x0507)
-#define IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES       ((FILE_DEVICE_SCSI << 16) + 0x0508)
-#define IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS       ((FILE_DEVICE_SCSI << 16) + 0x0509)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE ((FILE_DEVICE_SCSI << 16) + 0x050a)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_LOG              ((FILE_DEVICE_SCSI << 16) + 0x050b)
-#define IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG             ((FILE_DEVICE_SCSI << 16) + 0x050c)
-
-/* CLUSTER support */
-#define IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE  ((FILE_DEVICE_SCSI << 16) + 0x0520)
-#define IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0521)
-
-/* READ_TOC formats */
-#define READ_TOC_FORMAT_TOC         0x00
-#define READ_TOC_FORMAT_SESSION     0x01
-#define READ_TOC_FORMAT_FULL_TOC    0x02
-#define READ_TOC_FORMAT_PMA         0x03
-#define READ_TOC_FORMAT_ATIP        0x04
-
-/* Read Capacity Data. Returned in Big Endian format */
-typedef struct _READ_CAPACITY_DATA {
-  ULONG  LogicalBlockAddress;
-  ULONG  BytesPerBlock;
-} READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;
-
-/* Read Block Limits Data. Returned in Big Endian format */
-typedef struct _READ_BLOCK_LIMITS {
-  UCHAR  Reserved;
-  UCHAR  BlockMaximumSize[3];
-  UCHAR  BlockMinimumSize[2];
-} READ_BLOCK_LIMITS_DATA, *PREAD_BLOCK_LIMITS_DATA;
-
-
-typedef struct _MODE_PARAMETER_HEADER {
-  UCHAR  ModeDataLength;
-  UCHAR  MediumType;
-  UCHAR  DeviceSpecificParameter;
-  UCHAR  BlockDescriptorLength;
-}MODE_PARAMETER_HEADER, *PMODE_PARAMETER_HEADER;
-
-typedef struct _MODE_PARAMETER_HEADER10 {
-  UCHAR  ModeDataLength[2];
-  UCHAR  MediumType;
-  UCHAR  DeviceSpecificParameter;
-  UCHAR  Reserved[2];
-  UCHAR  BlockDescriptorLength[2];
-} MODE_PARAMETER_HEADER10, *PMODE_PARAMETER_HEADER10;
-
-#define MODE_FD_SINGLE_SIDE               0x01
-#define MODE_FD_DOUBLE_SIDE               0x02
-#define MODE_FD_MAXIMUM_TYPE              0x1E
-#define MODE_DSP_FUA_SUPPORTED            0x10
-#define MODE_DSP_WRITE_PROTECT            0x80
-
-typedef struct _MODE_PARAMETER_BLOCK {
-  UCHAR  DensityCode;
-  UCHAR  NumberOfBlocks[3];
-  UCHAR  Reserved;
-  UCHAR  BlockLength[3];
-} MODE_PARAMETER_BLOCK, *PMODE_PARAMETER_BLOCK;
-
-typedef struct _MODE_DISCONNECT_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved : 1;
-  UCHAR  PageSavable : 1;
-  UCHAR  PageLength;
-  UCHAR  BufferFullRatio;
-  UCHAR  BufferEmptyRatio;
-  UCHAR  BusInactivityLimit[2];
-  UCHAR  BusDisconnectTime[2];
-  UCHAR  BusConnectTime[2];
-  UCHAR  MaximumBurstSize[2];
-  UCHAR  DataTransferDisconnect : 2;
-  UCHAR  Reserved2[3];
-}MODE_DISCONNECT_PAGE, *PMODE_DISCONNECT_PAGE;
-
-typedef struct _MODE_CACHING_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved : 1;
-  UCHAR  PageSavable : 1;
-  UCHAR  PageLength;
-  UCHAR  ReadDisableCache : 1;
-  UCHAR  MultiplicationFactor : 1;
-  UCHAR  WriteCacheEnable : 1;
-  UCHAR  Reserved2 : 5;
-  UCHAR  WriteRetensionPriority : 4;
-  UCHAR  ReadRetensionPriority : 4;
-  UCHAR  DisablePrefetchTransfer[2];
-  UCHAR  MinimumPrefetch[2];
-  UCHAR  MaximumPrefetch[2];
-  UCHAR  MaximumPrefetchCeiling[2];
-}MODE_CACHING_PAGE, *PMODE_CACHING_PAGE;
-
-typedef struct _MODE_CDROM_WRITE_PARAMETERS_PAGE {
-  UCHAR  PageLength;
-  UCHAR  WriteType : 4;
-  UCHAR  TestWrite : 1;
-  UCHAR  LinkSizeValid : 1;
-  UCHAR  BufferUnderrunFreeEnabled : 1;
-  UCHAR  Reserved2 : 1;
-  UCHAR  TrackMode : 4;
-  UCHAR  Copy : 1;
-  UCHAR  FixedPacket : 1;
-  UCHAR  MultiSession : 2;
-  UCHAR  DataBlockType : 4;
-  UCHAR  Reserved3 : 4;
-  UCHAR  LinkSize;
-  UCHAR  Reserved4;
-  UCHAR  HostApplicationCode : 6;
-  UCHAR  Reserved5 : 2;
-  UCHAR  SessionFormat;
-  UCHAR  Reserved6;
-  UCHAR  PacketSize[4];
-  UCHAR  AudioPauseLength[2];
-  UCHAR  Reserved7 : 7;
-  UCHAR  MediaCatalogNumberValid : 1;
-  UCHAR  MediaCatalogNumber[13];
-  UCHAR  MediaCatalogNumberZero;
-  UCHAR  MediaCatalogNumberAFrame;
-  UCHAR  Reserved8 : 7;
-  UCHAR  ISRCValid : 1;
-  UCHAR  ISRCCountry[2];
-  UCHAR  ISRCOwner[3];
-  UCHAR  ISRCRecordingYear[2];
-  UCHAR  ISRCSerialNumber[5];
-  UCHAR  ISRCZero;
-  UCHAR  ISRCAFrame;
-  UCHAR  ISRCReserved;
-  UCHAR  SubHeaderData[4];
-} MODE_CDROM_WRITE_PARAMETERS_PAGE, *PMODE_CDROM_WRITE_PARAMETERS_PAGE;
-
-typedef struct _MODE_FLEXIBLE_DISK_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved : 1;
-  UCHAR  PageSavable : 1;
-  UCHAR  PageLength;
-  UCHAR  TransferRate[2];
-  UCHAR  NumberOfHeads;
-  UCHAR  SectorsPerTrack;
-  UCHAR  BytesPerSector[2];
-  UCHAR  NumberOfCylinders[2];
-  UCHAR  StartWritePrecom[2];
-  UCHAR  StartReducedCurrent[2];
-  UCHAR  StepRate[2];
-  UCHAR  StepPluseWidth;
-  UCHAR  HeadSettleDelay[2];
-  UCHAR  MotorOnDelay;
-  UCHAR  MotorOffDelay;
-  UCHAR  Reserved2 : 5;
-  UCHAR  MotorOnAsserted : 1;
-  UCHAR  StartSectorNumber : 1;
-  UCHAR  TrueReadySignal : 1;
-  UCHAR  StepPlusePerCyclynder : 4;
-  UCHAR  Reserved3 : 4;
-  UCHAR  WriteCompenstation;
-  UCHAR  HeadLoadDelay;
-  UCHAR  HeadUnloadDelay;
-  UCHAR  Pin2Usage : 4;
-  UCHAR  Pin34Usage : 4;
-  UCHAR  Pin1Usage : 4;
-  UCHAR  Pin4Usage : 4;
-  UCHAR  MediumRotationRate[2];
-  UCHAR  Reserved4[2];
-} MODE_FLEXIBLE_DISK_PAGE, *PMODE_FLEXIBLE_DISK_PAGE;
-
-typedef struct _MODE_FORMAT_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved : 1;
-  UCHAR  PageSavable : 1;
-  UCHAR  PageLength;
-  UCHAR  TracksPerZone[2];
-  UCHAR  AlternateSectorsPerZone[2];
-  UCHAR  AlternateTracksPerZone[2];
-  UCHAR  AlternateTracksPerLogicalUnit[2];
-  UCHAR  SectorsPerTrack[2];
-  UCHAR  BytesPerPhysicalSector[2];
-  UCHAR  Interleave[2];
-  UCHAR  TrackSkewFactor[2];
-  UCHAR  CylinderSkewFactor[2];
-  UCHAR  Reserved2 : 4;
-  UCHAR  SurfaceFirst : 1;
-  UCHAR  RemovableMedia : 1;
-  UCHAR  HardSectorFormating : 1;
-  UCHAR  SoftSectorFormating : 1;
-  UCHAR  Reserved3[3];
-} MODE_FORMAT_PAGE, *PMODE_FORMAT_PAGE;
-
-typedef struct _MODE_RIGID_GEOMETRY_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved : 1;
-  UCHAR  PageSavable : 1;
-  UCHAR  PageLength;
-  UCHAR  NumberOfCylinders[3];
-  UCHAR  NumberOfHeads;
-  UCHAR  StartWritePrecom[3];
-  UCHAR  StartReducedCurrent[3];
-  UCHAR  DriveStepRate[2];
-  UCHAR  LandZoneCyclinder[3];
-  UCHAR  RotationalPositionLock : 2;
-  UCHAR  Reserved2 : 6;
-  UCHAR  RotationOffset;
-  UCHAR  Reserved3;
-  UCHAR  RoataionRate[2];
-  UCHAR  Reserved4[2];
-} MODE_RIGID_GEOMETRY_PAGE, *PMODE_RIGID_GEOMETRY_PAGE;
-
-typedef struct _MODE_READ_WRITE_RECOVERY_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved1 : 1;
-  UCHAR  PSBit : 1;
-  UCHAR  PageLength;
-  UCHAR  DCRBit : 1;
-  UCHAR  DTEBit : 1;
-  UCHAR  PERBit : 1;
-  UCHAR  EERBit : 1;
-  UCHAR  RCBit : 1;
-  UCHAR  TBBit : 1;
-  UCHAR  ARRE : 1;
-  UCHAR  AWRE : 1;
-  UCHAR  ReadRetryCount;
-  UCHAR  Reserved4[4];
-  UCHAR  WriteRetryCount;
-  UCHAR  Reserved5[3];
-} MODE_READ_WRITE_RECOVERY_PAGE, *PMODE_READ_WRITE_RECOVERY_PAGE;
-
-typedef struct _MODE_READ_RECOVERY_PAGE {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved1 : 1;
-  UCHAR  PSBit : 1;
-  UCHAR  PageLength;
-  UCHAR  DCRBit : 1;
-  UCHAR  DTEBit : 1;
-  UCHAR  PERBit : 1;
-  UCHAR  Reserved2 : 1;
-  UCHAR  RCBit : 1;
-  UCHAR  TBBit : 1;
-  UCHAR  Reserved3 : 2;
-  UCHAR  ReadRetryCount;
-  UCHAR  Reserved4[4];
-} MODE_READ_RECOVERY_PAGE, *PMODE_READ_RECOVERY_PAGE;
-
-typedef struct _MODE_INFO_EXCEPTIONS {
-  UCHAR  PageCode : 6;
-  UCHAR  Reserved1 : 1;
-  UCHAR  PSBit : 1;
-  UCHAR  PageLength;
-  _ANONYMOUS_UNION union {
-    UCHAR  Flags;
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  LogErr : 1;
-      UCHAR  Reserved2 : 1;
-      UCHAR  Test : 1;
-      UCHAR  Dexcpt : 1;
-      UCHAR  Reserved3 : 3;
-      UCHAR  Perf : 1;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  UCHAR  ReportMethod : 4;
-  UCHAR  Reserved4 : 4;
-  UCHAR  IntervalTimer[4];
-  UCHAR  ReportCount[4];
-} MODE_INFO_EXCEPTIONS, *PMODE_INFO_EXCEPTIONS;
-
-/* CDROM audio control */
-#define CDB_AUDIO_PAUSE                   0x00
-#define CDB_AUDIO_RESUME                  0x01
-#define CDB_DEVICE_START                  0x11
-#define CDB_DEVICE_STOP                   0x10
-#define CDB_EJECT_MEDIA                   0x10
-#define CDB_LOAD_MEDIA                    0x01
-#define CDB_SUBCHANNEL_HEADER             0x00
-#define CDB_SUBCHANNEL_BLOCK              0x01
-
-#define CDROM_AUDIO_CONTROL_PAGE          0x0E
-#define MODE_SELECT_IMMEDIATE             0x04
-#define MODE_SELECT_PFBIT                 0x10
-
-#define CDB_USE_MSF                       0x01
-
-typedef struct _PORT_OUTPUT {
-  UCHAR  ChannelSelection;
-  UCHAR  Volume;
-} PORT_OUTPUT, *PPORT_OUTPUT;
-
-typedef struct _AUDIO_OUTPUT {
-  UCHAR  CodePage;
-  UCHAR  ParameterLength;
-  UCHAR  Immediate;
-  UCHAR  Reserved[2];
-  UCHAR  LbaFormat;
-  UCHAR  LogicalBlocksPerSecond[2];
-  PORT_OUTPUT  PortOutput[4];
-} AUDIO_OUTPUT, *PAUDIO_OUTPUT;
-
-/* Multisession CDROMs */
-#define GET_LAST_SESSION 0x01
-#define GET_SESSION_DATA 0x02;
-
-/* Atapi 2.5 changers */
-typedef struct _MECHANICAL_STATUS_INFORMATION_HEADER {
-  UCHAR  CurrentSlot : 5;
-  UCHAR  ChangerState : 2;
-  UCHAR  Fault : 1;
-  UCHAR  Reserved : 5;
-  UCHAR  MechanismState : 3;
-  UCHAR  CurrentLogicalBlockAddress[3];
-  UCHAR  NumberAvailableSlots;
-  UCHAR  SlotTableLength[2];
-} MECHANICAL_STATUS_INFORMATION_HEADER, *PMECHANICAL_STATUS_INFORMATION_HEADER;
-
-typedef struct _SLOT_TABLE_INFORMATION {
-  UCHAR  DiscChanged : 1;
-  UCHAR  Reserved : 6;
-  UCHAR  DiscPresent : 1;
-  UCHAR  Reserved2[3];
-} SLOT_TABLE_INFORMATION, *PSLOT_TABLE_INFORMATION;
-
-typedef struct _MECHANICAL_STATUS {
-  MECHANICAL_STATUS_INFORMATION_HEADER  MechanicalStatusHeader;
-  SLOT_TABLE_INFORMATION  SlotTableInfo[1];
-} MECHANICAL_STATUS, *PMECHANICAL_STATUS;
-
-
-/* Tape definitions */
-typedef struct _TAPE_POSITION_DATA {
-	UCHAR  Reserved1 : 2;
-	UCHAR  BlockPositionUnsupported : 1;
-	UCHAR  Reserved2 : 3;
-	UCHAR  EndOfPartition : 1;
-	UCHAR  BeginningOfPartition : 1;
-	UCHAR  PartitionNumber;
-	USHORT  Reserved3;
-	UCHAR  FirstBlock[4];
-	UCHAR  LastBlock[4];
-	UCHAR  Reserved4;
-	UCHAR  NumberOfBlocks[3];
-	UCHAR  NumberOfBytes[4];
-} TAPE_POSITION_DATA, *PTAPE_POSITION_DATA;
-
-/* This structure is used to convert little endian ULONGs
-   to SCSI CDB big endians values. */
-typedef union _EIGHT_BYTE {
-  _ANONYMOUS_STRUCT struct {
-    UCHAR  Byte0;
-    UCHAR  Byte1;
-    UCHAR  Byte2;
-    UCHAR  Byte3;
-    UCHAR  Byte4;
-    UCHAR  Byte5;
-    UCHAR  Byte6;
-    UCHAR  Byte7;
-  } DUMMYSTRUCTNAME;
-  ULONGLONG  AsULongLong;
-} EIGHT_BYTE, *PEIGHT_BYTE;
-
-typedef union _FOUR_BYTE {
-  _ANONYMOUS_STRUCT struct {
-    UCHAR  Byte0;
-    UCHAR  Byte1;
-    UCHAR  Byte2;
-    UCHAR  Byte3;
-  } DUMMYSTRUCTNAME;
-  ULONG  AsULong;
-} FOUR_BYTE, *PFOUR_BYTE;
-
-typedef union _TWO_BYTE {
-  _ANONYMOUS_STRUCT struct {
-    UCHAR  Byte0;
-    UCHAR  Byte1;
-  } DUMMYSTRUCTNAME;
-  USHORT  AsUShort;
-} TWO_BYTE, *PTWO_BYTE;
-
-/* Byte reversing macro for converting between
-   big- and little-endian formats */
-#define REVERSE_BYTES_QUAD(Destination, Source) { \
-    PEIGHT_BYTE _val1 = (PEIGHT_BYTE)(Destination); \
-    PEIGHT_BYTE _val2 = (PEIGHT_BYTE)(Source); \
-    _val1->Byte7 = _val2->Byte0; \
-    _val1->Byte6 = _val2->Byte1; \
-    _val1->Byte5 = _val2->Byte2; \
-    _val1->Byte4 = _val2->Byte3; \
-    _val1->Byte3 = _val2->Byte4; \
-    _val1->Byte2 = _val2->Byte5; \
-    _val1->Byte1 = _val2->Byte6; \
-    _val1->Byte0 = _val2->Byte7; \
-}
-
-#define REVERSE_BYTES(Destination, Source) { \
-    PFOUR_BYTE _val1 = (PFOUR_BYTE)(Destination); \
-    PFOUR_BYTE _val2 = (PFOUR_BYTE)(Source); \
-    _val1->Byte3 = _val2->Byte0; \
-    _val1->Byte2 = _val2->Byte1; \
-    _val1->Byte1 = _val2->Byte2; \
-    _val1->Byte0 = _val2->Byte3; \
-}
-
-#define REVERSE_BYTES_SHORT(Destination, Source) { \
-  PTWO_BYTE _val1 = (PTWO_BYTE)(Destination); \
-  PTWO_BYTE _val2 = (PTWO_BYTE)(Source); \
-  _val1->Byte1 = _val2->Byte0; \
-  _val1->Byte0 = _val2->Byte1; \
-}
-
-#define REVERSE_SHORT(Short) { \
-  UCHAR _val; \
-  PTWO_BYTE _val2 = (PTWO_BYTE)(Short); \
-  _val = _val2->Byte0; \
-  _val2->Byte0 = _val2->Byte1; \
-  _val2->Byte1 = _val; \
-}
-
-#define REVERSE_LONG(Long) { \
-  UCHAR _val; \
-  PFOUR_BYTE _val2 = (PFOUR_BYTE)(Long); \
-  _val = _val2->Byte3; \
-  _val2->Byte3 = _val2->Byte0; \
-  _val2->Byte0 = _val; \
-  _val = _val2->Byte2; \
-  _val2->Byte2 = _val2->Byte1; \
-  _val2->Byte1 = _val; \
-}
-
-#define WHICH_BIT(Data, Bit) { \
-  UCHAR _val; \
-  for (_val = 0; _val < 32; _val++) { \
-    if (((Data) >> _val) == 1) { \
-      break; \
-    } \
-  } \
-  ASSERT(_val != 32); \
-  (Bit) = _val; \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSI_H */
Index: Daodan/MinGW/include/ddk/scsiscan.h
===================================================================
--- Daodan/MinGW/include/ddk/scsiscan.h	(revision 1046)
+++ 	(revision )
@@ -1,130 +1,0 @@
-/*
- * scsiscan.h
- *
- * SCSI scanner driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSISCAN_H
-#define __SCSISCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_SCSISCAN_CMD \
-  CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_CMD_CODE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_LOCKDEVICE \
-  CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_LOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_SET_TIMEOUT \
-  CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_SET_TIMEOUT,	METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_GET_INFO \
-  CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_GET_INFO, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_UNLOCKDEVICE \
-  CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_UNLOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-/* SCSISCAN_CMD.SrbFlags constants */
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER  0x00000008
-#define SRB_FLAGS_DISABLE_AUTOSENSE       0x00000020
-#define SRB_FLAGS_DATA_IN                 0x00000040
-#define SRB_FLAGS_DATA_OUT                0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER        0x00000000
-
-/* SCSISCAN_CMD.pSrbStatus constants */
-#define SRB_STATUS_PENDING                  0x00
-#define SRB_STATUS_SUCCESS                  0x01
-#define SRB_STATUS_ABORTED                  0x02
-#define SRB_STATUS_ABORT_FAILED             0x03
-#define SRB_STATUS_ERROR                    0x04
-#define SRB_STATUS_BUSY                     0x05
-#define SRB_STATUS_INVALID_REQUEST          0x06
-#define SRB_STATUS_INVALID_PATH_ID          0x07
-#define SRB_STATUS_NO_DEVICE                0x08
-#define SRB_STATUS_TIMEOUT                  0x09
-#define SRB_STATUS_SELECTION_TIMEOUT        0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT          0x0B
-#define SRB_STATUS_MESSAGE_REJECTED         0x0D
-#define SRB_STATUS_BUS_RESET                0x0E
-#define SRB_STATUS_PARITY_ERROR             0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED     0x10
-#define SRB_STATUS_NO_HBA                   0x11
-#define SRB_STATUS_DATA_OVERRUN             0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE      0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE   0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH     0x15
-#define SRB_STATUS_REQUEST_FLUSHED          0x16
-#define SRB_STATUS_INVALID_LUN              0x20
-#define SRB_STATUS_INVALID_TARGET_ID        0x21
-#define SRB_STATUS_BAD_FUNCTION             0x22
-#define SRB_STATUS_ERROR_RECOVERY           0x23
-#define SRB_STATUS_QUEUE_FROZEN             0x40
-#define SRB_STATUS_AUTOSENSE_VALID          0x80
-
-#define SRB_STATUS(Status) (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-typedef struct _SCSISCAN_CMD {
-  ULONG  Reserved1;
-  ULONG  Size;
-  ULONG  SrbFlags;
-  UCHAR  CdbLength;
-  UCHAR  SenseLength;
-  UCHAR  Reserved2;
-  UCHAR  Reserved3;
-  ULONG  TransferLength;
-  UCHAR  Cdb[16];
-  PUCHAR  pSrbStatus;
-  PUCHAR  pSenseBuffer;
-} SCSISCAN_CMD, *PSCSISCAN_CMD;
-
-#define MAX_STRING 128
-
-/* SCSISCAN_INFO.Flags constants */
-#define SCSISCAN_RESERVED         0x000
-#define SCSISCAN_CMD_CODE         0x004
-#define SCSISCAN_LOCKDEVICE       0x005
-#define SCSISCAN_UNLOCKDEVICE     0x006
-#define SCSISCAN_SET_TIMEOUT      0x007
-#define SCSISCAN_GET_INFO         0x008
-
-typedef struct _SCSISCAN_INFO {
-  ULONG  Size;
-  ULONG  Flags;
-  UCHAR  PortNumber;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  UCHAR  AdapterName[MAX_STRING];
-  ULONG  Reserved;
-} SCSISCAN_INFO, *PSCSISCAN_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSISCAN_H */
Index: Daodan/MinGW/include/ddk/scsiwmi.h
===================================================================
--- Daodan/MinGW/include/ddk/scsiwmi.h	(revision 1046)
+++ 	(revision )
@@ -1,215 +1,0 @@
-/*
- * scsiwmi.h
- *
- * SCSI WMILIB interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSIWMI_H
-#define __SCSIWMI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-#include "srb.h"
-
-
-typedef struct _SCSIWMI_REQUEST_CONTEXT {
-  PVOID  UserContext;
-  ULONG  BufferSize;
-  PUCHAR  Buffer;
-  UCHAR  MinorFunction;
-  UCHAR  ReturnStatus;
-  ULONG  ReturnSize;
-} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
-#define GUID_DEFINED
-typedef struct _GUID {
-    unsigned long  Data1;
-    unsigned short Data2;
-    unsigned short Data3;
-    unsigned char  Data4[ 8 ];
-} GUID;
-#endif
-
-#ifndef _LPCGUID_DEFINED
-#define _LPCGUID_DEFINED
-typedef const GUID *LPCGUID;
-#endif
-
-typedef struct _SCSIWMIGUIDREGINFO {
-  LPCGUID  Guid;
-  ULONG  InstanceCount;
-  ULONG  Flags;
-} SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO;
-
-typedef UCHAR DDKAPI
-(*PSCSIWMI_QUERY_REGINFO)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*OUT*/ PWCHAR  *MofResourceName);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_QUERY_DATABLOCK)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  DispatchContext,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  InstanceCount,
-  /*IN OUT*/ PULONG  InstanceLengthArray,
-  /*IN*/ ULONG  BufferAvail,
-  /*OUT*/ PUCHAR  Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATABLOCK)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  BufferSize,
-  /*IN*/ PUCHAR  Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATAITEM)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  DataItemId,
-  /*IN*/ ULONG  BufferSize,
-  /*IN*/ PUCHAR  Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_EXECUTE_METHOD)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  MethodId,
-  /*IN*/ ULONG  InBufferSize,
-  /*IN*/ ULONG  OutBufferSize,
-  /*IN OUT*/ PUCHAR  Buffer);
-
-typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL {
-	ScsiWmiEventControl,
-	ScsiWmiDataBlockControl
-} SCSIWMI_ENABLE_DISABLE_CONTROL;
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_FUNCTION_CONTROL)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ ULONG  GuidIndex,
-  /*IN*/ SCSIWMI_ENABLE_DISABLE_CONTROL  Function,
-  /*IN*/ BOOLEAN  Enable);
-
-typedef struct _SCSIWMILIB_CONTEXT {
-  ULONG  GuidCount;
-  PSCSIWMIGUIDREGINFO  GuidList;
-  PSCSIWMI_QUERY_REGINFO  QueryWmiRegInfo;
-  PSCSIWMI_QUERY_DATABLOCK  QueryWmiDataBlock;
-  PSCSIWMI_SET_DATABLOCK  SetWmiDataBlock;
-  PSCSIWMI_SET_DATAITEM  SetWmiDataItem;
-  PSCSIWMI_EXECUTE_METHOD  ExecuteWmiMethod;
-  PSCSIWMI_FUNCTION_CONTROL  WmiFunctionControl;
-} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortWmiDispatchFunction(
-  /*IN*/ PSCSI_WMILIB_CONTEXT  WmiLibInfo,
-  /*IN*/ UCHAR  MinorFunction,
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ PVOID  DataPath,
-  /*IN*/ ULONG  BufferSize,
-  /*IN*/ PVOID  Buffer);
-
-#define ScsiPortWmiFireAdapterEvent(  \
-  HwDeviceExtension,                  \
-  Guid,                               \
-  InstanceIndex,                      \
-  EventDataSize,                      \
-  EventData)                          \
-    ScsiPortWmiFireLogicalUnitEvent(  \
-	  HwDeviceExtension,                \
-	  0xff,                             \
-	  0,                                \
-	  0,                                \
-	  Guid,                             \
-	  InstanceIndex,                    \
-	  EventDataSize,                    \
-	  EventData)
-
-/*
- * ULONG
- * ScsiPortWmiGetReturnSize(
- *   PSCSIWMI_REQUEST_CONTEXT  RequestContext);
- */
-#define ScsiPortWmiGetReturnSize(RequestContext) \
-  ((RequestContext)->ReturnSize)
-
-/* UCHAR
- * ScsiPortWmiGetReturnStatus(
- *   PSCSIWMI_REQUEST_CONTEXT  RequestContext);
- */
-#define ScsiPortWmiGetReturnStatus(RequestContext) \
-  ((RequestContext)->ReturnStatus)
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiPostProcess(
-  /*IN*/ PSCSIWMI_REQUEST_CONTEXT  RequestContext,
-  /*IN*/ UCHAR  SrbStatus,
-  /*IN*/ ULONG  BufferUsed);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiFireLogicalUnitEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ LPGUID  Guid,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  EventDataSize,
-  /*IN*/ PVOID  EventData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSIWMI_H */
Index: Daodan/MinGW/include/ddk/smbus.h
===================================================================
--- Daodan/MinGW/include/ddk/smbus.h	(revision 1046)
+++ 	(revision )
@@ -1,190 +1,0 @@
-/*
- * smbus.h
- *
- * System Management Bus driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SMBUS_H
-#define __SMBUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(SMBCLASS)
-  #define SMBCLASSAPI DECLSPEC_IMPORT
-#else
-  #define SMBCLASSAPI DECLSPEC_EXPORT
-#endif
-
-#define SMB_BUS_REQUEST \
-  CTL_CODE(FILE_DEVICE_UNKNOWN, 0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_DEREGISTER_ALARM_NOTIFY \
-  CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_REGISTER_ALARM_NOTIFY \
-  CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-struct _SMB_CLASS;
-
-#define SMB_MAX_DATA_SIZE                 32
-
-/* SMB_REQUEST.Status constants */
-#define SMB_STATUS_OK                     0x00
-#define SMB_UNKNOWN_FAILURE               0x07
-#define SMB_ADDRESS_NOT_ACKNOWLEDGED      0x10
-#define SMB_DEVICE_ERROR                  0x11
-#define SMB_COMMAND_ACCESS_DENIED         0x12
-#define SMB_UNKNOWN_ERROR                 0x13
-#define SMB_DEVICE_ACCESS_DENIED          0x17
-#define SMB_TIMEOUT                       0x18
-#define SMB_UNSUPPORTED_PROTOCOL          0x19
-#define SMB_BUS_BUSY                      0x1A
-
-/* SMB_REQUEST.Protocol constants */
-#define SMB_WRITE_QUICK                   0x00
-#define SMB_READ_QUICK                    0x01
-#define SMB_SEND_BYTE                     0x02
-#define SMB_RECEIVE_BYTE                  0x03
-#define SMB_WRITE_BYTE                    0x04
-#define SMB_READ_BYTE                     0x05
-#define SMB_WRITE_WORD                    0x06
-#define SMB_READ_WORD                     0x07
-#define SMB_WRITE_BLOCK                   0x08
-#define SMB_READ_BLOCK                    0x09
-#define SMB_PROCESS_CALL                  0x0A
-#define SMB_MAXIMUM_PROTOCOL              0x0A
-
-typedef struct _SMB_REQUEST {
-  UCHAR  Status;
-  UCHAR  Protocol;
-  UCHAR  Address;
-  UCHAR  Command;
-  UCHAR  BlockLength;
-  UCHAR  Data[SMB_MAX_DATA_SIZE];
-} SMB_REQUEST, *PSMB_REQUEST;
-
-typedef VOID STDCALL
-(*SMB_ALARM_NOTIFY)(
-  PVOID  Context,
-  UCHAR  Address,
-  USHORT  Data);
-
-typedef struct _SMB_REGISTER_ALARM {
-  UCHAR  MinAddress;
-  UCHAR  MaxAddress;
-  SMB_ALARM_NOTIFY  NotifyFunction;
-  PVOID  NotifyContext;
-} SMB_REGISTER_ALARM, *PSMB_REGISTER_ALARM;
-
-/* SMB_CLASS.XxxVersion constants */
-#define SMB_CLASS_MAJOR_VERSION           0x0001
-#define SMB_CLASS_MINOR_VERSION           0x0000
-
-typedef NTSTATUS DDKAPI
-(*SMB_RESET_DEVICE)(
-  /*IN*/ struct _SMB_CLASS  *SmbClass,
-  /*IN*/ PVOID  SmbMiniport);
-
-typedef VOID DDKAPI
-(*SMB_START_IO)(
-  /*IN*/ struct _SMB_CLASS  *SmbClass,
-  /*IN*/ PVOID  SmbMiniport);
-
-typedef NTSTATUS DDKAPI
-(*SMB_STOP_DEVICE)(
-  /*IN*/ struct _SMB_CLASS  *SmbClass,
-  /*IN*/ PVOID  SmbMiniport);
-
-typedef struct _SMB_CLASS {
-  USHORT  MajorVersion;
-  USHORT  MinorVersion;
-  PVOID  Miniport;
-  PDEVICE_OBJECT  DeviceObject;
-  PDEVICE_OBJECT  PDO;
-  PDEVICE_OBJECT  LowerDeviceObject;
-  PIRP  CurrentIrp;
-  PSMB_REQUEST  CurrentSmb;
-  SMB_RESET_DEVICE  ResetDevice;
-  SMB_START_IO  StartIo;
-  SMB_STOP_DEVICE  StopDevice;
-} SMB_CLASS, *PSMB_CLASS;
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassAlarm(
-  /*IN*/ PSMB_CLASS  SmbClass,
-  /*IN*/ UCHAR  Address,
-  /*IN*/ USHORT  Data);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassCompleteRequest(
-  /*IN*/ PSMB_CLASS  SmbClass);
-
-typedef NTSTATUS DDKAPI
-(*PSMB_INITIALIZE_MINIPORT)(
-  /*IN*/ PSMB_CLASS  SmbClass,
-  /*IN*/ PVOID  MiniportExtension,
-  /*IN*/ PVOID  MiniportContext);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassCreateFdo(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDEVICE_OBJECT  PDO,
-  /*IN*/ ULONG  MiniportExtensionSize,
-  /*IN*/ PSMB_INITIALIZE_MINIPORT  MiniportInitialize,
-  /*IN*/ PVOID  MiniportContext,
-  /*OUT*/ PDEVICE_OBJECT  *FDO);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassInitializeDevice(
-  /*IN*/ ULONG  MajorVersion,
-  /*IN*/ ULONG  MinorVersion,
-  /*IN*/ PDRIVER_OBJECT  DriverObject);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassLockDevice(
-  /*IN*/ PSMB_CLASS  SmbClass);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassUnlockDevice(
-  /*IN*/ PSMB_CLASS  SmbClass);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SMBUS_H */
Index: Daodan/MinGW/include/ddk/srb.h
===================================================================
--- Daodan/MinGW/include/ddk/srb.h	(revision 1046)
+++ 	(revision )
@@ -1,753 +1,0 @@
-/*
- * scsi.h
- *
- * Interface between SCSI miniport drivers and the SCSI port driver.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SRB_H
-#define __SRB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_SCSIPORT_)
-  #define SCSIPORTAPI DECLSPEC_EXPORT
-#else
-  #define SCSIPORTAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ScsiDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
-
-#define SP_UNINITIALIZED_VALUE            ((ULONG) ~0)
-#define SP_UNTAGGED                       ((UCHAR) ~0)
-
-#define SRB_SIMPLE_TAG_REQUEST            0x20
-#define SRB_HEAD_OF_QUEUE_TAG_REQUEST     0x21
-#define SRB_ORDERED_QUEUE_TAG_REQUEST     0x22
-
-#define SRB_STATUS_QUEUE_FROZEN           0x40
-#define SRB_STATUS_AUTOSENSE_VALID        0x80
-
-#define SRB_STATUS(Status) \
-  (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-#define MAXIMUM_CDB_SIZE                  12
-
-#ifdef DBG
-#define SCSI_PORT_SIGNATURE               0x54524f50
-#endif
-
-
-#define SCSI_MAXIMUM_LOGICAL_UNITS        8
-#define SCSI_MAXIMUM_TARGETS_PER_BUS      128
-#define SCSI_MAXIMUM_LUNS_PER_TARGET      255
-#define SCSI_MAXIMUM_BUSES                8
-#define SCSI_MINIMUM_PHYSICAL_BREAKS      16
-#define SCSI_MAXIMUM_PHYSICAL_BREAKS      255
-#define SCSI_MAXIMUM_TARGETS              8
-
-#define SRB_FUNCTION_WMI                  0x17
-
-#define SRB_WMI_FLAGS_ADAPTER_REQUEST     0x0001
-
-#define SP_BUS_PARITY_ERROR               0x0001
-#define SP_UNEXPECTED_DISCONNECT          0x0002
-#define SP_INVALID_RESELECTION            0x0003
-#define SP_BUS_TIME_OUT                   0x0004
-#define SP_PROTOCOL_ERROR                 0x0005
-#define SP_INTERNAL_ADAPTER_ERROR         0x0006
-#define SP_REQUEST_TIMEOUT                0x0007
-#define SP_IRQ_NOT_RESPONDING             0x0008
-#define SP_BAD_FW_WARNING                 0x0009
-#define SP_BAD_FW_ERROR                   0x000a
-#define SP_LOST_WMI_MINIPORT_REQUEST      0x000b
-
-/* SCSI_REQUEST_BLOCK.Function constants */
-#define SRB_FUNCTION_EXECUTE_SCSI         0x00
-#define SRB_FUNCTION_CLAIM_DEVICE         0x01
-#define SRB_FUNCTION_IO_CONTROL           0x02
-#define SRB_FUNCTION_RECEIVE_EVENT        0x03
-#define SRB_FUNCTION_RELEASE_QUEUE        0x04
-#define SRB_FUNCTION_ATTACH_DEVICE        0x05
-#define SRB_FUNCTION_RELEASE_DEVICE       0x06
-#define SRB_FUNCTION_SHUTDOWN             0x07
-#define SRB_FUNCTION_FLUSH                0x08
-#define SRB_FUNCTION_ABORT_COMMAND        0x10
-#define SRB_FUNCTION_RELEASE_RECOVERY     0x11
-#define SRB_FUNCTION_RESET_BUS            0x12
-#define SRB_FUNCTION_RESET_DEVICE         0x13
-#define SRB_FUNCTION_TERMINATE_IO         0x14
-#define SRB_FUNCTION_FLUSH_QUEUE          0x15
-#define SRB_FUNCTION_REMOVE_DEVICE        0x16
-#define SRB_FUNCTION_WMI                  0x17
-#define SRB_FUNCTION_LOCK_QUEUE           0x18
-#define SRB_FUNCTION_UNLOCK_QUEUE         0x19
-#define SRB_FUNCTION_RESET_LOGICAL_UNIT   0x20
-
-/* SCSI_REQUEST_BLOCK.SrbStatus constants */
-#define SRB_STATUS_PENDING                0x00
-#define SRB_STATUS_SUCCESS                0x01
-#define SRB_STATUS_ABORTED                0x02
-#define SRB_STATUS_ABORT_FAILED           0x03
-#define SRB_STATUS_ERROR                  0x04
-#define SRB_STATUS_BUSY                   0x05
-#define SRB_STATUS_INVALID_REQUEST        0x06
-#define SRB_STATUS_INVALID_PATH_ID        0x07
-#define SRB_STATUS_NO_DEVICE              0x08
-#define SRB_STATUS_TIMEOUT                0x09
-#define SRB_STATUS_SELECTION_TIMEOUT      0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT        0x0B
-#define SRB_STATUS_MESSAGE_REJECTED       0x0D
-#define SRB_STATUS_BUS_RESET              0x0E
-#define SRB_STATUS_PARITY_ERROR           0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED   0x10
-#define SRB_STATUS_NO_HBA                 0x11
-#define SRB_STATUS_DATA_OVERRUN           0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE    0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH   0x15
-#define SRB_STATUS_REQUEST_FLUSHED        0x16
-#define SRB_STATUS_INVALID_LUN            0x20
-#define SRB_STATUS_INVALID_TARGET_ID      0x21
-#define SRB_STATUS_BAD_FUNCTION           0x22
-#define SRB_STATUS_ERROR_RECOVERY         0x23
-#define SRB_STATUS_NOT_POWERED            0x24
-#define SRB_STATUS_INTERNAL_ERROR         0x30
-
-/* SCSI_REQUEST_BLOCK.SrbFlags constants */
-#define SRB_FLAGS_QUEUE_ACTION_ENABLE       0x00000002
-#define SRB_FLAGS_DISABLE_DISCONNECT        0x00000004
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER    0x00000008
-#define SRB_FLAGS_BYPASS_FROZEN_QUEUE       0x00000010
-#define SRB_FLAGS_DISABLE_AUTOSENSE         0x00000020
-#define SRB_FLAGS_DATA_IN                   0x00000040
-#define SRB_FLAGS_DATA_OUT                  0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER          0x00000000
-#define SRB_FLAGS_UNSPECIFIED_DIRECTION     (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
-#define SRB_FLAGS_NO_QUEUE_FREEZE           0x00000100
-#define SRB_FLAGS_ADAPTER_CACHE_ENABLE      0x00000200
-#define SRB_FLAGS_FREE_SENSE_BUFFER         0x00000400
-#define SRB_FLAGS_IS_ACTIVE                 0x00010000
-#define SRB_FLAGS_ALLOCATED_FROM_ZONE       0x00020000
-#define SRB_FLAGS_SGLIST_FROM_POOL          0x00040000
-#define SRB_FLAGS_BYPASS_LOCKED_QUEUE       0x00080000
-#define SRB_FLAGS_NO_KEEP_AWAKE             0x00100000
-#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE    0x00200000
-#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT  0x00400000
-#define SRB_FLAGS_DONT_START_NEXT_PACKET    0x00800000
-#define SRB_FLAGS_PORT_DRIVER_RESERVED      0x0F000000
-#define SRB_FLAGS_CLASS_DRIVER_RESERVED     0xF0000000
-
-typedef struct _SCSI_REQUEST_BLOCK {
-  USHORT  Length;
-  UCHAR  Function;
-  UCHAR  SrbStatus;
-  UCHAR  ScsiStatus;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  UCHAR  QueueTag;
-  UCHAR  QueueAction;
-  UCHAR  CdbLength;
-  UCHAR  SenseInfoBufferLength;
-  ULONG  SrbFlags;
-  ULONG  DataTransferLength;
-  ULONG  TimeOutValue;
-  PVOID  DataBuffer;
-  PVOID  SenseInfoBuffer;
-  struct _SCSI_REQUEST_BLOCK  *NextSrb;
-  PVOID  OriginalRequest;
-  PVOID  SrbExtension;
-  _ANONYMOUS_UNION union {
-    ULONG  InternalStatus;
-    ULONG  QueueSortKey;
-  } DUMMYUNIONNAME;
-#if defined(_WIN64)
-  ULONG Reserved;
-#endif
-  UCHAR  Cdb[16];
-} SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK;
-
-#define SCSI_REQUEST_BLOCK_SIZE           sizeof(SCSI_REQUEST_BLOCK)
-
-typedef struct _ACCESS_RANGE {
-  SCSI_PHYSICAL_ADDRESS  RangeStart;
-  ULONG  RangeLength;
-  BOOLEAN  RangeInMemory;
-} ACCESS_RANGE, *PACCESS_RANGE;
-
-/* PORT_CONFIGURATION_INFORMATION.Dma64BitAddresses constants */
-#define SCSI_DMA64_MINIPORT_SUPPORTED     0x01
-#define SCSI_DMA64_SYSTEM_SUPPORTED       0x80
-
-typedef struct _PORT_CONFIGURATION_INFORMATION {
-  ULONG  Length;
-  ULONG  SystemIoBusNumber;
-  INTERFACE_TYPE  AdapterInterfaceType;
-  ULONG  BusInterruptLevel;
-  ULONG  BusInterruptVector;
-  KINTERRUPT_MODE  InterruptMode;
-  ULONG  MaximumTransferLength;
-  ULONG  NumberOfPhysicalBreaks;
-  ULONG  DmaChannel;
-  ULONG  DmaPort;
-  DMA_WIDTH  DmaWidth;
-  DMA_SPEED  DmaSpeed;
-  ULONG  AlignmentMask;
-  ULONG  NumberOfAccessRanges;
-  ACCESS_RANGE  (*AccessRanges)[];
-  PVOID  Reserved;
-  UCHAR  NumberOfBuses;
-  UCHAR  InitiatorBusId[8];
-  BOOLEAN  ScatterGather;
-  BOOLEAN  Master;
-  BOOLEAN  CachesData;
-  BOOLEAN  AdapterScansDown;
-  BOOLEAN  AtdiskPrimaryClaimed;
-  BOOLEAN  AtdiskSecondaryClaimed;
-  BOOLEAN  Dma32BitAddresses;
-  BOOLEAN  DemandMode;
-  BOOLEAN  MapBuffers;
-  BOOLEAN  NeedPhysicalAddresses;
-  BOOLEAN  TaggedQueuing;
-  BOOLEAN  AutoRequestSense;
-  BOOLEAN  MultipleRequestPerLu;
-  BOOLEAN  ReceiveEvent;
-  BOOLEAN  RealModeInitialized;
-  BOOLEAN  BufferAccessScsiPortControlled;
-  UCHAR  MaximumNumberOfTargets;
-  UCHAR  ReservedUchars[2];
-  ULONG  SlotNumber;
-  ULONG  BusInterruptLevel2;
-  ULONG  BusInterruptVector2;
-  KINTERRUPT_MODE  InterruptMode2;
-  ULONG  DmaChannel2;
-  ULONG  DmaPort2;
-  DMA_WIDTH  DmaWidth2;
-  DMA_SPEED  DmaSpeed2;
-  ULONG  DeviceExtensionSize;
-  ULONG  SpecificLuExtensionSize;
-  ULONG  SrbExtensionSize;
-  UCHAR  Dma64BitAddresses;
-  BOOLEAN  ResetTargetSupported;
-  UCHAR  MaximumNumberOfLogicalUnits;
-  BOOLEAN  WmiDataProvider;
-} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
-
-#define CONFIG_INFO_VERSION_2             sizeof(PORT_CONFIGURATION_INFORMATION)
-
-typedef enum _SCSI_NOTIFICATION_TYPE {
-	RequestComplete,
-	NextRequest,
-	NextLuRequest,
-	ResetDetected,
-	CallDisableInterrupts,
-	CallEnableInterrupts,
-	RequestTimerCall,
-	BusChangeDetected,
-	WMIEvent,
-	WMIReregister
-} SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE;
-
-#ifdef __GNUC__
-__extension__ /* enums limited to range of integer */
-#endif
-typedef enum _SCSI_ADAPTER_CONTROL_TYPE {
-	ScsiQuerySupportedControlTypes = 0,
-	ScsiStopAdapter,
-	ScsiRestartAdapter,
-	ScsiSetBootConfig,
-	ScsiSetRunningConfig,
-	ScsiAdapterControlMax,
-	MakeAdapterControlTypeSizeOfUlong = 0xffffffff
-} SCSI_ADAPTER_CONTROL_TYPE, *PSCSI_ADAPTER_CONTROL_TYPE;
-
-typedef enum _SCSI_ADAPTER_CONTROL_STATUS {
-	ScsiAdapterControlSuccess = 0,
-	ScsiAdapterControlUnsuccessful
-} SCSI_ADAPTER_CONTROL_STATUS, *PSCSI_ADAPTER_CONTROL_STATUS;
-
-typedef struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST {
-	ULONG MaxControlType;
-	BOOLEAN SupportedTypeList[0];
-} SCSI_SUPPORTED_CONTROL_TYPE_LIST, *PSCSI_SUPPORTED_CONTROL_TYPE_LIST;
-
-typedef SCSI_ADAPTER_CONTROL_STATUS DDKAPI
-(*PHW_ADAPTER_CONTROL)(
-  /*IN*/ PVOID DeviceExtension,
-  /*IN*/ SCSI_ADAPTER_CONTROL_TYPE ControlType,
-  /*IN*/ PVOID Parameters);
-
-typedef BOOLEAN DDKAPI
-(*PHW_ADAPTER_STATE)(
-  /*IN*/ PVOID DeviceExtension,
-  /*IN*/ PVOID Context,
-  /*IN*/ BOOLEAN SaveState);
-
-#define SP_RETURN_NOT_FOUND               0
-#define SP_RETURN_FOUND                   1
-#define SP_RETURN_ERROR                   2
-#define SP_RETURN_BAD_CONFIG              3
-
-typedef ULONG DDKAPI
-(*PHW_FIND_ADAPTER)(
-  /*IN*/ PVOID DeviceExtension,
-  /*IN*/ PVOID HwContext,
-  /*IN*/ PVOID BusInformation,
-  /*IN*/ PCHAR ArgumentString,
-  /*IN OUT*/ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
-  /*OUT*/ PBOOLEAN Again);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INITIALIZE)(
-  /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INTERRUPT)(
-  /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_RESET_BUS)(
-  /*IN*/ PVOID DeviceExtension,
-  /*IN*/ ULONG PathId);
-
-typedef VOID DDKAPI
-(*PHW_DMA_STARTED)(
-  /*IN*/ PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_STARTIO)(
-  /*IN*/ PVOID DeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK Srb);
-
-typedef VOID DDKAPI
-(*PHW_TIMER)(
-  /*IN*/ PVOID DeviceExtension);
-
-typedef struct _HW_INITIALIZATION_DATA {
-  ULONG  HwInitializationDataSize;
-  INTERFACE_TYPE  AdapterInterfaceType;
-  PHW_INITIALIZE  HwInitialize;
-  PHW_STARTIO  HwStartIo;
-  PHW_INTERRUPT  HwInterrupt;
-  PHW_FIND_ADAPTER  HwFindAdapter;
-  PHW_RESET_BUS  HwResetBus;
-  PHW_DMA_STARTED  HwDmaStarted;
-  PHW_ADAPTER_STATE  HwAdapterState;
-  ULONG  DeviceExtensionSize;
-  ULONG  SpecificLuExtensionSize;
-  ULONG  SrbExtensionSize;
-  ULONG  NumberOfAccessRanges;
-  PVOID  Reserved;
-  BOOLEAN  MapBuffers;
-  BOOLEAN  NeedPhysicalAddresses;
-  BOOLEAN  TaggedQueuing;
-  BOOLEAN  AutoRequestSense;
-  BOOLEAN  MultipleRequestPerLu;
-  BOOLEAN  ReceiveEvent;
-  USHORT  VendorIdLength;
-  PVOID  VendorId;
-  USHORT  ReservedUshort;
-  USHORT  DeviceIdLength;
-  PVOID  DeviceId;
-  PHW_ADAPTER_CONTROL  HwAdapterControl;
-} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortCompleteRequest(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ UCHAR  SrbStatus);
-
-/*
- * ULONG
- * ScsiPortConvertPhysicalAddressToUlong(
- * IN SCSI_PHYSICAL_ADDRESS  Address);
- */
-#define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart)
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortConvertUlongToPhysicalAddress(
-  /*IN*/ ULONG  UlongAddress);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFlushDma(
-  /*IN*/ PVOID  DeviceExtension);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFreeDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  MappedAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortGetBusData(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ ULONG  BusDataType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ SCSI_PHYSICAL_ADDRESS  IoAddress,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ BOOLEAN  InIoSpace);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetLogicalUnit(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun);
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortGetPhysicalAddress(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb  /*OPTIONAL*/,
-  /*IN*/ PVOID  VirtualAddress,
-  /*OUT*/ ULONG  *Length);
-
-SCSIPORTAPI
-PSCSI_REQUEST_BLOCK
-DDKAPI
-ScsiPortGetSrb(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ LONG  QueueTag);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetUncachedExtension(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PPORT_CONFIGURATION_INFORMATION  ConfigInfo,
-  /*IN*/ ULONG  NumberOfBytes);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetVirtualAddress(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ SCSI_PHYSICAL_ADDRESS  PhysicalAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortInitialize(
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2,
-  /*IN*/ struct _HW_INITIALIZATION_DATA  *HwInitializationData,
-  /*IN*/ PVOID  HwContext  /*OPTIONAL*/);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortIoMapTransfer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,
-  /*IN*/ ULONG  LogicalAddress,
-  /*IN*/ ULONG  Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortLogError(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb  /*OPTIONAL*/,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ ULONG  ErrorCode,
-  /*IN*/ ULONG  UniqueId);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortMoveMemory(
-  /*IN*/ PVOID  WriteBuffer,
-  /*IN*/ PVOID  ReadBuffer,
-  /*IN*/ ULONG  Length);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiPortNotification(
-  /*IN*/ SCSI_NOTIFICATION_TYPE  NotificationType,
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ...);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortQuerySystemTime(
-  /*OUT*/ PLARGE_INTEGER  CurrentTime);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadPortUchar(
-  /*IN*/ PUCHAR  Port);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadPortUlong(
-  /*IN*/ PULONG  Port);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadPortUshort(
-  /*IN*/ PUSHORT  Port);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUchar(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUlong(
-  /*IN*/ PULONG  Register,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUshort(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadRegisterUchar(
-  /*IN*/ PUCHAR  Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadRegisterUlong(
-  /*IN*/ PULONG  Register);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadRegisterUshort(
-  /*IN*/ PUSHORT  Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortSetBusDataByOffset(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ ULONG  BusDataType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortStallExecution(
-  /*IN*/ ULONG  Delay);
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortValidateRange(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ SCSI_PHYSICAL_ADDRESS  IoAddress,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ BOOLEAN  InIoSpace);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ UCHAR  Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ ULONG  Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ USHORT  Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUchar(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUlong(
-  /*IN*/ PULONG  Register,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUshort(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUchar(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ ULONG  Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUlong(
-  /*IN*/ PULONG  Register,
-  /*IN*/ ULONG  Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUshort(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ USHORT  Value);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiDebugPrint(
-  /*IN*/ ULONG DebugPrintLevel,
-  /*IN*/ PCCHAR DebugMessage,
-  /*IN*/ ...);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SRB_H */
Index: Daodan/MinGW/include/ddk/storport.h
===================================================================
--- Daodan/MinGW/include/ddk/storport.h	(revision 1046)
+++ 	(revision )
@@ -1,422 +1,0 @@
-/*
- * storport.h
- *
- * StorPort interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __STORPORT_H
-#define __STORPORT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "srb.h"
-
-#if defined(_STORPORT_)
-  #define STORPORTAPI DECLSPEC_EXPORT
-#else
-  #define STORPORTAPI DECLSPEC_IMPORT
-#endif
-
-
-typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS;
-
-typedef struct _STOR_SCATTER_GATHER_ELEMENT {
-	STOR_PHYSICAL_ADDRESS  PhysicalAddress;
-	ULONG  Length;
-	ULONG_PTR  Reserved;
-} STOR_SCATTER_GATHER_ELEMENT, *PSTOR_SCATTER_GATHER_ELEMENT;
-
-typedef struct _STOR_SCATTER_GATHER_LIST {
-    ULONG  NumberOfElements;
-    ULONG_PTR  Reserved;
-    STOR_SCATTER_GATHER_ELEMENT  List[0];
-} STOR_SCATTER_GATHER_LIST, *PSTOR_SCATTER_GATHER_LIST;
-
-typedef struct _SCSI_WMI_REQUEST_BLOCK {
-  USHORT  Length;
-  UCHAR  Function;
-  UCHAR  SrbStatus;
-  UCHAR  WMISubFunction;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  UCHAR  Reserved1;
-  UCHAR  WMIFlags;
-  UCHAR  Reserved2[2];
-  ULONG  SrbFlags;
-  ULONG  DataTransferLength;
-  ULONG  TimeOutValue;
-  PVOID  DataBuffer;
-  PVOID  DataPath;
-  PVOID  Reserved3;
-  PVOID  OriginalRequest;
-  PVOID  SrbExtension;
-  ULONG  Reserved4;
-  UCHAR  Reserved5[16];
-} SCSI_WMI_REQUEST_BLOCK, *PSCSI_WMI_REQUEST_BLOCK;
-
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortInitialize(
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2,
-  /*IN*/ PHW_INITIALIZATION_DATA  HwInitializationData,
-  /*IN*/ PVOID  Unused);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortFreeDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  MappedAddress);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortGetBusData(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ ULONG  BusDataType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortSetBusDataByOffset(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ ULONG   BusDataType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ SCSI_PHYSICAL_ADDRESS  IoAddress,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ BOOLEAN  InIoSpace);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetLogicalUnit(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun);
-
-STORPORTAPI
-PSCSI_REQUEST_BLOCK
-DDKAPI
-StorPortGetSrb(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ LONG  QueueTag);
-
-STORPORTAPI
-STOR_PHYSICAL_ADDRESS
-DDKAPI
-StorPortGetPhysicalAddress(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb,
-  /*IN*/ PVOID  VirtualAddress,
-  /*OUT*/ ULONG  *Length);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetVirtualAddress(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ STOR_PHYSICAL_ADDRESS  PhysicalAddress);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetUncachedExtension(
-  /*IN*/ PVOID HwDeviceExtension,
-  /*IN*/ PPORT_CONFIGURATION_INFORMATION ConfigInfo,
-  /*IN*/ ULONG NumberOfBytes);
-
-STORPORTAPI
-VOID
-DDKCDECLAPI
-StorPortNotification(
-  /*IN*/ SCSI_NOTIFICATION_TYPE  NotificationType,
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ...);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortLogError(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb /*OPTIONAL*/,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ ULONG  ErrorCode,
-  /*IN*/ ULONG  UniqueId);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortCompleteRequest(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ UCHAR  SrbStatus);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortMoveMemory(
-  /*IN*/ PVOID  WriteBuffer,
-  /*IN*/ PVOID  ReadBuffer,
-  /*IN*/ ULONG  Length);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortStallExecution(
-  /*IN*/ ULONG  Delay);
-
-STORPORTAPI
-STOR_PHYSICAL_ADDRESS
-DDKAPI
-StorPortConvertUlong64ToPhysicalAddress(
-  /*IN*/ ULONG64  UlongAddress);
-
-STORPORTAPI
-ULONG64
-DDKAPI
-StorPortConvertPhysicalAddressToUlong64(
-  /*IN*/ STOR_PHYSICAL_ADDRESS  Address);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortValidateRange(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  SystemIoBusNumber,
-  /*IN*/ STOR_PHYSICAL_ADDRESS  IoAddress,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ BOOLEAN  InIoSpace);
-
-STORPORTAPI
-VOID
-DDKCDECLAPI
-StorPortDebugPrint(
-  /*IN*/ ULONG  DebugPrintLevel,
-  /*IN*/ PCCHAR  DebugMessage,
-  /*IN*/ ...);
-
-STORPORTAPI
-UCHAR
-DDKAPI
-StorPortReadPortUchar(
-  /*IN*/ PUCHAR  Port);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortReadPortUlong(
-  /*IN*/ PULONG  Port);
-
-STORPORTAPI
-USHORT
-DDKAPI
-StorPortReadPortUshort(
-  /*IN*/ PUSHORT  Port);
-
-STORPORTAPI
-UCHAR
-DDKAPI
-StorPortReadRegisterUchar(
-  /*IN*/ PUCHAR  Register);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortReadRegisterUlong(
-  /*IN*/ PULONG  Register);
-
-STORPORTAPI
-USHORT
-DDKAPI
-StorPortReadRegisterUshort(
-  /*IN*/ PUSHORT  Register);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ UCHAR  Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ ULONG  Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ USHORT  Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ UCHAR  Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ ULONG  Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ USHORT  Value);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortPauseDevice(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ ULONG  TimeOut);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortResumeDevice(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortPause(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  TimeOut);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortResume(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortDeviceBusy(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun,
-  /*IN*/ ULONG  RequestsToComplete);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortDeviceReady(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ UCHAR  PathId,
-  /*IN*/ UCHAR  TargetId,
-  /*IN*/ UCHAR  Lun);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortBusy(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  RequestsToComplete);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortReady(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-STORPORTAPI
-PSTOR_SCATTER_GATHER_LIST
-DDKAPI
-StorPortGetScatterGatherList(
-  /*IN*/ PVOID  DeviceExtension,
-  /*IN*/ PSCSI_REQUEST_BLOCK  Srb);
-
-typedef BOOLEAN DDKAPI
-(*PSTOR_SYNCHRONIZED_ACCESS)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Context);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortSynchronizeAccess(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSTOR_SYNCHRONIZED_ACCESS  SynchronizedAccessRoutine,
-  /*IN*/ PVOID  Context);
-
-#ifdef DBG
-#define DebugPrint(x) StorPortDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STORPORT_H */
Index: Daodan/MinGW/include/ddk/tdi.h
===================================================================
--- Daodan/MinGW/include/ddk/tdi.h	(revision 1046)
+++ 	(revision )
@@ -1,593 +1,0 @@
-/*
- * tdi.h
- *
- * TDI user mode definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDI_H
-#define __TDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddtdi.h"
-#include "tdistat.h"
-#include "netpnp.h"
-
-/* Basic types */
-
-typedef LONG TDI_STATUS;
-typedef PVOID CONNECTION_CONTEXT;
-
-typedef struct _TDI_CONNECTION_INFORMATION {
-  LONG  UserDataLength;
-  PVOID  UserData;
-  LONG  OptionsLength;
-  PVOID  Options;
-  LONG  RemoteAddressLength;
-  PVOID  RemoteAddress;
-} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
-
-typedef struct _TDI_REQUEST {
-  union {
-    HANDLE  AddressHandle;
-    CONNECTION_CONTEXT  ConnectionContext;
-    HANDLE  ControlChannel;
-  } Handle;
-  PVOID  RequestNotifyObject;
-  PVOID  RequestContext;
-  TDI_STATUS  TdiStatus;
-} TDI_REQUEST, *PTDI_REQUEST;
-
-typedef struct _TDI_REQUEST_STATUS {
-  TDI_STATUS  Status;
-  PVOID  RequestContext;
-  ULONG  BytesTransferred;
-} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
-
-typedef struct _TDI_CONNECT_REQUEST {
-	TDI_REQUEST  Request;
-	PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-	PTDI_CONNECTION_INFORMATION  ReturnConnectionInformation;
-	LARGE_INTEGER  Timeout;
-} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
-
-typedef struct _TDI_REQUEST_ACCEPT {
-  TDI_REQUEST  Request;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnConnectionInformation;
-} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
-
-typedef struct _TDI_REQUEST_LISTEN {
-  TDI_REQUEST  Request;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnConnectionInformation;
-  USHORT  ListenFlags;
-} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
-
-typedef struct _TDI_DISCONNECT_REQUEST {
-  TDI_REQUEST  Request;
-  LARGE_INTEGER  Timeout;
-} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
-
-typedef struct _TDI_REQUEST_SEND {
-  TDI_REQUEST  Request;
-  USHORT  SendFlags;
-} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
-
-typedef struct _TDI_REQUEST_RECEIVE {
-  TDI_REQUEST  Request;
-  USHORT  ReceiveFlags;
-} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
-
-typedef struct _TDI_REQUEST_SEND_DATAGRAM {
-  TDI_REQUEST  Request;
-  PTDI_CONNECTION_INFORMATION  SendDatagramInformation;
-} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
-
-typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM {
-  TDI_REQUEST  Request;
-  PTDI_CONNECTION_INFORMATION  ReceiveDatagramInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnInformation;
-  USHORT  ReceiveFlags;
-} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
-
-typedef struct _TDI_REQUEST_SET_EVENT {
-  TDI_REQUEST  Request;
-  LONG  EventType;
-  PVOID  EventHandler;
-  PVOID  EventContext;
-} TDI_REQUEST_SET_EVENT_HANDLER, *PTDI_REQUEST_SET_EVENT_HANDLER;
-
-#define TDI_RECEIVE_BROADCAST             0x00000004
-#define TDI_RECEIVE_MULTICAST             0x00000008
-#define TDI_RECEIVE_PARTIAL               0x00000010
-#define TDI_RECEIVE_NORMAL                0x00000020
-#define TDI_RECEIVE_EXPEDITED             0x00000040
-#define TDI_RECEIVE_PEEK                  0x00000080
-#define TDI_RECEIVE_NO_RESPONSE_EXP       0x00000100
-#define TDI_RECEIVE_COPY_LOOKAHEAD        0x00000200
-#define TDI_RECEIVE_ENTIRE_MESSAGE        0x00000400
-#define TDI_RECEIVE_AT_DISPATCH_LEVEL     0x00000800
-#define TDI_RECEIVE_CONTROL_INFO          0x00001000
-
-/* Listen flags */
-#define TDI_QUERY_ACCEPT                  0x00000001
-
-/* Options used for both SendOptions and ReceiveIndicators */
-#define TDI_SEND_EXPEDITED                0x0020
-#define TDI_SEND_PARTIAL                  0x0040
-#define TDI_SEND_NO_RESPONSE_EXPECTED     0x0080
-#define TDI_SEND_NON_BLOCKING             0x0100
-#define TDI_SEND_AND_DISCONNECT           0x0200
-
-/* Disconnect Flags */
-#define TDI_DISCONNECT_WAIT               0x0001
-#define TDI_DISCONNECT_ABORT              0x0002
-#define TDI_DISCONNECT_RELEASE            0x0004
-
-/* TdiRequest structure for TdiQueryInformation request */
-typedef struct _TDI_REQUEST_QUERY_INFORMATION {
-  TDI_REQUEST  Request;
-  ULONG  QueryType;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
-
-/* TdiRequest structure for TdiSetInformation request */
-typedef struct _TDI_REQUEST_SET_INFORMATION {
-  TDI_REQUEST  Request;
-  ULONG  SetType;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
-
-typedef TDI_REQUEST_SET_INFORMATION  TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION;
-
-typedef union _TDI_REQUEST_TYPE {
-  TDI_REQUEST_ACCEPT  TdiAccept;
-  TDI_REQUEST_CONNECT  TdiConnect;
-  TDI_REQUEST_DISCONNECT  TdiDisconnect;
-  TDI_REQUEST_LISTEN  TdiListen;
-  TDI_REQUEST_QUERY_INFORMATION  TdiQueryInformation;
-  TDI_REQUEST_RECEIVE  TdiReceive;
-  TDI_REQUEST_RECEIVE_DATAGRAM  TdiReceiveDatagram;
-  TDI_REQUEST_SEND  TdiSend;
-  TDI_REQUEST_SEND_DATAGRAM  TdiSendDatagram;
-  TDI_REQUEST_SET_EVENT_HANDLER  TdiSetEventHandler;
-  TDI_REQUEST_SET_INFORMATION   TdiSetInformation;
-} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
-
-/* Query information types */
-
-/* Generic query info types that must be supported by all transports */
-#define TDI_QUERY_BROADCAST_ADDRESS     0x00000001
-#define TDI_QUERY_PROVIDER_INFO         0x00000002
-#define TDI_QUERY_ADDRESS_INFO          0x00000003
-#define TDI_QUERY_CONNECTION_INFO       0x00000004
-#define TDI_QUERY_PROVIDER_STATISTICS   0x00000005
-#define TDI_QUERY_DATAGRAM_INFO         0x00000006
-#define TDI_QUERY_DATA_LINK_ADDRESS     0x00000007
-#define TDI_QUERY_NETWORK_ADDRESS       0x00000008
-#define TDI_QUERY_MAX_DATAGRAM_INFO     0x00000009
-
-/* Netbios specific query information types */
-#define TDI_QUERY_ADAPTER_STATUS        0x00000100
-#define TDI_QUERY_SESSION_STATUS        0x00000200
-#define TDI_QUERY_FIND_NAME             0x00000300
-
-/* Structures used for TdiQueryInformation and TdiSetInformation */
-
-typedef struct _TDI_ENDPOINT_INFO {
-  ULONG  State;
-  ULONG  Event;
-  ULONG  TransmittedTsdus;
-  ULONG  ReceivedTsdus;
-  ULONG  TransmissionErrors;
-  ULONG  ReceiveErrors;
-  ULONG  MinimumLookaheadData;
-  ULONG  MaximumLookaheadData;
-  ULONG  PriorityLevel;
-  ULONG  SecurityLevel;
-  ULONG  SecurityCompartment;
-} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
-
-typedef struct _TDI_CONNECTION_INFO {
-  ULONG  State;
-  ULONG  Event;
-  ULONG  TransmittedTsdus;
-  ULONG  ReceivedTsdus;
-  ULONG  TransmissionErrors;
-  ULONG  ReceiveErrors;
-  LARGE_INTEGER  Throughput;
-  LARGE_INTEGER  Delay;
-  ULONG  SendBufferSize;
-  ULONG  ReceiveBufferSize;
-  BOOLEAN  Unreliable;
-} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
-
-typedef struct _TDI_DATAGRAM_INFO {
-  ULONG  MaximumDatagramBytes;
-  ULONG  MaximumDatagramCount;
-} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
-
-typedef struct _TDI_MAX_DATAGRAM_INFO {
-  ULONG  MaxDatagramSize;
-} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
-
-typedef struct _TDI_PROVIDER_INFO {
-  ULONG  Version;
-  ULONG  MaxSendSize;
-  ULONG  MaxConnectionUserData;
-  ULONG  MaxDatagramSize;
-  ULONG  ServiceFlags;
-  ULONG  MinimumLookaheadData;
-  ULONG  MaximumLookaheadData;
-  ULONG  NumberOfResources;
-  LARGE_INTEGER  StartTime;
-} TDI_PROVIDER_INFO, *PTDI_PROVIDER_INFO;
-
-#define TDI_SERVICE_CONNECTION_MODE     0x00000001
-#define TDI_SERVICE_ORDERLY_RELEASE     0x00000002
-#define TDI_SERVICE_CONNECTIONLESS_MODE 0x00000004
-#define TDI_SERVICE_ERROR_FREE_DELIVERY 0x00000008
-#define TDI_SERVICE_SECURITY_LEVEL      0x00000010
-#define TDI_SERVICE_BROADCAST_SUPPORTED 0x00000020
-#define TDI_SERVICE_MULTICAST_SUPPORTED 0x00000040
-#define TDI_SERVICE_DELAYED_ACCEPTANCE  0x00000080
-#define TDI_SERVICE_EXPEDITED_DATA      0x00000100
-#define TDI_SERVICE_INTERNAL_BUFFERING  0x00000200
-#define TDI_SERVICE_ROUTE_DIRECTED      0x00000400
-#define TDI_SERVICE_NO_ZERO_LENGTH      0x00000800
-#define TDI_SERVICE_POINT_TO_POINT      0x00001000
-#define TDI_SERVICE_MESSAGE_MODE        0x00002000
-#define TDI_SERVICE_HALF_DUPLEX         0x00004000
-#define TDI_SERVICE_DGRAM_CONNECTION    0x00008000
-#define TDI_SERVICE_FORCE_ACCESS_CHECK  0x00010000
-#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
-#define TDI_SERVICE_DIRECT_ACCEPT       0x00040000
-#define TDI_SERVICE_ACCEPT_LOCAL_ADDR   0x00080000
-
-typedef struct _TDI_PROVIDER_RESOURCE_STATS {
-  ULONG  ResourceId;
-  ULONG  MaximumResourceUsed;
-  ULONG  AverageResourceUsed;
-  ULONG  ResourceExhausted;
-} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
-
-typedef struct _TDI_PROVIDER_STATISTICS {
-  ULONG  Version;
-  ULONG  OpenConnections;
-  ULONG  ConnectionsAfterNoRetry;
-  ULONG  ConnectionsAfterRetry;
-  ULONG  LocalDisconnects;
-  ULONG  RemoteDisconnects;
-  ULONG  LinkFailures;
-  ULONG  AdapterFailures;
-  ULONG  SessionTimeouts;
-  ULONG  CancelledConnections;
-  ULONG  RemoteResourceFailures;
-  ULONG  LocalResourceFailures;
-  ULONG  NotFoundFailures;
-  ULONG  NoListenFailures;
-  ULONG  DatagramsSent;
-  LARGE_INTEGER  DatagramBytesSent;
-  ULONG  DatagramsReceived;
-  LARGE_INTEGER  DatagramBytesReceived;
-  ULONG  PacketsSent;
-  ULONG  PacketsReceived;
-  ULONG  DataFramesSent;
-  LARGE_INTEGER  DataFrameBytesSent;
-  ULONG  DataFramesReceived;
-  LARGE_INTEGER  DataFrameBytesReceived;
-  ULONG  DataFramesResent;
-  LARGE_INTEGER  DataFrameBytesResent;
-  ULONG  DataFramesRejected;
-  LARGE_INTEGER  DataFrameBytesRejected;
-  ULONG  ResponseTimerExpirations;
-  ULONG  AckTimerExpirations;
-  ULONG  MaximumSendWindow;
-  ULONG  AverageSendWindow;
-  ULONG  PiggybackAckQueued;
-  ULONG  PiggybackAckTimeouts;
-  LARGE_INTEGER  WastedPacketSpace;
-  ULONG  WastedSpacePackets;
-  ULONG  NumberOfResources;
-  TDI_PROVIDER_RESOURCE_STATS  ResourceStats[1];
-} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
-
-#define TDI_EVENT_CONNECT                 0
-#define TDI_EVENT_DISCONNECT              1
-#define TDI_EVENT_ERROR                   2
-#define TDI_EVENT_RECEIVE                 3
-#define TDI_EVENT_RECEIVE_DATAGRAM        4
-#define TDI_EVENT_RECEIVE_EXPEDITED       5
-#define TDI_EVENT_SEND_POSSIBLE           6
-
-typedef struct _TDI_REQUEST_ASSOCIATE {
-  TDI_REQUEST  Request;
-  HANDLE  AddressHandle;
-} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
-
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX   'iPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX   'sPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB    'nPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_TCPIP      'tPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NBF        'bPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK  'aPDN'
-
-typedef struct _TA_ADDRESS {
-  USHORT  AddressLength;
-  USHORT  AddressType;
-  UCHAR  Address[1];
-} TA_ADDRESS, *PTA_ADDRESS;
-
-#define TDI_ADDRESS_TYPE_UNSPEC             0
-#define TDI_ADDRESS_TYPE_UNIX               1
-#define TDI_ADDRESS_TYPE_IP                 2
-#define TDI_ADDRESS_TYPE_IMPLINK            3
-#define TDI_ADDRESS_TYPE_PUP                4
-#define TDI_ADDRESS_TYPE_CHAOS              5
-#define TDI_ADDRESS_TYPE_NS                 6
-#define TDI_ADDRESS_TYPE_IPX                6
-#define TDI_ADDRESS_TYPE_NBS                7
-#define TDI_ADDRESS_TYPE_ECMA               8
-#define TDI_ADDRESS_TYPE_DATAKIT            9
-#define TDI_ADDRESS_TYPE_CCITT              10
-#define TDI_ADDRESS_TYPE_SNA                11
-#define TDI_ADDRESS_TYPE_DECnet             12
-#define TDI_ADDRESS_TYPE_DLI                13
-#define TDI_ADDRESS_TYPE_LAT                14
-#define TDI_ADDRESS_TYPE_HYLINK             15
-#define TDI_ADDRESS_TYPE_APPLETALK          16
-#define TDI_ADDRESS_TYPE_NETBIOS            17
-#define TDI_ADDRESS_TYPE_8022               18
-#define TDI_ADDRESS_TYPE_OSI_TSAP           19
-#define TDI_ADDRESS_TYPE_NETONE             20
-#define TDI_ADDRESS_TYPE_VNS                21
-#define TDI_ADDRESS_TYPE_NETBIOS_EX         22
-#define TDI_ADDRESS_TYPE_IP6                23
-#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
-
-#define TdiTransportAddress               "TransportAddress"
-#define TdiConnectionContext              "ConnectionContext"
-#define TDI_TRANSPORT_ADDRESS_LENGTH      (sizeof(TdiTransportAddress) - 1)
-#define TDI_CONNECTION_CONTEXT_LENGTH     (sizeof(TdiConnectionContext) - 1)
-
-typedef struct _TRANSPORT_ADDRESS {
-  LONG  TAAddressCount;
-  TA_ADDRESS  Address[1];
-} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
-
-typedef struct _TDI_ACTION_HEADER {
-  ULONG  TransportId;
-  USHORT  ActionCode;
-  USHORT  Reserved;
-} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
-
-typedef struct _TDI_ADDRESS_INFO {
-  ULONG  ActivityCount;
-  TRANSPORT_ADDRESS  Address;
-} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
-
-#include "pshpack1.h"
-
-typedef struct _TDI_ADDRESS_8022 {
-  UCHAR  MACAddress[6];
-} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
-
-#define TDI_ADDRESS_LENGTH_8022           sizeof(TDI_ADDRESS_8022);
-
-typedef struct _TDI_ADDRESS_APPLETALK {
-  USHORT  Network;
-  UCHAR  Node;
-  UCHAR  Socket;
-} TDI_ADDRESS_APPLETALK, *PTDI_ADDRESS_APPLETALK;
-
-#define TDI_ADDRESS_LENGTH_APPLETALK      sizeof(TDI_ADDRESS_APPLETALK)
-
-typedef struct _TDI_ADDRESS_IP {
-  USHORT  sin_port;
-  ULONG  in_addr;
-  UCHAR  sin_zero[8];
-} TDI_ADDRESS_IP, *PTDI_ADDRESS_IP;
-
-#define TDI_ADDRESS_LENGTH_IP             sizeof(TDI_ADDRESS_IP)
-
-typedef struct _TDI_ADDRESS_IPX {
-  ULONG  NetworkAddress;
-  UCHAR  NodeAddress[6];
-  USHORT  Socket;
-} TDI_ADDRESS_IPX, *PTDI_ADDRESS_IPX;
-
-#define TDI_ADDRESS_LENGTH_IPX            sizeof(TDI_ADDRESS_IPX)
-
-/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */
-#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE       0x0000
-#define TDI_ADDRESS_NETBIOS_TYPE_GROUP        0x0001
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP  0x0003
-
-typedef struct _TDI_ADDRESS_NETBIOS {
-  USHORT  NetbiosNameType;
-  UCHAR  NetbiosName[16];
-} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS        sizeof(TDI_ADDRESS_NETBIOS)
-
-typedef struct _TDI_ADDRESS_NETBIOS_EX {
-  UCHAR  EndpointName[16];
-  TDI_ADDRESS_NETBIOS  NetbiosAddress;
-} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS_EX     sizeof(TDI_ADDRESS_NETBIOS_EX)
-
-/* TDI_ADDRESS_NETONE.NetoneNameType constants */
-#define TDI_ADDRESS_NETONE_TYPE_UNIQUE    0x0000
-#define TDI_ADDRESS_NETONE_TYPE_ROTORED   0x0001
-
-typedef struct _TDI_ADDRESS_NETONE {
-  USHORT  NetoneNameType;
-  UCHAR  NetoneName[20];
-} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
-
-#define TDI_ADDRESS_LENGTH_NETONE         sizeof(TDI_ADDRESS_NETONE)
-
-typedef struct _TDI_ADDRESS_NS
-{
-    ULONG   NetworkAddress;
-    UCHAR   NodeAddress[6];
-    USHORT  Socket;
-} TDI_ADDRESS_NS, *PTDI_ADDRESS_NS;
-
-#define TDI_ADDRESS_LENGTH_NS             sizeof(TDI_ADDRESS_NS)
-
-#define ISO_MAX_ADDR_LENGTH               64
-
-/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
-#define ISO_HIERARCHICAL                  0
-#define ISO_NON_HIERARCHICAL              1
-
-typedef struct _TDI_ADDRESS_OSI_TSAP {
-  USHORT  tp_addr_type;
-  USHORT  tp_taddr_len;
-  USHORT  tp_tsel_len;
-  UCHAR  tp_addr[ISO_MAX_ADDR_LENGTH];
-} TDI_ADDRESS_OSI_TSAP, *PTDI_ADDRESS_OSI_TSAP;
-
-#define TDI_ADDRESS_LENGTH_OSI_TSAP       sizeof(TDI_ADDRESS_OSI_TSAP)
-
-typedef struct _TDI_ADDRESS_VNS {
-  UCHAR  net_address[4];
-  UCHAR  subnet_addr[2];
-  UCHAR  port[2];
-  UCHAR  hops;
-  UCHAR  filler[5];
-} TDI_ADDRESS_VNS, *PTDI_ADDRESS_VNS;
-
-#define TDI_ADDRESS_LENGTH_VNS            sizeof(TDI_ADDRESS_VNS)
-
-typedef struct _TDI_ADDRESS_IP6 {
-  USHORT  sin6_port;
-  ULONG  sin6_flowinfo;
-  USHORT  sin6_addr[8];
-  ULONG  sin6_scope_id;
-} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
-
-#define TDI_ADDRESS_LENGTH_IP6            sizeof(TDI_ADDRESS_IP6)
-
-enum eNameBufferType {
-	NBT_READONLY = 0,
-	NBT_WRITEONLY,
-	NBT_READWRITE,
-	NBT_WRITTEN
-};
-
-typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
-  USHORT  NetbiosNameType;
-  enum eNameBufferType  NameBufferType;
-  UNICODE_STRING  EndpointName;
-  UNICODE_STRING  RemoteName;
-  WCHAR  EndpointBuffer[17];
-  WCHAR  RemoteNameBuffer[1];
-} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
-
-typedef struct _TA_APPLETALK_ADDR {
-  LONG  TAAddressCount;
-  struct _AddrAtalk {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_APPLETALK  Address[1];
-  } Address[1];
-} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP {
-  LONG  TAAddressCount;
-  struct _AddrIp {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_IP  Address[1];
-  } Address[1];
-} TA_IP_ADDRESS, *PTA_IP_ADDRESS;
-
-typedef struct _TA_ADDRESS_IPX {
-  LONG  TAAddressCount;
-  struct _AddrIpx {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_IPX  Address[1];
-  } Address[1];
-} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
-
-typedef struct _TA_NETBIOS_ADDRESS {
-  LONG  TAAddressCount;
-  struct _Addr{
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_NETBIOS  Address[1];
-  } Address[1];
-} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
-
-typedef struct _TA_ADDRESS_NS {
-  LONG  TAAddressCount;
-  struct  _AddrNs {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_NS  Address[1];
-  } Address[1];
-} TA_NS_ADDRESS, *PTA_NS_ADDRESS;
-
-typedef struct _TA_ADDRESS_VNS {
-  LONG  TAAddressCount;
-  struct  _AddrVns {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_VNS  Address[1];
-  } Address[1];
-} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP6 {
-  LONG  TAAddressCount;
-  struct _AddrIp6 {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_IP6  Address[1];
-  } Address [1];
-} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
-
-typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
-  LONG  TAAddressCount;
-  struct _AddrNetbiosWCharEx {
-    USHORT  AddressLength;
-    USHORT  AddressType;
-    TDI_ADDRESS_NETBIOS_UNICODE_EX  Address[1];
-  } Address [1];
-} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
-
-#include "poppack.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDI_H */
Index: Daodan/MinGW/include/ddk/tdiinfo.h
===================================================================
--- Daodan/MinGW/include/ddk/tdiinfo.h	(revision 1046)
+++ 	(revision )
@@ -1,110 +1,0 @@
-/*
- * tdiinfo.h
- *
- * TDI set and query information interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDIINFO_H
-#define __TDIINFO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef struct TDIEntityID {
-  ULONG  tei_entity;
-  ULONG  tei_instance;
-} TDIEntityID;
-
-#define	MAX_TDI_ENTITIES                  4096
-#define INVALID_ENTITY_INSTANCE           -1
-#define	GENERIC_ENTITY				            0
-#define	ENTITY_LIST_ID				            0
-#define	ENTITY_TYPE_ID				            1
-
-#define	AT_ENTITY					                0x280
-#define	CL_NL_ENTITY				              0x301
-#define	CL_TL_ENTITY				              0x401
-#define	CO_NL_ENTITY				              0x300
-#define	CO_TL_ENTITY				              0x400
-#define	ER_ENTITY					                0x380
-#define	IF_ENTITY					                0x200
-
-#define	AT_ARP						                0x280
-#define	AT_NULL						                0x282
-#define	CL_TL_NBF					                0x401
-#define	CL_TL_UDP					                0x403
-#define	CL_NL_IPX					                0x301
-#define	CL_NL_IP					                0x303
-#define	CO_TL_NBF					                0x400
-#define	CO_TL_SPX					                0x402
-#define	CO_TL_TCP					                0x404
-#define	CO_TL_SPP					                0x406
-#define	ER_ICMP						                0x380
-#define	IF_GENERIC					              0x200
-#define	IF_MIB						                0x202
-
-/* TDIObjectID.toi_class constants */
-#define	INFO_CLASS_GENERIC			          0x100
-#define	INFO_CLASS_PROTOCOL			          0x200
-#define	INFO_CLASS_IMPLEMENTATION	        0x300
-
-/* TDIObjectID.toi_type constants */
-#define	INFO_TYPE_PROVIDER			          0x100
-#define	INFO_TYPE_ADDRESS_OBJECT	        0x200
-#define	INFO_TYPE_CONNECTION		          0x300
-
-typedef struct _TDIObjectID {
-	TDIEntityID  toi_entity;
-	ULONG  toi_class;
-	ULONG  toi_type;
-	ULONG  toi_id;
-} TDIObjectID;
-
-#define	CONTEXT_SIZE				              16
-
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX {
-  TDIObjectID  ID;
-  ULONG_PTR  Context[CONTEXT_SIZE / sizeof(ULONG_PTR)];
-} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
-
-#if defined(_WIN64)
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 {
-  TDIObjectID  ID;
-  ULONG32  Context[CONTEXT_SIZE / sizeof(ULONG32)];
-} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
-#endif /* _WIN64 */
-
-typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
-  TDIObjectID  ID;
-  UINT  BufferSize;
-  UCHAR  Buffer[1];
-} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIINFO_H */
Index: Daodan/MinGW/include/ddk/tdikrnl.h
===================================================================
--- Daodan/MinGW/include/ddk/tdikrnl.h	(revision 1046)
+++ 	(revision )
@@ -1,1162 +1,0 @@
-/*
- * tdikrnl.h
- *
- * TDI kernel mode definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDIKRNL_H
-#define __TDIKRNL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "tdi.h"
-
-#if defined(_TDI_)
-  #define TDIKRNLAPI DECLSPEC_EXPORT
-#else
-  #define TDIKRNLAPI DECLSPEC_IMPORT
-#endif
-
-
-typedef struct _TDI_REQUEST_KERNEL {
-  ULONG  RequestFlags;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnConnectionInformation;
-  PVOID  RequestSpecific;
-} TDI_REQUEST_KERNEL, *PTDI_REQUEST_KERNEL;
-
-/* Request codes */
-#define TDI_ASSOCIATE_ADDRESS             0x01
-#define TDI_DISASSOCIATE_ADDRESS          0x02
-#define TDI_CONNECT                       0x03
-#define TDI_LISTEN                        0x04
-#define TDI_ACCEPT                        0x05
-#define TDI_DISCONNECT                    0x06
-#define TDI_SEND                          0x07
-#define TDI_RECEIVE                       0x08
-#define TDI_SEND_DATAGRAM                 0x09
-#define TDI_RECEIVE_DATAGRAM              0x0A
-#define TDI_SET_EVENT_HANDLER             0x0B
-#define TDI_QUERY_INFORMATION             0x0C
-#define TDI_SET_INFORMATION               0x0D
-#define TDI_ACTION                        0x0E
-
-#define TDI_DIRECT_SEND                   0x27
-#define TDI_DIRECT_SEND_DATAGRAM          0x29
-
-#define TDI_TRANSPORT_ADDRESS_FILE        1
-#define TDI_CONNECTION_FILE               2
-#define TDI_CONTROL_CHANNEL_FILE          3
-
-/* Internal TDI IOCTLS */
-#define IOCTL_TDI_QUERY_DIRECT_SEND_HANDLER   _TDI_CONTROL_CODE(0x80, METHOD_NEITHER)
-#define IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER _TDI_CONTROL_CODE(0x81, METHOD_NEITHER)
-
-/* TdiAssociateAddress */
-typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE {
-  HANDLE  AddressHandle;
-} TDI_REQUEST_KERNEL_ASSOCIATE, *PTDI_REQUEST_KERNEL_ASSOCIATE;
-
-/* TdiDisassociateAddress */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISASSOCIATE,
-  *PTDI_REQUEST_KERNEL_DISASSOCIATE;
-
-/* TdiAccept */
-typedef struct _TDI_REQUEST_KERNEL_ACCEPT {
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnConnectionInformation;
-} TDI_REQUEST_KERNEL_ACCEPT, *PTDI_REQUEST_KERNEL_ACCEPT;
-
-/* TdiConnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_CONNECT,
-  *PTDI_REQUEST_KERNEL_CONNECT;
-
-/* TdiDisconnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISCONNECT,
-  *PTDI_REQUEST_KERNEL_DISCONNECT;
-
-/* TdiListen */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_LISTEN,
-  *PTDI_REQUEST_KERNEL_LISTEN;
-
-/* TdiReceive */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVE {
-  ULONG  ReceiveLength;
-  ULONG  ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVE, *PTDI_REQUEST_KERNEL_RECEIVE;
-
-/* TdiReceiveDatagram */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG {
-  ULONG  ReceiveLength;
-  PTDI_CONNECTION_INFORMATION  ReceiveDatagramInformation;
-  PTDI_CONNECTION_INFORMATION  ReturnDatagramInformation;
-  ULONG  ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVEDG, *PTDI_REQUEST_KERNEL_RECEIVEDG;
-
-/* TdiSend */
-typedef struct _TDI_REQUEST_KERNEL_SEND {
-  ULONG  SendLength;
-  ULONG  SendFlags;
-} TDI_REQUEST_KERNEL_SEND, *PTDI_REQUEST_KERNEL_SEND;
-
-/* TdiSendDatagram */
-typedef struct _TDI_REQUEST_KERNEL_SENDDG {
-  ULONG  SendLength;
-  PTDI_CONNECTION_INFORMATION  SendDatagramInformation;
-} TDI_REQUEST_KERNEL_SENDDG, *PTDI_REQUEST_KERNEL_SENDDG;
-
-/* TdiSetEventHandler */
-typedef struct _TDI_REQUEST_KERNEL_SET_EVENT {
-  LONG  EventType;
-  PVOID  EventHandler;
-  PVOID  EventContext;
-} TDI_REQUEST_KERNEL_SET_EVENT, *PTDI_REQUEST_KERNEL_SET_EVENT;
-
-/* TdiQueryInformation */
-typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO {
-  LONG  QueryType;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_QUERY_INFORMATION, *PTDI_REQUEST_KERNEL_QUERY_INFORMATION;
-
-/* TdiSetInformation */
-typedef struct _TDI_REQUEST_KERNEL_SET_INFO {
-  LONG  SetType;
-  PTDI_CONNECTION_INFORMATION  RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_SET_INFORMATION, *PTDI_REQUEST_KERNEL_SET_INFORMATION;
-
-
-/* Event types */
-#define TDI_EVENT_CONNECT                   0
-#define TDI_EVENT_DISCONNECT                1
-#define TDI_EVENT_ERROR                     2
-#define TDI_EVENT_RECEIVE                   3
-#define TDI_EVENT_RECEIVE_DATAGRAM          4
-#define TDI_EVENT_RECEIVE_EXPEDITED         5
-#define TDI_EVENT_SEND_POSSIBLE             6
-#define TDI_EVENT_CHAINED_RECEIVE           7
-#define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM  8
-#define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
-#define TDI_EVENT_ERROR_EX                  10
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CONNECT)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  RemoteAddressLength,
-  /*IN*/ PVOID  RemoteAddress,
-  /*IN*/ LONG  UserDataLength,
-  /*IN*/ PVOID  UserData,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*OUT*/ CONNECTION_CONTEXT  *ConnectionContext,
-  /*OUT*/ PIRP  *AcceptIrp);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultConnectHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  RemoteAddressLength,
-  /*IN*/ PVOID  RemoteAddress,
-  /*IN*/ LONG  UserDataLength,
-  /*IN*/ PVOID  UserData,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*OUT*/ CONNECTION_CONTEXT *ConnectionContext,
-  /*OUT*/ PIRP  *AcceptIrp);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_DISCONNECT)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ LONG  DisconnectDataLength,
-  /*IN*/ PVOID  DisconnectData,
-  /*IN*/ LONG  DisconnectInformationLength,
-  /*IN*/ PVOID  DisconnectInformation,
-  /*IN*/ ULONG  DisconnectFlags);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultDisconnectHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ LONG  DisconnectDataLength,
-  /*IN*/ PVOID  DisconnectData,
-  /*IN*/ LONG  DisconnectInformationLength,
-  /*IN*/ PVOID  DisconnectInformation,
-  /*IN*/ ULONG  DisconnectFlags);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ NTSTATUS  Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR_EX)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ NTSTATUS  Status,
-  /*IN*/ PVOID  Buffer);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultErrorHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ NTSTATUS  Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultReceiveHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_DATAGRAM)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  SourceAddressLength,
-  /*IN*/ PVOID  SourceAddress,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*IN*/ ULONG  ReceiveDatagramFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS DDKAPI
-TdiDefaultRcvDatagramHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  SourceAddressLength,
-  /*IN*/ PVOID  SourceAddress,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*IN*/ ULONG  ReceiveDatagramFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_EXPEDITED)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultRcvExpeditedHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  BytesIndicated,
-  /*IN*/ ULONG  BytesAvailable,
-  /*OUT*/ ULONG  *BytesTaken,
-  /*IN*/ PVOID  Tsdu,
-  /*OUT*/ PIRP  *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  ReceiveLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedReceiveHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  ReceiveLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  SourceAddressLength,
-  /*IN*/ PVOID  SourceAddress,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*IN*/ ULONG  ReceiveDatagramFlags,
-  /*IN*/ ULONG  ReceiveDatagramLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvDatagramHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ LONG  SourceAddressLength,
-  /*IN*/ PVOID  SourceAddress,
-  /*IN*/ LONG  OptionsLength,
-  /*IN*/ PVOID  Options,
-  /*IN*/ ULONG  ReceiveDatagramFlags,
-  /*IN*/ ULONG  ReceiveDatagramLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  ReceiveLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvExpeditedHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ CONNECTION_CONTEXT  ConnectionContext,
-  /*IN*/ ULONG  ReceiveFlags,
-  /*IN*/ ULONG  ReceiveLength,
-  /*IN*/ ULONG  StartingOffset,
-  /*IN*/ PMDL  Tsdu,
-  /*IN*/ PVOID  TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_SEND_POSSIBLE)(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ PVOID  ConnectionContext,
-  /*IN*/ ULONG  BytesAvailable);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultSendPossibleHandler(
-  /*IN*/ PVOID  TdiEventContext,
-  /*IN*/ PVOID  ConnectionContext,
-  /*IN*/ ULONG  BytesAvailable);
-
-
-
-  /* Macros and functions to build IRPs */
-
-#define TdiBuildBaseIrp(                                                  \
-  bIrp, bDevObj, bFileObj, bCompRoutine, bContxt, bIrpSp, bMinor)         \
-{                                                                         \
-  bIrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL;                 \
-  bIrpSp->MinorFunction = (bMinor);                                       \
-  bIrpSp->DeviceObject  = (bDevObj);                                      \
-  bIrpSp->FileObject    = (bFileObj);                                     \
-  if (bCompRoutine)                                                       \
-    IoSetCompletionRoutine(bIrp, bCompRoutine, bContxt, TRUE, TRUE, TRUE) \
-  else                                                                    \
-    IoSetCompletionRoutine(bIrp, NULL, NULL, FALSE, FALSE, FALSE);        \
-}
-
-  /*
- * VOID
- * TdiBuildAccept(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PTDI_CONNECTION_INFORMATION  RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION  ReturnConnectionInfo);
- */
-#define TdiBuildAccept(                                             \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                        \
-  RequestConnectionInfo, ReturnConnectionInfo)                      \
-{                                                                   \
-  PTDI_REQUEST_KERNEL_ACCEPT _Request;                              \
-  PIO_STACK_LOCATION _IrpSp;                                        \
-                                                                    \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                          \
-                                                                    \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                \
-                  Contxt, _IrpSp, TDI_ACCEPT);                      \
-                                                                    \
-  _Request = (PTDI_REQUEST_KERNEL_ACCEPT)&_IrpSp->Parameters;       \
-  _Request->RequestConnectionInformation = (RequestConnectionInfo); \
-  _Request->ReturnConnectionInformation  = (ReturnConnectionInfo);  \
-}
-
-  /*
- * VOID
- * TdiBuildAction(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PMDL  MdlAddr);
- */
-#define TdiBuildAction(                               \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr) \
-{                                                     \
-  PIO_STACK_LOCATION _IrpSp;                          \
-                                                      \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);            \
-                                                      \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,  \
-                  Contxt, _IrpSp, TDI_ACTION);        \
-                                                      \
-  (Irp)->MdlAddress = (MdlAddr);                      \
-}
-
-  /*
- * VOID
- * TdiBuildAssociateAddress(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN HANDLE  AddrHandle);
- */
-#define TdiBuildAssociateAddress(                                \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, AddrHandle)         \
-{                                                                \
-  PTDI_REQUEST_KERNEL_ASSOCIATE _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                     \
-                                                                 \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                       \
-                                                                 \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,             \
-                  Contxt, _IrpSp, TDI_ASSOCIATE_ADDRESS);        \
-                                                                 \
-  _Request = (PTDI_REQUEST_KERNEL_ASSOCIATE)&_IrpSp->Parameters; \
-  _Request->AddressHandle = (HANDLE)(AddrHandle);                \
-}
-
-  /*
- * VOID
- * TdiBuildConnect(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PLARGE_INTEGER  Time,
- * IN PTDI_CONNECTION_INFORMATION  RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION  ReturnConnectionInfo);
- */
-#define TdiBuildConnect(                                            \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                        \
-  Time, RequestConnectionInfo, ReturnConnectionInfo)                \
-{                                                                   \
-  PTDI_REQUEST_KERNEL _Request;                                     \
-  PIO_STACK_LOCATION _IrpSp;                                        \
-                                                                    \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                          \
-                                                                    \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                \
-                  Contxt, _IrpSp, TDI_CONNECT);                     \
-                                                                    \
-  _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters;              \
-  _Request->RequestConnectionInformation = (RequestConnectionInfo); \
-  _Request->ReturnConnectionInformation  = (ReturnConnectionInfo);  \
-  _Request->RequestSpecific              = (PVOID)(Time);           \
-}
-
-  /*
- * VOID
- * TdiBuildDisassociateAddress(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt);
- */
-#define TdiBuildDisassociateAddress(                                \
-  Irp, DevObj, FileObj, CompRoutine, Contxt)                        \
-{                                                                   \
-  PIO_STACK_LOCATION _IrpSp;                                        \
-                                                                    \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                          \
-                                                                    \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                \
-                  Contxt, _IrpSp, TDI_DISASSOCIATE_ADDRESS);        \
-}
-
-  /*
- * VOID
- * TdiBuildDisconnect(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PLARGE_INTEGER  Time,
- * IN PULONG  Flags,
- * IN PTDI_CONNECTION_INFORMATION  RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION  ReturnConnectionInfo);
- */
-#define TdiBuildDisconnect(                                         \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, Time,                  \
-  Flags, RequestConnectionInfo, ReturnConnectionInfo)               \
-{                                                                   \
-  PTDI_REQUEST_KERNEL _Request;                                     \
-  PIO_STACK_LOCATION _IrpSp;                                        \
-                                                                    \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                          \
-                                                                    \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                \
-                  Contxt, _IrpSp, TDI_DISCONNECT);                  \
-                                                                    \
-  _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters;              \
-  _Request->RequestConnectionInformation = (RequestConnectionInfo); \
-  _Request->ReturnConnectionInformation  = (ReturnConnectionInfo);  \
-  _Request->RequestSpecific = (PVOID)(Time);                        \
-  _Request->RequestFlags    = (Flags);                              \
-}
-
-  /*
- * PIRP
- * TdiBuildInternalDeviceControlIrp(
- * IN CCHAR IrpSubFunction,
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PFILE_OBJECT FileObject,
- * IN PKEVENT Event,
- * IN PIO_STATUS_BLOCK IoStatusBlock);
- */
-#define TdiBuildInternalDeviceControlIrp( \
-  IrpSubFunction, DeviceObject,           \
-  FileObject, Event, IoStatusBlock)       \
-  IoBuildDeviceIoControlRequest(          \
-		0x00000003, DeviceObject,             \
-		NULL, 0, NULL, 0,                     \
-		TRUE, Event, IoStatusBlock)
-
-  /*
- * VOID
- * TdiBuildListen(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN ULONG  Flags,
- * IN PTDI_CONNECTION_INFORMATION  RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION  ReturnConnectionInfo);
- */
-#define TdiBuildListen(                                             \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                        \
-  Flags, RequestConnectionInfo, ReturnConnectionInfo)               \
-{                                                                   \
-  PTDI_REQUEST_KERNEL _Request;                                     \
-  PIO_STACK_LOCATION _IrpSp;                                        \
-                                                                    \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                          \
-                                                                    \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                \
-                  Contxt, _IrpSp, TDI_LISTEN);                      \
-                                                                    \
-  _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters;              \
-  _Request->RequestConnectionInformation = (RequestConnectionInfo); \
-  _Request->ReturnConnectionInformation  = (ReturnConnectionInfo);  \
-  _Request->RequestFlags = (Flags);                                 \
-}
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiBuildNetbiosAddress(
-  /*IN*/ PUCHAR  NetbiosName,
-  /*IN*/ BOOLEAN  IsGroupName,
-  /*IN OUT*/ PTA_NETBIOS_ADDRESS  NetworkName);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiBuildNetbiosAddressEa(
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ BOOLEAN  IsGroupName,
-  /*IN*/ PUCHAR  NetbiosName);
-
-  /*
- * VOID
- * TdiBuildQueryInformation(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN UINT  QType,
- * IN PMDL  MdlAddr);
- */
-#define TdiBuildQueryInformation(                                        \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, QType, MdlAddr)             \
-{                                                                        \
-  PTDI_REQUEST_KERNEL_QUERY_INFORMATION _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                             \
-                                                                         \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                               \
-                                                                         \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                     \
-                  Contxt, _IrpSp, TDI_QUERY_INFORMATION);                \
-                                                                         \
-  _Request = (PTDI_REQUEST_KERNEL_QUERY_INFORMATION)&_IrpSp->Parameters; \
-  _Request->RequestConnectionInformation = NULL;                         \
-  _Request->QueryType = (ULONG)(QType);                                  \
-  (Irp)->MdlAddress   = (MdlAddr);                                       \
-}
-
-  /*
- * VOID
- * TdiBuildReceive(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PMDL  MdlAddr,
- * IN ULONG  InFlags,
- * IN ULONG  ReceiveLen);
- */
-#define TdiBuildReceive(                                       \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                   \
-  MdlAddr, InFlags, ReceiveLen)                                \
-{                                                              \
-  PTDI_REQUEST_KERNEL_RECEIVE _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                   \
-                                                               \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                     \
-                                                               \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,           \
-                  Contxt, _IrpSp, TDI_RECEIVE);                \
-                                                               \
-  _Request = (PTDI_REQUEST_KERNEL_RECEIVE)&_IrpSp->Parameters; \
-  _Request->ReceiveFlags  = (InFlags);                         \
-  _Request->ReceiveLength = (ReceiveLen);                      \
-  (Irp)->MdlAddress       = (MdlAddr);                         \
-}
-
-  /*
- * VOID
- * TdiBuildReceiveDatagram(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PMDL  MdlAddr,
- * IN ULONG  ReceiveLen,
- * IN PTDI_CONNECTION_INFORMATION  ReceiveDatagramInfo,
- * OUT PTDI_CONNECTION_INFORMATION  ReturnInfo,
- *   ULONG InFlags);
- */
-#define TdiBuildReceiveDatagram(                                 \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr,            \
-  ReceiveLen, ReceiveDatagramInfo, ReturnInfo, InFlags)          \
-{                                                                \
-  PTDI_REQUEST_KERNEL_RECEIVEDG _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                     \
-                                                                 \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                       \
-                                                                 \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,             \
-                  Contxt, _IrpSp, TDI_RECEIVE_DATAGRAM);         \
-                                                                 \
-  _Request = (PTDI_REQUEST_KERNEL_RECEIVEDG)&_IrpSp->Parameters; \
-  _Request->ReceiveDatagramInformation = (ReceiveDatagramInfo);  \
-  _Request->ReturnDatagramInformation  = (ReturnInfo);           \
-  _Request->ReceiveLength = (ReceiveLen);                        \
-  _Request->ReceiveFlags  = (InFlags);                           \
-  (Irp)->MdlAddress       = (MdlAddr);                           \
-}
-
-  /*
- * VOID
- * TdiBuildSend(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PMDL  MdlAddr,
- * IN ULONG  InFlags,
- * IN ULONG  SendLen);
- */
-#define TdiBuildSend(                                       \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                \
-  MdlAddr, InFlags, SendLen)                                \
-{                                                           \
-  PTDI_REQUEST_KERNEL_SEND _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                \
-                                                            \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                  \
-                                                            \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,        \
-                  Contxt, _IrpSp, TDI_SEND);                \
-                                                            \
-  _Request = (PTDI_REQUEST_KERNEL_SEND)&_IrpSp->Parameters; \
-  _Request->SendFlags  = (InFlags);                         \
-  _Request->SendLength = (SendLen);                         \
-  (Irp)->MdlAddress    = (MdlAddr);                         \
-}
-
-  /*
- * VOID
- * TdiBuildSendDatagram(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN PMDL  MdlAddr,
- * IN ULONG  SendLen,
- * IN PTDI_CONNECTION_INFORMATION  SendDatagramInfo);
- */
-#define TdiBuildSendDatagram(                                 \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                  \
-  MdlAddr, SendLen, SendDatagramInfo)                         \
-{                                                             \
-  PTDI_REQUEST_KERNEL_SENDDG _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                  \
-                                                              \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                    \
-                                                              \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,          \
-                  Contxt, _IrpSp, TDI_SEND_DATAGRAM);         \
-                                                              \
-  _Request = (PTDI_REQUEST_KERNEL_SENDDG)&_IrpSp->Parameters; \
-  _Request->SendDatagramInformation = (SendDatagramInfo);     \
-  _Request->SendLength = (SendLen);                           \
-  (Irp)->MdlAddress    = (MdlAddr);                           \
-}
-
-  /*
- * VOID
- * TdiBuildSetEventHandler(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN INT  InEventType,
- * IN PVOID  InEventHandler,
- * IN PVOID  InEventContext);
- */
-#define TdiBuildSetEventHandler(                                 \
-  Irp, DevObj, FileObj, CompRoutine, Contxt,                     \
-  InEventType, InEventHandler, InEventContext)                   \
-{                                                                \
-  PTDI_REQUEST_KERNEL_SET_EVENT _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                     \
-                                                                 \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                       \
-                                                                 \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,             \
-                  Contxt, _IrpSp, TDI_SET_EVENT_HANDLER);        \
-                                                                 \
-  _Request = (PTDI_REQUEST_KERNEL_SET_EVENT)&_IrpSp->Parameters; \
-  _Request->EventType    = (InEventType);                        \
-  _Request->EventHandler = (PVOID)(InEventHandler);              \
-  _Request->EventContext = (PVOID)(InEventContext);              \
-}
-
-  /*
- * VOID
- * TdiBuildSetInformation(
- * IN PIRP  Irp,
- * IN PDEVICE_OBJECT  DevObj,
- * IN PFILE_OBJECT  FileObj,
- * IN PVOID  CompRoutine,
- * IN PVOID  Contxt,
- * IN UINT  SType,
- * IN PMDL  MdlAddr);
- */
-#define TdiBuildSetInformation(                                        \
-  Irp, DevObj, FileObj, CompRoutine, Contxt, SType, MdlAddr)           \
-{                                                                      \
-  PTDI_REQUEST_KERNEL_SET_INFORMATION _Request;                        \
-  PIO_STACK_LOCATION _IrpSp;                                           \
-                                                                       \
-  _IrpSp = IoGetNextIrpStackLocation(Irp);                             \
-                                                                       \
-  TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine,                   \
-                  Contxt, _IrpSp, TDI_SET_INFORMATION);                \
-                                                                       \
-  _Request = (PTDI_REQUEST_KERNEL_SET_INFORMATION)&_IrpSp->Parameters; \
-  _Request->RequestConnectionInformation = NULL;                       \
-  _Request->SetType = (ULONG)(SType);                                  \
-  (Irp)->MdlAddress = (MdlAddr);                                       \
-}
-
-  /* TDI20_CLIENT_INTERFACE_INFO.TdiVersion constants */
-#define TDI_CURRENT_MAJOR_VERSION         2
-#define TDI_CURRENT_MINOR_VERSION         0
-
-#define TDI_CURRENT_VERSION ((TDI_CURRENT_MINOR_VERSION) << 8 \
-  | (TDI_CURRENT_MAJOR_VERSION))
-
-#define TDI_VERSION_ONE                   0x0001
-
-typedef enum _TDI_PNP_OPCODE {
-  TDI_PNP_OP_MIN,
-  TDI_PNP_OP_ADD,
-  TDI_PNP_OP_DEL,
-  TDI_PNP_OP_UPDATE,
-  TDI_PNP_OP_PROVIDERREADY,
-  TDI_PNP_OP_NETREADY,
-  TDI_PNP_OP_ADD_IGNORE_BINDING,
-  TDI_PNP_OP_DELETE_IGNORE_BINDING,
-  TDI_PNP_OP_MAX
-} TDI_PNP_OPCODE;
-
-  /* TDI_PNP_CONTEXT.ContextType */
-#define TDI_PNP_CONTEXT_TYPE_IF_NAME            0x1
-#define TDI_PNP_CONTEXT_TYPE_IF_ADDR            0x2
-#define TDI_PNP_CONTEXT_TYPE_PDO                0x3
-#define TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF   0x4
-
-typedef struct _TDI_PNP_CONTEXT {
-  USHORT  ContextSize;
-  USHORT  ContextType;
-  UCHAR  ContextData[1];
-} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER)(
-  /*IN*/ PTA_ADDRESS  Address);
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER_V2)(
-  /*IN*/ PTA_ADDRESS  Address,
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PTDI_PNP_CONTEXT  Context);
-
-typedef VOID DDKAPI
-(*TDI_BINDING_HANDLER)(
-  /*IN*/ TDI_PNP_OPCODE  PnPOpcode,
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PWSTR  MultiSZBindList);
-
-typedef VOID DDKAPI
-(*TDI_BIND_HANDLER)(
-  /*IN*/ PUNICODE_STRING  DeviceName);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER)(
-  /*IN*/ PTA_ADDRESS  Address);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER_V2)(
-  /*IN*/ PTA_ADDRESS  Address,
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PTDI_PNP_CONTEXT  Context);
-
-typedef NTSTATUS DDKAPI
-(*TDI_PNP_POWER_HANDLER)(
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PNET_PNP_EVENT  PowerEvent,
-  /*IN*/ PTDI_PNP_CONTEXT  Context1,
-  /*IN*/ PTDI_PNP_CONTEXT  Context2);
-
-typedef VOID DDKAPI
-(*TDI_UNBIND_HANDLER)(
-  /*IN*/ PUNICODE_STRING  DeviceName);
-
-typedef VOID DDKAPI
-(*ProviderPnPPowerComplete)(
-  /*IN*/ PNET_PNP_EVENT  NetEvent,
-  /*IN*/ NTSTATUS  ProviderStatus);
-
-typedef struct _TDI20_CLIENT_INTERFACE_INFO {
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      UCHAR  MajorTdiVersion;
-      UCHAR  MinorTdiVersion;
-    } DUMMYSTRUCTNAME;
-    USHORT TdiVersion;
-  } DUMMYUNIONNAME;
-  USHORT  Unused;
-  PUNICODE_STRING  ClientName;
-  TDI_PNP_POWER_HANDLER  PnPPowerHandler;
-  _ANONYMOUS_UNION union {
-    TDI_BINDING_HANDLER  BindingHandler;
-    _ANONYMOUS_STRUCT struct {
-      TDI_BIND_HANDLER  BindHandler;
-      TDI_UNBIND_HANDLER  UnBindHandler;
-    } DUMMYSTRUCTNAME;
-  }DUMMYUNIONNAME2;
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      TDI_ADD_ADDRESS_HANDLER_V2  AddAddressHandlerV2;
-      TDI_DEL_ADDRESS_HANDLER_V2  DelAddressHandlerV2;
-    } DUMMYSTRUCTNAME;
-    _ANONYMOUS_STRUCT struct {
-      TDI_ADD_ADDRESS_HANDLER  AddAddressHandler;
-      TDI_DEL_ADDRESS_HANDLER  DelAddressHandler;
-    } DUMMYSTRUCTNAME2;
-  } DUMMYUNIONNAME3;
-} TDI20_CLIENT_INTERFACE_INFO, *PTDI20_CLIENT_INTERFACE_INFO;
-
-typedef TDI20_CLIENT_INTERFACE_INFO TDI_CLIENT_INTERFACE_INFO;
-typedef TDI_CLIENT_INTERFACE_INFO *PTDI_CLIENT_INTERFACE_INFO;
-
-
-  /* TDI functions */
-
-  /*
- * VOID
- * TdiCompleteRequest(
- * IN PIRP Irp,
- * IN NTSTATUS Status);
- */
-#define TdiCompleteRequest(Irp, Status)           \
-{                                                 \
-  (Irp)->IoStatus.Status = (Status);              \
-  IoCompleteRequest((Irp), IO_NETWORK_INCREMENT); \
-}
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyBufferToMdl(
-  /*IN*/ PVOID  SourceBuffer,
-  /*IN*/ ULONG  SourceOffset,
-  /*IN*/ ULONG  SourceBytesToCopy,
-  /*IN*/ PMDL  DestinationMdlChain,
-  /*IN*/ ULONG  DestinationOffset,
-  /*IN*/ PULONG  BytesCopied);
-
-  /*
- * VOID
- * TdiCopyLookaheadData(
- * IN PVOID  Destination,
- * IN PVOID  Source,
- * IN ULONG  Length,
- * IN ULONG  ReceiveFlags);
- */
-#define TdiCopyLookaheadData(Destination, Source, Length, ReceiveFlags) \
-  RtlCopyMemory(Destination, Source, Length)
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlChainToMdlChain (
-  /*IN*/ PMDL  SourceMdlChain,
-  /*IN*/ ULONG  SourceOffset,
-  /*IN*/ PMDL  DestinationMdlChain,
-  /*IN*/ ULONG  DestinationOffset,
-  /*OUT*/ PULONG  BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlToBuffer(
-  /*IN*/ PMDL  SourceMdlChain,
-  /*IN*/ ULONG  SourceOffset,
-  /*IN*/ PVOID  DestinationBuffer,
-  /*IN*/ ULONG  DestinationOffset,
-  /*IN*/ ULONG  DestinationBufferSize,
-  /*OUT*/ PULONG  BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterAddressChangeHandler(
-  /*IN*/ HANDLE  BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterDeviceObject(
-  /*IN*/ HANDLE  DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterNetAddress(
-  /*IN*/ HANDLE  AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterPnPHandlers(
-  /*IN*/ HANDLE  BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterProvider(
-  /*IN*/ HANDLE  ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiEnumerateAddresses(
-  /*IN*/ HANDLE  BindingHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiInitialize(
-  VOID);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiMapBuffer(
-  /*IN*/ PMDL  MdlChain);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiMapUserRequest(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PIO_STACK_LOCATION  IrpSp);
-
-TDIKRNLAPI
-BOOLEAN
-DDKAPI
-TdiMatchPdoWithChainedReceiveContext(
-  /*IN*/ PVOID TsduDescriptor,
-  /*IN*/ PVOID PDO);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiPnPPowerComplete(
-  /*IN*/ HANDLE  BindingHandle,
-  /*IN*/ PNET_PNP_EVENT  PowerEvent,
-  /*IN*/ NTSTATUS  Status);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiPnPPowerRequest(
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PNET_PNP_EVENT  PowerEvent,
-  /*IN*/ PTDI_PNP_CONTEXT  Context1,
-  /*IN*/ PTDI_PNP_CONTEXT  Context2,
-  /*IN*/ ProviderPnPPowerComplete  ProtocolCompletionHandler);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiProviderReady(
-  /*IN*/ HANDLE  ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterAddressChangeHandler(
-  /*IN*/ TDI_ADD_ADDRESS_HANDLER  AddHandler,
-  /*IN*/ TDI_DEL_ADDRESS_HANDLER  DeleteHandler,
-  /*OUT*/ HANDLE  *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterDeviceObject(
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*OUT*/ HANDLE  *DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNetAddress(
-  /*IN*/ PTA_ADDRESS  Address,
-  /*IN*/ PUNICODE_STRING  DeviceName,
-  /*IN*/ PTDI_PNP_CONTEXT  Context,
-  /*OUT*/ HANDLE  *AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNotificationHandler(
-  /*IN*/ TDI_BIND_HANDLER  BindHandler,
-  /*IN*/ TDI_UNBIND_HANDLER  UnbindHandler,
-  /*OUT*/ HANDLE  *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterPnPHandlers(
-  /*IN*/ PTDI_CLIENT_INTERFACE_INFO  ClientInterfaceInfo,
-  /*IN*/ ULONG  InterfaceInfoSize,
-  /*OUT*/ HANDLE  *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterProvider(
-  /*IN*/ PUNICODE_STRING  ProviderName,
-  /*OUT*/ HANDLE  *ProviderHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiReturnChainedReceives(
-  /*IN*/ PVOID  *TsduDescriptors,
-  /*IN*/ ULONG   NumberOfTsdus);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiUnmapBuffer(
-  /*IN*/ PMDL  MdlChain);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIKRNL_H */
Index: Daodan/MinGW/include/ddk/tdistat.h
===================================================================
--- Daodan/MinGW/include/ddk/tdistat.h	(revision 1046)
+++ 	(revision )
@@ -1,83 +1,0 @@
-/*
- * tdistat.h
- *
- * TDI status codes
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDISTAT_H
-#define __TDISTAT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define TDI_SUCCESS                       STATUS_SUCCESS
-#define TDI_NO_RESOURCES                  STATUS_INSUFFICIENT_RESOURCES
-#define TDI_ADDR_IN_USE                   STATUS_ADDRESS_ALREADY_EXISTS
-#define TDI_BAD_ADDR                      STATUS_INVALID_ADDRESS_COMPONENT
-#define TDI_NO_FREE_ADDR                  STATUS_TOO_MANY_ADDRESSES
-#define TDI_ADDR_INVALID                  STATUS_INVALID_ADDRESS
-#define TDI_ADDR_DELETED                  STATUS_ADDRESS_CLOSED
-#define TDI_BUFFER_OVERFLOW               STATUS_BUFFER_OVERFLOW
-#define TDI_BAD_EVENT_TYPE                STATUS_INVALID_PARAMETER
-#define TDI_BAD_OPTION                    STATUS_INVALID_PARAMETER
-#define TDI_CONN_REFUSED                  STATUS_CONNECTION_REFUSED
-#define TDI_INVALID_CONNECTION            STATUS_CONNECTION_INVALID
-#define TDI_ALREADY_ASSOCIATED            STATUS_ADDRESS_ALREADY_ASSOCIATED
-#define TDI_NOT_ASSOCIATED                STATUS_ADDRESS_NOT_ASSOCIATED
-#define TDI_CONNECTION_ACTIVE             STATUS_CONNECTION_ACTIVE
-#define TDI_CONNECTION_ABORTED            STATUS_CONNECTION_ABORTED
-#define TDI_CONNECTION_RESET              STATUS_CONNECTION_RESET
-#define TDI_TIMED_OUT                     STATUS_IO_TIMEOUT
-#define TDI_GRACEFUL_DISC                 STATUS_GRACEFUL_DISCONNECT
-#define TDI_NOT_ACCEPTED                  STATUS_DATA_NOT_ACCEPTED
-#define TDI_MORE_PROCESSING               STATUS_MORE_PROCESSING_REQUIRED
-#define TDI_INVALID_STATE                 STATUS_INVALID_DEVICE_STATE
-#define TDI_INVALID_PARAMETER             STATUS_INVALID_PARAMETER
-#define TDI_DEST_NET_UNREACH              STATUS_NETWORK_UNREACHABLE
-#define TDI_DEST_HOST_UNREACH             STATUS_HOST_UNREACHABLE
-#define TDI_DEST_UNREACHABLE              TDI_DEST_HOST_UNREACH
-#define TDI_DEST_PROT_UNREACH             STATUS_PROTOCOL_UNREACHABLE
-#define TDI_DEST_PORT_UNREACH             STATUS_PORT_UNREACHABLE
-#define TDI_INVALID_QUERY                 STATUS_INVALID_DEVICE_REQUEST
-#define TDI_REQ_ABORTED                   STATUS_REQUEST_ABORTED
-#define TDI_BUFFER_TOO_SMALL              STATUS_BUFFER_TOO_SMALL
-#define TDI_CANCELLED                     STATUS_CANCELLED
-#define	TDI_BUFFER_TOO_BIG		            STATUS_INVALID_BUFFER_SIZE
-#define TDI_INVALID_REQUEST               STATUS_INVALID_DEVICE_REQUEST
-#define TDI_PENDING                       STATUS_PENDING
-#define TDI_ITEM_NOT_FOUND                STATUS_OBJECT_NAME_NOT_FOUND
-
-#define TDI_STATUS_BAD_VERSION            0xC0010004L
-#define TDI_STATUS_BAD_CHARACTERISTICS    0xC0010005L
-
-#define	TDI_OPTION_EOL                    0
-
-#define	TDI_ADDRESS_OPTION_REUSE          1
-#define	TDI_ADDRESS_OPTION_DHCP           2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDISTAT_H */
Index: Daodan/MinGW/include/ddk/tvout.h
===================================================================
--- Daodan/MinGW/include/ddk/tvout.h	(revision 1046)
+++ 	(revision )
@@ -1,116 +1,0 @@
-/*
- * tvout.h
- *
- * Definitions for TV-out support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TVOUT_H
-#define __TVOUT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* VIDEOPARAMETERS.dwCommand constants */
-#define VP_COMMAND_GET                    0x00000001
-#define VP_COMMAND_SET                    0x00000002
-
-/* VIDEOPARAMETERS.dwFlags constants */
-#define VP_FLAGS_TV_MODE                  0x00000001
-#define VP_FLAGS_TV_STANDARD              0x00000002
-#define VP_FLAGS_FLICKER                  0x00000004
-#define VP_FLAGS_OVERSCAN                 0x00000008
-#define VP_FLAGS_MAX_UNSCALED             0x00000010
-#define VP_FLAGS_POSITION                 0x00000020
-#define VP_FLAGS_BRIGHTNESS               0x00000040
-#define VP_FLAGS_CONTRAST                 0x00000080
-#define VP_FLAGS_COPYPROTECT              0x00000100
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_MODE_WIN_GRAPHICS              0x00000001
-#define VP_MODE_TV_PLAYBACK               0x00000002
-
-/* VIDEOPARAMETERS.dwTVStandard/dwAvailableTVStandard constants */
-#define VP_TV_STANDARD_NTSC_M             0x00000001
-#define VP_TV_STANDARD_NTSC_M_J           0x00000002
-#define VP_TV_STANDARD_PAL_B              0x00000004
-#define VP_TV_STANDARD_PAL_D              0x00000008
-#define VP_TV_STANDARD_PAL_H              0x00000010
-#define VP_TV_STANDARD_PAL_I              0x00000020
-#define VP_TV_STANDARD_PAL_M              0x00000040
-#define VP_TV_STANDARD_PAL_N              0x00000080
-#define VP_TV_STANDARD_SECAM_B            0x00000100
-#define VP_TV_STANDARD_SECAM_D            0x00000200
-#define VP_TV_STANDARD_SECAM_G            0x00000400
-#define VP_TV_STANDARD_SECAM_H            0x00000800
-#define VP_TV_STANDARD_SECAM_K            0x00001000
-#define VP_TV_STANDARD_SECAM_K1           0x00002000
-#define VP_TV_STANDARD_SECAM_L            0x00004000
-#define VP_TV_STANDARD_WIN_VGA            0x00008000
-#define VP_TV_STANDARD_NTSC_433           0x00010000
-#define VP_TV_STANDARD_PAL_G              0x00020000
-#define VP_TV_STANDARD_PAL_60             0x00040000
-#define VP_TV_STANDARD_SECAM_L1           0x00080000
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_CP_TYPE_APS_TRIGGER            0x00000001
-#define VP_CP_TYPE_MACROVISION            0x00000002
-
-/* VIDEOPARAMETERS.dwCPCommand constants */
-#define VP_CP_CMD_ACTIVATE                0x00000001
-#define VP_CP_CMD_DEACTIVATE              0x00000002
-#define VP_CP_CMD_CHANGE                  0x00000004
-
-typedef struct _VIDEOPARAMETERS {
-  GUID  Guid;
-  DWORD  dwOffset;
-  DWORD  dwCommand;
-  DWORD  dwFlags;
-  DWORD  dwMode;
-  DWORD  dwTVStandard;
-  DWORD  dwAvailableModes;
-  DWORD  dwAvailableTVStandard;
-  DWORD  dwFlickerFilter;
-  DWORD  dwOverScanX;
-  DWORD  dwOverScanY;
-  DWORD  dwMaxUnscaledX;
-  DWORD  dwMaxUnscaledY;
-  DWORD  dwPositionX;
-  DWORD  dwPositionY;
-  DWORD  dwBrightness;
-  DWORD  dwContrast;
-  DWORD  dwCPType;
-  DWORD  dwCPCommand;
-  DWORD  dwCPStandard;
-  DWORD  dwCPKey;
-  BYTE  bCP_APSTriggerBits;
-  BYTE  bOEMCopyProtection[256];
-} VIDEOPARAMETERS, *PVIDEOPARAMETERS, FAR *LPVIDEOPARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TVOUT_H */
Index: Daodan/MinGW/include/ddk/upssvc.h
===================================================================
--- Daodan/MinGW/include/ddk/upssvc.h	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-/*
- * upssvc.h
- *
- * UPS service interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __UPSSVC_H
-#define __UPSSVC_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_APCUPS_)
-  #define UPSAPI DECLSPEC_EXPORT
-#else
-  #define UPSAPI DECLSPEC_IMPORT
-#endif
-
-
-#define UPS_ONLINE                        1
-#define UPS_ONBATTERY                     2
-#define UPS_LOWBATTERY                    4
-#define UPS_NOCOMM                        8
-#define UPS_CRITICAL                      16
-
-UPSAPI
-VOID
-DDKAPI
-UPSCancelWait(VOID);
-
-UPSAPI
-DWORD
-DDKAPI
-UPSGetState(VOID);
-
-#define UPS_INITUNKNOWNERROR              0
-#define UPS_INITOK                        1
-#define UPS_INITNOSUCHDRIVER              2
-#define UPS_INITBADINTERFACE              3
-#define UPS_INITREGISTRYERROR             4
-#define UPS_INITCOMMOPENERROR             5
-#define UPS_INITCOMMSETUPERROR            6
-
-UPSAPI
-DWORD
-DDKAPI
-UPSInit(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSStop(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSTurnOff(
-  /*IN*/ DWORD  aTurnOffDelay);
-
-UPSAPI
-VOID
-DDKAPI
-UPSWaitForStateChange(
-  /*IN*/ DWORD  aCurrentState,
-  /*IN*/ DWORD  anInterval);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __UPSSVC_H */
Index: Daodan/MinGW/include/ddk/usb.h
===================================================================
--- Daodan/MinGW/include/ddk/usb.h	(revision 1046)
+++ 	(revision )
@@ -1,471 +1,0 @@
-/*
- * usb.h
- *
- * USB support.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USB_H
-#define __USB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USBDI_H
-#error usbdi.h cannot be included with usb.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_STATUS_SUCCESS               ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING               ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_CRC                   ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF               ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH  ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID             ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING    ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE     ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID        ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN          ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN         ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1             ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2             ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN        ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN       ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED          ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO                  ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_XACT_ERROR            ((USBD_STATUS)0xC0000011L)
-#define USBD_STATUS_BABBLE_DETECTED       ((USBD_STATUS)0xC0000012L)
-#define USBD_STATUS_DATA_BUFFER_ERROR     ((USBD_STATUS)0xC0000013L)
-#define USBD_STATUS_ENDPOINT_HALTED       ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_INVALID_URB_FUNCTION  ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER     ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY            ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE   ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH          ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR     ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER  ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_BAD_START_FRAME       ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED  ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED   ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
-                                          ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_NOT_SUPPORTED         ((USBD_STATUS)0xC0000E00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
-                                          ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_INSUFFICIENT_RESOURCES \
-                                          ((USBD_STATUS)0xC0001000L)
-#define USBD_STATUS_SET_CONFIG_FAILED     ((USBD_STATUS)0xC0002000L)
-#define USBD_STATUS_BUFFER_TOO_SMALL      ((USBD_STATUS)0xC0003000L)
-#define USBD_STATUS_INTERFACE_NOT_FOUND   ((USBD_STATUS)0xC0004000L)
-#define USBD_STATUS_INAVLID_PIPE_FLAGS    ((USBD_STATUS)0xC0005000L)
-#define USBD_STATUS_TIMEOUT               ((USBD_STATUS)0xC0006000L)
-#define USBD_STATUS_DEVICE_GONE           ((USBD_STATUS)0xC0007000L)
-#define USBD_STATUS_STATUS_NOT_MAPPED     ((USBD_STATUS)0xC0008000L)
-#define USBD_STATUS_CANCELED              ((USBD_STATUS)0xC0010000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW \
-                                          ((USBD_STATUS)0xC0020000L)
-#define USBD_STATUS_ISO_TD_ERROR          ((USBD_STATUS)0xC0030000L)
-#define USBD_STATUS_ISO_NA_LATE_USBPORT   ((USBD_STATUS)0xC0040000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS)0xC0050000L)
-
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-
-/* URB TransferFlags constants */
-#define USBD_TRANSFER_DIRECTION(x)        ((x) & USBD_TRANSFER_DIRECTION_IN)
-#define USBD_TRANSFER_DIRECTION_OUT       0
-#define USBD_TRANSFER_DIRECTION_BIT       0
-#define USBD_TRANSFER_DIRECTION_IN        (1 << USBD_TRANSFER_DIRECTION_BIT)
-#define USBD_SHORT_TRANSFER_OK_BIT        1
-#define USBD_SHORT_TRANSFER_OK            (1 << USBD_SHORT_TRANSFER_OK_BIT)
-#define USBD_START_ISO_TRANSFER_ASAP_BIT  2
-#define USBD_START_ISO_TRANSFER_ASAP      (1 << USBD_START_ISO_TRANSFER_ASAP_BIT)
-#define USBD_DEFAULT_PIPE_TRANSFER_BIT    3
-#define USBD_DEFAULT_PIPE_TRANSFER        (1 << USBD_DEFAULT_PIPE_TRANSFER_BIT)
-
-#define USBD_TRANSFER_DIRECTION_FLAG(flags) ((flags) & USBD_TRANSFER_DIRECTION)
-
-#define VALID_TRANSFER_FLAGS_MASK \
-  (USBD_SHORT_TRANSFER_OK | \
-  USBD_TRANSFER_DIRECTION | \
-  USBD_START_ISO_TRANSFER_ASAP | \
-  USBD_DEFAULT_PIPE_TRANSFER)
-
-#define USB_DEFAULT_DEVICE_ADDRESS        0
-#define USB_DEFAULT_ENDPOINT_ADDRESS      0
-#define USB_DEFAULT_MAX_PACKET            64
-#define USBD_ISO_START_FRAME_RANGE        1024
-#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE  0xFFFFFFFF
-
-typedef enum _USB_CONTROLLER_FLAVOR {
-	USB_HcGeneric = 0,
-	OHCI_Generic = 100,
-	OHCI_Hydra,
-	OHCI_NEC,
-	UHCI_Generic = 200,
-	UHCI_Piix4,
-	UHCI_Piix3,
-	UHCI_Ich2_1,
-	UHCI_Ich2_2,
-	UHCI_Ich1,
-	UHCI_VIA = 250,
-	EHCI_Generic = 1000,
-	EHCI_NEC = 2000,
-	EHCI_Lucent = 3000
-} USB_CONTROLLER_FLAVOR;
-
-struct _URB_HEADER {
-	USHORT  Length;
-	USHORT  Function;
-	USBD_STATUS  Status;
-	PVOID  UsbdDeviceHandle;
-	ULONG  UsbdFlags;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
-	ULONG  USBDI_Version;
-	ULONG  Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-struct _URB_HCD_AREA {
-  PVOID  Reserved8[8];
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
-  struct _URB_HEADER  Hdr;
-  USBD_PIPE_HANDLE  PipeHandle;
-  ULONG  TransferFlags;
-  ULONG  TransferBufferLength;
-  PVOID  TransferBuffer;
-  PMDL  TransferBufferMDL;
-  struct _URB  *UrbLink;
-  struct _URB_HCD_AREA  hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
-  struct _URB_HEADER  Hdr;
-  PVOID  Reserved;
-  ULONG  Reserved0;
-  ULONG  TransferBufferLength;
-  PVOID  TransferBuffer;
-  PMDL  TransferBufferMDL;
-  struct _URB *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	USHORT  Reserved1;
-  UCHAR  Index;
-  UCHAR  DescriptorType;
-  USHORT  LanguageId;
-  USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
-  struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved2;
-	ULONG  Reserved3;
-	PVOID  Reserved4;
-	PMDL  Reserved5;
-  struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	USHORT  Reserved0;
-  USHORT  FeatureSelector;
-  USHORT  Index;
-  USHORT Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
-  struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-  ULONG  TransferBufferLength;
-  PVOID  TransferBuffer;
-  PMDL  TransferBufferMDL;
-  struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[4];
-	USHORT  Interface;
-	USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[4];
-	USHORT  Index;
-	USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
-  struct _URB_HEADER  Hdr;
-  USBD_PIPE_HANDLE  PipeHandle;
-  ULONG  TransferFlags;
-  ULONG  TransferBufferLength;
-  PVOID  TransferBuffer;
-  PMDL TransferBufferMDL;
-  struct _URB  *UrbLink;
-  struct _URB_HCD_AREA  hca;
-  UCHAR  SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  TransferFlags;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  RequestTypeReservedBits;
-	UCHAR  Request;
-	USHORT  Value;
-	USHORT  Index;
-	USHORT  Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
-  struct _URB_HEADER  Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
-  struct _URB_HEADER  Hdr;
-  ULONG  FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
-  struct _URB_HEADER  Hdr;
-  ULONG  FrameLength;
-  ULONG  FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
-  ULONG  Offset;
-  ULONG  Length;
-  USBD_STATUS  Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
-  struct _URB_HEADER  Hdr;
-  USBD_PIPE_HANDLE  PipeHandle;
-  ULONG  TransferFlags;
-  ULONG  TransferBufferLength;
-  PVOID  TransferBuffer;
-  PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-  ULONG  StartFrame;
-  ULONG  NumberOfPackets;
-  ULONG  ErrorCount;
-  USBD_ISO_PACKET_DESCRIPTOR  IsoPacket[1];
-};
-
-typedef enum _USBD_PIPE_TYPE {
-	UsbdPipeTypeControl,
-	UsbdPipeTypeIsochronous,
-	UsbdPipeTypeBulk,
-	UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-typedef struct _USBD_PIPE_INFORMATION {
-  USHORT  MaximumPacketSize;
-  UCHAR  EndpointAddress;
-  UCHAR  Interval;
-  USBD_PIPE_TYPE  PipeType;
-  USBD_PIPE_HANDLE  PipeHandle;
-  ULONG  MaximumTransferSize;
-  ULONG  PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION ;
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
-  ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-typedef struct _USBD_INTERFACE_INFORMATION {
-  USHORT  Length;
-  UCHAR  InterfaceNumber;
-  UCHAR  AlternateSetting;
-  UCHAR  Class;
-  UCHAR  SubClass;
-  UCHAR  Protocol;
-  UCHAR  Reserved;
-  USBD_INTERFACE_HANDLE  InterfaceHandle;
-  ULONG  NumberOfPipes;
-  USBD_PIPE_INFORMATION Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_INTERFACE {
-  struct _URB_HEADER  Hdr;
-  USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
-  USBD_INTERFACE_INFORMATION  Interface;
-};
-
-struct _URB_SELECT_CONFIGURATION {
-  struct _URB_HEADER  Hdr;
-  PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor;
-  USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
-  USBD_INTERFACE_INFORMATION  Interface;
-};
-
-struct _URB_PIPE_REQUEST {
-	struct _URB_HEADER  Hdr;
-	USBD_PIPE_HANDLE  PipeHandle;
-	ULONG  Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
-  struct _URB_HEADER  Hdr;
-  LONG  FrameLengthDelta;
-};
-
-typedef struct _URB {
-  _ANONYMOUS_UNION union {
-		struct _URB_HEADER  UrbHeader;
-		struct _URB_SELECT_INTERFACE  UrbSelectInterface;
-		struct _URB_SELECT_CONFIGURATION  UrbSelectConfiguration;
-		struct _URB_PIPE_REQUEST  UrbPipeRequest;
-		struct _URB_FRAME_LENGTH_CONTROL  UrbFrameLengthControl;
-		struct _URB_GET_FRAME_LENGTH  UrbGetFrameLength;
-		struct _URB_SET_FRAME_LENGTH  UrbSetFrameLength;
-		struct _URB_GET_CURRENT_FRAME_NUMBER  UrbGetCurrentFrameNumber;
-		struct _URB_CONTROL_TRANSFER  UrbControlTransfer;
-		struct _URB_BULK_OR_INTERRUPT_TRANSFER  UrbBulkOrInterruptTransfer;
-		struct _URB_ISOCH_TRANSFER  UrbIsochronousTransfer;
-		struct _URB_CONTROL_DESCRIPTOR_REQUEST  UrbControlDescriptorRequest;
-		struct _URB_CONTROL_GET_STATUS_REQUEST  UrbControlGetStatusRequest;
-		struct _URB_CONTROL_FEATURE_REQUEST  UrbControlFeatureRequest;
-		struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST  UrbControlVendorClassRequest;
-		struct _URB_CONTROL_GET_INTERFACE_REQUEST  UrbControlGetInterfaceRequest;
-		struct _URB_CONTROL_GET_CONFIGURATION_REQUEST  UrbControlGetConfigurationRequest;
-  } DUMMYUNIONNAME;
-} URB, *PURB;
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION            0x0000
-#define URB_FUNCTION_SELECT_INTERFACE                0x0001
-#define URB_FUNCTION_ABORT_PIPE                      0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL       0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL    0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH                0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH                0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER        0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER                0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER      0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER                  0x000A
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE      0x000B
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE        0x000C
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE           0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE        0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT         0x000F
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE         0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE      0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT       0x0012
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE          0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE       0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT        0x0015
-#define URB_FUNCTION_RESERVED_0X0016                 0x0016
-#define URB_FUNCTION_VENDOR_DEVICE                   0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE                0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT                 0x0019
-#define URB_FUNCTION_CLASS_DEVICE                    0x001A
-#define URB_FUNCTION_CLASS_INTERFACE                 0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT                  0x001C
-#define URB_FUNCTION_RESERVE_0X001D                  0x001D
-#define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL 0x001E
-#define URB_FUNCTION_CLASS_OTHER                     0x001F
-#define URB_FUNCTION_VENDOR_OTHER                    0x0020
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER           0x0021
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER          0x0022
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER            0x0023
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT    0x0024
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT      0x0025
-#define URB_FUNCTION_GET_CONFIGURATION               0x0026
-#define URB_FUNCTION_GET_INTERFACE                   0x0027
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE   0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE     0x0029
-#define URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR       0x002A
-#define URB_FUNCTION_RESERVE_0X002B                  0x002B
-#define URB_FUNCTION_RESERVE_0X002C                  0x002C
-#define URB_FUNCTION_RESERVE_0X002D                  0x002D
-#define URB_FUNCTION_RESERVE_0X002E                  0x002E
-#define URB_FUNCTION_RESERVE_0X002F                  0x002F
-#define URB_FUNCTION_SYNC_RESET_PIPE                 0x0030
-#define URB_FUNCTION_SYNC_CLEAR_STALL                0x0031
-
-#define USBD_PF_CHANGE_MAX_PACKET         0x00000001
-#define USBD_PF_SHORT_PACKET_OPT          0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS   0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS         0x00000008
-
-#define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | \
-                            USBD_PF_SHORT_PACKET_OPT | \
-                            USBD_PF_ENABLE_RT_THREAD_ACCESS | \
-                            USBD_PF_MAP_ADD_TRANSFERS)
-
-#define OS_STRING_DESCRIPTOR_INDEX        0xEE
-
-#define MS_GENRE_DESCRIPTOR_INDEX         0x0001
-#define MS_POWER_DESCRIPTOR_INDEX         0x0002
-
-#define MS_OS_STRING_SIGNATURE            L"MSFT100"
-
-typedef struct _OS_STRING {
-	UCHAR  bLength;
-	UCHAR  bDescriptorType;
-	WCHAR  MicrosoftString[7];
-	UCHAR  bVendorCode;
-	UCHAR  bPad;
-} OS_STRING, *POS_STRING;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USBDI_H */
-
-#endif /* __USB_H */
Index: Daodan/MinGW/include/ddk/usb100.h
===================================================================
--- Daodan/MinGW/include/ddk/usb100.h	(revision 1046)
+++ 	(revision )
@@ -1,237 +1,0 @@
-/*
- * usb100.h
- *
- * USB 1.0 support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USB100_H
-#define __USB100_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define MAXIMUM_USB_STRING_LENGTH         255
-
-#define USB_DEVICE_CLASS_RESERVED           0x00
-#define USB_DEVICE_CLASS_AUDIO              0x01
-#define USB_DEVICE_CLASS_COMMUNICATIONS     0x02
-#define USB_DEVICE_CLASS_HUMAN_INTERFACE    0x03
-#define USB_DEVICE_CLASS_MONITOR            0x04
-#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
-#define USB_DEVICE_CLASS_POWER              0x06
-#define USB_DEVICE_CLASS_PRINTER            0x07
-#define USB_DEVICE_CLASS_STORAGE            0x08
-#define USB_DEVICE_CLASS_HUB                0x09
-#define USB_DEVICE_CLASS_VENDOR_SPECIFIC    0xFF
-
-#define USB_RESERVED_DESCRIPTOR_TYPE        0x06
-#define USB_CONFIG_POWER_DESCRIPTOR_TYPE    0x07
-#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08
-
-#define USB_REQUEST_GET_STATUS            0x00
-#define USB_REQUEST_CLEAR_FEATURE         0x01
-#define USB_REQUEST_SET_FEATURE           0x03
-#define USB_REQUEST_SET_ADDRESS           0x05
-#define USB_REQUEST_GET_DESCRIPTOR        0x06
-#define USB_REQUEST_SET_DESCRIPTOR        0x07
-#define USB_REQUEST_GET_CONFIGURATION     0x08
-#define USB_REQUEST_SET_CONFIGURATION     0x09
-#define USB_REQUEST_GET_INTERFACE         0x0A
-#define USB_REQUEST_SET_INTERFACE         0x0B
-#define USB_REQUEST_SYNC_FRAME            0x0C
-
-#define USB_GETSTATUS_SELF_POWERED            0x01
-#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED   0x02
-
-#define BMREQUEST_HOST_TO_DEVICE          0
-#define BMREQUEST_DEVICE_TO_HOST          1
-
-#define BMREQUEST_STANDARD                0
-#define BMREQUEST_CLASS                   1
-#define BMREQUEST_VENDOR                  2
-
-#define BMREQUEST_TO_DEVICE               0
-#define BMREQUEST_TO_INTERFACE            1
-#define BMREQUEST_TO_ENDPOINT             2
-#define BMREQUEST_TO_OTHER                3
-
-/* USB_COMMON_DESCRIPTOR.bDescriptorType constants */
-#define USB_DEVICE_DESCRIPTOR_TYPE        0x01
-#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
-#define USB_STRING_DESCRIPTOR_TYPE        0x03
-#define USB_INTERFACE_DESCRIPTOR_TYPE     0x04
-#define USB_ENDPOINT_DESCRIPTOR_TYPE      0x05
-
-typedef struct _USB_COMMON_DESCRIPTOR {
-	UCHAR  bLength;
-	UCHAR  bDescriptorType;
-} USB_COMMON_DESCRIPTOR, *PUSB_COMMON_DESCRIPTOR;
-
-#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d << 8 | i))
-
-/* USB_CONFIGURATION_DESCRIPTOR.bmAttributes constants */
-#define USB_CONFIG_POWERED_MASK           0xc0
-#define USB_CONFIG_BUS_POWERED            0x80
-#define USB_CONFIG_SELF_POWERED           0x40
-#define USB_CONFIG_REMOTE_WAKEUP          0x20
-
-#include <pshpack1.h>
-typedef struct _USB_CONFIGURATION_DESCRIPTOR {
-  UCHAR  bLength;
-  UCHAR  bDescriptorType;
-  USHORT  wTotalLength;
-  UCHAR  bNumInterfaces;
-  UCHAR  bConfigurationValue;
-  UCHAR  iConfiguration;
-  UCHAR  bmAttributes;
-  UCHAR  MaxPower;
-} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _USB_DEVICE_DESCRIPTOR {
-  UCHAR  bLength;
-  UCHAR  bDescriptorType;
-  USHORT  bcdUSB;
-  UCHAR  bDeviceClass;
-  UCHAR  bDeviceSubClass;
-  UCHAR  bDeviceProtocol;
-  UCHAR  bMaxPacketSize0;
-  USHORT  idVendor;
-  USHORT  idProduct;
-  USHORT  bcdDevice;
-  UCHAR  iManufacturer;
-  UCHAR  iProduct;
-  UCHAR  iSerialNumber;
-  UCHAR  bNumConfigurations;
-} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
-
-#define USB_ENDPOINT_DIRECTION_MASK       0x80
-
-#define USB_ENDPOINT_DIRECTION_OUT(x) (!((x) & USB_ENDPOINT_DIRECTION_MASK))
-#define USB_ENDPOINT_DIRECTION_IN(x) ((x) & USB_ENDPOINT_DIRECTION_MASK)
-
-/* USB_ENDPOINT_DESCRIPTOR.bmAttributes constants */
-#define USB_ENDPOINT_TYPE_MASK            0x03
-#define USB_ENDPOINT_TYPE_CONTROL         0x00
-#define USB_ENDPOINT_TYPE_ISOCHRONOUS     0x01
-#define USB_ENDPOINT_TYPE_BULK            0x02
-#define USB_ENDPOINT_TYPE_INTERRUPT       0x03
-
-#include <pshpack1.h>
-typedef struct _USB_ENDPOINT_DESCRIPTOR {
-  UCHAR  bLength;
-  UCHAR  bDescriptorType;
-  UCHAR  bEndpointAddress;
-  UCHAR  bmAttributes;
-  USHORT  wMaxPacketSize;
-  UCHAR  bInterval;
-} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_FEATURE_ENDPOINT_STALL        0x0000
-#define USB_FEATURE_REMOTE_WAKEUP         0x0001
-
-typedef struct _USB_INTERFACE_DESCRIPTOR {
-  UCHAR  bLength;
-  UCHAR  bDescriptorType;
-  UCHAR  bInterfaceNumber;
-  UCHAR  bAlternateSetting;
-  UCHAR  bNumEndpoints;
-  UCHAR  bInterfaceClass;
-  UCHAR  bInterfaceSubClass;
-  UCHAR  bInterfaceProtocol;
-  UCHAR  iInterface;
-} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
-
-typedef struct _USB_STRING_DESCRIPTOR {
-  UCHAR  bLength;
-  UCHAR  bDescriptorType;
-  WCHAR  bString[1];
-} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
-
-#include <pshpack1.h>
-typedef struct _USB_HUB_DESCRIPTOR {
-	UCHAR  bDescriptorLength;
-	UCHAR  bDescriptorType;
-	UCHAR  bNumberOfPorts;
-	USHORT  wHubCharacteristics;
-	UCHAR  bPowerOnToPowerGood;
-	UCHAR  bHubControlCurrent;
-	UCHAR  bRemoveAndPowerMask[64];
-} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_SUPPORT_D0_COMMAND            0x01
-#define USB_SUPPORT_D1_COMMAND            0x02
-#define USB_SUPPORT_D2_COMMAND            0x04
-#define USB_SUPPORT_D3_COMMAND            0x08
-
-#define USB_SUPPORT_D1_WAKEUP             0x10
-#define USB_SUPPORT_D2_WAKEUP             0x20
-
-typedef struct _USB_CONFIGURATION_POWER_DESCRIPTOR {
-	UCHAR  bLength;
-	UCHAR  bDescriptorType;
-	UCHAR  SelfPowerConsumedD0[3];
-	UCHAR  bPowerSummaryId;
-	UCHAR  bBusPowerSavingD1;
-	UCHAR  bSelfPowerSavingD1;
-	UCHAR  bBusPowerSavingD2;
-	UCHAR  bSelfPowerSavingD2;
-	UCHAR  bBusPowerSavingD3;
-	UCHAR  bSelfPowerSavingD3;
-	USHORT  TransitionTimeFromD1;
-	USHORT  TransitionTimeFromD2;
-	USHORT  TransitionTimeFromD3;
-} USB_CONFIGURATION_POWER_DESCRIPTOR, *PUSB_CONFIGURATION_POWER_DESCRIPTOR;
-
-#define USB_FEATURE_INTERFACE_POWER_D0    0x0002
-#define USB_FEATURE_INTERFACE_POWER_D1    0x0003
-#define USB_FEATURE_INTERFACE_POWER_D2    0x0004
-#define USB_FEATURE_INTERFACE_POWER_D3    0x0005
-
-#include <pshpack1.h>
-typedef struct _USB_INTERFACE_POWER_DESCRIPTOR {
-	UCHAR  bLength;
-	UCHAR  bDescriptorType;
-	UCHAR  bmCapabilitiesFlags;
-	UCHAR  bBusPowerSavingD1;
-	UCHAR  bSelfPowerSavingD1;
-	UCHAR  bBusPowerSavingD2;
-	UCHAR  bSelfPowerSavingD2;
-	UCHAR  bBusPowerSavingD3;
-	UCHAR  bSelfPowerSavingD3;
-	USHORT  TransitionTimeFromD1;
-	USHORT  TransitionTimeFromD2;
-	USHORT  TransitionTimeFromD3;
-} USB_INTERFACE_POWER_DESCRIPTOR, *PUSB_INTERFACE_POWER_DESCRIPTOR;
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USB100_H */
Index: Daodan/MinGW/include/ddk/usbcamdi.h
===================================================================
--- Daodan/MinGW/include/ddk/usbcamdi.h	(revision 1046)
+++ 	(revision )
@@ -1,404 +1,0 @@
-/*
- * usbcamdi.h
- *
- * USB Camera driver interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBCAMDI_H
-#define __USBCAMDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if !defined(__USB_H) && !defined(__USBDI_H)
-#error include usb.h or usbdi.h before usbcamdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
-  #define USBCAMAPI DECLSPEC_EXPORT
-#else
-  #define USBCAMAPI DECLSPEC_IMPORT
-#endif
-
-
-/* FIXME: Unknown definition */
-typedef PVOID PHW_STREAM_REQUEST_BLOCK;
-
-DEFINE_GUID(GUID_USBCAMD_INTERFACE,
-  0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5);
-
-#define USBCAMD_PROCESSPACKETEX_DropFrame             0x0002
-#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill      0x0004
-#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill   0x0008
-
-#define USBCAMD_DATA_PIPE                 0x0001
-#define USBCAMD_MULTIPLEX_PIPE            0x0002
-#define USBCAMD_SYNC_PIPE                 0x0004
-#define USBCAMD_DONT_CARE_PIPE            0x0008
-
-#define USBCAMD_VIDEO_STREAM              0x1
-#define USBCAMD_STILL_STREAM              0x2
-#define USBCAMD_VIDEO_STILL_STREAM        (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
-
-#define USBCAMD_STOP_STREAM               0x00000001
-#define USBCAMD_START_STREAM              0x00000000
-
-typedef struct _pipe_config_descriptor {
-  CHAR  StreamAssociation;
-  UCHAR  PipeConfigFlags;
-} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
-
-typedef enum {
-	USBCAMD_CamControlFlag_NoVideoRawProcessing = 1,
-	USBCAMD_CamControlFlag_NoStillRawProcessing = 2,
-	USBCAMD_CamControlFlag_AssociatedFormat = 4,
-	USBCAMD_CamControlFlag_EnableDeviceEvents = 8
-} USBCAMD_CamControlFlags;
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PULONG  RawFrameLength,
-  PVOID  Format);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PULONG  RawFrameLength,
-  PVOID  Format,
-  ULONG  StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PUSBD_INTERFACE_INFORMATION  Interface,
-  PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor,
-  PLONG  DataPipeIndex,
-  PLONG  SyncPipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PUSBD_INTERFACE_INFORMATION  Interface,
-  PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor,
-  ULONG  PipeConfigListSize,
-  PUSBCAMD_Pipe_Config_Descriptor  PipeConfig,
-  PUSB_DEVICE_DESCRIPTOR  DeviceDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  ULONG  StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_INITIALIZE_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE)(
-  PVOID  DeviceContext,
-  PVOID  FrameContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE_EX)(
-  PVOID  DeviceContext,
-  PVOID  FrameContext,
-  ULONG  StreamNumber,
-  PULONG  FrameLength);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PVOID  FrameContext,
-  PVOID  FrameBuffer,
-  ULONG  FrameLength,
-  PVOID  RawFrameBuffer,
-  ULONG  RawFrameLength,
-  ULONG  NumberOfPackets,
-  PULONG  BytesReturned);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PVOID  FrameContext,
-  PVOID  FrameBuffer,
-  ULONG  FrameLength,
-  PVOID  RawFrameBuffer,
-  ULONG  RawFrameLength,
-  ULONG  NumberOfPackets,
-  PULONG  BytesReturned,
-  ULONG  ActualRawFrameLength,
-  ULONG  StreamNumber);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PVOID  CurrentFrameContext,
-  PUSBD_ISO_PACKET_DESCRIPTOR  SyncPacket,
-  PVOID  SyncBuffer,
-  PUSBD_ISO_PACKET_DESCRIPTOR  DataPacket,
-  PVOID  DataBuffer,
-  PBOOLEAN  FrameComplete,
-  PBOOLEAN  NextFrameIsStill);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  PVOID  CurrentFrameContext,
-  PUSBD_ISO_PACKET_DESCRIPTOR  SyncPacket,
-  PVOID  SyncBuffer,
-  PUSBD_ISO_PACKET_DESCRIPTOR  DataPacket,
-  PVOID  DataBuffer,
-  PBOOLEAN  FrameComplete,
-  PULONG  PacketFlag,
-  PULONG  ValidDataOffset);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STATE_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  ULONG  StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE_EX)(
-  PDEVICE_OBJECT  BusDeviceObject,
-  PVOID  DeviceContext,
-  ULONG  StreamNumber);
-
-typedef struct _USBCAMD_DEVICE_DATA {
-	ULONG  Sig;
-	PCAM_INITIALIZE_ROUTINE  CamInitialize;
-	PCAM_INITIALIZE_ROUTINE  CamUnInitialize;
-	PCAM_PROCESS_PACKET_ROUTINE  CamProcessUSBPacket;
-	PCAM_NEW_FRAME_ROUTINE  CamNewVideoFrame;
-	PCAM_PROCESS_RAW_FRAME_ROUTINE  CamProcessRawVideoFrame;
-	PCAM_START_CAPTURE_ROUTINE  CamStartCapture;
-	PCAM_STOP_CAPTURE_ROUTINE  CamStopCapture;
-	PCAM_CONFIGURE_ROUTINE  CamConfigure;
-	PCAM_STATE_ROUTINE  CamSaveState;
-	PCAM_STATE_ROUTINE  CamRestoreState;
-	PCAM_ALLOCATE_BW_ROUTINE  CamAllocateBandwidth;
-	PCAM_FREE_BW_ROUTINE  CamFreeBandwidth;
-} USBCAMD_DEVICE_DATA, *PUSBCAMD_DEVICE_DATA;
-
-typedef struct _USBCAMD_DEVICE_DATA2 {
-	ULONG  Sig;
-	PCAM_INITIALIZE_ROUTINE  CamInitialize;
-	PCAM_INITIALIZE_ROUTINE  CamUnInitialize;
-	PCAM_PROCESS_PACKET_ROUTINE_EX  CamProcessUSBPacketEx;
-	PCAM_NEW_FRAME_ROUTINE_EX  CamNewVideoFrameEx;
-	PCAM_PROCESS_RAW_FRAME_ROUTINE_EX  CamProcessRawVideoFrameEx;
-	PCAM_START_CAPTURE_ROUTINE_EX  CamStartCaptureEx;
-	PCAM_STOP_CAPTURE_ROUTINE_EX  CamStopCaptureEx;
-	PCAM_CONFIGURE_ROUTINE_EX  CamConfigureEx;
-	PCAM_STATE_ROUTINE  CamSaveState;
-	PCAM_STATE_ROUTINE  CamRestoreState;
-	PCAM_ALLOCATE_BW_ROUTINE_EX  CamAllocateBandwidthEx;
-	PCAM_FREE_BW_ROUTINE_EX  CamFreeBandwidthEx;
-} USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2;
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_InitializeNewInterface(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PVOID  DeviceData,
-  /*IN*/ ULONG  Version,
-  /*IN*/ ULONG  CamControlFlag);
-
-typedef VOID DDKAPI
-(*PCOMMAND_COMPLETE_FUNCTION)(
-  PVOID  DeviceContext,
-  PVOID  CommandContext,
-  NTSTATUS  NtStatus);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_BulkReadWrite)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ USHORT  PipeIndex,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ PCOMMAND_COMPLETE_FUNCTION  CommandComplete,
-  /*IN*/ PVOID  CommandContext);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetIsoPipeState)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ ULONG  PipeStateFlags);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_CancelBulkReadWrite)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ ULONG  PipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetVideoFormat)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PHW_STREAM_REQUEST_BLOCK  pSrb);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_WaitOnDeviceEvent)(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ ULONG  PipeIndex,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  BufferLength,
-  /*IN*/ PCOMMAND_COMPLETE_FUNCTION  EventComplete,
-  /*IN*/ PVOID  EventContext,
-  /*IN*/ BOOLEAN  LoopBack);
-
-USBCAMAPI
-PVOID
-DDKAPI
-USBCAMD_AdapterReceivePacket(
-  /*IN*/ PHW_STREAM_REQUEST_BLOCK  Srb,
-  /*IN*/ PUSBCAMD_DEVICE_DATA  DeviceData,
-  /*IN*/ PDEVICE_OBJECT  *DeviceObject,
-  /*IN*/ BOOLEAN  NeedsCompletion);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_ControlVendorCommand(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ UCHAR  Request,
-  /*IN*/ USHORT  Value,
-  /*IN*/ USHORT  Index,
-  /*IN*/ PVOID  Buffer,
-  /*IN OUT*/ PULONG  BufferLength,
-  /*IN*/ BOOLEAN  GetData,
-  /*IN*/ PCOMMAND_COMPLETE_FUNCTION  CommandComplete,
-  /*IN*/ PVOID  CommandContext);
-
-typedef VOID DDKAPI
-(*PADAPTER_RECEIVE_PACKET_ROUTINE)(
-  /*IN*/ PHW_STREAM_REQUEST_BLOCK  Srb);
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_DriverEntry(
-  PVOID  Context1,
-  PVOID  Context2,
-  ULONG  DeviceContextSize,
-  ULONG  FrameContextSize,
-  PADAPTER_RECEIVE_PACKET_ROUTINE  ReceivePacket);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_GetRegistryKeyValue(
-  /*IN*/ HANDLE  Handle,
-  /*IN*/ PWCHAR  KeyNameString,
-  /*IN*/ ULONG  KeyNameStringLength,
-  /*IN*/ PVOID  Data,
-  /*IN*/ ULONG  DataLength);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_SelectAlternateInterface(
-  /*IN*/ PVOID  DeviceContext,
-  /*IN OUT*/ PUSBD_INTERFACE_INFORMATION  RequestInterface);
-
-#define USBCAMD_VERSION_200               0x200
-
-typedef struct _USBCAMD_INTERFACE {
-  INTERFACE  Interface;
-  PFNUSBCAMD_WaitOnDeviceEvent  USBCAMD_WaitOnDeviceEvent;
-  PFNUSBCAMD_BulkReadWrite  USBCAMD_BulkReadWrite;
-  PFNUSBCAMD_SetVideoFormat  USBCAMD_SetVideoFormat;
-  PFNUSBCAMD_SetIsoPipeState  USBCAMD_SetIsoPipeState;
-  PFNUSBCAMD_CancelBulkReadWrite  USBCAMD_CancelBulkReadWrite;
-} USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE;
-
-typedef VOID DDKAPI
-(*PSTREAM_RECEIVE_PACKET)(
-  /*IN*/ PVOID  Srb,
-  /*IN*/ PVOID  DeviceContext,
-  /*IN*/ PBOOLEAN  Completed);
-
-#if defined(DEBUG_LOG)
-
-USBCAMAPI
-VOID
-DDKAPI
-USBCAMD_Debug_LogEntry(
-  /*IN*/ CHAR  *Name,
-  /*IN*/ ULONG  Info1,
-  /*IN*/ ULONG  Info2,
-  /*IN*/ ULONG  Info3);
-
-#define ILOGENTRY(sig, info1, info2, info3) \
-  USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3)
-
-#else
-
-#define ILOGENTRY(sig, info1, info2, info3)
-
-#endif /* DEBUG_LOG */
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(__USB_H) && !defined(__USBDI_H) */
-
-
-#endif /* __USBCAMDI_H */
Index: Daodan/MinGW/include/ddk/usbdi.h
===================================================================
--- Daodan/MinGW/include/ddk/usbdi.h	(revision 1046)
+++ 	(revision )
@@ -1,407 +1,0 @@
-/*
- * usbdi.h
- *
- * USBD and USB device driver definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBDI_H
-#define __USBDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USB_H
-#error usb.h cannot be included with usbdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usbioctl.h"
-
-#define USBDI_VERSION                     0x300
-
-#define USB_DEFAULT_DEVICE_ADDRESS        0
-#define USB_DEFAULT_ENDPOINT_ADDRESS      0
-#define USB_DEFAULT_MAX_PACKET            64
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION           0x0000
-#define URB_FUNCTION_SELECT_INTERFACE               0x0001
-#define URB_FUNCTION_ABORT_PIPE                     0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL      0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL   0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH               0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH               0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER       0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER               0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER     0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER                 0x000A
-#define URB_FUNCTION_RESET_PIPE                     0x001E
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE     0x000B
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT   0x0024
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE  0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE       0x000C
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT     0x0025
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE    0x0029
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE          0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE       0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT        0x000F
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER           0x0023
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE        0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE     0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT      0x0012
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER         0x0022
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE         0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE      0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT       0x0015
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER          0x0021
-#define URB_FUNCTION_RESERVED0                      0x0016
-#define URB_FUNCTION_VENDOR_DEVICE                  0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE               0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT                0x0019
-#define URB_FUNCTION_VENDOR_OTHER                   0x0020
-#define URB_FUNCTION_CLASS_DEVICE                   0x001A
-#define URB_FUNCTION_CLASS_INTERFACE                0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT                 0x001C
-#define URB_FUNCTION_CLASS_OTHER                    0x001F
-#define URB_FUNCTION_RESERVED                       0x001D
-#define URB_FUNCTION_GET_CONFIGURATION              0x0026
-#define URB_FUNCTION_GET_INTERFACE                  0x0027
-#define URB_FUNCTION_LAST                           0x0029
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-#define USBD_HALTED(Status) ((ULONG)(Status) >> 30 == 3)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_STATUS(Status) ((ULONG)(Status) & 0x0FFFFFFFL)
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-
-#define USBD_STATUS_SUCCESS               ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING               ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_HALTED                ((USBD_STATUS)0xC0000000L)
-#define USBD_STATUS_ERROR                 ((USBD_STATUS)0x80000000L)
-#define USBD_STATUS_NO_MEMORY             ((USBD_STATUS)0x80000100L)
-#define USBD_STATUS_INVALID_URB_FUNCTION  ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER     ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY            ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_REQUEST_FAILED        ((USBD_STATUS)0x80000500L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE   ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH          ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR     ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER  ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_CRC                   ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF               ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH  ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID             ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING    ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE     ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID        ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN          ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN         ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1             ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2             ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN        ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN       ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED          ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO                  ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_ENDPOINT_HALTED       ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_BAD_START_FRAME       ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED  ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED   ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
-                                          ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
-                                          ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_CANCELING             ((USBD_STATUS)0x00020000L)
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
-  ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-struct _URB_HEADER {
-	USHORT  Length;
-	USHORT  Function;
-	USBD_STATUS  Status;
-	PVOID  UsbdDeviceHandle;
-	ULONG  UsbdFlags;
-};
-
-struct _URB_HCD_AREA {
-	PVOID  HcdEndpoint;
-	PIRP  HcdIrp;
-	LIST_ENTRY  HcdListEntry;
-	LIST_ENTRY  HcdListEntry2;
-	PVOID  HcdCurrentIoFlushPointer;
-	PVOID  HcdExtension;
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
-	struct _URB_HEADER  Hdr;
-	USBD_PIPE_HANDLE  PipeHandle;
-	ULONG  TransferFlags;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	USHORT  Reserved1;
-	UCHAR  Index;
-	UCHAR  DescriptorType;
-	USHORT  LanguageId;
-	USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved2;
-	ULONG  Reserved3;
-	PVOID  Reserved4;
-	PMDL  Reserved5;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	USHORT  Reserved0;
-	USHORT  FeatureSelector;
-	USHORT  Index;
-	USHORT  Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[4];
-	USHORT  Interface;
-	USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  Reserved0;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  Reserved1[4];
-	USHORT  Index;
-	USHORT  Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
-	struct _URB_HEADER  Hdr;
-	USBD_PIPE_HANDLE  PipeHandle;
-	ULONG  TransferFlags;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
-	struct _URB_HEADER  Hdr;
-	PVOID  Reserved;
-	ULONG  TransferFlags;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	UCHAR  RequestTypeReservedBits;
-	UCHAR  Request;
-	USHORT  Value;
-	USHORT  Index;
-	USHORT  Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
-	struct _URB_HEADER  Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
-	struct _URB_HEADER  Hdr;
-	ULONG  FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
-	struct _URB_HEADER  Hdr;
-	ULONG  FrameLength;
-	ULONG  FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
-  ULONG  Offset;
-  ULONG  Length;
-  USBD_STATUS  Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
-	struct _URB_HEADER  Hdr;
-	USBD_PIPE_HANDLE  PipeHandle;
-	ULONG  TransferFlags;
-	ULONG  TransferBufferLength;
-	PVOID  TransferBuffer;
-	PMDL  TransferBufferMDL;
-	struct _URB  *UrbLink;
-	struct _URB_HCD_AREA  hca;
-	ULONG  StartFrame;
-	ULONG  NumberOfPackets;
-	ULONG  ErrorCount;
-	USBD_ISO_PACKET_DESCRIPTOR  IsoPacket[1];
-};
-
-struct _URB_PIPE_REQUEST {
-	struct _URB_HEADER  Hdr;
-	USBD_PIPE_HANDLE  PipeHandle;
-	ULONG  Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
-	struct _URB_HEADER  Hdr;
-	LONG  FrameLengthDelta;
-};
-
-typedef struct _USBD_DEVICE_INFORMATION {
-	ULONG  OffsetNext;
-	PVOID  UsbdDeviceHandle;
-	USB_DEVICE_DESCRIPTOR  DeviceDescriptor;
-} USBD_DEVICE_INFORMATION, *PUSBD_DEVICE_INFORMATION;
-
-typedef enum _USBD_PIPE_TYPE {
-	UsbdPipeTypeControl,
-	UsbdPipeTypeIsochronous,
-	UsbdPipeTypeBulk,
-	UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-/* USBD_PIPE_INFORMATION.PipeFlags constants */
-#define USBD_PF_CHANGE_MAX_PACKET         0x00000001
-#define USBD_PF_DOUBLE_BUFFER             0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS   0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS         0x00000008
-
-typedef struct _USBD_PIPE_INFORMATION {
-  USHORT  MaximumPacketSize;
-  UCHAR  EndpointAddress;
-  UCHAR  Interval;
-  USBD_PIPE_TYPE  PipeType;
-  USBD_PIPE_HANDLE  PipeHandle;
-  ULONG  MaximumTransferSize;
-  ULONG  PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION;
-
-typedef struct _USBD_INTERFACE_INFORMATION {
-  USHORT  Length;
-  UCHAR  InterfaceNumber;
-  UCHAR  AlternateSetting;
-  UCHAR  Class;
-  UCHAR  SubClass;
-  UCHAR  Protocol;
-  UCHAR  Reserved;
-  USBD_INTERFACE_HANDLE  InterfaceHandle;
-  ULONG  NumberOfPipes;
-  USBD_PIPE_INFORMATION  Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_CONFIGURATION {
-	struct _URB_HEADER  Hdr;
-	PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor;
-	USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
-	USBD_INTERFACE_INFORMATION  Interface;
-};
-
-struct _URB_SELECT_INTERFACE {
-	struct _URB_HEADER  Hdr;
-	USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
-	USBD_INTERFACE_INFORMATION  Interface;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
-	ULONG  USBDI_Version;
-	ULONG  Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-typedef struct _URB {
-	union {
-		struct _URB_HEADER  UrbHeader;
-		struct _URB_SELECT_INTERFACE  UrbSelectInterface;
-		struct _URB_SELECT_CONFIGURATION  UrbSelectConfiguration;
-		struct _URB_PIPE_REQUEST  UrbPipeRequest;
-		struct _URB_FRAME_LENGTH_CONTROL  UrbFrameLengthControl;
-		struct _URB_GET_FRAME_LENGTH  UrbGetFrameLength;
-		struct _URB_SET_FRAME_LENGTH  UrbSetFrameLength;
-		struct _URB_GET_CURRENT_FRAME_NUMBER  UrbGetCurrentFrameNumber;
-		struct _URB_CONTROL_TRANSFER  UrbControlTransfer;
-		struct _URB_BULK_OR_INTERRUPT_TRANSFER  UrbBulkOrInterruptTransfer;
-		struct _URB_ISOCH_TRANSFER  UrbIsochronousTransfer;
-		struct _URB_CONTROL_DESCRIPTOR_REQUEST  UrbControlDescriptorRequest;
-		struct _URB_CONTROL_GET_STATUS_REQUEST  UrbControlGetStatusRequest;
-		struct _URB_CONTROL_FEATURE_REQUEST  UrbControlFeatureRequest;
-		struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST  UrbControlVendorClassRequest;
-		struct _URB_CONTROL_GET_INTERFACE_REQUEST  UrbControlGetInterfaceRequest;
-		struct _URB_CONTROL_GET_CONFIGURATION_REQUEST  UrbControlGetConfigurationRequest;
-	};
-} URB, *PURB;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USB_H */
-
-#endif /* __USBDI_H */
Index: Daodan/MinGW/include/ddk/usbioctl.h
===================================================================
--- Daodan/MinGW/include/ddk/usbioctl.h	(revision 1046)
+++ 	(revision )
@@ -1,353 +1,0 @@
-/*
- * usbioctl.h
- *
- * USB IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBIOCTL_H
-#define __USBIOCTL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-#include "usbiodef.h"
-
-#define USBD_PORT_ENABLED                 1
-#define USBD_PORT_CONNECTED               2
-
-#define IOCTL_INTERNAL_USB_CYCLE_PORT \
-  CTL_CODE(FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_ENABLE_PORT \
-  CTL_CODE(FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUS_INFO \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_COUNT \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_NAME \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PORT_STATUS \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_RESET_PORT \
-  CTL_CODE(FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION \
-  CTL_CODE(FILE_DEVICE_USB, USB_IDLE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_URB  \
-  CTL_CODE(FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_ON \
-  CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF \
-  CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF \
-  CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON \
-  CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_HUB_CAPABILITIES \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_ROOT_HUB_NAME \
-  CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_GET_HCD_DRIVERKEY_NAME \
-  CTL_CODE(FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_INFORMATION \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_ATTRIBUTES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_NAME \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME \
-  CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_DISABLE_PORT \
-  CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_ENABLE_PORT \
-  CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_1 \
-  CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_2 \
-  CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _USB_HUB_CAPABILITIES {
-  ULONG  HubIs2xCapable : 1;
-} USB_HUB_CAPABILITIES, *PUSB_HUB_CAPABILITIES;
-
-typedef enum _USB_CONNECTION_STATUS {
-	NoDeviceConnected,
-	DeviceConnected,
-	DeviceFailedEnumeration,
-	DeviceGeneralFailure,
-	DeviceCausedOvercurrent,
-	DeviceNotEnoughPower,
-	DeviceNotEnoughBandwidth,
-	DeviceHubNestedTooDeeply,
-	DeviceInLegacyHub
-} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS;
-
-#include <pshpack1.h>
-
-typedef struct _USB_DESCRIPTOR_REQUEST {
-	ULONG  ConnectionIndex;
-	struct {
-		UCHAR  bmRequest;
-		UCHAR  bRequest;
-		USHORT  wValue;
-		USHORT  wIndex;
-		USHORT  wLength;
-	} SetupPacket;
-	UCHAR  Data[0];
-} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;
-
-typedef struct _USB_HCD_DRIVERKEY_NAME {
-	ULONG  ActualLength;
-	WCHAR  DriverKeyName[1];
-} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME;
-
-typedef struct _HCD_ISO_STAT_COUNTERS {
-	USHORT  LateUrbs;
-	USHORT  DoubleBufferedPackets;
-	USHORT  TransfersCF_5ms;
-	USHORT  TransfersCF_2ms;
-	USHORT  TransfersCF_1ms;
-	USHORT  MaxInterruptLatency;
-	USHORT  BadStartFrame;
-	USHORT  StaleUrbs;
-	USHORT  IsoPacketNotAccesed;
-	USHORT  IsoPacketHWError;
-	USHORT  SmallestUrbPacketCount;
-	USHORT  LargestUrbPacketCount;
-	USHORT  IsoCRC_Error;
-	USHORT  IsoOVERRUN_Error;
-	USHORT  IsoINTERNAL_Error;
-	USHORT  IsoUNKNOWN_Error;
-	ULONG  IsoBytesTransferred;
-	USHORT  LateMissedCount;
-	USHORT  HWIsoMissedCount;
-	ULONG  Reserved7[8];
-} HCD_ISO_STAT_COUNTERS, *PHCD_ISO_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_COUNTERS {
-	ULONG  BytesTransferred;
-	USHORT  IsoMissedCount;
-	USHORT  DataOverrunErrorCount;
-	USHORT  CrcErrorCount;
-	USHORT  ScheduleOverrunCount;
-	USHORT  TimeoutErrorCount;
-	USHORT  InternalHcErrorCount;
-	USHORT  BufferOverrunErrorCount;
-	USHORT  SWErrorCount;
-	USHORT  StallPidCount;
-	USHORT  PortDisableCount;
-} HCD_STAT_COUNTERS, *PHCD_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_INFORMATION_1 {
-	ULONG  Reserved1;
-	ULONG  Reserved2;
-	ULONG  ResetCounters;
-	LARGE_INTEGER  TimeRead;
-	HCD_STAT_COUNTERS  Counters;
-} HCD_STAT_INFORMATION_1, *PHCD_STAT_INFORMATION_1;
-
-typedef struct _HCD_STAT_INFORMATION_2 {
-	ULONG  Reserved1;
-	ULONG  Reserved2;
-	ULONG  ResetCounters;
-	LARGE_INTEGER  TimeRead;
-	LONG  LockedMemoryUsed;
-	HCD_STAT_COUNTERS  Counters;
-	HCD_ISO_STAT_COUNTERS  IsoCounters;
-} HCD_STAT_INFORMATION_2, *PHCD_STAT_INFORMATION_2;
-
-typedef struct _USB_HUB_INFORMATION {
-	USB_HUB_DESCRIPTOR  HubDescriptor;
-	BOOLEAN  HubIsBusPowered;
-} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION;
-
-typedef struct _USB_HUB_NAME {
-	ULONG  ActualLength;
-	WCHAR  HubName[1];
-} USB_HUB_NAME, *PUSB_HUB_NAME;
-
-typedef enum _USB_HUB_NODE {
-	UsbHub,
-	UsbMIParent
-} USB_HUB_NODE;
-
-typedef VOID STDCALL
-(*USB_IDLE_CALLBACK)(
-  PVOID  Context);
-
-typedef struct _USB_IDLE_CALLBACK_INFO {
-	USB_IDLE_CALLBACK  IdleCallback;
-	PVOID  IdleContext;
-} USB_IDLE_CALLBACK_INFO, *PUSB_IDLE_CALLBACK_INFO;
-
-typedef struct _USB_NODE_CONNECTION_ATTRIBUTES {
-	ULONG  ConnectionIndex;
-	USB_CONNECTION_STATUS  ConnectionStatus;
-	ULONG  PortAttributes;
-} USB_NODE_CONNECTION_ATTRIBUTES, *PUSB_NODE_CONNECTION_ATTRIBUTES;
-
-typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME {
-	ULONG  ConnectionIndex;
-	ULONG  ActualLength;
-	WCHAR  DriverKeyName[1];
-} USB_NODE_CONNECTION_DRIVERKEY_NAME, *PUSB_NODE_CONNECTION_DRIVERKEY_NAME;
-
-typedef struct _USB_PIPE_INFO {
-	USB_ENDPOINT_DESCRIPTOR  EndpointDescriptor;
-	ULONG  ScheduleOffset;
-} USB_PIPE_INFO, *PUSB_PIPE_INFO;
-
-typedef struct _USB_NODE_CONNECTION_INFORMATION {
-	ULONG  ConnectionIndex;
-	USB_DEVICE_DESCRIPTOR  DeviceDescriptor;
-	UCHAR  CurrentConfigurationValue;
-	BOOLEAN  LowSpeed;
-	BOOLEAN  DeviceIsHub;
-	USHORT  DeviceAddress;
-	ULONG  NumberOfOpenPipes;
-	USB_CONNECTION_STATUS  ConnectionStatus;
-	USB_PIPE_INFO  PipeList[0];
-} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
-
-typedef struct _USB_NODE_CONNECTION_NAME {
-	ULONG  ConnectionIndex;
-	ULONG  ActualLength;
-	WCHAR  NodeName[1];
-} USB_NODE_CONNECTION_NAME, *PUSB_NODE_CONNECTION_NAME;
-
-typedef struct _USB_MI_PARENT_INFORMATION {
-  ULONG  NumberOfInterfaces;
-} USB_MI_PARENT_INFORMATION, *PUSB_MI_PARENT_INFORMATION;
-
-typedef struct _USB_NODE_INFORMATION {
-	USB_HUB_NODE  NodeType;
-	union {
-		USB_HUB_INFORMATION  HubInformation;
-		USB_MI_PARENT_INFORMATION  MiParentInformation;
-	} u;
-} USB_NODE_INFORMATION, *PUSB_NODE_INFORMATION;
-
-#define WMI_USB_DRIVER_INFORMATION        0
-#define WMI_USB_DRIVER_NOTIFICATION       1
-#define WMI_USB_POWER_DEVICE_ENABLE       2
-
-typedef enum _USB_NOTIFICATION_TYPE {
-	EnumerationFailure = 0,
-	InsufficentBandwidth,
-	InsufficentPower,
-	OverCurrent,
-	ResetOvercurrent,
-	AcquireBusInfo,
-	AcquireHubName,
-	AcquireControllerName,
-	HubOvercurrent,
-	HubPowerChange,
-	HubNestedTooDeeply,
-	ModernDeviceInLegacyHub
-} USB_NOTIFICATION_TYPE;
-
-typedef struct _USB_ACQUIRE_INFO {
-	USB_NOTIFICATION_TYPE  NotificationType;
-	ULONG  TotalSize;
-	WCHAR  Buffer[1];
-} USB_ACQUIRE_INFO, *PUSB_ACQUIRE_INFO;
-
-typedef struct _USB_NOTIFICATION {
-  USB_NOTIFICATION_TYPE  NotificationType;
-} USB_NOTIFICATION, *PUSB_NOTIFICATION;
-
-typedef struct _USB_BUS_NOTIFICATION {
-	USB_NOTIFICATION_TYPE  NotificationType;
-	ULONG  TotalBandwidth;
-	ULONG  ConsumedBandwidth;
-	ULONG  ControllerNameLength;
-} USB_BUS_NOTIFICATION, *PUSB_BUS_NOTIFICATION;
-
-typedef struct _USB_CONNECTION_NOTIFICATION {
-	USB_NOTIFICATION_TYPE  NotificationType;
-	ULONG  ConnectionNumber;
-	ULONG  RequestedBandwidth;
-	ULONG  EnumerationFailReason;
-	ULONG  PowerRequested;
-	ULONG  HubNameLength;
-} USB_CONNECTION_NOTIFICATION, *PUSB_CONNECTION_NOTIFICATION;
-
-typedef struct _USB_ROOT_HUB_NAME {
-	ULONG  ActualLength;
-	WCHAR  RootHubName[1];
-} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIOCTL_H */
Index: Daodan/MinGW/include/ddk/usbiodef.h
===================================================================
--- Daodan/MinGW/include/ddk/usbiodef.h	(revision 1046)
+++ 	(revision )
@@ -1,106 +1,0 @@
-/*
- * usbiodef.h
- *
- * USB IOCTL definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBIODEF_H
-#define __USBIODEF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
-  0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
-  0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
-  0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
-
-DEFINE_GUID(GUID_USB_WMI_STD_DATA,
-  0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
-  0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-#define GUID_CLASS_USBHUB                 GUID_DEVINTERFACE_USB_HUB
-#define GUID_CLASS_USB_DEVICE             GUID_DEVINTERFACE_USB_DEVICE
-#define GUID_CLASS_USB_HOST_CONTROLLER    GUID_DEVINTERFACE_USB_HOST_CONTROLLER
-
-#define USB_SUBMIT_URB                    0
-#define USB_RESET_PORT                    1
-#define USB_GET_ROOTHUB_PDO               3
-#define USB_GET_PORT_STATUS               4
-#define USB_ENABLE_PORT                   5
-#define USB_GET_HUB_COUNT                 6
-#define USB_CYCLE_PORT                    7
-#define USB_GET_HUB_NAME                  8
-#define USB_IDLE_NOTIFICATION             9
-#define USB_GET_BUS_INFO                  264
-#define USB_GET_CONTROLLER_NAME           265
-#define USB_GET_BUSGUID_INFO              266
-#define USB_GET_PARENT_HUB_INFO           267
-#define USB_GET_DEVICE_HANDLE             268
-
-#define HCD_GET_STATS_1                   255
-#define HCD_DIAGNOSTIC_MODE_ON            256
-#define HCD_DIAGNOSTIC_MODE_OFF           257
-#define HCD_GET_ROOT_HUB_NAME             258
-#define HCD_GET_DRIVERKEY_NAME            265
-#define HCD_GET_STATS_2                   266
-#define HCD_DISABLE_PORT                  268
-#define HCD_ENABLE_PORT                   269
-#define HCD_USER_REQUEST                  270
-
-#define USB_GET_NODE_INFORMATION                258
-#define USB_GET_NODE_CONNECTION_INFORMATION     259
-#define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
-#define USB_GET_NODE_CONNECTION_NAME            261
-#define USB_DIAG_IGNORE_HUBS_ON                 262
-#define USB_DIAG_IGNORE_HUBS_OFF                263
-#define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME  264
-#define USB_GET_HUB_CAPABILITIES                271
-#define USB_GET_NODE_CONNECTION_ATTRIBUTES      272
-
-#define FILE_DEVICE_USB                   FILE_DEVICE_UNKNOWN
-
-#define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
-														 (id), \
-														 METHOD_BUFFERED, \
-														 FILE_ANY_ACCESS)
-
-#define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
-                                    (id), \
-                                    METHOD_NEITHER, \
-                                    FILE_ANY_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIODEF_H */
Index: Daodan/MinGW/include/ddk/usbscan.h
===================================================================
--- Daodan/MinGW/include/ddk/usbscan.h	(revision 1046)
+++ 	(revision )
@@ -1,158 +1,0 @@
-/*
- * usbscan.h
- *
- * USB scanner definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBSCAN_H
-#define __USBSCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define FILE_DEVICE_USB_SCAN              0x8000
-#define IOCTL_INDEX                       0x0800
-
-#define IOCTL_CANCEL_IO \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 1, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_VERSION \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 0, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_CHANNEL_ALIGN_RQST \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 5, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_DEVICE_DESCRIPTOR \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 6, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_PIPE_CONFIGURATION \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 10,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_USB_DESCRIPTOR \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 8, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_READ_REGISTERS \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 3, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_RESET_PIPE \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 7, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SEND_USB_REQUEST \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 9, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SET_TIMEOUT \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 11,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WAIT_ON_DEVICE_EVENT \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 2, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WRITE_REGISTERS \
-  CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-#define MAX_NUM_PIPES                     8
-
-#define BULKIN_FLAG                       0x80
-
-typedef struct _CHANNEL_INFO {
-  /*OUT*/ ULONG  EventChannelSize;
-  /*OUT*/ ULONG  uReadDataAlignment;
-  /*OUT*/ ULONG  uWriteDataAlignment;
-}CHANNEL_INFO, *PCHANNEL_INFO;
-
-typedef struct _DEVICE_DESCRIPTOR {
-  /*OUT*/ USHORT  usVendorId;
-  /*OUT*/ USHORT  usProductId;
-  /*OUT*/ USHORT  usBcdDevice;
-  /*OUT*/ USHORT  usLanguageId;
-} DEVICE_DESCRIPTOR, *PDEVICE_DESCRIPTOR;
-
-typedef struct _DRV_VERSION {
-  /*OUT*/ ULONG  major;
-  /*OUT*/ ULONG  minor;
-  /*OUT*/ ULONG  internal;
-} DRV_VERSION, *PDRV_VERSION;
-
-typedef struct _IO_BLOCK {
-  /*IN*/ ULONG  uOffset;
-  /*IN*/ ULONG  uLength;
-  /*IN OUT*/ PUCHAR  pbyData;
-  /*IN*/ ULONG  uIndex;
-} IO_BLOCK, *PIO_BLOCK;
-
-typedef struct _IO_BLOCK_EX {
-  /*IN*/ ULONG  uOffset;
-  /*IN*/ ULONG  uLength;
-  /*IN OUT*/ PUCHAR  pbyData;
-  /*IN*/ ULONG  uIndex;
-  /*IN*/ UCHAR  bRequest;
-  /*IN*/ UCHAR  bmRequestType;
-  /*IN*/ UCHAR  fTransferDirectionIn;
-} IO_BLOCK_EX, *PIO_BLOCK_EX;
-
-typedef struct _USBSCAN_GET_DESCRIPTOR {
-  /*IN*/ UCHAR  DescriptorType;
-  /*IN*/ UCHAR  Index;
-  /*IN*/ USHORT  LanguageId;
-} USBSCAN_GET_DESCRIPTOR, *PUSBSCAN_GET_DESCRIPTOR;
-
-typedef enum _RAW_PIPE_TYPE {
-	USBSCAN_PIPE_CONTROL,
-	USBSCAN_PIPE_ISOCHRONOUS,
-	USBSCAN_PIPE_BULK,
-	USBSCAN_PIPE_INTERRUPT
-} RAW_PIPE_TYPE;
-
-typedef struct _USBSCAN_PIPE_INFORMATION {
-  USHORT  MaximumPacketSize;
-  UCHAR  EndpointAddress;
-  UCHAR  Interval;
-  RAW_PIPE_TYPE  PipeType;
-} USBSCAN_PIPE_INFORMATION, *PUSBSCAN_PIPE_INFORMATION;
-
-typedef struct _USBSCAN_PIPE_CONFIGURATION {
-  /*OUT*/ ULONG  NumberOfPipes;
-  /*OUT*/ USBSCAN_PIPE_INFORMATION  PipeInfo[MAX_NUM_PIPES];
-} USBSCAN_PIPE_CONFIGURATION, *PUSBSCAN_PIPE_CONFIGURATION;
-
-typedef struct _USBSCAN_TIMEOUT {
-  /*IN*/ ULONG  TimeoutRead;
-  /*IN*/ ULONG  TimeoutWrite;
-  /*IN*/ ULONG  TimeoutEvent;
-} USBSCAN_TIMEOUT, *PUSBSCAN_TIMEOUT;
-
-typedef enum _PIPE_TYPE {
-	EVENT_PIPE,
-	READ_DATA_PIPE,
-	WRITE_DATA_PIPE,
-	ALL_PIPE
-} PIPE_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBSCAN_H */
Index: Daodan/MinGW/include/ddk/usbuser.h
===================================================================
--- Daodan/MinGW/include/ddk/usbuser.h	(revision 1046)
+++ 	(revision )
@@ -1,328 +1,0 @@
-/*
- * usbuser.h
- *
- * USB user mode IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBUSER_H
-#define __USBUSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb.h"
-#include "usbiodef.h"
-
-#include <pshpack1.h>
-
-#define USBUSER_VERSION                   0x0004
-
-#define IOCTL_USB_USER_REQUEST            USB_CTL(HCD_USER_REQUEST)
-
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON      USB_CTL(HCD_DIAGNOSTIC_MODE_ON)
-#endif
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF     USB_CTL(HCD_DIAGNOSTIC_MODE_OFF)
-#endif
-
-#ifndef IOCTL_USB_GET_ROOT_HUB_NAME
-#define IOCTL_USB_GET_ROOT_HUB_NAME       USB_CTL(HCD_GET_ROOT_HUB_NAME)
-#endif
-#ifndef IOCTL_GET_HCD_DRIVERKEY_NAME
-#define IOCTL_GET_HCD_DRIVERKEY_NAME      USB_CTL(HCD_GET_DRIVERKEY_NAME)
-#endif
-
-typedef enum _USB_USER_ERROR_CODE {
-	UsbUserSuccess = 0,
-	UsbUserNotSupported,
-	UsbUserInvalidRequestCode,
-	UsbUserFeatureDisabled,
-	UsbUserInvalidHeaderParameter,
-	UsbUserInvalidParameter,
-	UsbUserMiniportError,
-	UsbUserBufferTooSmall,
-	UsbUserErrorNotMapped,
-	UsbUserDeviceNotStarted,
-	UsbUserNoDeviceConnected
-} USB_USER_ERROR_CODE;
-
-#define USBUSER_GET_CONTROLLER_INFO_0     0x00000001
-#define USBUSER_GET_CONTROLLER_DRIVER_KEY 0x00000002
-#define USBUSER_PASS_THRU                 0x00000003
-#define USBUSER_GET_POWER_STATE_MAP       0x00000004
-#define USBUSER_GET_BANDWIDTH_INFORMATION 0x00000005
-#define USBUSER_GET_BUS_STATISTICS_0      0x00000006
-#define USBUSER_GET_ROOTHUB_SYMBOLIC_NAME 0x00000007
-#define USBUSER_GET_USB_DRIVER_VERSION    0x00000008
-#define USBUSER_GET_USB2_HW_VERSION       0x00000009
-#define USBUSER_OP_SEND_ONE_PACKET        0x10000001
-#define USBUSER_OP_RAW_RESET_PORT         0x20000001
-#define USBUSER_OP_OPEN_RAW_DEVICE        0x20000002
-#define USBUSER_OP_CLOSE_RAW_DEVICE       0x20000003
-#define USBUSER_OP_SEND_RAW_COMMAND       0x20000004
-#define USBUSER_INVALID_REQUEST           0xFFFFFFF0
-#define USBUSER_OP_MASK_DEVONLY_API       0x10000000
-#define USBUSER_OP_MASK_HCTEST_API        0x20000000
-
-#define USB_PACKETFLAG_LOW_SPEED          0x00000001
-#define USB_PACKETFLAG_FULL_SPEED         0x00000002
-#define USB_PACKETFLAG_HIGH_SPEED         0x00000004
-#define USB_PACKETFLAG_ASYNC_IN           0x00000008
-#define USB_PACKETFLAG_ASYNC_OUT          0x00000010
-#define USB_PACKETFLAG_ISO_IN             0x00000020
-#define USB_PACKETFLAG_ISO_OUT            0x00000040
-#define USB_PACKETFLAG_SETUP              0x00000080
-#define USB_PACKETFLAG_TOGGLE0            0x00000100
-#define USB_PACKETFLAG_TOGGLE1            0x00000200
-
-typedef struct _PACKET_PARAMETERS {
-	UCHAR  DeviceAddress;
-	UCHAR  EndpointAddress;
-	USHORT  MaximumPacketSize;
-	ULONG  Timeout;
-	ULONG  Flags;
-	ULONG  DataLength;
-	USHORT  HubDeviceAddress;
-	USHORT  PortTTNumber;
-	UCHAR  ErrorCount;
-	UCHAR  Pad[3];
-	USBD_STATUS  UsbdStatusCode;
-	UCHAR  Data[4];
-} PACKET_PARAMETERS, *PPACKET_PARAMETERS;
-
-typedef struct _RAW_RESET_PORT_PARAMETERS {
-	USHORT  PortNumber;
-	USHORT  PortStatus;
-} RAW_RESET_PORT_PARAMETERS, *PRAW_RESET_PORT_PARAMETERS;
-
-typedef struct _USB_BANDWIDTH_INFO {
-	ULONG  DeviceCount;
-	ULONG  TotalBusBandwidth;
-	ULONG  Total32secBandwidth;
-	ULONG  AllocedBulkAndControl;
-	ULONG  AllocedIso;
-	ULONG  AllocedInterrupt_1ms;
-	ULONG  AllocedInterrupt_2ms;
-	ULONG  AllocedInterrupt_4ms;
-	ULONG  AllocedInterrupt_8ms;
-	ULONG  AllocedInterrupt_16ms;
-	ULONG  AllocedInterrupt_32ms;
-} USB_BANDWIDTH_INFO, *PUSB_BANDWIDTH_INFO;
-
-typedef struct _USBUSER_REQUEST_HEADER {
-	ULONG  UsbUserRequest;
-	USB_USER_ERROR_CODE  UsbUserStatusCode;
-	ULONG  RequestBufferLength;
-	ULONG  ActualBufferLength;
-} USBUSER_REQUEST_HEADER, *PUSBUSER_REQUEST_HEADER;
-
-typedef struct _USBUSER_BANDWIDTH_INFO_REQUEST {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_BANDWIDTH_INFO  BandwidthInformation;
-} USBUSER_BANDWIDTH_INFO_REQUEST, *PUSBUSER_BANDWIDTH_INFO_REQUEST;
-
-typedef struct _USB_BUS_STATISTICS_0 {
-	ULONG  DeviceCount;
-	LARGE_INTEGER  CurrentSystemTime;
-	ULONG  CurrentUsbFrame;
-	ULONG  BulkBytes;
-	ULONG  IsoBytes;
-	ULONG  InterruptBytes;
-	ULONG  ControlDataBytes;
-	ULONG  PciInterruptCount;
-	ULONG  HardResetCount;
-	ULONG  WorkerSignalCount;
-	ULONG  CommonBufferBytes;
-	ULONG  WorkerIdleTimeMs;
-	BOOLEAN  RootHubEnabled;
-	UCHAR  RootHubDevicePowerState;
-	UCHAR  Unused;
-	UCHAR  NameIndex;
-} USB_BUS_STATISTICS_0, *PUSB_BUS_STATISTICS_0;
-
-typedef struct _USBUSER_BUS_STATISTICS_0_REQUEST {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_BUS_STATISTICS_0  BusStatistics0;
-} USBUSER_BUS_STATISTICS_0_REQUEST, *PUSBUSER_BUS_STATISTICS_0_REQUEST;
-
-/* USB_CONTROLLER_INFO_0.HcFeatureFlags constants */
-#define USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING  0x00000001
-#define USB_HC_FEATURE_FLAG_SEL_SUSPEND           0x00000002
-#define USB_HC_FEATURE_LEGACY_BIOS                0x00000004
-
-typedef struct _USB_CLOSE_RAW_DEVICE_PARAMETERS {
-  ULONG  xxx;
-} USB_CLOSE_RAW_DEVICE_PARAMETERS , *PUSB_CLOSE_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_CLOSE_RAW_DEVICE {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_CLOSE_RAW_DEVICE_PARAMETERS  Parameters;
-} USBUSER_CLOSE_RAW_DEVICE, *PUSBUSER_CLOSE_RAW_DEVICE;
-
-typedef struct _USB_CONTROLLER_INFO_0 {
-  ULONG  PciVendorId;
-  ULONG  PciDeviceId;
-  ULONG  PciRevision;
-  ULONG  NumberOfRootPorts;
-  USB_CONTROLLER_FLAVOR  ControllerFlavor;
-  ULONG  HcFeatureFlags;
-} USB_CONTROLLER_INFO_0 , *PUSB_CONTROLLER_INFO_0;
-
-typedef struct _USBUSER_CONTROLLER_INFO_0 {
-  USBUSER_REQUEST_HEADER  Header;
-  USB_CONTROLLER_INFO_0  Info0;
-} USBUSER_CONTROLLER_INFO_0, *PUSBUSER_CONTROLLER_INFO_0;
-
-typedef struct _USB_DRIVER_VERSION_PARAMETERS {
-	ULONG  DriverTrackingCode;
-	ULONG  USBDI_Version;
-	ULONG  USBUSER_Version;
-	BOOLEAN  CheckedPortDriver;
-	BOOLEAN  CheckedMiniportDriver;
-	USHORT  USB_Version;
-} USB_DRIVER_VERSION_PARAMETERS , *PUSB_DRIVER_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_DRIVER_VERSION {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_DRIVER_VERSION_PARAMETERS  Parameters;
-} USBUSER_GET_DRIVER_VERSION, *PUSBUSER_GET_DRIVER_VERSION;
-
-typedef struct _USB_OPEN_RAW_DEVICE_PARAMETERS {
-	USHORT  PortStatus;
-	USHORT  MaxPacketEp0;
-} USB_OPEN_RAW_DEVICE_PARAMETERS , *PUSB_OPEN_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_OPEN_RAW_DEVICE {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_OPEN_RAW_DEVICE_PARAMETERS  Parameters;
-} USBUSER_OPEN_RAW_DEVICE, *PUSBUSER_OPEN_RAW_DEVICE;
-
-typedef enum _WDMUSB_POWER_STATE {
-	WdmUsbPowerNotMapped = 0,
-	WdmUsbPowerSystemUnspecified = 100,
-	WdmUsbPowerSystemWorking,
-	WdmUsbPowerSystemSleeping1,
-	WdmUsbPowerSystemSleeping2,
-	WdmUsbPowerSystemSleeping3,
-	WdmUsbPowerSystemHibernate,
-	WdmUsbPowerSystemShutdown,
-	WdmUsbPowerDeviceUnspecified = 200,
-	WdmUsbPowerDeviceD0,
-	WdmUsbPowerDeviceD1,
-	WdmUsbPowerDeviceD2,
-	WdmUsbPowerDeviceD3
-} WDMUSB_POWER_STATE;
-
-typedef struct _USB_POWER_INFO {
-	WDMUSB_POWER_STATE  SystemState;
-	WDMUSB_POWER_STATE  HcDevicePowerState;
-	WDMUSB_POWER_STATE  HcDeviceWake;
-	WDMUSB_POWER_STATE  HcSystemWake;
-	WDMUSB_POWER_STATE  RhDevicePowerState;
-	WDMUSB_POWER_STATE  RhDeviceWake;
-	WDMUSB_POWER_STATE  RhSystemWake;
-	WDMUSB_POWER_STATE  LastSystemSleepState;
-	BOOLEAN  CanWakeup;
-	BOOLEAN  IsPowered;
-} USB_POWER_INFO, *PUSB_POWER_INFO;
-
-typedef struct _USBUSER_POWER_INFO_REQUEST {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_POWER_INFO  PowerInformation;
-} USBUSER_POWER_INFO_REQUEST, *PUSBUSER_POWER_INFO_REQUEST;
-
-typedef struct _USB_UNICODE_NAME {
-	ULONG  Length;
-	WCHAR  String[1];
-} USB_UNICODE_NAME, *PUSB_UNICODE_NAME;
-
-typedef struct _USBUSER_CONTROLLER_UNICODE_NAME {
-	USBUSER_REQUEST_HEADER  Header;
-  USB_UNICODE_NAME  UnicodeName;
-} USBUSER_CONTROLLER_UNICODE_NAME, *PUSBUSER_CONTROLLER_UNICODE_NAME;
-
-typedef struct _USB_PASS_THRU_PARAMETERS {
-	GUID  FunctionGUID;
-	ULONG  ParameterLength;
-	UCHAR  Parameters[4];
-} USB_PASS_THRU_PARAMETERS, *PUSB_PASS_THRU_PARAMETERS;
-
-typedef struct _USBUSER_PASS_THRU_REQUEST {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_PASS_THRU_PARAMETERS  PassThru;
-} USBUSER_PASS_THRU_REQUEST, *PUSBUSER_PASS_THRU_REQUEST;
-
-typedef struct _USBUSER_RAW_RESET_ROOT_PORT {
-	USBUSER_REQUEST_HEADER  Header;
-	RAW_RESET_PORT_PARAMETERS  Parameters;
-} USBUSER_RAW_RESET_ROOT_PORT, *PUSBUSER_RAW_RESET_ROOT_PORT;
-
-typedef struct _USBUSER_SEND_ONE_PACKET {
-	USBUSER_REQUEST_HEADER  Header;
-	PACKET_PARAMETERS  PacketParameters;
-} USBUSER_SEND_ONE_PACKET, *PUSBUSER_SEND_ONE_PACKET;
-
-typedef struct _USB_SEND_RAW_COMMAND_PARAMETERS {
-	UCHAR  Usb_bmRequest;
-	UCHAR  Usb_bRequest;
-	USHORT  Usb_wVlaue;
-	USHORT  Usb_wIndex;
-	USHORT  Usb_wLength;
-	USHORT  DeviceAddress;
-	USHORT  MaximumPacketSize;
-	ULONG  Timeout;
-	ULONG  DataLength;
-	USBD_STATUS  UsbdStatusCode;
-	UCHAR  Data[4];
-} USB_SEND_RAW_COMMAND_PARAMETERS, *PUSB_SEND_RAW_COMMAND_PARAMETERS;
-
-typedef struct _USBUSER_SEND_RAW_COMMAND {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_SEND_RAW_COMMAND_PARAMETERS  Parameters;
-} USBUSER_SEND_RAW_COMMAND, *PUSBUSER_SEND_RAW_COMMAND;
-
-/* USB_USB2HW_VERSION_PARAMETERS.Usb2HwRevision constants */
-#define USB2HW_UNKNOWN                    0x00
-#define USB2HW_A0                         0xA0
-#define USB2HW_A1                         0xA1
-#define USB2HW_B0                         0xB0
-
-typedef struct _USB_USB2HW_VERSION_PARAMETERS {
-  UCHAR  Usb2HwRevision;
-} USB_USB2HW_VERSION_PARAMETERS, *PUSB_USB2HW_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_USB2HW_VERSION {
-	USBUSER_REQUEST_HEADER  Header;
-	USB_USB2HW_VERSION_PARAMETERS  Parameters;
-} USBUSER_GET_USB2HW_VERSION, *PUSBUSER_GET_USB2HW_VERSION;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBUSER_H */
Index: Daodan/MinGW/include/ddk/video.h
===================================================================
--- Daodan/MinGW/include/ddk/video.h	(revision 1046)
+++ 	(revision )
@@ -1,1566 +1,0 @@
-/*
- * video.h
- *
- * Video port and miniport driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __VIDEO_H
-#define __VIDEO_H
-
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __WINDDI_H
-#error winddi.h cannot be included with video.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_VIDEOPORT_)
-  #define VPAPI DECLSPEC_EXPORT
-#else
-  #define VPAPI DECLSPEC_IMPORT
-#endif
-
-#include "videoagp.h"
-#include "ntddvdeo.h"
-
-
-typedef LONG VP_STATUS;
-typedef VP_STATUS *PVP_STATUS;
-typedef struct __DMA_PARAMETERS * PDMA;
-typedef struct _VIDEO_PORT_EVENT *PEVENT;
-typedef struct _VIDEO_PORT_SPIN_LOCK *PSPIN_LOCK;
-typedef struct __VP_DMA_ADAPTER *PVP_DMA_ADAPTER;
-
-#define DISPLAY_ADAPTER_HW_ID             0xFFFFFFFF
-
-#define EVENT_TYPE_MASK                   1
-#define SYNCHRONIZATION_EVENT             0
-#define NOTIFICATION_EVENT                1
-
-#define INITIAL_EVENT_STATE_MASK          2
-#define INITIAL_EVENT_NOT_SIGNALED        0
-#define INITIAL_EVENT_SIGNALED            2
-
-typedef enum VIDEO_DEBUG_LEVEL {
-  Error = 0,
-  Warn,
-  Trace,
-  Info
-} VIDEO_DEBUG_LEVEL, *PVIDEO_DEBUG_LEVEL;
-
-typedef enum {
-  VideoPortUnlockAfterDma = 1,
-  VideoPortKeepPagesLocked,
-  VideoPortDmaInitOnly
-} DMA_FLAGS;
-
-typedef enum _HW_DMA_RETURN {
-  DmaAsyncReturn,
-  DmaSyncReturn
-} HW_DMA_RETURN, *PHW_DMA_RETURN;
-
-typedef HW_DMA_RETURN
-(*PVIDEO_HW_START_DMA)(
-    PVOID  HwDeviceExtension,
-    PDMA  pDma);
-
-
-#ifdef DBG
-
-#define PAGED_CODE() \
-  if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \
-  { \
-    VideoPortDebugPrint(Error, "Video: Pageable code called at IRQL %d\n", VideoPortGetCurrentIrql() ); \
-    ASSERT(FALSE); \
-  }
-
-#else
-
-#define PAGED_CODE()
-
-#endif
-
-typedef struct _VIDEO_HARDWARE_CONFIGURATION_DATA {
-  INTERFACE_TYPE InterfaceType;
-  ULONG BusNumber;
-  USHORT Version;
-  USHORT Revision;
-  USHORT Irql;
-  USHORT Vector;
-  ULONG ControlBase;
-  ULONG ControlSize;
-  ULONG CursorBase;
-  ULONG CursorSize;
-  ULONG FrameBase;
-  ULONG FrameSize;
-} VIDEO_HARDWARE_CONFIGURATION_DATA, *PVIDEO_HARDWARE_CONFIGURATION_DATA;
-
-#define SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO       0x42
-#define SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA 0x28
-#define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA 0x50
-
-typedef enum _VIDEO_DEVICE_DATA_TYPE {
-  VpMachineData = 0,
-  VpCmosData,
-  VpBusData,
-  VpControllerData,
-  VpMonitorData
-} VIDEO_DEVICE_DATA_TYPE, *PVIDEO_DEVICE_DATA_TYPE;
-
-
-
-/* Video miniport driver functions */
-
-typedef struct _VP_SCATTER_GATHER_ELEMENT {
-  PHYSICAL_ADDRESS  Address;
-  ULONG  Length;
-  ULONG_PTR  Reserved;
-} VP_SCATTER_GATHER_ELEMENT, *PVP_SCATTER_GATHER_ELEMENT;
-
-typedef struct _VP_SCATTER_GATHER_LIST {
-  ULONG  NumberOfElements;
-  ULONG_PTR  Reserved;
-  VP_SCATTER_GATHER_ELEMENT  Elements[0];
-} VP_SCATTER_GATHER_LIST, *PVP_SCATTER_GATHER_LIST;
-
-typedef VOID DDKAPI
-(*PEXECUTE_DMA)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter,
-  /*IN*/ PVP_SCATTER_GATHER_LIST  SGList,
-  /*IN*/ PVOID  Context);
-
-typedef PVOID DDKAPI
-(*PVIDEO_PORT_GET_PROC_ADDRESS)(
-/*IN*/ PVOID  HwDeviceExtension,
-/*IN*/ PUCHAR  FunctionName);
-
-typedef struct _VIDEO_PORT_CONFIG_INFO {
-  ULONG  Length;
-  ULONG  SystemIoBusNumber;
-  INTERFACE_TYPE  AdapterInterfaceType;
-  ULONG  BusInterruptLevel;
-  ULONG  BusInterruptVector;
-  KINTERRUPT_MODE  InterruptMode;
-  ULONG  NumEmulatorAccessEntries;
-  PEMULATOR_ACCESS_ENTRY  EmulatorAccessEntries;
-  ULONG_PTR  EmulatorAccessEntriesContext;
-  PHYSICAL_ADDRESS  VdmPhysicalVideoMemoryAddress;
-  ULONG  VdmPhysicalVideoMemoryLength;
-  ULONG  HardwareStateSize;
-  ULONG  DmaChannel;
-  ULONG  DmaPort;
-  UCHAR  DmaShareable;
-  UCHAR  InterruptShareable;
-  BOOLEAN  Master;
-  DMA_WIDTH  DmaWidth;
-  DMA_SPEED  DmaSpeed;
-  BOOLEAN  bMapBuffers;
-  BOOLEAN  NeedPhysicalAddresses;
-  BOOLEAN  DemandMode;
-  ULONG  MaximumTransferLength;
-  ULONG  NumberOfPhysicalBreaks;
-  BOOLEAN  ScatterGather;
-  ULONG  MaximumScatterGatherChunkSize;
-  PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
-  PWSTR  DriverRegistryPath;
-  ULONGLONG  SystemMemorySize;
-} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_FIND_ADAPTER)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  HwContext,
-  /*IN*/ PWSTR  ArgumentString,
-  /*IN OUT*/  PVIDEO_PORT_CONFIG_INFO  ConfigInfo,
-  /*OUT*/ PUCHAR  Again);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_GET)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  HwId,
-  /*IN OUT*/  PVIDEO_POWER_MANAGEMENT  VideoPowerControl);
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR return values */
-#define VIDEO_ENUM_MORE_DEVICES           ERROR_CONTINUE
-#define VIDEO_ENUM_NO_MORE_DEVICES        ERROR_NO_MORE_DEVICES
-#define VIDEO_ENUM_INVALID_DEVICE         ERROR_INVALID_NAME
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.ChildEnumInfo constants */
-typedef struct _VIDEO_CHILD_ENUM_INFO {
-  ULONG  Size;
-  ULONG  ChildDescriptorSize;
-  ULONG  ChildIndex;
-  ULONG  ACPIHwId;
-  PVOID  ChildHwDeviceExtension;
-} VIDEO_CHILD_ENUM_INFO, *PVIDEO_CHILD_ENUM_INFO;
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.VideoChildType constants */
-typedef enum _VIDEO_CHILD_TYPE {
-  Monitor = 1,
-  NonPrimaryChip,
-  VideoChip,
-  Other
-} VIDEO_CHILD_TYPE, *PVIDEO_CHILD_TYPE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_GET_CHILD_DESCRIPTOR)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_CHILD_ENUM_INFO  ChildEnumInfo,
-  /*OUT*/  PVIDEO_CHILD_TYPE  VideoChildType,
-  /*OUT*/  PUCHAR  pChildDescriptor,
-  /*OUT*/  PULONG  UId,
-  /*OUT*/  PULONG  pUnused);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INITIALIZE)(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INTERRUPT)(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-/* VIDEO_ACCESS_RANGE.RangePassive */
-#define VIDEO_RANGE_PASSIVE_DECODE        1
-#define VIDEO_RANGE_10_BIT_DECODE         2
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in miniport.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
-  PHYSICAL_ADDRESS  RangeStart;
-  ULONG  RangeLength;
-  UCHAR  RangeInIoSpace;
-  UCHAR  RangeVisible;
-  UCHAR  RangeShareable;
-  UCHAR  RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_LEGACYRESOURCES)(
-  /*IN*/ ULONG  VendorId,
-  /*IN*/ ULONG  DeviceId,
-  /*IN OUT*/  PVIDEO_ACCESS_RANGE  *LegacyResourceList,
-  /*IN OUT*/  PULONG  LegacyResourceCount);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_QUERY_DEVICE_ROUTINE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Context,
-  /*IN*/ VIDEO_DEVICE_DATA_TYPE  DeviceDataType,
-  /*IN*/ PVOID  Identifier,
-  /*IN*/ ULONG  IdentifierLength,
-  /*IN*/ PVOID  ConfigurationData,
-  /*IN*/ ULONG  ConfigurationDataLength,
-  /*IN OUT*/  PVOID  ComponentInformation,
-  /*IN*/ ULONG  ComponentInformationLength);
-
-typedef struct _QUERY_INTERFACE {
-  CONST GUID  *InterfaceType;
-  USHORT  Size;
-  USHORT  Version;
-  PINTERFACE  Interface;
-  PVOID  InterfaceSpecificData;
-} QUERY_INTERFACE, *PQUERY_INTERFACE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_QUERY_INTERFACE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/  PQUERY_INTERFACE  QueryInterface);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_GET_REGISTRY_ROUTINE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Context,
-  /*IN OUT*/  PWSTR  ValueName,
-  /*IN OUT*/  PVOID  ValueData,
-  /*IN*/ ULONG  ValueLength);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_RESET_HW)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  Columns,
-  /*IN*/ ULONG  Rows);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_SET)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  HwId,
-  /*IN*/ PVIDEO_POWER_MANAGEMENT  VideoPowerControl);
-
-typedef struct _STATUS_BLOCK {
-   _ANONYMOUS_UNION union {
-    VP_STATUS  Status;
-    PVOID  Pointer;
-  } DUMMYUNIONNAME;
-  ULONG_PTR Information;
-} STATUS_BLOCK, *PSTATUS_BLOCK;
-
-typedef struct _VIDEO_REQUEST_PACKET {
-  ULONG  IoControlCode;
-  PSTATUS_BLOCK  StatusBlock;
-  PVOID  InputBuffer;
-  ULONG  InputBufferLength;
-  PVOID  OutputBuffer;
-  ULONG  OutputBufferLength;
-} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_START_IO)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_REQUEST_PACKET  RequestPacket);
-
-typedef BOOLEAN DDKAPI
-(*PMINIPORT_SYNCHRONIZE_ROUTINE)(
-  /*IN*/ PVOID  Context);
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_TIMER)(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-typedef VOID DDKAPI
-(*PMINIPORT_DPC_ROUTINE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Context);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PUCHAR  Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR_STRING)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PUCHAR  Data,
-  /*IN*/ ULONG  DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PULONG  Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG_STRING)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PULONG  Data,
-  /*IN*/ ULONG  DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PUSHORT  Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT_STRING)(
-  /*IN*/ ULONG_PTR  Context,
-  /*IN*/ ULONG  Port,
-  /*IN*/ UCHAR  AccessMode,
-  /*IN*/ PUSHORT  Data,
-  /*IN*/ ULONG  DataLength);
-
-
-
-typedef struct _INT10_BIOS_ARGUMENTS {
-  ULONG  Eax;
-  ULONG  Ebx;
-  ULONG  Ecx;
-  ULONG  Edx;
-  ULONG  Esi;
-  ULONG  Edi;
-  ULONG  Ebp;
-  USHORT  SegDs;
-  USHORT  SegEs;
-} INT10_BIOS_ARGUMENTS, *PINT10_BIOS_ARGUMENTS;
-
-typedef struct _VIDEO_CHILD_STATE {
-  ULONG  Id;
-  ULONG  State;
-} VIDEO_CHILD_STATE, *PVIDEO_CHILD_STATE;
-
-typedef struct _VIDEO_CHILD_STATE_CONFIGURATION {
-  ULONG  Count;
-  VIDEO_CHILD_STATE  ChildStateArray[ANYSIZE_ARRAY];
-} VIDEO_CHILD_STATE_CONFIGURATION, *PVIDEO_CHILD_STATE_CONFIGURATION;
-
-typedef struct _VIDEO_HW_INITIALIZATION_DATA {
-  ULONG  HwInitDataSize;
-  INTERFACE_TYPE  AdapterInterfaceType;
-  PVIDEO_HW_FIND_ADAPTER  HwFindAdapter;
-  PVIDEO_HW_INITIALIZE  HwInitialize;
-  PVIDEO_HW_INTERRUPT  HwInterrupt;
-  PVIDEO_HW_START_IO  HwStartIO;
-  ULONG  HwDeviceExtensionSize;
-  ULONG  StartingDeviceNumber;
-  PVIDEO_HW_RESET_HW  HwResetHw;
-  PVIDEO_HW_TIMER  HwTimer;
-  PVIDEO_HW_START_DMA  HwStartDma;
-  PVIDEO_HW_POWER_SET  HwSetPowerState;
-  PVIDEO_HW_POWER_GET  HwGetPowerState;
-  PVIDEO_HW_GET_CHILD_DESCRIPTOR  HwGetVideoChildDescriptor;
-  PVIDEO_HW_QUERY_INTERFACE  HwQueryInterface;
-  ULONG  HwChildDeviceExtensionSize;
-  PVIDEO_ACCESS_RANGE  HwLegacyResourceList;
-  ULONG  HwLegacyResourceCount;
-  PVIDEO_HW_LEGACYRESOURCES  HwGetLegacyResources;
-  BOOLEAN  AllowEarlyEnumeration;
-  ULONG  Reserved;
-} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
-
-  /* VIDEO_PORT_AGP_INTERFACE.Version contants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_1 1
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE {
-  SHORT  Size;
-  SHORT  Version;
-  PVOID  Context;
-  PINTERFACE_REFERENCE  InterfaceReference;
-  PINTERFACE_DEREFERENCE  InterfaceDereference;
-  PAGP_RESERVE_PHYSICAL  AgpReservePhysical;
-  PAGP_RELEASE_PHYSICAL  AgpReleasePhysical;
-  PAGP_COMMIT_PHYSICAL  AgpCommitPhysical;
-  PAGP_FREE_PHYSICAL  AgpFreePhysical;
-  PAGP_RESERVE_VIRTUAL  AgpReserveVirtual;
-  PAGP_RELEASE_VIRTUAL  AgpReleaseVirtual;
-  PAGP_COMMIT_VIRTUAL  AgpCommitVirtual;
-  PAGP_FREE_VIRTUAL  AgpFreeVirtual;
-  ULONGLONG  AgpAllocationLimit;
-} VIDEO_PORT_AGP_INTERFACE, *PVIDEO_PORT_AGP_INTERFACE;
-
-  /* VIDEO_PORT_AGP_INTERFACE_2.Version constants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_2 2
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE_2 {
-  /*IN*/ USHORT  Size;
-  /*IN*/ USHORT  Version;
-  /*OUT*/ PVOID  Context;
-  /*OUT*/ PINTERFACE_REFERENCE  InterfaceReference;
-  /*OUT*/ PINTERFACE_DEREFERENCE  InterfaceDereference;
-  /*OUT*/ PAGP_RESERVE_PHYSICAL  AgpReservePhysical;
-  /*OUT*/ PAGP_RELEASE_PHYSICAL  AgpReleasePhysical;
-  /*OUT*/ PAGP_COMMIT_PHYSICAL  AgpCommitPhysical;
-  /*OUT*/ PAGP_FREE_PHYSICAL  AgpFreePhysical;
-  /*OUT*/ PAGP_RESERVE_VIRTUAL  AgpReserveVirtual;
-  /*OUT*/ PAGP_RELEASE_VIRTUAL  AgpReleaseVirtual;
-  /*OUT*/ PAGP_COMMIT_VIRTUAL  AgpCommitVirtual;
-  /*OUT*/ PAGP_FREE_VIRTUAL  AgpFreeVirtual;
-  /*OUT*/ ULONGLONG  AgpAllocationLimit;
-  /*OUT*/ PAGP_SET_RATE  AgpSetRate;
-} VIDEO_PORT_AGP_INTERFACE_2, *PVIDEO_PORT_AGP_INTERFACE_2;
-
-#define VIDEO_PORT_I2C_INTERFACE_VERSION_1  1
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_CLOCK_LINE)(
-  PVOID HwDeviceExtension,
-  UCHAR Data);
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_DATA_LINE)(
-  PVOID HwDeviceExtension,
-  UCHAR Data);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_CLOCK_LINE)(
-  PVOID HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_DATA_LINE)(
-  PVOID HwDeviceExtension);
-
-typedef struct _I2C_CALLBACKS
-{
-  /*IN*/ PVIDEO_WRITE_CLOCK_LINE  WriteClockLine;
-  /*IN*/ PVIDEO_WRITE_DATA_LINE  WriteDataLine;
-  /*IN*/ PVIDEO_READ_CLOCK_LINE  ReadClockLine;
-  /*IN*/ PVIDEO_READ_DATA_LINE  ReadDataLine;
-} I2C_CALLBACKS, *PI2C_CALLBACKS;
-
-typedef BOOLEAN DDKAPI
-(*PI2C_START)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PI2C_CALLBACKS  I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_STOP)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PI2C_CALLBACKS  I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_WRITE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PI2C_CALLBACKS  I2CCallbacks,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Length);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_READ)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PI2C_CALLBACKS  I2CCallbacks,
-  /*OUT*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Length);
-
-typedef struct _VIDEO_PORT_I2C_INTERFACE {
-  USHORT  Size;
-  USHORT  Version;
-  PVOID  Context;
-  PINTERFACE_REFERENCE  InterfaceReference;
-  PINTERFACE_DEREFERENCE  InterfaceDereference;
-  PI2C_START  I2CStart;
-  PI2C_STOP  I2CStop;
-  PI2C_WRITE  I2CWrite;
-  PI2C_READ  I2CRead;
-} VIDEO_PORT_I2C_INTERFACE, *PVIDEO_PORT_I2C_INTERFACE;
-
-  /* VIDEO_PORT_INT10_INTERFACE.Version constants */
-#define VIDEO_PORT_INT10_INTERFACE_VERSION_1 1
-
-typedef VP_STATUS DDKAPI
-(*PINT10_ALLOCATE_BUFFER)(
-  /*IN*/ PVOID  Context,
-  /*OUT*/ PUSHORT  Seg,
-  /*OUT*/ PUSHORT  Off,
-  /*IN OUT*/ PULONG  Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_CALL_BIOS)(
-  /*IN*/ PVOID  Context,
-  /*IN OUT*/ PINT10_BIOS_ARGUMENTS  BiosArguments);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_FREE_BUFFER)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ USHORT  Seg,
-  /*IN*/ USHORT  Off);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_READ_MEMORY)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ USHORT  Seg,
-  /*IN*/ USHORT  Off,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_WRITE_MEMORY)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ USHORT  Seg,
-  /*IN*/ USHORT  Off,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-typedef struct _VIDEO_PORT_INT10_INTERFACE {
-  /*IN*/ USHORT  Size;
-  /*IN*/ USHORT  Version;
-  /*OUT*/ PVOID  Context;
-  /*OUT*/ PINTERFACE_REFERENCE  InterfaceReference;
-  /*OUT*/ PINTERFACE_DEREFERENCE  InterfaceDereference;
-  /*OUT*/ PINT10_ALLOCATE_BUFFER  Int10AllocateBuffer;
-  /*OUT*/ PINT10_FREE_BUFFER  Int10FreeBuffer;
-  /*OUT*/ PINT10_READ_MEMORY  Int10ReadMemory;
-  /*OUT*/ PINT10_WRITE_MEMORY  Int10WriteMemory;
-  /*OUT*/ PINT10_CALL_BIOS  Int10CallBios;
-} VIDEO_PORT_INT10_INTERFACE, *PVIDEO_PORT_INT10_INTERFACE;
-
-  /* Flags for VideoPortGetDeviceBase and VideoPortMapMemory */
-#define VIDEO_MEMORY_SPACE_MEMORY         0x00
-#define VIDEO_MEMORY_SPACE_IO             0x01
-#define VIDEO_MEMORY_SPACE_USER_MODE      0x02
-#define VIDEO_MEMORY_SPACE_DENSE          0x04
-#define VIDEO_MEMORY_SPACE_P6CACHE        0x08
-
-typedef struct _VIDEO_X86_BIOS_ARGUMENTS {
-  ULONG  Eax;
-  ULONG  Ebx;
-  ULONG  Ecx;
-  ULONG  Edx;
-  ULONG  Esi;
-  ULONG  Edi;
-  ULONG  Ebp;
-} VIDEO_X86_BIOS_ARGUMENTS, *PVIDEO_X86_BIOS_ARGUMENTS;
-
-typedef struct _VP_DEVICE_DESCRIPTION {
-  BOOLEAN  ScatterGather;
-  BOOLEAN  Dma32BitAddresses;
-  BOOLEAN  Dma64BitAddresses;
-  ULONG  MaximumLength;
-} VP_DEVICE_DESCRIPTION, *PVP_DEVICE_DESCRIPTION;
-
-typedef struct _VPOSVERSIONINFO {
-  /*IN*/ ULONG  Size;
-  /*OUT*/ ULONG  MajorVersion;
-  /*OUT*/ ULONG  MinorVersion;
-  /*OUT*/ ULONG  BuildNumber;
-  /*OUT*/ USHORT  ServicePackMajor;
-  /*OUT*/ USHORT  ServicePackMinor;
-} VPOSVERSIONINFO, *PVPOSVERSIONINFO;
-
-
-
-  /* Video port functions for miniports */
-
-VPAPI
-VOID
-DDKAPI
-VideoDebugPrint(
-  /*IN*/ ULONG  DebugPrintLevel,
-  /*IN*/ PCHAR  DebugMessage,
-  /*IN*/ ...);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireDeviceLock(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLock(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSPIN_LOCK  SpinLock,
-  /*OUT*/ PUCHAR  OldIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLockAtDpcLevel(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSPIN_LOCK  SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortAllocateBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  Size,
-  /*OUT*/ PVOID  *Buffer);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateCommonBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter,
-  /*IN*/ ULONG  DesiredLength,
-  /*OUT*/ PPHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ BOOLEAN  CacheEnabled,
-  PVOID  Reserved);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateContiguousMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ PHYSICAL_ADDRESS  HighestAcceptableAddress);
-
-  /* VideoPortAllocatePool.PoolType constants */
-typedef enum _VP_POOL_TYPE {
-  VpNonPagedPool = 0,
-  VpPagedPool,
-  VpNonPagedPoolCacheAligned = 4,
-  VpPagedPoolCacheAligned
-} VP_POOL_TYPE, *PVP_POOL_TYPE;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocatePool(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ VP_POOL_TYPE  PoolType,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ ULONG  Tag);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortAssociateEventsWithDmaHandle(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PVIDEO_REQUEST_PACKET  pVrp,
-  /*IN*/ PVOID  MappedUserEvent,
-  /*IN*/ PVOID  DisplayDriverEvent);
-
-  /* VideoPortCheckForDeviceExistence.Flags constants */
-#define CDE_USE_SUBSYSTEM_IDS             0x00000001
-#define CDE_USE_REVISION                  0x00000002
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortCheckForDeviceExistence(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ USHORT  VendorId,
-  /*IN*/ USHORT  DeviceId,
-  /*IN*/ UCHAR  RevisionId,
-  /*IN*/ USHORT  SubVendorId,
-  /*IN*/ USHORT  SubSystemId,
-  /*IN*/ ULONG  Flags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortClearEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PEVENT  pEvent);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortCompareMemory(
-  /*IN*/ PVOID  Source1,
-  /*IN*/ PVOID  Source2,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCompleteDma(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter,
-  /*IN*/ PVP_SCATTER_GATHER_LIST  VpScatterGather,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  EventFlag,
-  /*IN*/ PVOID  Unused,
-  /*OUT*/ PEVENT  *ppEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSecondaryDisplay(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PVOID  *SecondaryDeviceExtension,
-  /*IN*/ ULONG  ulFlag);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSpinLock(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*OUT*/ PSPIN_LOCK  *SpinLock);
-
-typedef struct _DDC_CONTROL {
-  /*IN*/ ULONG  Size;
-  /*IN*/ I2C_CALLBACKS  I2CCallbacks;
-  /*IN*/ UCHAR  EdidSegment;
-} DDC_CONTROL, *PDDC_CONTROL;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortDDCMonitorHelper(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  DDCControl,
-  /*IN OUT*/ PUCHAR  EdidBuffer,
-  /*IN*/ ULONG  EdidBufferSize);
-
-VPAPI
-VOID
-DDKCDECLAPI
-VideoPortDebugPrint(
-  /*IN*/ VIDEO_DEBUG_LEVEL  DebugPrintLevel,
-  /*IN*/ PCHAR  DebugMessage,
-  /*IN*/ ...);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PEVENT  pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteSpinLock(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSPIN_LOCK  SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDisableInterrupt(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortDoDma(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PDMA  pDma,
-  /*IN*/ DMA_FLAGS  DmaFlags);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnableInterrupt(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnumerateChildren(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Reserved);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeCommonBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ PHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  MappedAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreePool(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Ptr);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetAccessRanges(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  NumRequestedResources,
-  /*IN*/ PIO_RESOURCE_DESCRIPTOR  RequestedResources  /*OPTIONAL*/,
-  /*IN*/ ULONG  NumAccessRanges,
-  /*OUT*/ PVIDEO_ACCESS_RANGE  AccessRanges,
-  /*IN*/ PVOID  VendorId,
-  /*IN*/ PVOID  DeviceId,
-  /*OUT*/ PULONG  Slot);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetAssociatedDeviceExtension(
-  /*IN*/ PVOID  DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetAssociatedDeviceID(
-  /*IN*/ PVOID DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBusData(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBytesUsed(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PDMA  pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetCommonBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  DesiredLength,
-  /*IN*/ ULONG  Alignment,
-  /*OUT*/ PPHYSICAL_ADDRESS  LogicalAddress,
-  /*OUT*/ PULONG  pActualLength,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortGetCurrentIrql(
-  VOID);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDeviceBase(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PHYSICAL_ADDRESS  IoAddress,
-  /*IN*/ ULONG  NumberOfUchars,
-  /*IN*/ UCHAR  InIoSpace);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetDeviceData(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ VIDEO_DEVICE_DATA_TYPE  DeviceDataType,
-  /*IN*/ PMINIPORT_QUERY_DEVICE_ROUTINE  CallbackRoutine,
-  /*IN*/ PVOID  Context);
-
-VPAPI
-PVP_DMA_ADAPTER
-DDKAPI
-VideoPortGetDmaAdapter(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DEVICE_DESCRIPTION  VpDeviceDescription);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDmaContext(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PDMA  pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetMdl(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PDMA  pDma);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetRegistryParameters(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PWSTR  ParameterName,
-  /*IN*/ UCHAR  IsParameterFileName,
-  /*IN*/ PMINIPORT_GET_REGISTRY_ROUTINE  CallbackRoutine,
-  /*IN*/ PVOID  Context);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetRomImage(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Unused1,
-  /*IN*/ ULONG  Unused2,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVersion(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PVPOSVERSIONINFO  pVpOsVersionInfo);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVgaStatus(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*OUT*/ PULONG  VgaStatus);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortInitialize(
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2,
-  /*IN*/ PVIDEO_HW_INITIALIZATION_DATA  HwInitializationData,
-  /*IN*/ PVOID  HwContext);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortInt10(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_X86_BIOS_ARGUMENTS  BiosArguments);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedDecrement(
-  /*IN*/ PLONG  Addend);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedExchange(
-  /*IN OUT*/ PLONG  Target,
-  /*IN*/ LONG  Value);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedIncrement(
-  /*IN*/ PLONG  Addend);
-
-typedef enum _VP_LOCK_OPERATION {
-  VpReadAccess = 0,
-  VpWriteAccess,
-  VpModifyAccess
-} VP_LOCK_OPERATION;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortLockBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  Length,
-  /*IN*/ VP_LOCK_OPERATION  Operation);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortLockPages(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PVIDEO_REQUEST_PACKET  pVrp,
-  /*IN OUT*/ PEVENT  pUEvent,
-  /*IN*/ PEVENT  pDisplayEvent,
-  /*IN*/ DMA_FLAGS  DmaFlags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortLogError(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_REQUEST_PACKET  Vrp  /*OPTIONAL*/,
-  /*IN*/ VP_STATUS  ErrorCode,
-  /*IN*/ ULONG  UniqueId);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapBankedMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN OUT*/ PULONG  Length,
-  PULONG  InIoSpace,
-  PVOID  *VirtualAddress,
-  ULONG  BankLength,
-  UCHAR  ReadWriteBank,
-  PBANKED_SECTION_ROUTINE  BankRoutine,
-  PVOID  Context);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortMapDmaMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_REQUEST_PACKET  pVrp,
-  /*IN*/ PHYSICAL_ADDRESS  BoardAddress,
-  /*IN*/ PULONG  Length,
-  /*IN*/ PULONG  InIoSpace,
-  /*IN*/ PVOID  MappedUserEvent,
-  /*IN*/ PVOID  DisplayDriverEvent,
-  /*IN OUT*/ PVOID  *VirtualAddress);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN OUT*/ PULONG  Length,
-  /*IN*/ PULONG  InIoSpace,
-  /*IN OUT*/ PVOID  *VirtualAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortMoveMemory(
-  /*IN*/ PVOID  Destination,
-  /*IN*/ PVOID  Source,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortPutDmaAdapter(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter);
-
-VPAPI
-LONGLONG
-DDKAPI
-VideoPortQueryPerformanceCounter(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*OUT*/ PLONGLONG  PerformanceFrequency  /*OPTIONAL*/);
-
-  /* VideoPortQueryServices.ServicesType constants */
-typedef enum _VIDEO_PORT_SERVICES {
-  VideoPortServicesAGP = 1,
-  VideoPortServicesI2C,
-  VideoPortServicesHeadless,
-  VideoPortServicesInt10
-} VIDEO_PORT_SERVICES;
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortQueryServices(
-  /*IN*/ PVOID HwDeviceExtension,
-  /*IN*/ VIDEO_PORT_SERVICES ServicesType,
-  /*IN OUT*/ PINTERFACE Interface);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortQuerySystemTime(
-  /*OUT*/ PLARGE_INTEGER  CurrentTime);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortQueueDpc(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PMINIPORT_DPC_ROUTINE  CallbackRoutine,
-  /*IN*/ PVOID  Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUchar(
-  /*IN*/ PUCHAR  Port,
-  /*OUT*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUlong(
-  /*IN*/ PULONG  Port,
-  /*OUT*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUshort(
-  /*IN*/ PUSHORT  Port,
-  /*OUT*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadPortUchar(
-  /*IN*/ PUCHAR  Port);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadPortUlong(
-  /*IN*/ PULONG  Port);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadPortUshort(
-  /*IN*/ PUSHORT  Port);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUchar(
-  /*IN*/ PUCHAR  Register,
-  /*OUT*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUlong(
-  /*IN*/ PULONG  Register,
-  /*OUT*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUshort(
-  /*IN*/ PUSHORT  Register,
-  /*OUT*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadRegisterUchar(
-  /*IN*/ PUCHAR  Register);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadRegisterUlong(
-  /*IN*/ PULONG  Register);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadRegisterUshort(
-  /*IN*/ PUSHORT  Register);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortReadStateEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PEVENT  pEvent);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Buffer);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseCommonBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseDeviceLock(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLock(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSPIN_LOCK  SpinLock,
-  /*IN*/ UCHAR  NewIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLockFromDpcLevel(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PSPIN_LOCK  SpinLock);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortScanRom(
-  PVOID  HwDeviceExtension,
-  PUCHAR  RomBase,
-  ULONG  RomLength,
-  PUCHAR  String);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortSetBusData(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetBytesUsed(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PDMA  pDma,
-  /*IN*/ ULONG  BytesUsed);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetDmaContext(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*OUT*/ PDMA  pDma,
-  /*IN*/ PVOID  InstanceContext);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortSetEvent(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PEVENT  pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetRegistryParameters(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PWSTR  ValueName,
-  /*IN*/ PVOID  ValueData,
-  /*IN*/ ULONG  ValueLength);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetTrappedEmulatorPorts(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  NumAccessRanges,
-  /*IN*/ PVIDEO_ACCESS_RANGE  AccessRange);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSignalDmaComplete(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  pDmaHandle);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStallExecution(
-  /*IN*/ ULONG  Microseconds);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortStartDma(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVP_DMA_ADAPTER  VpDmaAdapter,
-  /*IN*/ PVOID  Mdl,
-  /*IN*/ ULONG  Offset,
-  /*IN OUT*/ PULONG  pLength,
-  /*IN*/ PEXECUTE_DMA  ExecuteDmaRoutine,
-  /*IN*/ PVOID  Context,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStartTimer(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStopTimer(
-  /*IN*/ PVOID  HwDeviceExtension);
-
-  /* VideoPortSynchronizeExecution.Priority constants */
-typedef enum VIDEO_SYNCHRONIZE_PRIORITY {
-  VpLowPriority = 0,
-  VpMediumPriority,
-  VpHighPriority
-} VIDEO_SYNCHRONIZE_PRIORITY, *PVIDEO_SYNCHRONIZE_PRIORITY;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSynchronizeExecution(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ VIDEO_SYNCHRONIZE_PRIORITY  Priority,
-  /*IN*/ PMINIPORT_SYNCHRONIZE_ROUTINE  SynchronizeRoutine,
-  /*IN*/ PVOID  Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortUnLockBuffer(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Mdl);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnlockPages(
-  /*IN*/ PVOID  hwDeviceExtension,
-  /*IN OUT*/ PDMA  pDma);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnmapDmaMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PDMA  BoardMemoryHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortUnmapMemory(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN OUT*/ PVOID  VirtualAddress,
-  /*IN*/ HANDLE  ProcessHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortVerifyAccessRanges(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  NumAccessRanges,
-  /*IN*/ PVIDEO_ACCESS_RANGE  AccessRanges);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortWaitForSingleObject(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  Object,
-  /*IN*/ PLARGE_INTEGER  Timeout /*OPTIONAL*/);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUchar(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ UCHAR  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUlong(
-  /*IN*/ PULONG  Port,
-  /*IN*/ ULONG  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUshort(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ USHORT  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUchar(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUlong(
-  /*IN*/ PULONG  Register,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUshort(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUchar(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ UCHAR  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUlong(
-  /*IN*/ PULONG  Register,
-  /*IN*/ ULONG  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUshort(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ USHORT  Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroDeviceMemory(
-  /*IN*/ PVOID  Destination,
-  /*IN*/ ULONG  Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroMemory(
-  /*IN*/ PVOID  Destination,
-  /*2IN*/ ULONG  Length);
-
-#ifdef DBG
-#define VideoDebugPrint(x) VideoPortDebugPrint x
-#else
-#define VideoDebugPrint(x)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __WINDDI_H */
-
-#endif /* __VIDEO_H */
Index: Daodan/MinGW/include/ddk/videoagp.h
===================================================================
--- Daodan/MinGW/include/ddk/videoagp.h	(revision 1046)
+++ 	(revision )
@@ -1,129 +1,0 @@
-/*
- * videoagp.h
- *
- * Video miniport AGP interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __VIDEOAGP_H
-#define __VIDEOAGP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "video.h"
-
-
-#define VIDEO_AGP_RATE_1X                 0x00000001
-#define VIDEO_AGP_RATE_2X                 0x00000002
-#define VIDEO_AGP_RATE_4X                 0x00000004
-#define VIDEO_AGP_RATE_8X                 0x00000008
-
-typedef enum _VIDEO_PORT_CACHE_TYPE {
-	VpNonCached = 0,
-	VpWriteCombined,
-	VpCached
-} VIDEO_PORT_CACHE_TYPE;
-
-typedef BOOLEAN DDKAPI
-(*PAGP_COMMIT_PHYSICAL)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  PhysicalReserveContext,
-  /*IN*/ ULONG  Pages,
-  /*IN*/ ULONG  Offset);
-
-typedef PVOID DDKAPI
-(*PAGP_COMMIT_VIRTUAL)(
-  /*IN*/  PVOID  HwDeviceExtension,
-  /*IN*/  PVOID  VirtualReserveContext,
-  /*IN*/  ULONG  Pages,
-  /*IN*/  ULONG  Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_PHYSICAL)(
-  /*IN*/  PVOID  HwDeviceExtension,
-  /*IN*/  PVOID  PhysicalReserveContext,
-  /*IN*/  ULONG  Pages,
-  /*IN*/  ULONG  Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_VIRTUAL)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  VirtualReserveContext,
-  /*IN*/ ULONG  Pages,
-  /*IN*/ ULONG  Offset);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_PHYSICAL)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVOID  PhysicalReserveContext);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_VIRTUAL)(
-  /*IN*/  PVOID  HwDeviceExtension,
-  /*IN*/  PVOID  VirtualReserveContext);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PAGP_RESERVE_PHYSICAL)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  Pages,
-  /*IN*/ VIDEO_PORT_CACHE_TYPE  Caching,
-  /*OUT*/ PVOID  *PhysicalReserveContext);
-
-typedef PVOID DDKAPI
-(*PAGP_RESERVE_VIRTUAL)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PVOID  PhysicalReserveContext,
-  /*OUT*/ PVOID  *VirtualReserveContext);
-
-typedef BOOLEAN DDKAPI
-(*PAGP_SET_RATE)(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ ULONG  AgpRate);
-
-typedef struct _VIDEO_PORT_AGP_SERVICES {
-  PAGP_RESERVE_PHYSICAL  AgpReservePhysical;
-  PAGP_RELEASE_PHYSICAL  AgpReleasePhysical;
-  PAGP_COMMIT_PHYSICAL  AgpCommitPhysical;
-  PAGP_FREE_PHYSICAL  AgpFreePhysical;
-  PAGP_RESERVE_VIRTUAL  AgpReserveVirtual;
-  PAGP_RELEASE_VIRTUAL  AgpReleaseVirtual;
-  PAGP_COMMIT_VIRTUAL  AgpCommitVirtual;
-  PAGP_FREE_VIRTUAL  AgpFreeVirtual;
-  ULONGLONG  AllocationLimit;
-} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortGetAgpServices(
-  /*IN*/ PVOID  HwDeviceExtension,
-  /*IN*/ PVIDEO_PORT_AGP_SERVICES  AgpServices);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __VIDEOAGP_H */
Index: Daodan/MinGW/include/ddk/win2k.h
===================================================================
--- Daodan/MinGW/include/ddk/win2k.h	(revision 1046)
+++ 	(revision )
@@ -1,106 +1,0 @@
-/*
- * win2k.h
- *
- * Definitions only used in Windows 2000 and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WIN2K_H
-#define __WIN2K_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#pragma pack(push,4)
-
-typedef enum _BUS_DATA_TYPE {
-  ConfigurationSpaceUndefined = -1,
-  Cmos,
-  EisaConfiguration,
-  Pos,
-  CbusConfiguration,
-  PCIConfiguration,
-  VMEConfiguration,
-  NuBusConfiguration,
-  PCMCIAConfiguration,
-  MPIConfiguration,
-  MPSAConfiguration,
-  PNPISAConfiguration,
-  SgiInternalConfiguration,
-  MaximumBusDataType
-} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResourceForThreadLite(
-  /*IN*/ PERESOURCE  Resource,
-  /*IN*/ ERESOURCE_THREAD  ResourceThreadId);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadPartitionTable(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  SectorSize,
-  /*IN*/ BOOLEAN  ReturnRecognizedPartitions,
-  /*OUT*/ struct _DRIVE_LAYOUT_INFORMATION  **PartitionBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetPartitionInformation(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  SectorSize,
-  /*IN*/ ULONG  PartitionNumber,
-  /*IN*/ ULONG  PartitionType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWritePartitionTable(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  SectorSize,
-  /*IN*/ ULONG  SectorsPerTrack,
-  /*IN*/ ULONG  NumberOfHeads,
-  /*IN*/ struct _DRIVE_LAYOUT_INFORMATION  *PartitionBuffer);
-
-/*
- * PVOID MmGetSystemAddressForMdl(
- * IN PMDL  Mdl);
- */
-#define MmGetSystemAddressForMdl(Mdl) \
-  (((Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \
-    MDL_SOURCE_IS_NONPAGED_POOL)) ? \
-      ((Mdl)->MappedSystemVa) : \
-      (MmMapLockedPages((Mdl), KernelMode)))
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIN2K_H */
Index: Daodan/MinGW/include/ddk/winddi.h
===================================================================
--- Daodan/MinGW/include/ddk/winddi.h	(revision 1046)
+++ 	(revision )
@@ -1,4258 +1,0 @@
-/*
- * winddi.h
- *
- * GDI device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINDDI_H
-#define __WINDDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __VIDEO_H
-#error video.h cannot be included with winddi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include <wingdi.h>
-
-#ifndef __DD_INCLUDED__
-/* FIXME: Some DirectDraw structures not added yet */
-typedef ULONG_PTR FLATPTR;
-typedef struct _DD_SURFACECALLBACKS {
-} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
-typedef struct _DD_PALETTECALLBACKS {
-} DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS;
-typedef struct _DD_CALLBACKS {
-} DD_CALLBACKS, *PDD_CALLBACKS;
-typedef struct _DD_HALINFO {
-} DD_HALINFO, *PDD_HALINFO;
-typedef struct _VIDEOMEMORY {
-} VIDEOMEMORY, *LPVIDEOMEMORY;
-typedef struct _DD_DIRECTDRAW_GLOBAL {
-} DD_DIRECTDRAW_GLOBAL, *LPDD_DIRECTDRAW_GLOBAL;
-typedef struct _DD_SURFACE_LOCAL {
-} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL;
-#endif
-
-#ifndef __DDRAWI_INCLUDED__
-typedef PVOID LPVIDMEM;
-#endif
-
-#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__)
-typedef struct _DDSCAPS {
-} DDSCAPS, *PDDSCAPS;
-typedef struct _DDSCAPSEX {
-} DDSCAPSEX, *PDDSCAPSEX;
-typedef PVOID LPVMEMHEAP;
-#endif
-
-#if defined(_WIN32K_)
-#define WIN32KAPI DECL_EXPORT
-#else
-#define WIN32KAPI DECL_IMPORT
-#endif
-
-#define DDI_DRIVER_VERSION_NT4            0x00020000
-#define DDI_DRIVER_VERSION_SP3            0x00020003
-#define DDI_DRIVER_VERSION_NT5            0x00030000
-#define DDI_DRIVER_VERSION_NT5_01         0x00030100
-
-#define GDI_DRIVER_VERSION                0x4000
-
-#ifdef _X86_
-
-typedef DWORD FLOATL;
-
-#else /* !_X86_ */
-
-typedef FLOAT FLOATL;
-
-#endif
-
-typedef SHORT FWORD;
-typedef LONG LDECI4;
-typedef ULONG IDENT;
-
-typedef ULONG_PTR HFF;
-typedef ULONG_PTR HFC;
-
-typedef LONG PTRDIFF;
-typedef PTRDIFF *PPTRDIFF;
-typedef LONG FIX;
-typedef FIX *PFIX;
-typedef ULONG ROP4;
-typedef ULONG MIX;
-typedef ULONG HGLYPH;
-typedef HGLYPH *PHGLYPH;
-
-typedef LONG_PTR (DDKAPI *PFN)();
-
-DECLARE_HANDLE(HBM);
-DECLARE_HANDLE(HDEV);
-DECLARE_HANDLE(HSURF);
-DECLARE_HANDLE(DHSURF);
-DECLARE_HANDLE(DHPDEV);
-DECLARE_HANDLE(HDRVOBJ);
-
-
-#define GDI_DRIVER_VERSION                0x4000
-
-typedef struct _ENG_EVENT *PEVENT;
-
-#define OPENGL_CMD                        4352
-#define OPENGL_GETINFO                    4353
-#define WNDOBJ_SETUP                      4354
-
-#define FD_ERROR                          0xFFFFFFFF
-#define DDI_ERROR                         0xFFFFFFFF
-
-#define HFF_INVALID                       ((HFF) 0)
-#define HFC_INVALID                       ((HFC) 0)
-#define HGLYPH_INVALID                    ((HGLYPH) -1)
-
-#define FP_ALTERNATEMODE                  1
-#define FP_WINDINGMODE                    2
-
-#define DN_ACCELERATION_LEVEL             1
-#define DN_DEVICE_ORIGIN                  2
-#define DN_SLEEP_MODE                     3
-#define DN_DRAWING_BEGIN                  4
-
-#define DCR_SOLID                         0
-#define DCR_DRIVER                        1
-#define DCR_HALFTONE                      2
-
-#define GX_IDENTITY                       0
-#define GX_OFFSET                         1
-#define GX_SCALE                          2
-#define GX_GENERAL                        3
-
-typedef struct _POINTE {
-	FLOATL  x;
-	FLOATL  y;
-} POINTE, *PPOINTE;
-
-typedef union _FLOAT_LONG {
-  FLOATL  e;
-  LONG  l;
-} FLOAT_LONG, *PFLOAT_LONG;
-
-typedef struct _POINTFIX {
-  FIX  x;
-  FIX  y;
-} POINTFIX, *PPOINTFIX;
-
-typedef struct _RECTFX {
-  FIX  xLeft;
-  FIX  yTop;
-  FIX  xRight;
-  FIX  yBottom;
-} RECTFX, *PRECTFX;
-
-typedef struct _POINTQF {
-  LARGE_INTEGER  x;
-  LARGE_INTEGER  y;
-} POINTQF, *PPOINTQF;
-
-
-typedef struct _BLENDOBJ {
-  BLENDFUNCTION  BlendFunction;
-} BLENDOBJ,*PBLENDOBJ;
-
-/* BRUSHOBJ.flColorType */
-#define BR_DEVICE_ICM    0x01
-#define BR_HOST_ICM      0x02
-#define BR_CMYKCOLOR     0x04
-#define BR_ORIGCOLOR     0x08
-
-typedef struct _BRUSHOBJ {
-  ULONG  iSolidColor;
-  PVOID  pvRbrush;
-  FLONG  flColorType;
-} BRUSHOBJ;
-
-typedef struct _CIECHROMA {
-  LDECI4  x;
-  LDECI4  y;
-  LDECI4  Y;
-} CIECHROMA;
-
-typedef struct _RUN {
-  LONG  iStart;
-  LONG  iStop;
-} RUN, *PRUN;
-
-typedef struct _CLIPLINE {
-  POINTFIX  ptfxA;
-  POINTFIX  ptfxB;
-  LONG  lStyleState;
-  ULONG  c;
-  RUN  arun[1];
-} CLIPLINE, *PCLIPLINE;
-
-/* CLIPOBJ.iDComplexity constants */
-#define DC_TRIVIAL                        0
-#define DC_RECT                           1
-#define DC_COMPLEX                        3
-
-/* CLIPOBJ.iFComplexity constants */
-#define FC_RECT                           1
-#define FC_RECT4                          2
-#define FC_COMPLEX                        3
-
-/* CLIPOBJ.iMode constants */
-#define TC_RECTANGLES                     0
-#define TC_PATHOBJ                        2
-
-/* CLIPOBJ.fjOptions constants */
-#define OC_BANK_CLIP                      1
-
-typedef struct _CLIPOBJ {
-  ULONG  iUniq;
-  RECTL  rclBounds;
-  BYTE  iDComplexity;
-  BYTE  iFComplexity;
-  BYTE  iMode;
-  BYTE  fjOptions;
-} CLIPOBJ;
-
-typedef struct _COLORINFO {
-  CIECHROMA  Red;
-  CIECHROMA  Green;
-  CIECHROMA  Blue;
-  CIECHROMA  Cyan;
-  CIECHROMA  Magenta;
-  CIECHROMA  Yellow;
-  CIECHROMA  AlignmentWhite;
-  LDECI4  RedGamma;
-  LDECI4  GreenGamma;
-  LDECI4  BlueGamma;
-  LDECI4  MagentaInCyanDye;
-  LDECI4  YellowInCyanDye;
-  LDECI4  CyanInMagentaDye;
-  LDECI4  YellowInMagentaDye;
-  LDECI4  CyanInYellowDye;
-  LDECI4  MagentaInYellowDye;
-} COLORINFO, *PCOLORINFO;
-
-/* DEVHTADJDATA.DeviceFlags constants */
-#define DEVHTADJF_COLOR_DEVICE            0x00000001
-#define DEVHTADJF_ADDITIVE_DEVICE         0x00000002
-
-typedef struct _DEVHTINFO {
-  DWORD  HTFlags;
-  DWORD  HTPatternSize;
-  DWORD  DevPelsDPI;
-  COLORINFO  ColorInfo;
-} DEVHTINFO, *PDEVHTINFO;
-
-typedef struct _DEVHTADJDATA {
-  DWORD   DeviceFlags;
-  DWORD   DeviceXDPI;
-  DWORD   DeviceYDPI;
-  PDEVHTINFO  pDefHTInfo;
-  PDEVHTINFO  pAdjHTInfo;
-} DEVHTADJDATA, *PDEVHTADJDATA;
-
-/* DEVINFO.flGraphicsCaps flags */
-#define GCAPS_BEZIERS           0x00000001
-#define GCAPS_GEOMETRICWIDE     0x00000002
-#define GCAPS_ALTERNATEFILL     0x00000004
-#define GCAPS_WINDINGFILL       0x00000008
-#define GCAPS_HALFTONE          0x00000010
-#define GCAPS_COLOR_DITHER      0x00000020
-#define GCAPS_HORIZSTRIKE       0x00000040
-#define GCAPS_VERTSTRIKE        0x00000080
-#define GCAPS_OPAQUERECT        0x00000100
-#define GCAPS_VECTORFONT        0x00000200
-#define GCAPS_MONO_DITHER       0x00000400
-#define GCAPS_ASYNCCHANGE       0x00000800
-#define GCAPS_ASYNCMOVE         0x00001000
-#define GCAPS_DONTJOURNAL       0x00002000
-#define GCAPS_DIRECTDRAW        0x00004000
-#define GCAPS_ARBRUSHOPAQUE     0x00008000
-#define GCAPS_PANNING           0x00010000
-#define GCAPS_HIGHRESTEXT       0x00040000
-#define GCAPS_PALMANAGED        0x00080000
-#define GCAPS_DITHERONREALIZE   0x00200000
-#define GCAPS_NO64BITMEMACCESS  0x00400000
-#define GCAPS_FORCEDITHER       0x00800000
-#define GCAPS_GRAY16            0x01000000
-#define GCAPS_ICM               0x02000000
-#define GCAPS_CMYKCOLOR         0x04000000
-#define GCAPS_LAYERED           0x08000000
-#define GCAPS_ARBRUSHTEXT       0x10000000
-#define GCAPS_SCREENPRECISION   0x20000000
-#define GCAPS_FONT_RASTERIZER   0x40000000
-#define GCAPS_NUP               0x80000000
-
-/* DEVINFO.iDitherFormat constants */
-#define BMF_1BPP       1L
-#define BMF_4BPP       2L
-#define BMF_8BPP       3L
-#define BMF_16BPP      4L
-#define BMF_24BPP      5L
-#define BMF_32BPP      6L
-#define BMF_4RLE       7L
-#define BMF_8RLE       8L
-#define BMF_JPEG       9L
-#define BMF_PNG       10L
-
-/* DEVINFO.flGraphicsCaps2 flags */
-#define GCAPS2_JPEGSRC          0x00000001
-#define GCAPS2_xxxx             0x00000002
-#define GCAPS2_PNGSRC           0x00000008
-#define GCAPS2_CHANGEGAMMARAMP  0x00000010
-#define GCAPS2_ALPHACURSOR      0x00000020
-#define GCAPS2_SYNCFLUSH        0x00000040
-#define GCAPS2_SYNCTIMER        0x00000080
-#define GCAPS2_ICD_MULTIMON     0x00000100
-#define GCAPS2_MOUSETRAILS      0x00000200
-#define GCAPS2_RESERVED1        0x00000400
-
-typedef struct _DEVINFO {
-  FLONG  flGraphicsCaps;
-  LOGFONTW  lfDefaultFont;
-  LOGFONTW  lfAnsiVarFont;
-  LOGFONTW  lfAnsiFixFont;
-  ULONG  cFonts;
-  ULONG  iDitherFormat;
-  USHORT  cxDither;
-  USHORT  cyDither;
-  HPALETTE  hpalDefault;
-  FLONG  flGraphicsCaps2;
-} DEVINFO, *PDEVINFO;
-
-typedef struct _DRIVEROBJ *PDRIVEROBJ;
-
-typedef BOOL DDKAPI CALLBACK
-(*FREEOBJPROC)(
-  /*IN*/ PDRIVEROBJ  pDriverObj);
-
-typedef struct _DRIVEROBJ {
-  PVOID  pvObj;
-  FREEOBJPROC  pFreeProc;
-  HDEV  hdev;
-  DHPDEV  dhpdev;
-} DRIVEROBJ;
-
-/* DRVFN.iFunc constants */
-#define INDEX_DrvEnablePDEV               0L
-#define INDEX_DrvCompletePDEV             1L
-#define INDEX_DrvDisablePDEV              2L
-#define INDEX_DrvEnableSurface            3L
-#define INDEX_DrvDisableSurface           4L
-#define INDEX_DrvAssertMode               5L
-#define INDEX_DrvOffset                   6L
-#define INDEX_DrvResetPDEV                7L
-#define INDEX_DrvDisableDriver            8L
-#define INDEX_DrvCreateDeviceBitmap       10L
-#define INDEX_DrvDeleteDeviceBitmap       11L
-#define INDEX_DrvRealizeBrush             12L
-#define INDEX_DrvDitherColor              13L
-#define INDEX_DrvStrokePath               14L
-#define INDEX_DrvFillPath                 15L
-#define INDEX_DrvStrokeAndFillPath        16L
-#define INDEX_DrvPaint                    17L
-#define INDEX_DrvBitBlt                   18L
-#define INDEX_DrvCopyBits                 19L
-#define INDEX_DrvStretchBlt               20L
-#define INDEX_DrvSetPalette               22L
-#define INDEX_DrvTextOut                  23L
-#define INDEX_DrvEscape                   24L
-#define INDEX_DrvDrawEscape               25L
-#define INDEX_DrvQueryFont                26L
-#define INDEX_DrvQueryFontTree            27L
-#define INDEX_DrvQueryFontData            28L
-#define INDEX_DrvSetPointerShape          29L
-#define INDEX_DrvMovePointer              30L
-#define INDEX_DrvLineTo                   31L
-#define INDEX_DrvSendPage                 32L
-#define INDEX_DrvStartPage                33L
-#define INDEX_DrvEndDoc                   34L
-#define INDEX_DrvStartDoc                 35L
-#define INDEX_DrvGetGlyphMode             37L
-#define INDEX_DrvSynchronize              38L
-#define INDEX_DrvSaveScreenBits           40L
-#define INDEX_DrvGetModes                 41L
-#define INDEX_DrvFree                     42L
-#define INDEX_DrvDestroyFont              43L
-#define INDEX_DrvQueryFontCaps            44L
-#define INDEX_DrvLoadFontFile             45L
-#define INDEX_DrvUnloadFontFile           46L
-#define INDEX_DrvFontManagement           47L
-#define INDEX_DrvQueryTrueTypeTable       48L
-#define INDEX_DrvQueryTrueTypeOutline     49L
-#define INDEX_DrvGetTrueTypeFile          50L
-#define INDEX_DrvQueryFontFile            51L
-#define INDEX_DrvMovePanning              52L
-#define INDEX_DrvQueryAdvanceWidths       53L
-#define INDEX_DrvSetPixelFormat           54L
-#define INDEX_DrvDescribePixelFormat      55L
-#define INDEX_DrvSwapBuffers              56L
-#define INDEX_DrvStartBanding             57L
-#define INDEX_DrvNextBand                 58L
-#define INDEX_DrvGetDirectDrawInfo        59L
-#define INDEX_DrvEnableDirectDraw         60L
-#define INDEX_DrvDisableDirectDraw        61L
-#define INDEX_DrvQuerySpoolType           62L
-#define INDEX_DrvIcmCreateColorTransform  64L
-#define INDEX_DrvIcmDeleteColorTransform  65L
-#define INDEX_DrvIcmCheckBitmapBits       66L
-#define INDEX_DrvIcmSetDeviceGammaRamp    67L
-#define INDEX_DrvGradientFill             68L
-#define INDEX_DrvStretchBltROP            69L
-#define INDEX_DrvPlgBlt                   70L
-#define INDEX_DrvAlphaBlend               71L
-#define INDEX_DrvSynthesizeFont           72L
-#define INDEX_DrvGetSynthesizedFontFiles  73L
-#define INDEX_DrvTransparentBlt           74L
-#define INDEX_DrvQueryPerBandInfo         75L
-#define INDEX_DrvQueryDeviceSupport       76L
-#define INDEX_DrvReserved1                77L
-#define INDEX_DrvReserved2                78L
-#define INDEX_DrvReserved3                79L
-#define INDEX_DrvReserved4                80L
-#define INDEX_DrvReserved5                81L
-#define INDEX_DrvReserved6                82L
-#define INDEX_DrvReserved7                83L
-#define INDEX_DrvReserved8                84L
-#define INDEX_DrvDeriveSurface            85L
-#define INDEX_DrvQueryGlyphAttrs          86L
-#define INDEX_DrvNotify                   87L
-#define INDEX_DrvSynchronizeSurface       88L
-#define INDEX_DrvResetDevice              89L
-#define INDEX_DrvReserved9                90L
-#define INDEX_DrvReserved10               91L
-#define INDEX_DrvReserved11               92L
-#define INDEX_LAST                        93L
-
-typedef struct _DRVFN {
-  ULONG  iFunc;
-  PFN  pfn;
-} DRVFN, *PDRVFN;
-
-/* DRVENABLEDATA.iDriverVersion constants */
-#define DDI_DRIVER_VERSION_NT4            0x00020000
-#define DDI_DRIVER_VERSION_SP3            0x00020003
-#define DDI_DRIVER_VERSION_NT5            0x00030000
-#define DDI_DRIVER_VERSION_NT5_01         0x00030100
-
-typedef struct _DRVENABLEDATA {
-  ULONG  iDriverVersion;
-  ULONG  c;
-  DRVFN  *pdrvfn;
-} DRVENABLEDATA, *PDRVENABLEDATA;
-
-DECLARE_HANDLE(HSEMAPHORE);
-
-typedef struct {
-  DWORD  nSize;
-  HDC  hdc;
-  PBYTE  pvEMF;
-  PBYTE  pvCurrentRecord;
-} EMFINFO, *PEMFINFO;
-
-typedef struct _ENGSAFESEMAPHORE {
-  HSEMAPHORE  hsem;
-  LONG  lCount;
-} ENGSAFESEMAPHORE;
-
-typedef struct _ENG_TIME_FIELDS {
-  USHORT  usYear;
-  USHORT  usMonth;
-  USHORT  usDay;
-  USHORT  usHour;
-  USHORT  usMinute;
-  USHORT  usSecond;
-  USHORT  usMilliseconds;
-  USHORT  usWeekday;
-} ENG_TIME_FIELDS, *PENG_TIME_FIELDS;
-
-typedef struct _ENUMRECTS {
-  ULONG  c;
-  RECTL  arcl[1];
-} ENUMRECTS;
-
-typedef struct _FD_XFORM {
-  FLOATL  eXX;
-  FLOATL  eXY;
-  FLOATL  eYX;
-  FLOATL  eYY;
-} FD_XFORM, *PFD_XFORM;
-
-/* FD_DEVICEMETRICS.flRealizedType constants */
-#define FDM_TYPE_BM_SIDE_CONST            0x00000001
-#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE     0x00000002
-#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE   0x00000004
-#define FDM_TYPE_ZERO_BEARINGS            0x00000008
-#define FDM_TYPE_CONST_BEARINGS           0x00000010
-
-typedef struct _FD_DEVICEMETRICS {
-  FLONG  flRealizedType;
-  POINTE  pteBase;
-  POINTE  pteSide;
-  LONG  lD;
-  FIX  fxMaxAscender;
-  FIX  fxMaxDescender;
-  POINTL  ptlUnderline1;
-  POINTL  ptlStrikeout;
-  POINTL  ptlULThickness;
-  POINTL  ptlSOThickness;
-  ULONG  cxMax;
-  ULONG  cyMax;
-  ULONG  cjGlyphMax;
-  FD_XFORM  fdxQuantized;
-  LONG  lNonLinearExtLeading;
-  LONG  lNonLinearIntLeading;
-  LONG  lNonLinearMaxCharWidth;
-  LONG  lNonLinearAvgCharWidth;
-  LONG  lMinA;
-  LONG  lMinC;
-  LONG  lMinD;
-  LONG  alReserved[1];
-} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
-
-/* FD_GLYPHATTR.iMode constants */
-#define FO_ATTR_MODE_ROTATE               1
-
-typedef struct _FD_GLYPHATTR {
-  ULONG  cjThis;
-  ULONG  cGlyphs;
-  ULONG  iMode;
-  BYTE  aGlyphAttr[1];
-} FD_GLYPHATTR, *PFD_GLYPHATTR;
-
-/* FD_GLYPHSET.flAccel */
-#define GS_UNICODE_HANDLES                0x00000001
-#define GS_8BIT_HANDLES                   0x00000002
-#define GS_16BIT_HANDLES                  0x00000004
-
-typedef struct _WCRUN {
-  WCHAR  wcLow;
-  USHORT  cGlyphs;
-  HGLYPH  *phg;
-} WCRUN, *PWCRUN;
-
-typedef struct _FD_GLYPHSET {
-  ULONG  cjThis;
-  FLONG  flAccel;
-  ULONG  cGlyphsSupported;
-  ULONG  cRuns;
-  WCRUN  awcrun[1];
-} FD_GLYPHSET, *PFD_GLYPHSET;
-
-typedef struct _FD_KERNINGPAIR {
-  WCHAR  wcFirst;
-  WCHAR  wcSecond;
-  FWORD  fwdKern;
-} FD_KERNINGPAIR;
-
-typedef struct _FLOATOBJ
-{
-  ULONG  ul1;
-  ULONG  ul2;
-} FLOATOBJ, *PFLOATOBJ;
-
-typedef struct _FLOATOBJ_XFORM {
-  FLOATOBJ  eM11;
-  FLOATOBJ  eM12;
-  FLOATOBJ  eM21;
-  FLOATOBJ  eM22;
-  FLOATOBJ  eDx;
-  FLOATOBJ  eDy;
-} FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM;
-
-/* FONTDIFF.fsSelection */
-#define FM_SEL_ITALIC                     0x0001
-#define FM_SEL_UNDERSCORE                 0x0002
-#define FM_SEL_NEGATIVE                   0x0004
-#define FM_SEL_OUTLINED                   0x0008
-#define FM_SEL_STRIKEOUT                  0x0010
-#define FM_SEL_BOLD                       0x0020
-#define FM_SEL_REGULAR                    0x0040
-
-typedef struct _FONTDIFF {
-  BYTE  jReserved1;
-  BYTE  jReserved2;
-  BYTE  jReserved3;
-  BYTE  bWeight;
-  USHORT  usWinWeight;
-  FSHORT  fsSelection;
-  FWORD  fwdAveCharWidth;
-  FWORD  fwdMaxCharInc;
-  POINTL  ptlCaret;
-} FONTDIFF;
-
-typedef struct _FONTSIM {
-  PTRDIFF  dpBold;
-  PTRDIFF  dpItalic;
-  PTRDIFF  dpBoldItalic;
-} FONTSIM;
-
-/* FONTINFO.flCaps constants */
-#define FO_DEVICE_FONT                    1L
-#define FO_OUTLINE_CAPABLE                2L
-
-typedef struct _FONTINFO {
-  ULONG  cjThis;
-  FLONG  flCaps;
-  ULONG  cGlyphsSupported;
-  ULONG  cjMaxGlyph1;
-  ULONG  cjMaxGlyph4;
-  ULONG  cjMaxGlyph8;
-  ULONG  cjMaxGlyph32;
-} FONTINFO, *PFONTINFO;
-
-/* FONTOBJ.flFontType constants */
-#define FO_TYPE_RASTER   RASTER_FONTTYPE
-#define FO_TYPE_DEVICE   DEVICE_FONTTYPE
-#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
-#define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE
-
-#define FO_SIM_BOLD      0x00002000
-#define FO_SIM_ITALIC    0x00004000
-#define FO_EM_HEIGHT     0x00008000
-#define FO_GRAY16        0x00010000
-#define FO_NOGRAY16      0x00020000
-#define FO_NOHINTS       0x00040000
-#define FO_NO_CHOICE     0x00080000
-#define FO_CFF            0x00100000
-#define FO_POSTSCRIPT     0x00200000
-#define FO_MULTIPLEMASTER 0x00400000
-#define FO_VERT_FACE      0x00800000
-#define FO_DBCS_FONT      0X01000000
-#define FO_NOCLEARTYPE    0x02000000
-#define FO_CLEARTYPE_X    0x10000000
-#define FO_CLEARTYPE_Y    0x20000000
-
-typedef struct _FONTOBJ {
-  ULONG  iUniq;
-  ULONG  iFace;
-  ULONG  cxMax;
-  FLONG  flFontType;
-  ULONG_PTR  iTTUniq;
-  ULONG_PTR  iFile;
-  SIZE  sizLogResPpi;
-  ULONG  ulStyleSize;
-  PVOID  pvConsumer;
-  PVOID  pvProducer;
-} FONTOBJ;
-
-typedef struct _GAMMARAMP {
-  WORD  Red[256];
-  WORD  Green[256];
-  WORD  Blue[256];
-} GAMMARAMP, *PGAMMARAMP;
-
-/* GDIINFO.ulPrimaryOrder constants */
-#define PRIMARY_ORDER_ABC                 0
-#define PRIMARY_ORDER_ACB                 1
-#define PRIMARY_ORDER_BAC                 2
-#define PRIMARY_ORDER_BCA                 3
-#define PRIMARY_ORDER_CBA                 4
-#define PRIMARY_ORDER_CAB                 5
-
-/* GDIINFO.ulHTPatternSize constants */
-#define HT_PATSIZE_2x2                    0
-#define HT_PATSIZE_2x2_M                  1
-#define HT_PATSIZE_4x4                    2
-#define HT_PATSIZE_4x4_M                  3
-#define HT_PATSIZE_6x6                    4
-#define HT_PATSIZE_6x6_M                  5
-#define HT_PATSIZE_8x8                    6
-#define HT_PATSIZE_8x8_M                  7
-#define HT_PATSIZE_10x10                  8
-#define HT_PATSIZE_10x10_M                9
-#define HT_PATSIZE_12x12                  10
-#define HT_PATSIZE_12x12_M                11
-#define HT_PATSIZE_14x14                  12
-#define HT_PATSIZE_14x14_M                13
-#define HT_PATSIZE_16x16                  14
-#define HT_PATSIZE_16x16_M                15
-#define HT_PATSIZE_SUPERCELL              16
-#define HT_PATSIZE_SUPERCELL_M            17
-#define HT_PATSIZE_USER                   18
-#define HT_PATSIZE_MAX_INDEX              HT_PATSIZE_USER
-#define HT_PATSIZE_DEFAULT                HT_PATSIZE_SUPERCELL_M
-#define HT_USERPAT_CX_MIN                 4
-#define HT_USERPAT_CX_MAX                 256
-#define HT_USERPAT_CY_MIN                 4
-#define HT_USERPAT_CY_MAX                 256
-
-/* GDIINFO.ulHTOutputFormat constants */
-#define HT_FORMAT_1BPP                    0
-#define HT_FORMAT_4BPP                    2
-#define HT_FORMAT_4BPP_IRGB               3
-#define HT_FORMAT_8BPP                    4
-#define HT_FORMAT_16BPP                   5
-#define HT_FORMAT_24BPP                   6
-#define HT_FORMAT_32BPP                   7
-
-/* GDIINFO.flHTFlags */
-#define HT_FLAG_SQUARE_DEVICE_PEL         0x00000001
-#define HT_FLAG_HAS_BLACK_DYE             0x00000002
-#define HT_FLAG_ADDITIVE_PRIMS            0x00000004
-#define HT_FLAG_USE_8BPP_BITMASK          0x00000008
-#define HT_FLAG_INK_HIGH_ABSORPTION       0x00000010
-#define HT_FLAG_INK_ABSORPTION_INDICES    0x00000060
-#define HT_FLAG_DO_DEVCLR_XFORM           0x00000080
-#define HT_FLAG_OUTPUT_CMY                0x00000100
-#define HT_FLAG_PRINT_DRAFT_MODE          0x00000200
-#define HT_FLAG_INVERT_8BPP_BITMASK_IDX   0x00000400
-#define HT_FLAG_8BPP_CMY332_MASK          0xFF000000
-
-#define MAKE_CMYMASK_BYTE(c,m,y)          ((BYTE)(((BYTE)(c) & 0x07) << 5) \
-                                          |(BYTE)(((BYTE)(m) & 0x07) << 2) \
-                                          |(BYTE)((BYTE)(y) & 0x03))
-
-#define MAKE_CMY332_MASK(c,m,y)           ((DWORD)(((DWORD)(c) & 0x07) << 29)\
-                                          |(DWORD)(((DWORD)(m) & 0x07) << 26)\
-                                          |(DWORD)(((DWORD)(y) & 0x03) << 24))
-
-/* GDIINFO.flHTFlags constants */
-#define HT_FLAG_INK_ABSORPTION_IDX0       0x00000000
-#define HT_FLAG_INK_ABSORPTION_IDX1       0x00000020
-#define HT_FLAG_INK_ABSORPTION_IDX2       0x00000040
-#define HT_FLAG_INK_ABSORPTION_IDX3       0x00000060
-
-#define HT_FLAG_HIGHEST_INK_ABSORPTION    (HT_FLAG_INK_HIGH_ABSORPTION \
-                                          |HT_FLAG_INK_ABSORPTION_IDX3)
-#define HT_FLAG_HIGHER_INK_ABSORPTION     (HT_FLAG_INK_HIGH_ABSORPTION \
-                                          |HT_FLAG_INK_ABSORPTION_IDX2)
-#define HT_FLAG_HIGH_INK_ABSORPTION       (HT_FLAG_INK_HIGH_ABSORPTION \
-                                          |HT_FLAG_INK_ABSORPTION_IDX1)
-#define HT_FLAG_NORMAL_INK_ABSORPTION     HT_FLAG_INK_ABSORPTION_IDX0
-#define HT_FLAG_LOW_INK_ABSORPTION        HT_FLAG_INK_ABSORPTION_IDX1
-#define HT_FLAG_LOWER_INK_ABSORPTION      HT_FLAG_INK_ABSORPTION_IDX2
-#define HT_FLAG_LOWEST_INK_ABSORPTION     HT_FLAG_INK_ABSORPTION_IDX3
-
-#define HT_BITMASKPALRGB                  (DWORD)'0BGR'
-#define HT_SET_BITMASKPAL2RGB(pPal)       (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
-#define HT_IS_BITMASKPALRGB(pPal)         (*((LPDWORD)(pPal)) == (DWORD)0)
-
-/* GDIINFO.ulPhysicalPixelCharacteristics constants */
-#define PPC_DEFAULT                       0x0
-#define PPC_UNDEFINED                     0x1
-#define PPC_RGB_ORDER_VERTICAL_STRIPES    0x2
-#define PPC_BGR_ORDER_VERTICAL_STRIPES    0x3
-#define PPC_RGB_ORDER_HORIZONTAL_STRIPES  0x4
-#define PPC_BGR_ORDER_HORIZONTAL_STRIPES  0x5
-
-#define PPG_DEFAULT                       0
-#define PPG_SRGB                          1
-
-typedef struct _GDIINFO {
-  ULONG  ulVersion;
-  ULONG  ulTechnology;
-  ULONG  ulHorzSize;
-  ULONG  ulVertSize;
-  ULONG  ulHorzRes;
-  ULONG  ulVertRes;
-  ULONG  cBitsPixel;
-  ULONG  cPlanes;
-  ULONG  ulNumColors;
-  ULONG  flRaster;
-  ULONG  ulLogPixelsX;
-  ULONG  ulLogPixelsY;
-  ULONG  flTextCaps;
-  ULONG  ulDACRed;
-  ULONG  ulDACGreen;
-  ULONG  ulDACBlue;
-  ULONG  ulAspectX;
-  ULONG  ulAspectY;
-  ULONG  ulAspectXY;
-  LONG  xStyleStep;
-  LONG  yStyleStep;
-  LONG  denStyleStep;
-  POINTL  ptlPhysOffset;
-  SIZEL  szlPhysSize;
-  ULONG  ulNumPalReg;
-  COLORINFO  ciDevice;
-  ULONG  ulDevicePelsDPI;
-  ULONG  ulPrimaryOrder;
-  ULONG  ulHTPatternSize;
-  ULONG  ulHTOutputFormat;
-  ULONG  flHTFlags;
-  ULONG  ulVRefresh;
-  ULONG  ulBltAlignment;
-  ULONG  ulPanningHorzRes;
-  ULONG  ulPanningVertRes;
-  ULONG  xPanningAlignment;
-  ULONG  yPanningAlignment;
-  ULONG  cxHTPat;
-  ULONG  cyHTPat;
-  LPBYTE  pHTPatA;
-  LPBYTE  pHTPatB;
-  LPBYTE  pHTPatC;
-  ULONG  flShadeBlend;
-  ULONG  ulPhysicalPixelCharacteristics;
-  ULONG  ulPhysicalPixelGamma;
-} GDIINFO, *PGDIINFO;
-
-/* PATHDATA.flags constants */
-#define PD_BEGINSUBPATH                   0x00000001
-#define PD_ENDSUBPATH                     0x00000002
-#define PD_RESETSTYLE                     0x00000004
-#define PD_CLOSEFIGURE                    0x00000008
-#define PD_BEZIERS                        0x00000010
-#define PD_ALL                            (PD_BEGINSUBPATH \
-                                          |PD_ENDSUBPATH \
-                                          |PD_RESETSTYLE \
-                                          |PD_CLOSEFIGURE \
-                                          PD_BEZIERS)
-
-typedef struct _PATHDATA {
-  FLONG  flags;
-  ULONG  count;
-  POINTFIX  *glypptfx;
-} PATHDATA, *PPATHDATA;
-
-/* PATHOBJ.fl constants */
-#define PO_BEZIERS                        0x00000001
-#define PO_ELLIPSE                        0x00000002
-#define PO_ALL_INTEGERS                   0x00000004
-#define PO_ENUM_AS_INTEGERS               0x00000008
-
-typedef struct _PATHOBJ {
-  FLONG  fl;
-  ULONG  cCurves;
-} PATHOBJ;
-
-typedef struct _GLYPHBITS {
-  POINTL  ptlOrigin;
-  SIZEL  sizlBitmap;
-  BYTE  aj[1];
-} GLYPHBITS;
-
-typedef union _GLYPHDEF {
-  GLYPHBITS  *pgb;
-  PATHOBJ  *ppo;
-} GLYPHDEF;
-
-typedef struct _GLYPHPOS {
-  HGLYPH  hg;
-  GLYPHDEF  *pgdf;
-  POINTL  ptl;
-} GLYPHPOS, *PGLYPHPOS;
-
-typedef struct _GLYPHDATA {
-  GLYPHDEF  gdf;
-  HGLYPH  hg;
-  FIX  fxD;
-  FIX  fxA;
-  FIX  fxAB;
-  FIX  fxInkTop;
-  FIX  fxInkBottom;
-  RECTL  rclInk;
-  POINTQF  ptqD;
-} GLYPHDATA;
-
-typedef struct _IFIEXTRA {
-  ULONG  ulIdentifier;
-  PTRDIFF  dpFontSig;
-  ULONG  cig;
-  PTRDIFF  dpDesignVector;
-  PTRDIFF  dpAxesInfoW;
-  ULONG  aulReserved[1];
-} IFIEXTRA, *PIFIEXTRA;
-
-/* IFIMETRICS constants */
-
-#define FM_VERSION_NUMBER                 0x0
-
-/* IFIMETRICS.fsType constants */
-#define FM_TYPE_LICENSED                  0x2
-#define FM_READONLY_EMBED                 0x4
-#define FM_EDITABLE_EMBED                 0x8
-#define FM_NO_EMBEDDING                   FM_TYPE_LICENSED
-
-/* IFIMETRICS.flInfo constants */
-#define FM_INFO_TECH_TRUETYPE             0x00000001
-#define FM_INFO_TECH_BITMAP               0x00000002
-#define FM_INFO_TECH_STROKE               0x00000004
-#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
-#define FM_INFO_ARB_XFORMS                0x00000010
-#define FM_INFO_1BPP                      0x00000020
-#define FM_INFO_4BPP                      0x00000040
-#define FM_INFO_8BPP                      0x00000080
-#define FM_INFO_16BPP                     0x00000100
-#define FM_INFO_24BPP                     0x00000200
-#define FM_INFO_32BPP                     0x00000400
-#define FM_INFO_INTEGER_WIDTH             0x00000800
-#define FM_INFO_CONSTANT_WIDTH            0x00001000
-#define FM_INFO_NOT_CONTIGUOUS            0x00002000
-#define FM_INFO_TECH_MM                   0x00004000
-#define FM_INFO_RETURNS_OUTLINES          0x00008000
-#define FM_INFO_RETURNS_STROKES           0x00010000
-#define FM_INFO_RETURNS_BITMAPS           0x00020000
-#define FM_INFO_DSIG                      0x00040000
-#define FM_INFO_RIGHT_HANDED              0x00080000
-#define FM_INFO_INTEGRAL_SCALING          0x00100000
-#define FM_INFO_90DEGREE_ROTATIONS        0x00200000
-#define FM_INFO_OPTICALLY_FIXED_PITCH     0x00400000
-#define FM_INFO_DO_NOT_ENUMERATE          0x00800000
-#define FM_INFO_ISOTROPIC_SCALING_ONLY    0x01000000
-#define FM_INFO_ANISOTROPIC_SCALING_ONLY  0x02000000
-#define FM_INFO_TECH_CFF                  0x04000000
-#define FM_INFO_FAMILY_EQUIV              0x08000000
-#define FM_INFO_DBCS_FIXED_PITCH          0x10000000
-#define FM_INFO_NONNEGATIVE_AC            0x20000000
-#define FM_INFO_IGNORE_TC_RA_ABLE         0x40000000
-#define FM_INFO_TECH_TYPE1                0x80000000
-
-#define MAXCHARSETS                       16
-
-/* IFIMETRICS.ulPanoseCulture constants */
-#define  FM_PANOSE_CULTURE_LATIN          0x0
-
-typedef struct _IFIMETRICS {
-  ULONG  cjThis;
-  ULONG  cjIfiExtra;
-  PTRDIFF  dpwszFamilyName;
-  PTRDIFF  dpwszStyleName;
-  PTRDIFF  dpwszFaceName;
-  PTRDIFF  dpwszUniqueName;
-  PTRDIFF  dpFontSim;
-  LONG  lEmbedId;
-  LONG  lItalicAngle;
-  LONG  lCharBias;
-  PTRDIFF  dpCharSets;
-  BYTE  jWinCharSet;
-  BYTE  jWinPitchAndFamily;
-  USHORT  usWinWeight;
-  ULONG  flInfo;
-  USHORT  fsSelection;
-  USHORT  fsType;
-  FWORD  fwdUnitsPerEm;
-  FWORD  fwdLowestPPEm;
-  FWORD  fwdWinAscender;
-  FWORD  fwdWinDescender;
-  FWORD  fwdMacAscender;
-  FWORD  fwdMacDescender;
-  FWORD  fwdMacLineGap;
-  FWORD  fwdTypoAscender;
-  FWORD  fwdTypoDescender;
-  FWORD  fwdTypoLineGap;
-  FWORD  fwdAveCharWidth;
-  FWORD  fwdMaxCharInc;
-  FWORD  fwdCapHeight;
-  FWORD  fwdXHeight;
-  FWORD  fwdSubscriptXSize;
-  FWORD  fwdSubscriptYSize;
-  FWORD  fwdSubscriptXOffset;
-  FWORD  fwdSubscriptYOffset;
-  FWORD  fwdSuperscriptXSize;
-  FWORD  fwdSuperscriptYSize;
-  FWORD  fwdSuperscriptXOffset;
-  FWORD  fwdSuperscriptYOffset;
-  FWORD  fwdUnderscoreSize;
-  FWORD  fwdUnderscorePosition;
-  FWORD  fwdStrikeoutSize;
-  FWORD  fwdStrikeoutPosition;
-  BYTE  chFirstChar;
-  BYTE  chLastChar;
-  BYTE  chDefaultChar;
-  BYTE  chBreakChar;
-  WCHAR  wcFirstChar;
-  WCHAR  wcLastChar;
-  WCHAR  wcDefaultChar;
-  WCHAR  wcBreakChar;
-  POINTL  ptlBaseline;
-  POINTL  ptlAspect;
-  POINTL  ptlCaret;
-  RECTL  rclFontBox;
-  BYTE  achVendId[4];
-  ULONG  cKerningPairs;
-  ULONG  ulPanoseCulture;
-  PANOSE  panose;
-#if defined(_WIN64)
-  PVOID  Align;
-#endif
-} IFIMETRICS, *PIFIMETRICS;
-
-/* LINEATTRS.fl */
-#define LA_GEOMETRIC                      0x00000001
-#define LA_ALTERNATE                      0x00000002
-#define LA_STARTGAP                       0x00000004
-#define LA_STYLED                         0x00000008
-
-/* LINEATTRS.iJoin */
-#define JOIN_ROUND                        0L
-#define JOIN_BEVEL                        1L
-#define JOIN_MITER                        2L
-
-/* LINEATTRS.iEndCap */
-#define ENDCAP_ROUND                      0L
-#define ENDCAP_SQUARE                     1L
-#define ENDCAP_BUTT                       2L
-
-typedef struct _LINEATTRS {
-  FLONG  fl;
-  ULONG  iJoin;
-  ULONG  iEndCap;
-  FLOAT_LONG  elWidth;
-  FLOATL  eMiterLimit;
-  ULONG  cstyle;
-  PFLOAT_LONG  pstyle;
-  FLOAT_LONG  elStyleState;
-} LINEATTRS, *PLINEATTRS;
-
-typedef struct _PALOBJ {
-  ULONG  ulReserved;
-} PALOBJ;
-
-typedef struct _PERBANDINFO {
-  BOOL  bRepeatThisBand;
-  SIZEL  szlBand;
-  ULONG  ulHorzRes;
-  ULONG  ulVertRes;
-} PERBANDINFO, *PPERBANDINFO;
-
-/* STROBJ.flAccel constants */
-#define SO_FLAG_DEFAULT_PLACEMENT        0x00000001
-#define SO_HORIZONTAL                    0x00000002
-#define SO_VERTICAL                      0x00000004
-#define SO_REVERSED                      0x00000008
-#define SO_ZERO_BEARINGS                 0x00000010
-#define SO_CHAR_INC_EQUAL_BM_BASE        0x00000020
-#define SO_MAXEXT_EQUAL_BM_SIDE          0x00000040
-#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080
-#define SO_GLYPHINDEX_TEXTOUT            0x00000100
-#define SO_ESC_NOT_ORIENT                0x00000200
-#define SO_DXDY                          0x00000400
-#define SO_CHARACTER_EXTRA               0x00000800
-#define SO_BREAK_EXTRA                   0x00001000
-
-typedef struct _STROBJ {
-  ULONG  cGlyphs;
-  FLONG  flAccel;
-  ULONG  ulCharInc;
-  RECTL  rclBkGround;
-  GLYPHPOS  *pgp;
-  LPWSTR  pwszOrg;
-} STROBJ;
-
-typedef struct _SURFACEALIGNMENT {
-  union {
-		struct {
-			DWORD  dwStartAlignment;
-			DWORD  dwPitchAlignment;
-			DWORD  dwReserved1;
-			DWORD  dwReserved2;
-		} Linear;
-		struct {
-			DWORD  dwXAlignment;
-			DWORD  dwYAlignment;
-			DWORD  dwReserved1;
-			DWORD  dwReserved2;
-		} Rectangular;
-  };
-} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;
-
-/* SURFOBJ.iType constants */
-#define STYPE_BITMAP                      0L
-#define STYPE_DEVICE                      1L
-#define STYPE_DEVBITMAP                   3L
-
-/* SURFOBJ.fjBitmap constants */
-#define BMF_TOPDOWN                       0x0001
-#define BMF_NOZEROINIT                    0x0002
-#define BMF_DONTCACHE                     0x0004
-#define BMF_USERMEM                       0x0008
-#define BMF_KMSECTION                     0x0010
-#define BMF_NOTSYSMEM                     0x0020
-#define BMF_WINDOW_BLT                    0x0040
-#define BMF_UMPDMEM                       0x0080
-#define BMF_RESERVED                      0xFF00
-
-typedef struct _SURFOBJ {
-  DHSURF  dhsurf;
-  HSURF  hsurf;
-  DHPDEV  dhpdev;
-  HDEV  hdev;
-  SIZEL  sizlBitmap;
-  ULONG  cjBits;
-  PVOID  pvBits;
-  PVOID  pvScan0;
-  LONG  lDelta;
-  ULONG  iUniq;
-  ULONG  iBitmapFormat;
-  USHORT  iType;
-  USHORT  fjBitmap;
-} SURFOBJ;
-
-typedef struct _TYPE1_FONT {
-  HANDLE  hPFM;
-  HANDLE  hPFB;
-  ULONG  ulIdentifier;
-} TYPE1_FONT;
-
-typedef struct _WNDOBJ {
-  CLIPOBJ  coClient;
-  PVOID  pvConsumer;
-  RECTL  rclClient;
-  SURFOBJ  *psoOwner;
-} WNDOBJ, *PWNDOBJ;
-
-typedef struct _XFORML {
-  FLOATL  eM11;
-  FLOATL  eM12;
-  FLOATL  eM21;
-  FLOATL  eM22;
-  FLOATL  eDx;
-  FLOATL  eDy;
-} XFORML, *PXFORML;
-
-typedef struct _XFORMOBJ {
-  ULONG  ulReserved;
-} XFORMOBJ;
-
-/* XLATEOBJ.flXlate constants */
-#define XO_TRIVIAL                        0x00000001
-#define XO_TABLE                          0x00000002
-#define XO_TO_MONO                        0x00000004
-#define XO_FROM_CMYK                      0x00000008
-#define XO_DEVICE_ICM                     0x00000010
-#define XO_HOST_ICM                       0x00000020
-
-typedef struct _XLATEOBJ {
-  ULONG  iUniq;
-  FLONG  flXlate;
-  USHORT  iSrcType;
-  USHORT  iDstType;
-  ULONG  cEntries;
-  ULONG  *pulXlate;
-} XLATEOBJ;
-
-typedef VOID DDKAPI (CALLBACK *WNDOBJCHANGEPROC)(
-  /*IN*/ WNDOBJ  *pwo,
-  /*IN*/ FLONG  fl);
-
-
-WIN32KAPI
-HANDLE
-DDKAPI
-BRUSHOBJ_hGetColorTransform(
-  /*IN*/ BRUSHOBJ  *pbo);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvAllocRbrush(
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ ULONG  cj);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvGetRbrush(
-  /*IN*/ BRUSHOBJ  *pbo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-BRUSHOBJ_ulGetBrushColor(
-  /*IN*/ BRUSHOBJ  *pbo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-CLIPOBJ_bEnum(
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ ULONG  cj,
-
-  /*OUT*/ ULONG  *pv);
-
-/* CLIPOBJ_cEnumStart.iType constants */
-#define CT_RECTANGLES                     0L
-
-/* CLIPOBJ_cEnumStart.iDirection constants */
-#define CD_RIGHTDOWN                      0x00000000
-#define CD_LEFTDOWN                       0x00000001
-#define CD_LEFTWARDS                      0x00000001
-#define CD_RIGHTUP                        0x00000002
-#define CD_UPWARDS                        0x00000002
-#define CD_LEFTUP                         0x00000003
-#define CD_ANY                            0x00000004
-
-WIN32KAPI
-ULONG
-DDKAPI
-CLIPOBJ_cEnumStart(
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BOOL  bAll,
-  /*IN*/ ULONG  iType,
-  /*IN*/ ULONG  iDirection,
-  /*IN*/ ULONG  cLimit);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-CLIPOBJ_ppoGetPath(
-  /*IN*/ CLIPOBJ  *pco);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngAcquireSemaphore(
-  /*IN*/ HSEMAPHORE  hsem);
-
-#define FL_ZERO_MEMORY                    0x00000001
-#define FL_NONPAGED_MEMORY                0x00000002
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocMem(
-  /*IN*/ ULONG  Flags,
-  /*IN*/ ULONG  MemSize,
-  /*IN*/ ULONG  Tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocPrivateUserMem(
-  /*IN*/ PDD_SURFACE_LOCAL  psl,
-  /*IN*/ SIZE_T  cj,
-  /*IN*/ ULONG  tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocUserMem(
-  /*IN*/ SIZE_T  cj,
-  /*IN*/ ULONG  tag);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAlphaBlend(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ BLENDOBJ  *pBlendObj);
-
-/* EngAssociateSurface.flHooks constants */
-#define HOOK_BITBLT                       0x00000001
-#define HOOK_STRETCHBLT                   0x00000002
-#define HOOK_PLGBLT                       0x00000004
-#define HOOK_TEXTOUT                      0x00000008
-#define HOOK_PAINT                        0x00000010
-#define HOOK_STROKEPATH                   0x00000020
-#define HOOK_FILLPATH                     0x00000040
-#define HOOK_STROKEANDFILLPATH            0x00000080
-#define HOOK_LINETO                       0x00000100
-#define HOOK_COPYBITS                     0x00000400
-#define HOOK_MOVEPANNING                  0x00000800
-#define HOOK_SYNCHRONIZE                  0x00001000
-#define HOOK_STRETCHBLTROP                0x00002000
-#define HOOK_SYNCHRONIZEACCESS            0x00004000
-#define HOOK_TRANSPARENTBLT               0x00008000
-#define HOOK_ALPHABLEND                   0x00010000
-#define HOOK_GRADIENTFILL                 0x00020000
-#define HOOK_FLAGS                        0x0003b5ff
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAssociateSurface(
-  /*IN*/ HSURF  hsurf,
-  /*IN*/ HDEV  hdev,
-  /*IN*/ FLONG  flHooks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngBitBlt(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclTrg,
-  /*IN*/ POINTL  *pptlSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrush,
-  /*IN*/ ROP4  rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCheckAbort(
-  /*IN*/ SURFOBJ  *pso);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngClearEvent(
-  /*IN*/ PEVENT  pEvent);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-EngComputeGlyphSet(
-  /*IN*/ INT  nCodePage,
-  /*IN*/ INT  nFirstChar,
-  /*IN*/ INT  cChars);
-
-/* EngControlSprites.fl constants */
-#define ECS_TEARDOWN                      0x00000001
-#define ECS_REDRAW                        0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngControlSprites(
-  /*IN*/ WNDOBJ  *pwo,
-  /*IN*/ FLONG  fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCopyBits(
-
-  /*OUT*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ POINTL  *pptlSrc);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateBitmap(
-  /*IN*/ SIZEL  sizl,
-  /*IN*/ LONG  lWidth,
-  /*IN*/ ULONG  iFormat,
-  /*IN*/ FLONG  fl,
-  /*IN*/ PVOID  pvBits);
-
-WIN32KAPI
-CLIPOBJ*
-DDKAPI
-EngCreateClip(
-  VOID);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateDeviceBitmap(
-  /*IN*/ DHSURF  dhsurf,
-  /*IN*/ SIZEL  sizl,
-  /*IN*/ ULONG  iFormatCompat);
-
-WIN32KAPI
-HSURF
-DDKAPI
-EngCreateDeviceSurface(
-  DHSURF  dhsurf,
-  SIZEL  sizl,
-  ULONG  iFormatCompat);
-
-#if 0
-WIN32KAPI
-HDRVOBJ
-DDKAPI
-EngCreateDriverObj(
-  PVOID  pvObj,
-  FREEOBJPROC  pFreeObjProc,
-  HDEV  hdev);
-#endif
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCreateEvent(
-
-  /*OUT*/ PEVENT  *ppEvent);
-
-/* EngCreatePalette.iMode constants */
-#define PAL_INDEXED                       0x00000001
-#define PAL_BITFIELDS                     0x00000002
-#define PAL_RGB                           0x00000004
-#define PAL_BGR                           0x00000008
-#define PAL_CMYK                          0x00000010
-
-WIN32KAPI
-HPALETTE
-DDKAPI
-EngCreatePalette(
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  cColors,
-  /*IN*/ ULONG  *pulColors,
-  /*IN*/ FLONG  flRed,
-  /*IN*/ FLONG  flGreen,
-  /*IN*/ FLONG  flBlue);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-EngCreatePath(
-  VOID);
-
-WIN32KAPI
-HSEMAPHORE
-DDKAPI
-EngCreateSemaphore(
-  VOID);
-
-/* EngCreateWnd.fl constants */
-#define WO_RGN_CLIENT_DELTA               0x00000001
-#define WO_RGN_CLIENT                     0x00000002
-#define WO_RGN_SURFACE_DELTA              0x00000004
-#define WO_RGN_SURFACE                    0x00000008
-#define WO_RGN_UPDATE_ALL                 0x00000010
-#define WO_RGN_WINDOW                     0x00000020
-#define WO_DRAW_NOTIFY                    0x00000040
-#define WO_SPRITE_NOTIFY                  0x00000080
-#define WO_RGN_DESKTOP_COORD              0x00000100
-
-WIN32KAPI
-WNDOBJ*
-DDKAPI
-EngCreateWnd(
-  SURFOBJ  *pso,
-  HWND  hwnd,
-  WNDOBJCHANGEPROC  pfn,
-  FLONG  fl,
-  int  iPixelFormat);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugBreak(
-  VOID);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugPrint(
-  /*IN*/ PCHAR StandardPrefix,
-  /*IN*/ PCHAR DebugMessage,
-  /*IN*/ va_list ap);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteClip(
-  /*IN*/ CLIPOBJ  *pco);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteDriverObj(
-  /*IN*/ HDRVOBJ  hdo,
-  /*IN*/ BOOL  bCallBack,
-  /*IN*/ BOOL  bLocked);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteEvent(
-  /*IN*/ PEVENT  pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteFile(
-  /*IN*/ LPWSTR  pwszFileName);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeletePalette(
-  /*IN*/ HPALETTE  hpal);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeletePath(
-  /*IN*/ PATHOBJ  *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSafeSemaphore(
-  /*IN OUT*/ ENGSAFESEMAPHORE  *pssem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSemaphore(
-  /*IN OUT*/ HSEMAPHORE  hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteSurface(
-  /*IN*/ HSURF  hsurf);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteWnd(
-  /*IN*/ WNDOBJ  *pwo);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngDeviceIoControl(
-  /*IN*/ HANDLE  hDevice,
-  /*IN*/ DWORD  dwIoControlCode,
-  /*IN*/ LPVOID  lpInBuffer,
-  /*IN*/ DWORD  nInBufferSize,
-  /*IN OUT*/ LPVOID  lpOutBuffer,
-  /*IN*/ DWORD  nOutBufferSize,
-
-  /*OUT*/ LPDWORD  lpBytesReturned);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngDitherColor(
-  /*IN*/ HDEV  hdev,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  rgb,
-
-  /*OUT*/ ULONG  *pul);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEnumForms(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ DWORD  Level,
-
-  /*OUT*/ LPBYTE  pForm,
-  /*IN*/ DWORD  cbBuf,
-
-  /*OUT*/ LPDWORD  pcbNeeded,
-
-  /*OUT*/ LPDWORD  pcReturned);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEraseSurface(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ ULONG  iColor);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngFillPath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix,
-  /*IN*/ FLONG  flOptions);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindImageProcAddress(
-  /*IN*/ HANDLE  hModule,
-  /*IN*/ LPSTR  lpProcName);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindResource(
-  /*IN*/ HANDLE  h,
-  /*IN*/ int  iName,
-  /*IN*/ int  iType,
-
-  /*OUT*/ PULONG  pulSize);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheAlloc(
-  /*IN*/ ULONG  FastCheckSum,
-  /*IN*/ ULONG  ulSize);
-
-/* EngFntCacheFault.iFaultMode constants */
-#define ENG_FNT_CACHE_READ_FAULT          0x00000001
-#define ENG_FNT_CACHE_WRITE_FAULT         0x00000002
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFntCacheFault(
-  /*IN*/ ULONG  ulFastCheckSum,
-  /*IN*/ ULONG  iFaultMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheLookUp(
-  /*IN*/ ULONG  FastCheckSum,
-
-  /*OUT*/ ULONG  *pulSize);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeMem(
-  /*IN*/ PVOID  Mem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeModule(
-  /*IN*/ HANDLE  h);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreePrivateUserMem(
-  /*IN*/ PDD_SURFACE_LOCAL  psl,
-  /*IN*/ PVOID  pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeUserMem(
-  /*IN*/ PVOID  pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngGetCurrentCodePage(
-
-  /*OUT*/ PUSHORT  OemCodePage,
-
-  /*OUT*/ PUSHORT  AnsiCodePage);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentProcessId(
-  VOID);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentThreadId(
-  VOID);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetDriverName(
-  /*IN*/ HDEV  hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFileChangeTime(
-  /*IN*/ HANDLE  h,
-
-  /*OUT*/ LARGE_INTEGER  *pChangeTime);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFilePath(
-  /*IN*/ HANDLE  h,
-
-  /*OUT*/ WCHAR  (*pDest)[MAX_PATH+1]);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetForm(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ LPWSTR  pFormName,
-  /*IN*/ DWORD  Level,
-
-  /*OUT*/ LPBYTE  pForm,
-  /*IN*/ DWORD  cbBuf,
-
-  /*OUT*/ LPDWORD  pcbNeeded);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngGetLastError(
-  VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinter(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ DWORD  dwLevel,
-
-  /*OUT*/ LPBYTE  pPrinter,
-  /*IN*/ DWORD  cbBuf,
-
-  /*OUT*/ LPDWORD  pcbNeeded);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngGetPrinterData(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ LPWSTR  pValueName,
-
-  /*OUT*/ LPDWORD  pType,
-
-  /*OUT*/ LPBYTE  pData,
-  /*IN*/ DWORD  nSize,
-
-  /*OUT*/ LPDWORD  pcbNeeded);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetPrinterDataFileName(
-  /*IN*/ HDEV  hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinterDriver(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ LPWSTR  pEnvironment,
-  /*IN*/ DWORD  dwLevel,
-
-  /*OUT*/ BYTE  *lpbDrvInfo,
-  /*IN*/ DWORD  cbBuf,
-
-  /*OUT*/ DWORD  *pcbNeeded);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetProcessHandle(
-  VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetType1FontList(
-  /*IN*/ HDEV  hdev,
-
-  /*OUT*/ TYPE1_FONT  *pType1Buffer,
-  /*IN*/ ULONG  cjType1Buffer,
-
-  /*OUT*/ PULONG  pulLocalFonts,
-
-  /*OUT*/ PULONG  pulRemoteFonts,
-
-  /*OUT*/ LARGE_INTEGER  *pLastModified);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGradientFill(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ TRIVERTEX  *pVertex,
-  /*IN*/ ULONG  nVertex,
-  /*IN*/ PVOID  pMesh,
-  /*IN*/ ULONG  nMesh,
-  /*IN*/ RECTL  *prclExtents,
-  /*IN*/ POINTL  *pptlDitherOrg,
-  /*IN*/ ULONG  ulMode);
-
-/* EngHangNotification return values */
-#define EHN_RESTORED                      0x00000000
-#define EHN_ERROR                         0x00000001
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngHangNotification(
-  /*IN*/ HDEV  hDev,
-  /*IN*/ PVOID  Reserved);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngInitializeSafeSemaphore(
-
-  /*OUT*/ ENGSAFESEMAPHORE  *pssem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwned(
-  /*IN*/ HSEMAPHORE  hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwnedByCurrentThread(
-  /*IN*/ HSEMAPHORE  hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLineTo(
-  SURFOBJ  *pso,
-  CLIPOBJ  *pco,
-  BRUSHOBJ  *pbo,
-  LONG  x1,
-  LONG  y1,
-  LONG  x2,
-  LONG  y2,
-  RECTL  *prclBounds,
-  MIX  mix);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadImage(
-  /*IN*/ LPWSTR  pwszDriver);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModule(
-  /*IN*/ LPWSTR  pwsz);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModuleForWrite(
-  /*IN*/ LPWSTR  pwsz,
-  /*IN*/ ULONG  cjSizeOfModule);
-
-WIN32KAPI
-PDD_SURFACE_LOCAL
-DDKAPI
-EngLockDirectDrawSurface(
-  /*IN*/ HANDLE  hSurface);
-
-WIN32KAPI
-DRIVEROBJ*
-DDKAPI
-EngLockDriverObj(
-  /*IN*/ HDRVOBJ  hdo);
-
-WIN32KAPI
-SURFOBJ*
-DDKAPI
-EngLockSurface(
-  /*IN*/ HSURF  hsurf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLpkInstalled(
-  VOID);
-
-WIN32KAPI
-PEVENT
-DDKAPI
-EngMapEvent(
-  /*IN*/ HDEV  hDev,
-  /*IN*/ HANDLE  hUserObject,
-  /*IN*/ PVOID  Reserved1,
-  /*IN*/ PVOID  Reserved2,
-  /*IN*/ PVOID  Reserved3);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapFile(
-  /*IN*/ LPWSTR  pwsz,
-  /*IN*/ ULONG  cjSize,
-
-  /*OUT*/ ULONG_PTR  *piFile);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFile(
-  ULONG_PTR  iFile,
-  PULONG  *ppjBuf,
-  ULONG  *pcjBuf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFileFD(
-  /*IN*/ ULONG_PTR  iFile,
-
-  /*OUT*/ PULONG  *ppjBuf,
-
-  /*OUT*/ ULONG  *pcjBuf);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapModule(
-  /*IN*/ HANDLE  h,
-
-  /*OUT*/ PULONG  pSize);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMarkBandingSurface(
-  /*IN*/ HSURF  hsurf);
-
-/* EngModifySurface.flSurface constants */
-#define MS_NOTSYSTEMMEMORY                0x00000001
-#define MS_SHAREDACCESS                   0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngModifySurface(
-  /*IN*/ HSURF  hsurf,
-  /*IN*/ HDEV  hdev,
-  /*IN*/ FLONG  flHooks,
-  /*IN*/ FLONG  flSurface,
-  /*IN*/ DHSURF  dhsurf,
-  /*IN*/ VOID  *pvScan0,
-  /*IN*/ LONG  lDelta,
-  /*IN*/ VOID  *pvReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMovePointer(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl);
-
-WIN32KAPI
-int
-DDKAPI
-EngMulDiv(
-  /*IN*/ int  a,
-  /*IN*/ int  b,
-  /*IN*/ int  c);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMultiByteToUnicodeN(
-
-  /*OUT*/ LPWSTR  UnicodeString,
-  /*IN*/ ULONG  MaxBytesInUnicodeString,
-
-  /*OUT*/ PULONG  BytesInUnicodeString,
-  /*IN*/ PCHAR  MultiByteString,
-  /*IN*/ ULONG  BytesInMultiByteString);
-
-WIN32KAPI
-INT
-DDKAPI
-EngMultiByteToWideChar(
-  /*IN*/ UINT  CodePage,
-
-  /*OUT*/ LPWSTR  WideCharString,
-  /*IN*/ INT  BytesInWideCharString,
-  /*IN*/ LPSTR  MultiByteString,
-  /*IN*/ INT  BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPaint(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPlgBlt(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMsk,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ POINTFIX  *pptfx,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ POINTL  *pptl,
-  /*IN*/ ULONG  iMode);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForRead(
-  /*IN*/ PVOID  Address,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  Alignment);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForReadAndWrite(
-  /*IN*/ PVOID  Address,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  Alignment);
-
-typedef enum _ENG_DEVICE_ATTRIBUTE {
-  QDA_RESERVED = 0,
-  QDA_ACCELERATION_LEVEL
-} ENG_DEVICE_ATTRIBUTE;
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQueryDeviceAttribute(
-  /*IN*/ HDEV  hdev,
-  /*IN*/ ENG_DEVICE_ATTRIBUTE  devAttr,
-  /*IN*/ VOID  *pvIn,
-  /*IN*/ ULONG  ulInSize,
-
-  /*OUT*/ VOID  *pvOut,
-
-  /*OUT*/ ULONG  ulOutSize);
-
-WIN32KAPI
-LARGE_INTEGER
-DDKAPI
-EngQueryFileTimeStamp(
-  /*IN*/ LPWSTR  pwsz);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryLocalTime(
-
-  /*OUT*/ PENG_TIME_FIELDS  ptf);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngQueryPalette(
-  /*IN*/ HPALETTE  hPal,
-
-  /*OUT*/ ULONG  *piMode,
-  /*IN*/ ULONG  cColors,
-
-  /*OUT*/ ULONG  *pulColors);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceCounter(
-
-  /*OUT*/ LONGLONG  *pPerformanceCount);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceFrequency(
-
-  /*OUT*/ LONGLONG  *pFrequency);
-
-typedef enum _ENG_SYSTEM_ATTRIBUTE {
-  EngProcessorFeature = 1,
-  EngNumberOfProcessors,
-  EngOptimumAvailableUserMemory,
-  EngOptimumAvailableSystemMemory,
-} ENG_SYSTEM_ATTRIBUTE;
-
-#define QSA_MMX                           0x00000100
-#define QSA_SSE                           0x00002000
-#define QSA_3DNOW                         0x00004000
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQuerySystemAttribute(
-  /*IN*/ ENG_SYSTEM_ATTRIBUTE  CapNum,
-
-  /*OUT*/ PDWORD  pCapability);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngReadStateEvent(
-  /*IN*/ PEVENT  pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngReleaseSemaphore(
-  /*IN*/ HSEMAPHORE  hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngRestoreFloatingPointState(
-  /*IN*/ VOID  *pBuffer);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSaveFloatingPointState(
-
-  /*OUT*/ VOID  *pBuffer,
-  /*IN*/ ULONG  cjBufferSize);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngSecureMem(
-  /*IN*/ PVOID  Address,
-  /*IN*/ ULONG  Length);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngSetEvent(
-  /*IN*/ PEVENT  pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSetLastError(
-  /*IN*/ ULONG  iError);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSetPointerShape(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ SURFOBJ  *psoColor,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ LONG  xHot,
-  /*IN*/ LONG  yHot,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ FLONG  fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngSetPointerTag(
-  /*IN*/ HDEV  hdev,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ SURFOBJ  *psoColor,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ FLONG  fl);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngSetPrinterData(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ LPWSTR  pType,
-  /*IN*/ DWORD  dwType,
-  /*IN*/ LPBYTE  lpbPrinterData,
-  /*IN*/ DWORD  cjPrinterData);
-
-typedef int DDKCDECLAPI (*SORTCOMP)(const void *pv1, const void *pv2);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSort(
-  /*IN OUT*/ PBYTE  pjBuf,
-  /*IN*/ ULONG  c,
-  /*IN*/ ULONG  cjElem,
-  /*IN*/ SORTCOMP  pfnComp);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBlt(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBltROP(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ DWORD  rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokeAndFillPath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pboStroke,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ BRUSHOBJ  *pboFill,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mixFill,
-  /*IN*/ FLONG  flOptions);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokePath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ MIX  mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTextOut(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ STROBJ  *pstro,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ RECTL  *prclExtra,
-  /*IN*/ RECTL  *prclOpaque,
-  /*IN*/ BRUSHOBJ  *pboFore,
-  /*IN*/ BRUSHOBJ  *pboOpaque,
-  /*IN*/ POINTL  *pptlOrg,
-  /*IN*/ MIX  mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTransparentBlt(
-  /*IN*/ SURFOBJ  *psoDst,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDst,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ ULONG  iTransColor,
-  /*IN*/ ULONG  ulReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnicodeToMultiByteN(
-
-  /*OUT*/ PCHAR  MultiByteString,
-  /*IN*/ ULONG  MaxBytesInMultiByteString,
-
-  /*OUT*/ PULONG  BytesInMultiByteString,
-  /*IN*/ PWSTR  UnicodeString,
-  /*IN*/ ULONG  BytesInUnicodeString);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnloadImage(
-  /*IN*/ HANDLE  hModule);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDirectDrawSurface(
-  /*IN*/ PDD_SURFACE_LOCAL  pSurface);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDriverObj(
-  /*IN*/ HDRVOBJ  hdo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnlockSurface(
-  /*IN*/ SURFOBJ  *pso);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapEvent(
-  /*IN*/ PEVENT  pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapFile(
-  /*IN*/ ULONG_PTR  iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFile(
-  ULONG_PTR  iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFileFD(
-  /*IN*/ ULONG_PTR  iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnsecureMem(
-  /*IN*/ HANDLE  hSecure);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWaitForSingleObject(
-  /*IN*/ PEVENT  pEvent,
-  /*IN*/ PLARGE_INTEGER  pTimeOut);
-
-WIN32KAPI
-INT
-DDKAPI
-EngWideCharToMultiByte(
-  /*IN*/ UINT  CodePage,
-  /*IN*/ LPWSTR  WideCharString,
-  /*IN*/ INT  BytesInWideCharString,
-
-  /*OUT*/ LPSTR  MultiByteString,
-  /*IN*/ INT  BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWritePrinter(
-  /*IN*/ HANDLE  hPrinter,
-  /*IN*/ LPVOID  pBuf,
-  /*IN*/ DWORD  cbBuf,
-
-  /*OUT*/ LPDWORD  pcWritten);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Add(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddFloat(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ FLOATL  f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddLong(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Div(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivFloat(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ FLOATL  f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivLong(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_Equal(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_EqualLong(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetFloat(
-  /*IN*/ PFLOATOBJ  pf);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetLong(
-  /*IN*/ PFLOATOBJ  pf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThan(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThanLong(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThan(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThanLong(
-  /*IN*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Mul(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulFloat(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ FLOATL  f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulLong(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Neg(
-  /*IN OUT*/ PFLOATOBJ  pf);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetFloat(
-
-  /*OUT*/ PFLOATOBJ  pf,
-  /*IN*/ FLOATL  f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetLong(
-
-  /*OUT*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Sub(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ PFLOATOBJ  pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubFloat(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ FLOATL  f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubLong(
-  /*IN OUT*/ PFLOATOBJ  pf,
-  /*IN*/ LONG  l);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetAllGlyphHandles(
-  /*IN*/ FONTOBJ  *pfo,
-
-  /*OUT*/ HGLYPH  *phg);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetGlyphs(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  cGlyph,
-  /*IN*/ HGLYPH  *phg,
-
-  /*OUT*/ PVOID  *ppvGlyph);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-FONTOBJ_pfdg(
-  /*IN*/ FONTOBJ  *pfo);
-
-WIN32KAPI
-IFIMETRICS*
-DDKAPI
-FONTOBJ_pifi(
-  /*IN*/ FONTOBJ  *pfo);
-
-WIN32KAPI
-PBYTE
-DDKAPI
-FONTOBJ_pjOpenTypeTablePointer(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  ulTag,
-
-  /*OUT*/ ULONG  *pcjTable);
-
-WIN32KAPI
-PFD_GLYPHATTR
-DDKAPI
-FONTOBJ_pQueryGlyphAttrs(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-FONTOBJ_pvTrueTypeFontFile(
-  /*IN*/ FONTOBJ  *pfo,
-
-  /*OUT*/ ULONG  *pcjFile);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-FONTOBJ_pwszFontFilePaths(
-  /*IN*/ FONTOBJ  *pfo,
-
-  /*OUT*/ ULONG  *pcwc);
-
-WIN32KAPI
-XFORMOBJ*
-DDKAPI
-FONTOBJ_pxoGetXform(
-  /*IN*/ FONTOBJ  *pfo);
-
-WIN32KAPI
-VOID
-DDKAPI
-FONTOBJ_vGetInfo(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  cjSize,
-
-  /*OUT*/ FONTINFO  *pfi);
-
-WIN32KAPI
-FLATPTR
-DDKAPI
-HeapVidMemAllocAligned(
-  /*IN*/ LPVIDMEM  lpVidMem,
-  /*IN*/ DWORD  dwWidth,
-  /*IN*/ DWORD  dwHeight,
-  /*IN*/ LPSURFACEALIGNMENT  lpAlignment,
-
-  /*OUT*/ LPLONG  lpNewPitch);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_ComputeRGBGammaTable(
-  /*IN*/ USHORT  GammaTableEntries,
-  /*IN*/ USHORT  GammaTableType,
-  /*IN*/ USHORT  RedGamma,
-  /*IN*/ USHORT  GreenGamma,
-  /*IN*/ USHORT  BlueGamma,
-
-  /*OUT*/ LPBYTE  pGammaTable);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPFormatPalette(
-
-  /*OUT*/ LPPALETTEENTRY  pPaletteEntry,
-  /*IN*/ USHORT  RedGamma,
-  /*IN*/ USHORT  GreenGamma,
-  /*IN*/ USHORT  BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPMaskPalette(
-  /*IN OUT*/ LPPALETTEENTRY  pPaletteEntry,
-  /*IN*/ BOOL  Use8BPPMaskPal,
-  /*IN*/ BYTE  CMYMask,
-  /*IN*/ USHORT  RedGamma,
-  /*IN*/ USHORT  GreenGamma,
-  /*IN*/ USHORT  BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HTUI_DeviceColorAdjustment(
-  /*IN*/ LPSTR  pDeviceName,
-
-  /*OUT*/ PDEVHTADJDATA  pDevHTAdjData);
-
-WIN32KAPI
-ULONG
-DDKAPI
-PALOBJ_cGetColors(
-  /*IN*/ PALOBJ  *ppalo,
-  /*IN*/ ULONG  iStart,
-  /*IN*/ ULONG  cColors,
-
-  /*OUT*/ ULONG  *pulColors);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bCloseFigure(
-  /*IN*/ PATHOBJ  *ppo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnum(
-  /*IN*/ PATHOBJ  *ppo,
-
-  /*OUT*/ PATHDATA  *ppd);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnumClipLines(
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ ULONG  cb,
-
-  /*OUT*/ CLIPLINE  *pcl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bMoveTo(
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ POINTFIX  ptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyBezierTo(
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ POINTFIX  *pptfx,
-  /*IN*/ ULONG  cptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyLineTo(
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ POINTFIX  *pptfx,
-  /*IN*/ ULONG  cptfx);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStart(
-  /*IN*/ PATHOBJ  *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStartClipLines(
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LINEATTRS  *pla);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vGetBounds(
-  /*IN*/ PATHOBJ  *ppo,
-
-  /*OUT*/ PRECTFX  prectfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnum(
-  /*IN*/ STROBJ  *pstro,
-
-  /*OUT*/ ULONG  *pc,
-
-  /*OUT*/ PGLYPHPOS  *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnumPositionsOnly(
-  /*IN*/ STROBJ  *pstro,
-
-  /*OUT*/ ULONG  *pc,
-
-  /*OUT*/ PGLYPHPOS  *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bGetAdvanceWidths(
-  /*IN*/ STROBJ  *pso,
-  /*IN*/ ULONG  iFirst,
-  /*IN*/ ULONG  c,
-
-  /*OUT*/ POINTQF  *pptqD);
-
-WIN32KAPI
-DWORD
-DDKAPI
-STROBJ_dwGetCodePage(
-  /*IN*/ STROBJ  *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxBreakExtra(
-  /*IN*/ STROBJ  *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxCharacterExtra(
-  /*IN*/ STROBJ  *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-STROBJ_vEnumStart(
-  /*IN*/ STROBJ  *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-VidMemFree(
-  /*IN*/ LPVMEMHEAP  pvmh,
-  /*IN*/ FLATPTR  ptr);
-
-WIN32KAPI
-BOOL
-DDKAPI
-WNDOBJ_bEnum(
-  /*IN*/ WNDOBJ  *pwo,
-  /*IN*/ ULONG  cj,
-
-  /*OUT*/ ULONG  *pul);
-
-WIN32KAPI
-ULONG
-DDKAPI
-WNDOBJ_cEnumStart(
-  /*IN*/ WNDOBJ  *pwo,
-  /*IN*/ ULONG  iType,
-  /*IN*/ ULONG  iDirection,
-  /*IN*/ ULONG  cLimit);
-
-WIN32KAPI
-VOID
-DDKAPI
-WNDOBJ_vSetConsumer(
-  /*IN*/ WNDOBJ  *pwo,
-  /*IN*/ PVOID  pvConsumer);
-
-/* XFORMOBJ_bApplyXform.iMode constants */
-#define XF_LTOL                           0L
-#define XF_INV_LTOL                       1L
-#define XF_LTOFX                          2L
-#define XF_INV_FXTOL                      3L
-
-WIN32KAPI
-BOOL
-DDKAPI
-XFORMOBJ_bApplyXform(
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  cPoints,
-  /*IN*/ PVOID  pvIn,
-
-  /*OUT*/ PVOID  pvOut);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetFloatObjXform(
-  /*IN*/ XFORMOBJ  *pxo,
-
-  /*OUT*/ FLOATOBJ_XFORM  *pxfo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetXform(
-  /*IN*/ XFORMOBJ  *pxo,
-
-  /*OUT*/ XFORML  *pxform);
-
-/* XLATEOBJ_cGetPalette.iPal constants */
-#define XO_SRCPALETTE                     1
-#define XO_DESTPALETTE                    2
-#define XO_DESTDCPALETTE                  3
-#define XO_SRCBITFIELDS                   4
-#define XO_DESTBITFIELDS                  5
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_cGetPalette(
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ ULONG  iPal,
-  /*IN*/ ULONG  cPal,
-
-  /*OUT*/ ULONG  *pPal);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-XLATEOBJ_hGetColorTransform(
-  /*IN*/ XLATEOBJ  *pxlo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_iXlate(
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ ULONG  iColor);
-
-WIN32KAPI
-ULONG*
-DDKAPI
-XLATEOBJ_piVector(
-  /*IN*/ XLATEOBJ  *pxlo);
-
-
-
-/* Graphics Driver Functions */
-
-BOOL
-DDKAPI
-DrvAlphaBlend(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ BLENDOBJ  *pBlendObj);
-
-BOOL
-DDKAPI
-DrvAssertMode(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ BOOL  bEnable);
-
-BOOL
-DDKAPI
-DrvBitBlt(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclTrg,
-  /*IN*/ POINTL  *pptlSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrush,
-  /*IN*/ ROP4  rop4);
-
-VOID
-DDKAPI
-DrvCompletePDEV(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HDEV  hdev);
-
-BOOL
-DDKAPI
-DrvCopyBits(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ POINTL  *pptlSrc);
-
-HBITMAP
-DDKAPI
-DrvCreateDeviceBitmap(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ SIZEL  sizl,
-  /*IN*/ ULONG  iFormat);
-
-VOID
-DDKAPI
-DrvDeleteDeviceBitmap(
-  /*IN*/ DHSURF  dhsurf);
-
-HBITMAP
-DDKAPI
-DrvDeriveSurface(
-  DD_DIRECTDRAW_GLOBAL  *pDirectDraw,
-  DD_SURFACE_LOCAL  *pSurface);
-
-LONG
-DDKAPI
-DrvDescribePixelFormat(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ LONG  iPixelFormat,
-  /*IN*/ ULONG  cjpfd,
-
-  /*OUT*/ PIXELFORMATDESCRIPTOR  *ppfd);
-
-VOID
-DDKAPI
-DrvDestroyFont(
-  /*IN*/ FONTOBJ  *pfo);
-
-VOID
-DDKAPI
-DrvDisableDriver(
-  VOID);
-
-VOID
-DDKAPI
-DrvDisablePDEV(
-  /*IN*/ DHPDEV  dhpdev);
-
-VOID
-DDKAPI
-DrvDisableSurface(
-  /*IN*/ DHPDEV  dhpdev);
-
-#define DM_DEFAULT                        0x00000001
-#define DM_MONOCHROME                     0x00000002
-
-ULONG
-DDKAPI
-DrvDitherColor(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  rgb,
-
-  /*OUT*/ ULONG  *pul);
-
-ULONG
-DDKAPI
-DrvDrawEscape(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iEsc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn);
-
-BOOL
-DDKAPI
-DrvEnableDriver(
-  /*IN*/ ULONG  iEngineVersion,
-  /*IN*/ ULONG  cj,
-
-  /*OUT*/ DRVENABLEDATA  *pded);
-
-DHPDEV
-DDKAPI
-DrvEnablePDEV(
-  /*IN*/ DEVMODEW  *pdm,
-  /*IN*/ LPWSTR  pwszLogAddress,
-  /*IN*/ ULONG  cPat,
-
-  /*OUT*/ HSURF  *phsurfPatterns,
-  /*IN*/ ULONG  cjCaps,
-
-  /*OUT*/ ULONG  *pdevcaps,
-  /*IN*/ ULONG  cjDevInfo,
-
-  /*OUT*/ DEVINFO  *pdi,
-  /*IN*/ HDEV  hdev,
-  /*IN*/ LPWSTR  pwszDeviceName,
-  /*IN*/ HANDLE  hDriver);
-
-HSURF
-DDKAPI
-DrvEnableSurface(
-  /*IN*/ DHPDEV  dhpdev);
-
-/* DrvEndDoc.fl constants */
-#define ED_ABORTDOC                       0x00000001
-
-BOOL
-DDKAPI
-DrvEndDoc(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ FLONG  fl);
-
-ULONG
-DDKAPI
-DrvEscape(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iEsc,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn,
-  /*IN*/ ULONG  cjOut,
-
-  /*OUT*/ PVOID  pvOut);
-
-BOOL
-DDKAPI
-DrvFillPath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix,
-  /*IN*/ FLONG  flOptions);
-
-ULONG
-DDKAPI
-DrvFontManagement(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn,
-  /*IN*/ ULONG  cjOut,
-
-  /*OUT*/ PVOID  pvOut);
-
-VOID
-DDKAPI
-DrvFree(
-  /*IN*/ PVOID  pv,
-  /*IN*/ ULONG_PTR  id);
-
-/* DrvGetGlyphMode return values */
-#define FO_HGLYPHS                        0L
-#define FO_GLYPHBITS                      1L
-#define FO_PATHOBJ                        2L
-
-ULONG
-DDKAPI
-DrvGetGlyphMode(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo);
-
-ULONG
-DDKAPI
-DrvGetModes(
-  /*IN*/ HANDLE  hDriver,
-  /*IN*/ ULONG  cjSize,
-
-  /*OUT*/ DEVMODEW  *pdm);
-
-PVOID
-DDKAPI
-DrvGetTrueTypeFile(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  *pcj);
-
-BOOL
-DDKAPI
-DrvGradientFill(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ TRIVERTEX  *pVertex,
-  /*IN*/ ULONG  nVertex,
-  /*IN*/ PVOID  pMesh,
-  /*IN*/ ULONG  nMesh,
-  /*IN*/ RECTL  *prclExtents,
-  /*IN*/ POINTL  *pptlDitherOrg,
-  /*IN*/ ULONG  ulMode);
-
-BOOL
-DDKAPI
-DrvIcmCheckBitmapBits(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HANDLE  hColorTransform,
-  /*IN*/ SURFOBJ  *pso,
-
-  /*OUT*/ PBYTE  paResults);
-
-HANDLE
-DDKAPI
-DrvIcmCreateColorTransform(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ LPLOGCOLORSPACEW  pLogColorSpace,
-  /*IN*/ PVOID  pvSourceProfile,
-  /*IN*/ ULONG  cjSourceProfile,
-  /*IN*/ PVOID  pvDestProfile,
-  /*IN*/ ULONG  cjDestProfile,
-  /*IN*/ PVOID  pvTargetProfile,
-  /*IN*/ ULONG  cjTargetProfile,
-  /*IN*/ DWORD  dwReserved);
-
-BOOL
-DDKAPI
-DrvIcmDeleteColorTransform(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HANDLE  hcmXform);
-
-/* DrvIcmSetDeviceGammaRamp.iFormat constants */
-#define IGRF_RGB_256BYTES                 0x00000000
-#define IGRF_RGB_256WORDS                 0x00000001
-
-BOOL
-DDKAPI
-DrvIcmSetDeviceGammaRamp(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG  iFormat,
-  /*IN*/ LPVOID  lpRamp);
-
-BOOL
-DDKAPI
-DrvLineTo(
-  SURFOBJ  *pso,
-  CLIPOBJ  *pco,
-  BRUSHOBJ  *pbo,
-  LONG  x1,
-  LONG  y1,
-  LONG  x2,
-  LONG  y2,
-  RECTL  *prclBounds,
-  MIX  mix);
-
-ULONG_PTR
-DDKAPI
-DrvLoadFontFile(
-  ULONG  cFiles,
-  ULONG_PTR  *piFile,
-  PVOID  *ppvView,
-  ULONG  *pcjView,
-  DESIGNVECTOR  *pdv,
-  ULONG  ulLangID,
-  ULONG  ulFastCheckSum);
-
-VOID
-DDKAPI
-DrvMovePointer(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl);
-
-BOOL
-DDKAPI
-DrvNextBand(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ POINTL  *pptl);
-
-VOID
-DDKAPI
-DrvNotify(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iType,
-  /*IN*/ PVOID  pvData);
-
-BOOL
-DDKAPI
-DrvOffset(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ FLONG  flReserved);
-
-BOOL
-DDKAPI
-DrvPaint(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix);
-
-BOOL
-DDKAPI
-DrvPlgBlt(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMsk,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ POINTFIX  *pptfx,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ POINTL  *pptl,
-  /*IN*/ ULONG  iMode);
-
-/* DrvQueryAdvanceWidths.iMode constants */
-#define QAW_GETWIDTHS                     0
-#define QAW_GETEASYWIDTHS                 1
-
-BOOL
-DDKAPI
-DrvQueryAdvanceWidths(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ HGLYPH  *phg,
-
-  /*OUT*/ PVOID  pvWidths,
-  /*IN*/ ULONG  cGlyphs);
-
-/* DrvQueryDeviceSupport.iType constants */
-#define QDS_CHECKJPEGFORMAT               0x00000000
-#define QDS_CHECKPNGFORMAT                0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDeviceSupport(
-  SURFOBJ  *pso,
-  XLATEOBJ  *pxlo,
-  XFORMOBJ  *pxo,
-  ULONG  iType,
-  ULONG  cjIn,
-  PVOID  pvIn,
-  ULONG  cjOut,
-  PVOID  pvOut);
-
-/* DrvQueryDriverInfo.dwMode constants */
-#define DRVQUERY_USERMODE                 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDriverInfo(
-  DWORD  dwMode,
-  PVOID  pBuffer,
-  DWORD  cbBuf,
-  PDWORD  pcbNeeded);
-
-PIFIMETRICS
-DDKAPI
-DrvQueryFont(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  iFace,
-  /*IN*/ ULONG_PTR  *pid);
-
-/* DrvQueryFontCaps.pulCaps constants */
-#define QC_OUTLINES                       0x00000001
-#define QC_1BIT                           0x00000002
-#define QC_4BIT                           0x00000004
-
-#define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT)
-
-LONG
-DDKAPI
-DrvQueryFontCaps(
-  /*IN*/ ULONG  culCaps,
-
-  /*OUT*/ ULONG  *pulCaps);
-
-/* DrvQueryFontData.iMode constants */
-#define QFD_GLYPHANDBITMAP                1L
-#define QFD_GLYPHANDOUTLINE               2L
-#define QFD_MAXEXTENTS                    3L
-#define QFD_TT_GLYPHANDBITMAP             4L
-#define QFD_TT_GRAY1_BITMAP               5L
-#define QFD_TT_GRAY2_BITMAP               6L
-#define QFD_TT_GRAY4_BITMAP               8L
-#define QFD_TT_GRAY8_BITMAP               9L
-
-#define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP
-
-LONG
-DDKAPI
-DrvQueryFontData(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ HGLYPH  hg,
-  /*IN OUT*/ GLYPHDATA  *pgd,
-  /*IN OUT*/ PVOID  pv,
-  /*IN*/ ULONG  cjSize);
-
-/* DrvQueryFontFile.ulMode constants */
-#define QFF_DESCRIPTION                   0x00000001
-#define QFF_NUMFACES                      0x00000002
-
-LONG
-DDKAPI
-DrvQueryFontFile(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  ulMode,
-  /*IN*/ ULONG  cjBuf,
-  /*IN*/ ULONG  *pulBuf);
-
-/* DrvQueryFontTree.iMode constants */
-#define QFT_UNICODE                       0L
-#define QFT_LIGATURES                     1L
-#define QFT_KERNPAIRS                     2L
-#define QFT_GLYPHSET                      3L
-
-PVOID
-DDKAPI
-DrvQueryFontTree(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  iFace,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG_PTR  *pid);
-
-PFD_GLYPHATTR
-DDKAPI
-DrvQueryGlyphAttrs(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode);
-
-ULONG
-DDKAPI
-DrvQueryPerBandInfo(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN OUT*/ PERBANDINFO  *pbi);
-
-/* DrvQueryTrueTypeOutline.bMetricsOnly constants */
-#define TTO_METRICS_ONLY                  0x00000001
-#define TTO_QUBICS                        0x00000002
-#define TTO_UNHINTED                      0x00000004
-
-LONG
-DDKAPI
-DrvQueryTrueTypeOutline(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ HGLYPH  hglyph,
-  /*IN*/ BOOL  bMetricsOnly,
-  /*IN*/ GLYPHDATA  *pgldt,
-  /*IN*/ ULONG  cjBuf,
-
-  /*OUT*/ TTPOLYGONHEADER  *ppoly);
-
-LONG
-DDKAPI
-DrvQueryTrueTypeTable(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  ulFont,
-  /*IN*/ ULONG  ulTag,
-  /*IN*/ PTRDIFF  dpStart,
-  /*IN*/ ULONG  cjBuf,
-
-  /*OUT*/ BYTE  *pjBuf,
-
-  /*OUT*/ PBYTE  *ppjTable,
-
-  /*OUT*/ ULONG *pcjTable);
-
-/* DrvRealizeBrush.iHatch constants */
-#define RB_DITHERCOLOR                    0x80000000L
-
-#define HS_DDI_MAX                        6
-
-BOOL
-DDKAPI
-DrvRealizeBrush(
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ SURFOBJ  *psoTarget,
-  /*IN*/ SURFOBJ  *psoPattern,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ ULONG  iHatch);
-
-/* DrvResetDevice return values */
-#define DRD_SUCCESS                       0
-#define DRD_ERROR                         1
-
-ULONG
-DDKAPI
-DrvResetDevice(
-  /*IN*/ DHPDEV dhpdev,
-  /*IN*/ PVOID Reserved);
-
-BOOL
-DDKAPI
-DrvResetPDEV(
-  DHPDEV  dhpdevOld,
-  DHPDEV  dhpdevNew);
-
-/* DrvSaveScreenBits.iMode constants */
-#define SS_SAVE                           0x00000000
-#define SS_RESTORE                        0x00000001
-#define SS_FREE                           0x00000002
-
-ULONG_PTR
-DDKAPI
-DrvSaveScreenBits(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG_PTR  ident,
-  /*IN*/ RECTL  *prcl);
-
-BOOL
-DDKAPI
-DrvSendPage(
-  /*IN*/ SURFOBJ  *pso);
-
-BOOL
-DDKAPI
-DrvSetPalette(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ PALOBJ  *ppalo,
-  /*IN*/ FLONG  fl,
-  /*IN*/ ULONG  iStart,
-  /*IN*/ ULONG  cColors);
-
-BOOL
-DDKAPI
-DrvSetPixelFormat(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  iPixelFormat,
-  /*IN*/ HWND  hwnd);
-
-/* DrvSetPointerShape return values */
-#define SPS_ERROR                         0x00000000
-#define SPS_DECLINE                       0x00000001
-#define SPS_ACCEPT_NOEXCLUDE              0x00000002
-#define SPS_ACCEPT_EXCLUDE                0x00000003
-#define SPS_ACCEPT_SYNCHRONOUS            0x00000004
-
-/* DrvSetPointerShape.fl constants */
-#define SPS_CHANGE                        0x00000001L
-#define SPS_ASYNCCHANGE                   0x00000002L
-#define SPS_ANIMATESTART                  0x00000004L
-#define SPS_ANIMATEUPDATE                 0x00000008L
-#define SPS_ALPHA                         0x00000010L
-#define SPS_LENGTHMASK                    0x00000F00L
-#define SPS_FREQMASK                      0x000FF000L
-
-ULONG
-DDKAPI
-DrvSetPointerShape(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ SURFOBJ  *psoColor,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ LONG  xHot,
-  /*IN*/ LONG  yHot,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ FLONG  fl);
-
-BOOL
-DDKAPI
-DrvStartBanding(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ POINTL  *pptl);
-
-BOOL
-DDKAPI
-DrvStartDoc(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LPWSTR  pwszDocName,
-  /*IN*/ DWORD  dwJobId);
-
-BOOL
-DDKAPI
-DrvStartPage(
-  /*IN*/ SURFOBJ  *pso);
-
-BOOL
-DDKAPI
-DrvStretchBlt(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode);
-
-BOOL
-DDKAPI
-DrvStretchBltROP(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ DWORD  rop4);
-
-BOOL
-DDKAPI
-DrvStrokeAndFillPath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pboStroke,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ BRUSHOBJ  *pboFill,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mixFill,
-  /*IN*/ FLONG  flOptions);
-
-BOOL
-DDKAPI
-DrvStrokePath(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ MIX  mix);
-
-BOOL
-DDKAPI
-DrvSwapBuffers(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ WNDOBJ  *pwo);
-
-VOID
-DDKAPI
-DrvSynchronize(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ RECTL  *prcl);
-
-/* DrvSynchronizeSurface.fl constants */
-#define DSS_TIMER_EVENT                   0x00000001
-#define DSS_FLUSH_EVENT                   0x00000002
-
-VOID
-DDKAPI
-DrvSynchronizeSurface(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ FLONG  fl);
-
-BOOL
-DDKAPI
-DrvTextOut(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ STROBJ  *pstro,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ RECTL  *prclExtra,
-  /*IN*/ RECTL  *prclOpaque,
-  /*IN*/ BRUSHOBJ  *pboFore,
-  /*IN*/ BRUSHOBJ  *pboOpaque,
-  /*IN*/ POINTL  *pptlOrg,
-  /*IN*/ MIX  mix);
-
-BOOL
-DDKAPI
-DrvTransparentBlt(
-  /*IN*/ SURFOBJ  *psoDst,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDst,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ ULONG  iTransColor,
-  /*IN*/ ULONG  ulReserved);
-
-BOOL
-DDKAPI
-DrvUnloadFontFile(
-  /*IN*/ ULONG_PTR  iFile);
-
-/* WNDOBJCHANGEPROC.fl constants */
-#define WOC_RGN_CLIENT_DELTA              0x00000001
-#define WOC_RGN_CLIENT                    0x00000002
-#define WOC_RGN_SURFACE_DELTA             0x00000004
-#define WOC_RGN_SURFACE                   0x00000008
-#define WOC_CHANGED                       0x00000010
-#define WOC_DELETE                        0x00000020
-#define WOC_DRAWN                         0x00000040
-#define WOC_SPRITE_OVERLAP                0x00000080
-#define WOC_SPRITE_NO_OVERLAP             0x00000100
-
-typedef VOID DDKAPI
-(CALLBACK * WNDOBJCHANGEPROC)(
-  WNDOBJ  *pwo,
-  FLONG  fl);
-
-
-typedef BOOL DDKAPI
-(*PFN_DrvAlphaBlend)(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ BLENDOBJ  *pBlendObj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvAssertMode)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ BOOL  bEnable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvBitBlt)(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclTrg,
-  /*IN*/ POINTL  *pptlSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrush,
-  /*IN*/ ROP4  rop4);
-
-typedef VOID DDKAPI
-(*PFN_DrvCompletePDEV)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HDEV  hdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvCopyBits)(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ POINTL  *pptlSrc);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvCreateDeviceBitmap)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ SIZEL  sizl,
-  /*IN*/ ULONG  iFormat);
-
-typedef VOID DDKAPI
-(*PFN_DrvDeleteDeviceBitmap)(
-  /*IN*/ DHSURF  dhsurf);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvDeriveSurface)(
-  DD_DIRECTDRAW_GLOBAL  *pDirectDraw,
-  DD_SURFACE_LOCAL  *pSurface);
-
-typedef LONG DDKAPI
-(*PFN_DrvDescribePixelFormat)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ LONG  iPixelFormat,
-  /*IN*/ ULONG  cjpfd,
-
-  /*OUT*/ PIXELFORMATDESCRIPTOR  *ppfd);
-
-typedef VOID DDKAPI
-(*PFN_DrvDestroyFont)(
-  /*IN*/ FONTOBJ  *pfo);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableDriver)(
-  VOID);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisablePDEV)(
-  /*IN*/ DHPDEV  dhpdev);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableSurface)(
-  /*IN*/ DHPDEV  dhpdev);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDitherColor)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  rgb,
-
-  /*OUT*/ ULONG  *pul);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDrawEscape)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iEsc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEnableDriver)(
-  /*IN*/ ULONG  iEngineVersion,
-  /*IN*/ ULONG  cj,
-
-  /*OUT*/ DRVENABLEDATA  *pded);
-#if 0
-typedef DHPDEV DDKAPI
-(*PFN_DrvEnablePDEV)(
-  /*IN*/ DEVMODEW  *pdm,
-  /*IN*/ LPWSTR  pwszLogAddress,
-  /*IN*/ ULONG  cPat,
-
-  /*OUT*/ HSURF  *phsurfPatterns,
-  /*IN*/ ULONG  cjCaps,
-
-  /*OUT*/ ULONG  *pdevcaps,
-  /*IN*/ ULONG  cjDevInfo,
-
-  /*OUT*/ DEVINFO  *pdi,
-  /*IN*/ HDEV  hdev,
-  /*IN*/ LPWSTR  pwszDeviceName,
-  /*IN*/ HANDLE  hDriver);
-#endif
-typedef HSURF DDKAPI
-(*PFN_DrvEnableSurface)(
-  /*IN*/ DHPDEV  dhpdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEndDoc)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ FLONG  fl);
-
-typedef ULONG DDKAPI
-(*PFN_DrvEscape)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iEsc,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn,
-  /*IN*/ ULONG  cjOut,
-
-  /*OUT*/ PVOID  pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvFillPath)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix,
-  /*IN*/ FLONG  flOptions);
-
-typedef ULONG DDKAPI
-(*PFN_DrvFontManagement)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG  cjIn,
-  /*IN*/ PVOID  pvIn,
-  /*IN*/ ULONG  cjOut,
-
-  /*OUT*/ PVOID  pvOut);
-
-typedef VOID DDKAPI
-(*PFN_DrvFree)(
-  /*IN*/ PVOID  pv,
-  /*IN*/ ULONG_PTR  id);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetGlyphMode)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetModes)(
-  /*IN*/ HANDLE  hDriver,
-  /*IN*/ ULONG  cjSize,
-
-  /*OUT*/ DEVMODEW  *pdm);
-
-typedef PVOID DDKAPI
-(*PFN_DrvGetTrueTypeFile)(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  *pcj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvGradientFill)(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ TRIVERTEX  *pVertex,
-  /*IN*/ ULONG  nVertex,
-  /*IN*/ PVOID  pMesh,
-  /*IN*/ ULONG  nMesh,
-  /*IN*/ RECTL  *prclExtents,
-  /*IN*/ POINTL  *pptlDitherOrg,
-  /*IN*/ ULONG  ulMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmCheckBitmapBits)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HANDLE  hColorTransform,
-  /*IN*/ SURFOBJ  *pso,
-
-  /*OUT*/ PBYTE  paResults);
-
-typedef HANDLE DDKAPI
-(*PFN_DrvIcmCreateColorTransform)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ LPLOGCOLORSPACEW  pLogColorSpace,
-  /*IN*/ PVOID  pvSourceProfile,
-  /*IN*/ ULONG  cjSourceProfile,
-  /*IN*/ PVOID  pvDestProfile,
-  /*IN*/ ULONG  cjDestProfile,
-  /*IN*/ PVOID  pvTargetProfile,
-  /*IN*/ ULONG  cjTargetProfile,
-  /*IN*/ DWORD  dwReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmDeleteColorTransform)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ HANDLE  hcmXform);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmSetDeviceGammaRamp)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG  iFormat,
-  /*IN*/ LPVOID  lpRamp);
-
-typedef BOOL DDKAPI
-(*PFN_DrvLineTo)(
-  SURFOBJ  *pso,
-  CLIPOBJ  *pco,
-  BRUSHOBJ  *pbo,
-  LONG  x1,
-  LONG  y1,
-  LONG  x2,
-  LONG  y2,
-  RECTL  *prclBounds,
-  MIX  mix);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvLoadFontFile)(
-  ULONG  cFiles,
-  ULONG_PTR  *piFile,
-  PVOID  *ppvView,
-  ULONG  *pcjView,
-  DESIGNVECTOR  *pdv,
-  ULONG  ulLangID,
-  ULONG  ulFastCheckSum);
-
-typedef VOID DDKAPI
-(*PFN_DrvMovePointer)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvNextBand)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ POINTL  *pptl);
-
-typedef VOID DDKAPI
-(*PFN_DrvNotify)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iType,
-  /*IN*/ PVOID  pvData);
-
-typedef BOOL DDKAPI
-(*PFN_DrvOffset)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ FLONG  flReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPaint)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPlgBlt)(
-  /*IN*/ SURFOBJ  *psoTrg,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMsk,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ POINTFIX  *pptfx,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ POINTL  *pptl,
-  /*IN*/ ULONG  iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryAdvanceWidths)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ HGLYPH  *phg,
-
-  /*OUT*/ PVOID  pvWidths,
-  /*IN*/ ULONG  cGlyphs);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDeviceSupport)(
-  SURFOBJ  *pso,
-  XLATEOBJ  *pxlo,
-  XFORMOBJ  *pxo,
-  ULONG  iType,
-  ULONG  cjIn,
-  PVOID  pvIn,
-  ULONG  cjOut,
-  PVOID  pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDriverInfo)(
-  DWORD  dwMode,
-  PVOID  pBuffer,
-  DWORD  cbBuf,
-  PDWORD  pcbNeeded);
-
-typedef PIFIMETRICS DDKAPI
-(*PFN_DrvQueryFont)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  iFace,
-  /*IN*/ ULONG_PTR  *pid);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontCaps)(
-  /*IN*/ ULONG  culCaps,
-
-  /*OUT*/ ULONG  *pulCaps);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontData)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ HGLYPH  hg,
-  /*IN OUT*/ GLYPHDATA  *pgd,
-  /*IN OUT*/ PVOID  pv,
-  /*IN*/ ULONG  cjSize);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontFile)(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  ulMode,
-  /*IN*/ ULONG  cjBuf,
-  /*IN*/ ULONG  *pulBuf);
-
-typedef PVOID DDKAPI
-(*PFN_DrvQueryFontTree)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  iFace,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG_PTR  *pid);
-
-typedef PFD_GLYPHATTR DDKAPI
-(*PFN_DrvQueryGlyphAttrs)(
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ ULONG  iMode);
-
-typedef ULONG DDKAPI
-(*PFN_DrvQueryPerBandInfo)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN OUT*/ PERBANDINFO  *pbi);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeOutline)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ HGLYPH  hglyph,
-  /*IN*/ BOOL  bMetricsOnly,
-  /*IN*/ GLYPHDATA  *pgldt,
-  /*IN*/ ULONG  cjBuf,
-  /*OUT*/ TTPOLYGONHEADER  *ppoly);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeTable)(
-  /*IN*/ ULONG_PTR  iFile,
-  /*IN*/ ULONG  ulFont,
-  /*IN*/ ULONG  ulTag,
-  /*IN*/ PTRDIFF  dpStart,
-  /*IN*/ ULONG  cjBuf,
-  /*OUT*/ BYTE  *pjBuf,
-  /*OUT*/ PBYTE  *ppjTable,
-  /*OUT*/ ULONG *pcjTable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvRealizeBrush)(
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ SURFOBJ  *psoTarget,
-  /*IN*/ SURFOBJ  *psoPattern,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ ULONG  iHatch);
-
-typedef ULONG DDKAPI
-(*PFN_DrvResetDevice)(
-  /*IN*/ DHPDEV dhpdev,
-  /*IN*/ PVOID Reserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvResetPDEV)(
-  DHPDEV  dhpdevOld,
-  DHPDEV  dhpdevNew);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvSaveScreenBits)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ ULONG_PTR  ident,
-  /*IN*/ RECTL  *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSendPage)(
-  /*IN*/ SURFOBJ  *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPalette)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ PALOBJ  *ppalo,
-  /*IN*/ FLONG  fl,
-  /*IN*/ ULONG  iStart,
-  /*IN*/ ULONG  cColors);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPixelFormat)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LONG  iPixelFormat,
-  /*IN*/ HWND  hwnd);
-
-typedef ULONG DDKAPI
-(*PFN_DrvSetPointerShape)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ SURFOBJ  *psoColor,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ LONG  xHot,
-  /*IN*/ LONG  yHot,
-  /*IN*/ LONG  x,
-  /*IN*/ LONG  y,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ FLONG  fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartBanding)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ POINTL  *pptl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartDoc)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ LPWSTR  pwszDocName,
-  /*IN*/ DWORD  dwJobId);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartPage)(
-  /*IN*/ SURFOBJ  *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBlt)(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBltROP)(
-  /*IN*/ SURFOBJ  *psoDest,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ SURFOBJ  *psoMask,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ COLORADJUSTMENT  *pca,
-  /*IN*/ POINTL  *pptlHTOrg,
-  /*IN*/ RECTL  *prclDest,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ POINTL  *pptlMask,
-  /*IN*/ ULONG  iMode,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ DWORD  rop4);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokeAndFillPath)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pboStroke,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ BRUSHOBJ  *pboFill,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ MIX  mixFill,
-  /*IN*/ FLONG  flOptions);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokePath)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ PATHOBJ  *ppo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XFORMOBJ  *pxo,
-  /*IN*/ BRUSHOBJ  *pbo,
-  /*IN*/ POINTL  *pptlBrushOrg,
-  /*IN*/ LINEATTRS  *plineattrs,
-  /*IN*/ MIX  mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSwapBuffers)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ WNDOBJ  *pwo);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronize)(
-  /*IN*/ DHPDEV  dhpdev,
-  /*IN*/ RECTL  *prcl);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronizeSurface)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ RECTL  *prcl,
-  /*IN*/ FLONG  fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTextOut)(
-  /*IN*/ SURFOBJ  *pso,
-  /*IN*/ STROBJ  *pstro,
-  /*IN*/ FONTOBJ  *pfo,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ RECTL  *prclExtra,
-  /*IN*/ RECTL  *prclOpaque,
-  /*IN*/ BRUSHOBJ  *pboFore,
-  /*IN*/ BRUSHOBJ  *pboOpaque,
-  /*IN*/ POINTL  *pptlOrg,
-  /*IN*/ MIX  mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTransparentBlt)(
-  /*IN*/ SURFOBJ  *psoDst,
-  /*IN*/ SURFOBJ  *psoSrc,
-  /*IN*/ CLIPOBJ  *pco,
-  /*IN*/ XLATEOBJ  *pxlo,
-  /*IN*/ RECTL  *prclDst,
-  /*IN*/ RECTL  *prclSrc,
-  /*IN*/ ULONG  iTransColor,
-  /*IN*/ ULONG  ulReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvUnloadFontFile)(
-  /*IN*/ ULONG_PTR  iFile);
-
-
-WIN32KAPI
-VOID
-DDKAPI
-DrvDisableDirectDraw(
-  /*IN*/ DHPDEV  dhpdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvEnableDirectDraw(
-  /*IN*/ DHPDEV  dhpdev,
-  /*OUT*/ DD_CALLBACKS  *pCallBacks,
-  /*OUT*/ DD_SURFACECALLBACKS  *pSurfaceCallBacks,
-  /*OUT*/ DD_PALETTECALLBACKS  *pPaletteCallBacks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvGetDirectDrawInfo(
-  /*IN*/ DHPDEV  dhpdev,
-  /*OUT*/ DD_HALINFO  *pHalInfo,
-  /*OUT*/ DWORD  *pdwNumHeaps,
-  /*OUT*/ VIDEOMEMORY  *pvmList,
-  /*OUT*/ DWORD  *pdwNumFourCCCodes,
-  /*OUT*/ DWORD  *pdwFourCC);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __VIDEO_H */
-
-#endif /* __WINDDI_H */
Index: Daodan/MinGW/include/ddk/winddk.h
===================================================================
--- Daodan/MinGW/include/ddk/winddk.h	(revision 1046)
+++ 	(revision )
@@ -1,8348 +1,0 @@
-/*
- * ddk/winddk.h
- *
- * Windows Device Driver Kit -- common elements.
- *
- * $Id: winddk.h,v 6d2220f53104 2016/07/21 21:20:34 keithmarshall $
- *
- * Written by Casper S. Hornstrup  <chorns@users.sourceforge.net>
- * Copyright (C) 2002-2004, 2006, 2008-2011, 2015, 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, 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.
- *
- */
-#ifndef _DDK_WINDDK_H
-#pragma GCC system_header
-
-#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
-/* 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
-
-#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.
- */
-#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(F,OP)	F(OP, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define __FILE_RD_BUFFERED(F,OP)	F(OP, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define __FILE_RW_BUFFERED(F,OP)	F(OP, 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;
-
-/* 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
-
-#if defined(_NTOSKRNL_)
-# ifndef NTOSAPI
-#  define NTOSAPI DECL_EXPORT
-# endif
-# define DECLARE_INTERNAL_OBJECT(x) typedef struct _##x; typedef struct _##x *P##x;
-# define DECLARE_INTERNAL_OBJECT2(x,y) typedef struct _##x; typedef struct _##x *P##y;
-#else
-# ifndef NTOSAPI
-#  define NTOSAPI DECL_IMPORT
-# endif
-# define DECLARE_INTERNAL_OBJECT(x) struct _##x; typedef struct _##x *P##x;
-# define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
-#endif
-
-#ifndef _NO_W32_PSEUDO_MODIFIERS
- /* Pseudo modifiers for parameters...
-  *
-  * We don't use these unnecessary defines in the w32api headers. Define
-  * them by default since that is what people expect, but allow users to
-  * avoid the pollution, by defining _NO_W32_PSEUDO_MODIFIERS.
-  */
-# define IN
-# define OUT
-# define OPTIONAL
-# define UNALLIGNED
-#endif
-
-#define CONST const
-#define VOLATILE volatile
-
-#define RESTRICTED_POINTER
-#define POINTER_ALIGNMENT
-
-#ifdef NONAMELESSUNION
-# define _DDK_DUMMYUNION_MEMBER(name) DUMMYUNIONNAME.name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) DUMMYUNIONNAME##n.name
-#else
-# define _DDK_DUMMYUNION_MEMBER(name) name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) name
-#endif
-
-/* Forward declarations
- */
-struct _IRP;
-struct _MDL;
-struct _KAPC;
-struct _KDPC;
-struct _KPCR;
-struct _KPRCB;
-struct _KTSS;
-struct _FILE_OBJECT;
-struct _DMA_ADAPTER;
-struct _DEVICE_OBJECT;
-struct _DRIVER_OBJECT;
-struct _SECTION_OBJECT;
-struct _IO_STATUS_BLOCK;
-struct _DEVICE_DESCRIPTION;
-struct _SCATTER_GATHER_LIST;
-
-DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
-DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
-DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
-DECLARE_INTERNAL_OBJECT(SECTION_OBJECT)
-
-#if 1
-/* FIXME: Unknown definitions
- */
-struct _SET_PARTITION_INFORMATION_EX;
-typedef ULONG WAIT_TYPE;
-typedef HANDLE TRACEHANDLE;
-typedef PVOID PWMILIB_CONTEXT;
-typedef PVOID PSYSCTL_IRP_DISPOSITION;
-typedef ULONG LOGICAL;
-#endif
-
-/* Routines specific to this DDK
- */
-#define TAG(_a, _b, _c, _d) (ULONG) \
-	(((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
-
-#ifdef __GNUC__
-static __inline__ struct _KPCR * KeGetCurrentKPCR( VOID )
-{
-  ULONG Value;
-
-  __asm__ __volatile__ (
-#if (__GNUC__ >= 3)
-    /* support -masm=intel */
-    "mov{l} {%%fs:0x18, %0|%0, %%fs:0x18}\n\t"
-#else
-    "movl %%fs:0x18, %0\n\t"
-#endif
-     : "=r" (Value)
-     : /* no inputs */
-  );
-  return (struct _KPCR *)(Value);
-}
-
-#elif defined( __WATCOMC__ )
-extern struct _KPCR * KeGetCurrentKPCR( void );
-#pragma aux KeGetCurrentKPCR = \
-  "mov eax, fs:[0x18]" \
-  value [ eax ];
-#endif
-
-/* Simple structures
- */
-typedef LONG KPRIORITY;
-typedef UCHAR KIRQL, *PKIRQL;
-typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
-typedef ULONG_PTR KAFFINITY, *PKAFFINITY;
-typedef CCHAR KPROCESSOR_MODE;
-
-typedef
-enum _MODE
-{ KernelMode,
-  UserMode,
-  MaximumMode
-} MODE;
-
-
-/* Structures not exposed to drivers
- */
-typedef struct _IO_TIMER *PIO_TIMER;
-typedef struct _EPROCESS *PEPROCESS;
-typedef struct _ETHREAD *PETHREAD;
-typedef struct _KINTERRUPT *PKINTERRUPT;
-typedef struct _OBJECT_TYPE *POBJECT_TYPE;
-typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
-typedef struct _COMPRESSED_DATA_INFO *PCOMPRESSED_DATA_INFO;
-typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
-typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
-typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
-typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
-
-/* Constants
- */
-#define	MAXIMUM_PROCESSORS                32
-#define MAXIMUM_WAIT_OBJECTS              64
-
-#define LOW_PRIORITY                      0
-#define LOW_REALTIME_PRIORITY             16
-#define HIGH_PRIORITY                     31
-#define MAXIMUM_PRIORITY                  32
-
-#define FILE_SUPERSEDED                   0x00000000
-#define FILE_OPENED                       0x00000001
-#define FILE_CREATED                      0x00000002
-#define FILE_OVERWRITTEN                  0x00000003
-#define FILE_EXISTS                       0x00000004
-#define FILE_DOES_NOT_EXIST               0x00000005
-
-#if 1
-/* FIXME: also in winnt.h; hence, already defined?
- */
-#define FILE_LIST_DIRECTORY               0x00000001
-#define FILE_READ_DATA                    0x00000001
-#define FILE_ADD_FILE                     0x00000002
-#define FILE_WRITE_DATA                   0x00000002
-#define FILE_ADD_SUBDIRECTORY             0x00000004
-#define FILE_APPEND_DATA                  0x00000004
-#define FILE_CREATE_PIPE_INSTANCE         0x00000004
-#define FILE_READ_EA                      0x00000008
-#define FILE_WRITE_EA                     0x00000010
-#define FILE_EXECUTE                      0x00000020
-#define FILE_TRAVERSE                     0x00000020
-#define FILE_DELETE_CHILD                 0x00000040
-#define FILE_READ_ATTRIBUTES              0x00000080
-#define FILE_WRITE_ATTRIBUTES             0x00000100
-
-#define FILE_SHARE_READ                   0x00000001
-#define FILE_SHARE_WRITE                  0x00000002
-#define FILE_SHARE_DELETE                 0x00000004
-#define FILE_SHARE_VALID_FLAGS            0x00000007
-
-#define FILE_ATTRIBUTE_READONLY           0x00000001
-#define FILE_ATTRIBUTE_HIDDEN             0x00000002
-#define FILE_ATTRIBUTE_SYSTEM             0x00000004
-#define FILE_ATTRIBUTE_DIRECTORY          0x00000010
-#define FILE_ATTRIBUTE_ARCHIVE            0x00000020
-#define FILE_ATTRIBUTE_DEVICE             0x00000040
-#define FILE_ATTRIBUTE_NORMAL             0x00000080
-#define FILE_ATTRIBUTE_TEMPORARY          0x00000100
-#define FILE_ATTRIBUTE_SPARSE_FILE        0x00000200
-#define FILE_ATTRIBUTE_REPARSE_POINT      0x00000400
-#define FILE_ATTRIBUTE_COMPRESSED         0x00000800
-#define FILE_ATTRIBUTE_OFFLINE            0x00001000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-#define FILE_ATTRIBUTE_ENCRYPTED          0x00004000
-#define FILE_ATTRIBUTE_VIRTUAL            0x00010000
-
-#define FILE_ATTRIBUTE_VALID_FLAGS        0x00017fb7
-#define FILE_ATTRIBUTE_VALID_SET_FLAGS    0x000031a7
-
-#define FILE_COPY_STRUCTURED_STORAGE      0x00000041
-#define FILE_STRUCTURED_STORAGE           0x00000441
-
-#define FILE_VALID_OPTION_FLAGS           0x00ffffff
-#define FILE_VALID_PIPE_OPTION_FLAGS      0x00000032
-#define FILE_VALID_MAILSLOT_OPTION_FLAGS  0x00000032
-#define FILE_VALID_SET_FLAGS              0x00000036
-
-#define FILE_SUPERSEDE                    0x00000000
-#define FILE_OPEN                         0x00000001
-#define FILE_CREATE                       0x00000002
-#define FILE_OPEN_IF                      0x00000003
-#define FILE_OVERWRITE                    0x00000004
-#define FILE_OVERWRITE_IF                 0x00000005
-#define FILE_MAXIMUM_DISPOSITION          0x00000005
-
-#define FILE_DIRECTORY_FILE               0x00000001
-#define FILE_WRITE_THROUGH                0x00000002
-#define FILE_SEQUENTIAL_ONLY              0x00000004
-#define FILE_NO_INTERMEDIATE_BUFFERING    0x00000008
-#define FILE_SYNCHRONOUS_IO_ALERT         0x00000010
-#define FILE_SYNCHRONOUS_IO_NONALERT      0x00000020
-#define FILE_NON_DIRECTORY_FILE           0x00000040
-#define FILE_CREATE_TREE_CONNECTION       0x00000080
-#define FILE_COMPLETE_IF_OPLOCKED         0x00000100
-#define FILE_NO_EA_KNOWLEDGE              0x00000200
-#define FILE_OPEN_FOR_RECOVERY            0x00000400
-#define FILE_RANDOM_ACCESS                0x00000800
-#define FILE_DELETE_ON_CLOSE              0x00001000
-#define FILE_OPEN_BY_FILE_ID              0x00002000
-#define FILE_OPEN_FOR_BACKUP_INTENT       0x00004000
-#define FILE_NO_COMPRESSION               0x00008000
-#define FILE_RESERVE_OPFILTER             0x00100000
-#define FILE_OPEN_REPARSE_POINT           0x00200000
-#define FILE_OPEN_NO_RECALL               0x00400000
-#define FILE_OPEN_FOR_FREE_SPACE_QUERY    0x00800000
-
-#define FILE_ALL_ACCESS  (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
-
-#define FILE_GENERIC_EXECUTE \
- (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE)
-
-#define FILE_GENERIC_READ \
- (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES \
-   | FILE_READ_EA | SYNCHRONIZE)
-
-#define FILE_GENERIC_WRITE \
- (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES \
-   | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE)
-
-#endif  /* winnt.h */
-
-#define DIRECTORY_QUERY (0x0001)
-#define DIRECTORY_TRAVERSE (0x0002)
-#define DIRECTORY_CREATE_OBJECT (0x0004)
-#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
-#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
-
-/* Exported object types
- */
-extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
-extern NTOSAPI POBJECT_TYPE ExEventObjectType;
-extern NTOSAPI POBJECT_TYPE ExSemaphoreObjectType;
-extern NTOSAPI POBJECT_TYPE ExWindowStationObjectType;
-extern NTOSAPI POBJECT_TYPE IoAdapterObjectType;
-extern NTOSAPI ULONG IoDeviceHandlerObjectSize;
-extern NTOSAPI POBJECT_TYPE IoDeviceHandlerObjectType;
-extern NTOSAPI POBJECT_TYPE IoDeviceObjectType;
-extern NTOSAPI POBJECT_TYPE IoDriverObjectType;
-extern NTOSAPI POBJECT_TYPE IoFileObjectType;
-extern NTOSAPI POBJECT_TYPE LpcPortObjectType;
-extern NTOSAPI POBJECT_TYPE MmSectionObjectType;
-extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
-
-extern NTOSAPI CCHAR KeNumberProcessors;
-extern NTOSAPI PHAL_DISPATCH_TABLE HalDispatchTable;
-extern NTOSAPI PHAL_PRIVATE_DISPATCH_TABLE HalPrivateDispatchTable;
-
-
-/* IRP function codes
- */
-#define IRP_MJ_CREATE                     0x00
-#define IRP_MJ_CREATE_NAMED_PIPE          0x01
-#define IRP_MJ_CLOSE                      0x02
-#define IRP_MJ_READ                       0x03
-#define IRP_MJ_WRITE                      0x04
-#define IRP_MJ_QUERY_INFORMATION          0x05
-#define IRP_MJ_SET_INFORMATION            0x06
-#define IRP_MJ_QUERY_EA                   0x07
-#define IRP_MJ_SET_EA                     0x08
-#define IRP_MJ_FLUSH_BUFFERS              0x09
-#define IRP_MJ_QUERY_VOLUME_INFORMATION   0x0a
-#define IRP_MJ_SET_VOLUME_INFORMATION     0x0b
-#define IRP_MJ_DIRECTORY_CONTROL          0x0c
-#define IRP_MJ_FILE_SYSTEM_CONTROL        0x0d
-#define IRP_MJ_DEVICE_CONTROL             0x0e
-#define IRP_MJ_INTERNAL_DEVICE_CONTROL    0x0f
-#define IRP_MJ_SCSI                       0x0f
-#define IRP_MJ_SHUTDOWN                   0x10
-#define IRP_MJ_LOCK_CONTROL               0x11
-#define IRP_MJ_CLEANUP                    0x12
-#define IRP_MJ_CREATE_MAILSLOT            0x13
-#define IRP_MJ_QUERY_SECURITY             0x14
-#define IRP_MJ_SET_SECURITY               0x15
-#define IRP_MJ_POWER                      0x16
-#define IRP_MJ_SYSTEM_CONTROL             0x17
-#define IRP_MJ_DEVICE_CHANGE              0x18
-#define IRP_MJ_QUERY_QUOTA                0x19
-#define IRP_MJ_SET_QUOTA                  0x1a
-#define IRP_MJ_PNP                        0x1b
-#define IRP_MJ_PNP_POWER                  0x1b
-#define IRP_MJ_MAXIMUM_FUNCTION           0x1b
-
-#define IRP_MN_QUERY_DIRECTORY            0x01
-#define IRP_MN_NOTIFY_CHANGE_DIRECTORY    0x02
-
-#define IRP_MN_USER_FS_REQUEST            0x00
-#define IRP_MN_MOUNT_VOLUME               0x01
-#define IRP_MN_VERIFY_VOLUME              0x02
-#define IRP_MN_LOAD_FILE_SYSTEM           0x03
-#define IRP_MN_TRACK_LINK                 0x04
-#define IRP_MN_KERNEL_CALL                0x04
-
-#define IRP_MN_LOCK                       0x01
-#define IRP_MN_UNLOCK_SINGLE              0x02
-#define IRP_MN_UNLOCK_ALL                 0x03
-#define IRP_MN_UNLOCK_ALL_BY_KEY          0x04
-
-#define IRP_MN_NORMAL                     0x00
-#define IRP_MN_DPC                        0x01
-#define IRP_MN_MDL                        0x02
-#define IRP_MN_COMPLETE                   0x04
-#define IRP_MN_COMPRESSED                 0x08
-
-#define IRP_MN_MDL_DPC                    (IRP_MN_MDL | IRP_MN_DPC)
-#define IRP_MN_COMPLETE_MDL               (IRP_MN_COMPLETE | IRP_MN_MDL)
-#define IRP_MN_COMPLETE_MDL_DPC           (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)
-
-#define IRP_MN_SCSI_CLASS                 0x01
-
-#define IRP_MN_START_DEVICE               0x00
-#define IRP_MN_QUERY_REMOVE_DEVICE        0x01
-#define IRP_MN_REMOVE_DEVICE              0x02
-#define IRP_MN_CANCEL_REMOVE_DEVICE       0x03
-#define IRP_MN_STOP_DEVICE                0x04
-#define IRP_MN_QUERY_STOP_DEVICE          0x05
-#define IRP_MN_CANCEL_STOP_DEVICE         0x06
-
-#define IRP_MN_QUERY_DEVICE_RELATIONS       0x07
-#define IRP_MN_QUERY_INTERFACE              0x08
-#define IRP_MN_QUERY_CAPABILITIES           0x09
-#define IRP_MN_QUERY_RESOURCES              0x0A
-#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS  0x0B
-#define IRP_MN_QUERY_DEVICE_TEXT            0x0C
-#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
-
-#define IRP_MN_READ_CONFIG                  0x0F
-#define IRP_MN_WRITE_CONFIG                 0x10
-#define IRP_MN_EJECT                        0x11
-#define IRP_MN_SET_LOCK                     0x12
-#define IRP_MN_QUERY_ID                     0x13
-#define IRP_MN_QUERY_PNP_DEVICE_STATE       0x14
-#define IRP_MN_QUERY_BUS_INFORMATION        0x15
-#define IRP_MN_DEVICE_USAGE_NOTIFICATION    0x16
-#define IRP_MN_SURPRISE_REMOVAL             0x17
-#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
-
-#define IRP_MN_WAIT_WAKE                  0x00
-#define IRP_MN_POWER_SEQUENCE             0x01
-#define IRP_MN_SET_POWER                  0x02
-#define IRP_MN_QUERY_POWER                0x03
-
-#define IRP_MN_QUERY_ALL_DATA             0x00
-#define IRP_MN_QUERY_SINGLE_INSTANCE      0x01
-#define IRP_MN_CHANGE_SINGLE_INSTANCE     0x02
-#define IRP_MN_CHANGE_SINGLE_ITEM         0x03
-#define IRP_MN_ENABLE_EVENTS              0x04
-#define IRP_MN_DISABLE_EVENTS             0x05
-#define IRP_MN_ENABLE_COLLECTION          0x06
-#define IRP_MN_DISABLE_COLLECTION         0x07
-#define IRP_MN_REGINFO                    0x08
-#define IRP_MN_EXECUTE_METHOD             0x09
-
-#define IRP_MN_REGINFO_EX                 0x0b
-
-typedef
-enum _IO_ALLOCATION_ACTION
-{ KeepObject				= 1,
-  DeallocateObject			= 2,
-  DeallocateObjectKeepRegisters		= 3
-} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;
-
-typedef IO_ALLOCATION_ACTION
-(DDKAPI *PDRIVER_CONTROL)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ PVOID  Context
-);
-
-typedef VOID
-(DDKAPI *PDRIVER_LIST_CONTROL)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp,
-  /*IN*/ struct _SCATTER_GATHER_LIST  *ScatterGather,
-  /*IN*/ PVOID  Context
-);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ADD_DEVICE)(
-  /*IN*/ struct _DRIVER_OBJECT  *DriverObject,
-  /*IN*/ struct _DEVICE_OBJECT  *PhysicalDeviceObject
-);
-
-typedef NTSTATUS
-(DDKAPI *PIO_COMPLETION_ROUTINE)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp,
-  /*IN*/ PVOID  Context
-);
-
-typedef VOID
-(DDKAPI *PDRIVER_CANCEL)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp
-);
-
-typedef VOID
-(DDKAPI *PKDEFERRED_ROUTINE)(
-  /*IN*/ struct _KDPC  *Dpc,
-  /*IN*/ PVOID  DeferredContext,
-  /*IN*/ PVOID  SystemArgument1,
-  /*IN*/ PVOID  SystemArgument2
-);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_DISPATCH)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp
-);
-
-typedef VOID
-(DDKAPI *PIO_DPC_ROUTINE)(
-  /*IN*/ struct _KDPC  *Dpc,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp,
-  /*IN*/ PVOID  Context
-);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_INITIALIZE)(
-  /*IN*/ PUNICODE_STRING  RegistryPath
-);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_UNLOAD)( VOID );
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ENTRY)(
-  /*IN*/ struct _DRIVER_OBJECT  *DriverObject,
-  /*IN*/ PUNICODE_STRING  RegistryPath
-);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_INITIALIZE)(
-  /*IN*/ struct _DRIVER_OBJECT  *DriverObject,
-  /*IN*/ PUNICODE_STRING  RegistryPath
-);
-
-typedef BOOLEAN
-(DDKAPI *PKSERVICE_ROUTINE)(
-  /*IN*/ struct _KINTERRUPT  *Interrupt,
-  /*IN*/ PVOID  ServiceContext
-);
-
-typedef VOID
-(DDKAPI *PIO_TIMER_ROUTINE)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ PVOID  Context
-);
-
-typedef VOID
-(DDKAPI *PDRIVER_REINITIALIZE)(
-  /*IN*/ struct _DRIVER_OBJECT  *DriverObject,
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  Count
-);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_STARTIO)(
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject,
-  /*IN*/ struct _IRP  *Irp
-);
-
-typedef BOOLEAN
-(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
-  /*IN*/ PVOID  SynchronizeContext
-);
-
-typedef VOID
-(DDKAPI *PDRIVER_UNLOAD)(
-  /*IN*/ struct _DRIVER_OBJECT  *DriverObject
-);
-
-
-
-/*
-** Plug and Play structures
-*/
-typedef VOID DDKAPI
-(*PINTERFACE_REFERENCE)(
-  PVOID  Context
-);
-
-typedef VOID DDKAPI
-(*PINTERFACE_DEREFERENCE)(
-  PVOID Context
-);
-
-typedef BOOLEAN DDKAPI
-(*PTRANSLATE_BUS_ADDRESS)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PHYSICAL_ADDRESS  BusAddress,
-  /*IN*/ ULONG  Length,
-  /*IN OUT*/ PULONG  AddressSpace,
-  /*OUT*/ PPHYSICAL_ADDRESS  TranslatedAddress
-);
-
-typedef struct _DMA_ADAPTER* DDKAPI
-(*PGET_DMA_ADAPTER)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ struct _DEVICE_DESCRIPTION  *DeviceDescriptor,
-  /*OUT*/ PULONG  NumberOfMapRegisters
-);
-
-typedef ULONG DDKAPI
-(*PGET_SET_DEVICE_DATA)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ ULONG  DataType,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length
-);
-
-typedef
-union _POWER_STATE
-{ SYSTEM_POWER_STATE		SystemState;
-  DEVICE_POWER_STATE		DeviceState;
-} POWER_STATE, *PPOWER_STATE;
-
-typedef
-enum _POWER_STATE_TYPE
-{ SystemPowerState,
-  DevicePowerState
-} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
-
-typedef
-struct _BUS_INTERFACE_STANDARD
-{ USHORT			Size;
-  USHORT			Version;
-  PVOID 			Context;
-  PINTERFACE_REFERENCE		InterfaceReference;
-  PINTERFACE_DEREFERENCE	InterfaceDereference;
-  PTRANSLATE_BUS_ADDRESS	TranslateBusAddress;
-  PGET_DMA_ADAPTER		GetDmaAdapter;
-  PGET_SET_DEVICE_DATA		SetBusData;
-  PGET_SET_DEVICE_DATA		GetBusData;
-} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;
-
-typedef
-struct _DEVICE_CAPABILITIES
-{ USHORT			Size;
-  USHORT			Version;
-  ULONG 			DeviceD1	   :  1;
-  ULONG 			DeviceD2	   :  1;
-  ULONG 			LockSupported	   :  1;
-  ULONG 			EjectSupported	   :  1;
-  ULONG 			Removable	   :  1;
-  ULONG 			DockDevice	   :  1;
-  ULONG 			UniqueID	   :  1;
-  ULONG 			SilentInstall	   :  1;
-  ULONG 			RawDeviceOK	   :  1;
-  ULONG 			SurpriseRemovalOK  :  1;
-  ULONG 			WakeFromD0	   :  1;
-  ULONG 			WakeFromD1	   :  1;
-  ULONG 			WakeFromD2	   :  1;
-  ULONG 			WakeFromD3	   :  1;
-  ULONG 			HardwareDisabled   :  1;
-  ULONG 			NonDynamic	   :  1;
-  ULONG 			WarmEjectSupported :  1;
-  ULONG 			NoDisplayInUI	   :  1;
-  ULONG 			Reserved	   : 14;
-  ULONG 			Address;
-  ULONG 			UINumber;
-  DEVICE_POWER_STATE		DeviceState[PowerSystemMaximum];
-  SYSTEM_POWER_STATE		SystemWake;
-  DEVICE_POWER_STATE		DeviceWake;
-  ULONG 			D1Latency;
-  ULONG 			D2Latency;
-  ULONG 			D3Latency;
-} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;
-
-typedef
-struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION
-{ USHORT			Version;
-  USHORT			Size;
-  GUID				Event;
-  GUID				InterfaceClassGuid;
-  PUNICODE_STRING		SymbolicLinkName;
-} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
-
-typedef
-struct _HWPROFILE_CHANGE_NOTIFICATION
-{ USHORT			Version;
-  USHORT			Size;
-  GUID				Event;
-} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;
-
-#undef INTERFACE
-
-typedef
-struct _INTERFACE
-{ USHORT			Size;
-  USHORT			Version;
-  PVOID 			Context;
-  PINTERFACE_REFERENCE		InterfaceReference;
-  PINTERFACE_DEREFERENCE	InterfaceDereference;
-} INTERFACE, *PINTERFACE;
-
-typedef
-struct _PLUGPLAY_NOTIFICATION_HEADER
-{ USHORT			Version;
-  USHORT			Size;
-  GUID			Event;
-} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;
-
-typedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;
-
-/* PNP_DEVICE_STATE */
-
-#define PNP_DEVICE_DISABLED                      0x00000001
-#define PNP_DEVICE_DONT_DISPLAY_IN_UI            0x00000002
-#define PNP_DEVICE_FAILED                        0x00000004
-#define PNP_DEVICE_REMOVED                       0x00000008
-#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010
-#define PNP_DEVICE_NOT_DISABLEABLE               0x00000020
-
-typedef
-struct _TARGET_DEVICE_CUSTOM_NOTIFICATION
-{ USHORT			Version;
-  USHORT			Size;
-  GUID				Event;
-  struct _FILE_OBJECT		*FileObject;
-  LONG				NameBufferOffset;
-  UCHAR 			CustomDataBuffer[1];
-} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;
-
-typedef
-struct _TARGET_DEVICE_REMOVAL_NOTIFICATION
-{ USHORT			Version;
-  USHORT			Size;
-  GUID				Event;
-  struct _FILE_OBJECT		*FileObject;
-} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;
-
-typedef
-enum _BUS_QUERY_ID_TYPE
-{ BusQueryDeviceID,
-  BusQueryHardwareIDs,
-  BusQueryCompatibleIDs,
-  BusQueryInstanceID,
-  BusQueryDeviceSerialNumber
-} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
-
-typedef
-enum _DEVICE_TEXT_TYPE
-{ DeviceTextDescription,
-  DeviceTextLocationInformation
-} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;
-
-typedef
-enum _DEVICE_USAGE_NOTIFICATION_TYPE
-{ DeviceUsageTypeUndefined,
-  DeviceUsageTypePaging,
-  DeviceUsageTypeHibernation,
-  DeviceUsageTypeDumpFile
-} DEVICE_USAGE_NOTIFICATION_TYPE;
-
-typedef
-struct _POWER_SEQUENCE
-{ ULONG 			SequenceD1;
-  ULONG 			SequenceD2;
-  ULONG 			SequenceD3;
-} POWER_SEQUENCE, *PPOWER_SEQUENCE;
-
-typedef enum
-{ DevicePropertyDeviceDescription,
-  DevicePropertyHardwareID,
-  DevicePropertyCompatibleIDs,
-  DevicePropertyBootConfiguration,
-  DevicePropertyBootConfigurationTranslated,
-  DevicePropertyClassName,
-  DevicePropertyClassGuid,
-  DevicePropertyDriverKeyName,
-  DevicePropertyManufacturer,
-  DevicePropertyFriendlyName,
-  DevicePropertyLocationInformation,
-  DevicePropertyPhysicalDeviceObjectName,
-  DevicePropertyBusTypeGuid,
-  DevicePropertyLegacyBusType,
-  DevicePropertyBusNumber,
-  DevicePropertyEnumeratorName,
-  DevicePropertyAddress,
-  DevicePropertyUINumber,
-  DevicePropertyInstallState,
-  DevicePropertyRemovalPolicy
-} DEVICE_REGISTRY_PROPERTY;
-
-typedef
-enum _IO_NOTIFICATION_EVENT_CATEGORY
-{ EventCategoryReserved,
-  EventCategoryHardwareProfileChange,
-  EventCategoryDeviceInterfaceChange,
-  EventCategoryTargetDeviceChange
-} IO_NOTIFICATION_EVENT_CATEGORY;
-
-#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES    0x00000001
-
-typedef NTSTATUS DDKAPI
-(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
-  /*IN*/ PVOID NotificationStructure,
-  /*IN*/ PVOID Context
-);
-
-typedef VOID DDKAPI
-(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(
-  /*IN*/ PVOID Context
-);
-
-/* System structures
- */
-#define SYMBOLIC_LINK_QUERY               0x0001
-#define SYMBOLIC_LINK_ALL_ACCESS          (STANDARD_RIGHTS_REQUIRED | 0x1)
-
-#if 1
-/* FIXME: also in winnt.h; hence already defined?
- */
-#define DUPLICATE_CLOSE_SOURCE            0x00000001
-#define DUPLICATE_SAME_ACCESS             0x00000002
-#define DUPLICATE_SAME_ATTRIBUTES         0x00000004
-
-#endif  /* winnt.h */
-
-typedef
-struct _OBJECT_NAME_INFORMATION
-{ UNICODE_STRING		Name;
-} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
-
-typedef VOID DDKAPI
-(*PIO_APC_ROUTINE)(
-  /*IN*/ PVOID ApcContext,
-  /*IN*/ PIO_STATUS_BLOCK IoStatusBlock,
-  /*IN*/ ULONG Reserved
-);
-
-typedef
-struct _IO_STATUS_BLOCK 
-{ _ANONYMOUS_UNION union 
-  { NTSTATUS			Status;
-    PVOID			Pointer;
-  } DUMMYUNIONNAME;
-  ULONG_PTR			Information;
-} IO_STATUS_BLOCK;
-
-typedef VOID DDKAPI
-(*PKNORMAL_ROUTINE)(
-  /*IN*/ PVOID  NormalContext,
-  /*IN*/ PVOID  SystemArgument1,
-  /*IN*/ PVOID  SystemArgument2
-);
-
-typedef VOID DDKAPI
-(*PKKERNEL_ROUTINE)(
-  /*IN*/ struct _KAPC  *Apc,
-  /*IN OUT*/ PKNORMAL_ROUTINE  *NormalRoutine,
-  /*IN OUT*/ PVOID  *NormalContext,
-  /*IN OUT*/ PVOID  *SystemArgument1,
-  /*IN OUT*/ PVOID  *SystemArgument2
-);
-
-typedef VOID DDKAPI
-(*PKRUNDOWN_ROUTINE)(
-  /*IN*/ struct _KAPC  *Apc
-);
-
-typedef BOOLEAN DDKAPI
-(*PKTRANSFER_ROUTINE)( VOID );
-
-typedef
-struct _KAPC 
-{ CSHORT			Type;
-  CSHORT			Size;
-  ULONG 			Spare0;
-  struct _KTHREAD		*Thread;
-  LIST_ENTRY			ApcListEntry;
-  PKKERNEL_ROUTINE		KernelRoutine;
-  PKRUNDOWN_ROUTINE		RundownRoutine;
-  PKNORMAL_ROUTINE		NormalRoutine;
-  PVOID 			NormalContext;
-  PVOID 			SystemArgument1;
-  PVOID 			SystemArgument2;
-  CCHAR 			ApcStateIndex;
-  KPROCESSOR_MODE		ApcMode;
-  BOOLEAN			Inserted;
-} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;
-
-typedef
-struct _KDEVICE_QUEUE
-{ CSHORT 			Type;
-  CSHORT 			Size;
-  LIST_ENTRY			DeviceListHead;
-  KSPIN_LOCK			Lock;
-  BOOLEAN			Busy;
-} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;
-
-typedef
-struct _KDEVICE_QUEUE_ENTRY
-{ LIST_ENTRY			DeviceListEntry;
-  ULONG 			SortKey;
-  BOOLEAN			Inserted;
-} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY,
-*RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;
-
-#define LOCK_QUEUE_WAIT                   1
-#define LOCK_QUEUE_OWNER                  2
-
-typedef
-enum _KSPIN_LOCK_QUEUE_NUMBER
-{ LockQueueDispatcherLock,
-  LockQueueContextSwapLock,
-  LockQueuePfnLock,
-  LockQueueSystemSpaceLock,
-  LockQueueVacbLock,
-  LockQueueMasterLock,
-  LockQueueNonPagedPoolLock,
-  LockQueueIoCancelLock,
-  LockQueueWorkQueueLock,
-  LockQueueIoVpbLock,
-  LockQueueIoDatabaseLock,
-  LockQueueIoCompletionLock,
-  LockQueueNtfsStructLock,
-  LockQueueAfdWorkQueueLock,
-  LockQueueBcbLock,
-  LockQueueMaximumLock
-} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
-
-typedef
-struct _KSPIN_LOCK_QUEUE
-{ struct _KSPIN_LOCK_QUEUE	*VOLATILE Next;
-  PKSPIN_LOCK VOLATILE		Lock;
-} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
-
-typedef
-struct _KLOCK_QUEUE_HANDLE
-{ KSPIN_LOCK_QUEUE		LockQueue;
-  KIRQL 			OldIrql;
-} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
-
-typedef
-struct _KDPC
-{ CSHORT			Type;
-  UCHAR 			Number;
-  UCHAR 			Importance;
-  LIST_ENTRY			DpcListEntry;
-  PKDEFERRED_ROUTINE		DeferredRoutine;
-  PVOID 			DeferredContext;
-  PVOID 			SystemArgument1;
-  PVOID 			SystemArgument2;
-  PULONG_PTR			Lock;
-} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;
-
-typedef
-struct _WAIT_CONTEXT_BLOCK
-{ KDEVICE_QUEUE_ENTRY		WaitQueueEntry;
-  struct _DRIVER_CONTROL	*DeviceRoutine;
-  PVOID 			DeviceContext;
-  ULONG 			NumberOfMapRegisters;
-  PVOID 			DeviceObject;
-  PVOID 			CurrentIrp;
-  PKDPC 			BufferChainingDpc;
-} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
-
-typedef
-struct _DISPATCHER_HEADER
-{ UCHAR 			Type;
-  UCHAR 			Absolute;
-  UCHAR 			Size;
-  UCHAR 			Inserted;
-  LONG				SignalState;
-  LIST_ENTRY			WaitListHead;
-} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
-
-typedef
-struct _KEVENT
-{ DISPATCHER_HEADER		Header;
-} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;
-
-typedef
-struct _KSEMAPHORE
-{ DISPATCHER_HEADER		Header;
-    LONG			Limit;
-} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;
-
-typedef
-struct _FAST_MUTEX
-{ LONG				Count;
-  struct _KTHREAD		*Owner;
-  ULONG 			Contention;
-  KEVENT			Event;
-  ULONG 			OldIrql;
-} FAST_MUTEX, *PFAST_MUTEX;
-
-typedef
-struct _KTIMER
-{ DISPATCHER_HEADER		Header;
-  ULARGE_INTEGER		DueTime;
-  LIST_ENTRY			TimerListEntry;
-  struct _KDPC			*Dpc;
-  LONG				Period;
-} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
-
-typedef
-struct _KMUTANT
-{ DISPATCHER_HEADER		Header;
-  LIST_ENTRY			MutantListEntry;
-  struct _KTHREAD		*RESTRICTED_POINTER OwnerThread;
-  BOOLEAN			Abandoned;
-  UCHAR 			ApcDisable;
-} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;
-
-typedef
-enum _TIMER_TYPE
-{ NotificationTimer,
-  SynchronizationTimer
-} TIMER_TYPE;
-
-typedef
-enum _TIMER_INFORMATION_CLASS
-{ TimerBasicInformation
-} TIMER_INFORMATION_CLASS;
-
-typedef
-struct _TIMER_BASIC_INFORMATION
-{ LARGE_INTEGER			TimeRemaining;
-  BOOLEAN			SignalState;
-} TIMER_BASIC_INFORMATION, *PTIMER_BASIC_INFORMATION;
-
-#define EVENT_INCREMENT                   1
-#define IO_NO_INCREMENT                   0
-#define IO_CD_ROM_INCREMENT               1
-#define IO_DISK_INCREMENT                 1
-#define IO_KEYBOARD_INCREMENT             6
-#define IO_MAILSLOT_INCREMENT             2
-#define IO_MOUSE_INCREMENT                6
-#define IO_NAMED_PIPE_INCREMENT           2
-#define IO_NETWORK_INCREMENT              2
-#define IO_PARALLEL_INCREMENT             1
-#define IO_SERIAL_INCREMENT               2
-#define IO_SOUND_INCREMENT                8
-#define IO_VIDEO_INCREMENT                1
-#define SEMAPHORE_INCREMENT               1
-
-typedef
-struct _IRP
-{ CSHORT				Type;
-  USHORT				Size;
-  struct _MDL				*MdlAddress;
-  ULONG 				Flags;
-  union
-  { struct _IRP				  *MasterIrp;
-    LONG				  IrpCount;
-    PVOID				  SystemBuffer;
-  }					AssociatedIrp;
-  LIST_ENTRY				ThreadListEntry;
-  IO_STATUS_BLOCK			IoStatus;
-  KPROCESSOR_MODE			RequestorMode;
-  BOOLEAN				PendingReturned;
-  CHAR					StackCount;
-  CHAR					CurrentLocation;
-  BOOLEAN				Cancel;
-  KIRQL 				CancelIrql;
-  CCHAR 				ApcEnvironment;
-  UCHAR 				AllocationFlags;
-  PIO_STATUS_BLOCK			UserIosb;
-  PKEVENT				UserEvent;
-  union
-  { struct
-    { PIO_APC_ROUTINE			    UserApcRoutine;
-      PVOID				    UserApcContext;
-    }					  AsynchronousParameters;
-    LARGE_INTEGER			  AllocationSize;
-  }					Overlay;
-  PDRIVER_CANCEL			CancelRoutine;
-  PVOID 				UserBuffer;
-  union
-  { struct
-    { _ANONYMOUS_UNION union
-      { KDEVICE_QUEUE_ENTRY		  DeviceQueueEntry;
-        _ANONYMOUS_STRUCT struct
-	{ PVOID				    DriverContext[4];
-        } DUMMYSTRUCTNAME;
-      } DUMMYUNIONNAME;
-      PETHREAD				  Thread;
-      PCHAR				  AuxiliaryBuffer;
-      _ANONYMOUS_STRUCT struct
-      { LIST_ENTRY			    ListEntry;
-        _ANONYMOUS_UNION union
-	{ struct _IO_STACK_LOCATION	      *CurrentStackLocation;
-          ULONG				      PacketType;
-        } DUMMYUNIONNAME;
-      } DUMMYSTRUCTNAME;
-      struct _FILE_OBJECT		    *OriginalFileObject;
-    }					  Overlay;
-    KAPC				  Apc;
-    PVOID				  CompletionKey;
-  }					Tail;
-} IRP, *PIRP;
-
-/* IRP.Flags
- */
-#define SL_FORCE_ACCESS_CHECK             0x01
-#define SL_OPEN_PAGING_FILE               0x02
-#define SL_OPEN_TARGET_DIRECTORY          0x04
-#define SL_CASE_SENSITIVE                 0x80
-
-#define SL_KEY_SPECIFIED                  0x01
-#define SL_OVERRIDE_VERIFY_VOLUME         0x02
-#define SL_WRITE_THROUGH                  0x04
-#define SL_FT_SEQUENTIAL_WRITE            0x08
-
-#define SL_FAIL_IMMEDIATELY               0x01
-#define SL_EXCLUSIVE_LOCK                 0x02
-
-#define SL_RESTART_SCAN                   0x01
-#define SL_RETURN_SINGLE_ENTRY            0x02
-#define SL_INDEX_SPECIFIED                0x04
-
-#define SL_WATCH_TREE                     0x01
-
-#define SL_ALLOW_RAW_MOUNT                0x01
-
-enum
-{ IRP_NOCACHE			= 0x0001,
-  IRP_PAGING_IO			= 0x0002,
-  IRP_MOUNT_COMPLETION		= 0x0002,
-  IRP_SYNCHRONOUS_API		= 0x0004,
-  IRP_ASSOCIATED_IRP		= 0x0008,
-  IRP_BUFFERED_IO		= 0x0010,
-  IRP_DEALLOCATE_BUFFER 	= 0x0020,
-  IRP_INPUT_OPERATION		= 0x0040,
-  IRP_SYNCHRONOUS_PAGING_IO	= 0x0040,
-  IRP_CREATE_OPERATION		= 0x0080,
-  IRP_READ_OPERATION		= 0x0100,
-  IRP_WRITE_OPERATION		= 0x0200,
-  IRP_CLOSE_OPERATION		= 0x0400,
-  IRP_DEFER_IO_COMPLETION	= 0x0800,
-  IRP_OB_QUERY_NAME		= 0x1000,
-  IRP_HOLD_DEVICE_QUEUE 	= 0x2000,
-  IRP_RETRY_IO_COMPLETION	= 0x4000
-};
-
-typedef
-struct _BOOTDISK_INFORMATION
-{ LONGLONG			BootPartitionOffset;
-  LONGLONG			SystemPartitionOffset;
-  ULONG 			BootDeviceSignature;
-  ULONG 			SystemDeviceSignature;
-} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
-
-typedef
-struct _BOOTDISK_INFORMATION_EX
-{ LONGLONG			BootPartitionOffset;
-  LONGLONG			SystemPartitionOffset;
-  ULONG 			BootDeviceSignature;
-  ULONG 			SystemDeviceSignature;
-  GUID				BootDeviceGuid;
-  GUID				SystemDeviceGuid;
-  BOOLEAN			BootDeviceIsGpt;
-  BOOLEAN			SystemDeviceIsGpt;
-} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;
-
-typedef
-struct _EISA_MEMORY_TYPE
-{ UCHAR 			ReadWrite   : 1;
-  UCHAR 			Cached      : 1;
-  UCHAR 			Reserved0   : 1;
-  UCHAR 			Type        : 2;
-  UCHAR 			Shared      : 1;
-  UCHAR 			Reserved1   : 1;
-  UCHAR 			MoreEntries : 1;
-} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
-
-#include <pshpack1.h>
-typedef
-struct _EISA_MEMORY_CONFIGURATION
-{ EISA_MEMORY_TYPE		ConfigurationByte;
-  UCHAR 			DataSize;
-  USHORT			AddressLowWord;
-  UCHAR 			AddressHighByte;
-  USHORT			MemorySize;
-} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
-#include <poppack.h>
-
-typedef
-struct _EISA_IRQ_DESCRIPTOR
-{ UCHAR 			Interrupt      : 4;
-  UCHAR 			Reserved       : 1;
-  UCHAR 			LevelTriggered : 1;
-  UCHAR 			Shared         : 1;
-  UCHAR 			MoreEntries    : 1;
-} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;
-
-typedef
-struct _EISA_IRQ_CONFIGURATION
-{ EISA_IRQ_DESCRIPTOR		ConfigurationByte;
-  UCHAR 			Reserved;
-} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
-
-typedef
-struct _DMA_CONFIGURATION_BYTE0
-{ UCHAR 			Channel     : 3;
-  UCHAR 			Reserved    : 3;
-  UCHAR 			Shared      : 1;
-  UCHAR 			MoreEntries : 1;
-} DMA_CONFIGURATION_BYTE0;
-
-typedef
-struct _DMA_CONFIGURATION_BYTE1
-{ UCHAR 			Reserved0    : 2;
-  UCHAR 			TransferSize : 2;
-  UCHAR 			Timing       : 2;
-  UCHAR 			Reserved1    : 2;
-} DMA_CONFIGURATION_BYTE1;
-
-typedef
-struct _EISA_DMA_CONFIGURATION
-{ DMA_CONFIGURATION_BYTE0	ConfigurationByte0;
-  DMA_CONFIGURATION_BYTE1	ConfigurationByte1;
-} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
-
-#include <pshpack1.h>
-typedef
-struct _EISA_PORT_DESCRIPTOR
-{ UCHAR 			NumberPorts : 5;
-  UCHAR 			Reserved    : 1;
-  UCHAR 			Shared      : 1;
-  UCHAR 			MoreEntries : 1;
-} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;
-
-typedef
-struct _EISA_PORT_CONFIGURATION
-{ EISA_PORT_DESCRIPTOR		Configuration;
-  USHORT 			PortAddress;
-} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
-#include <poppack.h>
-
-typedef
-struct _CM_EISA_FUNCTION_INFORMATION
-{ ULONG 			CompressedId;
-  UCHAR 			IdSlotFlags1;
-  UCHAR 			IdSlotFlags2;
-  UCHAR 			MinorRevision;
-  UCHAR 			MajorRevision;
-  UCHAR 			Selections[26];
-  UCHAR 			FunctionFlags;
-  UCHAR 			TypeString[80];
-  EISA_MEMORY_CONFIGURATION	EisaMemory[9];
-  EISA_IRQ_CONFIGURATION	EisaIrq[7];
-  EISA_DMA_CONFIGURATION	EisaDma[4];
-  EISA_PORT_CONFIGURATION	EisaPort[20];
-  UCHAR 			InitializationData[60];
-} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
-
-/* CM_EISA_FUNCTION_INFORMATION.FunctionFlags
- */
-#define EISA_FUNCTION_ENABLED           0x80
-#define EISA_FREE_FORM_DATA             0x40
-#define EISA_HAS_PORT_INIT_ENTRY        0x20
-#define EISA_HAS_PORT_RANGE             0x10
-#define EISA_HAS_DMA_ENTRY              0x08
-#define EISA_HAS_IRQ_ENTRY              0x04
-#define EISA_HAS_MEMORY_ENTRY           0x02
-#define EISA_HAS_TYPE_ENTRY             0x01
-#define EISA_HAS_INFORMATION \
-  (EISA_HAS_PORT_RANGE + EISA_HAS_DMA_ENTRY + EISA_HAS_IRQ_ENTRY \
-  + EISA_HAS_MEMORY_ENTRY + EISA_HAS_TYPE_ENTRY)
-
-typedef
-struct _CM_EISA_SLOT_INFORMATION
-{ UCHAR 			ReturnCode;
-  UCHAR 			ReturnFlags;
-  UCHAR 			MajorRevision;
-  UCHAR 			MinorRevision;
-  USHORT			Checksum;
-  UCHAR 			NumberFunctions;
-  UCHAR 			FunctionInformation;
-  ULONG 			CompressedId;
-} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;
-
-/* CM_EISA_SLOT_INFORMATION.ReturnCode
- */
-#define EISA_INVALID_SLOT               0x80
-#define EISA_INVALID_FUNCTION           0x81
-#define EISA_INVALID_CONFIGURATION      0x82
-#define EISA_EMPTY_SLOT                 0x83
-#define EISA_INVALID_BIOS_CALL          0x86
-
-typedef
-struct _CM_FLOPPY_DEVICE_DATA
-{ USHORT			Version;
-  USHORT			Revision;
-  CHAR				Size[8];
-  ULONG 			MaxDensity;
-  ULONG 			MountDensity;
-  UCHAR 			StepRateHeadUnloadTime;
-  UCHAR 			HeadLoadTime;
-  UCHAR 			MotorOffTime;
-  UCHAR 			SectorLengthCode;
-  UCHAR 			SectorPerTrack;
-  UCHAR 			ReadWriteGapLength;
-  UCHAR 			DataTransferLength;
-  UCHAR 			FormatGapLength;
-  UCHAR 			FormatFillCharacter;
-  UCHAR 			HeadSettleTime;
-  UCHAR 			MotorSettleTime;
-  UCHAR 			MaximumTrackValue;
-  UCHAR 			DataTransferRate;
-} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;
-
-typedef
-enum _INTERFACE_TYPE
-{ InterfaceTypeUndefined = -1,
-  Internal,
-  Isa,
-  Eisa,
-  MicroChannel,
-  TurboChannel,
-  PCIBus,
-  VMEBus,
-  NuBus,
-  PCMCIABus,
-  CBus,
-  MPIBus,
-  MPSABus,
-  ProcessorInternal,
-  InternalPowerBus,
-  PNPISABus,
-  PNPBus,
-  MaximumInterfaceType
-} INTERFACE_TYPE, *PINTERFACE_TYPE;
-
-typedef
-struct _PNP_BUS_INFORMATION
-{ GUID				BusTypeGuid;
-  INTERFACE_TYPE		LegacyBusType;
-  ULONG 			BusNumber;
-} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;
-
-#include <pshpack1.h>
-typedef
-struct _CM_PARTIAL_RESOURCE_DESCRIPTOR
-{ UCHAR 			Type;
-  UCHAR 			ShareDisposition;
-  USHORT			Flags;
-  union
-  { struct
-    { PHYSICAL_ADDRESS		    Start;
-      ULONG			    Length;
-    }				  Generic;
-    struct
-    { PHYSICAL_ADDRESS		    Start;
-      ULONG			    Length;
-    }				  Port;
-    struct
-    { ULONG			    Level;
-      ULONG			    Vector;
-      ULONG			    Affinity;
-    }				  Interrupt;
-    struct
-    { PHYSICAL_ADDRESS		    Start;
-      ULONG			    Length;
-    }				  Memory;
-    struct
-    { ULONG			    Channel;
-      ULONG			    Port;
-      ULONG			    Reserved1;
-    }				  Dma;
-    struct
-    { ULONG			    Data[3];
-    }				  DevicePrivate;
-    struct
-    { ULONG			    Start;
-      ULONG			    Length;
-      ULONG			    Reserved;
-    }				  BusNumber;
-    struct
-    { ULONG			    DataSize;
-      ULONG			    Reserved1;
-      ULONG			    Reserved2;
-    }				  DeviceSpecificData;
-  }				u;
-} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Type
- */
-#define CmResourceTypeNull                0
-#define CmResourceTypePort                1
-#define CmResourceTypeInterrupt           2
-#define CmResourceTypeMemory              3
-#define CmResourceTypeDma                 4
-#define CmResourceTypeDeviceSpecific      5
-#define CmResourceTypeBusNumber           6
-#define CmResourceTypeMaximum             7
-#define CmResourceTypeNonArbitrated     128
-#define CmResourceTypeConfigData        128
-#define CmResourceTypeDevicePrivate     129
-#define CmResourceTypePcCardConfig      130
-#define CmResourceTypeMfCardConfig      131
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.ShareDisposition
- */
-typedef
-enum _CM_SHARE_DISPOSITION
-{ CmResourceShareUndetermined,
-  CmResourceShareDeviceExclusive,
-  CmResourceShareDriverExclusive,
-  CmResourceShareShared
-} CM_SHARE_DISPOSITION;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypePort
- */
-#define CM_RESOURCE_PORT_MEMORY           0x0000
-#define CM_RESOURCE_PORT_IO               0x0001
-#define CM_RESOURCE_PORT_10_BIT_DECODE    0x0004
-#define CM_RESOURCE_PORT_12_BIT_DECODE    0x0008
-#define CM_RESOURCE_PORT_16_BIT_DECODE    0x0010
-#define CM_RESOURCE_PORT_POSITIVE_DECODE  0x0020
-#define CM_RESOURCE_PORT_PASSIVE_DECODE   0x0040
-#define CM_RESOURCE_PORT_WINDOW_DECODE    0x0080
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeInterrupt
- */
-#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
-#define CM_RESOURCE_INTERRUPT_LATCHED         0x0001
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeMemory
- */
-#define CM_RESOURCE_MEMORY_READ_WRITE     0x0000
-#define CM_RESOURCE_MEMORY_READ_ONLY      0x0001
-#define CM_RESOURCE_MEMORY_WRITE_ONLY     0x0002
-#define CM_RESOURCE_MEMORY_PREFETCHABLE   0x0004
-#define CM_RESOURCE_MEMORY_COMBINEDWRITE  0x0008
-#define CM_RESOURCE_MEMORY_24             0x0010
-#define CM_RESOURCE_MEMORY_CACHEABLE      0x0020
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeDma
- */
-#define CM_RESOURCE_DMA_8                 0x0000
-#define CM_RESOURCE_DMA_16                0x0001
-#define CM_RESOURCE_DMA_32                0x0002
-#define CM_RESOURCE_DMA_8_AND_16          0x0004
-#define CM_RESOURCE_DMA_BUS_MASTER        0x0008
-#define CM_RESOURCE_DMA_TYPE_A            0x0010
-#define CM_RESOURCE_DMA_TYPE_B            0x0020
-#define CM_RESOURCE_DMA_TYPE_F            0x0040
-
-typedef
-struct _CM_PARTIAL_RESOURCE_LIST
-{ USHORT				Version;
-  USHORT				Revision;
-  ULONG 				Count;
-  CM_PARTIAL_RESOURCE_DESCRIPTOR	PartialDescriptors[1];
-} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
-
-typedef
-struct _CM_FULL_RESOURCE_DESCRIPTOR
-{ INTERFACE_TYPE		InterfaceType;
-  ULONG 			BusNumber;
-  CM_PARTIAL_RESOURCE_LIST	PartialResourceList;
-} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
-
-typedef
-struct _CM_RESOURCE_LIST
-{ ULONG 			Count;
-  CM_FULL_RESOURCE_DESCRIPTOR	List[1];
-} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;
-
-typedef
-struct _CM_INT13_DRIVE_PARAMETER
-{ USHORT			DriveSelect;
-  ULONG 			MaxCylinders;
-  USHORT			SectorsPerTrack;
-  USHORT			MaxHeads;
-  USHORT			NumberDrives;
-} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
-#include <poppack.h>
-
-typedef
-struct _CM_KEYBOARD_DEVICE_DATA
-{ USHORT			Version;
-  USHORT			Revision;
-  UCHAR 			Type;
-  UCHAR 			Subtype;
-  USHORT			KeyboardFlags;
-} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;
-
-#define KEYBOARD_INSERT_ON                0x80
-#define KEYBOARD_CAPS_LOCK_ON             0x40
-#define KEYBOARD_NUM_LOCK_ON              0x20
-#define KEYBOARD_SCROLL_LOCK_ON           0x10
-#define KEYBOARD_ALT_KEY_DOWN             0x08
-#define KEYBOARD_CTRL_KEY_DOWN            0x04
-#define KEYBOARD_LEFT_SHIFT_DOWN          0x02
-#define KEYBOARD_RIGHT_SHIFT_DOWN         0x01
-
-typedef
-struct _CM_MCA_POS_DATA
-{ USHORT			AdapterId;
-  UCHAR 			PosData1;
-  UCHAR 			PosData2;
-  UCHAR 			PosData3;
-  UCHAR 			PosData4;
-} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
-
-typedef
-struct CM_Power_Data_s
-{ ULONG 			PD_Size;
-  DEVICE_POWER_STATE		PD_MostRecentPowerState;
-  ULONG 			PD_Capabilities;
-  ULONG 			PD_D1Latency;
-  ULONG 			PD_D2Latency;
-  ULONG 			PD_D3Latency;
-  DEVICE_POWER_STATE		PD_PowerStateMapping[PowerSystemMaximum];
-} CM_POWER_DATA, *PCM_POWER_DATA;
-
-#define PDCAP_D0_SUPPORTED                0x00000001
-#define PDCAP_D1_SUPPORTED                0x00000002
-#define PDCAP_D2_SUPPORTED                0x00000004
-#define PDCAP_D3_SUPPORTED                0x00000008
-#define PDCAP_WAKE_FROM_D0_SUPPORTED      0x00000010
-#define PDCAP_WAKE_FROM_D1_SUPPORTED      0x00000020
-#define PDCAP_WAKE_FROM_D2_SUPPORTED      0x00000040
-#define PDCAP_WAKE_FROM_D3_SUPPORTED      0x00000080
-#define PDCAP_WARM_EJECT_SUPPORTED        0x00000100
-
-typedef
-struct _CM_SCSI_DEVICE_DATA
-{ USHORT			Version;
-  USHORT			Revision;
-  UCHAR 			HostIdentifier;
-} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;
-
-typedef
-struct _CM_SERIAL_DEVICE_DATA
-{ USHORT			Version;
-  USHORT			Revision;
-  ULONG 			BaudClock;
-} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;
-
-/* IO_RESOURCE_DESCRIPTOR.Option
- */
-#define IO_RESOURCE_PREFERRED             0x01
-#define IO_RESOURCE_DEFAULT               0x02
-#define IO_RESOURCE_ALTERNATIVE           0x08
-
-typedef
-struct _IO_RESOURCE_DESCRIPTOR
-{ UCHAR 			Option;
-  UCHAR 			Type;
-  UCHAR 			ShareDisposition;
-  UCHAR 			Spare1;
-  USHORT			Flags;
-  USHORT			Spare2;
-  union
-  { struct
-    { ULONG			    Length;
-      ULONG			    Alignment;
-      PHYSICAL_ADDRESS		    MinimumAddress;
-      PHYSICAL_ADDRESS		    MaximumAddress;
-    }				  Port;
-    struct
-    { ULONG			    Length;
-      ULONG 			    Alignment;
-      PHYSICAL_ADDRESS		    MinimumAddress;
-      PHYSICAL_ADDRESS		    MaximumAddress;
-    }				  Memory;
-    struct
-    { ULONG			    MinimumVector;
-      ULONG			    MaximumVector;
-    }				  Interrupt;
-    struct
-    { ULONG			    MinimumChannel;
-      ULONG			    MaximumChannel;
-    }				  Dma;
-    struct
-    { ULONG			    Length;
-      ULONG			    Alignment;
-      PHYSICAL_ADDRESS		    MinimumAddress;
-      PHYSICAL_ADDRESS		    MaximumAddress;
-    }				  Generic;
-    struct
-    { ULONG			    Data[3];
-    }				  DevicePrivate;
-    struct
-    { ULONG			    Length;
-      ULONG			    MinBusNumber;
-      ULONG			    MaxBusNumber;
-      ULONG			    Reserved;
-    }				  BusNumber;
-    struct
-    { ULONG			    Priority;
-      ULONG			    Reserved1;
-      ULONG			    Reserved2;
-    }				  ConfigData;
-  }				u;
-} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
-
-typedef
-struct _IO_RESOURCE_LIST
-{ USHORT			Version;
-  USHORT			Revision;
-  ULONG 			Count;
-  IO_RESOURCE_DESCRIPTOR	Descriptors[1];
-} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;
-
-typedef
-struct _IO_RESOURCE_REQUIREMENTS_LIST
-{ ULONG 			ListSize;
-  INTERFACE_TYPE 		InterfaceType;
-  ULONG 			BusNumber;
-  ULONG 			SlotNumber;
-  ULONG 			Reserved[3];
-  ULONG 			AlternativeLists;
-  IO_RESOURCE_LIST		List[1];
-} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;
-
-typedef
-struct _CONTROLLER_OBJECT
-{ CSHORT			Type;
-  CSHORT			Size;
-  PVOID 			ControllerExtension;
-  KDEVICE_QUEUE 		DeviceWaitQueue;
-  ULONG 			Spare1;
-  LARGE_INTEGER 		Spare2;
-} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
-
-typedef
-enum _DMA_WIDTH
-{ Width8Bits,
-  Width16Bits,
-  Width32Bits,
-  MaximumDmaWidth
-} DMA_WIDTH, *PDMA_WIDTH;
-
-typedef
-enum _DMA_SPEED
-{ Compatible,
-  TypeA,
-  TypeB,
-  TypeC,
-  TypeF,
-  MaximumDmaSpeed
-} DMA_SPEED, *PDMA_SPEED;
-
-/* DEVICE_DESCRIPTION.Version
- */
-#define DEVICE_DESCRIPTION_VERSION        0x0000
-#define DEVICE_DESCRIPTION_VERSION1       0x0001
-#define DEVICE_DESCRIPTION_VERSION2       0x0002
-
-typedef
-struct _DEVICE_DESCRIPTION
-{ ULONG 			Version;
-  BOOLEAN			Master;
-  BOOLEAN			ScatterGather;
-  BOOLEAN			DemandMode;
-  BOOLEAN			AutoInitialize;
-  BOOLEAN			Dma32BitAddresses;
-  BOOLEAN			IgnoreCount;
-  BOOLEAN			Reserved1;
-  BOOLEAN			Dma64BitAddresses;
-  ULONG 			BusNumber;
-  ULONG 			DmaChannel;
-  INTERFACE_TYPE 		InterfaceType;
-  DMA_WIDTH			DmaWidth;
-  DMA_SPEED			DmaSpeed;
-  ULONG 			MaximumLength;
-  ULONG 			DmaPort;
-} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;
-
-/* VPB.Flags */
-#define VPB_MOUNTED                       0x0001
-#define VPB_LOCKED                        0x0002
-#define VPB_PERSISTENT                    0x0004
-#define VPB_REMOVE_PENDING                0x0008
-#define VPB_RAW_MOUNT                     0x0010
-
-#define MAXIMUM_VOLUME_LABEL_LENGTH       (32 * sizeof(WCHAR))
-
-typedef
-struct _VPB
-{ CSHORT			Type;
-  CSHORT			Size;
-  USHORT			Flags;
-  USHORT			VolumeLabelLength;
-  struct _DEVICE_OBJECT		*DeviceObject;
-  struct _DEVICE_OBJECT		*RealDevice;
-  ULONG 			SerialNumber;
-  ULONG 			ReferenceCount;
-  WCHAR 			VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];
-} VPB, *PVPB;
-
-/* DEVICE_OBJECT.Flags
- */
-#define DO_VERIFY_VOLUME                  0x00000002
-#define DO_BUFFERED_IO                    0x00000004
-#define DO_EXCLUSIVE                      0x00000008
-#define DO_DIRECT_IO                      0x00000010
-#define DO_MAP_IO_BUFFER                  0x00000020
-#define DO_DEVICE_HAS_NAME                0x00000040
-#define DO_DEVICE_INITIALIZING            0x00000080
-#define DO_SYSTEM_BOOT_PARTITION          0x00000100
-#define DO_LONG_TERM_REQUESTS             0x00000200
-#define DO_NEVER_LAST_DEVICE              0x00000400
-#define DO_SHUTDOWN_REGISTERED            0x00000800
-#define DO_BUS_ENUMERATED_DEVICE          0x00001000
-#define DO_POWER_PAGABLE                  0x00002000
-#define DO_POWER_INRUSH                   0x00004000
-#define DO_LOW_PRIORITY_FILESYSTEM        0x00010000
-
-/* DEVICE_OBJECT.Characteristics
- */
-#define FILE_REMOVABLE_MEDIA            0x00000001
-#define FILE_READ_ONLY_DEVICE           0x00000002
-#define FILE_FLOPPY_DISKETTE            0x00000004
-#define FILE_WRITE_ONCE_MEDIA           0x00000008
-#define FILE_REMOTE_DEVICE              0x00000010
-#define FILE_DEVICE_IS_MOUNTED          0x00000020
-#define FILE_VIRTUAL_VOLUME             0x00000040
-#define FILE_AUTOGENERATED_DEVICE_NAME  0x00000080
-#define FILE_DEVICE_SECURE_OPEN         0x00000100
-
-/* DEVICE_OBJECT.AlignmentRequirement
- */
-#define FILE_BYTE_ALIGNMENT             0x00000000
-#define FILE_WORD_ALIGNMENT             0x00000001
-#define FILE_LONG_ALIGNMENT             0x00000003
-#define FILE_QUAD_ALIGNMENT             0x00000007
-#define FILE_OCTA_ALIGNMENT             0x0000000f
-#define FILE_32_BYTE_ALIGNMENT          0x0000001f
-#define FILE_64_BYTE_ALIGNMENT          0x0000003f
-#define FILE_128_BYTE_ALIGNMENT         0x0000007f
-#define FILE_256_BYTE_ALIGNMENT         0x000000ff
-#define FILE_512_BYTE_ALIGNMENT         0x000001ff
-
-/* DEVICE_OBJECT.DeviceType
- */
-typedef
-struct _DEVICE_OBJECT
-{ CSHORT			Type;
-  USHORT			Size;
-  LONG				ReferenceCount;
-  struct _DRIVER_OBJECT		*DriverObject;
-  struct _DEVICE_OBJECT		*NextDevice;
-  struct _DEVICE_OBJECT		*AttachedDevice;
-  struct _IRP			*CurrentIrp;
-  PIO_TIMER			Timer;
-  ULONG 			Flags;
-  ULONG 			Characteristics;
-  PVPB				Vpb;
-  PVOID 			DeviceExtension;
-  DEVICE_TYPE			DeviceType;
-  CCHAR 			StackSize;
-  union
-  { LIST_ENTRY			  ListEntry;
-    WAIT_CONTEXT_BLOCK		  Wcb;
-  }				Queue;
-  ULONG 			AlignmentRequirement;
-  KDEVICE_QUEUE			DeviceQueue;
-  KDPC				Dpc;
-  ULONG 			ActiveThreadCount;
-  PSECURITY_DESCRIPTOR		SecurityDescriptor;
-  KEVENT			DeviceLock;
-  USHORT			SectorSize;
-  USHORT			Spare1;
-  struct _DEVOBJ_EXTENSION	*DeviceObjectExtension;
-  PVOID 			Reserved;
-} DEVICE_OBJECT, *PDEVICE_OBJECT;
-
-typedef
-enum _DEVICE_RELATION_TYPE
-{ BusRelations,
-  EjectionRelations,
-  PowerRelations,
-  RemovalRelations,
-  TargetDeviceRelation,
-  SingleBusRelations
-} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;
-
-typedef
-struct _DEVICE_RELATIONS
-{ ULONG 			Count;
-  PDEVICE_OBJECT		Objects[1];
-} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
-
-typedef
-struct _SCATTER_GATHER_ELEMENT
-{ PHYSICAL_ADDRESS		Address;
-  ULONG 			Length;
-  ULONG_PTR			Reserved;
-} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;
-
-typedef
-struct _SCATTER_GATHER_LIST
-{ ULONG 			NumberOfElements;
-  ULONG_PTR			Reserved;
-  SCATTER_GATHER_ELEMENT	Elements[0];
-} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;
-
-typedef
-struct _MDL
-{ struct _MDL			*Next;
-  CSHORT			Size;
-  CSHORT			MdlFlags;
-  struct _EPROCESS		*Process;
-  PVOID 			MappedSystemVa;
-  PVOID 			StartVa;
-  ULONG 			ByteCount;
-  ULONG 			ByteOffset;
-} MDL, *PMDL;
-
-#define MDL_MAPPED_TO_SYSTEM_VA           0x0001
-#define MDL_PAGES_LOCKED                  0x0002
-#define MDL_SOURCE_IS_NONPAGED_POOL       0x0004
-#define MDL_ALLOCATED_FIXED_SIZE          0x0008
-#define MDL_PARTIAL                       0x0010
-#define MDL_PARTIAL_HAS_BEEN_MAPPED       0x0020
-#define MDL_IO_PAGE_READ                  0x0040
-#define MDL_WRITE_OPERATION               0x0080
-#define MDL_PARENT_MAPPED_SYSTEM_VA       0x0100
-#define MDL_FREE_EXTRA_PTES               0x0200
-#define MDL_IO_SPACE                      0x0800
-#define MDL_NETWORK_HEADER                0x1000
-#define MDL_MAPPING_CAN_FAIL              0x2000
-#define MDL_ALLOCATED_MUST_SUCCEED        0x4000
-
-#define MDL_MAPPING_FLAGS ( \
-  MDL_MAPPED_TO_SYSTEM_VA     | \
-  MDL_PAGES_LOCKED            | \
-  MDL_SOURCE_IS_NONPAGED_POOL | \
-  MDL_PARTIAL_HAS_BEEN_MAPPED | \
-  MDL_PARENT_MAPPED_SYSTEM_VA | \
-  MDL_SYSTEM_VA               | \
-  MDL_IO_SPACE)
-
-typedef VOID DDKAPI
-(*PPUT_DMA_ADAPTER)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter);
-
-typedef PVOID DDKAPI
-(*PALLOCATE_COMMON_BUFFER)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PPHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-typedef VOID DDKAPI
-(*PFREE_COMMON_BUFFER)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-typedef NTSTATUS DDKAPI
-(*PALLOCATE_ADAPTER_CHANNEL)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  NumberOfMapRegisters,
-  /*IN*/ PDRIVER_CONTROL  ExecutionRoutine,
-  /*IN*/ PVOID  Context);
-
-typedef BOOLEAN DDKAPI
-(*PFLUSH_ADAPTER_BUFFERS)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-typedef VOID DDKAPI
-(*PFREE_ADAPTER_CHANNEL)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter);
-
-typedef VOID DDKAPI
-(*PFREE_MAP_REGISTERS)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  PVOID  MapRegisterBase,
-  ULONG  NumberOfMapRegisters);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PMAP_TRANSFER)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN OUT*/ PULONG  Length,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-typedef ULONG DDKAPI
-(*PGET_DMA_ALIGNMENT)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter);
-
-typedef ULONG DDKAPI
-(*PREAD_DMA_COUNTER)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter);
-
-typedef NTSTATUS DDKAPI
-(*PGET_SCATTER_GATHER_LIST)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PDRIVER_LIST_CONTROL  ExecutionRoutine,
-  /*IN*/ PVOID  Context,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-typedef VOID DDKAPI
-(*PPUT_SCATTER_GATHER_LIST)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PSCATTER_GATHER_LIST  ScatterGather,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-typedef NTSTATUS DDKAPI
-(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PMDL  Mdl  /*OPTIONAL*/,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ScatterGatherListSize,
-  /*OUT*/ PULONG  pNumberOfMapRegisters  /*OPTIONAL*/);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_SCATTER_GATHER_LIST)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PDRIVER_LIST_CONTROL  ExecutionRoutine,
-  /*IN*/ PVOID  Context,
-  /*IN*/ BOOLEAN  WriteToDevice,
-  /*IN*/ PVOID  ScatterGatherBuffer,
-  /*IN*/ ULONG  ScatterGatherLength);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(
-  /*IN*/ PDMA_ADAPTER  DmaAdapter,
-  /*IN*/ PSCATTER_GATHER_LIST  ScatterGather,
-  /*IN*/ PMDL  OriginalMdl,
-  /*OUT*/ PMDL  *TargetMdl);
-
-typedef
-struct _DMA_OPERATIONS
-{ ULONG 				Size;
-  PPUT_DMA_ADAPTER			PutDmaAdapter;
-  PALLOCATE_COMMON_BUFFER		AllocateCommonBuffer;
-  PFREE_COMMON_BUFFER			FreeCommonBuffer;
-  PALLOCATE_ADAPTER_CHANNEL		AllocateAdapterChannel;
-  PFLUSH_ADAPTER_BUFFERS		FlushAdapterBuffers;
-  PFREE_ADAPTER_CHANNEL			FreeAdapterChannel;
-  PFREE_MAP_REGISTERS			FreeMapRegisters;
-  PMAP_TRANSFER				MapTransfer;
-  PGET_DMA_ALIGNMENT			GetDmaAlignment;
-  PREAD_DMA_COUNTER			ReadDmaCounter;
-  PGET_SCATTER_GATHER_LIST		GetScatterGatherList;
-  PPUT_SCATTER_GATHER_LIST		PutScatterGatherList;
-  PCALCULATE_SCATTER_GATHER_LIST_SIZE	CalculateScatterGatherList;
-  PBUILD_SCATTER_GATHER_LIST		BuildScatterGatherList;
-  PBUILD_MDL_FROM_SCATTER_GATHER_LIST	BuildMdlFromScatterGatherList;
-} DMA_OPERATIONS, *PDMA_OPERATIONS;
-
-typedef
-struct _DMA_ADAPTER
-{ USHORT			Version;
-  USHORT			Size;
-  PDMA_OPERATIONS		DmaOperations;
-} DMA_ADAPTER;
-
-typedef
-enum _FILE_INFORMATION_CLASS
-{ FileDirectoryInformation = 1,
-  FileFullDirectoryInformation,
-  FileBothDirectoryInformation,
-  FileBasicInformation,
-  FileStandardInformation,
-  FileInternalInformation,
-  FileEaInformation,
-  FileAccessInformation,
-  FileNameInformation,
-  FileRenameInformation,
-  FileLinkInformation,
-  FileNamesInformation,
-  FileDispositionInformation,
-  FilePositionInformation,
-  FileFullEaInformation,
-  FileModeInformation,
-  FileAlignmentInformation,
-  FileAllInformation,
-  FileAllocationInformation,
-  FileEndOfFileInformation,
-  FileAlternateNameInformation,
-  FileStreamInformation,
-  FilePipeInformation,
-  FilePipeLocalInformation,
-  FilePipeRemoteInformation,
-  FileMailslotQueryInformation,
-  FileMailslotSetInformation,
-  FileCompressionInformation,
-  FileObjectIdInformation,
-  FileCompletionInformation,
-  FileMoveClusterInformation,
-  FileQuotaInformation,
-  FileReparsePointInformation,
-  FileNetworkOpenInformation,
-  FileAttributeTagInformation,
-  FileTrackingInformation,
-  FileIdBothDirectoryInformation,
-  FileIdFullDirectoryInformation,
-  FileValidDataLengthInformation,
-  FileShortNameInformation,
-  FileMaximumInformation
-} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
-
-typedef
-struct _FILE_POSITION_INFORMATION
-{ LARGE_INTEGER 		CurrentByteOffset;
-} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
-
-typedef
-struct _FILE_ALIGNMENT_INFORMATION
-{ ULONG 			AlignmentRequirement;
-} FILE_ALIGNMENT_INFORMATION;
-
-typedef
-struct _FILE_NAME_INFORMATION
-{ ULONG 			FileNameLength;
-  WCHAR 			FileName[1];
-} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
-
-typedef
-struct _FILE_BASIC_INFORMATION
-{ LARGE_INTEGER 		CreationTime;
-  LARGE_INTEGER 		LastAccessTime;
-  LARGE_INTEGER 		LastWriteTime;
-  LARGE_INTEGER 		ChangeTime;
-  ULONG 			FileAttributes;
-} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
-
-typedef
-struct _FILE_STANDARD_INFORMATION
-{ LARGE_INTEGER 		AllocationSize;
-  LARGE_INTEGER 		EndOfFile;
-  ULONG 			NumberOfLinks;
-  BOOLEAN			DeletePending;
-  BOOLEAN			Directory;
-} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
-
-typedef
-struct _FILE_NETWORK_OPEN_INFORMATION
-{ LARGE_INTEGER 		CreationTime;
-  LARGE_INTEGER 		LastAccessTime;
-  LARGE_INTEGER 		LastWriteTime;
-  LARGE_INTEGER 		ChangeTime;
-  LARGE_INTEGER 		AllocationSize;
-  LARGE_INTEGER 		EndOfFile;
-  ULONG 			FileAttributes;
-} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
-
-typedef
-struct _FILE_ATTRIBUTE_TAG_INFORMATION
-{ ULONG 			FileAttributes;
-  ULONG 			ReparseTag;
-} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
-
-typedef
-struct _FILE_DISPOSITION_INFORMATION
-{ BOOLEAN			DoDeleteFile;
-} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
-
-typedef
-struct _FILE_END_OF_FILE_INFORMATION
-{ LARGE_INTEGER 		EndOfFile;
-} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
-
-typedef
-struct _FILE_VALID_DATA_LENGTH_INFORMATION
-{ LARGE_INTEGER 		ValidDataLength;
-} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;
-
-typedef
-enum _FSINFOCLASS
-{ FileFsVolumeInformation = 1,
-  FileFsLabelInformation,
-  FileFsSizeInformation,
-  FileFsDeviceInformation,
-  FileFsAttributeInformation,
-  FileFsControlInformation,
-  FileFsFullSizeInformation,
-  FileFsObjectIdInformation,
-  FileFsDriverPathInformation,
-  FileFsMaximumInformation
-} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
-
-typedef
-struct _FILE_FS_DEVICE_INFORMATION
-{ DEVICE_TYPE			DeviceType;
-  ULONG 			Characteristics;
-} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
-
-typedef
-struct _FILE_FULL_EA_INFORMATION
-{ ULONG 			NextEntryOffset;
-  UCHAR 			Flags;
-  UCHAR 			EaNameLength;
-  USHORT 			EaValueLength;
-  CHAR			EaName[1];
-} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
-
-typedef ULONG_PTR ERESOURCE_THREAD;
-typedef ERESOURCE_THREAD *PERESOURCE_THREAD;
-
-typedef
-struct _OWNER_ENTRY
-{ ERESOURCE_THREAD		OwnerThread;
-  _ANONYMOUS_UNION union
-  { LONG			  OwnerCount;
-    ULONG			  TableSize;
-  } DUMMYUNIONNAME;
-} OWNER_ENTRY, *POWNER_ENTRY;
-
-/* ERESOURCE.Flag
- */
-#define ResourceNeverExclusive            0x0010
-#define ResourceReleaseByOtherThread      0x0020
-#define ResourceOwnedExclusive            0x0080
-
-#define RESOURCE_HASH_TABLE_SIZE          64
-
-typedef
-struct _ERESOURCE
-{ LIST_ENTRY			SystemResourcesList;
-  POWNER_ENTRY			OwnerTable;
-  SHORT 			ActiveCount;
-  USHORT			Flag;
-  PKSEMAPHORE			SharedWaiters;
-  PKEVENT			ExclusiveWaiters;
-  OWNER_ENTRY			OwnerThreads[2];
-  ULONG 			ContentionCount;
-  USHORT			NumberOfSharedWaiters;
-  USHORT			NumberOfExclusiveWaiters;
-  _ANONYMOUS_UNION union
-  { PVOID			  Address;
-    ULONG_PTR			  CreatorBackTraceIndex;
-  } DUMMYUNIONNAME;
-  KSPIN_LOCK			SpinLock;
-} ERESOURCE, *PERESOURCE;
-
-/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
-typedef
-struct _DRIVER_EXTENSION
-{ struct _DRIVER_OBJECT 	*DriverObject;
-  PVOID 			AddDevice;
-  ULONG 			Count;
-  UNICODE_STRING		ServiceKeyName;
-} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_CHECK_IF_POSSIBLE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Wait,
-  /*IN*/ ULONG  LockKey,
-  /*IN*/ BOOLEAN  CheckForReadOperation,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Wait,
-  /*IN*/ ULONG  LockKey,
-  /*OUT*/ PVOID  Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  Wait,
-  /*IN*/ ULONG  LockKey,
-  /*IN*/ PVOID  Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_BASIC_INFO)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ BOOLEAN  Wait,
-  /*OUT*/ PFILE_BASIC_INFORMATION  Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_STANDARD_INFO)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ BOOLEAN  Wait,
-  /*OUT*/ PFILE_STANDARD_INFORMATION  Buffer,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_LOCK)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ PLARGE_INTEGER  Length,
-  PEPROCESS  ProcessId,
-  ULONG  Key,
-  BOOLEAN  FailImmediately,
-  BOOLEAN  ExclusiveLock,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_SINGLE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ PLARGE_INTEGER  Length,
-  PEPROCESS  ProcessId,
-  ULONG  Key,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  PEPROCESS  ProcessId,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL_BY_KEY)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  PVOID  ProcessId,
-  ULONG  Key,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_DEVICE_CONTROL)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ BOOLEAN  Wait,
-  /*IN*/ PVOID  InputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength,
-  /*IN*/ ULONG  IoControlCode,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_ACQUIRE_FILE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_RELEASE_FILE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_DETACH_DEVICE)(
-  /*IN*/ struct _DEVICE_OBJECT  *SourceDevice,
-  /*IN*/ struct _DEVICE_OBJECT  *TargetDevice);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_NETWORK_OPEN_INFO)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ BOOLEAN  Wait,
-  /*OUT*/ struct _FILE_NETWORK_OPEN_INFORMATION  *Buffer,
-  /*OUT*/ struct _IO_STATUS_BLOCK  *IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  EndingOffset,
-  /*OUT*/ struct _ERESOURCE  **ResourceToRelease,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  LockKey,
-  /*OUT*/ PMDL  *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE)(
-  /*IN*/ struct _FILE_OBJECT *FileObject,
-  /*IN*/ PMDL MdlChain,
-  /*IN*/ struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_PREPARE_MDL_WRITE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  LockKey,
-  /*OUT*/ PMDL  *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ PMDL  MdlChain,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ_COMPRESSED)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  LockKey,
-  /*OUT*/ PVOID  Buffer,
-  /*OUT*/ PMDL  *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*OUT*/ struct _COMPRESSED_DATA_INFO  *CompressedDataInfo,
-  /*IN*/ ULONG  CompressedDataInfoLength,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE_COMPRESSED)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  LockKey,
-  /*IN*/ PVOID  Buffer,
-  /*OUT*/ PMDL  *MdlChain,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatus,
-  /*IN*/ struct _COMPRESSED_DATA_INFO  *CompressedDataInfo,
-  /*IN*/ ULONG  CompressedDataInfoLength,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PMDL  MdlChain,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ PLARGE_INTEGER  FileOffset,
-  /*IN*/ PMDL  MdlChain,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_OPEN)(
-  /*IN*/ struct _IRP  *Irp,
-  /*OUT*/ PFILE_NETWORK_OPEN_INFORMATION  NetworkInformation,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_MOD_WRITE)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ struct _ERESOURCE  *ResourceToRelease,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_CCFLUSH)(
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_CCFLUSH) (
-  /*IN*/ struct _FILE_OBJECT  *FileObject,
-  /*IN*/ struct _DEVICE_OBJECT  *DeviceObject);
-
-typedef
-struct _FAST_IO_DISPATCH
-{ ULONG 					SizeOfFastIoDispatch;
-  PFAST_IO_CHECK_IF_POSSIBLE			FastIoCheckIfPossible;
-  PFAST_IO_READ 				FastIoRead;
-  PFAST_IO_WRITE				FastIoWrite;
-  PFAST_IO_QUERY_BASIC_INFO			FastIoQueryBasicInfo;
-  PFAST_IO_QUERY_STANDARD_INFO			FastIoQueryStandardInfo;
-  PFAST_IO_LOCK 				FastIoLock;
-  PFAST_IO_UNLOCK_SINGLE			FastIoUnlockSingle;
-  PFAST_IO_UNLOCK_ALL				FastIoUnlockAll;
-  PFAST_IO_UNLOCK_ALL_BY_KEY			FastIoUnlockAllByKey;
-  PFAST_IO_DEVICE_CONTROL			FastIoDeviceControl;
-  PFAST_IO_ACQUIRE_FILE 			AcquireFileForNtCreateSection;
-  PFAST_IO_RELEASE_FILE 			ReleaseFileForNtCreateSection;
-  PFAST_IO_DETACH_DEVICE			FastIoDetachDevice;
-  PFAST_IO_QUERY_NETWORK_OPEN_INFO		FastIoQueryNetworkOpenInfo;
-  PFAST_IO_ACQUIRE_FOR_MOD_WRITE		AcquireForModWrite;
-  PFAST_IO_MDL_READ				MdlRead;
-  PFAST_IO_MDL_READ_COMPLETE			MdlReadComplete;
-  PFAST_IO_PREPARE_MDL_WRITE			PrepareMdlWrite;
-  PFAST_IO_MDL_WRITE_COMPLETE			MdlWriteComplete;
-  PFAST_IO_READ_COMPRESSED			FastIoReadCompressed;
-  PFAST_IO_WRITE_COMPRESSED			FastIoWriteCompressed;
-  PFAST_IO_MDL_READ_COMPLETE_COMPRESSED 	MdlReadCompleteCompressed;
-  PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED	MdlWriteCompleteCompressed;
-  PFAST_IO_QUERY_OPEN				FastIoQueryOpen;
-  PFAST_IO_RELEASE_FOR_MOD_WRITE		ReleaseForModWrite;
-  PFAST_IO_ACQUIRE_FOR_CCFLUSH			AcquireForCcFlush;
-  PFAST_IO_RELEASE_FOR_CCFLUSH			ReleaseForCcFlush;
-} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
-
-typedef
-struct _DRIVER_OBJECT
-{ CSHORT			Type;
-  CSHORT			Size;
-  PDEVICE_OBJECT		DeviceObject;
-  ULONG 			Flags;
-  PVOID 			DriverStart;
-  ULONG 			DriverSize;
-  PVOID 			DriverSection;
-  PDRIVER_EXTENSION		DriverExtension;
-  UNICODE_STRING		DriverName;
-  PUNICODE_STRING		HardwareDatabase;
-  PFAST_IO_DISPATCH		FastIoDispatch;
-  PDRIVER_INITIALIZE		DriverInit;
-  PDRIVER_STARTIO		DriverStartIo;
-  PDRIVER_UNLOAD		DriverUnload;
-  PDRIVER_DISPATCH		MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
-} DRIVER_OBJECT, *PDRIVER_OBJECT;
-
-typedef
-struct _SECTION_OBJECT_POINTERS
-{ PVOID 			DataSectionObject;
-  PVOID 			SharedCacheMap;
-  PVOID 			ImageSectionObject;
-} SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
-
-typedef
-struct _IO_COMPLETION_CONTEXT
-{ PVOID 			Port;
-  PVOID 			Key;
-} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;
-
-/* FILE_OBJECT.Flags
- */
-#define FO_FILE_OPEN                      0x00000001
-#define FO_SYNCHRONOUS_IO                 0x00000002
-#define FO_ALERTABLE_IO                   0x00000004
-#define FO_NO_INTERMEDIATE_BUFFERING      0x00000008
-#define FO_WRITE_THROUGH                  0x00000010
-#define FO_SEQUENTIAL_ONLY                0x00000020
-#define FO_CACHE_SUPPORTED                0x00000040
-#define FO_NAMED_PIPE                     0x00000080
-#define FO_STREAM_FILE                    0x00000100
-#define FO_MAILSLOT                       0x00000200
-#define FO_GENERATE_AUDIT_ON_CLOSE        0x00000400
-#define FO_DIRECT_DEVICE_OPEN             0x00000800
-#define FO_FILE_MODIFIED                  0x00001000
-#define FO_FILE_SIZE_CHANGED              0x00002000
-#define FO_CLEANUP_COMPLETE               0x00004000
-#define FO_TEMPORARY_FILE                 0x00008000
-#define FO_DELETE_ON_CLOSE                0x00010000
-#define FO_OPENED_CASE_SENSITIVE          0x00020000
-#define FO_HANDLE_CREATED                 0x00040000
-#define FO_FILE_FAST_IO_READ              0x00080000
-#define FO_RANDOM_ACCESS                  0x00100000
-#define FO_FILE_OPEN_CANCELLED            0x00200000
-#define FO_VOLUME_OPEN                    0x00400000
-#define FO_FILE_OBJECT_HAS_EXTENSION      0x00800000
-#define FO_REMOTE_ORIGIN                  0x01000000
-
-typedef
-struct _FILE_OBJECT
-{ CSHORT			Type;
-  CSHORT			Size;
-  PDEVICE_OBJECT		DeviceObject;
-  PVPB				Vpb;
-  PVOID 			FsContext;
-  PVOID 			FsContext2;
-  PSECTION_OBJECT_POINTERS	SectionObjectPointer;
-  PVOID 			PrivateCacheMap;
-  NTSTATUS			FinalStatus;
-  struct _FILE_OBJECT		*RelatedFileObject;
-  BOOLEAN			LockOperation;
-  BOOLEAN			DeletePending;
-  BOOLEAN			ReadAccess;
-  BOOLEAN			WriteAccess;
-  BOOLEAN			DeleteAccess;
-  BOOLEAN			SharedRead;
-  BOOLEAN			SharedWrite;
-  BOOLEAN			SharedDelete;
-  ULONG 			Flags;
-  UNICODE_STRING		FileName;
-  LARGE_INTEGER 		CurrentByteOffset;
-  ULONG 			Waiters;
-  ULONG 			Busy;
-  PVOID 			LastLock;
-  KEVENT			Lock;
-  KEVENT			Event;
-  PIO_COMPLETION_CONTEXT	CompletionContext;
-} FILE_OBJECT, *PFILE_OBJECT;
-
-typedef
-enum _SECURITY_OPERATION_CODE
-{ SetSecurityDescriptor,
-  QuerySecurityDescriptor,
-  DeleteSecurityDescriptor,
-  AssignSecurityDescriptor
-} SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;
-
-#define INITIAL_PRIVILEGE_COUNT           3
-
-typedef
-struct _INITIAL_PRIVILEGE_SET
-{ ULONG 			PrivilegeCount;
-  ULONG 			Control;
-  LUID_AND_ATTRIBUTES		Privilege[INITIAL_PRIVILEGE_COUNT];
-} INITIAL_PRIVILEGE_SET, *PINITIAL_PRIVILEGE_SET;
-
-typedef
-struct _SECURITY_SUBJECT_CONTEXT
-{ PACCESS_TOKEN			ClientToken;
-  SECURITY_IMPERSONATION_LEVEL	ImpersonationLevel;
-  PACCESS_TOKEN 		PrimaryToken;
-  PVOID 			ProcessAuditId;
-} SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;
-
-#include <pshpack4.h>
-typedef
-struct _ACCESS_STATE
-{ LUID				OperationID;
-  BOOLEAN			SecurityEvaluated;
-  BOOLEAN			GenerateAudit;
-  BOOLEAN			GenerateOnClose;
-  BOOLEAN			PrivilegesAllocated;
-  ULONG 			Flags;
-  ACCESS_MASK			RemainingDesiredAccess;
-  ACCESS_MASK			PreviouslyGrantedAccess;
-  ACCESS_MASK			OriginalDesiredAccess;
-  SECURITY_SUBJECT_CONTEXT	SubjectSecurityContext;
-  PSECURITY_DESCRIPTOR		SecurityDescriptor;
-  PVOID 			AuxData;
-  union
-  { INITIAL_PRIVILEGE_SET	  InitialPrivilegeSet;
-    PRIVILEGE_SET		  PrivilegeSet;
-  }				Privileges;
-  BOOLEAN			AuditPrivileges;
-  UNICODE_STRING		ObjectName;
-  UNICODE_STRING		ObjectTypeName;
-} ACCESS_STATE, *PACCESS_STATE;
-#include <poppack.h>
-
-typedef
-struct _IO_SECURITY_CONTEXT
-{ PSECURITY_QUALITY_OF_SERVICE	SecurityQos;
-  PACCESS_STATE 		AccessState;
-  ACCESS_MASK			DesiredAccess;
-  ULONG 			FullCreateOptions;
-} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
-
-struct _IO_CSQ;
-
-typedef
-struct _IO_CSQ_IRP_CONTEXT
-{ ULONG 			Type;
-  struct _IRP			*Irp;
-  struct _IO_CSQ		*Csq;
-} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;
-
-typedef VOID DDKAPI
-(*PIO_CSQ_INSERT_IRP)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*IN*/ PIRP  Irp);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_REMOVE_IRP)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*IN*/ PIRP  Irp);
-
-typedef PIRP DDKAPI
-(*PIO_CSQ_PEEK_NEXT_IRP)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PVOID  PeekContext);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_ACQUIRE_LOCK)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*OUT*/ PKIRQL  Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_RELEASE_LOCK)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*IN*/ KIRQL  Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_COMPLETE_CANCELED_IRP)(
-  /*IN*/ struct _IO_CSQ  *Csq,
-  /*IN*/ PIRP  Irp);
-
-typedef
-struct _IO_CSQ
-{ ULONG 				Type;
-  PIO_CSQ_INSERT_IRP			CsqInsertIrp;
-  PIO_CSQ_REMOVE_IRP			CsqRemoveIrp;
-  PIO_CSQ_PEEK_NEXT_IRP 		CsqPeekNextIrp;
-  PIO_CSQ_ACQUIRE_LOCK			CsqAcquireLock;
-  PIO_CSQ_RELEASE_LOCK			CsqReleaseLock;
-  PIO_CSQ_COMPLETE_CANCELED_IRP 	CsqCompleteCanceledIrp;
-  PVOID 				ReservePointer;
-} IO_CSQ, *PIO_CSQ;
-
-#include <pshpack4.h>
-typedef
-struct _IO_STACK_LOCATION
-{ UCHAR 						MajorFunction;
-  UCHAR 						MinorFunction;
-  UCHAR 						Flags;
-  UCHAR 						Control;
-  union
-  { struct
-    { PIO_SECURITY_CONTEXT				    SecurityContext;
-      ULONG						    Options;
-      USHORT POINTER_ALIGNMENT				    FileAttributes;
-      USHORT						    ShareAccess;
-      ULONG POINTER_ALIGNMENT				    EaLength;
-    }							  Create;
-    struct
-    { ULONG						    Length;
-      ULONG POINTER_ALIGNMENT				    Key;
-      LARGE_INTEGER					    ByteOffset;
-    }							  Read;
-    struct
-    { ULONG 						    Length;
-      ULONG POINTER_ALIGNMENT				    Key;
-      LARGE_INTEGER					    ByteOffset;
-    }							  Write;
-    struct
-    { ULONG						    Length;
-      FILE_INFORMATION_CLASS POINTER_ALIGNMENT		    FileInformationClass;
-    }							  QueryFile;
-    struct
-    { ULONG						    Length;
-      FILE_INFORMATION_CLASS POINTER_ALIGNMENT		    FileInformationClass;
-      PFILE_OBJECT					    FileObject;
-      _ANONYMOUS_UNION union
-      { _ANONYMOUS_STRUCT struct
-	{ BOOLEAN					      ReplaceIfExists;
-          BOOLEAN					      AdvanceOnly;
-        } DUMMYSTRUCTNAME;
-        ULONG						    ClusterCount;
-        HANDLE						    DeleteHandle;
-      } DUMMYUNIONNAME;
-    }							  SetFile;
-    struct
-    { ULONG						    Length;
-      FS_INFORMATION_CLASS POINTER_ALIGNMENT		    FsInformationClass;
-    }							  QueryVolume;
-    struct
-    { ULONG						    OutputBufferLength;
-      ULONG POINTER_ALIGNMENT				    InputBufferLength;
-      ULONG POINTER_ALIGNMENT				    IoControlCode;
-      PVOID						    Type3InputBuffer;
-    }							  DeviceIoControl;
-    struct
-    { SECURITY_INFORMATION				    SecurityInformation;
-      ULONG POINTER_ALIGNMENT				    Length;
-    }							  QuerySecurity;
-    struct
-    { SECURITY_INFORMATION				    SecurityInformation;
-      PSECURITY_DESCRIPTOR				    SecurityDescriptor;
-    }							  SetSecurity;
-    struct
-    { PVPB						    Vpb;
-      PDEVICE_OBJECT					    DeviceObject;
-    }							  MountVolume;
-    struct
-    { PVPB						    Vpb;
-      PDEVICE_OBJECT					    DeviceObject;
-    }							  VerifyVolume;
-    struct
-    { struct _SCSI_REQUEST_BLOCK			    *Srb;
-    }							  Scsi;
-    struct
-    { DEVICE_RELATION_TYPE				    Type;
-    }							  QueryDeviceRelations;
-    struct
-    { CONST GUID					    *InterfaceType;
-      USHORT						    Size;
-      USHORT						    Version;
-      PINTERFACE					    Interface;
-      PVOID						    InterfaceSpecificData;
-    }							  QueryInterface;
-    struct
-    { PDEVICE_CAPABILITIES				    Capabilities;
-    }							  DeviceCapabilities;
-    struct
-    { PIO_RESOURCE_REQUIREMENTS_LIST			    IoResourceRequirementList;
-    }							  FilterResourceRequirements;
-    struct
-    { ULONG						    WhichSpace;
-      PVOID						    Buffer;
-      ULONG						    Offset;
-      ULONG POINTER_ALIGNMENT				    Length;
-    }							  ReadWriteConfig;
-    struct
-    { BOOLEAN						    Lock;
-    }							  SetLock;
-    struct
-    { BUS_QUERY_ID_TYPE					    IdType;
-    }							  QueryId;
-    struct
-    { DEVICE_TEXT_TYPE					    DeviceTextType;
-      LCID POINTER_ALIGNMENT				    LocaleId;
-    }							  QueryDeviceText;
-    struct
-    { BOOLEAN						    InPath;
-      BOOLEAN						    Reserved[3];
-      DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT	    Type;
-    }							  UsageNotification;
-    struct
-    { SYSTEM_POWER_STATE				    PowerState;
-    }							  WaitWake;
-    struct
-    { PPOWER_SEQUENCE					    PowerSequence;
-    }							  PowerSequence;
-    struct
-    { ULONG						    SystemContext;
-      POWER_STATE_TYPE POINTER_ALIGNMENT		    Type;
-      POWER_STATE POINTER_ALIGNMENT			    State;
-      POWER_ACTION POINTER_ALIGNMENT			    ShutdownType;
-    }							  Power;
-    struct
-    { PCM_RESOURCE_LIST					    AllocatedResources;
-      PCM_RESOURCE_LIST					    AllocatedResourcesTranslated;
-    }							  StartDevice;
-    struct
-    { ULONG_PTR						    ProviderId;
-      PVOID						    DataPath;
-      ULONG						    BufferSize;
-      PVOID						    Buffer;
-    }							  WMI;
-    struct
-    { PVOID						    Argument1;
-      PVOID						    Argument2;
-      PVOID						    Argument3;
-      PVOID						    Argument4;
-    }							  Others;
-  }							Parameters;
-  PDEVICE_OBJECT					DeviceObject;
-  PFILE_OBJECT						FileObject;
-  PIO_COMPLETION_ROUTINE				CompletionRoutine;
-  PVOID 						Context;
-} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
-#include <poppack.h>
-
-/* IO_STACK_LOCATION.Control
- */
-#define SL_PENDING_RETURNED               0x01
-#define SL_INVOKE_ON_CANCEL               0x20
-#define SL_INVOKE_ON_SUCCESS              0x40
-#define SL_INVOKE_ON_ERROR                0x80
-
-typedef
-enum _KEY_INFORMATION_CLASS
-{ KeyBasicInformation,
-  KeyNodeInformation,
-  KeyFullInformation,
-  KeyNameInformation,
-  KeyCachedInformation,
-  KeyFlagsInformation
-} KEY_INFORMATION_CLASS;
-
-typedef
-struct _KEY_BASIC_INFORMATION
-{ LARGE_INTEGER 		LastWriteTime;
-  ULONG 			TitleIndex;
-  ULONG 			NameLength;
-  WCHAR 			Name[1];
-} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
-
-typedef
-struct _KEY_FULL_INFORMATION
-{ LARGE_INTEGER 		LastWriteTime;
-  ULONG 			TitleIndex;
-  ULONG 			ClassOffset;
-  ULONG 			ClassLength;
-  ULONG 			SubKeys;
-  ULONG 			MaxNameLen;
-  ULONG 			MaxClassLen;
-  ULONG 			Values;
-  ULONG 			MaxValueNameLen;
-  ULONG 			MaxValueDataLen;
-  WCHAR 			Class[1];
-} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
-
-typedef
-struct _KEY_NODE_INFORMATION
-{ LARGE_INTEGER 		LastWriteTime;
-  ULONG 			TitleIndex;
-  ULONG 			ClassOffset;
-  ULONG 			ClassLength;
-  ULONG 			NameLength;
-  WCHAR 			Name[1];
-} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;
-
-typedef
-struct _KEY_VALUE_BASIC_INFORMATION
-{ ULONG 			TitleIndex;
-  ULONG 			Type;
-  ULONG 			NameLength;
-  WCHAR 			Name[1];
-} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
-
-typedef
-struct _KEY_VALUE_FULL_INFORMATION
-{ ULONG 			TitleIndex;
-  ULONG 			Type;
-  ULONG 			DataOffset;
-  ULONG 			DataLength;
-  ULONG 			NameLength;
-  WCHAR 			Name[1];
-} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
-
-typedef
-struct _KEY_VALUE_PARTIAL_INFORMATION
-{ ULONG 			TitleIndex;
-  ULONG 			Type;
-  ULONG 			DataLength;
-  UCHAR 			Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-
-typedef
-struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64
-{ ULONG 			Type;
-  ULONG 			DataLength;
-  UCHAR 			Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
-
-typedef
-struct _KEY_VALUE_ENTRY
-{ PUNICODE_STRING		ValueName;
-  ULONG 			DataLength;
-  ULONG 			DataOffset;
-  ULONG 			Type;
-} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
-
-typedef
-enum _KEY_VALUE_INFORMATION_CLASS
-{ KeyValueBasicInformation,
-  KeyValueFullInformation,
-  KeyValuePartialInformation,
-  KeyValueFullInformationAlign64,
-  KeyValuePartialInformationAlign64
-} KEY_VALUE_INFORMATION_CLASS;
-
-/* KEY_VALUE_Xxx.Type
- */
-#define REG_NONE                           0
-#define REG_SZ                             1
-#define REG_EXPAND_SZ                      2
-#define REG_BINARY                         3
-#define REG_DWORD                          4
-#define REG_DWORD_LITTLE_ENDIAN            4
-#define REG_DWORD_BIG_ENDIAN               5
-#define REG_LINK                           6
-#define REG_MULTI_SZ                       7
-#define REG_RESOURCE_LIST                  8
-#define REG_FULL_RESOURCE_DESCRIPTOR       9
-#define REG_RESOURCE_REQUIREMENTS_LIST    10
-#define REG_QWORD                         11
-#define REG_QWORD_LITTLE_ENDIAN           11
-
-#define PCI_TYPE0_ADDRESSES               6
-#define PCI_TYPE1_ADDRESSES               2
-#define PCI_TYPE2_ADDRESSES               5
-
-typedef
-struct _PCI_COMMON_CONFIG
-{ USHORT			VendorID;
-  USHORT			DeviceID;
-  USHORT			Command;
-  USHORT			Status;
-  UCHAR 			RevisionID;
-  UCHAR 			ProgIf;
-  UCHAR 			SubClass;
-  UCHAR 			BaseClass;
-  UCHAR 			CacheLineSize;
-  UCHAR 			LatencyTimer;
-  UCHAR 			HeaderType;
-  UCHAR 			BIST;
-  union
-  { struct _PCI_HEADER_TYPE_0
-    { ULONG			    BaseAddresses[PCI_TYPE0_ADDRESSES];
-      ULONG			    CIS;
-      USHORT			    SubVendorID;
-      USHORT			    SubSystemID;
-      ULONG			    ROMBaseAddress;
-      UCHAR			    CapabilitiesPtr;
-      UCHAR			    Reserved1[3];
-      ULONG			    Reserved2;
-      UCHAR			    InterruptLine;
-      UCHAR			    InterruptPin;
-      UCHAR			    MinimumGrant;
-      UCHAR			    MaximumLatency;
-    }				  type0;
-    struct _PCI_HEADER_TYPE_1
-    { ULONG			    BaseAddresses[PCI_TYPE1_ADDRESSES];
-      UCHAR			    PrimaryBus;
-      UCHAR			    SecondaryBus;
-      UCHAR			    SubordinateBus;
-      UCHAR			    SecondaryLatency;
-      UCHAR			    IOBase;
-      UCHAR			    IOLimit;
-      USHORT			    SecondaryStatus;
-      USHORT			    MemoryBase;
-      USHORT			    MemoryLimit;
-      USHORT			    PrefetchBase;
-      USHORT			    PrefetchLimit;
-      ULONG			    PrefetchBaseUpper32;
-      ULONG			    PrefetchLimitUpper32;
-      USHORT			    IOBaseUpper16;
-      USHORT			    IOLimitUpper16;
-      UCHAR			    CapabilitiesPtr;
-      UCHAR			    Reserved1[3];
-      ULONG			    ROMBaseAddress;
-      UCHAR			    InterruptLine;
-      UCHAR			    InterruptPin;
-      USHORT			    BridgeControl;
-    }				  type1;
-    struct _PCI_HEADER_TYPE_2
-    { ULONG			    SocketRegistersBaseAddress;
-      UCHAR			    CapabilitiesPtr;
-      UCHAR			    Reserved;
-      USHORT			    SecondaryStatus;
-      UCHAR			    PrimaryBus;
-      UCHAR			    SecondaryBus;
-      UCHAR			    SubordinateBus;
-      UCHAR			    SecondaryLatency;
-      struct
-      { ULONG			      Base;
-	ULONG			      Limit;
-      }				    Range[PCI_TYPE2_ADDRESSES - 1];
-      UCHAR			    InterruptLine;
-      UCHAR			    InterruptPin;
-      USHORT			    BridgeControl;
-    }				  type2;
-  }				u;
-  UCHAR 			DeviceSpecific[192];
-} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;
-
-/* PCI_COMMON_CONFIG.Command
- */
-#define PCI_ENABLE_IO_SPACE               0x0001
-#define PCI_ENABLE_MEMORY_SPACE           0x0002
-#define PCI_ENABLE_BUS_MASTER             0x0004
-#define PCI_ENABLE_SPECIAL_CYCLES         0x0008
-#define PCI_ENABLE_WRITE_AND_INVALIDATE   0x0010
-#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
-#define PCI_ENABLE_PARITY                 0x0040
-#define PCI_ENABLE_WAIT_CYCLE             0x0080
-#define PCI_ENABLE_SERR                   0x0100
-#define PCI_ENABLE_FAST_BACK_TO_BACK      0x0200
-
-/* PCI_COMMON_CONFIG.Status
- */
-#define PCI_STATUS_CAPABILITIES_LIST      0x0010
-#define PCI_STATUS_66MHZ_CAPABLE          0x0020
-#define PCI_STATUS_UDF_SUPPORTED          0x0040
-#define PCI_STATUS_FAST_BACK_TO_BACK      0x0080
-#define PCI_STATUS_DATA_PARITY_DETECTED   0x0100
-#define PCI_STATUS_DEVSEL                 0x0600
-#define PCI_STATUS_SIGNALED_TARGET_ABORT  0x0800
-#define PCI_STATUS_RECEIVED_TARGET_ABORT  0x1000
-#define PCI_STATUS_RECEIVED_MASTER_ABORT  0x2000
-#define PCI_STATUS_SIGNALED_SYSTEM_ERROR  0x4000
-#define PCI_STATUS_DETECTED_PARITY_ERROR  0x8000
-
-/* PCI_COMMON_CONFIG.HeaderType
- */
-#define PCI_MULTIFUNCTION                 0x80
-#define PCI_DEVICE_TYPE                   0x00
-#define PCI_BRIDGE_TYPE                   0x01
-#define PCI_CARDBUS_BRIDGE_TYPE           0x02
-
-#define PCI_CONFIGURATION_TYPE(PciData) \
-  (((PPCI_COMMON_CONFIG) (PciData))->HeaderType & ~PCI_MULTIFUNCTION)
-
-#define PCI_MULTIFUNCTION_DEVICE(PciData) \
-  ((((PPCI_COMMON_CONFIG) (PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)
-
-typedef
-struct _PCI_SLOT_NUMBER
-{ union
-  { struct
-    { ULONG			    DeviceNumber   :  5;
-      ULONG			    FunctionNumber :  3;
-      ULONG			    Reserved       : 24;
-    }				  bits;
-    ULONG			  AsULONG;
-  }				u;
-} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
-
-typedef
-enum _POOL_TYPE
-{ NonPagedPool,
-  PagedPool,
-  NonPagedPoolMustSucceed,
-  DontUseThisType,
-  NonPagedPoolCacheAligned,
-  PagedPoolCacheAligned,
-  NonPagedPoolCacheAlignedMustS,
-  MaxPoolType,
-  NonPagedPoolSession = 32,
-  PagedPoolSession,
-  NonPagedPoolMustSucceedSession,
-  DontUseThisTypeSession,
-  NonPagedPoolCacheAlignedSession,
-  PagedPoolCacheAlignedSession,
-  NonPagedPoolCacheAlignedMustSSession
-} POOL_TYPE;
-
-typedef
-enum _EX_POOL_PRIORITY
-{ LowPoolPriority				=  0,
-  LowPoolPrioritySpecialPoolOverrun		=  8,
-  LowPoolPrioritySpecialPoolUnderrun		=  9,
-  NormalPoolPriority				= 16,
-  NormalPoolPrioritySpecialPoolOverrun		= 24,
-  NormalPoolPrioritySpecialPoolUnderrun 	= 25,
-  HighPoolPriority				= 32,
-  HighPoolPrioritySpecialPoolOverrun		= 40,
-  HighPoolPrioritySpecialPoolUnderrun		= 41
-} EX_POOL_PRIORITY;
-
-/* PRIVILEGE_SET.Control
- */
-#define PRIVILEGE_SET_ALL_NECESSARY		   1
-
-typedef
-struct _RTL_OSVERSIONINFOW
-{ ULONG 			dwOSVersionInfoSize;
-  ULONG 			dwMajorVersion;
-  ULONG 			dwMinorVersion;
-  ULONG 			dwBuildNumber;
-  ULONG 			dwPlatformId;
-  WCHAR 			szCSDVersion[128];
-} RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
-
-typedef
-struct _RTL_OSVERSIONINFOEXW
-{ ULONG 			dwOSVersionInfoSize;
-  ULONG 			dwMajorVersion;
-  ULONG 			dwMinorVersion;
-  ULONG 			dwBuildNumber;
-  ULONG 			dwPlatformId;
-  WCHAR 			szCSDVersion[128];
-  USHORT			wServicePackMajor;
-  USHORT			wServicePackMinor;
-  USHORT			wSuiteMask;
-  UCHAR 			wProductType;
-  UCHAR 			wReserved;
-} RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
-
-NTOSAPI ULONGLONG DDKAPI
-VerSetConditionMask(
-  /*IN*/ ULONGLONG  ConditionMask,
-  /*IN*/ ULONG  TypeMask,
-  /*IN*/ UCHAR  Condition
-);
-
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
-        ((ConditionMask) = VerSetConditionMask((ConditionMask), \
-        (TypeBitMask), (ComparisonType)))
-
-/* RtlVerifyVersionInfo() TypeMask
- */
-#define VER_MINORVERSION                  0x0000001
-#define VER_MAJORVERSION                  0x0000002
-#define VER_BUILDNUMBER                   0x0000004
-#define VER_PLATFORMID                    0x0000008
-#define VER_SERVICEPACKMINOR              0x0000010
-#define VER_SERVICEPACKMAJOR              0x0000020
-#define VER_SUITENAME                     0x0000040
-#define VER_PRODUCT_TYPE                  0x0000080
-
-/* RtlVerifyVersionInfo() ComparisonType
- */
-#define VER_EQUAL                       1
-#define VER_GREATER                     2
-#define VER_GREATER_EQUAL               3
-#define VER_LESS                        4
-#define VER_LESS_EQUAL                  5
-#define VER_AND                         6
-#define VER_OR                          7
-
-#define VER_CONDITION_MASK              7
-#define VER_NUM_BITS_PER_CONDITION_MASK 3
-
-typedef
-struct _RTL_BITMAP
-{ ULONG 			SizeOfBitMap;
-  PULONG			Buffer;
-} RTL_BITMAP, *PRTL_BITMAP;
-
-typedef
-struct _RTL_BITMAP_RUN
-{ ULONG 			StartingIndex;
-    ULONG 			NumberOfBits;
-} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
-
-typedef NTSTATUS DDKAPI
-(*PRTL_QUERY_REGISTRY_ROUTINE)(
-  /*IN*/ PWSTR  ValueName,
-  /*IN*/ ULONG  ValueType,
-  /*IN*/ PVOID  ValueData,
-  /*IN*/ ULONG  ValueLength,
-  /*IN*/ PVOID  Context,
-  /*IN*/ PVOID  EntryContext);
-
-#define RTL_REGISTRY_ABSOLUTE             0
-#define RTL_REGISTRY_SERVICES             1
-#define RTL_REGISTRY_CONTROL              2
-#define RTL_REGISTRY_WINDOWS_NT           3
-#define RTL_REGISTRY_DEVICEMAP            4
-#define RTL_REGISTRY_USER                 5
-
-/* RTL_QUERY_REGISTRY_TABLE.Flags */
-#define RTL_QUERY_REGISTRY_SUBKEY         0x00000001
-#define RTL_QUERY_REGISTRY_TOPKEY         0x00000002
-#define RTL_QUERY_REGISTRY_REQUIRED       0x00000004
-#define RTL_QUERY_REGISTRY_NOVALUE        0x00000008
-#define RTL_QUERY_REGISTRY_NOEXPAND       0x00000010
-#define RTL_QUERY_REGISTRY_DIRECT         0x00000020
-#define RTL_QUERY_REGISTRY_DELETE         0x00000040
-
-typedef
-struct _RTL_QUERY_REGISTRY_TABLE
-{ PRTL_QUERY_REGISTRY_ROUTINE	QueryRoutine;
-  ULONG 			Flags;
-  PWSTR 			Name;
-  PVOID 			EntryContext;
-  ULONG 			DefaultType;
-  PVOID 			DefaultData;
-  ULONG 			DefaultLength;
-} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
-
-typedef
-struct _TIME_FIELDS
-{ CSHORT			Year;
-  CSHORT			Month;
-  CSHORT			Day;
-  CSHORT			Hour;
-  CSHORT			Minute;
-  CSHORT			Second;
-  CSHORT			Milliseconds;
-  CSHORT			Weekday;
-} TIME_FIELDS, *PTIME_FIELDS;
-
-typedef PVOID DDKAPI
-(*PALLOCATE_FUNCTION)(
-  /*IN*/ POOL_TYPE  PoolType,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ ULONG  Tag
-);
-
-typedef VOID DDKAPI
-(*PFREE_FUNCTION)( /*IN*/ PVOID Buffer );
-
-#define GENERAL_LOOKASIDE_S \
-  SLIST_HEADER  ListHead; \
-  USHORT  Depth; \
-  USHORT  MaximumDepth; \
-  ULONG  TotalAllocates; \
-  _ANONYMOUS_UNION union { \
-    ULONG  AllocateMisses; \
-    ULONG  AllocateHits; \
-  } DUMMYUNIONNAME; \
-  ULONG  TotalFrees; \
-  _ANONYMOUS_UNION union { \
-    ULONG  FreeMisses; \
-    ULONG  FreeHits; \
-  } DUMMYUNIONNAME2; \
-  POOL_TYPE  Type; \
-  ULONG  Tag; \
-  ULONG  Size; \
-  PALLOCATE_FUNCTION  Allocate; \
-  PFREE_FUNCTION  Free; \
-  LIST_ENTRY  ListEntry; \
-  ULONG  LastTotalAllocates; \
-  _ANONYMOUS_UNION union { \
-    ULONG  LastAllocateMisses; \
-    ULONG  LastAllocateHits; \
-  } DUMMYUNIONNAME3; \
-  ULONG Future[2];
-
-typedef
-struct _GENERAL_LOOKASIDE
-{ GENERAL_LOOKASIDE_S
-} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
-
-typedef
-struct _NPAGED_LOOKASIDE_LIST
-{ GENERAL_LOOKASIDE_S
-  KSPIN_LOCK			Obsoleted;
-} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
-
-typedef
-struct _PAGED_LOOKASIDE_LIST
-{ GENERAL_LOOKASIDE_S
-  FAST_MUTEX			Obsoleted;
-} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
-
-typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
-
-typedef VOID DDKAPI
-(*PCALLBACK_FUNCTION)(
-  /*IN*/ PVOID  CallbackContext,
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2
-);
-
-typedef
-enum _EVENT_TYPE
-{ NotificationEvent,
-  SynchronizationEvent
-} EVENT_TYPE;
-
-typedef
-enum _KWAIT_REASON
-{ Executive,
-  FreePage,
-  PageIn,
-  PoolAllocation,
-  DelayExecution,
-  Suspended,
-  UserRequest,
-  WrExecutive,
-  WrFreePage,
-  WrPageIn,
-  WrPoolAllocation,
-  WrDelayExecution,
-  WrSuspended,
-  WrUserRequest,
-  WrEventPair,
-  WrQueue,
-  WrLpcReceive,
-  WrLpcReply,
-  WrVirtualMemory,
-  WrPageOut,
-  WrRendezvous,
-  Spare2,
-  Spare3,
-  Spare4,
-  Spare5,
-  Spare6,
-  WrKernel,
-  MaximumWaitReason
-} KWAIT_REASON;
-
-typedef
-struct _KWAIT_BLOCK
-{ LIST_ENTRY					WaitListEntry;
-  struct _KTHREAD * RESTRICTED_POINTER		Thread;
-  PVOID 					Object;
-  struct _KWAIT_BLOCK * RESTRICTED_POINTER	NextWaitBlock;
-  USHORT					WaitKey;
-  USHORT					WaitType;
-} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;
-
-typedef
-struct _IO_REMOVE_LOCK_COMMON_BLOCK
-{ BOOLEAN			Removed;
-  BOOLEAN			Reserved[3];
-  LONG				IoCount;
-  KEVENT			RemoveEvent;
-} IO_REMOVE_LOCK_COMMON_BLOCK;
-
-typedef
-struct _IO_REMOVE_LOCK_DBG_BLOCK
-{ LONG					Signature;
-  LONG					HighWatermark;
-  LONGLONG				MaxLockedTicks;
-  LONG					AllocateTag;
-  LIST_ENTRY				LockList;
-  KSPIN_LOCK				Spin;
-  LONG					LowMemoryCount;
-  ULONG 				Reserved1[4];
-  PVOID 				Reserved2;
-  PIO_REMOVE_LOCK_TRACKING_BLOCK	Blocks;
-} IO_REMOVE_LOCK_DBG_BLOCK;
-
-typedef
-struct _IO_REMOVE_LOCK
-{ IO_REMOVE_LOCK_COMMON_BLOCK		Common;
-#ifdef DBG
-  IO_REMOVE_LOCK_DBG_BLOCK		Dbg;
-#endif
-} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;
-
-typedef struct _IO_WORKITEM *PIO_WORKITEM;
-
-typedef VOID DDKAPI
-(*PIO_WORKITEM_ROUTINE)(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PVOID  Context);
-
-typedef
-struct _SHARE_ACCESS
-{ ULONG 			OpenCount;
-  ULONG 			Readers;
-  ULONG 			Writers;
-  ULONG 			Deleters;
-  ULONG 			SharedRead;
-  ULONG 			SharedWrite;
-  ULONG 			SharedDelete;
-} SHARE_ACCESS, *PSHARE_ACCESS;
-
-typedef
-enum _KINTERRUPT_MODE
-{ LevelSensitive,
-  Latched
-} KINTERRUPT_MODE;
-
-typedef VOID DDKAPI
-(*PKINTERRUPT_ROUTINE)( VOID );
-
-typedef
-enum _KPROFILE_SOURCE
-{ ProfileTime,
-  ProfileAlignmentFixup,
-  ProfileTotalIssues,
-  ProfilePipelineDry,
-  ProfileLoadInstructions,
-  ProfilePipelineFrozen,
-  ProfileBranchInstructions,
-  ProfileTotalNonissues,
-  ProfileDcacheMisses,
-  ProfileIcacheMisses,
-  ProfileCacheMisses,
-  ProfileBranchMispredictions,
-  ProfileStoreInstructions,
-  ProfileFpInstructions,
-  ProfileIntegerInstructions,
-  Profile2Issue,
-  Profile3Issue,
-  Profile4Issue,
-  ProfileSpecialInstructions,
-  ProfileTotalCycles,
-  ProfileIcacheIssues,
-  ProfileDcacheAccesses,
-  ProfileMemoryBarrierCycles,
-  ProfileLoadLinkedIssues,
-  ProfileMaximum
-} KPROFILE_SOURCE;
-
-typedef
-enum _CREATE_FILE_TYPE
-{ CreateFileTypeNone,
-  CreateFileTypeNamedPipe,
-  CreateFileTypeMailslot
-} CREATE_FILE_TYPE;
-
-typedef
-struct _CONFIGURATION_INFORMATION
-{ ULONG 			DiskCount;
-  ULONG 			FloppyCount;
-  ULONG 			CdRomCount;
-  ULONG 			TapeCount;
-  ULONG 			ScsiPortCount;
-  ULONG 			SerialCount;
-  ULONG 			ParallelCount;
-  BOOLEAN			AtDiskPrimaryAddressClaimed;
-  BOOLEAN			AtDiskSecondaryAddressClaimed;
-  ULONG 			Version;
-  ULONG 			MediumChangerCount;
-} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;
-
-typedef
-enum _CONFIGURATION_TYPE
-{ ArcSystem,
-  CentralProcessor,
-  FloatingPointProcessor,
-  PrimaryIcache,
-  PrimaryDcache,
-  SecondaryIcache,
-  SecondaryDcache,
-  SecondaryCache,
-  EisaAdapter,
-  TcAdapter,
-  ScsiAdapter,
-  DtiAdapter,
-  MultiFunctionAdapter,
-  DiskController,
-  TapeController,
-  CdromController,
-  WormController,
-  SerialController,
-  NetworkController,
-  DisplayController,
-  ParallelController,
-  PointerController,
-  KeyboardController,
-  AudioController,
-  OtherController,
-  DiskPeripheral,
-  FloppyDiskPeripheral,
-  TapePeripheral,
-  ModemPeripheral,
-  MonitorPeripheral,
-  PrinterPeripheral,
-  PointerPeripheral,
-  KeyboardPeripheral,
-  TerminalPeripheral,
-  OtherPeripheral,
-  LinePeripheral,
-  NetworkPeripheral,
-  SystemMemory,
-  DockingInformation,
-  RealModeIrqRoutingTable,
-  MaximumType
-} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
-
-typedef NTSTATUS
-(*PIO_QUERY_DEVICE_ROUTINE)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PUNICODE_STRING  PathName,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ PKEY_VALUE_FULL_INFORMATION  *BusInformation,
-  /*IN*/ CONFIGURATION_TYPE  ControllerType,
-  /*IN*/ ULONG  ControllerNumber,
-  /*IN*/ PKEY_VALUE_FULL_INFORMATION  *ControllerInformation,
-  /*IN*/ CONFIGURATION_TYPE  PeripheralType,
-  /*IN*/ ULONG  PeripheralNumber,
-  /*IN*/ PKEY_VALUE_FULL_INFORMATION  *PeripheralInformation
-);
-
-typedef
-enum _WORK_QUEUE_TYPE
-{ CriticalWorkQueue,
-  DelayedWorkQueue,
-  HyperCriticalWorkQueue,
-  MaximumWorkQueue
-} WORK_QUEUE_TYPE;
-
-typedef VOID DDKAPI
-(*PWORKER_THREAD_ROUTINE)(
-  /*IN*/ PVOID Parameter);
-
-typedef
-struct _WORK_QUEUE_ITEM
-{ LIST_ENTRY			List;
-  PWORKER_THREAD_ROUTINE	WorkerRoutine;
-  PVOID 			Parameter;
-} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
-
-typedef
-enum _KBUGCHECK_BUFFER_DUMP_STATE
-{ BufferEmpty,
-  BufferInserted,
-  BufferStarted,
-  BufferFinished,
-  BufferIncomplete
-} KBUGCHECK_BUFFER_DUMP_STATE;
-
-typedef VOID DDKAPI
-(*PKBUGCHECK_CALLBACK_ROUTINE)(
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-typedef
-struct _KBUGCHECK_CALLBACK_RECORD
-{ LIST_ENTRY			Entry;
-  PKBUGCHECK_CALLBACK_ROUTINE	CallbackRoutine;
-  PVOID 			Buffer;
-  ULONG 			Length;
-  PUCHAR			Component;
-  ULONG_PTR			Checksum;
-  UCHAR 			State;
-} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;
-
-/* VOID
- * KeInitializeCallbackRecord(
- * IN PKBUGCHECK_CALLBACK_RECORD  CallbackRecord)
- */
-#define KeInitializeCallbackRecord(CallbackRecord) \
-  CallbackRecord->State = BufferEmpty;
-
-typedef
-enum _KDPC_IMPORTANCE
-{ LowImportance,
-  MediumImportance,
-  HighImportance
-} KDPC_IMPORTANCE;
-
-typedef
-enum _MEMORY_CACHING_TYPE_ORIG
-{ MmFrameBufferCached		= 2
-} MEMORY_CACHING_TYPE_ORIG;
-
-typedef
-enum _MEMORY_CACHING_TYPE
-{ MmNonCached			= FALSE,
-  MmCached			= TRUE,
-  MmWriteCombined		= MmFrameBufferCached,
-  MmHardwareCoherentCached,
-  MmNonCachedUnordered,
-  MmUSWCCached,
-  MmMaximumCacheType
-} MEMORY_CACHING_TYPE;
-
-typedef
-enum _MM_PAGE_PRIORITY
-{ LowPagePriority		=  0,
-  NormalPagePriority		= 16,
-  HighPagePriority		= 32
-} MM_PAGE_PRIORITY;
-
-typedef
-enum _LOCK_OPERATION
-{ IoReadAccess,
-  IoWriteAccess,
-  IoModifyAccess
-} LOCK_OPERATION;
-
-typedef
-enum _MM_SYSTEM_SIZE
-{ MmSmallSystem,
-  MmMediumSystem,
-  MmLargeSystem
-} MM_SYSTEM_SIZE;
-
-typedef
-struct _OBJECT_HANDLE_INFORMATION
-{ ULONG 			HandleAttributes;
-  ACCESS_MASK			GrantedAccess;
-} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
-
-typedef
-struct _CLIENT_ID
-{ HANDLE			UniqueProcess;
-  HANDLE			UniqueThread;
-} CLIENT_ID, *PCLIENT_ID;
-
-typedef VOID DDKAPI
-(*PKSTART_ROUTINE)(
-  /*IN*/ PVOID  StartContext);
-
-typedef VOID DDKAPI
-(*PCREATE_PROCESS_NOTIFY_ROUTINE)(
-  /*IN*/ HANDLE  ParentId,
-  /*IN*/ HANDLE  ProcessId,
-  /*IN*/ BOOLEAN  Create);
-
-typedef VOID DDKAPI
-(*PCREATE_THREAD_NOTIFY_ROUTINE)(
-  /*IN*/ HANDLE  ProcessId,
-  /*IN*/ HANDLE  ThreadId,
-  /*IN*/ BOOLEAN  Create);
-
-typedef
-struct _IMAGE_INFO
-{ _ANONYMOUS_UNION union
-  { ULONG			  Properties;
-    _ANONYMOUS_STRUCT struct
-    { ULONG			    ImageAddressingMode  :  8;
-      ULONG			    SystemModeImage      :  1;
-      ULONG			    ImageMappedToAllPids :  1;
-      ULONG			    Reserved             : 22;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  PVOID 			ImageBase;
-  ULONG 			ImageSelector;
-  SIZE_T			ImageSize;
-  ULONG 			ImageSectionNumber;
-} IMAGE_INFO, *PIMAGE_INFO;
-
-#define IMAGE_ADDRESSING_MODE_32BIT       3
-
-typedef VOID DDKAPI
-(*PLOAD_IMAGE_NOTIFY_ROUTINE)(
-  /*IN*/ PUNICODE_STRING  FullImageName,
-  /*IN*/ HANDLE  ProcessId,
-  /*IN*/ PIMAGE_INFO  ImageInfo);
-
-typedef
-enum _PROCESSINFOCLASS
-{ ProcessBasicInformation,
-  ProcessQuotaLimits,
-  ProcessIoCounters,
-  ProcessVmCounters,
-  ProcessTimes,
-  ProcessBasePriority,
-  ProcessRaisePriority,
-  ProcessDebugPort,
-  ProcessExceptionPort,
-  ProcessAccessToken,
-  ProcessLdtInformation,
-  ProcessLdtSize,
-  ProcessDefaultHardErrorMode,
-  ProcessIoPortHandlers,
-  ProcessPooledUsageAndLimits,
-  ProcessWorkingSetWatch,
-  ProcessUserModeIOPL,
-  ProcessEnableAlignmentFaultFixup,
-  ProcessPriorityClass,
-  ProcessWx86Information,
-  ProcessHandleCount,
-  ProcessAffinityMask,
-  ProcessPriorityBoost,
-  ProcessDeviceMap,
-  ProcessSessionInformation,
-  ProcessForegroundInformation,
-  ProcessWow64Information,
-  ProcessImageFileName,
-  ProcessLUIDDeviceMapsEnabled,
-  ProcessBreakOnTermination,
-  ProcessDebugObjectHandle,
-  ProcessDebugFlags,
-  ProcessHandleTracing,
-  MaxProcessInfoClass
-} PROCESSINFOCLASS;
-
-typedef
-enum _THREADINFOCLASS
-{ ThreadBasicInformation,
-  ThreadTimes,
-  ThreadPriority,
-  ThreadBasePriority,
-  ThreadAffinityMask,
-  ThreadImpersonationToken,
-  ThreadDescriptorTableEntry,
-  ThreadEnableAlignmentFaultFixup,
-  ThreadEventPair_Reusable,
-  ThreadQuerySetWin32StartAddress,
-  ThreadZeroTlsCell,
-  ThreadPerformanceCount,
-  ThreadAmILastThread,
-  ThreadIdealProcessor,
-  ThreadPriorityBoost,
-  ThreadSetTlsArrayAddress,
-  ThreadIsIoPending,
-  ThreadHideFromDebugger,
-  ThreadBreakOnTermination,
-  MaxThreadInfoClass
-} THREADINFOCLASS;
-
-#define ES_SYSTEM_REQUIRED                0x00000001
-#define ES_DISPLAY_REQUIRED               0x00000002
-#define ES_USER_PRESENT                   0x00000004
-#define ES_CONTINUOUS                     0x80000000
-
-typedef ULONG EXECUTION_STATE;
-
-typedef VOID DDKAPI
-(*PREQUEST_POWER_COMPLETE)(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ UCHAR  MinorFunction,
-  /*IN*/ POWER_STATE  PowerState,
-  /*IN*/ PVOID  Context,
-  /*IN*/ PIO_STATUS_BLOCK  IoStatus
-);
-
-typedef
-enum _TRACE_INFORMATION_CLASS
-{ TraceIdClass,
-  TraceHandleClass,
-  TraceEnableFlagsClass,
-  TraceEnableLevelClass,
-  GlobalLoggerHandleClass,
-  EventLoggerHandleClass,
-  AllLoggerHandlesClass,
-  TraceHandleByNameClass
-} TRACE_INFORMATION_CLASS;
-
-typedef NTSTATUS DDKAPI
-(*PEX_CALLBACK_FUNCTION)(
-  /*IN*/ PVOID  CallbackContext,
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2
-);
-
-
-/* Storage structures
-*/
-typedef
-struct _DISK_SIGNATURE
-{ ULONG 			PartitionStyle;
-  _ANONYMOUS_UNION union
-  { struct
-    { ULONG			    Signature;
-      ULONG			    CheckSum;
-    }				  Mbr;
-    struct
-    { GUID			    DiskId;
-    }				  Gpt;
-  } DUMMYUNIONNAME;
-} DISK_SIGNATURE, *PDISK_SIGNATURE;
-
-typedef VOID DDKFASTAPI
-(*PTIME_UPDATE_NOTIFY_ROUTINE)(
-  /*IN*/ HANDLE  ThreadId,
-  /*IN*/ KPROCESSOR_MODE  Mode
-);
-
-#define DBG_STATUS_CONTROL_C              1
-#define DBG_STATUS_SYSRQ                  2
-#define DBG_STATUS_BUGCHECK_FIRST         3
-#define DBG_STATUS_BUGCHECK_SECOND        4
-#define DBG_STATUS_FATAL                  5
-#define DBG_STATUS_DEBUG_CONTROL          6
-#define DBG_STATUS_WORKER                 7
-
-typedef
-struct _PHYSICAL_MEMORY_RANGE
-{ PHYSICAL_ADDRESS		BaseAddress;
-  LARGE_INTEGER 		NumberOfBytes;
-} PHYSICAL_MEMORY_RANGE, *PPHYSICAL_MEMORY_RANGE;
-
-typedef ULONG_PTR
-(*PDRIVER_VERIFIER_THUNK_ROUTINE)( /*IN*/ PVOID Context );
-
-typedef
-struct _DRIVER_VERIFIER_THUNK_PAIRS
-{ PDRIVER_VERIFIER_THUNK_ROUTINE	PristineRoutine;
-  PDRIVER_VERIFIER_THUNK_ROUTINE	NewRoutine;
-} DRIVER_VERIFIER_THUNK_PAIRS, *PDRIVER_VERIFIER_THUNK_PAIRS;
-
-#define DRIVER_VERIFIER_SPECIAL_POOLING             0x0001
-#define DRIVER_VERIFIER_FORCE_IRQL_CHECKING         0x0002
-#define DRIVER_VERIFIER_INJECT_ALLOCATION_FAILURES  0x0004
-#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS      0x0008
-#define DRIVER_VERIFIER_IO_CHECKING                 0x0010
-
-#define RTL_RANGE_LIST_ADD_IF_CONFLICT    0x00000001
-#define RTL_RANGE_LIST_ADD_SHARED         0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK          0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK   0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK          0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK   0x00000002
-
-#define RTL_RANGE_LIST_MERGE_IF_CONFLICT  RTL_RANGE_LIST_ADD_IF_CONFLICT
-
-typedef
-struct _RTL_RANGE
-{ ULONGLONG			Start;
-  ULONGLONG			End;
-  PVOID 			UserData;
-  PVOID 			Owner;
-  UCHAR 			Attributes;
-  UCHAR 			Flags;
-} RTL_RANGE, *PRTL_RANGE;
-
-#define RTL_RANGE_SHARED                  0x01
-#define RTL_RANGE_CONFLICT                0x02
-
-typedef
-struct _RTL_RANGE_LIST
-{ LIST_ENTRY			ListHead;
-  ULONG 			Flags;
-  ULONG 			Count;
-  ULONG 			Stamp;
-} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
-
-typedef
-struct _RANGE_LIST_ITERATOR
-{ PLIST_ENTRY			RangeListHead;
-  PLIST_ENTRY			MergedHead;
-  PVOID 			Current;
-  ULONG 			Stamp;
-} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
-
-typedef BOOLEAN
-(*PRTL_CONFLICT_RANGE_CALLBACK)(
-  /*IN*/ PVOID  Context,
-  /*IN*/ PRTL_RANGE  Range
-);
-
-#define HASH_STRING_ALGORITHM_DEFAULT     0
-#define HASH_STRING_ALGORITHM_X65599      1
-#define HASH_STRING_ALGORITHM_INVALID     0xffffffff
-
-typedef
-enum _SUITE_TYPE
-{ SmallBusiness,
-  Enterprise,
-  BackOffice,
-  CommunicationServer,
-  TerminalServer,
-  SmallBusinessRestricted,
-  EmbeddedNT,
-  DataCenter,
-  SingleUserTS,
-  Personal,
-  Blade,
-  MaxSuiteType
-} SUITE_TYPE;
-
-typedef VOID DDKAPI
-(*PTIMER_APC_ROUTINE)(
-  /*IN*/ PVOID  TimerContext,
-  /*IN*/ ULONG  TimerLowValue,
-  /*IN*/ LONG  TimerHighValue
-);
-
-
-/* WMI structures
-*/
-typedef VOID DDKAPI
-(*WMI_NOTIFICATION_CALLBACK)(
-  PVOID  Wnode,
-  PVOID  Context
-);
-
-
-/* Architecture specific structures
-*/
-#ifdef _X86_
-
-typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
-
-#define PASSIVE_LEVEL                      0
-#define LOW_LEVEL                          0
-#define APC_LEVEL                          1
-#define DISPATCH_LEVEL                     2
-#define SYNCH_LEVEL                       27
-#define PROFILE_LEVEL                     27
-#define CLOCK1_LEVEL                      28
-#define CLOCK2_LEVEL                      28
-#define IPI_LEVEL                         29
-#define POWER_LEVEL                       30
-#define HIGH_LEVEL                        31
-
-typedef
-struct _KPCR_TIB
-{ PVOID 			ExceptionList;		/* 00 */
-  PVOID 			StackBase;		/* 04 */
-  PVOID 			StackLimit;		/* 08 */
-  PVOID 			SubSystemTib;		/* 0C */
-  _ANONYMOUS_UNION union
-  { PVOID			  FiberData;		/* 10 */
-    DWORD			  Version;		/* 10 */
-  } DUMMYUNIONNAME;
-  PVOID 			ArbitraryUserPointer;	/* 14 */
-  struct _NT_TIB		*Self;			/* 18 */
-} KPCR_TIB, *PKPCR_TIB; 				/* 1C */
-
-#define PCR_MINOR_VERSION 1
-#define PCR_MAJOR_VERSION 1
-
-typedef
-struct _KPCR
-{ KPCR_TIB			Tib;			/* 00 */
-  struct _KPCR			*Self;			/* 1C */
-  struct _KPRCB			*PCRCB;			/* 20 */
-  KIRQL 			Irql;			/* 24 */
-  ULONG 			IRR;			/* 28 */
-  ULONG 			IrrActive;		/* 2C */
-  ULONG 			IDR;			/* 30 */
-  PVOID 			KdVersionBlock;		/* 34 */
-  PUSHORT			IDT;			/* 38 */
-  PUSHORT			GDT;			/* 3C */
-  struct _KTSS			*TSS;			/* 40 */
-  USHORT 			MajorVersion;		/* 44 */
-  USHORT 			MinorVersion;		/* 46 */
-  KAFFINITY			SetMember;		/* 48 */
-  ULONG 			StallScaleFactor;	/* 4C */
-  UCHAR 			SpareUnused;		/* 50 */
-  UCHAR 			Number;			/* 51 */
-} KPCR, *PKPCR;						/* 54 */
-
-typedef
-struct _KFLOATING_SAVE
-{ ULONG 			ControlWord;
-  ULONG 			StatusWord;
-  ULONG 			ErrorOffset;
-  ULONG 			ErrorSelector;
-  ULONG 			DataOffset;
-  ULONG 			DataSelector;
-  ULONG 			Cr0NpxState;
-  ULONG 			Spare1;
-} KFLOATING_SAVE, *PKFLOATING_SAVE;
-
-#define PAGE_SIZE                         0x1000
-#define PAGE_SHIFT                        12L
-
-extern NTOSAPI PVOID *MmHighestUserAddress;
-extern NTOSAPI PVOID *MmSystemRangeStart;
-extern NTOSAPI ULONG *MmUserProbeAddress;
-
-#define MM_HIGHEST_USER_ADDRESS           *MmHighestUserAddress
-#define MM_SYSTEM_RANGE_START             *MmSystemRangeStart
-#define MM_USER_PROBE_ADDRESS             *MmUserProbeAddress
-#define MM_LOWEST_USER_ADDRESS            (PVOID)0x10000
-#define MM_LOWEST_SYSTEM_ADDRESS          (PVOID)0xC0C00000
-
-#define KI_USER_SHARED_DATA               0xffdf0000
-#define SharedUserData                    ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
-
-#define EFLAG_SIGN                        0x8000
-#define EFLAG_ZERO                        0x4000
-#define EFLAG_SELECT                      (EFLAG_SIGN | EFLAG_ZERO)
-
-#define RESULT_NEGATIVE                   ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_ZERO                       ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_POSITIVE                   ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-
-typedef
-enum _INTERLOCKED_RESULT
-{ ResultNegative	= RESULT_NEGATIVE,
-  ResultZero		= RESULT_ZERO,
-  ResultPositive	= RESULT_POSITIVE
-} INTERLOCKED_RESULT;
-
-NTOSAPI KIRQL DDKAPI
-KeGetCurrentIrql( VOID );
-
-/* ULONG
- * KeGetCurrentProcessorNumber(
- *   VOID)
- */
-#define KeGetCurrentProcessorNumber() \
-  ((ULONG)KeGetCurrentKPCR()->Number)
-
-
-#if  __USE_NTOSKRNL__
-/* CAREFUL: These are exported from ntoskrnl.exe as __fastcall functions,
-   but are also exported from kernel32.dll and declared in winbase.h as
-   __stdcall */
-#if !defined(__INTERLOCKED_DECLARED)
-#define __INTERLOCKED_DECLARED
-
-NTOSAPI LONG DDKFASTAPI
-InterlockedIncrement( /*IN*/ LONG VOLATILE *Addend );
-
-NTOSAPI LONG DDKFASTAPI
-InterlockedDecrement( /*IN*/ LONG VOLATILE *Addend );
-
-NTOSAPI LONG DDKFASTAPI
-InterlockedCompareExchange(
-  /*IN OUT*/ PLONG  VOLATILE  Destination,
-  /*IN*/ LONG  Exchange,
-  /*IN*/ LONG  Comparand
-);
-
-NTOSAPI LONG DDKFASTAPI
-InterlockedExchange(
-  /*IN OUT*/ PLONG  VOLATILE  Target,
-  /*IN*/ LONG Value
-);
-
-NTOSAPI LONG DDKFASTAPI
-InterlockedExchangeAdd(
-  /*IN OUT*/ PLONG VOLATILE  Addend,
-  /*IN*/ LONG  Value
-);
-
-/* PVOID
- * InterlockedExchangePointer(
- * IN OUT PVOID VOLATILE  *Target,
- * IN PVOID  Value)
- */
-#define InterlockedExchangePointer(Target, Value) \
-  ((PVOID) InterlockedExchange((PLONG) Target, (LONG) Value))
-
-/* PVOID InterlockedCompareExchangePointer(
- *   IN OUT PVOID  *Destination,
- *   IN PVOID  Exchange,
- *   IN PVOID  Comparand
- * )
- */
-#define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \
- ((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand))
-
-#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
-PSLIST_ENTRY DDKFASTAPI
-InterlockedPopEntrySList( /*IN*/ PSLIST_HEADER ListHead );
-
-NTOSAPI PSLIST_ENTRY DDKFASTAPI
-InterlockedPushEntrySList(
-  /*IN*/ PSLIST_HEADER  ListHead,
-  /*IN*/ PSLIST_ENTRY  ListEntry
-);
-#endif /* _WIN32_WINNT >= _WIN32_WINNT_WINXP */
-
-#endif /* !__INTERLOCKED_DECLARED */
-#endif /*  __USE_NTOSKRNL__ */
-
-NTOSAPI VOID DDKFASTAPI
-KefAcquireSpinLockAtDpcLevel( /*IN*/ PKSPIN_LOCK SpinLock );
-
-NTOSAPI VOID DDKFASTAPI
-KefReleaseSpinLockFromDpcLevel( /*IN*/ PKSPIN_LOCK SpinLock );
-
-#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
-#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
-
-#define RtlCopyMemoryNonTemporal RtlCopyMemory
-
-#define KeGetDcacheFillSize() 1L
-
-#endif /* _X86_ */
-
-/* Utility functions
- */
-#define ARGUMENT_PRESENT(ArgumentPointer) \
- ((BOOLEAN) ((PVOID)ArgumentPointer != (PVOID)NULL))
-
-/* ULONG BYTE_OFFSET( IN PVOID Va )
- */
-#define BYTE_OFFSET(Va) \
-  ((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
-
-/* ULONG BYTES_TO_PAGES( IN ULONG Size )
- */
-#define BYTES_TO_PAGES(Size) \
-  ((ULONG) ((ULONG_PTR) (Size) >> PAGE_SHIFT) + (((ULONG) (Size) & (PAGE_SIZE - 1)) != 0))
-
-/* PCHAR CONTAINING_RECORD(
- *   IN PCHAR Address,
- *   IN TYPE Type,
- *   IN PCHAR Field
- * );
- */
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(Address, Type, Field) \
-  ((Type *) (((ULONG_PTR) Address) - FIELD_OFFSET(Type, Field)))
-#endif
-
-/* LONG FIELD_OFFSET( IN TYPE Type, IN PCHAR Field );
- */
-#ifndef FIELD_OFFSET
-#define FIELD_OFFSET(Type, Field) \
- ((LONG) (&(((Type *) 0)->Field)))
-#endif
-
-/* PVOID PAGE_ALIGN( IN PVOID Va )
- */
-#define PAGE_ALIGN(Va) \
- ((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
-
-/* ULONG_PTR ROUND_TO_PAGES( IN ULONG_PTR Size )
- */
-#define ROUND_TO_PAGES(Size) \
- ((ULONG_PTR) (((ULONG_PTR) Size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
-
-NTOSAPI VOID DDKAPI
-RtlAssert(
-  /*IN*/ PVOID  FailedAssertion,
-  /*IN*/ PVOID  FileName,
-  /*IN*/ ULONG  LineNumber,
-  /*IN*/ PCHAR  Message
-);
-
-#ifdef DBG
-
-#define ASSERT(exp) \
- ((!(exp)) ? (RtlAssert( #exp, __FILE__, __LINE__, NULL ), FALSE) : TRUE)
-
-#define ASSERTMSG(msg, exp) \
- ((!(exp)) ? (RtlAssert( #exp, __FILE__, __LINE__, msg ), FALSE) : TRUE)
-
-#define RTL_SOFT_ASSERT(exp) \
- ((!(_exp)) \
-  ? (DbgPrint("%s(%d): Soft assertion failed\n   Expression: %s\n",__FILE__,__LINE__,#exp),FALSE) \
-  : TRUE \
- )
-
-#define RTL_SOFT_ASSERTMSG(msg, exp) \
- ((!(exp)) \
-  ? (DbgPrint("%s(%d): Soft assertion failed\n   Expression: %s\n   Message: %s\n", \
-      __FILE__, __LINE__, #exp, (msg)), FALSE) \
-  : TRUE \
- )
-
-#define RTL_VERIFY(exp) ASSERT(exp)
-#define RTL_VERIFYMSG(msg, exp) ASSERT(msg, exp)
-
-#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
-#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
-
-#else /* !DBG */
-
-#define ASSERT(exp) ((VOID) 0)
-#define ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_SOFT_ASSERT(exp) ((VOID) 0)
-#define RTL_SOFT_ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#define RTL_SOFT_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_SOFT_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#endif /* DBG */
-
-
-/* Driver support routines
-*/
-
-/** Runtime library routines **/
-
-/* VOID InitializeListHead( IN PLIST_ENTRY ListHead )
- */
-#define InitializeListHead(_ListHead) \
-{ (_ListHead)->Flink = (_ListHead); \
-  (_ListHead)->Blink = (_ListHead); \
-}
-
-/* VOID InsertHeadList(
- *   IN PLIST_ENTRY ListHead,
- *   IN PLIST_ENTRY Entry
- * )
- */
-#define InsertHeadList(_ListHead, _Entry) \
-{ PLIST_ENTRY _OldFlink; \
-  _OldFlink = (_ListHead)->Flink; \
-  (_Entry)->Flink = _OldFlink; \
-  (_Entry)->Blink = (_ListHead); \
-  _OldFlink->Blink = (_Entry); \
-  (_ListHead)->Flink = (_Entry); \
-}
-
-/* VOID InsertTailList(
- *   IN PLIST_ENTRY ListHead,
- *   IN PLIST_ENTRY Entry
- * )
- */
-#define InsertTailList(_ListHead, _Entry) \
-{ PLIST_ENTRY _OldBlink; \
-  _OldBlink = (_ListHead)->Blink; \
-  (_Entry)->Flink = (_ListHead); \
-  (_Entry)->Blink = _OldBlink; \
-  _OldBlink->Flink = (_Entry); \
-  (_ListHead)->Blink = (_Entry); \
-}
-
-/* BOOLEAN IsListEmpty( IN PLIST_ENTRY ListHead )
- */
-#define IsListEmpty(_ListHead) \
-  ((_ListHead)->Flink == (_ListHead))
-
-static __inline__ PSINGLE_LIST_ENTRY
-PopEntryList( /*IN*/ PSINGLE_LIST_ENTRY  ListHead )
-{
-  PSINGLE_LIST_ENTRY Entry;
-
-  Entry = ListHead->Next;
-  if (Entry != NULL)
-  {
-    ListHead->Next = Entry->Next;
-  }
-  return Entry;
-}
-
-/* VOID PushEntryList(
- *   IN PSINGLE_LIST_ENTRY ListHead,
- *   IN PSINGLE_LIST_ENTRY Entry
- * )
- */
-#define PushEntryList(_ListHead, _Entry) \
-{ (_Entry)->Next = (_ListHead)->Next; \
-  (_ListHead)->Next = (_Entry); \
-}
-
-/* VOID RemoveEntryList( IN PLIST_ENTRY Entry )
- */
-#define RemoveEntryList(_Entry) \
-{ PLIST_ENTRY _OldFlink; \
-  PLIST_ENTRY _OldBlink; \
-  _OldFlink = (_Entry)->Flink; \
-  _OldBlink = (_Entry)->Blink; \
-  _OldFlink->Blink = _OldBlink; \
-  _OldBlink->Flink = _OldFlink; \
-  (_Entry)->Flink = NULL; \
-  (_Entry)->Blink = NULL; \
-}
-
-static __inline__ PLIST_ENTRY
-RemoveHeadList( /*IN*/ PLIST_ENTRY ListHead )
-{
-  PLIST_ENTRY OldFlink;
-  PLIST_ENTRY OldBlink;
-  PLIST_ENTRY Entry;
-
-  Entry = ListHead->Flink;
-  OldFlink = ListHead->Flink->Flink;
-  OldBlink = ListHead->Flink->Blink;
-  OldFlink->Blink = OldBlink;
-  OldBlink->Flink = OldFlink;
-
-  if (Entry != ListHead)
-  {
-    Entry->Flink = NULL;
-    Entry->Blink = NULL;
-  }
-  return Entry;
-}
-
-static __inline__ PLIST_ENTRY
-RemoveTailList( /*IN*/ PLIST_ENTRY ListHead )
-{
-  PLIST_ENTRY OldFlink;
-  PLIST_ENTRY OldBlink;
-  PLIST_ENTRY Entry;
-
-  Entry = ListHead->Blink;
-  OldFlink = ListHead->Blink->Flink;
-  OldBlink = ListHead->Blink->Blink;
-  OldFlink->Blink = OldBlink;
-  OldBlink->Flink = OldFlink;
-
-  if (Entry != ListHead)
-  {
-    Entry->Flink = NULL;
-    Entry->Blink = NULL;
-  }
-  return Entry;
-}
-
-/* USHORT QueryDepthSList( IN PSLIST_HEADER SListHead )
- */
-#define QueryDepthSList(_SListHead) \
-  ((USHORT) ((_SListHead)->Alignment & 0xffff))
-
-#define InterlockedFlushSList(ListHead) ExInterlockedFlushSList(ListHead)
-
-NTOSAPI ULONG DDKAPI
-RtlAnsiStringToUnicodeSize( /*IN*/ PANSI_STRING AnsiString );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlAddRange(
-  /*IN OUT*/ PRTL_RANGE_LIST  RangeList,
-  /*IN*/ ULONGLONG  Start,
-  /*IN*/ ULONGLONG  End,
-  /*IN*/ UCHAR  Attributes,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ PVOID  UserData  /*OPTIONAL*/,
-  /*IN*/ PVOID  Owner  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlAnsiStringToUnicodeString(
-  /*IN OUT*/ PUNICODE_STRING  DestinationString,
-  /*IN*/ PANSI_STRING  SourceString,
-  /*IN*/ BOOLEAN  AllocateDestinationString
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlAppendUnicodeStringToString(
-  /*IN OUT*/ PUNICODE_STRING  Destination,
-  /*IN*/ PUNICODE_STRING  Source
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlAppendUnicodeToString(
-  /*IN OUT*/ PUNICODE_STRING  Destination,
-  /*IN*/ PCWSTR  Source
-);
-
-NTOSAPI BOOLEAN DDKAPI
-RtlAreBitsClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  StartingIndex,
-  /*IN*/ ULONG  Length
-);
-
-NTOSAPI BOOLEAN DDKAPI
-RtlAreBitsSet(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  StartingIndex,
-  /*IN*/ ULONG  Length
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlCharToInteger(
-  /*IN*/ PCSZ  String,
-  /*IN*/ ULONG  Base  /*OPTIONAL*/,
-  /*IN OUT*/ PULONG  Value
-);
-
-NTOSAPI ULONG DDKAPI
-RtlCheckBit(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  BitPosition
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlCheckRegistryKey(
-  /*IN*/ ULONG  RelativeTo,
-  /*IN*/ PWSTR  Path
-);
-
-NTOSAPI VOID DDKAPI
-RtlClearAllBits( /*IN*/ PRTL_BITMAP  BitMapHeader );
-
-NTOSAPI VOID DDKAPI
-RtlClearBit( PRTL_BITMAP  BitMapHeader, ULONG  BitNumber );
-
-NTOSAPI VOID DDKAPI
-RtlClearBits(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  StartingIndex,
-  /*IN*/ ULONG  NumberToClear
-);
-
-NTOSAPI SIZE_T DDKAPI
-RtlCompareMemory(
-  /*IN*/ CONST VOID  *Source1,
-  /*IN*/ CONST VOID  *Source2,
-  /*IN*/ SIZE_T  Length
-);
-
-NTOSAPI LONG DDKAPI
-RtlCompareString(
-  /*IN*/ PSTRING  String1,
-  /*IN*/ PSTRING  String2,
-  BOOLEAN  CaseInSensitive
-);
-
-NTOSAPI LONG DDKAPI
-RtlCompareUnicodeString(
-  /*IN*/ PUNICODE_STRING  String1,
-  /*IN*/ PUNICODE_STRING  String2,
-  /*IN*/ BOOLEAN  CaseInSensitive
-);
-
-NTOSAPI LARGE_INTEGER DDKAPI
-RtlConvertLongToLargeInteger( /*IN*/ LONG  SignedInteger );
-
-NTOSAPI LUID DDKAPI
-RtlConvertLongToLuid( /*IN*/ LONG  Long );
-
-NTOSAPI LARGE_INTEGER DDKAPI
-RtlConvertUlongToLargeInteger( /*IN*/ ULONG  UnsignedInteger );
-
-NTOSAPI LUID DDKAPI
-RtlConvertUlongToLuid( ULONG  Ulong );
-
-/* VOID RtlCopyMemory(
- *   IN VOID UNALIGNED  *Destination,
- *   IN CONST VOID UNALIGNED  *Source,
- *   IN SIZE_T  Length
- * )
- */
-#ifndef RtlCopyMemory
-#define RtlCopyMemory(Destination, Source, Length) \
-  memcpy(Destination, Source, Length)
-#endif
-
-#ifndef RtlCopyBytes
-#define RtlCopyBytes RtlCopyMemory
-#endif
-
-NTOSAPI VOID DDKAPI
-RtlCopyMemory32(
-  /*IN*/ VOID UNALIGNED  *Destination,
-  /*IN*/ CONST VOID UNALIGNED  *Source,
-  /*IN*/ ULONG  Length
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlCopyRangeList(
-  /*OUT*/ PRTL_RANGE_LIST  CopyRangeList,
-  /*IN*/ PRTL_RANGE_LIST  RangeList
-);
-
-NTOSAPI VOID DDKAPI
-RtlCopyString(
-  /*IN OUT*/ PSTRING  DestinationString,
-  /*IN*/ PSTRING  SourceString  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-RtlCopyUnicodeString(
-  /*IN OUT*/ PUNICODE_STRING  DestinationString,
-  /*IN*/ PUNICODE_STRING  SourceString
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlCreateRegistryKey( /*IN*/ ULONG RelativeTo, /*IN*/ PWSTR Path );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlCreateSecurityDescriptor(
-  /*IN OUT*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ULONG  Revision
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlDeleteOwnersRanges(
-  /*IN OUT*/ PRTL_RANGE_LIST  RangeList,
-  /*IN*/ PVOID  Owner
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlDeleteRange(
-  /*IN OUT*/ PRTL_RANGE_LIST  RangeList,
-  /*IN*/ ULONGLONG  Start,
-  /*IN*/ ULONGLONG  End,
-  /*IN*/ PVOID  Owner
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlDeleteRegistryValue(
-  /*IN*/ ULONG  RelativeTo,
-  /*IN*/ PCWSTR  Path,
-  /*IN*/ PCWSTR  ValueName
-);
-
-NTOSAPI BOOL DDKAPI
-RtlDosPathNameToNtPathName_U(
-  /*IN*/ PCWSTR  DosPathName,
-  /*OUT*/ PUNICODE_STRING  NtPathName,
-  /*OUT*/ PCWSTR  *NtFileNamePart,
-  /*OUT*/ VOID  *DirectoryInfo
-);
-
-/* BOOLEAN RtlEqualLuid(
- *   IN LUID  Luid1,
- *   IN LUID  Luid2
- * )
- */
-#define RtlEqualLuid(_Luid1, _Luid2) \
- ((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
-
-/* ULONG RtlEqualMemory(
- *   IN VOID UNALIGNED  *Destination,
- *   IN CONST VOID UNALIGNED  *Source,
- *   IN SIZE_T  Length
- * )
- */
-#define RtlEqualMemory(Destination, Source, Length) (!memcmp(Destination, Source, Length))
-
-NTOSAPI BOOLEAN DDKAPI
-RtlEqualString(
-  /*IN*/ PSTRING  String1,
-  /*IN*/ PSTRING  String2,
-  /*IN*/ BOOLEAN  CaseInSensitive
-);
-
-NTOSAPI BOOLEAN DDKAPI
-RtlEqualUnicodeString(
-  /*IN*/ CONST UNICODE_STRING  *String1,
-  /*IN*/ CONST UNICODE_STRING  *String2,
-  /*IN*/ BOOLEAN  CaseInSensitive
-);
-
-/* VOID RtlFillMemory(
- *   IN VOID UNALIGNED  *Destination,
- *   IN SIZE_T  Length,
- *   IN UCHAR  Fill
- * )
- */
-#ifndef RtlFillMemory
-#define RtlFillMemory(Destination, Length, Fill) \
-  memset(Destination, Fill, Length)
-#endif
-
-#ifndef RtlFillBytes
-#define RtlFillBytes RtlFillMemory
-#endif
-
-NTOSAPI ULONG DDKAPI
-RtlFindClearBits(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  NumberToFind,
-  /*IN*/ ULONG  HintIndex
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindClearBitsAndSet(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  NumberToFind,
-  /*IN*/ ULONG  HintIndex
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindClearRuns(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*OUT*/ PRTL_BITMAP_RUN  RunArray,
-  /*IN*/ ULONG  SizeOfRunArray,
-  /*IN*/ BOOLEAN  LocateLongestRuns
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindFirstRunClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*OUT*/ PULONG  StartingIndex
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindLastBackwardRunClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  FromIndex,
-  /*OUT*/ PULONG  StartingRunIndex
-);
-
-NTOSAPI CCHAR DDKAPI
-RtlFindLeastSignificantBit( /*IN*/ ULONGLONG  Set );
-
-NTOSAPI ULONG DDKAPI
-RtlFindLongestRunClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*OUT*/ PULONG  StartingIndex
-);
-
-NTOSAPI CCHAR DDKAPI
-RtlFindMostSignificantBit( /*IN*/ ULONGLONG  Set );
-
-NTOSAPI ULONG DDKAPI
-RtlFindNextForwardRunClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  FromIndex,
-  /*OUT*/ PULONG  StartingRunIndex
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlFindRange(
-  /*IN*/ PRTL_RANGE_LIST  RangeList,
-  /*IN*/ ULONGLONG  Minimum,
-  /*IN*/ ULONGLONG  Maximum,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  Alignment,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ UCHAR  AttributeAvailableMask,
-  /*IN*/ PVOID  Context  /*OPTIONAL*/,
-  /*IN*/ PRTL_CONFLICT_RANGE_CALLBACK  Callback  /*OPTIONAL*/,
-  /*OUT*/ PULONGLONG  Start
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindSetBits(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  NumberToFind,
-  /*IN*/ ULONG  HintIndex
-);
-
-NTOSAPI ULONG DDKAPI
-RtlFindSetBitsAndClear(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  NumberToFind,
-  /*IN*/ ULONG  HintIndex
-);
-
-NTOSAPI VOID DDKAPI
-RtlFreeAnsiString( /*IN*/ PANSI_STRING  AnsiString );
-
-NTOSAPI VOID DDKAPI
-RtlFreeRangeList( /*IN*/ PRTL_RANGE_LIST  RangeList );
-
-NTOSAPI VOID DDKAPI
-RtlFreeUnicodeString( /*IN*/ PUNICODE_STRING  UnicodeString );
-
-NTOSAPI VOID DDKAPI
-RtlGetCallersAddress(
-  /*OUT*/ PVOID  *CallersAddress,
-  /*OUT*/ PVOID  *CallersCaller
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlGetVersion( /*IN OUT*/ PRTL_OSVERSIONINFOW  lpVersionInformation );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlGetFirstRange(
-  /*IN*/ PRTL_RANGE_LIST  RangeList,
-  /*OUT*/ PRTL_RANGE_LIST_ITERATOR  Iterator,
-  /*OUT*/ PRTL_RANGE  *Range
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlGetNextRange(
-  /*IN OUT*/  PRTL_RANGE_LIST_ITERATOR  Iterator,
-  /*OUT*/ PRTL_RANGE  *Range,
-  /*IN*/ BOOLEAN  MoveForwards
-);
-
-#define FOR_ALL_RANGES(RangeList, Iterator, Current)          \
-  for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
-    (Current) != NULL;                                        \
-    RtlGetNextRange((Iterator), &(Current), TRUE))
-
-#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
-  for (RtlGetLastRange((RangeList), (Iterator), &(Current));   \
-    (Current) != NULL;                                         \
-    RtlGetNextRange((Iterator), &(Current), FALSE))
-
-NTOSAPI NTSTATUS DDKAPI
-RtlGUIDFromString(
-  /*IN*/ PUNICODE_STRING  GuidString,
-  /*OUT*/ GUID  *Guid
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlHashUnicodeString(
-  /*IN*/ CONST UNICODE_STRING  *String,
-  /*IN*/ BOOLEAN  CaseInSensitive,
-  /*IN*/ ULONG  HashAlgorithm,
-  /*OUT*/ PULONG  HashValue
-);
-
-NTOSAPI VOID DDKAPI
-RtlInitAnsiString(
-  /*IN OUT*/ PANSI_STRING  DestinationString,
-  /*IN*/ PCSZ  SourceString
-);
-
-NTOSAPI VOID DDKAPI
-RtlInitializeBitMap(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ PULONG  BitMapBuffer,
-  /*IN*/ ULONG  SizeOfBitMap
-);
-
-NTOSAPI VOID DDKAPI
-RtlInitializeRangeList( /*IN OUT*/ PRTL_RANGE_LIST  RangeList );
-
-NTOSAPI VOID DDKAPI
-RtlInitString(
-  /*IN OUT*/ PSTRING  DestinationString,
-  /*IN*/ PCSZ  SourceString
-);
-
-NTOSAPI VOID DDKAPI
-RtlInitUnicodeString(
-  /*IN OUT*/ PUNICODE_STRING  DestinationString,
-  /*IN*/ PCWSTR  SourceString
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlInt64ToUnicodeString(
-  /*IN*/ ULONGLONG  Value,
-  /*IN*/ ULONG  Base /*OPTIONAL*/,
-  /*IN OUT*/ PUNICODE_STRING  String
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlIntegerToUnicodeString(
-  /*IN*/ ULONG  Value,
-  /*IN*/ ULONG  Base  /*OPTIONAL*/,
-  /*IN OUT*/ PUNICODE_STRING  String
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlIntPtrToUnicodeString(
-  PLONG  Value,
-  ULONG  Base  /*OPTIONAL*/,
-  PUNICODE_STRING  String
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlInvertRangeList(
-  /*OUT*/ PRTL_RANGE_LIST  InvertedRangeList,
-  /*IN*/ PRTL_RANGE_LIST  RangeList
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlIsRangeAvailable(
-  /*IN*/ PRTL_RANGE_LIST  RangeList,
-  /*IN*/ ULONGLONG  Start,
-  /*IN*/ ULONGLONG  End,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ UCHAR  AttributeAvailableMask,
-  /*IN*/ PVOID  Context  /*OPTIONAL*/,
-  /*IN*/ PRTL_CONFLICT_RANGE_CALLBACK  Callback  /*OPTIONAL*/,
-  /*OUT*/ PBOOLEAN  Available
-);
-
-/* BOOLEAN RtlIsZeroLuid( IN PLUID L1 )
- */
-#define RtlIsZeroLuid(_L1) \
- ((BOOLEAN) ((!(_L1)->LowPart) && (!(_L1)->HighPart)))
-
-NTOSAPI ULONG DDKAPI
-RtlLengthSecurityDescriptor( /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor );
-
-NTOSAPI VOID DDKAPI
-RtlMapGenericMask(
-  /*IN OUT*/ PACCESS_MASK  AccessMask,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlMergeRangeLists(
-  /*OUT*/ PRTL_RANGE_LIST  MergedRangeList,
-  /*IN*/ PRTL_RANGE_LIST  RangeList1,
-  /*IN*/ PRTL_RANGE_LIST  RangeList2,
-  /*IN*/ ULONG  Flags
-);
-
-/* VOID RtlMoveMemory(
- *   IN VOID UNALIGNED  *Destination,
- *   IN CONST VOID UNALIGNED  *Source,
- *   IN SIZE_T  Length
- * )
- */
-#define RtlMoveMemory memmove
-
-NTOSAPI ULONG DDKAPI
-RtlNumberOfClearBits( /*IN*/ PRTL_BITMAP  BitMapHeader );
-
-NTOSAPI ULONG DDKAPI
-RtlNumberOfSetBits( /*IN*/ PRTL_BITMAP  BitMapHeader );
-
-NTOSAPI VOID DDKFASTAPI
-RtlPrefetchMemoryNonTemporal( /*IN*/ PVOID  Source, /*IN*/ SIZE_T  Length );
-
-NTOSAPI BOOLEAN DDKAPI
-RtlPrefixUnicodeString(
-  /*IN*/ PUNICODE_STRING  String1,
-  /*IN*/ PUNICODE_STRING  String2,
-  /*IN*/ BOOLEAN  CaseInSensitive
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlQueryRegistryValues(
-  /*IN*/ ULONG  RelativeTo,
-  /*IN*/ PCWSTR  Path,
-  /*IN*/ PRTL_QUERY_REGISTRY_TABLE  QueryTable,
-  /*IN*/ PVOID  Context,
-  /*IN*/ PVOID  Environment  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-RtlRetrieveUlong(
-  /*IN OUT*/ PULONG  DestinationAddress,
-  /*IN*/ PULONG  SourceAddress
-);
-
-NTOSAPI VOID DDKAPI
-RtlRetrieveUshort(
-  /*IN OUT*/ PUSHORT  DestinationAddress,
-  /*IN*/ PUSHORT  SourceAddress
-);
-
-NTOSAPI VOID DDKAPI
-RtlSetAllBits( /*IN*/ PRTL_BITMAP BitMapHeader );
-
-NTOSAPI VOID DDKAPI
-RtlSetBit( PRTL_BITMAP BitMapHeader, ULONG BitNumber );
-
-NTOSAPI VOID DDKAPI
-RtlSetBits(
-  /*IN*/ PRTL_BITMAP  BitMapHeader,
-  /*IN*/ ULONG  StartingIndex,
-  /*IN*/ ULONG  NumberToSet
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlSetDaclSecurityDescriptor(
-  /*IN OUT*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ BOOLEAN  DaclPresent,
-  /*IN*/ PACL  Dacl  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  DaclDefaulted  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-RtlStoreUlong( /*IN*/ PULONG Address, /*IN*/ ULONG Value );
-
-NTOSAPI VOID DDKAPI
-RtlStoreUlonglong( /*IN OUT*/ PULONGLONG Address, ULONGLONG Value );
-
-NTOSAPI VOID DDKAPI
-RtlStoreUlongPtr( /*IN OUT*/ PULONG_PTR Address, /*IN*/ ULONG_PTR Value );
-
-NTOSAPI VOID DDKAPI
-RtlStoreUshort( /*IN*/ PUSHORT Address, /*IN*/ USHORT Value );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlStringFromGUID( /*IN*/ REFGUID Guid, /*OUT*/ PUNICODE_STRING GuidString );
-
-#define RtlStringCbCopyA(dst, dst_len, src) strncpy(dst, src, dst_len)
-#define RtlStringCbPrintfA(args...) snprintf(args)
-#define RtlStringCbVPrintfA(args...) vsnprintf(args)
-
-NTOSAPI BOOLEAN DDKAPI
-RtlTestBit( /*IN*/ PRTL_BITMAP BitMapHeader, /*IN*/ ULONG BitNumber );
-
-NTOSAPI BOOLEAN DDKAPI
-RtlTimeFieldsToTime(
-  /*IN*/ PTIME_FIELDS TimeFields,
-  /*IN*/ PLARGE_INTEGER Time
-);
-
-NTOSAPI VOID DDKAPI
-RtlTimeToTimeFields(
-  /*IN*/ PLARGE_INTEGER  Time,
-  /*IN*/ PTIME_FIELDS  TimeFields
-);
-
-NTOSAPI ULONG DDKFASTAPI
-RtlUlongByteSwap( /*IN*/ ULONG Source );
-
-NTOSAPI ULONGLONG DDKFASTAPI
-RtlUlonglongByteSwap( /*IN*/ ULONGLONG Source );
-
-NTOSAPI ULONG DDKAPI
-RtlUnicodeStringToAnsiSize( /*IN*/ PUNICODE_STRING UnicodeString );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlUnicodeStringToAnsiString(
-  /*IN OUT*/ PANSI_STRING  DestinationString,
-  /*IN*/ PUNICODE_STRING  SourceString,
-  /*IN*/ BOOLEAN  AllocateDestinationString
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlUnicodeStringToInteger(
-  /*IN*/ PUNICODE_STRING  String,
-  /*IN*/ ULONG  Base  /*OPTIONAL*/,
-  /*OUT*/ PULONG  Value
-);
-
-NTOSAPI WCHAR DDKAPI
-RtlUpcaseUnicodeChar( /*IN*/ WCHAR SourceCharacter );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlUpcaseUnicodeString(
-  /*IN OUT*/ PUNICODE_STRING  DestinationString  /*OPTIONAL*/,
-  /*IN*/ PCUNICODE_STRING  SourceString,
-  /*IN*/ BOOLEAN  AllocateDestinationString
-);
-
-NTOSAPI CHAR DDKAPI
-RtlUpperChar( /*IN*/ CHAR Character );
-
-NTOSAPI VOID DDKAPI
-RtlUpperString(
-  /*IN OUT*/ PSTRING  DestinationString,
-  /*IN*/ PSTRING  SourceString
-);
-
-NTOSAPI USHORT DDKFASTAPI
-RtlUshortByteSwap( /*IN*/ USHORT Source );
-
-NTOSAPI BOOLEAN DDKAPI
-RtlValidRelativeSecurityDescriptor(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptorInput,
-  /*IN*/ ULONG  SecurityDescriptorLength,
-  /*IN*/ SECURITY_INFORMATION  RequiredInformation
-);
-
-NTOSAPI BOOLEAN DDKAPI
-RtlValidSecurityDescriptor( /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor );
-
-NTOSAPI NTSTATUS DDKAPI
-RtlVerifyVersionInfo(
-  /*IN*/ PRTL_OSVERSIONINFOEXW  VersionInfo,
-  /*IN*/ ULONG  TypeMask,
-  /*IN*/ ULONGLONG  ConditionMask
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlVolumeDeviceToDosName(
-  /*IN*/ PVOID  VolumeDeviceObject,
-  /*OUT*/ PUNICODE_STRING  DosName
-);
-
-NTOSAPI ULONG DDKAPI
-RtlWalkFrameChain(
-  /*OUT*/ PVOID  *Callers,
-  /*IN*/ ULONG  Count,
-  /*IN*/ ULONG  Flags
-);
-
-NTOSAPI NTSTATUS DDKAPI
-RtlWriteRegistryValue(
-  /*IN*/ ULONG  RelativeTo,
-  /*IN*/ PCWSTR  Path,
-  /*IN*/ PCWSTR  ValueName,
-  /*IN*/ ULONG  ValueType,
-  /*IN*/ PVOID  ValueData,
-  /*IN*/ ULONG  ValueLength
-);
-
-NTOSAPI ULONG DDKAPI
-RtlxUnicodeStringToAnsiSize( /*IN*/ PUNICODE_STRING UnicodeString );
-
-#ifndef RtlZeroMemory
-/* VOID RtlZeroMemory(
- *   IN VOID UNALIGNED  *Destination,
- *   IN SIZE_T  Length
- * )
- */
-#define RtlZeroMemory(Destination, Length) \
-  memset(Destination, 0, Length)
-#endif
-
-#ifndef RtlZeroBytes
-#define RtlZeroBytes RtlZeroMemory
-#endif
-
-
-/** Executive support routines **/
-
-NTOSAPI VOID DDKFASTAPI
-ExAcquireFastMutex( /*IN*/ PFAST_MUTEX FastMutex );
-
-NTOSAPI VOID DDKFASTAPI
-ExAcquireFastMutexUnsafe( /*IN*/ PFAST_MUTEX FastMutex );
-
-NTOSAPI BOOLEAN DDKAPI
-ExAcquireResourceExclusiveLite(
-  /*IN*/ PERESOURCE  Resource,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI BOOLEAN DDKAPI
-ExAcquireResourceSharedLite( /*IN*/ PERESOURCE Resource, /*IN*/ BOOLEAN Wait );
-
-NTOSAPI BOOLEAN DDKAPI
-ExAcquireSharedStarveExclusive(
-  /*IN*/ PERESOURCE  Resource,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI BOOLEAN DDKAPI
-ExAcquireSharedWaitForExclusive(
-  /*IN*/ PERESOURCE  Resource,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKFASTAPI
-ExInterlockedPopEntrySList(
-  /*IN*/ PSLIST_HEADER  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKFASTAPI
-ExInterlockedPushEntrySList(
-  /*IN*/ PSLIST_HEADER  ListHead,
-  /*IN*/ PSINGLE_LIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
-#define ExInterlockedPopEntrySList(_ListHead, _Lock) \
-  InterlockedPopEntrySList(_ListHead)
-
-#define ExInterlockedPushEntrySList(_ListHead, _ListEntry, _Lock) \
-  InterlockedPushEntrySList(_ListHead, _ListEntry)
-#endif /*  __USE_NTOSKRNL__ */
-
-#define ExQueryDepthSList(ListHead) QueryDepthSList(ListHead)
-
-static __inline__ PVOID
-ExAllocateFromNPagedLookasideList( /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside )
-{
-  PVOID Entry;
-
-  Lookaside->TotalAllocates++;
-  Entry = ExInterlockedPopEntrySList (&Lookaside->ListHead, &Lookaside->Obsoleted);
-  if (Entry == NULL)
-  { Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
-    Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
-  }
-  return Entry;
-}
-
-static __inline__ VOID
-ExFreeToNPagedLookasideList(
-  /*IN*/ PNPAGED_LOOKASIDE_LIST  Lookaside,
-  /*IN*/ PVOID  Entry)
-{
-  Lookaside->TotalFrees++;
-  if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth)
-  { Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
-    (Lookaside->Free)(Entry);
-  }
-  else
-  { ExInterlockedPushEntrySList(
-	&Lookaside->ListHead, (PSLIST_ENTRY)Entry, &Lookaside->Obsoleted
-      );
-  }
-}
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
-
-static __inline__ PVOID
-ExAllocateFromPagedLookasideList(
-  /*IN*/ PPAGED_LOOKASIDE_LIST  Lookaside)
-{
-  PVOID Entry;
-
-  Lookaside->TotalAllocates++;
-  Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
-  if (Entry == NULL)
-  { Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
-    Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
-  }
-  return Entry;
-}
-
-static __inline__ VOID
-ExFreeToPagedLookasideList(
-  /*IN*/ PPAGED_LOOKASIDE_LIST  Lookaside,
-  /*IN*/ PVOID  Entry)
-{
-  Lookaside->TotalFrees++;
-  if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth)
-  { Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
-    (Lookaside->Free)(Entry);
-  }
-  else
-  { InterlockedPushEntrySList(&Lookaside->ListHead, (PSLIST_ENTRY)Entry);
-  }
-}
-
-#else /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
-
-NTOSAPI PVOID DDKAPI
-ExAllocateFromPagedLookasideList( /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside );
-
-NTOSAPI VOID DDKAPI
-ExFreeToPagedLookasideList(
-  /*IN*/ PPAGED_LOOKASIDE_LIST  Lookaside,
-  /*IN*/ PVOID  Entry
-);
-
-#endif /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
-
-NTOSAPI PVOID DDKAPI
-ExAllocatePoolWithQuotaTag(
-  /*IN*/ POOL_TYPE  PoolType,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ ULONG  Tag
-);
-
-NTOSAPI PVOID DDKAPI
-ExAllocatePoolWithTag(
-  /*IN*/ POOL_TYPE  PoolType,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ ULONG  Tag
-);
-
-#ifdef POOL_TAGGING
-
-#define ExAllocatePoolWithQuota(p,n) ExAllocatePoolWithQuotaTag(p,n,' kdD')
-#define ExAllocatePool(p,n) ExAllocatePoolWithTag(p,n,' kdD')
-
-#else /* !POOL_TAGGING */
-
-NTOSAPI PVOID DDKAPI
-ExAllocatePool( /*IN*/ POOL_TYPE PoolType, /*IN*/ SIZE_T NumberOfBytes );
-
-NTOSAPI PVOID DDKAPI
-ExAllocatePoolWithQuota( /*IN*/ POOL_TYPE PoolType, /*IN*/ SIZE_T NumberOfBytes );
-
-#endif /* POOL_TAGGING */
-
-NTOSAPI PVOID DDKAPI
-ExAllocatePoolWithTagPriority(
-  /*IN*/ POOL_TYPE  PoolType,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ ULONG  Tag,
-  /*IN*/ EX_POOL_PRIORITY  Priority
-);
-
-NTOSAPI VOID DDKAPI
-ExConvertExclusiveToSharedLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI NTSTATUS DDKAPI
-ExCreateCallback(
-  /*OUT*/ PCALLBACK_OBJECT  *CallbackObject,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ BOOLEAN  Create,
-  /*IN*/ BOOLEAN  AllowMultipleCallbacks
-);
-
-NTOSAPI VOID DDKAPI
-ExDeleteNPagedLookasideList( /*IN*/ PNPAGED_LOOKASIDE_LIST Lookaside );
-
-NTOSAPI VOID DDKAPI
-ExDeletePagedLookasideList( /*IN*/ PPAGED_LOOKASIDE_LIST Lookaside );
-
-NTOSAPI NTSTATUS DDKAPI
-ExDeleteResourceLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKAPI
-ExFreePool( /*IN*/ PVOID P );
-
-#define PROTECTED_POOL                    0x80000000
-
-#ifdef POOL_TAGGING
-#define ExFreePool(P) ExFreePoolWithTag(P, 0)
-#endif
-
-NTOSAPI VOID DDKAPI
-ExFreePoolWithTag( /*IN*/ PVOID P, /*IN*/ ULONG Tag );
-
-/* ERESOURCE_THREAD ExGetCurrentResourceThread( VOID );
- */
-#define ExGetCurrentResourceThread() ((ERESOURCE_THREAD) PsGetCurrentThread())
-
-NTOSAPI ULONG DDKAPI
-ExGetExclusiveWaiterCount( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI KPROCESSOR_MODE DDKAPI
-ExGetPreviousMode( VOID );
-
-NTOSAPI ULONG DDKAPI
-ExGetSharedWaiterCount( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKAPI
-KeInitializeEvent(
-  /*IN*/ PRKEVENT  Event,
-  /*IN*/ EVENT_TYPE  Type,
-  /*IN*/ BOOLEAN  State);
-
-/* VOID DDKAPI ExInitializeFastMutex( IN PFAST_MUTEX FastMutex )
- */
-#define ExInitializeFastMutex(_FastMutex) \
- { (_FastMutex)->Count = 1; \
-   (_FastMutex)->Owner = NULL; \
-   (_FastMutex)->Contention = 0; \
-   KeInitializeEvent(&(_FastMutex)->Event, SynchronizationEvent, FALSE); \
- }
-
-NTOSAPI VOID DDKAPI
-ExInitializeNPagedLookasideList(
-  /*IN*/ PNPAGED_LOOKASIDE_LIST  Lookaside,
-  /*IN*/ PALLOCATE_FUNCTION  Allocate  /*OPTIONAL*/,
-  /*IN*/ PFREE_FUNCTION  Free  /*OPTIONAL*/,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ SIZE_T  Size,
-  /*IN*/ ULONG  Tag,
-  /*IN*/ USHORT  Depth
-);
-
-NTOSAPI VOID DDKAPI
-ExInitializePagedLookasideList(
-  /*IN*/ PPAGED_LOOKASIDE_LIST  Lookaside,
-  /*IN*/ PALLOCATE_FUNCTION  Allocate  /*OPTIONAL*/,
-  /*IN*/ PFREE_FUNCTION  Free  /*OPTIONAL*/,
-  /*IN*/ ULONG  Flags,
-  /*IN*/ SIZE_T  Size,
-  /*IN*/ ULONG  Tag,
-  /*IN*/ USHORT  Depth
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ExInitializeResourceLite( /*IN*/ PERESOURCE Resource );
-
-/* VOID InitializeSListHead( IN PSLIST_HEADER SListHead )
- */
-#define InitializeSListHead(_SListHead) \
- (_SListHead)->Alignment = 0
-
-#define ExInitializeSListHead InitializeSListHead
-
-NTOSAPI LARGE_INTEGER DDKAPI
-ExInterlockedAddLargeInteger(
-  /*IN*/ PLARGE_INTEGER  Addend,
-  /*IN*/ LARGE_INTEGER  Increment,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI VOID DDKFASTAPI
-ExInterlockedAddLargeStatistic(
-  /*IN*/ PLARGE_INTEGER  Addend,
-  /*IN*/ ULONG  Increment
-);
-
-NTOSAPI ULONG DDKAPI
-ExInterlockedAddUlong(
-  /*IN*/ PULONG  Addend,
-  /*IN*/ ULONG  Increment,
-  PKSPIN_LOCK  Lock
-);
-
-NTOSAPI ULONG DDKFASTAPI
-ExfInterlockedAddUlong(
-  /*IN*/ PULONG  Addend,
-  /*IN*/ ULONG  Increment,
-  PKSPIN_LOCK  Lock
-);
-
-NTOSAPI LONGLONG DDKFASTAPI
-ExInterlockedCompareExchange64(
-  /*IN OUT*/ PLONGLONG  Destination,
-  /*IN*/ PLONGLONG  Exchange,
-  /*IN*/ PLONGLONG  Comparand,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKFASTAPI
-ExInterlockedFlushSList( /*IN*/ PSLIST_HEADER ListHead );
-
-NTOSAPI PLIST_ENTRY DDKAPI
-ExInterlockedInsertHeadList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PLIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PLIST_ENTRY DDKFASTAPI
-ExfInterlockedInsertHeadList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PLIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PLIST_ENTRY DDKAPI
-ExInterlockedInsertTailList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PLIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PLIST_ENTRY DDKFASTAPI
-ExfInterlockedInsertTailList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PLIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKAPI
-ExInterlockedPopEntryList(
-  /*IN*/ PSINGLE_LIST_ENTRY  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKFASTAPI
-ExfInterlockedPopEntryList(
-  /*IN*/ PSINGLE_LIST_ENTRY  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKAPI
-ExInterlockedPushEntryList(
-  /*IN*/ PSINGLE_LIST_ENTRY  ListHead,
-  /*IN*/ PSINGLE_LIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PSINGLE_LIST_ENTRY DDKFASTAPI
-ExfInterlockedPushEntryList(
-  /*IN*/ PSINGLE_LIST_ENTRY  ListHead,
-  /*IN*/ PSINGLE_LIST_ENTRY  ListEntry,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PLIST_ENTRY DDKAPI
-ExInterlockedRemoveHeadList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI PLIST_ENTRY DDKFASTAPI
-ExfInterlockedRemoveHeadList(
-  /*IN*/ PLIST_ENTRY  ListHead,
-  /*IN*/ PKSPIN_LOCK  Lock
-);
-
-NTOSAPI BOOLEAN DDKAPI
-ExIsProcessorFeaturePresent( /*IN*/ ULONG ProcessorFeature );
-
-NTOSAPI BOOLEAN DDKAPI
-ExIsResourceAcquiredExclusiveLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI USHORT DDKAPI
-ExIsResourceAcquiredLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI USHORT DDKAPI
-ExIsResourceAcquiredSharedLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKAPI
-ExLocalTimeToSystemTime(
-  /*IN*/ PLARGE_INTEGER  LocalTime,
-  /*OUT*/ PLARGE_INTEGER  SystemTime
-);
-
-NTOSAPI VOID DDKAPI
-ExNotifyCallback(
-  /*IN*/ PCALLBACK_OBJECT  CallbackObject,
-  /*IN*/ PVOID  Argument1,
-  /*IN*/ PVOID  Argument2
-);
-
-NTOSAPI VOID DDKAPI
-ExRaiseAccessViolation( VOID );
-
-NTOSAPI VOID DDKAPI
-ExRaiseDatatypeMisalignment( VOID );
-
-NTOSAPI VOID DDKAPI
-ExRaiseStatus( /*IN*/ NTSTATUS Status );
-
-NTOSAPI PVOID DDKAPI
-ExRegisterCallback(
-  /*IN*/ PCALLBACK_OBJECT  CallbackObject,
-  /*IN*/ PCALLBACK_FUNCTION  CallbackFunction,
-  /*IN*/ PVOID  CallbackContext
-);
-
-NTOSAPI VOID DDKAPI
-ExReinitializeResourceLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKFASTAPI
-ExReleaseFastMutex( /*IN*/ PFAST_MUTEX FastMutex );
-
-NTOSAPI VOID DDKFASTAPI
-ExReleaseFastMutexUnsafe( /*IN*/ PFAST_MUTEX FastMutex );
-
-NTOSAPI VOID DDKAPI
-ExReleaseResourceForThreadLite(
-  /*IN*/ PERESOURCE  Resource,
-  /*IN*/ ERESOURCE_THREAD  ResourceThreadId
-);
-
-NTOSAPI VOID DDKFASTAPI
-ExReleaseResourceLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKAPI
-ExSetResourceOwnerPointer( /*IN*/ PERESOURCE  Resource,
-  /*IN*/ PVOID  OwnerPointer
-);
-
-NTOSAPI ULONG DDKAPI
-ExSetTimerResolution( /*IN*/ ULONG DesiredTime, /*IN*/ BOOLEAN SetResolution );
-
-NTOSAPI VOID DDKAPI
-ExSystemTimeToLocalTime(
-  /*IN*/ PLARGE_INTEGER  SystemTime,
-  /*OUT*/ PLARGE_INTEGER  LocalTime
-);
-
-NTOSAPI BOOLEAN DDKFASTAPI
-ExTryToAcquireFastMutex( /*IN*/ PFAST_MUTEX FastMutex );
-
-NTOSAPI BOOLEAN DDKAPI
-ExTryToAcquireResourceExclusiveLite( /*IN*/ PERESOURCE Resource );
-
-NTOSAPI VOID DDKAPI
-ExUnregisterCallback( /*IN*/ PVOID CbRegistration );
-
-NTOSAPI NTSTATUS DDKAPI
-ExUuidCreate( /*OUT*/ UUID *Uuid );
-
-NTOSAPI BOOLEAN DDKAPI
-ExVerifySuite( /*IN*/ SUITE_TYPE SuiteType );
-
-#ifdef DBG
-# define PAGED_CODE() \
-  { if (KeGetCurrentIrql() > APC_LEVEL) \
-    { KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
-      ASSERT(FALSE); \
-    } \
-  }
-#else
-# define PAGED_CODE()
-#endif
-
-NTOSAPI VOID DDKAPI
-ProbeForRead(
-  /*IN*/ CONST VOID  *Address,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  Alignment
-);
-
-NTOSAPI VOID DDKAPI
-ProbeForWrite(
-  /*IN*/ CONST VOID  *Address,
-  /*IN*/ ULONG  Length,
-  /*IN*/ ULONG  Alignment
-);
-
-
-/** Configuration manager routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-CmRegisterCallback(
-  /*IN*/ PEX_CALLBACK_FUNCTION  Function,
-  /*IN*/ PVOID  Context,
-  /*IN OUT*/ PLARGE_INTEGER  Cookie
-);
-
-NTOSAPI NTSTATUS DDKAPI
-CmUnRegisterCallback( /*IN*/ LARGE_INTEGER Cookie );
-
-
-/** Filesystem runtime library routines **/
-
-NTOSAPI BOOLEAN DDKAPI
-FsRtlIsTotalDeviceFailure( /*IN*/ NTSTATUS Status );
-
-
-
-/** Hardware abstraction layer routines **/
-
-NTOSAPI VOID DDKFASTAPI
-HalExamineMBR(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  SectorSize,
-  /*IN*/ ULONG  MBRTypeIdentifier,
-  /*OUT*/ PVOID  Buffer
-);
-
-NTOSAPI VOID DDKAPI
-READ_PORT_BUFFER_UCHAR(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-READ_PORT_BUFFER_ULONG(
-  /*IN*/ PULONG  Port,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-READ_PORT_BUFFER_USHORT(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI UCHAR DDKAPI
-READ_PORT_UCHAR( /*IN*/ PUCHAR Port );
-
-NTOSAPI ULONG DDKAPI
-READ_PORT_ULONG( /*IN*/ PULONG Port );
-
-NTOSAPI USHORT DDKAPI
-READ_PORT_USHORT( /*IN*/ PUSHORT Port );
-
-NTOSAPI VOID DDKAPI
-READ_REGISTER_BUFFER_UCHAR(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-READ_REGISTER_BUFFER_ULONG(
-  /*IN*/ PULONG  Register,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-READ_REGISTER_BUFFER_USHORT(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI UCHAR DDKAPI
-READ_REGISTER_UCHAR( /*IN*/ PUCHAR Register );
-
-NTOSAPI ULONG DDKAPI
-READ_REGISTER_ULONG( /*IN*/ PULONG Register );
-
-NTOSAPI USHORT DDKAPI
-READ_REGISTER_USHORT( /*IN*/ PUSHORT Register );
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_BUFFER_UCHAR(
-  /*IN*/ PUCHAR  Port,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_BUFFER_ULONG(
-  /*IN*/ PULONG  Port,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_BUFFER_USHORT(
-  /*IN*/ PUSHORT  Port,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_UCHAR( /*IN*/ PUCHAR Port, /*IN*/ UCHAR Value );
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_ULONG( /*IN*/ PULONG Port, /*IN*/ ULONG Value );
-
-NTOSAPI VOID DDKAPI
-WRITE_PORT_USHORT( /*IN*/ PUSHORT Port, /*IN*/ USHORT Value );
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_BUFFER_UCHAR(
-  /*IN*/ PUCHAR  Register,
-  /*IN*/ PUCHAR  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_BUFFER_ULONG(
-  /*IN*/ PULONG  Register,
-  /*IN*/ PULONG  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_BUFFER_USHORT(
-  /*IN*/ PUSHORT  Register,
-  /*IN*/ PUSHORT  Buffer,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_UCHAR( /*IN*/ PUCHAR Register, /*IN*/ UCHAR Value );
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_ULONG( /*IN*/ PULONG Register, /*IN*/ ULONG Value );
-
-NTOSAPI VOID DDKAPI
-WRITE_REGISTER_USHORT( /*IN*/ PUSHORT Register, /*IN*/ USHORT Value );
-
-/** I/O manager routines **/
-
-NTOSAPI VOID DDKAPI
-IoAcquireCancelSpinLock( /*OUT*/ PKIRQL Irql );
-
-NTOSAPI NTSTATUS DDKAPI
-IoAcquireRemoveLockEx(
-  /*IN*/ PIO_REMOVE_LOCK  RemoveLock,
-  /*IN*/ PVOID  Tag  /*OPTIONAL*/,
-  /*IN*/ PCSTR  File,
-  /*IN*/ ULONG  Line,
-  /*IN*/ ULONG  RemlockSize
-);
-
-/* NTSTATUS IoAcquireRemoveLock(
- *   IN PIO_REMOVE_LOCK  RemoveLock,
- *   IN PVOID  Tag OPTIONAL
- * )
- */
-#define IoAcquireRemoveLock(_RemoveLock, _Tag) \
- IoAcquireRemoveLockEx(_RemoveLock, _Tag, __FILE__, __LINE__, sizeof(IO_REMOVE_LOCK))
-
-/* VOID IoAdjustPagingPathCount( IN PLONG Count, IN BOOLEAN Increment )
- */
-#define IoAdjustPagingPathCount(_Count, _Increment) \
- { if (_Increment) \
-   { InterlockedIncrement(_Count); \
-   } \
-   else \
-   { InterlockedDecrement(_Count); \
-   } \
- }
-
-NTOSAPI VOID DDKAPI
-IoAllocateController(
-  /*IN*/ PCONTROLLER_OBJECT  ControllerObject,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PDRIVER_CONTROL  ExecutionRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoAllocateDriverObjectExtension(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PVOID  ClientIdentificationAddress,
-  /*IN*/ ULONG  DriverObjectExtensionSize,
-  /*OUT*/ PVOID  *DriverObjectExtension
-);
-
-typedef
-struct _IO_ERROR_LOG_PACKET
-{ UCHAR 		MajorFunctionCode;
-  UCHAR 		RetryCount;
-  USHORT		DumpDataSize;
-  USHORT		NumberOfStrings;
-  USHORT		StringOffset;
-  USHORT		EventCategory;
-  NTSTATUS		ErrorCode;
-  ULONG 		UniqueErrorValue;
-  NTSTATUS		FinalStatus;
-  ULONG 		SequenceNumber;
-  ULONG 		IoControlCode;
-  LARGE_INTEGER 	DeviceOffset;
-  ULONG 		DumpData[1];
-} IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
-
-NTOSAPI PVOID DDKAPI
-IoAllocateErrorLogEntry( /*IN*/ PVOID IoObject, /*IN*/ UCHAR EntrySize );
-
-NTOSAPI PIRP DDKAPI
-IoAllocateIrp( /*IN*/ CCHAR StackSize, /*IN*/ BOOLEAN ChargeQuota );
-
-NTOSAPI PMDL DDKAPI
-IoAllocateMdl(
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  SecondaryBuffer,
-  /*IN*/ BOOLEAN  ChargeQuota,
-  /*IN OUT*/ PIRP  Irp  /*OPTIONAL*/
-);
-
-NTOSAPI PIO_WORKITEM DDKAPI
-IoAllocateWorkItem( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-/* VOID IoAssignArcName(
- *   IN PUNICODE_STRING  ArcName,
- *   IN PUNICODE_STRING  DeviceName
- * )
- */
-#define IoAssignArcName(_ArcName, _DeviceName) \
- (IoCreateSymbolicLink((_ArcName), (_DeviceName)))
-
-NTOSAPI NTSTATUS DDKAPI
-IoAttachDevice(
-  /*IN*/ PDEVICE_OBJECT  SourceDevice,
-  /*IN*/ PUNICODE_STRING  TargetDevice,
-  /*OUT*/ PDEVICE_OBJECT  *AttachedDevice
-);
-
-NTOSAPI PDEVICE_OBJECT DDKAPI
-IoAttachDeviceToDeviceStack(
-  /*IN*/ PDEVICE_OBJECT  SourceDevice,
-  /*IN*/ PDEVICE_OBJECT  TargetDevice
-);
-
-NTOSAPI PIRP DDKAPI
-IoBuildAsynchronousFsdRequest(
-  /*IN*/ ULONG  MajorFunction,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN OUT*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  Length  /*OPTIONAL*/,
-  /*IN*/ PLARGE_INTEGER  StartingOffset  /*OPTIONAL*/,
-  /*IN*/ PIO_STATUS_BLOCK  IoStatusBlock  /*OPTIONAL*/
-);
-
-NTOSAPI PIRP DDKAPI
-IoBuildDeviceIoControlRequest(
-  /*IN*/ ULONG  IoControlCode,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PVOID  InputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  InputBufferLength,
-  /*OUT*/ PVOID  OutputBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  OutputBufferLength,
-  /*IN*/ BOOLEAN  InternalDeviceIoControl,
-  /*IN*/ PKEVENT  Event,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock
-);
-
-NTOSAPI VOID DDKAPI
-IoBuildPartialMdl(
-  /*IN*/ PMDL  SourceMdl,
-  /*IN OUT*/ PMDL  TargetMdl,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ ULONG  Length
-);
-
-NTOSAPI PIRP DDKAPI
-IoBuildSynchronousFsdRequest(
-  /*IN*/ ULONG  MajorFunction,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN OUT*/ PVOID  Buffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  Length  /*OPTIONAL*/,
-  /*IN*/ PLARGE_INTEGER  StartingOffset  /*OPTIONAL*/,
-  /*IN*/ PKEVENT  Event,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock
-);
-
-NTOSAPI NTSTATUS DDKFASTAPI
-IofCallDriver( /*IN*/ PDEVICE_OBJECT DeviceObject, /*IN OUT*/ PIRP Irp );
-
-/* NTSTATUS IoCallDriver(
- * IN PDEVICE_OBJECT  DeviceObject,
- * IN OUT PIRP  Irp)
- */
-#define IoCallDriver IofCallDriver
-
-NTOSAPI VOID DDKAPI
-IoCancelFileOpen(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PFILE_OBJECT  FileObject
-);
-
-NTOSAPI BOOLEAN DDKAPI
-IoCancelIrp( /*IN*/ PIRP Irp );
-
-NTOSAPI NTSTATUS DDKAPI
-IoCheckShareAccess(
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG  DesiredShareAccess,
-  /*IN OUT*/ PFILE_OBJECT  FileObject,
-  /*IN OUT*/ PSHARE_ACCESS  ShareAccess,
-  /*IN*/ BOOLEAN  Update
-);
-
-NTOSAPI VOID DDKFASTAPI
-IofCompleteRequest( /*IN*/ PIRP Irp, /*IN*/ CCHAR PriorityBoost );
-
-/* VOID IoCompleteRequest( IN PIRP Irp, IN CCHAR PriorityBoost )
- */
-#define IoCompleteRequest IofCompleteRequest
-
-NTOSAPI NTSTATUS DDKAPI
-IoConnectInterrupt(
-  /*OUT*/ PKINTERRUPT  *InterruptObject,
-  /*IN*/ PKSERVICE_ROUTINE  ServiceRoutine,
-  /*IN*/ PVOID  ServiceContext,
-  /*IN*/ PKSPIN_LOCK  SpinLock  /*OPTIONAL*/,
-  /*IN*/ ULONG  Vector,
-  /*IN*/ KIRQL  Irql,
-  /*IN*/ KIRQL  SynchronizeIrql,
-  /*IN*/ KINTERRUPT_MODE    InterruptMode,
-  /*IN*/ BOOLEAN  ShareVector,
-  /*IN*/ KAFFINITY  ProcessorEnableMask,
-  /*IN*/ BOOLEAN  FloatingSave
-);
-
-/* PIO_STACK_LOCATION IoGetCurrentIrpStackLocation( IN PIRP Irp )
- */
-#define IoGetCurrentIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation)
-
-/* PIO_STACK_LOCATION IoGetNextIrpStackLocation( IN PIRP Irp )
- */
-#define IoGetNextIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation - 1)
-
-/* VOID IoCopyCurrentIrpStackLocationToNext( IN PIRP Irp )
- */
-#define IoCopyCurrentIrpStackLocationToNext(_Irp) \
- { PIO_STACK_LOCATION _IrpSp; \
-   PIO_STACK_LOCATION _NextIrpSp; \
-   _IrpSp = IoGetCurrentIrpStackLocation(_Irp); \
-   _NextIrpSp = IoGetNextIrpStackLocation(_Irp); \
-   RtlCopyMemory(_NextIrpSp, _IrpSp, \
-     FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \
-   _NextIrpSp->Control = 0; \
-}
-
-NTOSAPI PCONTROLLER_OBJECT DDKAPI
-IoCreateController( /*IN*/ ULONG Size );
-
-NTOSAPI NTSTATUS DDKAPI
-IoCreateDevice(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ ULONG  DeviceExtensionSize,
-  /*IN*/ PUNICODE_STRING  DeviceName  /*OPTIONAL*/,
-  /*IN*/ DEVICE_TYPE  DeviceType,
-  /*IN*/ ULONG  DeviceCharacteristics,
-  /*IN*/ BOOLEAN  Exclusive,
-  /*OUT*/ PDEVICE_OBJECT  *DeviceObject
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoCreateDisk( /*IN*/ PDEVICE_OBJECT DeviceObject, /*IN*/ PCREATE_DISK Disk );
-
-NTOSAPI NTSTATUS DDKAPI
-IoCreateFile(
-  /*OUT*/ PHANDLE FileHandle,
-  /*IN*/ ACCESS_MASK DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes,
-  /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock,
-  /*IN*/ PLARGE_INTEGER AllocationSize /*OPTIONAL*/,
-  /*IN*/ ULONG FileAttributes,
-  /*IN*/ ULONG ShareAccess,
-  /*IN*/ ULONG Disposition,
-  /*IN*/ ULONG CreateOptions,
-  /*IN*/ PVOID EaBuffer /*OPTIONAL*/,
-  /*IN*/ ULONG EaLength,
-  /*IN*/ CREATE_FILE_TYPE CreateFileType,
-  /*IN*/ PVOID ExtraCreateParameters /*OPTIONAL*/,
-  /*IN*/ ULONG Options
-);
-
-NTOSAPI PKEVENT DDKAPI
-IoCreateNotificationEvent(
-  /*IN*/ PUNICODE_STRING  EventName,
-  /*OUT*/ PHANDLE  EventHandle
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoCreateSymbolicLink(
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName,
-  /*IN*/ PUNICODE_STRING  DeviceName
-);
-
-NTOSAPI PKEVENT DDKAPI
-IoCreateSynchronizationEvent(
-  /*IN*/ PUNICODE_STRING  EventName,
-  /*OUT*/ PHANDLE  EventHandle
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoCreateUnprotectedSymbolicLink(
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName,
-  /*IN*/ PUNICODE_STRING  DeviceName
-);
-
-NTOSAPI VOID DDKAPI
-IoCsqInitialize(
-  PIO_CSQ  Csq,
-  /*IN*/ PIO_CSQ_INSERT_IRP  CsqInsertIrp,
-  /*IN*/ PIO_CSQ_REMOVE_IRP  CsqRemoveIrp,
-  /*IN*/ PIO_CSQ_PEEK_NEXT_IRP  CsqPeekNextIrp,
-  /*IN*/ PIO_CSQ_ACQUIRE_LOCK  CsqAcquireLock,
-  /*IN*/ PIO_CSQ_RELEASE_LOCK  CsqReleaseLock,
-  /*IN*/ PIO_CSQ_COMPLETE_CANCELED_IRP  CsqCompleteCanceledIrp
-);
-
-NTOSAPI VOID DDKAPI
-IoCsqInsertIrp(
-  /*IN*/ PIO_CSQ  Csq,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PIO_CSQ_IRP_CONTEXT  Context
-);
-
-NTOSAPI PIRP DDKAPI
-IoCsqRemoveIrp( /*IN*/ PIO_CSQ Csq, /*IN*/ PIO_CSQ_IRP_CONTEXT Context );
-
-NTOSAPI PIRP DDKAPI
-IoCsqRemoveNextIrp( /*IN*/ PIO_CSQ Csq, /*IN*/ PVOID PeekContext );
-
-NTOSAPI VOID DDKAPI
-IoDeleteController( /*IN*/ PCONTROLLER_OBJECT ControllerObject );
-
-NTOSAPI VOID DDKAPI
-IoDeleteDevice( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI NTSTATUS DDKAPI
-IoDeleteSymbolicLink( /*IN*/ PUNICODE_STRING SymbolicLinkName );
-
-/* VOID IoDeassignArcName( IN PUNICODE_STRING ArcName )
- */
-#define IoDeassignArcName IoDeleteSymbolicLink
-
-NTOSAPI VOID DDKAPI
-IoDetachDevice( /*IN OUT*/ PDEVICE_OBJECT TargetDevice );
-
-NTOSAPI VOID DDKAPI
-IoDisconnectInterrupt( /*IN*/ PKINTERRUPT InterruptObject );
-
-NTOSAPI BOOLEAN DDKAPI
-IoForwardIrpSynchronously( /*IN*/ PDEVICE_OBJECT DeviceObject, /*IN*/ PIRP Irp );
-
-#define IoForwardAndCatchIrp IoForwardIrpSynchronously
-
-NTOSAPI VOID DDKAPI
-IoFreeController( /*IN*/ PCONTROLLER_OBJECT ControllerObject );
-
-NTOSAPI VOID DDKAPI
-IoFreeErrorLogEntry( PVOID ElEntry );
-
-NTOSAPI VOID DDKAPI
-IoFreeIrp( /*IN*/ PIRP Irp );
-
-NTOSAPI VOID DDKAPI
-IoFreeMdl( /*IN*/ PMDL Mdl );
-
-NTOSAPI VOID DDKAPI
-IoFreeWorkItem( /*IN*/ PIO_WORKITEM pIOWorkItem );
-
-NTOSAPI PDEVICE_OBJECT DDKAPI
-IoGetAttachedDevice( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI PDEVICE_OBJECT DDKAPI
-IoGetAttachedDeviceReference( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI NTSTATUS DDKAPI
-IoGetBootDiskInformation(
-  /*IN OUT*/ PBOOTDISK_INFORMATION  BootDiskInformation,
-  /*IN*/ ULONG  Size
-);
-
-NTOSAPI PCONFIGURATION_INFORMATION DDKAPI
-IoGetConfigurationInformation( VOID );
-
-NTOSAPI PEPROCESS DDKAPI
-IoGetCurrentProcess( VOID );
-
-NTOSAPI NTSTATUS DDKAPI
-IoGetDeviceInterfaceAlias(
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName,
-  /*IN*/ CONST GUID  *AliasInterfaceClassGuid,
-  /*OUT*/ PUNICODE_STRING  AliasSymbolicLinkName
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoGetDeviceInterfaces(
-  /*IN*/ CONST GUID  *InterfaceClassGuid,
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject  /*OPTIONAL*/,
-  /*IN*/ ULONG  Flags,
-  /*OUT*/ PWSTR  *SymbolicLinkList
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoGetDeviceObjectPointer(
-  /*IN*/ PUNICODE_STRING  ObjectName,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PFILE_OBJECT  *FileObject,
-  /*OUT*/ PDEVICE_OBJECT  *DeviceObject
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoGetDeviceProperty(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ DEVICE_REGISTRY_PROPERTY  DeviceProperty,
-  /*IN*/ ULONG  BufferLength,
-  /*OUT*/ PVOID  PropertyBuffer,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI PDEVICE_OBJECT DDKAPI
-IoGetDeviceToVerify( /*IN*/ PETHREAD Thread );
-
-NTOSAPI PDMA_ADAPTER DDKAPI
-IoGetDmaAdapter(
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject,
-  /*IN*/ PDEVICE_DESCRIPTION  DeviceDescription,
-  /*IN OUT*/ PULONG  NumberOfMapRegisters
-);
-
-NTOSAPI PVOID DDKAPI
-IoGetDriverObjectExtension(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PVOID  ClientIdentificationAddress
-);
-
-NTOSAPI PGENERIC_MAPPING DDKAPI
-IoGetFileObjectGenericMapping( VOID );
-
-/* ULONG IoGetFunctionCodeFromCtlCode( IN ULONG ControlCode )
- */
-#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
- (((_ControlCode) >> 2) & 0x00000FFF)
-
-NTOSAPI PVOID DDKAPI
-IoGetInitialStack( VOID );
-
-NTOSAPI PDEVICE_OBJECT DDKAPI
-IoGetRelatedDeviceObject( /*IN*/ PFILE_OBJECT FileObject );
-
-NTOSAPI ULONG DDKAPI
-IoGetRemainingStackSize( VOID );
-
-NTOSAPI VOID DDKAPI
-IoGetStackLimits( /*OUT*/ PULONG_PTR LowLimit, /*OUT*/ PULONG_PTR HighLimit );
-
-NTOSAPI VOID DDKAPI
-KeInitializeDpc(
-  /*IN*/ PRKDPC  Dpc,
-  /*IN*/ PKDEFERRED_ROUTINE  DeferredRoutine,
-  /*IN*/ PVOID  DeferredContext
-);
-
-/* VOID IoInitializeDpcRequest(
- *   IN PDEVICE_OBJECT DeviceObject,
- *   IN PIO_DPC_ROUTINE DpcRoutine
- * )
- */
-#define IoInitializeDpcRequest(_DeviceObject, _DpcRoutine) \
- KeInitializeDpc(&(_DeviceObject)->Dpc, \
-     (PKDEFERRED_ROUTINE) (_DpcRoutine), _DeviceObject \
- )
-
-NTOSAPI VOID DDKAPI
-IoInitializeIrp(
-  /*IN OUT*/ PIRP  Irp,
-  /*IN*/ USHORT  PacketSize,
-  /*IN*/ CCHAR  StackSize
-);
-
-NTOSAPI VOID DDKAPI
-IoInitializeRemoveLockEx(
-  /*IN*/ PIO_REMOVE_LOCK Lock,
-  /*IN*/ ULONG   AllocateTag,
-  /*IN*/ ULONG   MaxLockedMinutes,
-  /*IN*/ ULONG   HighWatermark,
-  /*IN*/ ULONG   RemlockSize
-);
-
-/* VOID IoInitializeRemoveLock(
- *   IN PIO_REMOVE_LOCK  Lock,
- *   IN ULONG  AllocateTag,
- *   IN ULONG  MaxLockedMinutes,
- *   IN ULONG  HighWatermark
- * )
- */
-#define IoInitializeRemoveLock(Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
- IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
-     HighWatermark, sizeof(IO_REMOVE_LOCK) \
- )
-
-NTOSAPI NTSTATUS DDKAPI
-IoInitializeTimer(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIO_TIMER_ROUTINE  TimerRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI VOID DDKAPI
-IoInvalidateDeviceRelations(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ DEVICE_RELATION_TYPE  Type
-);
-
-NTOSAPI VOID DDKAPI
-IoInvalidateDeviceState( /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject );
-
-NTOSAPI BOOLEAN DDKAPI
-IoIs32bitProcess( /*IN*/ PIRP Irp /*OPTIONAL*/ );
-
-/* BOOLEAN IoIsErrorUserInduced( IN NTSTATUS Status )
- */
-#define IoIsErrorUserInduced( Status ) \
- ((BOOLEAN)(((Status) == STATUS_DEVICE_NOT_READY) \
- || ((Status) == STATUS_IO_TIMEOUT) \
- || ((Status) == STATUS_MEDIA_WRITE_PROTECTED) \
- || ((Status) == STATUS_NO_MEDIA_IN_DEVICE) \
- || ((Status) == STATUS_VERIFY_REQUIRED) \
- || ((Status) == STATUS_UNRECOGNIZED_MEDIA) \
- || ((Status) == STATUS_WRONG_VOLUME)))
-
-NTOSAPI BOOLEAN DDKAPI
-IoIsWdmVersionAvailable( /*IN*/ UCHAR MajorVersion, /*IN*/ UCHAR MinorVersion );
-
-NTOSAPI PIRP DDKAPI
-IoMakeAssociatedIrp( /*IN*/ PIRP Irp, /*IN*/ CCHAR StackSize );
-
-/* VOID IoMarkIrpPending( IN OUT PIRP Irp )
- */
-#define IoMarkIrpPending(_Irp) \
- (IoGetCurrentIrpStackLocation(_Irp)->Control |= SL_PENDING_RETURNED)
-
-NTOSAPI NTSTATUS DDKAPI
-IoOpenDeviceInterfaceRegistryKey(
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE  DeviceInterfaceKey
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoOpenDeviceRegistryKey(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  DevInstKeyType,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*OUT*/ PHANDLE  DevInstRegKey
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoQueryDeviceDescription(
-  /*IN*/ PINTERFACE_TYPE  BusType  /*OPTIONAL*/,
-  /*IN*/ PULONG  BusNumber  /*OPTIONAL*/,
-  /*IN*/ PCONFIGURATION_TYPE  ControllerType  /*OPTIONAL*/,
-  /*IN*/ PULONG  ControllerNumber  /*OPTIONAL*/,
-  /*IN*/ PCONFIGURATION_TYPE  PeripheralType  /*OPTIONAL*/,
-  /*IN*/ PULONG  PeripheralNumber  /*OPTIONAL*/,
-  /*IN*/ PIO_QUERY_DEVICE_ROUTINE  CalloutRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI VOID DDKAPI
-IoQueueWorkItem(
-  /*IN*/ PIO_WORKITEM  pIOWorkItem,
-  /*IN*/ PIO_WORKITEM_ROUTINE  Routine,
-  /*IN*/ WORK_QUEUE_TYPE  QueueType,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI VOID DDKAPI
-IoRaiseHardError(
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PVPB  Vpb  /*OPTIONAL*/,
-  /*IN*/ PDEVICE_OBJECT  RealDeviceObject
-);
-
-NTOSAPI BOOLEAN DDKAPI
-IoRaiseInformationalHardError(
-  /*IN*/ NTSTATUS  ErrorStatus,
-  /*IN*/ PUNICODE_STRING  String  /*OPTIONAL*/,
-  /*IN*/ PKTHREAD  Thread  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReadDiskSignature(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  BytesPerSector,
-  /*OUT*/ PDISK_SIGNATURE  Signature
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReadPartitionTableEx(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX  **PartitionBuffer
-);
-
-NTOSAPI VOID DDKAPI
-IoRegisterBootDriverReinitialization(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDRIVER_REINITIALIZE  DriverReinitializationRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI VOID DDKAPI
-IoRegisterBootDriverReinitialization(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDRIVER_REINITIALIZE  DriverReinitializationRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoRegisterDeviceInterface(
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject,
-  /*IN*/ CONST GUID  *InterfaceClassGuid,
-  /*IN*/ PUNICODE_STRING  ReferenceString  /*OPTIONAL*/,
-  /*OUT*/ PUNICODE_STRING  SymbolicLinkName
-);
-
-NTOSAPI VOID DDKAPI
-IoRegisterDriverReinitialization(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDRIVER_REINITIALIZE  DriverReinitializationRoutine,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoRegisterPlugPlayNotification(
-  /*IN*/ IO_NOTIFICATION_EVENT_CATEGORY  EventCategory,
-  /*IN*/ ULONG  EventCategoryFlags,
-  /*IN*/ PVOID  EventCategoryData  /*OPTIONAL*/,
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDRIVER_NOTIFICATION_CALLBACK_ROUTINE  CallbackRoutine,
-  /*IN*/ PVOID  Context,
-  /*OUT*/ PVOID  *NotificationEntry
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoRegisterShutdownNotification( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI VOID DDKAPI
-IoReleaseCancelSpinLock( /*IN*/ KIRQL Irql );
-
-NTOSAPI VOID DDKAPI
-IoReleaseRemoveLockAndWaitEx(
-  /*IN*/ PIO_REMOVE_LOCK  RemoveLock,
-  /*IN*/ PVOID  Tag,
-  /*IN*/ ULONG  RemlockSize
-);
-
-/* VOID IoReleaseRemoveLockAndWait(
- *   IN PIO_REMOVE_LOCK  RemoveLock,
- *   IN PVOID  Tag
- * )
- */
-#define IoReleaseRemoveLockAndWait(_RemoveLock, _Tag) \
- IoReleaseRemoveLockAndWaitEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI VOID DDKAPI
-IoReleaseRemoveLockEx(
-  /*IN*/ PIO_REMOVE_LOCK  RemoveLock,
-  /*IN*/ PVOID  Tag,
-  /*IN*/ ULONG  RemlockSize
-);
-
-/* VOID IoReleaseRemoveLock(
- *   IN PIO_REMOVE_LOCK  RemoveLock,
- *   IN PVOID  Tag
- * )
- */
-#define IoReleaseRemoveLock(_RemoveLock, _Tag) \
- IoReleaseRemoveLockEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI VOID DDKAPI
-IoRemoveShareAccess(
-  /*IN*/ PFILE_OBJECT  FileObject,
-  /*IN OUT*/ PSHARE_ACCESS  ShareAccess
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReportDetectedDevice(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ INTERFACE_TYPE  LegacyBusType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PCM_RESOURCE_LIST  ResourceList,
-  /*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST  ResourceRequirements  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  ResourceAssigned,
-  /*IN OUT*/ PDEVICE_OBJECT  *DeviceObject
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReportResourceForDetection(
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PCM_RESOURCE_LIST  DriverList  /*OPTIONAL*/,
-  /*IN*/ ULONG  DriverListSize  /*OPTIONAL*/,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject  /*OPTIONAL*/,
-  /*IN*/ PCM_RESOURCE_LIST  DeviceList  /*OPTIONAL*/,
-  /*IN*/ ULONG  DeviceListSize  /*OPTIONAL*/,
-  /*OUT*/ PBOOLEAN  ConflictDetected
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReportResourceUsage(
-  /*IN*/ PUNICODE_STRING  DriverClassName  /*OPTIONAL*/,
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PCM_RESOURCE_LIST  DriverList  /*OPTIONAL*/,
-  /*IN*/ ULONG  DriverListSize  /*OPTIONAL*/,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PCM_RESOURCE_LIST  DeviceList  /*OPTIONAL*/,
-  /*IN*/ ULONG  DeviceListSize  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  OverrideConflict,
-  /*OUT*/ PBOOLEAN  ConflictDetected
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReportTargetDeviceChange(
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject,
-  /*IN*/ PVOID  NotificationStructure
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoReportTargetDeviceChangeAsynchronous(
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject,
-  /*IN*/ PVOID  NotificationStructure,
-  /*IN*/ PDEVICE_CHANGE_COMPLETE_CALLBACK  Callback  /*OPTIONAL*/,
-  /*IN*/ PVOID  Context  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-IoRequestDeviceEject( /*IN*/ PDEVICE_OBJECT PhysicalDeviceObject );
-
-/* VOID IoRequestDpc(
- *   IN PDEVICE_OBJECT  DeviceObject,
- *   IN PIRP  Irp,
- *   IN PVOID  Context
- * )
- */
-#define IoRequestDpc(DeviceObject, Irp, Context) \
- (KeInsertQueueDpc(&(DeviceObject)->Dpc, (Irp), (Context)))
-
-NTOSAPI VOID DDKAPI
-IoReuseIrp( /*IN OUT*/ PIRP Irp, /*IN*/ NTSTATUS Status );
-
-/* PDRIVER_CANCEL IoSetCancelRoutine(
- *   IN PIRP  Irp,
- *   IN PDRIVER_CANCEL  CancelRoutine
- * )
- */
-#define IoSetCancelRoutine(_Irp, _CancelRoutine) \
- ((PDRIVER_CANCEL)(InterlockedExchangePointer( \
-    (PVOID *)(&(_Irp)->CancelRoutine), (PVOID)(_CancelRoutine)) \
- ))
-
-/* VOID IoSetCompletionRoutine(
- *   IN PIRP  Irp,
- *   IN PIO_COMPLETION_ROUTINE  CompletionRoutine,
- *   IN PVOID  Context,
- *   IN BOOLEAN  InvokeOnSuccess,
- *   IN BOOLEAN  InvokeOnError,
- *   IN BOOLEAN  InvokeOnCancel
- * )
- */
-#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, \
- _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel \
- ) \
- { PIO_STACK_LOCATION _IrpSp; \
-   ASSERT(_InvokeOnSuccess || _InvokeOnError || _InvokeOnCancel ? \
-      _CompletionRoutine != NULL : TRUE); \
-   _IrpSp = IoGetNextIrpStackLocation(_Irp); \
-   _IrpSp->CompletionRoutine = (PIO_COMPLETION_ROUTINE)(_CompletionRoutine); \
-	_IrpSp->Context = (_Context); \
-   _IrpSp->Control = 0; \
-   if (_InvokeOnSuccess) _IrpSp->Control = SL_INVOKE_ON_SUCCESS; \
-   if (_InvokeOnError) _IrpSp->Control |= SL_INVOKE_ON_ERROR; \
-   if (_InvokeOnCancel) _IrpSp->Control |= SL_INVOKE_ON_CANCEL; \
- }
-
-NTOSAPI VOID DDKAPI
-IoSetCompletionRoutineEx(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PIO_COMPLETION_ROUTINE  CompletionRoutine,
-  /*IN*/ PVOID  Context,
-  /*IN*/ BOOLEAN    InvokeOnSuccess,
-  /*IN*/ BOOLEAN  InvokeOnError,
-  /*IN*/ BOOLEAN  InvokeOnCancel
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoSetDeviceInterfaceState(
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName,
-  /*IN*/ BOOLEAN  Enable
-);
-
-NTOSAPI VOID DDKAPI
-IoSetHardErrorOrVerifyDevice(
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject
-);
-
-/* VOID IoSetNextIrpStackLocation( IN OUT PIRP Irp )
- */
-#define IoSetNextIrpStackLocation(_Irp) \
- { (_Irp)->CurrentLocation--; \
-   (_Irp)->Tail.Overlay.CurrentStackLocation--; \
- }
-
-NTOSAPI NTSTATUS DDKAPI
-IoSetPartitionInformationEx(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  PartitionNumber,
-  /*IN*/ struct _SET_PARTITION_INFORMATION_EX  *PartitionInfo
-);
-
-NTOSAPI VOID DDKAPI
-IoSetShareAccess(
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG  DesiredShareAccess,
-  /*IN OUT*/ PFILE_OBJECT  FileObject,
-  /*OUT*/ PSHARE_ACCESS  ShareAccess
-);
-
-NTOSAPI VOID DDKAPI
-IoSetStartIoAttributes(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ BOOLEAN  DeferredStartIo,
-  /*IN*/ BOOLEAN  NonCancelable
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoSetSystemPartition( /*IN*/ PUNICODE_STRING VolumeNameString );
-
-NTOSAPI BOOLEAN DDKAPI
-IoSetThreadHardErrorMode( /*IN*/ BOOLEAN EnableHardErrors );
-
-/* USHORT IoSizeOfIrp( IN CCHAR StackSize )
- */
-#define IoSizeOfIrp(_StackSize) \
- ((USHORT) (sizeof(IRP) + ((_StackSize) * (sizeof(IO_STACK_LOCATION)))))
-
-/* VOID IoSkipCurrentIrpStackLocation( IN PIRP Irp )
- */
-#define IoSkipCurrentIrpStackLocation(_Irp) \
- { (_Irp)->CurrentLocation++; \
-   (_Irp)->Tail.Overlay.CurrentStackLocation++; \
- }
-
-NTOSAPI VOID DDKAPI
-IoStartNextPacket(
-  /*IN*/ PDEVICE_OBJECT DeviceObject,
-  /*IN*/ BOOLEAN Cancelable
-);
-
-NTOSAPI VOID DDKAPI
-IoStartNextPacketByKey(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ BOOLEAN  Cancelable,
-  /*IN*/ ULONG  Key
-);
-
-NTOSAPI VOID DDKAPI
-IoStartPacket(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/,
-  /*IN*/ PDRIVER_CANCEL  CancelFunction  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-IoStartTimer( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI VOID DDKAPI
-IoStopTimer( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI NTSTATUS DDKAPI
-IoUnregisterPlugPlayNotification( /*IN*/ PVOID NotificationEntry );
-
-NTOSAPI VOID DDKAPI
-IoUnregisterShutdownNotification( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI VOID DDKAPI
-IoUpdateShareAccess(
-  /*IN*/ PFILE_OBJECT  FileObject,
-  /*IN OUT*/ PSHARE_ACCESS  ShareAccess
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoVerifyPartitionTable(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ BOOLEAN  FixErrors
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoVolumeDeviceToDosName(
-  /*IN*/ PVOID  VolumeDeviceObject,
-  /*OUT*/ PUNICODE_STRING  DosName
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIAllocateInstanceIds(
-  /*IN*/ GUID  *Guid,
-  /*IN*/ ULONG  InstanceCount,
-  /*OUT*/ ULONG  *FirstInstanceId
-);
-
-NTOSAPI ULONG DDKAPI
-IoWMIDeviceObjectToProviderId( /*IN*/ PDEVICE_OBJECT DeviceObject );
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIDeviceObjectToInstanceName(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*OUT*/ PUNICODE_STRING  InstanceName
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIExecuteMethod(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ PUNICODE_STRING  InstanceName,
-  /*IN*/ ULONG  MethodId,
-  /*IN*/ ULONG  InBufferSize,
-  /*IN OUT*/ PULONG  OutBufferSize,
-  /*IN OUT*/  PUCHAR  InOutBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIHandleToInstanceName(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PUNICODE_STRING  InstanceName
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIOpenBlock(
-  /*IN*/ GUID  *DataBlockGuid,
-  /*IN*/ ULONG  DesiredAccess,
-  /*OUT*/ PVOID  *DataBlockObject
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIQueryAllData(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN OUT*/ ULONG  *InOutBufferSize,
-  /*OUT*/ PVOID  OutBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIQueryAllDataMultiple(
-  /*IN*/ PVOID  *DataBlockObjectList,
-  /*IN*/ ULONG  ObjectCount,
-  /*IN OUT*/ ULONG  *InOutBufferSize,
-  /*OUT*/ PVOID  OutBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIQuerySingleInstance(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ PUNICODE_STRING  InstanceName,
-  /*IN OUT*/ ULONG  *InOutBufferSize,
-  /*OUT*/ PVOID OutBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIQuerySingleInstanceMultiple(
-  /*IN*/ PVOID  *DataBlockObjectList,
-  /*IN*/ PUNICODE_STRING  InstanceNames,
-  /*IN*/ ULONG  ObjectCount,
-  /*IN OUT*/ ULONG  *InOutBufferSize,
-  /*OUT*/ PVOID  OutBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIRegistrationControl(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  Action
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMISetNotificationCallback(
-  /*IN*/ PVOID  Object,
-  /*IN*/ WMI_NOTIFICATION_CALLBACK  Callback,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMISetSingleInstance(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ PUNICODE_STRING  InstanceName,
-  /*IN*/ ULONG  Version,
-  /*IN*/ ULONG  ValueBufferSize,
-  /*IN*/ PVOID  ValueBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMISetSingleItem(
-  /*IN*/ PVOID  DataBlockObject,
-  /*IN*/ PUNICODE_STRING  InstanceName,
-  /*IN*/ ULONG  DataItemId,
-  /*IN*/ ULONG  Version,
-  /*IN*/ ULONG  ValueBufferSize,
-  /*IN*/ PVOID  ValueBuffer
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMISuggestInstanceName(
-  /*IN*/ PDEVICE_OBJECT  PhysicalDeviceObject /*OPTIONAL*/,
-  /*IN*/ PUNICODE_STRING  SymbolicLinkName /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  CombineNames,
-  /*OUT*/ PUNICODE_STRING  SuggestedInstanceName
-);
-
-NTOSAPI NTSTATUS DDKAPI
-IoWMIWriteEvent( /*IN*/ PVOID WnodeEventItem );
-
-NTOSAPI VOID DDKAPI
-IoWriteErrorLogEntry( /*IN*/ PVOID ElEntry );
-
-NTOSAPI NTSTATUS DDKAPI
-IoWritePartitionTableEx(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ struct _DRIVE_LAYOUT_INFORMATION_EX  *PartitionBuffer
-);
-
-
-
-/** Kernel routines **/
-
-NTOSAPI VOID DDKFASTAPI
-KeAcquireInStackQueuedSpinLock(
-  /*IN*/ PKSPIN_LOCK  SpinLock,
-  /*IN*/ PKLOCK_QUEUE_HANDLE  LockHandle
-);
-
-NTOSAPI VOID DDKFASTAPI
-KeAcquireInStackQueuedSpinLockAtDpcLevel(
-  /*IN*/ PKSPIN_LOCK  SpinLock,
-  /*IN*/ PKLOCK_QUEUE_HANDLE  LockHandle
-);
-
-NTOSAPI KIRQL DDKAPI
-KeAcquireInterruptSpinLock( /*IN*/ PKINTERRUPT Interrupt );
-
-NTOSAPI VOID DDKAPI
-KeAcquireSpinLock( /*IN*/ PKSPIN_LOCK SpinLock, /*OUT*/ PKIRQL OldIrql );
-
-/* System Service Dispatch Table */
-typedef PVOID (NTAPI * SSDT)(VOID);
-typedef SSDT * PSSDT;
-
-/* System Service Parameters Table */
-typedef UCHAR SSPT, * PSSPT;
-
-typedef
-struct _SSDT_ENTRY
-{ PSSDT 			SSDT;
-  PULONG			ServiceCounterTable;
-  ULONG 			NumberOfServices;
-  PSSPT 			SSPT;
-} SSDT_ENTRY, *PSSDT_ENTRY;
-
-NTOSAPI BOOLEAN DDKAPI
-KeAddSystemServiceTable(
-  /*IN*/ PSSDT  SSDT,
-  /*IN*/ PULONG  ServiceCounterTable,
-  /*IN*/ ULONG  NumberOfServices,
-  /*IN*/ PSSPT  SSPT,
-  /*IN*/ ULONG  TableIndex
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeAreApcsDisabled( VOID );
-
-NTOSAPI VOID DDKAPI
-KeAttachProcess( /*IN*/ PEPROCESS Process );
-
-NTOSAPI VOID DDKAPI
-KeBugCheck( /*IN*/ ULONG BugCheckCode );
-
-NTOSAPI VOID DDKAPI
-KeBugCheckEx(
-  /*IN*/ ULONG  BugCheckCode,
-  /*IN*/ ULONG_PTR  BugCheckParameter1,
-  /*IN*/ ULONG_PTR  BugCheckParameter2,
-  /*IN*/ ULONG_PTR  BugCheckParameter3,
-  /*IN*/ ULONG_PTR  BugCheckParameter4
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeCancelTimer( /*IN*/ PKTIMER Timer );
-
-NTOSAPI VOID DDKAPI
-KeClearEvent( /*IN*/ PRKEVENT Event );
-
-NTOSAPI NTSTATUS DDKAPI
-KeDelayExecutionThread(
-  /*IN*/ KPROCESSOR_MODE  WaitMode,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Interval
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeDeregisterBugCheckCallback( /*IN*/ PKBUGCHECK_CALLBACK_RECORD CallbackRecord );
-
-NTOSAPI VOID DDKAPI
-KeDetachProcess( VOID );
-
-NTOSAPI VOID DDKAPI
-KeEnterCriticalRegion( VOID );
-
-/* VOID KeFlushIoBuffers(
- *   IN PMDL  Mdl,
- *   IN BOOLEAN  ReadOperation,
- *   IN BOOLEAN  DmaOperation
- * )
- */
-#define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
-
-NTOSAPI VOID DDKAPI
-KeFlushQueuedDpcs( VOID );
-
-NTOSAPI PRKTHREAD DDKAPI
-KeGetCurrentThread( VOID );
-
-NTOSAPI KPROCESSOR_MODE DDKAPI
-KeGetPreviousMode( VOID );
-
-NTOSAPI ULONG DDKAPI
-KeGetRecommendedSharedDataAlignment( VOID );
-
-NTOSAPI VOID DDKAPI
-KeInitializeApc(
-  /*IN*/ PKAPC  Apc,
-  /*IN*/ PKTHREAD  Thread,
-  /*IN*/ UCHAR  StateIndex,
-  /*IN*/ PKKERNEL_ROUTINE  KernelRoutine,
-  /*IN*/ PKRUNDOWN_ROUTINE  RundownRoutine,
-  /*IN*/ PKNORMAL_ROUTINE  NormalRoutine,
-  /*IN*/ UCHAR  Mode,
-  /*IN*/ PVOID  Context
-);
-
-NTOSAPI VOID DDKAPI
-KeInitializeDeviceQueue( /*IN*/ PKDEVICE_QUEUE DeviceQueue );
-
-NTOSAPI VOID DDKAPI
-KeInitializeMutex( /*IN*/ PRKMUTEX Mutex, /*IN*/ ULONG Level );
-
-NTOSAPI VOID DDKAPI
-KeInitializeSemaphore(
-  /*IN*/ PRKSEMAPHORE  Semaphore,
-  /*IN*/ LONG  Count,
-  /*IN*/ LONG  Limit
-);
-
-NTOSAPI VOID DDKAPI
-KeInitializeSpinLock( /*IN*/ PKSPIN_LOCK SpinLock );
-
-NTOSAPI VOID DDKAPI
-KeInitializeTimer( /*IN*/ PKTIMER Timer );
-
-NTOSAPI VOID DDKAPI
-KeInitializeTimerEx( /*IN*/ PKTIMER Timer, /*IN*/ TIMER_TYPE Type );
-
-NTOSAPI BOOLEAN DDKAPI
-KeInsertByKeyDeviceQueue(
-  /*IN*/ PKDEVICE_QUEUE  DeviceQueue,
-  /*IN*/ PKDEVICE_QUEUE_ENTRY  DeviceQueueEntry,
-  /*IN*/ ULONG  SortKey
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeInsertDeviceQueue(
-  /*IN*/ PKDEVICE_QUEUE  DeviceQueue,
-  /*IN*/ PKDEVICE_QUEUE_ENTRY  DeviceQueueEntry
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeInsertQueueDpc(
-  /*IN*/ PRKDPC  Dpc,
-  /*IN*/ PVOID  SystemArgument1,
-  /*IN*/ PVOID  SystemArgument2
-);
-
-NTOSAPI VOID DDKAPI
-KeLeaveCriticalRegion( VOID );
-
-static FORCEINLINE
-void KeMemoryBarrier (void) { MemoryBarrier(); }
-
-NTOSAPI NTSTATUS DDKAPI
-KePulseEvent(
-  /*IN*/ PRKEVENT  Event,
-  /*IN*/ KPRIORITY  Increment,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI ULONGLONG DDKAPI
-KeQueryInterruptTime( VOID );
-
-NTOSAPI LARGE_INTEGER DDKAPI
-KeQueryPerformanceCounter(
-  /*OUT*/ PLARGE_INTEGER  PerformanceFrequency  /*OPTIONAL*/
-);
-
-NTOSAPI KPRIORITY DDKAPI
-KeQueryPriorityThread( /*IN*/ PRKTHREAD Thread );
-
-NTOSAPI VOID DDKAPI
-KeQuerySystemTime( /*OUT*/ PLARGE_INTEGER CurrentTime );
-
-NTOSAPI VOID DDKAPI
-KeQueryTickCount( /*OUT*/ PLARGE_INTEGER TickCount );
-
-NTOSAPI ULONG DDKAPI
-KeQueryTimeIncrement( VOID );
-
-NTOSAPI LONG DDKAPI
-KeReadStateEvent( /*IN*/ PRKEVENT Event );
-
-NTOSAPI LONG DDKAPI
-KeReadStateMutex( /*IN*/ PRKMUTEX Mutex );
-
-NTOSAPI LONG DDKAPI
-KeReadStateSemaphore( /*IN*/ PRKSEMAPHORE Semaphore );
-
-NTOSAPI BOOLEAN DDKAPI
-KeReadStateTimer( /*IN*/ PKTIMER Timer );
-
-NTOSAPI BOOLEAN DDKAPI
-KeRegisterBugCheckCallback(
-  /*IN*/ PKBUGCHECK_CALLBACK_RECORD  CallbackRecord,
-  /*IN*/ PKBUGCHECK_CALLBACK_ROUTINE  CallbackRoutine,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PUCHAR  Component
-);
-
-NTOSAPI VOID DDKFASTAPI
-KeReleaseInStackQueuedSpinLock( /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle );
-
-NTOSAPI VOID DDKFASTAPI
-KeReleaseInStackQueuedSpinLockFromDpcLevel(
-  /*IN*/ PKLOCK_QUEUE_HANDLE LockHandle
-);
-
-NTOSAPI VOID DDKAPI
-KeReleaseInterruptSpinLock( /*IN*/ PKINTERRUPT Interrupt, /*IN*/ KIRQL OldIrql );
-
-NTOSAPI LONG DDKAPI
-KeReleaseMutex( /*IN*/ PRKMUTEX Mutex, /*IN*/ BOOLEAN Wait );
-
-NTOSAPI LONG DDKAPI
-KeReleaseSemaphore(
-  /*IN*/ PRKSEMAPHORE  Semaphore,
-  /*IN*/ KPRIORITY  Increment,
-  /*IN*/ LONG  Adjustment,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI VOID DDKAPI
-KeReleaseSpinLock( /*IN*/ PKSPIN_LOCK SpinLock, /*IN*/ KIRQL NewIrql );
-
-NTOSAPI PKDEVICE_QUEUE_ENTRY DDKAPI
-KeRemoveByKeyDeviceQueue(
-  /*IN*/ PKDEVICE_QUEUE  DeviceQueue,
-  /*IN*/ ULONG  SortKey
-);
-
-NTOSAPI PKDEVICE_QUEUE_ENTRY DDKAPI
-KeRemoveDeviceQueue( /*IN*/ PKDEVICE_QUEUE DeviceQueue );
-
-NTOSAPI BOOLEAN DDKAPI
-KeRemoveEntryDeviceQueue(
-  /*IN*/ PKDEVICE_QUEUE  DeviceQueue,
-  /*IN*/ PKDEVICE_QUEUE_ENTRY  DeviceQueueEntry
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeRemoveQueueDpc( /*IN*/ PRKDPC Dpc );
-
-NTOSAPI LONG DDKAPI
-KeResetEvent( /*IN*/ PRKEVENT Event );
-
-NTOSAPI NTSTATUS DDKAPI
-KeRestoreFloatingPointState( /*IN*/ PKFLOATING_SAVE FloatSave );
-
-NTOSAPI NTSTATUS DDKAPI
-KeSaveFloatingPointState( /*OUT*/ PKFLOATING_SAVE FloatSave );
-
-NTOSAPI LONG DDKAPI
-KeSetBasePriorityThread( /*IN*/ PRKTHREAD Thread, /*IN*/ LONG Increment );
-
-NTOSAPI LONG DDKAPI
-KeSetEvent(
-  /*IN*/ PRKEVENT  Event,
-  /*IN*/ KPRIORITY  Increment,
-  /*IN*/ BOOLEAN  Wait
-);
-
-NTOSAPI VOID DDKAPI
-KeSetImportanceDpc( /*IN*/ PRKDPC Dpc, /*IN*/ KDPC_IMPORTANCE Importance );
-
-NTOSAPI KPRIORITY DDKAPI
-KeSetPriorityThread( /*IN*/ PKTHREAD Thread, /*IN*/ KPRIORITY Priority );
-
-NTOSAPI VOID DDKAPI
-KeSetTargetProcessorDpc( /*IN*/ PRKDPC Dpc, /*IN*/ CCHAR Number );
-
-NTOSAPI BOOLEAN DDKAPI
-KeSetTimer(
-  /*IN*/ PKTIMER  Timer,
-  /*IN*/ LARGE_INTEGER  DueTime,
-  /*IN*/ PKDPC  Dpc  /*OPTIONAL*/
-);
-
-NTOSAPI BOOLEAN DDKAPI
-KeSetTimerEx(
-  /*IN*/ PKTIMER  Timer,
-  /*IN*/ LARGE_INTEGER  DueTime,
-  /*IN*/ LONG  Period  /*OPTIONAL*/,
-  /*IN*/ PKDPC  Dpc  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKFASTAPI
-KeSetTimeUpdateNotifyRoutine( /*IN*/ PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine );
-
-NTOSAPI VOID DDKAPI
-KeStallExecutionProcessor( /*IN*/ ULONG MicroSeconds );
-
-NTOSAPI BOOLEAN DDKAPI
-KeSynchronizeExecution(
-  /*IN*/ PKINTERRUPT    Interrupt,
-  /*IN*/ PKSYNCHRONIZE_ROUTINE  SynchronizeRoutine,
-  /*IN*/ PVOID  SynchronizeContext
-);
-
-NTOSAPI NTSTATUS DDKAPI
-KeWaitForMultipleObjects(
-  /*IN*/ ULONG  Count,
-  /*IN*/ PVOID  Object[],
-  /*IN*/ WAIT_TYPE  WaitType,
-  /*IN*/ KWAIT_REASON  WaitReason,
-  /*IN*/ KPROCESSOR_MODE  WaitMode,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Timeout  /*OPTIONAL */,
-  /*IN*/ PKWAIT_BLOCK  WaitBlockArray  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-KeWaitForMutexObject(
-  /*IN*/ PRKMUTEX  Mutex,
-  /*IN*/ KWAIT_REASON  WaitReason,
-  /*IN*/ KPROCESSOR_MODE  WaitMode,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Timeout  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-KeWaitForSingleObject(
-  /*IN*/ PVOID  Object,
-  /*IN*/ KWAIT_REASON  WaitReason,
-  /*IN*/ KPROCESSOR_MODE  WaitMode,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Timeout  /*OPTIONAL*/
-);
-
-NTOSAPI VOID DDKAPI
-KeRaiseIrql( /*IN*/ KIRQL new_irql, /*OUT*/ PKIRQL old_irql );
-
-NTOSAPI VOID DDKAPI
-KeLowerIrql( /*IN*/ KIRQL irql );
-
-NTOSAPI KIRQL DDKAPI
-KeRaiseIrqlToDpcLevel( VOID );
-
-/** Memory manager routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-MmAdvanceMdl( /*IN*/ PMDL Mdl, /*IN*/ ULONG NumberOfBytes );
-
-NTOSAPI PVOID DDKAPI
-MmAllocateContiguousMemory(
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ PHYSICAL_ADDRESS  HighestAcceptableAddress
-);
-
-NTOSAPI PVOID DDKAPI
-MmAllocateContiguousMemorySpecifyCache(
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ PHYSICAL_ADDRESS  LowestAcceptableAddress,
-  /*IN*/ PHYSICAL_ADDRESS  HighestAcceptableAddress,
-  /*IN*/ PHYSICAL_ADDRESS  BoundaryAddressMultiple  /*OPTIONAL*/,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheType
-);
-
-NTOSAPI PVOID DDKAPI
-MmAllocateMappingAddress( /*IN*/ SIZE_T NumberOfBytes, /*IN*/ ULONG PoolTag );
-
-NTOSAPI PVOID DDKAPI
-MmAllocateNonCachedMemory( /*IN*/ ULONG NumberOfBytes );
-
-NTOSAPI PMDL DDKAPI
-MmAllocatePagesForMdl(
-  /*IN*/ PHYSICAL_ADDRESS  LowAddress,
-  /*IN*/ PHYSICAL_ADDRESS  HighAddress,
-  /*IN*/ PHYSICAL_ADDRESS  SkipBytes,
-  /*IN*/ SIZE_T  TotalBytes
-);
-
-NTOSAPI VOID DDKAPI
-MmBuildMdlForNonPagedPool( /*IN OUT*/ PMDL MemoryDescriptorList );
-
-NTOSAPI NTSTATUS DDKAPI
-MmCreateSection(
-  /*OUT*/ PSECTION_OBJECT  *SectionObject,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes  /*OPTIONAL*/,
-  /*IN*/ PLARGE_INTEGER  MaximumSize,
-  /*IN*/ ULONG  SectionPageProtection,
-  /*IN*/ ULONG  AllocationAttributes,
-  /*IN*/ HANDLE  FileHandle  /*OPTIONAL*/,
-  /*IN*/ PFILE_OBJECT  File  /*OPTIONAL*/
-);
-
-typedef
-enum _MMFLUSH_TYPE
-{ MmFlushForDelete,
-  MmFlushForWrite
-} MMFLUSH_TYPE;
-
-NTOSAPI BOOLEAN DDKAPI
-MmFlushImageSection(
-  /*IN*/ PSECTION_OBJECT_POINTERS  SectionObjectPointer,
-  /*IN*/ MMFLUSH_TYPE  FlushType
-);
-
-NTOSAPI VOID DDKAPI
-MmFreeContiguousMemory( /*IN*/ PVOID BaseAddress );
-
-NTOSAPI VOID DDKAPI
-MmFreeContiguousMemorySpecifyCache(
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheType
-);
-
-NTOSAPI VOID DDKAPI
-MmFreeMappingAddress( /*IN*/ PVOID BaseAddress, /*IN*/ ULONG PoolTag );
-
-NTOSAPI VOID DDKAPI
-MmFreeNonCachedMemory( /*IN*/ PVOID BaseAddress, /*IN*/ SIZE_T NumberOfBytes );
-
-NTOSAPI VOID DDKAPI
-MmFreePagesFromMdl( /*IN*/ PMDL MemoryDescriptorList );
-
-/* ULONG MmGetMdlByteCount( IN PMDL Mdl )
- */
-#define MmGetMdlByteCount(_Mdl)  ((_Mdl)->ByteCount)
-
-/* ULONG MmGetMdlByteOffset( IN PMDL Mdl )
- */
-#define MmGetMdlByteOffset(_Mdl)  ((_Mdl)->ByteOffset)
-
-/* PPFN_NUMBER MmGetMdlPfnArray( IN PMDL Mdl )
- */
-#define MmGetMdlPfnArray(_Mdl)  ((PPFN_NUMBER)((_Mdl) + 1))
-
-/* PVOID MmGetMdlVirtualAddress( IN PMDL Mdl )
- */
-#define MmGetMdlVirtualAddress(_Mdl) \
- ((PVOID) ((PCHAR) ((_Mdl)->StartVa) + (_Mdl)->ByteOffset))
-
-NTOSAPI PHYSICAL_ADDRESS DDKAPI
-MmGetPhysicalAddress( /*IN*/ PVOID BaseAddress );
-
-NTOSAPI PPHYSICAL_MEMORY_RANGE DDKAPI
-MmGetPhysicalMemoryRanges( VOID );
-
-NTOSAPI PVOID DDKAPI
-MmGetVirtualForPhysical( /*IN*/ PHYSICAL_ADDRESS PhysicalAddress );
-
-NTOSAPI PVOID DDKAPI
-MmMapLockedPagesSpecifyCache(
-  /*IN*/ PMDL  MemoryDescriptorList,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheType,
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  BugCheckOnFailure,
-  /*IN*/ MM_PAGE_PRIORITY  Priority
-);
-
-NTOSAPI PVOID DDKAPI
-MmMapLockedPagesWithReservedMapping(
-  /*IN*/ PVOID  MappingAddress,
-  /*IN*/ ULONG  PoolTag,
-  /*IN*/ PMDL  MemoryDescriptorList,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmMapUserAddressesToPage(
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ PVOID  PageAddress
-);
-
-NTOSAPI PVOID DDKAPI
-MmMapVideoDisplay(
-  /*IN*/ PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN*/ SIZE_T  NumberOfBytes,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmMapViewInSessionSpace(
-  /*IN*/ PVOID  Section,
-  /*OUT*/ PVOID  *MappedBase,
-  /*IN OUT*/ PSIZE_T  ViewSize
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmMapViewInSystemSpace(
-  /*IN*/ PVOID  Section,
-  /*OUT*/ PVOID  *MappedBase,
-  /*IN*/ PSIZE_T  ViewSize
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmMarkPhysicalMemoryAsBad(
-  /*IN*/ PPHYSICAL_ADDRESS  StartAddress,
-  /*IN OUT*/ PLARGE_INTEGER  NumberOfBytes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmMarkPhysicalMemoryAsGood(
-  /*IN*/ PPHYSICAL_ADDRESS  StartAddress,
-  /*IN OUT*/ PLARGE_INTEGER  NumberOfBytes
-);
-
-/* PVOID MmGetSystemAddressForMdlSafe(
- *   IN PMDL  Mdl,
- *   IN MM_PAGE_PRIORITY  Priority
- * )
- */
-#define MmGetSystemAddressForMdlSafe(_Mdl, _Priority) \
- ((_Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA \
-   | MDL_SOURCE_IS_NONPAGED_POOL)) \
-   ? (_Mdl)->MappedSystemVa \
-   : (PVOID)(MmMapLockedPagesSpecifyCache((_Mdl), \
-      KernelMode, MmCached, NULL, FALSE, _Priority))
-
-NTOSAPI PVOID DDKAPI
-MmGetSystemRoutineAddress( /*IN*/ PUNICODE_STRING SystemRoutineName );
-
-/* ULONG ADDRESS_AND_SIZE_TO_SPAN_PAGES( IN PVOID Va, IN ULONG Size )
- */
-#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(_Va, _Size) \
- ((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
-   + (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
-
-/* VOID MmInitializeMdl(
- *   IN PMDL  MemoryDescriptorList,
- *   IN PVOID  BaseVa,
- *   IN SIZE_T  Length
- * )
- */
-#define MmInitializeMdl(_MemoryDescriptorList, _BaseVa, _Length) \
- { (_MemoryDescriptorList)->Next = (PMDL) NULL; \
-   (_MemoryDescriptorList)->Size = (CSHORT) (sizeof(MDL) + \
-     (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES(_BaseVa, _Length))); \
-   (_MemoryDescriptorList)->MdlFlags = 0; \
-   (_MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN(_BaseVa); \
-   (_MemoryDescriptorList)->ByteOffset = BYTE_OFFSET(_BaseVa); \
-   (_MemoryDescriptorList)->ByteCount = (ULONG) _Length; \
- }
-
-NTOSAPI BOOLEAN DDKAPI
-MmIsAddressValid( /*IN*/ PVOID VirtualAddress );
-
-NTOSAPI LOGICAL DDKAPI
-MmIsDriverVerifying( /*IN*/ PDRIVER_OBJECT DriverObject );
-
-NTOSAPI BOOLEAN DDKAPI
-MmIsThisAnNtAsSystem( VOID );
-
-NTOSAPI NTSTATUS DDKAPI
-MmIsVerifierEnabled( /*OUT*/ PULONG VerifierFlags );
-
-NTOSAPI PVOID DDKAPI
-MmLockPagableDataSection( /*IN*/ PVOID AddressWithinSection );
-
-NTOSAPI PVOID DDKAPI
-MmLockPagableImageSection( /*IN*/ PVOID AddressWithinSection );
-
-/* PVOID MmLockPagableCodeSection( IN PVOID AddressWithinSection )
- */
-#define MmLockPagableCodeSection MmLockPagableDataSection
-
-NTOSAPI VOID DDKAPI
-MmLockPagableSectionByHandle( /*IN*/ PVOID ImageSectionHandle );
-
-NTOSAPI PVOID DDKAPI
-MmMapIoSpace(
-  /*IN*/ PHYSICAL_ADDRESS  PhysicalAddress,
-  /*IN*/ ULONG  NumberOfBytes,
-  /*IN*/ MEMORY_CACHING_TYPE  CacheEnable
-);
-
-NTOSAPI PVOID DDKAPI
-MmMapLockedPages(
-  /*IN*/ PMDL  MemoryDescriptorList,
-  /*IN*/ KPROCESSOR_MODE  AccessMode
-);
-
-NTOSAPI VOID DDKAPI
-MmPageEntireDriver( /*IN*/ PVOID AddressWithinSection );
-
-NTOSAPI VOID DDKAPI
-MmProbeAndLockProcessPages(
-  /*IN OUT*/ PMDL  MemoryDescriptorList,
-  /*IN*/ PEPROCESS  Process,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN*/ LOCK_OPERATION  Operation
-);
-
-NTOSAPI NTSTATUS DDKAPI
-MmProtectMdlSystemAddress(
-  /*IN*/ PMDL  MemoryDescriptorList,
-  /*IN*/ ULONG  NewProtect
-);
-
-NTOSAPI VOID DDKAPI
-MmUnmapLockedPages( /*IN*/ PVOID BaseAddress, /*IN*/ PMDL MemoryDescriptorList );
-
-NTOSAPI NTSTATUS DDKAPI
-MmUnmapViewInSessionSpace( /*IN*/ PVOID MappedBase );
-
-NTOSAPI NTSTATUS DDKAPI
-MmUnmapViewInSystemSpace( /*IN*/ PVOID MappedBase );
-
-NTOSAPI VOID DDKAPI
-MmUnsecureVirtualMemory( /*IN*/ HANDLE SecureHandle );
-
-/* VOID MmPrepareMdlForReuse( IN PMDL Mdl )
- */
-#define MmPrepareMdlForReuse(_Mdl) \
- { if (((_Mdl)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) \
-   { ASSERT(((_Mdl)->MdlFlags & MDL_PARTIAL) != 0); \
-     MmUnmapLockedPages((_Mdl)->MappedSystemVa, (_Mdl)); \
-   } \
-   else if (((_Mdl)->MdlFlags & MDL_PARTIAL) == 0) \
-   { ASSERT(((_Mdl)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0); \
-   } \
- }
-
-NTOSAPI VOID DDKAPI
-MmProbeAndLockPages(
-  /*IN OUT*/ PMDL  MemoryDescriptorList,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN*/ LOCK_OPERATION  Operation
-);
-
-NTOSAPI MM_SYSTEM_SIZE DDKAPI
-MmQuerySystemSize( VOID );
-
-NTOSAPI NTSTATUS DDKAPI
-MmRemovePhysicalMemory(
-  /*IN*/ PPHYSICAL_ADDRESS  StartAddress,
-  /*IN OUT*/ PLARGE_INTEGER  NumberOfBytes
-);
-
-NTOSAPI VOID DDKAPI
-MmResetDriverPaging( /*IN*/ PVOID AddressWithinSection );
-
-NTOSAPI HANDLE DDKAPI
-MmSecureVirtualMemory(
-  /*IN*/ PVOID  Address,
-  /*IN*/ SIZE_T  Size,
-  /*IN*/ ULONG  ProbeMode
-);
-
-NTOSAPI ULONG DDKAPI
-MmSizeOfMdl( /*IN*/ PVOID Base, /*IN*/ SIZE_T Length );
-
-NTOSAPI VOID DDKAPI
-MmUnlockPagableImageSection( /*IN*/ PVOID ImageSectionHandle );
-
-NTOSAPI VOID DDKAPI
-MmUnlockPages( /*IN*/ PMDL MemoryDescriptorList );
-
-NTOSAPI VOID DDKAPI
-MmUnmapIoSpace( /*IN*/ PVOID BaseAddress, /*IN*/ SIZE_T NumberOfBytes );
-
-NTOSAPI VOID DDKAPI
-MmUnmapReservedMapping(
-  /*IN*/ PVOID  BaseAddress,
-  /*IN*/ ULONG  PoolTag,
-  /*IN*/ PMDL  MemoryDescriptorList
-);
-
-NTOSAPI VOID DDKAPI
-MmUnmapVideoDisplay( /*IN*/ PVOID BaseAddress, /*IN*/ SIZE_T NumberOfBytes );
-
-
-/** Object manager routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-ObAssignSecurity(
-  /*IN*/ PACCESS_STATE  AccessState,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PVOID  Object,
-  /*IN*/ POBJECT_TYPE  Type
-);
-
-NTOSAPI VOID DDKAPI
-ObDereferenceSecurityDescriptor(
-  PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  ULONG  Count
-);
-
-NTOSAPI VOID DDKFASTAPI
-ObfDereferenceObject( /*IN*/ PVOID Object );
-
-/* VOID ObDereferenceObject( IN PVOID Object )
- */
-#define ObDereferenceObject ObfDereferenceObject
-
-NTOSAPI NTSTATUS DDKAPI
-ObGetObjectSecurity(
-  /*IN*/ PVOID  Object,
-  /*OUT*/ PSECURITY_DESCRIPTOR  *SecurityDescriptor,
-  /*OUT*/ PBOOLEAN  MemoryAllocated
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObInsertObject(
-  /*IN*/ PVOID  Object,
-  /*IN*/ PACCESS_STATE  PassedAccessState  /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ULONG  AdditionalReferences,
-  /*OUT*/ PVOID*  ReferencedObject  /*OPTIONAL*/,
-  /*OUT*/ PHANDLE  Handle
-);
-
-NTOSAPI VOID DDKFASTAPI
-ObfReferenceObject( /*IN*/ PVOID Object );
-
-NTOSAPI NTSTATUS DDKAPI
-ObLogSecurityDescriptor(
-  /*IN*/ PSECURITY_DESCRIPTOR  InputSecurityDescriptor,
-  /*OUT*/ PSECURITY_DESCRIPTOR  *OutputSecurityDescriptor,
-  /*IN*/ ULONG RefBias
-);
-
-/* VOID ObReferenceObject( IN PVOID Object )
- */
-#define ObReferenceObject ObfReferenceObject
-
-NTOSAPI VOID DDKAPI
-ObMakeTemporaryObject( /*IN*/ PVOID Object );
-
-NTOSAPI NTSTATUS DDKAPI
-ObOpenObjectByName(
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ POBJECT_TYPE  ObjectType,
-  /*IN OUT*/ PVOID  ParseContext  /*OPTIONAL*/,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ PACCESS_STATE  PassedAccessState,
-  /*OUT*/ PHANDLE  Handle
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObOpenObjectByPointer(
-  /*IN*/ PVOID  Object,
-  /*IN*/ ULONG  HandleAttributes,
-  /*IN*/ PACCESS_STATE  PassedAccessState  /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess  /*OPTIONAL*/,
-  /*IN*/ POBJECT_TYPE  ObjectType  /*OPTIONAL*/,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*OUT*/ PHANDLE  Handle
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObQueryObjectAuditingByHandle(
-  /*IN*/ HANDLE  Handle,
-  /*OUT*/ PBOOLEAN  GenerateOnClose
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObReferenceObjectByHandle(
-  /*IN*/ HANDLE  Handle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_TYPE  ObjectType  /*OPTIONAL*/,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*OUT*/ PVOID  *Object,
-  /*OUT*/ POBJECT_HANDLE_INFORMATION  HandleInformation  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObReferenceObjectByName(
-  /*IN*/ PUNICODE_STRING  ObjectPath,
-  /*IN*/ ULONG  Attributes,
-  /*IN*/ PACCESS_STATE  PassedAccessState  /*OPTIONAL*/,
-  /*IN*/ ACCESS_MASK  DesiredAccess  /*OPTIONAL*/,
-  /*IN*/ POBJECT_TYPE  ObjectType,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*IN OUT*/ PVOID  ParseContext  /*OPTIONAL*/,
-  /*OUT*/ PVOID  *Object
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ObReferenceObjectByPointer(
-  /*IN*/ PVOID  Object,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_TYPE  ObjectType,
-  /*IN*/ KPROCESSOR_MODE  AccessMode
-);
-
-NTOSAPI VOID DDKAPI
-ObReferenceSecurityDescriptor(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ ULONG  Count
-);
-
-NTOSAPI VOID DDKAPI
-ObReleaseObjectSecurity(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ BOOLEAN  MemoryAllocated
-);
-
-
-/** Process manager routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-PsCreateSystemProcess(
-  /*IN*/ PHANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsCreateSystemThread(
-  /*OUT*/ PHANDLE  ThreadHandle,
-  /*IN*/ ULONG  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes  /*OPTIONAL*/,
-  /*IN*/ HANDLE  ProcessHandle  /*OPTIONAL*/,
-  /*OUT*/ PCLIENT_ID  ClientId  /*OPTIONAL*/,
-  /*IN*/ PKSTART_ROUTINE  StartRoutine,
-  /*IN*/ PVOID  StartContext
-);
-
-/* PEPROCESS PsGetCurrentProcess( VOID )
- */
-#define PsGetCurrentProcess IoGetCurrentProcess
-
-NTOSAPI HANDLE DDKAPI
-PsGetCurrentProcessId( VOID );
-
-/* PETHREAD PsGetCurrentThread( VOID )
- */
-#define PsGetCurrentThread() \
- ((PETHREAD) KeGetCurrentThread())
-
-NTOSAPI HANDLE DDKAPI
-PsGetCurrentThreadId( VOID );
-
-NTOSAPI BOOLEAN DDKAPI
-PsGetVersion(
-  PULONG  MajorVersion  /*OPTIONAL*/,
-  PULONG  MinorVersion  /*OPTIONAL*/,
-  PULONG  BuildNumber  /*OPTIONAL*/,
-  PUNICODE_STRING  CSDVersion  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsRemoveCreateThreadNotifyRoutine(
-  /*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE  NotifyRoutine
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsRemoveLoadImageNotifyRoutine(
-  /*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE  NotifyRoutine
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsSetCreateProcessNotifyRoutine(
-  /*IN*/ PCREATE_PROCESS_NOTIFY_ROUTINE  NotifyRoutine,
-  /*IN*/ BOOLEAN  Remove
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsSetCreateThreadNotifyRoutine(
-  /*IN*/ PCREATE_THREAD_NOTIFY_ROUTINE  NotifyRoutine
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PsSetLoadImageNotifyRoutine( /*IN*/ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine );
-
-NTOSAPI NTSTATUS DDKAPI
-PsTerminateSystemThread( /*IN*/ NTSTATUS ExitStatus );
-
-
-/** Security reference monitor routines **/
-
-NTOSAPI BOOLEAN DDKAPI
-SeAccessCheck(
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT  SubjectSecurityContext,
-  /*IN*/ BOOLEAN  SubjectContextLocked,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ ACCESS_MASK  PreviouslyGrantedAccess,
-  /*OUT*/ PPRIVILEGE_SET  *Privileges  /*OPTIONAL*/,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ KPROCESSOR_MODE  AccessMode,
-  /*OUT*/ PACCESS_MASK  GrantedAccess,
-  /*OUT*/ PNTSTATUS  AccessStatus
-);
-
-NTOSAPI NTSTATUS DDKAPI
-SeAssignSecurity(
-  /*IN*/ PSECURITY_DESCRIPTOR  ParentDescriptor  /*OPTIONAL*/,
-  /*IN*/ PSECURITY_DESCRIPTOR  ExplicitDescriptor  /*OPTIONAL*/,
-  /*OUT*/ PSECURITY_DESCRIPTOR  *NewDescriptor,
-  /*IN*/ BOOLEAN  IsDirectoryObject,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT  SubjectContext,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ POOL_TYPE  PoolType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-SeAssignSecurityEx(
-  /*IN*/ PSECURITY_DESCRIPTOR  ParentDescriptor  /*OPTIONAL*/,
-  /*IN*/ PSECURITY_DESCRIPTOR  ExplicitDescriptor  /*OPTIONAL*/,
-  /*OUT*/ PSECURITY_DESCRIPTOR  *NewDescriptor,
-  /*IN*/ GUID  *ObjectType  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  IsDirectoryObject,
-  /*IN*/ ULONG  AutoInheritFlags,
-  /*IN*/ PSECURITY_SUBJECT_CONTEXT  SubjectContext,
-  /*IN*/ PGENERIC_MAPPING  GenericMapping,
-  /*IN*/ POOL_TYPE  PoolType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-SeDeassignSecurity( /*IN OUT*/ PSECURITY_DESCRIPTOR *SecurityDescriptor );
-
-NTOSAPI BOOLEAN DDKAPI
-SeSinglePrivilegeCheck( LUID PrivilegeValue, KPROCESSOR_MODE PreviousMode );
-
-NTOSAPI BOOLEAN DDKAPI
-SeValidSecurityDescriptor(
-  /*IN*/ ULONG  Length,
-  /*IN*/ PSECURITY_DESCRIPTOR  SecurityDescriptor
-);
-
-
-/** NtXxx routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenProcess(
-  /*OUT*/ PHANDLE  ProcessHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ PCLIENT_ID  ClientId  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQueryInformationProcess(
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN*/ PROCESSINFOCLASS  ProcessInformationClass,
-  /*OUT*/ PVOID  ProcessInformation,
-  /*IN*/ ULONG  ProcessInformationLength,
-  /*OUT*/ PULONG  ReturnLength /*OPTIONAL*/
-);
-
-
-/** NtXxx and ZwXxx routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-NtCancelTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*OUT*/ PBOOLEAN  CurrentState  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCancelTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*OUT*/ PBOOLEAN  CurrentState  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtClose( /*IN*/ HANDLE Handle );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwClose( /*IN*/ HANDLE Handle );
-
-NTOSAPI NTSTATUS DDKAPI
-NtCreateDirectoryObject(
-  /*OUT*/ PHANDLE  DirectoryHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCreateDirectoryObject(
-  /*OUT*/ PHANDLE  DirectoryHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtCreateEvent(
-  /*OUT*/ PHANDLE  EventHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ BOOLEAN  ManualReset,
-  /*IN*/ BOOLEAN  InitialState
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCreateEvent(
-  /*OUT*/ PHANDLE  EventHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ BOOLEAN  ManualReset,
-  /*IN*/ BOOLEAN  InitialState
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtCreateFile(
-  /*OUT*/ PHANDLE  FileHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PLARGE_INTEGER  AllocationSize  /*OPTIONAL*/,
-  /*IN*/ ULONG  FileAttributes,
-  /*IN*/ ULONG  ShareAccess,
-  /*IN*/ ULONG  CreateDisposition,
-  /*IN*/ ULONG  CreateOptions,
-  /*IN*/ PVOID  EaBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  EaLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCreateFile(
-  /*OUT*/ PHANDLE  FileHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PLARGE_INTEGER  AllocationSize  /*OPTIONAL*/,
-  /*IN*/ ULONG  FileAttributes,
-  /*IN*/ ULONG  ShareAccess,
-  /*IN*/ ULONG  CreateDisposition,
-  /*IN*/ ULONG  CreateOptions,
-  /*IN*/ PVOID  EaBuffer  /*OPTIONAL*/,
-  /*IN*/ ULONG  EaLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtCreateKey(
-  /*OUT*/ PHANDLE  KeyHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  TitleIndex,
-  /*IN*/ PUNICODE_STRING  Class  /*OPTIONAL*/,
-  /*IN*/ ULONG  CreateOptions,
-  /*OUT*/ PULONG  Disposition  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCreateKey(
-  /*OUT*/ PHANDLE  KeyHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*IN*/ ULONG  TitleIndex,
-  /*IN*/ PUNICODE_STRING  Class  /*OPTIONAL*/,
-  /*IN*/ ULONG  CreateOptions,
-  /*OUT*/ PULONG  Disposition  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtCreateTimer(
-  /*OUT*/ PHANDLE  TimerHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes  /*OPTIONAL*/,
-  /*IN*/ TIMER_TYPE  TimerType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwCreateTimer(
-  /*OUT*/ PHANDLE  TimerHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes  /*OPTIONAL*/,
-  /*IN*/ TIMER_TYPE  TimerType
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtDeleteKey( /*IN*/ HANDLE KeyHandle );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwDeleteKey( /*IN*/ HANDLE KeyHandle );
-
-NTOSAPI NTSTATUS DDKAPI
-NtDeleteValueKey( /*IN*/ HANDLE KeyHandle, /*IN*/ PUNICODE_STRING ValueName );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwDeleteValueKey( /*IN*/ HANDLE KeyHandle, /*IN*/ PUNICODE_STRING ValueName );
-
-NTOSAPI NTSTATUS DDKAPI
-NtDeviceIoControlFile(
-  /*IN*/ HANDLE  DeviceHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  UserApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  UserApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  IoControlCode,
-  /*IN*/ PVOID  InputBuffer,
-  /*IN*/ ULONG  InputBufferSize,
-  /*OUT*/ PVOID  OutputBuffer,
-  /*IN*/ ULONG  OutputBufferSize
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwDeviceIoControlFile(
-  /*IN*/ HANDLE  DeviceHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  UserApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  UserApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  IoControlCode,
-  /*IN*/ PVOID  InputBuffer,
-  /*IN*/ ULONG  InputBufferSize,
-  /*OUT*/ PVOID  OutputBuffer,
-  /*IN*/ ULONG  OutputBufferSize
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtEnumerateKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Index,
-  /*IN*/ KEY_INFORMATION_CLASS  KeyInformationClass,
-  /*OUT*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwEnumerateKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Index,
-  /*IN*/ KEY_INFORMATION_CLASS  KeyInformationClass,
-  /*OUT*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtEnumerateValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Index,
-  /*IN*/ KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  /*OUT*/ PVOID  KeyValueInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwEnumerateValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ ULONG  Index,
-  /*IN*/ KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  /*OUT*/ PVOID  KeyValueInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtFlushKey( /*IN*/ HANDLE KeyHandle );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwFlushKey( /*IN*/ HANDLE KeyHandle );
-
-NTOSAPI NTSTATUS DDKAPI
-NtMakeTemporaryObject( /*IN*/ HANDLE Handle );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwMakeTemporaryObject( /*IN*/ HANDLE Handle );
-
-NTOSAPI NTSTATUS DDKAPI
-NtMapViewOfSection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN*/ ULONG  ZeroBits,
-  /*IN*/ ULONG  CommitSize,
-  /*IN OUT*/ PLARGE_INTEGER  SectionOffset  /*OPTIONAL*/,
-  /*IN OUT*/ PSIZE_T  ViewSize,
-  /*IN*/ SECTION_INHERIT  InheritDisposition,
-  /*IN*/ ULONG  AllocationType,
-  /*IN*/ ULONG  Protect
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwMapViewOfSection(
-  /*IN*/ HANDLE  SectionHandle,
-  /*IN*/ HANDLE  ProcessHandle,
-  /*IN OUT*/ PVOID  *BaseAddress,
-  /*IN*/ ULONG  ZeroBits,
-  /*IN*/ ULONG  CommitSize,
-  /*IN OUT*/ PLARGE_INTEGER  SectionOffset  /*OPTIONAL*/,
-  /*IN OUT*/ PSIZE_T  ViewSize,
-  /*IN*/ SECTION_INHERIT  InheritDisposition,
-  /*IN*/ ULONG  AllocationType,
-  /*IN*/ ULONG  Protect
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenFile(
-  /*OUT*/ PHANDLE  FileHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  ShareAccess,
-  /*IN*/ ULONG  OpenOptions
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwOpenFile(
-  /*OUT*/ PHANDLE  FileHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ ULONG  ShareAccess,
-  /*IN*/ ULONG  OpenOptions
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenKey(
-  /*OUT*/ PHANDLE  KeyHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwOpenKey(
-  /*OUT*/ PHANDLE  KeyHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenSection(
-  /*OUT*/ PHANDLE  SectionHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwOpenSection(
-  /*OUT*/ PHANDLE  SectionHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenSymbolicLinkObject(
-  /*OUT*/ PHANDLE  LinkHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwOpenSymbolicLinkObject(
-  /*OUT*/ PHANDLE  LinkHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtOpenTimer(
-  /*OUT*/ PHANDLE  TimerHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwOpenTimer(
-  /*OUT*/ PHANDLE  TimerHandle,
-  /*IN*/ ACCESS_MASK  DesiredAccess,
-  /*IN*/ POBJECT_ATTRIBUTES  ObjectAttributes
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQueryInformationFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*OUT*/ PVOID  FileInformation,
-  /*IN*/ ULONG  Length,
-  /*IN*/ FILE_INFORMATION_CLASS  FileInformationClass
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwQueryInformationFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*OUT*/ PVOID  FileInformation,
-  /*IN*/ ULONG  Length,
-  /*IN*/ FILE_INFORMATION_CLASS  FileInformationClass
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQueryKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ KEY_INFORMATION_CLASS  KeyInformationClass,
-  /*OUT*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwQueryKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ KEY_INFORMATION_CLASS  KeyInformationClass,
-  /*OUT*/ PVOID  KeyInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQuerySymbolicLinkObject(
-  /*IN*/ HANDLE  LinkHandle,
-  /*IN OUT*/ PUNICODE_STRING  LinkTarget,
-  /*OUT*/ PULONG  ReturnedLength  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwQuerySymbolicLinkObject(
-  /*IN*/ HANDLE  LinkHandle,
-  /*IN OUT*/ PUNICODE_STRING  LinkTarget,
-  /*OUT*/ PULONG  ReturnedLength  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQueryTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*IN*/ TIMER_INFORMATION_CLASS TimerInformationClass,
-  /*OUT*/ PVOID TimerInformation,
-  /*IN*/ ULONG TimerInformationLength,
-  /*OUT*/ PULONG  ReturnedLength  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwQueryTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*IN*/ TIMER_INFORMATION_CLASS TimerInformationClass,
-  /*OUT*/ PVOID TimerInformation,
-  /*IN*/ ULONG TimerInformationLength,
-  /*OUT*/ PULONG  ReturnedLength  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtQueryValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ PUNICODE_STRING  ValueName,
-  /*IN*/ KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  /*OUT*/ PVOID  KeyValueInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwQueryValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ PUNICODE_STRING  ValueName,
-  /*IN*/ KEY_VALUE_INFORMATION_CLASS  KeyValueInformationClass,
-  /*OUT*/ PVOID  KeyValueInformation,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PULONG  ResultLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtReadFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwReadFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*OUT*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtSetEvent( /*IN*/ HANDLE EventHandle, /*IN*/ PULONG NumberOfThreadsReleased );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwSetEvent( /*IN*/ HANDLE EventHandle, /*IN*/ PULONG NumberOfThreadsReleased );
-
-NTOSAPI NTSTATUS DDKAPI
-NtSetInformationFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PVOID  FileInformation,
-  /*IN*/ ULONG  Length,
-  /*IN*/ FILE_INFORMATION_CLASS  FileInformationClass
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwSetInformationFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PVOID  FileInformation,
-  /*IN*/ ULONG  Length,
-  /*IN*/ FILE_INFORMATION_CLASS  FileInformationClass
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtSetInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*IN*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwSetInformationThread(
-  /*IN*/ HANDLE  ThreadHandle,
-  /*IN*/ THREADINFOCLASS  ThreadInformationClass,
-  /*IN*/ PVOID  ThreadInformation,
-  /*IN*/ ULONG  ThreadInformationLength
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtSetTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*IN*/ PLARGE_INTEGER  DueTime,
-  /*IN*/ PTIMER_APC_ROUTINE  TimerApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  TimerContext  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  WakeTimer,
-  /*IN*/ LONG  Period  /*OPTIONAL*/,
-  /*OUT*/ PBOOLEAN  PreviousState  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwSetTimer(
-  /*IN*/ HANDLE  TimerHandle,
-  /*IN*/ PLARGE_INTEGER  DueTime,
-  /*IN*/ PTIMER_APC_ROUTINE  TimerApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  TimerContext  /*OPTIONAL*/,
-  /*IN*/ BOOLEAN  WakeTimer,
-  /*IN*/ LONG  Period  /*OPTIONAL*/,
-  /*OUT*/ PBOOLEAN  PreviousState  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtSetValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ PUNICODE_STRING  ValueName,
-  /*IN*/ ULONG  TitleIndex  /*OPTIONAL*/,
-  /*IN*/ ULONG  Type,
-  /*IN*/ PVOID  Data,
-  /*IN*/ ULONG  DataSize
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwSetValueKey(
-  /*IN*/ HANDLE  KeyHandle,
-  /*IN*/ PUNICODE_STRING  ValueName,
-  /*IN*/ ULONG  TitleIndex  /*OPTIONAL*/,
-  /*IN*/ ULONG  Type,
-  /*IN*/ PVOID  Data,
-  /*IN*/ ULONG  DataSize
-);
-
-/* [Nt|Zw]MapViewOfSection.InheritDisposition constants
- */
-#define AT_EXTENDABLE_FILE                0x00002000
-#define SEC_NO_CHANGE                     0x00400000
-#define AT_RESERVED                       0x20000000
-#define AT_ROUND_TO_PAGE                  0x40000000
-
-NTOSAPI NTSTATUS DDKAPI
-NtUnmapViewOfSection( /*IN*/ HANDLE ProcessHandle, /*IN*/ PVOID BaseAddress );
-
-NTOSAPI NTSTATUS DDKAPI
-ZwUnmapViewOfSection( /*IN*/ HANDLE ProcessHandle, /*IN*/ PVOID BaseAddress );
-
-NTOSAPI NTSTATUS DDKAPI
-NtWaitForSingleObject(
-  /*IN*/ HANDLE  Object,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Time
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwWaitForSingleObject(
-  /*IN*/ HANDLE  Object,
-  /*IN*/ BOOLEAN  Alertable,
-  /*IN*/ PLARGE_INTEGER  Time
-);
-
-NTOSAPI NTSTATUS DDKAPI
-NtWriteFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-ZwWriteFile(
-  /*IN*/ HANDLE  FileHandle,
-  /*IN*/ HANDLE  Event  /*OPTIONAL*/,
-  /*IN*/ PIO_APC_ROUTINE  ApcRoutine  /*OPTIONAL*/,
-  /*IN*/ PVOID  ApcContext  /*OPTIONAL*/,
-  /*OUT*/ PIO_STATUS_BLOCK  IoStatusBlock,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PLARGE_INTEGER  ByteOffset  /*OPTIONAL*/,
-  /*IN*/ PULONG  Key  /*OPTIONAL*/
-);
-
-
-/** Power management support routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-PoCallDriver( /*IN*/ PDEVICE_OBJECT DeviceObject, /*IN OUT*/ PIRP Irp );
-
-NTOSAPI PULONG DDKAPI
-PoRegisterDeviceForIdleDetection(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  ConservationIdleTime,
-  /*IN*/ ULONG  PerformanceIdleTime,
-  /*IN*/ DEVICE_POWER_STATE  State
-);
-
-NTOSAPI PVOID DDKAPI
-PoRegisterSystemState( /*IN*/ PVOID StateHandle, /*IN*/ EXECUTION_STATE Flags );
-
-NTOSAPI NTSTATUS DDKAPI
-PoRequestPowerIrp(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ UCHAR  MinorFunction,
-  /*IN*/ POWER_STATE  PowerState,
-  /*IN*/ PREQUEST_POWER_COMPLETE  CompletionFunction,
-  /*IN*/ PVOID  Context,
-  /*OUT*/ PIRP  *Irp /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-PoRequestShutdownEvent( /*OUT*/ PVOID *Event );
-
-NTOSAPI VOID DDKAPI
-PoSetDeviceBusy( PULONG IdlePointer );
-
-NTOSAPI POWER_STATE DDKAPI
-PoSetPowerState(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ POWER_STATE_TYPE  Type,
-  /*IN*/ POWER_STATE  State
-);
-
-NTOSAPI VOID DDKAPI
-PoSetSystemState( /*IN*/ EXECUTION_STATE Flags );
-
-NTOSAPI VOID DDKAPI
-PoStartNextPowerIrp( /*IN*/ PIRP Irp );
-
-NTOSAPI VOID DDKAPI
-PoUnregisterSystemState( /*IN*/ PVOID StateHandle );
-
-
-/** WMI library support routines **/
-
-NTOSAPI NTSTATUS DDKAPI
-WmiCompleteRequest(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*IN*/ NTSTATUS  Status,
-  /*IN*/ ULONG  BufferUsed,
-  /*IN*/ CCHAR  PriorityBoost
-);
-
-NTOSAPI NTSTATUS DDKAPI
-WmiFireEvent(
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ LPGUID  Guid,
-  /*IN*/ ULONG  InstanceIndex,
-  /*IN*/ ULONG  EventDataSize,
-  /*IN*/ PVOID  EventData
-);
-
-NTOSAPI NTSTATUS DDKAPI
-WmiQueryTraceInformation(
-  /*IN*/ TRACE_INFORMATION_CLASS  TraceInformationClass,
-  /*OUT*/ PVOID  TraceInformation,
-  /*IN*/ ULONG  TraceInformationLength,
-  /*OUT*/ PULONG  RequiredLength /*OPTIONAL*/,
-  /*IN*/ PVOID  Buffer /*OPTIONAL*/
-);
-
-NTOSAPI NTSTATUS DDKAPI
-WmiSystemControl(
-  /*IN*/ PWMILIB_CONTEXT  WmiLibInfo,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ PIRP  Irp,
-  /*OUT*/ PSYSCTL_IRP_DISPOSITION  IrpDisposition
-);
-
-NTOSAPI NTSTATUS DDKCDECLAPI
-WmiTraceMessage(
-  /*IN*/ TRACEHANDLE  LoggerHandle,
-  /*IN*/ ULONG  MessageFlags,
-  /*IN*/ LPGUID  MessageGuid,
-  /*IN*/ USHORT  MessageNumber,
-  /*IN*/ ...
-);
-
-#if 0
-/* FIXME: Get va_list from where? */
-NTOSAPI NTSTATUS DDKCDECLAPI
-WmiTraceMessageVa(
-  /*IN*/ TRACEHANDLE  LoggerHandle,
-  /*IN*/ ULONG  MessageFlags,
-  /*IN*/ LPGUID  MessageGuid,
-  /*IN*/ USHORT  MessageNumber,
-  /*IN*/ va_list  MessageArgList
-);
-#endif
-
-
-/** Kernel debugger routines **/
-
-NTOSAPI VOID DDKAPI
-KdDisableDebugger( VOID );
-
-NTOSAPI VOID DDKAPI
-KdEnableDebugger( VOID );
-
-NTOSAPI VOID DDKAPI
-DbgBreakPoint( VOID );
-
-NTOSAPI VOID DDKAPI
-DbgBreakPointWithStatus( /*IN*/ ULONG Status );
-
-NTOSAPI ULONG DDKCDECLAPI
-DbgPrint( /*IN*/ PCH Format, /*IN*/ ... );
-
-NTOSAPI ULONG DDKCDECLAPI
-DbgPrintEx(
-  /*IN*/ ULONG  ComponentId,
-  /*IN*/ ULONG  Level,
-  /*IN*/ PCH  Format,
-  /*IN*/ ...
-);
-
-NTOSAPI ULONG DDKCDECLAPI
-DbgPrintReturnControlC( /*IN*/ PCH Format, /*IN*/ ... );
-
-NTOSAPI NTSTATUS DDKAPI
-DbgQueryDebugFilterState( /*IN*/ ULONG ComponentId, /*IN*/ ULONG Level );
-
-NTOSAPI NTSTATUS DDKAPI
-DbgSetDebugFilterState(
-  /*IN*/ ULONG  ComponentId,
-  /*IN*/ ULONG  Level,
-  /*IN*/ BOOLEAN  State
-);
-
-#ifdef DBG
-
-#define KdPrint(_x_) DbgPrint _x_
-#define KdPrintEx(_x_) DbgPrintEx _x_
-#define KdBreakPoint() DbgBreakPoint()
-#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
-
-#else /* !DBG */
-
-#define KdPrint(_x_)
-#define KdPrintEx(_x_)
-#define KdBreakPoint()
-#define KdBreakPointWithStatus(s)
-
-#endif /* !DBG */
-
-extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
-extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED     *KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
-
-_END_C_DECLS
-
-#endif  /* _DDK_WINDDK_H */
-#endif  /* _DDK_NTDDK_H || __WINIOCTL_H_SOURCED__ */
-#endif  /* !_DDK_WINDDK_H: $RCSfile: winddk.h,v $: end of file */
Index: Daodan/MinGW/include/ddk/winnt4.h
===================================================================
--- Daodan/MinGW/include/ddk/winnt4.h	(revision 1046)
+++ 	(revision )
@@ -1,623 +1,0 @@
-/*
- * winnt4.h
- *
- * Definitions only used in Windows NT 4.0 and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINNT4_H
-#define __WINNT4_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _ZONE_SEGMENT_HEADER {
-  SINGLE_LIST_ENTRY  SegmentList;
-  PVOID  Reserved;
-} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
-
-typedef struct _ZONE_HEADER {
-  SINGLE_LIST_ENTRY  FreeList;
-  SINGLE_LIST_ENTRY  SegmentList;
-  ULONG  BlockSize;
-  ULONG  TotalSegmentSize;
-} ZONE_HEADER, *PZONE_HEADER;
-
-static __inline PVOID
-ExAllocateFromZone(
-  /*IN*/ PZONE_HEADER  Zone)
-{
-  if (Zone->FreeList.Next)
-    Zone->FreeList.Next = Zone->FreeList.Next->Next;
-  return (PVOID) Zone->FreeList.Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExExtendZone(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ PVOID  Segment,
-  /*IN*/ ULONG  SegmentSize);
-
-static __inline PVOID
-ExFreeToZone(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ PVOID  Block)
-{
-  ((PSINGLE_LIST_ENTRY) Block)->Next = Zone->FreeList.Next;
-  Zone->FreeList.Next = ((PSINGLE_LIST_ENTRY) Block);
-  return ((PSINGLE_LIST_ENTRY) Block)->Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInitializeZone(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ ULONG  BlockSize,
-  /*IN*/ PVOID  InitialSegment,
-  /*IN*/ ULONG  InitialSegmentSize);
-
-/*
- * PVOID
- * ExInterlockedAllocateFromZone(
- * IN PZONE_HEADER  Zone,
- * IN PKSPIN_LOCK  Lock)
- */
-#define ExInterlockedAllocateFromZone(Zone, \
-                              Lock) \
-  ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInterlockedExtendZone(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ PVOID  Segment,
-  /*IN*/ ULONG  SegmentSize,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExInterlockedFreeToZone(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ PVOID  Block,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-/*
- * VOID
- * ExInitializeWorkItem(
- * IN PWORK_QUEUE_ITEM  Item,
- * IN PWORKER_THREAD_ROUTINE  Routine,
- * IN PVOID  Context)
- */
-#define ExInitializeWorkItem(Item, \
-                             Routine, \
-                             Context) \
-{ \
-  (Item)->WorkerRoutine = Routine; \
-  (Item)->Parameter = Context; \
-  (Item)->List.Flink = NULL; \
-}
-
-/*
- * BOOLEAN
- * ExIsFullZone(
- * IN PZONE_HEADER  Zone)
- */
-#define ExIsFullZone(Zone) \
-  ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
-
-NTOSAPI
-VOID
-DDKAPI
-ExQueueWorkItem(
-  /*IN*/ PWORK_QUEUE_ITEM  WorkItem,
-  /*IN*/ WORK_QUEUE_TYPE  QueueType);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsObjectInFirstZoneSegment(
-  /*IN*/ PZONE_HEADER  Zone,
-  /*IN*/ PVOID  Object);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResource(
-  /*IN*/ PERESOURCE  Resource);
-
-#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
-#define ExAcquireResourceShared ExAcquireResourceSharedLite
-#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
-#define ExDeleteResource ExDeleteResourceLite
-#define ExInitializeResource ExInitializeResourceLite
-#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
-#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
-#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
-#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedDecrementLong(
-  /*IN*/ PLONG  Addend,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExInterlockedExchangeUlong(
-  /*IN*/ PULONG  Target,
-  /*IN*/ ULONG  Value,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedIncrementLong(
-  /*IN*/ PLONG  Addend,
-  /*IN*/ PKSPIN_LOCK  Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-HalAllocateCommonBuffer(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ ULONG  Length,
-  /*OUT*/ PPHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-HalAssignSlotResources(
-  /*IN*/ PUNICODE_STRING  RegistryPath,
-  /*IN*/ PUNICODE_STRING  DriverClassName,
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ INTERFACE_TYPE  BusType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResources);
-
-NTOSAPI
-VOID
-DDKAPI
-HalFreeCommonBuffer(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ ULONG  Length,
-  /*IN*/ PHYSICAL_ADDRESS  LogicalAddress,
-  /*IN*/ PVOID  VirtualAddress,
-  /*IN*/ BOOLEAN  CacheEnabled);
-
-NTOSAPI
-PADAPTER_OBJECT
-DDKAPI
-HalGetAdapter(
-  /*IN*/ PDEVICE_DESCRIPTION  DeviceDescription,
-  /*IN OUT*/ PULONG  NumberOfMapRegisters);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusData(
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusDataByOffset(
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetDmaAlignmentRequirement(
-  VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetInterruptVector(
-  /*IN*/ INTERFACE_TYPE  InterfaceType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  BusInterruptLevel,
-  /*IN*/ ULONG  BusInterruptVector,
-  /*OUT*/ PKIRQL  Irql,
-  /*OUT*/ PKAFFINITY  Affinity);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalReadDmaCounter(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusData(
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusDataByOffset(
-  /*IN*/ BUS_DATA_TYPE  BusDataType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ ULONG  SlotNumber,
-  /*IN*/ PVOID  Buffer,
-  /*IN*/ ULONG  Offset,
-  /*IN*/ ULONG  Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-HalTranslateBusAddress(
-  /*IN*/ INTERFACE_TYPE  InterfaceType,
-  /*IN*/ ULONG  BusNumber,
-  /*IN*/ PHYSICAL_ADDRESS  BusAddress,
-  /*IN OUT*/ PULONG  AddressSpace,
-  /*OUT*/ PPHYSICAL_ADDRESS  TranslatedAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAllocateAdapterChannel(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject,
-  /*IN*/ ULONG  NumberOfMapRegisters,
-  /*IN*/ PDRIVER_CONTROL  ExecutionRoutine,
-  /*IN*/ PVOID  Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAssignResources(
-  /*IN*/ PUNICODE_STRING  RegistryPath,
-  /*IN*/ PUNICODE_STRING  DriverClassName  /*OPTIONAL*/,
-  /*IN*/ PDRIVER_OBJECT  DriverObject,
-  /*IN*/ PDEVICE_OBJECT  DeviceObject  /*OPTIONAL*/,
-  /*IN*/ PIO_RESOURCE_REQUIREMENTS_LIST  RequestedResources,
-  /*IN OUT*/ PCM_RESOURCE_LIST  *AllocatedResources);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAttachDeviceByPointer(
-  /*IN*/ PDEVICE_OBJECT  SourceDevice,
-  /*IN*/ PDEVICE_OBJECT  TargetDevice);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoFlushAdapterBuffers(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN*/ ULONG  Length,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeAdapterChannel(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeMapRegisters(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ ULONG  NumberOfMapRegisters);
-
-NTOSAPI
-PHYSICAL_ADDRESS
-DDKAPI
-IoMapTransfer(
-  /*IN*/ PADAPTER_OBJECT  AdapterObject,
-  /*IN*/ PMDL  Mdl,
-  /*IN*/ PVOID  MapRegisterBase,
-  /*IN*/ PVOID  CurrentVa,
-  /*IN OUT*/ PULONG  Length,
-  /*IN*/ BOOLEAN  WriteToDevice);
-
-NTOSAPI
-PMDL
-DDKAPI
-MmCreateMdl(
-  /*IN*/ PMDL  MemoryDescriptorList  /*OPTIONAL*/,
-  /*IN*/ PVOID  Base,
-  /*IN*/ SIZE_T  Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsNonPagedSystemAddressValid(
-  /*IN*/ PVOID  VirtualAddress);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedIntegerMultiply(
-  /*IN*/ LONG  Multiplicand,
-  /*IN*/ LONG  Multiplier);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlEnlargedUnsignedDivide(
-  /*IN*/ ULARGE_INTEGER  Dividend,
-  /*IN*/ ULONG  Divisor,
-  /*IN OUT*/ PULONG  Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedUnsignedMultiply(
-  /*IN*/ ULONG  Multiplicand,
-  /*IN*/ ULONG  Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedIntegerMultiply(
-  /*IN*/ LARGE_INTEGER  Multiplicand,
-  /*IN*/ LONG  Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedLargeIntegerDivide(
-  /*IN*/ LARGE_INTEGER  Dividend,
-  /*IN*/ ULONG  Divisor,
-  /*IN OUT*/ PULONG  Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedMagicDivide(
-  /*IN*/ LARGE_INTEGER  Dividend,
-  /*IN*/ LARGE_INTEGER  MagicDivisor,
-  /*IN*/ CCHAR  ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerAdd(
-  /*IN*/ LARGE_INTEGER  Addend1,
-  /*IN*/ LARGE_INTEGER  Addend2);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlLargeIntegerAnd(
-  /*IN OUT*/ LARGE_INTEGER  Result,
-  /*IN*/ LARGE_INTEGER  Source,
-  /*IN*/ LARGE_INTEGER  Mask);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerArithmeticShift(
-  /*IN*/ LARGE_INTEGER  LargeInteger,
-  /*IN*/ CCHAR  ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerDivide(
-  /*IN*/ LARGE_INTEGER  Dividend,
-  /*IN*/ LARGE_INTEGER  Divisor,
-  /*IN OUT*/ PLARGE_INTEGER  Remainder);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualTo(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualToZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterOrEqualToZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThan(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanOrEqualTo(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessOrEqualToZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThan(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanOrEqualTo(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerNegate(
-  /*IN*/ LARGE_INTEGER  Subtrahend);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualTo(
-  /*IN*/ LARGE_INTEGER  Operand1,
-  /*IN*/ LARGE_INTEGER  Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualToZero(
-  /*IN*/ LARGE_INTEGER  Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftLeft(
-  /*IN*/ LARGE_INTEGER  LargeInteger,
-  /*IN*/ CCHAR  ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftRight(
-  /*IN*/ LARGE_INTEGER  LargeInteger,
-  /*IN*/ CCHAR  ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerSubtract(
-  /*IN*/ LARGE_INTEGER  Minuend,
-  /*IN*/ LARGE_INTEGER  Subtrahend);
-
-
-/*
- * ULONG
- * COMPUTE_PAGES_SPANNED(
- * IN PVOID  Va,
- * IN ULONG  Size)
- */
-#define COMPUTE_PAGES_SPANNED(Va, \
-                              Size) \
-  (ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va, Size))
-
-
-/*
-** Architecture specific functions
-*/
-
-#ifdef _X86_
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedIncrementLong(
-  /*IN*/ PLONG  Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedIncrementLong(
-  /*IN*/ PLONG  Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedDecrementLong(
-  /*IN*/ PLONG  Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedDecrementLong(
-  /*IN*/ PLONG  Addend);
-
-NTOSAPI
-ULONG
-DDKAPI
-Exi386InterlockedExchangeUlong(
-  /*IN*/ PULONG  Target,
-  /*IN*/ ULONG  Value);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-Exfi386InterlockedExchangeUlong(
-  /*IN*/ PULONG  Target,
-  /*IN*/ ULONG  Value);
-
-#define ExInterlockedIncrementLong(Addend,Lock) Exfi386InterlockedIncrementLong(Addend)
-#define ExInterlockedDecrementLong(Addend,Lock) Exfi386InterlockedDecrementLong(Addend)
-#define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value)
-
-#endif /* _X86_ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINNT4_H */
Index: Daodan/MinGW/include/ddk/winxp.h
===================================================================
--- Daodan/MinGW/include/ddk/winxp.h	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-/*
- * winxp.h
- *
- * Definitions only used in Windows XP and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINXP_H
-#define __WINXP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINXP_H */
Index: Daodan/MinGW/include/ddk/ws2san.h
===================================================================
--- Daodan/MinGW/include/ddk/ws2san.h	(revision 1046)
+++ 	(revision )
@@ -1,248 +1,0 @@
-/*
- * ws2san.h
- *
- * WinSock Direct (SAN) support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WS2SAN_H
-#define __WS2SAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <winsock2.h>
-#include "ntddk.h"
-
-
-#define WSPAPI STDCALL
-
-/* FIXME: Unknown definitions */
-typedef PVOID LPWSPDATA;
-typedef PDWORD LPWSATHREADID;
-typedef PVOID LPWSPPROC_TABLE;
-typedef struct _WSPUPCALLTABLEEX WSPUPCALLTABLEEX;
-typedef WSPUPCALLTABLEEX *LPWSPUPCALLTABLEEX;
-
-#define SO_MAX_RDMA_SIZE                  0x700D
-#define SO_RDMA_THRESHOLD_SIZE            0x700E
-
-#define WSAID_REGISTERMEMORY \
-  {0xC0B422F5, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERMEMORY \
-  {0xC0B422F6, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_REGISTERRDMAMEMORY \
-  {0xC0B422F7, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERRDMAMEMORY \
-  {0xC0B422F8, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAWRITE \
-  {0xC0B422F9, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAREAD \
-  {0xC0B422FA, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_MEMORYREGISTRATIONCACHECALLBACK \
-  {0xE5DA4AF8, 0xD824, 0x48CD, {0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF}}
-
-typedef struct _WSABUFEX {
-  u_long  len;
-  char FAR  *buf;
-  HANDLE  handle;
-} WSABUFEX, FAR * LPWSABUFEX;
-
-#if 0
-typedef struct _WSPUPCALLTABLEEX {
-  LPWPUCLOSEEVENT  lpWPUCloseEvent;
-  LPWPUCLOSESOCKETHANDLE  lpWPUCloseSocketHandle;
-  LPWPUCREATEEVENT  lpWPUCreateEvent;
-  LPWPUCREATESOCKETHANDLE  lpWPUCreateSocketHandle;
-  LPWPUFDISSET  lpWPUFDIsSet;
-  LPWPUGETPROVIDERPATH  lpWPUGetProviderPath;
-  LPWPUMODIFYIFSHANDLE  lpWPUModifyIFSHandle;
-  LPWPUPOSTMESSAGE  lpWPUPostMessage;
-  LPWPUQUERYBLOCKINGCALLBACK  lpWPUQueryBlockingCallback;
-  LPWPUQUERYSOCKETHANDLECONTEXT  lpWPUQuerySocketHandleContext;
-  LPWPUQUEUEAPC  lpWPUQueueApc;
-  LPWPURESETEVENT  lpWPUResetEvent;
-  LPWPUSETEVENT  lpWPUSetEvent;
-  LPWPUOPENCURRENTTHREAD  lpWPUOpenCurrentThread;
-  LPWPUCLOSETHREAD  lpWPUCloseThread;
-  LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
-} WSPUPCALLTABLEEX, FAR * LPWSPUPCALLTABLEEX;
-#endif
-
-int WSPAPI
-WSPStartupEx(
-  /*IN*/ WORD  wVersionRequested,
-  /*OUT*/ LPWSPDATA  lpWSPData,
-  /*IN*/ LPWSAPROTOCOL_INFOW  lpProtocolInfo,
-  /*IN*/ LPWSPUPCALLTABLEEX  lpUpcallTable,
-  /*OUT*/ LPWSPPROC_TABLE  lpProcTable);
-
-typedef int WSPAPI
-(*LPWSPSTARTUPEX)(
-  /*IN*/ WORD  wVersionRequested,
-  /*OUT*/ LPWSPDATA  lpWSPData,
-  /*IN*/ LPWSAPROTOCOL_INFOW  lpProtocolInfo,
-  /*IN*/ LPWSPUPCALLTABLEEX  lpUpcallTable,
-  /*OUT*/ LPWSPPROC_TABLE  lpProcTable);
-
-#define MEM_READ                          1
-#define MEM_WRITE                         2
-#define MEM_READWRITE                     3
-
-int WSPAPI
-WSPDeregisterMemory(
-  /*IN*/ SOCKET  s,
-  /*IN*/ HANDLE  Handle,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERMEMORY)(
-  /*IN*/ SOCKET  s,
-  /*IN*/ HANDLE  Handle,
-  /*OUT*/ LPINT  lpErrno);
-
-int WSPAPI
-WSPDeregisterRdmaMemory(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPVOID  lpRdmaBufferDescriptor,
-  /*IN*/ DWORD  dwDescriptorLength,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERRDMAMEMORY)(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPVOID  lpRdmaBufferDescriptor,
-  /*IN*/ DWORD  dwDescriptorLength,
-  /*OUT*/ LPINT  lpErrno);
-
-int WSPAPI
-WSPMemoryRegistrationCacheCallback(
-  /*IN*/ PVOID  lpvAddress,
-  /*IN*/ SIZE_T  Size,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)(
-  /*IN*/ PVOID  lpvAddress,
-  /*IN*/ SIZE_T  Size,
-  /*OUT*/ LPINT  lpErrno);
-
-int WSPAPI
-WSPRdmaRead(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPWSABUFEX  lpBuffers,
-  /*IN*/ DWORD  dwBufferCount,
-  /*IN*/ LPVOID  lpTargetBufferDescriptor,
-  /*IN*/ DWORD  dwTargetDescriptorLength,
-  /*IN*/ DWORD  dwTargetBufferOffset,
-  /*OUT*/ LPDWORD  lpdwNumberOfBytesRead,
-  /*IN*/ DWORD  dwFlags,
-  /*IN*/ LPWSAOVERLAPPED  lpOverlapped,
-  /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine,
-  /*IN*/ LPWSATHREADID  lpThreadId,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAREAD)(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPWSABUFEX  lpBuffers,
-  /*IN*/ DWORD  dwBufferCount,
-  /*IN*/ LPVOID  lpTargetBufferDescriptor,
-  /*IN*/ DWORD  dwTargetDescriptorLength,
-  /*IN*/ DWORD  dwTargetBufferOffset,
-  /*OUT*/ LPDWORD  lpdwNumberOfBytesRead,
-  /*IN*/ DWORD  dwFlags,
-  /*IN*/ LPWSAOVERLAPPED  lpOverlapped,
-  /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine,
-  /*IN*/ LPWSATHREADID  lpThreadId,
-  /*OUT*/ LPINT  lpErrno);
-
-int WSPAPI
-WSPRdmaWrite(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPWSABUFEX  lpBuffers,
-  /*IN*/ DWORD  dwBufferCount,
-  /*IN*/ LPVOID  lpTargetBufferDescriptor,
-  /*IN*/ DWORD  dwTargetDescriptorLength,
-  /*IN*/ DWORD  dwTargetBufferOffset,
-  /*OUT*/ LPDWORD  lpdwNumberOfBytesWritten,
-  /*IN*/ DWORD  dwFlags,
-  /*IN*/ LPWSAOVERLAPPED  lpOverlapped,
-  /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine,
-  /*IN*/ LPWSATHREADID  lpThreadId,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAWRITE)(
-  /*IN*/ SOCKET  s,
-  /*IN*/ LPWSABUFEX  lpBuffers,
-  /*IN*/ DWORD  dwBufferCount,
-  /*IN*/ LPVOID  lpTargetBufferDescriptor,
-  /*IN*/ DWORD  dwTargetDescriptorLength,
-  /*IN*/ DWORD  dwTargetBufferOffset,
-  /*OUT*/ LPDWORD  lpdwNumberOfBytesWritten,
-  /*IN*/ DWORD  dwFlags,
-  /*IN*/ LPWSAOVERLAPPED  lpOverlapped,
-  /*IN*/ LPWSAOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine,
-  /*IN*/ LPWSATHREADID  lpThreadId,
-  /*OUT*/ LPINT  lpErrno);
-
-HANDLE WSPAPI
-WSPRegisterMemory(
-  /*IN*/ SOCKET  s,
-  /*IN*/ PVOID  lpBuffer,
-  /*IN*/ DWORD  dwBufferLength,
-  /*IN*/ DWORD  dwFlags,
-  /*OUT*/ LPINT  lpErrno);
-
-int WSPAPI
-WSPRegisterRdmaMemory(
-  /*IN*/ SOCKET  s,
-  /*IN*/ PVOID  lpBuffer,
-  /*IN*/ DWORD  dwBufferLength,
-  /*IN*/ DWORD  dwFlags,
-  /*OUT*/ LPVOID  lpRdmaBufferDescriptor,
-  /*IN OUT*/ LPDWORD  lpdwDescriptorLength,
-  /*OUT*/ LPINT  lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPREGISTERRDMAMEMORY)(
-  /*IN*/ SOCKET  s,
-  /*IN*/ PVOID  lpBuffer,
-  /*IN*/ DWORD  dwBufferLength,
-  /*IN*/ DWORD  dwFlags,
-  /*OUT*/ LPVOID  lpRdmaBufferDescriptor,
-  /*IN OUT*/ LPDWORD  lpdwDescriptorLength,
-  /*OUT*/ LPINT  lpErrno);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WS2SAN_H */
Index: Daodan/MinGW/include/ddk/xfilter.h
===================================================================
--- Daodan/MinGW/include/ddk/xfilter.h	(revision 1046)
+++ 	(revision )
@@ -1,239 +1,0 @@
-/*
- * xfilter.h
- *
- * Address filtering for NDIS MACs
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __XFILTER_H
-#define __XFILTER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define ETH_LENGTH_OF_ADDRESS             6
-
-#define ETH_IS_BROADCAST(Address) \
-  ((((PUCHAR)(Address))[0] == ((UCHAR)0xff)) && (((PUCHAR)(Address))[1] == ((UCHAR)0xff)))
-
-#define ETH_IS_MULTICAST(Address) \
-  (BOOLEAN)(((PUCHAR)(Address))[0] & ((UCHAR)0x01))
-
-#define ETH_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
-	if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
-	{ \
-    *(_Result) = 1; \
-	} \
-	else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
-	{ \
-    *(_Result) = (UINT)-1; \
-	} \
-	else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
-	{ \
-    *(_Result) = 1; \
-	} \
-	else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
-	{ \
-	  *(_Result) = (UINT)-1; \
-	} \
-	else \
-	{ \
-	  *(_Result) = 0; \
-	} \
-}
-
-#define ETH_COMPARE_NETWORK_ADDRESSES_EQ(_A,_B, _Result) \
-{ \
-	if ((*(ULONG UNALIGNED *)&(_A)[2] == *(ULONG UNALIGNED *)&(_B)[2]) && \
-    (*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B))) \
-	{ \
-    *(_Result) = 0; \
-	} \
-	else \
-	{ \
-    *(_Result) = 1; \
-	} \
-}
-
-#define ETH_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
-	*((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
-	*((USHORT UNALIGNED *)((UCHAR *)(_D) + 4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define FDDI_LENGTH_OF_LONG_ADDRESS       6
-#define FDDI_LENGTH_OF_SHORT_ADDRESS      2
-
-#define FDDI_IS_BROADCAST(Address, AddressLength, Result)   \
-  *Result = ((*(PUCHAR)(Address) == (UCHAR)0xFF) && \
-  (*((PUCHAR)(Address) + 1) == (UCHAR)0xFF))
-
-#define FDDI_IS_MULTICAST(Address, AddressLength, Result) \
-  *Result = (BOOLEAN)(*(UCHAR *)(Address) & (UCHAR)0x01)
-
-#define FDDI_IS_SMT(FcByte, Result) \
-{ \
-  *Result = ((FcByte & ((UCHAR)0xf0)) == 0x40); \
-}
-
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES(_A, _B, _Length, _Result) \
-{ \
-	if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
-	{ \
-	  *(_Result) = 1; \
-	} \
-	else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
-	{ \
-	  *(_Result) = (UINT)-1; \
-	} \
-	else if (_Length == 2) \
-	{ \
-	  *(_Result) = 0; \
-	} \
-	else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) > *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
-	{ \
-	  *(_Result) = 1; \
-	} \
-	else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) < *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
-	{ \
-	  *(_Result) = (UINT)-1; \
-	} \
-	else \
-	{ \
-	  *(_Result) = 0; \
-	} \
-}
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Length, _Result) \
-{                                                                   \
-	if ((*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B)) && \
-	  (((_Length) == 2) || \
-	    (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) == *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)))) \
-	{ \
-	  *(_Result) = 0; \
-	} \
-	else \
-	{ \
-	  *(_Result) = 1; \
-	} \
-}
-
-#define FDDI_COPY_NETWORK_ADDRESS(D, S, AddressLength) \
-{ \
-	PCHAR _D = (D); \
-	PCHAR _S = (S); \
-	UINT _C = (AddressLength); \
-	for ( ; _C > 0 ; _D++, _S++, _C--) \
-	{ \
-	  *_D = *_S; \
-	} \
-}
-
-#define TR_LENGTH_OF_FUNCTIONAL           4
-#define TR_LENGTH_OF_ADDRESS              6
-
-typedef ULONG TR_FUNCTIONAL_ADDRESS;
-typedef ULONG TR_GROUP_ADDRESS;
-
-#define TR_IS_NOT_DIRECTED(_Address, _Result) \
-{ \
-  *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_FUNCTIONAL(_Address, _Result) \
-{ \
-	*(_Result) = (BOOLEAN)(((_Address)[0] & 0x80) && !((_Address)[2] & 0x80)); \
-}
-
-#define TR_IS_GROUP(_Address, _Result) \
-{ \
-  *(_Result) = (BOOLEAN)((_Address)[0] & (_Address)[2] & 0x80); \
-}
-
-#define TR_IS_SOURCE_ROUTING(_Address, _Result) \
-{ \
-  *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_MAC_FRAME(_PacketHeader) ((((PUCHAR)_PacketHeader)[1] & 0xFC) == 0)
-
-#define TR_IS_BROADCAST(_Address, _Result) \
-{ \
-	*(_Result) = (BOOLEAN)(((*(UNALIGNED USHORT *)&(_Address)[0] == 0xFFFF) || \
-		(*(UNALIGNED USHORT *)&(_Address)[0] == 0x00C0)) && \
-		(*(UNALIGNED ULONG  *)&(_Address)[2] == 0xFFFFFFFF)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
-	if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
-	{ \
-	  *(_Result) = 1; \
-	} \
-	else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
-	{ \
-	  *(_Result) = (UINT)-1; \
-	} \
-	else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
-	{ \
-	  *(_Result) = 1; \
-	} \
-	else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
-	{ \
-	  *(_Result) = (UINT)-1; \
-	} \
-	else \
-	{ \
-	  *(_Result) = 0; \
-	} \
-}
-
-#define TR_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
-	*((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
-	*((USHORT UNALIGNED *)((UCHAR *)(_D)+4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Result) \
-{ \
-	if ((*(ULONG UNALIGNED  *)&(_A)[2] == *(ULONG UNALIGNED  *)&(_B)[2]) && \
-	    (*(USHORT UNALIGNED *)&(_A)[0] == *(USHORT UNALIGNED *)&(_B)[0])) \
-	{ \
-    *(_Result) = 0; \
-	} \
-	else \
-	{ \
-    *(_Result) = 1; \
-	} \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XFILTER_H */
Index: Daodan/MinGW/include/devguid.h
===================================================================
--- Daodan/MinGW/include/devguid.h	(revision 1046)
+++ 	(revision )
@@ -1,65 +1,0 @@
-#ifndef _DEVGUID_H
-#define _DEVGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern const GUID GUID_DEVCLASS_WCEUSBS;
-extern const GUID GUID_DEVCLASS_USB;
-extern const GUID GUID_DEVCLASS_PNPPRINTERS;
-extern const GUID GUID_DEVCLASS_DOT4;
-extern const GUID GUID_DEVCLASS_DOT4PRINT;
-extern const GUID GUID_DEVCLASS_CDROM;
-extern const GUID GUID_DEVCLASS_COMPUTER;
-extern const GUID GUID_DEVCLASS_DISKDRIVE;
-extern const GUID GUID_DEVCLASS_DISPLAY;
-extern const GUID GUID_DEVCLASS_FDC;
-extern const GUID GUID_DEVCLASS_HDC;
-extern const GUID GUID_DEVCLASS_KEYBOARD;
-extern const GUID GUID_DEVCLASS_MEDIA;
-extern const GUID GUID_DEVCLASS_MODEM;
-extern const GUID GUID_DEVCLASS_MONITOR;
-extern const GUID GUID_DEVCLASS_MOUSE;
-extern const GUID GUID_DEVCLASS_MTD;
-extern const GUID GUID_DEVCLASS_MULTIFUNCTION;
-extern const GUID GUID_DEVCLASS_NET;
-extern const GUID GUID_DEVCLASS_NETCLIENT;
-extern const GUID GUID_DEVCLASS_NETSERVICE;
-extern const GUID GUID_DEVCLASS_NETTRANS;
-extern const GUID GUID_DEVCLASS_PCMCIA;
-extern const GUID GUID_DEVCLASS_PORTS;
-extern const GUID GUID_DEVCLASS_PRINTER;
-extern const GUID GUID_DEVCLASS_SCSIADAPTER;
-extern const GUID GUID_DEVCLASS_SYSTEM;
-extern const GUID GUID_DEVCLASS_UNKNOWN;
-extern const GUID GUID_DEVCLASS_FLOPPYDISK;
-extern const GUID GUID_DEVCLASS_PROCESSOR;
-extern const GUID GUID_DEVCLASS_MULTIPORTSERIAL;
-extern const GUID GUID_DEVCLASS_SMARTCARDREADER;
-extern const GUID GUID_DEVCLASS_VOLUMESNAPSHOT;
-extern const GUID GUID_DEVCLASS_1394DEBUG;
-extern const GUID GUID_DEVCLASS_1394;
-extern const GUID GUID_DEVCLASS_INFRARED;
-extern const GUID GUID_DEVCLASS_IMAGE;
-extern const GUID GUID_DEVCLASS_TAPEDRIVE;
-extern const GUID GUID_DEVCLASS_VOLUME;
-extern const GUID GUID_DEVCLASS_BATTERY;
-extern const GUID GUID_DEVCLASS_HIDCLASS;
-extern const GUID GUID_DEVCLASS_61883;
-extern const GUID GUID_DEVCLASS_LEGACYDRIVER;
-extern const GUID GUID_DEVCLASS_SDHOST;
-extern const GUID GUID_DEVCLASS_AVC;
-extern const GUID GUID_DEVCLASS_ENUM1394;
-extern const GUID GUID_DEVCLASS_MEDIUMCHANGER;
-extern const GUID GUID_DEVCLASS_NTAPM;
-extern const GUID GUID_DEVCLASS_SBP2;
-extern const GUID GUID_DEVCLASS_BLUETOOTH;
-extern const GUID GUID_DEVCLASS_PROBES;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _DEVGUID_H */
Index: Daodan/MinGW/include/dhcpcsdk.h
===================================================================
--- Daodan/MinGW/include/dhcpcsdk.h	(revision 1046)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifndef _DHCPCDSK_H
-#define _DHCPCDSK_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-#define DHCPCAPI_REGISTER_HANDLE_EVENT 0x00000001
-#define DHCPCAPI_REQUEST_PERSISTENT  0x00000001
-#define DHCPCAPI_REQUEST_SYNCHRONOUS 0x00000002
-typedef struct _DHCPAPI_CLASSID {
-	ULONG Flags;
-	LPBYTE Data;
-	ULONG nBytesData;
-} DHCPCAPI_CLASSID,*PDHCPCAPI_CLASSID,*LPDHCPCAPI_CLASSID;
-typedef struct _DHCPAPI_PARAMS {
-	ULONG Flags;
-	ULONG OptionId;
-	BOOL IsVendor;
-	LPBYTE Data;
-	DWORD nBytesData;
-} DHCPAPI_PARAMS,*PDHCPAPI_PARAMS,*LPDHCPAPI_PARAMS;
-typedef struct _DHCPAPI_PARAMS_ARRAY {
-	ULONG nParams;
-	LPDHCPAPI_PARAMS Params;
-} DHCPCAPI_PARAMS_ARRAY,*PDHCPCAPI_PARAMS_ARRAY,*LPDHCPCAPI_PARAMS_ARRAY;
-VOID WINAPI DhcpCApiCleanup(void);
-DWORD WINAPI DhcpCApiInitialize(LPDWORD);
-DWORD WINAPI DhcpDeRegisterParamChange(DWORD,LPVOID,LPVOID);
-DWORD WINAPI DhcpRegisterParamChange(DWORD,LPVOID,PWSTR,LPDHCPCAPI_CLASSID,DHCPCAPI_PARAMS_ARRAY,LPVOID);
-DWORD WINAPI DhcpRemoveDNSRegistrations(void);
-DWORD WINAPI DhcpUndoRequestParams(DWORD,LPVOID,LPWSTR,LPWSTR);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dir.h
===================================================================
--- Daodan/MinGW/include/dir.h	(revision 1046)
+++ 	(revision )
@@ -1,40 +1,0 @@
-/*
- * dir.h
- *
- * Obsolete header replaced by <io.h>; this stub is retained for
- * backward compatibility only.
- *
- * $Id: dir.h,v 71af661f5309 2016/04/26 22:05:33 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-1999, 2001, 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, 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.
- *
- */
-#ifndef _DIR_H
-#pragma GCC system_header
-#define _DIR_H
-
-#warning "<dir.h> is obsolete; please use <io.h> instead."
-#include "io.h"
-
-#endif	/* !_DIR_H: $RCSfile: dir.h,v $: end of file */
Index: Daodan/MinGW/include/direct.h
===================================================================
--- Daodan/MinGW/include/direct.h	(revision 1046)
+++ 	(revision )
@@ -1,97 +1,0 @@
-/*
- * direct.h
- *
- * Functions for manipulating paths and directories, (included from io.h),
- * and functions for manipulating the current drive assignment.
- *
- * $Id: direct.h,v 71af661f5309 2016/04/26 22:05:33 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997, 1999-2001, 2003, 2004, 2007, 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, 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.
- *
- */
-#ifndef _DIRECT_H
-#pragma GCC system_header
-
-/* In addition to inclusion in its own right, this header supports
- * selective inclusion by <wchar.h>; thus...
- */
-#ifndef __WCHAR_H_SOURCED__
- /* ...we defer definition of the normal multiple inclusion guard,
-  * until we know that this is NOT a selective inclusion request.
-  */
-#define _DIRECT_H
-
-#define __DIRECT_H_SOURCED__
-/* All MinGW headers are required to include <_mingw.h>; additionally,
- * much of the content which we need here is defined in <io.h>, but we
- * also need the declaration of the _getdiskfree() function prototype,
- * and the definition for its associated _diskfree_t data structure,
- * 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"
-
-#undef __DIRECT_H_SOURCED__
-#endif	/* !__WCHAR_H_SOURCED__ */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-#ifdef _DIRECT_H
-/* Functions for manipulating disk drive selection; these are declared
- * only when <direct.h> is included in its own right.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _getdrive (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned long _getdrives(void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _chdrive (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_getdcwd (int, char*, int);
-
-#endif	/* _DIRECT_H */
-
-/* The following group of function prototypes are to be declared
- * either when including <dirent.h> in its own right, or when it
- * is included selectively by <wchar.h>; however...
- */
-#if defined __MSVCRT__ && ! (defined _DIRENT_H && defined _WCHAR_H)
- /*
-  * ...they are available only within MSVCRT.DLL, (i.e. they are
-  * NOT provided by CRTDLL.DLL), and if both _DIRENT_H and _WCHAR_H
-  * are already defined, by the time we get to here, then this must
-  * be an inclusion of <dirent.h> in its own right, AFTER they have
-  * already been declared on behalf of <wchar.h>; there is no need
-  * to declare them again.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wchdir (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wgetcwd (wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wgetdcwd (int, wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wmkdir (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wrmdir (const wchar_t *);
-
-#endif	/* __MSVCRT__ && ! (defined _DIRENT_H && defined _WCHAR_H) */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif  /* !_DIRECT_H: $RCSfile: direct.h,v $: end of file */
Index: Daodan/MinGW/include/dirent.h
===================================================================
--- Daodan/MinGW/include/dirent.h	(revision 1046)
+++ 	(revision )
@@ -1,163 +1,0 @@
-/*
- * DIRENT.H (formerly DIRLIB.H)
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- */
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
-#pragma GCC system_header
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-struct dirent
-{
-  long            d_ino;		/* Always zero. */
-  unsigned short  d_reclen;		/* Always sizeof struct dirent. */
-  unsigned short  d_namlen;		/* Length of name in d_name. */
-  unsigned        d_type;		/* File attributes */
-  char            d_name[FILENAME_MAX]; /* File name. */
-};
-
-/* This opaque data type represents the private structure
- * through which a directory stream is referenced.
- */
-typedef struct __dirstream_t DIR;
-
-DIR* __cdecl __MINGW_NOTHROW __mingw_opendir (const char*);
-struct dirent* __cdecl __MINGW_NOTHROW __mingw_readdir (DIR*);
-int __cdecl __MINGW_NOTHROW __mingw_closedir (DIR*);
-void __cdecl __MINGW_NOTHROW __mingw_rewinddir (DIR*);
-long __cdecl __MINGW_NOTHROW __mingw_telldir (DIR*);
-void __cdecl __MINGW_NOTHROW __mingw_seekdir (DIR*, long);
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = opendir ))
-DIR* __cdecl __MINGW_NOTHROW opendir (const char *__dirname)
-{ return __mingw_opendir (__dirname); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = readdir ))
-struct dirent* __cdecl __MINGW_NOTHROW readdir (DIR *__dir)
-{ return __mingw_readdir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = closedir ))
-int __cdecl __MINGW_NOTHROW closedir (DIR *__dir)
-{ return __mingw_closedir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = rewinddir ))
-void __cdecl __MINGW_NOTHROW rewinddir (DIR *__dir)
-{ return __mingw_rewinddir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = telldir ))
-long __cdecl __MINGW_NOTHROW telldir (DIR *__dir)
-{ return __mingw_telldir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = seekdir ))
-void __cdecl __MINGW_NOTHROW seekdir (DIR *__dir, long __loc)
-{ return __mingw_seekdir (__dir, __loc); }
-
-
-/* wide char versions */
-
-struct _wdirent
-{
-  long            d_ino;		/* Always zero. */
-  unsigned short  d_reclen;		/* Always size of struct _wdirent. */
-  unsigned short  d_namlen;		/* Length of name in d_name. */
-  unsigned        d_type;		/* File attributes */
-  wchar_t         d_name[FILENAME_MAX]; /* File name. */
-};
-
-/* This opaque data type represents the private structure
- * through which a wide directory stream is referenced.
- */
-typedef struct __wdirstream_t _WDIR;
-
-_WDIR* __cdecl __MINGW_NOTHROW __mingw__wopendir (const wchar_t*);
-struct _wdirent*  __cdecl __MINGW_NOTHROW __mingw__wreaddir (_WDIR*);
-int __cdecl __MINGW_NOTHROW __mingw__wclosedir (_WDIR*);
-void __cdecl __MINGW_NOTHROW __mingw__wrewinddir (_WDIR*);
-long __cdecl __MINGW_NOTHROW __mingw__wtelldir (_WDIR*);
-void __cdecl __MINGW_NOTHROW __mingw__wseekdir (_WDIR*, long);
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wopendir ))
-_WDIR* __cdecl __MINGW_NOTHROW _wopendir (const wchar_t *__dirname)
-{ return __mingw__wopendir (__dirname); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wreaddir ))
-struct _wdirent*  __cdecl __MINGW_NOTHROW _wreaddir (_WDIR *__dir)
-{ return __mingw__wreaddir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wclosedir ))
-int __cdecl __MINGW_NOTHROW _wclosedir (_WDIR *__dir)
-{ return __mingw__wclosedir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wrewinddir ))
-void __cdecl __MINGW_NOTHROW _wrewinddir (_WDIR *__dir)
-{ return __mingw__wrewinddir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wtelldir ))
-long __cdecl __MINGW_NOTHROW _wtelldir (_WDIR *__dir)
-{ return __mingw__wtelldir (__dir); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = _wseekdir ))
-void __cdecl __MINGW_NOTHROW _wseekdir (_WDIR *__dir, long __loc)
-{ return __mingw__wseekdir (__dir, __loc); }
-
-_END_C_DECLS
-
-#if defined(_BSD_SOURCE) || defined(_WIN32)
-/*
- * BSD-ish systems define manifest constants for the d_type field;
- * although probably only DT_REG and DT_DIR are useful on Win32, we
- * try to map them as best we can from the _finddata.attrib field.
- *
- * The relevant Microsoft manifest values are:
- *
- *   _A_NORMAL	(0x0000)	normal file: best fit for DT_REG
- *   _A_RDONLY	(0x0001)	read-only: no BSD d_type equivalent
- *   _A_HIDDEN	(0x0002)	hidden entity: no BSD equivalent
- *   _A_SYSTEM	(0x0004)	system entity: no BSD equivalent
- *   _A_VOLID	(0x0008)	volume label: no BSD equivalent
- *   _A_SUBDIR	(0x0010)	directory: best fit for DT_DIR
- *   _A_ARCH	(0x0020)	"dirty": no BSD equivalent
- *
- * Thus, we may immediately define:
- */
-#define DT_REG   	_A_NORMAL
-#define DT_DIR   	_A_SUBDIR
-
-/* The remaining BSD d_type manifest values have no Win32 equivalents;
- * we will define them artificially, and then we will ensure that our
- * opendir()/readdir() implementation will never assign them; (we will
- * substitute DT_UNKNOWN, but it would be unwise to simply make these
- * equivalent to that, since an application is likely to simply check
- * for d_type equal to any one of these defined types, and thus could
- * mistakenly identify DT_UNKNOWN as being of the tested type):
- */
-#define DT_BLK   	(((_A_SUBDIR) << 4) | DT_UNKNOWN)
-#define DT_CHR   	(((_A_SUBDIR) << 5) | DT_UNKNOWN)
-#define DT_FIFO  	(((_A_SUBDIR) << 6) | DT_UNKNOWN)
-#define DT_LNK   	(((_A_SUBDIR) << 7) | DT_UNKNOWN)
-#define DT_SOCK  	(((_A_SUBDIR) << 8) | DT_UNKNOWN)
-
-/* No file system entity can ever be simultaneously a volume label
- * and a directory; we will exploit this to unambiguously define:
- */
-#define DT_UNKNOWN	(_A_VOLID | _A_SUBDIR)
-
-#define _DIRENT_HAVE_D_TYPE    1
-#define _DIRENT_HAVE_D_RECLEN  1
-#define _DIRENT_HAVE_D_NAMLEN  1
-
-#endif  /* _BSD_SOURCE */
-#endif	/* ! RC_INVOKED */
-
-#endif	/* !defined _DIRENT_H_ */
Index: Daodan/MinGW/include/dlfcn.h
===================================================================
--- Daodan/MinGW/include/dlfcn.h	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-/*
- * dlfcn.h
- *
- * Public interface declarations for (approximately) POSIX conforming
- * dlopen(), dlsym(), dlclose(), and dlerror() API functions.
- *
- * $Id: dlfcn.h,v 82d2db93e4de 2014/11/11 18:13:14 keithmarshall $
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2014, 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.
- *
- */
-#ifndef _DLFCN_H
-#define _DLFCN_H  1
-#pragma GCC system_header
-
-#include <_mingw.h>
-
-/* POSIX requires the following four definitions.  Our implementation
- * (currently) does not support the behaviour associated with RTLD_LAZY;
- * if specified, it is simply ignored; RTLD_NOW behaviour will prevail.
- */
-#define RTLD_NOW	0
-#define RTLD_LAZY	1
-#define RTLD_GLOBAL	2
-#define RTLD_LOCAL	4
-
-/* POSIX does not yet require the following pair, but reserves them for
- * future capabilities; they will be used in contexts where a DLL module
- * handle is expected, so we reserve values of suitable type, which are
- * unlikely to ever occur as real module handles in practice.
- */
-#define RTLD_DEFAULT	(void *)(-1)
-#define RTLD_NEXT	(void *)(-3)
-
-/* The four dlfcn API functions, dlopen(), dlsym(), dlerror(), and dlclose(),
- * are each defined privately, and made publicly accessible via corresponding
- * function pointers, within the following publicly visible structure.
- */
-_EXTERN_C struct __dlfcn__
-{ void *(*dlopen)( const char *, int );
-  void *(*dlsym)( void *__restrict__, const char *__restrict__ );
-  char *(*dlerror)( void );
-  int (*dlclose)( void * );
-} __mingw_dlfcn;
-
-/* Declare the public API for each of these functions...
- */
-_BEGIN_C_DECLS
-
-/* In any event, we always declare prototypes for all four functions.
- */
-void * dlopen( const char *, int );
-void * dlsym( void *__restrict__, const char *__restrict__ );
-int    dlclose( void * );
-char * dlerror( void );
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = dlopen ))
-void *dlopen( const char *__name, int __mode )
-{ return __mingw_dlfcn.dlopen( __name, __mode ); }
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = dlsym ))
-void *dlsym( void *__restrict__ __module, const char *__restrict__ __name )
-{ return __mingw_dlfcn.dlsym( __module, __name ); }
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = dlclose ))
-int dlclose( void *__module ){ return __mingw_dlfcn.dlclose( __module ); }
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = dlerror ))
-char *dlerror( void ){ return __mingw_dlfcn.dlerror(); }
-
-_END_C_DECLS
-
-#endif /* _DLFCN_H: $RCSfile: dlfcn.h,v $: end of file */
Index: Daodan/MinGW/include/dlgs.h
===================================================================
--- Daodan/MinGW/include/dlgs.h	(revision 1046)
+++ 	(revision )
@@ -1,186 +1,0 @@
-#ifndef _DLGS_H
-#define _DLGS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define FILEOPENORD 1536
-#define MULTIFILEOPENORD 1537
-#define PRINTDLGORD 1538
-#define PRNSETUPDLGORD 1539
-#define FINDDLGORD 1540
-#define REPLACEDLGORD 1541
-#define FONTDLGORD 1542
-#define FORMATDLGORD31 1543
-#define FORMATDLGORD30 1544
-#define PAGESETUPDLGORD 1546
-#define ctlFirst 0x400
-#define ctlLast 0x4ff
-#define chx1 0x410
-#define chx2 0x411
-#define chx3 0x412
-#define chx4 0x413
-#define chx5 0x414
-#define chx6 0x415
-#define chx7 0x416
-#define chx8 0x417
-#define chx9 0x418
-#define chx10 0x419
-#define chx11 0x41a
-#define chx12 0x41b
-#define chx13 0x41c
-#define chx14 0x41d
-#define chx15 0x41e
-#define chx16 0x41f
-#define cmb1 0x470
-#define cmb2 0x471
-#define cmb3 0x472
-#define cmb4 0x473
-#define cmb5 0x474
-#define cmb6 0x475
-#define cmb7 0x476
-#define cmb8 0x477
-#define cmb9 0x478
-#define cmb10 0x479
-#define cmb11 0x47a
-#define cmb12 0x47b
-#define cmb13 0x47c
-#define cmb14 0x47d
-#define cmb15 0x47e
-#define cmb16 0x47f
-#define edt1 0x480
-#define edt2 0x481
-#define edt3 0x482
-#define edt4 0x483
-#define edt5 0x484
-#define edt6 0x485
-#define edt7 0x486
-#define edt8 0x487
-#define edt9 0x488
-#define edt10 0x489
-#define edt11 0x48a
-#define edt12 0x48b
-#define edt13 0x48c
-#define edt14 0x48d
-#define edt15 0x48e
-#define edt16 0x48f
-#define frm1 0x434
-#define frm2 0x435
-#define frm3 0x436
-#define frm4 0x437
-#define grp1 0x430
-#define grp2 0x431
-#define grp3 0x432
-#define grp4 0x433
-#define ico1 0x43c
-#define ico2 0x43d
-#define ico3 0x43e
-#define ico4 0x43f
-#define lst1 0x460
-#define lst2 0x461
-#define lst3 0x462
-#define lst4 0x463
-#define lst5 0x464
-#define lst6 0x465
-#define lst7 0x466
-#define lst8 0x467
-#define lst9 0x468
-#define lst10 0x469
-#define lst11 0x46a
-#define lst12 0x46b
-#define lst13 0x46c
-#define lst14 0x46d
-#define lst15 0x46e
-#define lst16 0x46f
-#define psh1 0x400
-#define psh2 0x401
-#define psh3 0x402
-#define psh4 0x403
-#define psh5 0x404
-#define psh6 0x405
-#define psh7 0x406
-#define psh8 0x407
-#define psh9 0x408
-#define psh10 0x409
-#define psh11 0x40a
-#define psh12 0x40b
-#define psh13 0x40c
-#define psh14 0x40d
-#define psh15 0x40e
-#define pshHelp 0x40e
-#define psh16 0x40f
-#define rad1 0x420
-#define rad2 0x421
-#define rad3 0x422
-#define rad4 0x423
-#define rad5 0x424
-#define rad6 0x425
-#define rad7 0x426
-#define rad8 0x427
-#define rad9 0x428
-#define rad10 0x429
-#define rad11 0x42a
-#define rad12 0x42b
-#define rad13 0x42c
-#define rad14 0x42d
-#define rad15 0x42e
-#define rad16 0x42f
-#define rct1 0x438
-#define rct2 0x439
-#define rct3 0x43a
-#define rct4 0x43b
-#define scr1 0x490
-#define scr2 0x491
-#define scr3 0x492
-#define scr4 0x493
-#define scr5 0x494
-#define scr6 0x495
-#define scr7 0x496
-#define scr8 0x497
-#define stc1 0x440
-#define stc2 0x441
-#define stc3 0x442
-#define stc4 0x443
-#define stc5 0x444
-#define stc6 0x445
-#define stc7 0x446
-#define stc8 0x447
-#define stc9 0x448
-#define stc10 0x449
-#define stc11 0x44a
-#define stc12 0x44b
-#define stc13 0x44c
-#define stc14 0x44d
-#define stc15 0x44e
-#define stc16 0x44f
-#define stc17 0x450
-#define stc18 0x451
-#define stc19 0x452
-#define stc20 0x453
-#define stc21 0x454
-#define stc22 0x455
-#define stc23 0x456
-#define stc24 0x457
-#define stc25 0x458
-#define stc26 0x459
-#define stc27 0x45a
-#define stc28 0x45b
-#define stc29 0x45c
-#define stc30 0x45d
-#define stc31 0x45e
-#define stc32 0x45f
-#ifndef RC_INVOKED
-typedef struct tagCRGB {
- BYTE bRed;
- BYTE bGreen;
- BYTE bBlue;
- BYTE bExtra;
-} CRGB;
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/docobj.h
===================================================================
--- Daodan/MinGW/include/docobj.h	(revision 1046)
+++ 	(revision )
@@ -1,147 +1,0 @@
-#ifndef _DOCOBJ_H
-#define _DOCOBJ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OLECMDERR_E_UNKNOWNGROUP (-2147221244)
-#define OLECMDERR_E_DISABLED (-2147221247)
-#define OLECMDERR_E_NOHELP (-2147221246)
-#define OLECMDERR_E_CANCELED (-2147221245)
-#define OLECMDERR_E_NOTSUPPORTED (-2147221248)
-
-typedef enum {
-	OLECMDID_OPEN = 1,
-	OLECMDID_NEW = 2,
-	OLECMDID_SAVE = 3,
-	OLECMDID_SAVEAS = 4,
-	OLECMDID_SAVECOPYAS = 5,
-	OLECMDID_PRINT = 6,
-	OLECMDID_PRINTPREVIEW = 7,
-	OLECMDID_PAGESETUP = 8,
-	OLECMDID_SPELL = 9,
-	OLECMDID_PROPERTIES = 10,
-	OLECMDID_CUT = 11,
-	OLECMDID_COPY = 12,
-	OLECMDID_PASTE = 13,
-	OLECMDID_PASTESPECIAL = 14,
-	OLECMDID_UNDO = 15,
-	OLECMDID_REDO = 16,
-	OLECMDID_SELECTALL = 17,
-	OLECMDID_CLEARSELECTION = 18,
-	OLECMDID_ZOOM = 19,
-	OLECMDID_GETZOOMRANGE = 20,
-	OLECMDID_UPDATECOMMANDS = 21,
-	OLECMDID_REFRESH = 22,
-	OLECMDID_STOP = 23,
-	OLECMDID_HIDETOOLBARS = 24,
-	OLECMDID_SETPROGRESSMAX = 25,
-	OLECMDID_SETPROGRESSPOS = 26,
-	OLECMDID_SETPROGRESSTEXT = 27,
-	OLECMDID_SETTITLE = 28,
-	OLECMDID_SETDOWNLOADSTATE = 29,
-	OLECMDID_STOPDOWNLOAD = 30
-} OLECMDID;
-typedef enum {
-	OLECMDF_SUPPORTED = 1,
-	OLECMDF_ENABLED = 2,
-	OLECMDF_LATCHED = 4,
-	OLECMDF_NINCHED = 8
-} OLECMDF;
-typedef enum {
-	OLECMDEXECOPT_DODEFAULT = 0,
-	OLECMDEXECOPT_PROMPTUSER = 1,
-	OLECMDEXECOPT_DONTPROMPTUSER = 2,
-	OLECMDEXECOPT_SHOWHELP = 3
-} OLECMDEXECOPT;
-
-typedef struct _tagOLECMDTEXT {
-	DWORD cmdtextf;
-	ULONG cwActual;
-	ULONG cwBuf;
-	wchar_t rgwz[1];
-} OLECMDTEXT;
-typedef struct _tagOLECMD {
-	ULONG cmdID;
-	DWORD cmdf;
-} OLECMD;
-
-typedef _COM_interface IOleInPlaceSite *LPOLEINPLACESITE;
-typedef _COM_interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
-
-EXTERN_C const IID IID_IContinueCallback;
-EXTERN_C const IID IID_IEnumOleDocumentViews;
-EXTERN_C const IID IID_IPrint;
-
-EXTERN_C const IID IID_IOleDocumentView;
-#define INTERFACE IOleDocumentView
-DECLARE_INTERFACE_(IOleDocumentView,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-
-	STDMETHOD(SetInPlaceSite)(THIS_ LPOLEINPLACESITE) PURE;
-	STDMETHOD(GetInPlaceSite)(THIS_ LPOLEINPLACESITE*) PURE;
-	STDMETHOD(GetDocument)(THIS_ IUnknown**) PURE;
-	STDMETHOD(SetRect)(THIS_ LPRECT) PURE;
-	STDMETHOD(GetRect)(THIS_ LPRECT) PURE;
-	STDMETHOD(SetRectComplex)(THIS_ LPRECT,LPRECT,LPRECT,LPRECT) PURE;
-	STDMETHOD(Show)(THIS_ BOOL) PURE;
-	STDMETHOD(UIActivate)(THIS_ BOOL) PURE;
-	STDMETHOD(Open)(THIS) PURE;
-	STDMETHOD(Close)(THIS_ DWORD) PURE;
-	STDMETHOD(SaveViewState)(THIS_ IStream*) PURE;
-	STDMETHOD(ApplyViewState)(THIS_ IStream*) PURE;
-	STDMETHOD(Clone)(THIS_ LPOLEINPLACESITE,IOleDocumentView**) PURE;
-};
-#undef INTERFACE
-DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);
-
-EXTERN_C const IID IID_IOleDocument;
-#define INTERFACE IOleDocument
-DECLARE_INTERFACE_(IOleDocument,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-
-	STDMETHOD(CreateView)(THIS_ LPOLEINPLACESITE,IStream*,DWORD,IOleDocumentView**) PURE;
-	STDMETHOD(GetDocMiscStatus)(THIS_ DWORD*) PURE;
-	STDMETHOD(EnumViews)(THIS_ LPENUMOLEDOCUMENTVIEWS*,IOleDocumentView**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleCommandTarget;
-#define INTERFACE IOleCommandTarget
-DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-
-	STDMETHOD(QueryStatus)(THIS_ const GUID*,ULONG,OLECMD*,OLECMDTEXT*) PURE;
-	STDMETHOD(Exec)(THIS_ const GUID*,DWORD,DWORD,VARIANTARG*,VARIANTARG*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleDocumentSite;
-#define INTERFACE IOleDocumentSite
-DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-
-	STDMETHOD(ActivateMe)(THIS_ IOleDocumentView*) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dos.h
===================================================================
--- Daodan/MinGW/include/dos.h	(revision 1046)
+++ 	(revision )
@@ -1,136 +1,0 @@
-/*
- * dos.h
- *
- * Functions and structures inherited from MS-DOS.
- *
- * $Id: dos.h,v 71af661f5309 2016/04/26 22:05:33 keithmarshall $
- *
- * Written by Jan-Jaap van der Heijden
- * Copyright (C) 1997-1999, 2001-2004, 2007, 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, 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.
- *
- */
-#ifndef	_DOS_H
-#pragma GCC system_header
-
-/* This header supports selective inclusion by <direct.h>, for delegated
- * access to the content of <io.h>, and for declaration of the prototype
- * and associated data structure for the _getdiskfree() function; since
- * including <dos.h> in this manner does not make all of its content
- * visible, we defer definition of its multiple inclusion guard...
- */
-#ifndef __DIRECT_H_SOURCED__
- /* ...until we have determined that this inclusion is NOT a selective
-  * request from <direct.h>; in spite of it being obsolete, it appears
-  * that the user may have included <dos.h> directly.
-  */
-#define	_DOS_H
-#warning "<dos.h> is obsolete; consider using <direct.h> instead."
-#endif	/* !__DIRECT_H_SOURCED__ */
-
-/* All MinGW headers are required to include <_mingw.h>; additionally,
- * for DOS file attributes, we must include <io.h>.  By unconditionally
- * including <io.h> here, we may delegate the inclusion of <_mingw.h> to
- * it, while also allowing <direct.h> to delegate responsibility for the
- * inclusion of both <_mingw.h> and <io.h> to us.
- */
-#include "io.h"
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-/* The following declarations are to be visible ONLY when <dos.h>
- * is included in its own right; they represent entities which are
- * present in CRTDLL.DLL, but not in MSVCRT.DLL
- */
-#if defined _DOS_H && ! defined __MSVCRT__
-#ifndef __DECLSPEC_SUPPORTED
-
-# define _basemajor    (*_imp___basemajor_dll)
-# define _baseminor    (*_imp___baseminor_dll)
-# define _baseversion  (*_imp___baseversion_dll)
-# define _osmajor      (*_imp___osmajor_dll)
-# define _osminor      (*_imp___osminor_dll)
-# define _osmode       (*_imp___osmode_dll)
-
-extern unsigned int *_imp___basemajor_dll;
-extern unsigned int *_imp___baseminor_dll;
-extern unsigned int *_imp___baseversion_dll;
-extern unsigned int *_imp___osmajor_dll;
-extern unsigned int *_imp___osminor_dll;
-extern unsigned int *_imp___osmode_dll;
-
-#else /* __DECLSPEC_SUPPORTED */
-
-# define _basemajor    _basemajor_dll
-# define _baseminor    _baseminor_dll
-# define _baseversion  _baseversion_dll
-# define _osmajor      _osmajor_dll
-# define _osminor      _osminor_dll
-# define _osmode       _osmode_dll
-
-__MINGW_IMPORT unsigned int _basemajor_dll;
-__MINGW_IMPORT unsigned int _baseminor_dll;
-__MINGW_IMPORT unsigned int _baseversion_dll;
-__MINGW_IMPORT unsigned int _osmajor_dll;
-__MINGW_IMPORT unsigned int _osminor_dll;
-__MINGW_IMPORT unsigned int _osmode_dll;
-
-#endif	/* __DECLSPEC_SUPPORTED */
-#endif	/* _DOS_H && !__MSVCRT__ */
-
-/* The following section, which declares the _getdiskfree() function
- * prototype, and also defines its associated _diskfree_t data structure,
- * is to be processed both when including <dos.h> in its own right, and
- * when selectively included by <direct.h>; however...
- */
-#if ! (defined _DOS_H && defined _DIRECT_H)
- /* ...when both the _DOS_H guard, and the _DIRECT_H multiple inclusion
-  * guards have been defined, by the time we get to here, then this is
-  * <dos.h> inclusion in its own right, and we have ALREADY processed
-  * these definitions through selective inclusion by <direct.h>; we
-  * MUST NOT process them a second time.
-  */
-#ifndef	_NO_OLDNAMES
-# define diskfree_t  _diskfree_t
-#endif
-
-struct _diskfree_t
-{ /* A structure in which to store information about disk
-   * free space, as returned by the _getdiskfree() function.
-   */
-  unsigned total_clusters;
-  unsigned avail_clusters;
-  unsigned sectors_per_cluster;
-  unsigned bytes_per_sector;
-};
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned _getdiskfree (unsigned, struct _diskfree_t *);
-
-#endif	/* ! ( _DOS_H && _DIRECT_H) */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif  /* !_DOS_H: $RCSfile: dos.h,v $: end of file */
Index: Daodan/MinGW/include/dsadmin.h
===================================================================
--- Daodan/MinGW/include/dsadmin.h	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-/*
- * dsadmin.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _DSADMIN_H
-#define _DSADMIN_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Active Directory Admin Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct {
-	DWORD dwSize;
-	HICON hObjClassIcon;
-	LPWSTR lpszWizTitle;
-	LPWSTR lpszContDisplayName;
-} DSA_NEWOBJ_DISPINFO,*LPDSA_NEWOBJ_DISPINFO;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dsclient.h
===================================================================
--- Daodan/MinGW/include/dsclient.h	(revision 1046)
+++ 	(revision )
@@ -1,186 +1,0 @@
-/*
- * dsclient.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _DSCLIENT_H
-#define _DSCLIENT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */
-#define DSBM_QUERYINSERTW 0x0064
-#define DSBM_QUERYINSERTA 0x0065
-#define DSBM_CHANGEIMAGESTATE 0x0066
-#define DSBM_HELP 0x0067
-#define DSBM_CONTEXTMENU 0x0068
-#ifdef UNICODE
-#define DSBM_QUERYINSERT DSBM_QUERYINSERTW
-#else
-#define DSBM_QUERYINSERT DSBM_QUERYINSERTA
-#endif
-/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
-typedef struct _DOMAINDESC {
-	LPWSTR pszName;
-	LPWSTR pszPath;
-	LPWSTR pszNCName;
-	LPWSTR pszTrustParent;
-	LPWSTR pszObjectClass;
-	ULONG ulFlags;
-	BOOL fDownLevel;
-	struct _DOMAINDESC* pdChildList;
-	struct _DOMAINDESC* pdNextSibling;
-} DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC;
-typedef struct {
-	DWORD dsSize;
-	DWORD dwCount;
-	DOMAINDESC aDomains[1];
-} DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE;
-#define DSB_MAX_DISPLAYNAME_CHARS 64
-typedef struct {
-	DWORD cbStruct;
-	LPCWSTR pszADsPath;
-	LPCWSTR pszClass;
-	DWORD dwMask;
-	DWORD dwState;
-	DWORD dwStateMask;
-	CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
-	CHAR szIconLocation[MAX_PATH];
-	INT iIconResID;
-} DSBITEMA,*PDSBITEMA;
-typedef struct {
-	DWORD cbStruct;
-	LPCWSTR pszADsPath;
-	LPCWSTR pszClass;
-	DWORD dwMask;
-	DWORD dwState;
-	DWORD dwStateMask;
-	CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS];
-	CHAR szIconLocation[MAX_PATH];
-	INT iIconResID;
-} DSBITEMW,*PDSBITEMW;
-#define DSBF_STATE 0x00000001
-#define DSBF_ICONLOCATION 0x00000002
-#define DSBF_DISPLAYNAME 0x00000004
-#define DSBS_CHECKED 0x00000001
-#define DSBS_HIDDEN 0x00000002
-#define DSBS_ROOT 0x00000004
-typedef struct {
-	DWORD cbStruct;
-	HWND hwndOwner;
-	LPCSTR pszCaption;
-	LPCSTR pszTitle;
-	LPCWSTR pszRoot;
-	LPWSTR pszPath;
-	ULONG cchPath;
-	DWORD dwFlags;
-	BFFCALLBACK pfnCallback;
-	LPARAM lParam;
-	DWORD dwReturnFormat;
-	LPCWSTR pUserName;
-	LPCWSTR pPassword;
-	LPWSTR pszObjectClass;
-	ULONG cchObjectClass;
-} DSBROWSEINFOA,*PDSBROWSEINFOA;
-typedef struct {
-	DWORD cbStruct;
-	HWND hwndOwner;
-	LPCWSTR pszCaption;
-	LPCWSTR pszTitle;
-	LPCWSTR pszRoot;
-	LPWSTR pszPath;
-	ULONG cchPath;
-	DWORD dwFlags;
-	BFFCALLBACK pfnCallback;
-	LPARAM lParam;
-	DWORD dwReturnFormat;
-	LPCWSTR pUserName;
-	LPCWSTR pPassword;
-	LPWSTR pszObjectClass;
-	ULONG cchObjectClass;
-} DSBROWSEINFOW,*PDSBROWSEINFOW;
-#define DSBI_NOBUTTONS 0x00000001
-#define DSBI_NOLINES 0x00000002
-#define DSBI_NOLINESATROOT 0x00000004
-#define DSBI_CHECKBOXES 0x00000100
-#define DSBI_NOROOT 0x00010000
-#define DSBI_INCLUDEHIDDEN 0x00020000
-#define DSBI_EXPANDONOPEN 0x00040000
-#define DSBI_ENTIREDIRECTORY 0x00090000
-#define DSBI_RETURN_FORMAT 0x00100000
-#define DSBI_HASCREDENTIALS 0x00200000
-#define DSBI_IGNORETREATASLEAF 0x00400000
-#define DSBI_SIMPLEAUTHENTICATE 0x00800000
-#define DSBI_RETURNOBJECTCLASS 0x01000000
-#define DSBI_DONTSIGNSEAL 0x02000000
-typedef struct {
-	DWORD dwFlags;
-	CLSID clsidWizardDialog;
-	CLSID clsidWizardPrimaryPage;
-	DWORD cWizardExtensions;
-	CLSID aWizardExtensions[1];
-} DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO;
-#define DSCCIF_HASWIZARDDIALOG 0x00000001
-#define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002
-typedef struct _DSDISPLAYSPECOPTIONS {
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD offsetAttribPrefix;
-	DWORD offsetUserName;
-	DWORD offsetPassword;
-	DWORD offsetServer;
-	DWORD offsetServerConfigPath;
-} DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS;
-#define DSDSOF_HASUSERANDSERVERINFO 0x00000001
-#define DSDSOF_SIMPLEAUTHENTICATE 0x00000002
-#define DSDSOF_DONTSIGNSEAL 0x00000004
-#define DSDSOF_DSAVAILABLE 0x40000000
-typedef struct {
-	DWORD dwFlags;
-	DWORD dwProviderFlags;
-	DWORD offsetName;
-	DWORD offsetClass;
-} DSOBJECT,*LPDSOBJECT;
-#define DSOBJECT_ISCONTAINER 0x00000001
-#define DSOBJECT_READONLYPAGES 0x80000000
-#define DSPROVIDER_UNUSED_0 0x00000001
-#define DSPROVIDER_UNUSED_1 0x00000002
-#define DSPROVIDER_UNUSED_2 0x00000004
-#define DSPROVIDER_UNUSED_3 0x00000008
-#define DSPROVIDER_ADVANCED 0x00000010
-typedef struct {
-	CLSID clsidNamespace;
-	UINT cItems;
-	DSOBJECT aObjects[1];
-} DSOBJECTNAMES,*LPDSOBJECTNAMES;
-typedef struct {
-	DWORD offsetString;
-} DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO;
-#ifdef UNICODE
-typedef DSBITEMW DSBITEM,*PDSBITEM;
-typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO;
-#else
-typedef DSBITEMA DSBITEM,*PDSBITEM;
-typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO;
-#endif
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dsgetdc.h
===================================================================
--- Daodan/MinGW/include/dsgetdc.h	(revision 1046)
+++ 	(revision )
@@ -1,121 +1,0 @@
-/*
- * dsgetdc.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _DSGETDC_H
-#define _DSGETDC_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
-#if (_WIN32_WINNT >= 0x0500)
-#define DS_FORCE_REDISCOVERY 0x00000001
-#define DS_DIRECTORY_SERVICE_REQUIRED 0x00000010
-#define DS_DIRECTORY_SERVICE_PREFERRED 0x00000020
-#define DS_GC_SERVER_REQUIRED 0x00000040
-#define DS_PDC_REQUIRED 0x00000080
-#define DS_BACKGROUND_ONLY 0x00000100
-#define DS_IP_REQUIRED 0x00000200
-#define DS_KDC_REQUIRED 0x00000400
-#define DS_TIMESERV_REQUIRED 0x00000800
-#define DS_WRITABLE_REQUIRED 0x00001000
-#define DS_GOOD_TIMESERV_PREFERRED 0x00002000
-#define DS_AVOID_SELF 0x00004000
-#define DS_ONLY_LDAP_NEEDED 0x00008000
-#define DS_IS_FLAT_NAME 0x00010000
-#define DS_IS_DNS_NAME 0x00020000
-#define DS_RETURN_DNS_NAME 0x40000000
-#define DS_RETURN_FLAT_NAME 0x80000000
-typedef struct _DOMAIN_CONTROLLER_INFOA {
-	LPSTR DomainControllerName;
-	LPSTR DomainControllerAddress;
-	ULONG DomainControllerAddressType;
-	GUID DomainGuid;
-	LPSTR DomainName;
-	LPSTR DnsForestName;
-	ULONG Flags;
-	LPSTR DcSiteName;
-	LPSTR ClientSiteName;
-} DOMAIN_CONTROLLER_INFOA,*PDOMAIN_CONTROLLER_INFOA;
-typedef struct _DOMAIN_CONTROLLER_INFOW {
-	LPWSTR DomainControllerName;
-	LPWSTR DomainControllerAddress;
-	ULONG DomainControllerAddressType;
-	GUID DomainGuid;
-	LPWSTR DomainName;
-	LPWSTR DnsForestName;
-	ULONG Flags;
-	LPWSTR DcSiteName;
-	LPWSTR ClientSiteName;
-} DOMAIN_CONTROLLER_INFOW,*PDOMAIN_CONTROLLER_INFOW;
-#define DS_INET_ADDRESS 0x0001
-#define DS_NETBIOS_ADDRESS 0x0002
-#define DS_PDC_FLAG 0x00000001
-#define DS_GC_FLAG 0x00000004
-#define DS_DS_FLAG 0x00000010
-#define DS_KDC_FLAG 0x00000020
-#define DS_TIMESERV_FLAG 0x00000040
-#define DS_WRITABLE_FLAG 0x00000100
-#define DS_DNS_CONTROLLER_FLAG 0x20000000
-#define DS_DNS_DOMAIN_FLAG 0x40000000
-#define DS_DNS_FOREST_FLAG 0x80000000
-typedef struct _DS_DOMAIN_TRUSTSA {
-	LPSTR NetbiosDomainName;
-	LPSTR DnsDomainName;
-	ULONG Flags;
-	ULONG ParentIndex;
-	ULONG TrustType;
-	ULONG TrustAttributes;
-	PSID DomainSid;
-	GUID DomainGuid;
-} DS_DOMAIN_TRUSTSA,*PDS_DOMAIN_TRUSTSA;
-typedef struct _DS_DOMAIN_TRUSTSW {
-	LPWSTR NetbiosDomainName;
-	LPWSTR DnsDomainName;
-	ULONG Flags;
-	ULONG ParentIndex;
-	ULONG TrustType;
-	ULONG TrustAttributes;
-	PSID DomainSid;
-	GUID DomainGuid;
-} DS_DOMAIN_TRUSTSW,*PDS_DOMAIN_TRUSTSW;
-#define DS_DOMAIN_IN_FOREST 0x0001
-#define DS_DOMAIN_DIRECT_OUTBOUND 0x0002
-#define DS_DOMAIN_TREE_ROOT 0x0004
-#define DS_DOMAIN_PRIMARY 0x0008
-#define DS_DOMAIN_NATIVE_MODE 0x0010
-#define DS_DOMAIN_DIRECT_INBOUND 0x0020
-
-DWORD WINAPI DsGetDcNameW(LPCWSTR, LPCWSTR, GUID*, LPCWSTR, ULONG, PDOMAIN_CONTROLLER_INFOW*);
-DWORD WINAPI DsGetDcNameA(LPCSTR, LPCSTR, GUID*, LPCSTR, ULONG, PDOMAIN_CONTROLLER_INFOA*);
-
-#ifdef UNICODE
-typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
-typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
-#define DsGetDcName DsGetDcNameW
-#else
-typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO;
-typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS;
-#define DsGetDcName DsGetDcNameA
-#endif
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dshow.h
===================================================================
--- Daodan/MinGW/include/dshow.h	(revision 1046)
+++ 	(revision )
@@ -1,108 +1,0 @@
-#ifndef _DSHOW_H
-#define _DSHOW_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <strmif.h>
-#include <amaudio.h>
-#include <amvideo.h>
-#include <evcode.h>
-#include <audevcod.h>
-#include <dvdevcod.h>
-#include <errors.h>
-#include <vptype.h>
-#include <ks.h>
-#include <vidcap.h>
-#include <bdatypes.h>
-#include <dvdmedia.h>
-#include <il21dec.h>
-#include <ddraw.h> /* DDSCAPS2, DDPIXELFORMAT */
-#ifndef _WINGDI_H
-#include <wingdi.h> /* BITMAPINFOHEADER */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum _AM_ASPECT_RATIO_MODE {
-	AM_ARMODE_STRETCHED,
-	AM_ARMODE_LETTER_BOX,
-	AM_ARMODE_CROP,
-	AM_ARMODE_STRETCHED_AS_PRIMARY
-} AM_ASPECT_RATIO_MODE;
-typedef enum _AM_WST_DRAWBGMODE {
-	AM_WST_DRAWBGMODE_Opaque,
-	AM_WST_DRAWBGMODE_Transparent
-} AM_WST_DRAWBGMODE,*PAM_WST_DRAWBGMODE;
-typedef enum _AM_WST_LEVEL {
-	AM_WST_LEVEL_1_5 = 0
-} AM_WST_LEVEL,*PAM_WST_LEVEL;
-typedef enum _AM_WST_SERVICE {
-	AM_WST_SERVICE_None = 0,
-	AM_WST_SERVICE_Text,
-	AM_WST_SERVICE_IDS,
-	AM_WST_SERVICE_Invalid
-} AM_WST_SERVICE,*PAM_WST_SERVICE;
-typedef enum _AM_WST_STATE {
-	AM_WST_STATE_Off = 0,
-	AM_WST_STATE_On
-} AM_WST_STATE,*PAM_WST_STATE;
-typedef enum _AM_WST_STYLE {
-	AM_WST_STYLE_None = 0,
-	AM_WST_STYLE_Invers
-} AM_WST_STYLE,*PAM_WST_STYLE;
-typedef enum {
-	AM_EXSEEK_CANSEEK= 1,
-	AM_EXSEEK_CANSCAN = 2,
-	AM_EXSEEK_MARKERSEEK = 4,
-	AM_EXSEEK_SCANWITHOUTCLOCK = 8,
-	AM_EXSEEK_NOSTANDARDREPAINT = 16,
-	AM_EXSEEK_BUFFERING = 32,
-	AM_EXSEEK_SENDS_VIDEOFRAMEREADY = 64
-} AMExtendedSeekingCapabilities;
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct _AM_WST_PAGE {
-	DWORD dwPageNr;
-	DWORD dwSubPageNr;
-	BYTE *pucPageData;
-} AM_WST_PAGE,*PAM_WST_PAGE;
-typedef struct _tag_AMVABeginFrameInfo{
-	DWORD dwDestSurfaceIndex;
-	LPVOID pInputData;
-	DWORD dwSizeInputData;
-	LPVOID pOutputData;
-	DWORD dwSizeOutputData;
- } AMVABeginFrameInfo,*LPAMVABeginFrameInfo;
-typedef struct _tag_AMVACompBufferInfo{
-	DWORD dwNumCompBuffers;
-	DWORD dwWidthToCreate;
-	DWORD dwHeightToCreate;
-	DWORD dwBytesToAllocate;
-	DDSCAPS2 ddCompCaps;
-	DDPIXELFORMAT ddPixelFormat;
-} AMVACompBufferInfo,*LPAMVACompBufferInfo;
-typedef struct _tag_AMVAEndFrameInfo{
-	DWORD dwSizeMiscData;
-	LPVOID pMiscData;
-} AMVAEndFrameInfo,*LPAMVAEndFrameInfo;
-typedef struct _tag_AMVAInternalMemInfo{
-	DWORD dwScratchMemAlloc;
-} AMVAInternalMemInfo,*LPAMVAInternalMemInfo;
-typedef struct _tag_AMVAUncompBufferInfo{
-	DWORD dwMinNumSurfaces;
-	DWORD dwMaxNumSurfaces;
-	DDPIXELFORMAT ddUncompPixelFormat;
-} AMVAUncompBufferInfo,*LPAMVAUncompBufferInfo;
- typedef struct _tag_AMVAUncompDataInfo{
-	DWORD dwUncompWidth;
-	DWORD dwUncompHeight;
-	DDPIXELFORMAT ddUncompPixelFormat;
-} AMVAUncompDataInfo,*LPAMVAUncompDataInfo;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dsquery.h
===================================================================
--- Daodan/MinGW/include/dsquery.h	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/*
- * dsquery.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _DSQUERY_H
-#define _DSQUERY_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct {
-	DWORD dwFlags;
-	INT fmt;
-	INT cx;
-	INT idsName;
-	LONG offsetProperty;
-	DWORD dwReserved;
-} DSCOLUMN,*LPDSCOLUMN;
-#define DSCOLUMNPROP_ADSPATH -1
-#define DSCOLUMNPROP_OBJECTCLASS -2
-typedef struct {
-	DWORD cbStruct;
-	LONG cClasses;
-	DWORD offsetClass[1];
-} DSQUERYCLASSLIST,*LPDSQUERYCLASSLIST;
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	LPWSTR pDefaultScope;
-	LPWSTR pDefaultSaveLocation;
-	LPWSTR pUserName;
-	LPWSTR pPassword;
-	LPWSTR pServer;
-} DSQUERYINITPARAMS,*LPDSQUERYINITPARAMS;
-#define DSQPF_NOSAVE 0x00000001
-#define DSQPF_SAVELOCATION 0x00000002
-#define DSQPF_SHOWHIDDENOBJECTS 0x00000004
-#define DSQPF_ENABLEADMINFEATURES 0x00000008
-#define DSQPF_ENABLEADVANCEDFEATURES 0x00000010
-#define DSQPF_HASCREDENTIALS 0x00000020
-#define DSQPF_NOCHOOSECOLUMNS 0x00000040
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HINSTANCE hInstance;
-	LONG offsetQuery;
-	LONG iColumns;
-	DWORD dwReserved;
-	DSCOLUMN aColumns[1];
-} DSQUERYPARAMS,*LPDSQUERYPARAMS;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dsrole.h
===================================================================
--- Daodan/MinGW/include/dsrole.h	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-/*
- * dsrole.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _DSROLE_H
-#define _DSROLE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-/*--- Active Directory Reference - Active Directory Enumerations */
-typedef enum {
-	DsRole_RoleStandaloneWorkstation,
-	DsRole_RoleMemberWorkstation,
-	DsRole_RoleStandaloneServer,
-	DsRole_RoleMemberServer,
-	DsRole_RoleBackupDomainController,
-	DsRole_RolePrimaryDomainController
-} DSROLE_MACHINE_ROLE;
-typedef enum {
-	DsRoleOperationIdle,
-	DsRoleOperationActive,
-	DsRoleOperationNeedReboot
-} DSROLE_OPERATION_STATE;
-typedef enum {
-	DsRolePrimaryDomainInfoBasic,
-	DsRoleUpgradeStatus,
-	DsRoleOperationState
-} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL;
-typedef enum {
-	DsRoleServerUnknown,
-	DsRoleServerPrimary,
-	DsRoleServerBackup
-} DSROLE_SERVER_STATE;
-/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */
-typedef struct {
-	DSROLE_OPERATION_STATE OperationState;
-} DSROLE_OPERATION_STATE_INFO;
-typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC {
-	DSROLE_MACHINE_ROLE MachineRole;
-	ULONG Flags;
-	LPWSTR DomainNameFlat;
-	LPWSTR DomainNameDns;
-	LPWSTR DomainForestName;
-	GUID DomainGuid;
-} DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC;
-#define DSROLE_PRIMARY_DS_RUNNING 0x00000001
-#define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002
-#define DSROLE_UPGRADE_IN_PROGRESS 0x00000004
-#define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000
-typedef struct _DSROLE_UPGRADE_STATUS_INFO {
-	ULONG OperationState;
-	DSROLE_SERVER_STATE PreviousServerState;
-} DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dvdevcod.h
===================================================================
--- Daodan/MinGW/include/dvdevcod.h	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-#ifndef _DVDEVCOD_H
-#define _DVDEVCOD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EC_DVD_ANGLE_CHANGE 0x0106
-#define EC_DVD_ANGLES_AVAILABLE 0x0113
-#define EC_DVD_AUDIO_STREAM_CHANGE 0x0104
-#define EC_DVD_BUTTON_AUTO_ACTIVATED 0x0115
-#define EC_DVD_BUTTON_CHANGE 0x0107
-#define EC_DVD_CHAPTER_AUTOSTOP 0x010E
-#define EC_DVD_CHAPTER_START 0x0103
-#define EC_DVD_CMD_START 0x0116
-#define EC_DVD_CMD_END 0x0117
-#define EC_DVD_CURRENT_HMSF_TIME 0x011A
-#define EC_DVD_CURRENT_TIME 0x010B
-#define EC_DVD_DISC_EJECTED 0x0118
-#define EC_DVD_DISC_INSERTED 0x0119
-#define EC_DVD_DOMAIN_CHANGE 0x0101
-#define EC_DVD_ERROR 0x010C
-#define EC_DVD_KARAOKE_MODE 0x011B
-#define EC_DVD_NO_FP_PGC 0x010F
-#define EC_DVD_PARENTAL_LEVEL_CHANGE 0x0111
-#define EC_DVD_PLAYBACK_RATE_CHANGE 0x0110
-#define EC_DVD_PLAYBACK_STOPPED 0x0112
-#define EC_DVD_PLAYPERIOD_AUTOSTOP 0x0114
-#define EC_DVD_STILL_OFF 0x010A
-#define EC_DVD_STILL_ON 0x0109
-#define EC_DVD_SUBPICTURE_STREAM_CHANGE 0x0105
-#define EC_DVD_TITLE_CHANGE 0x0102
-#define EC_DVD_VALID_UOPS_CHANGE 0x0108
-#define EC_DVD_WARNING 0x010D
-typedef enum _tagDVD_ERROR {
-	DVD_ERROR_Unexpected = 1,
-	DVD_ERROR_CopyProtectFail = 2,
-	DVD_ERROR_InvalidDVD1_0Disc = 3,
-	DVD_ERROR_InvalidDiscRegion = 4,
-	DVD_ERROR_LowParentalLevel = 5,
-	DVD_ERROR_MacrovisionFail = 6,
-	DVD_ERROR_IncompatibleSystemAndDecoderRegions = 7,
-	DVD_ERROR_IncompatibleDiscAndDecoderRegions = 8
-} DVD_ERROR;
-typedef enum _tagDVD_PB_STOPPED {
-	DVD_PB_STOPPED_Other = 0,
-	DVD_PB_STOPPED_NoBranch = 1,
-	DVD_PB_STOPPED_NoFirstPlayDomain = 2,
-	DVD_PB_STOPPED_StopCommand = 3,
-	DVD_PB_STOPPED_Reset = 4,
-	DVD_PB_STOPPED_DiscEjected = 5,
-	DVD_PB_STOPPED_IllegalNavCommand = 6,
-	DVD_PB_STOPPED_PlayPeriodAutoStop = 7,
-	DVD_PB_STOPPED_PlayChapterAutoStop = 8,
-	DVD_PB_STOPPED_ParentalFailure = 9,
-	DVD_PB_STOPPED_RegionFailure = 10,
-	DVD_PB_STOPPED_MacrovisionFailure = 11,
-	DVD_PB_STOPPED_DiscReadError = 12,
-	DVD_PB_STOPPED_CopyProtectFailure = 13
-} DVD_PB_STOPPED;
-typedef enum _tagDVD_WARNING {
-	DVD_WARNING_InvalidDVD1_0Disc = 1,
-	DVD_WARNING_FormatNotSupported = 2,
-	DVD_WARNING_IllegalNavCommand = 3,
-	DVD_WARNING_Open = 4,
-	DVD_WARNING_Seek = 5,
-	DVD_WARNING_Read = 6
-} DVD_WARNING;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dvdmedia.h
===================================================================
--- Daodan/MinGW/include/dvdmedia.h	(revision 1046)
+++ 	(revision )
@@ -1,101 +1,0 @@
-#ifndef _DVDMEDIA_H
-#define _DVDMEDIA_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _STRMIF_H
-#include <strmif.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures - AM_SAMPLE2_PROPERTIES Structure */
-#define AM_VIDEO_FLAG_FIELD_MASK 0x0003
-#define AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000
-#define AM_VIDEO_FLAG_FIELD1 0x0001
-#define AM_VIDEO_FLAG_FIELD2 0x0002
-#define AM_VIDEO_FLAG_FIELD1FIRST 0x0004
-#define AM_VIDEO_FLAG_WEAVE 0x0008
-#define AM_VIDEO_FLAG_REPEAT_FIELD 0x0040
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-enum AM_MPEG2Level {
-	AM_MPEG2Level_Low = 1,
-	AM_MPEG2Level_Main,
-	AM_MPEG2Level_High1440,
-	AM_MPEG2Level_High
-};
-enum AM_MPEG2Profile {
-	AM_MPEG2Profile_Simple = 1,
-	AM_MPEG2Profile_Main,
-	AM_MPEG2Profile_SNRScalable,
-	AM_MPEG2Profile_SpatiallyScalable,
-	AM_MPEG2Profile_High
-};
-typedef enum {
-	AM_RATE_ChangeRate = 1,
-	AM_RATE_FullDataRateMax = 2,
-	AM_RATE_ReverseDecode = 3,
-	AM_RATE_DecoderPosition = 4,
-	AM_RATE_DecoderVersion = 5
-} AM_PROPERTY_DVD_RATE_CHANGE;
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct tagVIDEOINFOHEADER2 {
-	RECT rcSource;
-	RECT rcTarget;
-	DWORD dwBitRate;
-	DWORD dwBitErrorRate;
-	REFERENCE_TIME AvgTimePerFrame;
-	DWORD dwInterlaceFlags;
-	DWORD dwCopyProtectFlags;
-	DWORD dwPictAspectRatioX;
-	DWORD dwPictAspectRatioY;
-	union {
-		DWORD dwControlFlags;
-		DWORD dwReserved1;
-	};
-	DWORD dwReserved2;
-	BITMAPINFOHEADER bmiHeader;
-} VIDEOINFOHEADER2;
-#define AMINTERLACE_IsInterlaced 0x00000001
-#define AMINTERLACE_1FieldPerSample 0x00000002
-#define AMINTERLACE_Field1First 0x00000004
-#define AMINTERLACE_FieldPatField1Only 0x00000000
-#define AMINTERLACE_FieldPatField2Only 0x00000010
-#define AMINTERLACE_FieldPatBothRegular 0x00000020
-#define AMINTERLACE_FieldPatBothIrregular 0x00000030
-#define AMINTERLACE_DisplayModeBobOnly 0x00000000
-#define AMINTERLACE_DisplayModeWeaveOnly 0x00000040
-#define AMINTERLACE_DisplayModeBobOrWeave 0x00000080
-#define AMINTERLACE_FieldPatternMask 0x00000030
-#define AMINTERLACE_DisplayModeMask 0x000000C0
-#define AMCONTROL_USED 0x00000001
-#define AMCONTROL_PAD_TO_4x3 0x00000002
-#define AMCONTROL_PAD_TO_16x9 0x00000004
-#define AMCONTROL_COLORINFO_PRESENT 0x00000008
-typedef struct tagMPEG2VIDEOINFO {
-	VIDEOINFOHEADER2 hdr;
-	DWORD dwStartTimeCode;
-	DWORD cbSequenceHeader;
-	DWORD dwProfile;
-	DWORD dwLevel;
-	DWORD dwFlags;
-	DWORD dwSequenceHeader[1];
-} MPEG2VIDEOINFO;
-#define AMMPEG2_DoPanScan 0x00000001
-#define AMMPEG2_DVDLine21Field1 0x00000002
-#define AMMPEG2_DVDLine21Field2 0x00000004
-#define AMMPEG2_SourceIsLetterboxed 0x00000008
-#define AMMPEG2_FilmCameraMode 0x00000010
-#define AMMPEG2_LetterboxAnalogOut 0x00000020
-#define AMMPEG2_DSS_UserData 0x00000040
-#define AMMPEG2_DVB_UserData 0x00000080
-#define AMMPEG2_27MhzTimebase 0x00000100
-#define AMMPEG2_WidescreenAnalogOut 0x00000200
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dxerr8.h
===================================================================
--- Daodan/MinGW/include/dxerr8.h	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/*
-
-	dxerr8.h - Header file for the DirectX 8 Error API
-
-	Written by Filip Navara <xnavara@volny.cz>
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _DXERR8_H
-#define _DXERR8_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-const char *WINAPI DXGetErrorString8A(HRESULT);
-const WCHAR *WINAPI DXGetErrorString8W(HRESULT);
-const char* WINAPI DXGetErrorDescription8A(HRESULT);
-const WCHAR* WINAPI DXGetErrorDescription8W(HRESULT);
-HRESULT WINAPI DXTraceA(const char*,DWORD,HRESULT,const char*,BOOL);
-HRESULT WINAPI DXTraceW(const char*,DWORD,HRESULT,const WCHAR*,BOOL);
-
-#ifdef UNICODE
-#define DXGetErrorString8 DXGetErrorString8W
-#define DXGetErrorDescription8 DXGetErrorDescription8W
-#define DXTrace DXTraceW
-#else
-#define DXGetErrorString8 DXGetErrorString8A
-#define DXGetErrorDescription8 DXGetErrorDescription8A
-#define DXTrace DXTraceA
-#endif
-
-#if defined(DEBUG) || defined(_DEBUG)
-#define DXTRACE_MSG(str)	DXTrace(__FILE__,(DWORD)__LINE__,0,str,FALSE)
-#define DXTRACE_ERR(str,hr)	DXTrace(__FILE__,(DWORD)__LINE__,hr,str,TRUE)
-#define DXTRACE_ERR_NOMSGBOX(str,hr)	DXTrace(__FILE__,(DWORD)__LINE__,hr,str,FALSE)
-#else
-#define DXTRACE_MSG(str)	(0L)
-#define DXTRACE_ERR(str,hr)	(hr)
-#define DXTRACE_ERR_NOMSGBOX(str,hr)	(hr)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/dxerr9.h
===================================================================
--- Daodan/MinGW/include/dxerr9.h	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/*
-
-	dxerr9.h - Header file for the DirectX 9 Error API
-
-	Written by Filip Navara <xnavara@volny.cz>
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _DXERR9_H
-#define _DXERR9_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-const char *WINAPI DXGetErrorString9A(HRESULT);
-const WCHAR *WINAPI DXGetErrorString9W(HRESULT);
-const char* WINAPI DXGetErrorDescription9A(HRESULT);
-const WCHAR* WINAPI DXGetErrorDescription9W(HRESULT);
-HRESULT WINAPI DXTraceA(const char*,DWORD,HRESULT,const char*,BOOL);
-HRESULT WINAPI DXTraceW(const char*,DWORD,HRESULT,const WCHAR*,BOOL);
-
-#ifdef UNICODE
-#define DXGetErrorString9 DXGetErrorString9W
-#define DXGetErrorDescription9 DXGetErrorDescription9W
-#define DXTrace DXTraceW
-#else
-#define DXGetErrorString9 DXGetErrorString9A
-#define DXGetErrorDescription9 DXGetErrorDescription9A
-#define DXTrace DXTraceA
-#endif
-
-#if defined(DEBUG) || defined(_DEBUG)
-#define DXTRACE_MSG(str)	DXTrace(__FILE__,(DWORD)__LINE__,0,str,FALSE)
-#define DXTRACE_ERR(str,hr)	DXTrace(__FILE__,(DWORD)__LINE__,hr,str,FALSE)
-#define DXTRACE_ERR_MSGBOX(str,hr)	DXTrace(__FILE__,(DWORD)__LINE__,hr,str,TRUE)
-#else
-#define DXTRACE_MSG(str)	(0L)
-#define DXTRACE_ERR(str,hr)	(hr)
-#define DXTRACE_ERR_MSGBOX(str,hr)	(hr)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/edevdefs.h
===================================================================
--- Daodan/MinGW/include/edevdefs.h	(revision 1046)
+++ 	(revision )
@@ -1,346 +1,0 @@
-#ifndef _EDEVDEFS_H
-#define _EDEVDEFS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define ED_TOP 0x00000001
-#define ED_MIDDLE 0x00000002
-#define ED_BOTTOM 0x00000004
-#define ED_LEFT 0x00000100
-#define ED_CENTER 0x00000200
-#define ED_RIGHT 0x00000400
-#define ED_DEVCAP_CAN_RECORD 0x00001001
-#define ED_DEVCAP_CAN_RECORD_STROBE 0x00001002
-#define ED_DEVCAP_HAS_AUDIO 0x00001003
-#define ED_DEVCAP_HAS_VIDEO  0x00001004
-#define ED_DEVCAP_USES_FILES 0x00001005
-#define ED_DEVCAP_CAN_SAVE 0x00001006
-#define ED_DEVCAP_DEVICE_TYPE 0x00001007
-#define ED_DEVTYPE_VCR 0x00001008
-#define ED_DEVTYPE_LASERDISK 0x00001009
-#define ED_DEVTYPE_ATR 0x0000100A
-#define ED_DEVTYPE_DDR 0x0000100B
-#define ED_DEVTYPE_ROUTER 0x0000100C
-#define ED_DEVTYPE_KEYER 0x0000100D
-#define ED_DEVTYPE_MIXER_VIDEO 0x000010OE
-#define ED_DEVTYPE_DVE 0x000010OF
-#define ED_DEVTYPE_WIPEGEN 0x00001010
-#define ED_DEVTYPE_MIXER_AUDIO 0x00001011
-#define ED_DEVTYPE_CG 0x00001012
-#define ED_DEVTYPE_TBC 0x00001013
-#define ED_DEVTYPE_TCG 0x00001014
-#define ED_DEVTYPE_GPI 0x00001015
-#define ED_DEVTYPE_JOYSTICK 0x00001016
-#define ED_DEVTYPE_KEYBOARD 0x00001017
-#define ED_DEVCAP_EXTERNAL_DEVICE_ID 0x00001018
-#define ED_DEVCAP_TIMECODE_READ 0x00001019
-#define ED_DEVCAP_TIMECODE_WRITE 0x0000101A
-#define ED_DEVCAP_CTLTRK_READ 0x0000101B
-#define ED_DEVCAP_INDEX_READ 0x0000101C
-#define ED_DEVCAP_PREROLL 0x0000101D
-#define ED_DEVCAP_POSTROLL 0x0000101E
-#define ED_DEVCAP_SYNC_ACCURACY 0x0000101F
-#define ED_SYNCACC_PRECISE 0x00001020
-#define ED_SYNCACC_FRAME 0x00001021
-#define ED_SYNCACC_ROUGH 0x00001022
-#define ED_DEVCAP_NORMAL_RATE 0x00001023
-#define ED_RATE_24 0x00001024
-#define ED_RATE_25 0x00001025
-#define ED_RATE_2997 0x00001026
-#define ED_RATE_30 0x00001027
-#define ED_DEVCAP_CAN_PREVIEW 0x00001028
-#define ED_DEVCAP_CAN_MONITOR_SOURCES 0x00001029
-#define ED_DEVCAP_CAN_TEST 0x0000102A
-#define ED_DEVCAP_VIDEO_INPUTS 0x0000102B
-#define ED_DEVCAP_AUDIO_INPUTS 0x0000102C
-#define ED_DEVCAP_NEEDS_CALIBRATING 0x0000102D
-#define ED_DEVCAP_SEEK_TYPE 0x0000102E
-#define ED_SEEK_PERFECT 0x0000102F
-#define ED_SEEK_FAST 0x00001030
-#define ED_SEEK_SLOW 0x00001031
-#define ED_POWER_ON 0x00001032
-#define ED_POWER_OFF 0x00001033
-#define ED_POWER_STANDBY 0x00001034
-#define ED_ACTIVE 0x00001035
-#define ED_INACTIVE 0x00001036
-#define ED_ALL 0x00001037
-#define ED_TEST 0x00001038
-#define ED_TRANSCAP_CAN_EJECT 0x00001064
-#define ED_TRANSCAP_CAN_BUMP_PLAY 0x00001065
-#define ED_TRANSCAP_CAN_PLAY_BACKWARDS 0x00001066
-#define ED_TRANSCAP_CAN_SET_EE 0x00001067
-#define ED_TRANSCAP_CAN_SET_PB 0x00001068
-#define ED_TRANSCAP_CAN_DELAY_VIDEO_IN 0x00001069
-#define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT 0x0000106A
-#define ED_TRANSCAP_CAN_DELAY_AUDIO_IN 0x0000106B
-#define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT 0x0000106C
-#define ED_TRANSCAP_FWD_VARIABLE_MAX 0x0000106D
-#define ED_TRANSCAP_REV_VARIABLE_MAX 0x0000106E
-#define ED_TRANSCAP_NUM_AUDIO_TRACKS 0x0000106F
-#define ED_TRANSCAP_LTC_TRACK 0x00001070
-#define ED_TRANSCAP_NEEDS_TBC 0x00001071
-#define ED_TRANSCAP_NEEDS_CUEING 0x00001072
-#define ED_TRANSCAP_CAN_INSERT 0x00001073
-#define ED_TRANSCAP_CAN_ASSEMBLE 0x00001074
-#define ED_TRANSCAP_FIELD_STEP 0x00001075
-#define ED_TRANSCAP_CLOCK_INC_RATE 0x00001076
-#define ED_TRANSCAP_CAN_DETECT_LENGTH 0x00001077
-#define ED_TRANSCAP_CAN_FREEZE 0x00001078
-#define ED_TRANSCAP_HAS_TUNER 0x00001079
-#define ED_TRANSCAP_HAS_TIMER 0x0000107A
-#define ED_TRANSCAP_HAS_CLOCK 0x0000107B
-#define ED_MEDIA_SPIN_UP 0x00001082
-#define ED_MEDIA_SPIN_DOWN 0x00001083
-#define ED_MEDIA_UNLOAD 0x00001084
-#define ED_MODE_PLAY 0x000010C8
-#define ED_MODE_STOP 0x000010C9
-#define ED_MODE_FREEZE 0x000010CA
-#define ED_MODE_THAW 0x000010CB
-#define ED_MODE_FF 0x000010CC
-#define ED_MODE_REW 0x000010CD
-#define ED_MODE_RECORD 0x000010CE
-#define ED_MODE_RECORD_STROBE 0x000010CF
-#define ED_MODE_STEP 0x000010D0
-#define ED_MODE_STEP_FWD 0x000010D0
-#define ED_MODE_SHUTTLE 0x000010D1
-#define ED_MODE_EDIT_CUE 0x000010D2
-#define ED_MODE_VAR_SPEED 0x000010D3
-#define ED_MODE_PERFORM 0x000010D4
-#define ED_MODE_LINK_ON 0x00001118
-#define ED_MODE_LINK_OFF 0x00001119
-#define ED_TCG_TIMECODE_TYPE 0x00001190
-#define ED_TCG_SMPTE_LTC 0x00001191
-#define ED_TCG_SMPTE_VITC 0x00001192
-#define ED_TCG_MIDI_QF 0x00001193
-#define ED_TCG_MIDI_FULL 0x00001194
-#define ED_TCG_FRAMERATE 0x00001195
-#define ED_TCG_SYNC_SOURCE 0x0000119A
-#define ED_TCG_VIDEO 0x0000119B
-#define ED_TCG_READER 0x0000119C
-#define ED_TCG_FREE 0x0000119D
-#define ED_TCG_REFERENCE_SOURCE 0x0000119E
-#define ED_TCR_SOURCE 0x000011A0
-#define ED_TCR_LTC 0x000011A1
-#define ED_TCR_VITC 0x000011A2
-#define ED_TCR_CT 0x000011A3
-#define ED_TCR_FTC 0x000011A4
-#define ED_TCR_LAST_VALUE 0x000011A5
-#define ED_TCD_SOURCE 0x000011A6
-#define ED_TCR 0x000011A7
-#define ED_TCG 0x000011A8
-#define ED_TCD_SIZE 0x000011A9
-#define ED_SMALL 0x000011AA
-#define ED_MED 0x000011AB
-#define ED_LARGE 0x000011AC
-#define ED_TCD_POSITION 0x000011AD
-#define ED_TCD_INTENSITY 0x000011B4
-#define ED_HIGH 0x000011B5
-#define ED_LOW 0x000011B6
-#define ED_TCD_TRANSPARENCY 0x000011B7
-#define ED_TCD_INVERT 0x000011B8
-#define ED_MODE 0x000011F4
-#define ED_ERROR 0x000011F5
-#define ED_LOCAL 0x000011F6
-#define ED_RECORD_INHIBIT 0x000011F7
-#define ED_SERVO_LOCK 0x000011F8
-#define ED_MEDIA_PRESENT 0x000011F9
-#define ED_MEDIA_LENGTH 0x000011FA
-#define ED_MEDIA_SIZE 0x000011FB
-#define ED_MEDIA_TRACK_COUNT 0x000011FC
-#define ED_MEDIA_TRACK_LENGTH 0x000011FD
-#define ED_MEDIA_SIDE 0x000011FE
-#define ED_MEDIA_TYPE 0x000011FF
-#define ED_MEDIA_VHS 0x00001200
-#define ED_MEDIA_SVHS 0x00001201
-#define ED_MEDIA_HI8 0x00001202
-#define ED_MEDIA_UMATIC 0x00001203
-#define ED_MEDIA_DVC 0x00001204
-#define ED_MEDIA_1_INCH 0x00001205
-#define ED_MEDIA_D1 0x00001206
-#define ED_MEDIA_D2 0x00001207
-#define ED_MEDIA_D3 0x00001208
-#define ED_MEDIA_D5 0x00001209
-#define ED_MEDIA_DBETA 0x0000120A
-#define ED_MEDIA_BETA 0x0000120B
-#define ED_MEDIA_8MM 0x0000120C
-#define ED_MEDIA_DDR 0x0000120D
-#define ED_MEDIA_OTHER 0x0000120E
-#define ED_MEDIA_CLV 0x0000120F
-#define ED_MEDIA_CAV 0x00001210
-#define ED_MEDIA_POSITION 0x00001211
-#define ED_LINK_MODE 0x00001212
-#define ED_TRANSBASIC_TIME_FORMAT 0x0000121C
-#define ED_FORMAT_MILLISECONDS 0x0000121D
-#define ED_FORMAT_FRAMES 0x0000121E
-#define ED_FORMAT_REFERENCE_TIME 0x0000121F
-#define ED_FORMAT_HMSF 0x00001223
-#define ED_FORMAT_TMSF 0x00001224
-#define ED_TRANSBASIC_TIME_REFERENCE 0x00001225
-#define ED_TIMEREF_TIMECODE 0x00001226
-#define ED_TIMEREF_CONTROL_TRACK 0x00001227
-#define ED_TIMEREF_INDEX 0x00001228
-#define ED_TRANSBASIC_SUPERIMPOSE 0x00001229
-#define ED_TRANSBASIC_END_STOP_ACTION 0x0000122A
-#define ED_TRANSBASIC_RECORD_FORMAT 0x0000122B
-#define ED_RECORD_FORMAT_SP 0x0000122C
-#define ED_RECORD_FORMAT_LP 0x0000122D
-#define ED_RECORD_FORMAT_EP 0x0000122E
-#define ED_TRANSBASIC_STEP_COUNT 0x0000122F
-#define ED_TRANSBASIC_STEP_UNIT 0x00001230
-#define ED_STEP_FIELD 0x00001231
-#define ED_STEP_FRAME 0x00001232
-#define ED_STEP_3_2 0x00001233
-#define ED_TRANSBASIC_PREROLL 0x00001234
-#define ED_TRANSBASIC_RECPREROLL 0x00001235
-#define ED_TRANSBASIC_POSTROLL 0x00001236
-#define ED_TRANSBASIC_EDIT_DELAY 0x00001237
-#define ED_TRANSBASIC_PLAYTC_DELAY 0x00001238
-#define ED_TRANSBASIC_RECTC_DELAY 0x00001239
-#define ED_TRANSBASIC_EDIT_FIELD 0x0000123A
-#define ED_TRANSBASIC_FRAME_SERVO 0x0000123B
-#define ED_TRANSBASIC_CF_SERVO 0x0000123C
-#define ED_TRANSBASIC_SERVO_REF 0x0000123D
-#define ED_REF_EXTERNAL 0x0000123E
-#define ED_REF_INPUT 0x0000123F
-#define ED_REF_INTERNAL 0x00001240
-#define ED_REF_AUTO 0x00001241
-#define ED_TRANSBASIC_WARN_GL 0x00001242
-#define ED_TRANSBASIC_SET_TRACKING 0x00001243
-#define ED_TRACKING_PLUS 0x00001244
-#define ED_TRACKING_MINUS 0x00001245
-#define ED_TRACKING_RESET 0x00001246
-#define ED_TRANSBASIC_SET_FREEZE_TIMEOUT 0x00001247
-#define ED_TRANSBASIC_VOLUME_NAME 0x00001248
-#define ED_TRANSBASIC_BALLISTIC_1 0x00001249
-#define ED_TRANSBASIC_BALLISTIC_2 0x0000124A
-#define ED_TRANSBASIC_BALLISTIC_3 0x0000124B
-#define ED_TRANSBASIC_BALLISTIC_4 0x0000124C
-#define ED_TRANSBASIC_BALLISTIC_5 0x0000124D
-#define ED_TRANSBASIC_BALLISTIC_6 0x0000124E
-#define ED_TRANSBASIC_BALLISTIC_7 0x0000124F
-#define ED_TRANSBASIC_BALLISTIC_8 0x00001250
-#define ED_TRANSBASIC_BALLISTIC_9 0x00001251
-#define ED_TRANSBASIC_BALLISTIC_10 0x00001252
-#define ED_TRANSBASIC_BALLISTIC_11 0x00001253
-#define ED_TRANSBASIC_BALLISTIC_12 0x00001254
-#define ED_TRANSBASIC_BALLISTIC_13 0x00001255
-#define ED_TRANSBASIC_BALLISTIC_14 0x00001256
-#define ED_TRANSBASIC_BALLISTIC_15 0x00001257
-#define ED_TRANSBASIC_BALLISTIC_16 0x00001258
-#define ED_TRANSBASIC_BALLISTIC_17 0x00001259
-#define ED_TRANSBASIC_BALLISTIC_18 0x0000125A
-#define ED_TRANSBASIC_BALLISTIC_19 0x0000125B
-#define ED_TRANSBASIC_BALLISTIC_20 0x0000125C
-#define ED_TRANSBASIC_SETCLOCK 0x0000125D
-#define ED_TRANSBASIC_SET_COUNTER_FORMAT 0x0000125E
-#define ED_TRANSBASIC_SET_COUNTER_VALUE 0x0000125F
-#define ED_TRANSBASIC_SETTUNER_CH_UP 0x00001260
-#define ED_TRANSBASIC_SETTUNER_CH_DN 0x00001261
-#define ED_TRANSBASIC_SETTUNER_SK_UP 0x00001262
-#define ED_TRANSBASIC_SETTUNER_SK_DN 0x00001263
-#define ED_TRANSBASIC_SETTUNER_CH 0x00001264
-#define ED_TRANSBASIC_SETTUNER_NUM 0x00001265
-#define ED_TRANSBASIC_SETTIMER_EVENT 0x00001266
-#define ED_TRANSBASIC_SETTIMER_STARTDAY 0x00001267
-#define ED_TRANSBASIC_SETTIMER_STARTTIME 0x00001268
-#define ED_TRANSBASIC_SETTIMER_STOPDAY 0x00001269
-#define ED_TRANSBASIC_SETTIMER_STOPTIME 0x0000126A
-#define ED_TRANSVIDEO_SET_OUTPUT 0x00001276
-#define ED_E2E 0x00001277
-#define ED_PLAYBACK 0x00001278
-#define ED_OFF 0x00001279
-#define ED_TRANSVIDEO_SET_SOURCE 0x0000127A
-#define ED_TRANSAUDIO_ENABLE_OUTPUT 0x00001280
-#define ED_TRANSAUDIO_ENABLE_RECORD 0x00001282
-#define ED_TRANSAUDIO_ENABLE_SELSYNC 0x00001283
-#define ED_TRANSAUDIO_SET_SOURCE 0x00001284
-#define ED_TRANSAUDIO_SET_MONITOR 0x00001285
-#define ED_INVALID 0x0000128C
-#define ED_EXECUTING 0x0000128D
-#define ED_REGISTER 0x0000128E
-#define ED_DELETE 0x0000128F
-#define ED_EDIT_HEVENT 0x00001290
-#define ED_EDIT_TEST 0x00001291
-#define ED_EDIT_IMMEDIATE 0x00001292
-#define ED_EDIT_MODE 0x00001293
-#define ED_EDIT_MODE_ASSEMBLE 0x00001294
-#define ED_EDIT_MODE_INSERT 0x00001295
-#define ED_EDIT_MODE_CRASH_RECORD 0x00001296
-#define ED_EDIT_MODE_BOOKMARK_TIME 0x00001297
-#define ED_EDIT_MODE_BOOKMARK_CHAPTER 0x00001298
-#define ED_EDIT_MASTER 0x0000129A
-#define ED_EDIT_TRACK 0x0000129B
-#define ED_EDIT_SRC_INPOINT 0x0000129C
-#define ED_EDIT_SRC_OUTPOINT 0x0000129D
-#define ED_EDIT_REC_INPOINT 0x0000129E
-#define ED_EDIT_REC_OUTPOINT 0x0000129F
-#define ED_EDIT_REHEARSE_MODE 0x000012A0
-#define ED_EDIT_BVB 0x000012A1
-#define ED_EDIT_VBV 0x000012A2
-#define ED_EDIT_VVV 0x000012A3
-#define ED_EDIT_PERFORM 0x000012A4
-#define ED_EDIT_ABORT 0x000012A5
-#define ED_EDIT_TIMEOUT 0x000012A6
-#define ED_EDIT_SEEK 0x000012A7
-#define ED_EDIT_SEEK_EDIT_IN 0x000012A9
-#define ED_EDIT_SEEK_EDIT_OUT 0x000012AA
-#define ED_EDIT_SEEK_PREROLL 0x000012AB
-#define ED_EDIT_SEEK_PREROLL_CT 0x000012AC
-#define ED_EDIT_SEEK_BOOKMARK 0x000012AD
-#define ED_EDIT_OFFSET 0x000012AE
-#define ED_ERR_DEVICE_NOT_READY 0x000012BC
-#define ED_TRANSCAP_FWD_VARIABLE_MIN 0x00001320
-#define ED_TRANSCAP_REV_VARIABLE_MIN 0x00001321
-#define ED_TRANSCAP_FWD_SHUTTLE_MAX 0x00001322
-#define ED_TRANSCAP_FWD_SHUTTLE_MIN 0x00001323
-#define ED_TRANSCAP_REV_SHUTTLE_MAX 0x00001324
-#define ED_TRANSCAP_REV_SHUTTLE_MIN 0x00001325
-#define ED_TRANSCAP_MULTIPLE_EDITS 0x00001326
-#define ED_TRANSCAP_IS_MASTER 0x00001327
-#define ED_MODE_RECORD_FREEZE 0x00001328
-#define ED_MODE_STEP_REV 0x00001329
-#define ED_MODE_NOTIFY_ENABLE 0x0000132A
-#define ED_MODE_NOTIFY_DISABLE 0x0000132B
-#define ED_MODE_SHOT_SEARCH 0x0000132C
-#define ED_MEDIA_SX 0x0000132D
-#define ED_TRANSCAP_HAS_DT 0x0000132E
-#define ED_EDIT_PREREAD 0x0000132F
-#define ED_AUDIO_1 0x00000001
-#define ED_AUDIO_2 0x00000002
-#define ED_AUDIO_3 0x00000004
-#define ED_AUDIO_4 0x00000008
-#define ED_AUDIO_5 0x00000010
-#define ED_AUDIO_6 0x00000020
-#define ED_AUDIO_7 0x00000040
-#define ED_AUDIO_8 0x00000080
-#define ED_AUDIO_9 0x00000100
-#define ED_AUDIO_10 0x00000200
-#define ED_AUDIO_11 0x00000400
-#define ED_AUDIO_12 0x00000800
-#define ED_AUDIO_13 0x00001000
-#define ED_AUDIO_14 0x00002000
-#define ED_AUDIO_15 0x00004000
-#define ED_AUDIO_16 0x00008000
-#define ED_AUDIO_17 0x00010000
-#define ED_AUDIO_18 0x00020000
-#define ED_AUDIO_19 0x00040000
-#define ED_AUDIO_20 0x00080000
-#define ED_AUDIO_21 0x00100000
-#define ED_AUDIO_22 0x00200000
-#define ED_AUDIO_23 0x00400000
-#define ED_AUDIO_24 0x00800000
-#define ED_AUDIO_ALL 0x10000000
-#define ED_VIDEO 0x02000000
-#define DEV_PORT_SIM 0x00000001
-#define DEV_PORT_COM1 0x00000002
-#define DEV_PORT_COM2 0x00000003
-#define DEV_PORT_COM3 0x00000004
-#define DEV_PORT_COM4 0x00000005
-#define DEV_PORT_DIAQ 0x00000006
-#define DEV_PORT_ARTI 0x00000007
-#define DEV_PORT_1394 0x00000008
-#define DEV_PORT_USB 0x00000009
-#define DEV_PORT_MIN DEV_PORT_SIM
-
-#endif
Index: Daodan/MinGW/include/errno.h
===================================================================
--- Daodan/MinGW/include/errno.h	(revision 1046)
+++ 	(revision )
@@ -1,101 +1,0 @@
-/*
- * errno.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Error numbers and access to error reporting.
- *
- */
-
-#ifndef _ERRNO_H_
-#define	_ERRNO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Error numbers.
- * TODO: Can't be sure of some of these assignments, I guessed from the
- * names given by strerror and the defines in the Cygnus errno.h. A lot
- * of the names from the Cygnus errno.h are not represented, and a few
- * of the descriptions returned by strerror do not obviously match
- * their error naming.
- */
-#define EPERM		1	/* Operation not permitted */
-#define	ENOFILE		2	/* No such file or directory */
-#define	ENOENT		2
-#define	ESRCH		3	/* No such process */
-#define	EINTR		4	/* Interrupted function call */
-#define	EIO		5	/* Input/output error */
-#define	ENXIO		6	/* No such device or address */
-#define	E2BIG		7	/* Arg list too long */
-#define	ENOEXEC		8	/* Exec format error */
-#define	EBADF		9	/* Bad file descriptor */
-#define	ECHILD		10	/* No child processes */
-#define	EAGAIN		11	/* Resource temporarily unavailable */
-#define	ENOMEM		12	/* Not enough space */
-#define	EACCES		13	/* Permission denied */
-#define	EFAULT		14	/* Bad address */
-/* 15 - Unknown Error */
-#define	EBUSY		16	/* strerror reports "Resource device" */
-#define	EEXIST		17	/* File exists */
-#define	EXDEV		18	/* Improper link (cross-device link?) */
-#define	ENODEV		19	/* No such device */
-#define	ENOTDIR		20	/* Not a directory */
-#define	EISDIR		21	/* Is a directory */
-#define	EINVAL		22	/* Invalid argument */
-#define	ENFILE		23	/* Too many open files in system */
-#define	EMFILE		24	/* Too many open files */
-#define	ENOTTY		25	/* Inappropriate I/O control operation */
-/* 26 - Unknown Error */
-#define	EFBIG		27	/* File too large */
-#define	ENOSPC		28	/* No space left on device */
-#define	ESPIPE		29	/* Invalid seek (seek on a pipe?) */
-#define	EROFS		30	/* Read-only file system */
-#define	EMLINK		31	/* Too many links */
-#define	EPIPE		32	/* Broken pipe */
-#define	EDOM		33	/* Domain error (math functions) */
-#define	ERANGE		34	/* Result too large (possibly too small) */
-/* 35 - Unknown Error */
-#define	EDEADLOCK	36	/* Resource deadlock avoided (non-Cyg) */
-#define	EDEADLK		36
-/* 37 - Unknown Error */
-#define	ENAMETOOLONG	38	/* Filename too long (91 in Cyg?) */
-#define	ENOLCK		39	/* No locks available (46 in Cyg?) */
-#define	ENOSYS		40	/* Function not implemented (88 in Cyg?) */
-#define	ENOTEMPTY	41	/* Directory not empty (90 in Cyg?) */
-#define	EILSEQ		42	/* Illegal byte sequence */
-
-/*
- * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the
- *       sockets.h header provided with windows32api-0.1.2.
- *       You should go and put an #if 0 ... #endif around the whole block
- *       of errors (look at the comment above them).
- */
-
-#ifndef	RC_INVOKED
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-/*
- * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see
- * stdlib.h.
- */
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
-_CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void);
-#define	errno		(*_errno())
-#endif
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _ERRNO_H_ */
Index: Daodan/MinGW/include/errorrep.h
===================================================================
--- Daodan/MinGW/include/errorrep.h	(revision 1046)
+++ 	(revision )
@@ -1,40 +1,0 @@
-#ifndef _ERRORREP_H
-#define _ERRORREP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-typedef enum {
-	frrvErr = 3,
-	frrvErrNoDW = 4,
-	frrvErrTimeout = 5,
-	frrvLaunchDebugger = 6,
-	frrvOk = 0,
-	frrvOkHeadless = 7,
-	frrvOkManifest = 1,
-	frrvOkQueued = 2
-} EFaultRepRetVal;
-BOOL WINAPI AddERExcludedApplicationA(LPCSTR);
-BOOL WINAPI AddERExcludedApplicationW(LPCWSTR);
-EFaultRepRetVal WINAPI ReportFault(LPEXCEPTION_POINTERS,DWORD);
-#endif
-
-#ifdef UNICODE
-#if (_WIN32_WINNT >= 0x0501)
-#define AddERExcludedApplication AddERExcludedApplicationW
-#endif
-#else
-#if (_WIN32_WINNT >= 0x0501)
-#define AddERExcludedApplication AddERExcludedApplicationA
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/errors.h
===================================================================
--- Daodan/MinGW/include/errors.h	(revision 1046)
+++ 	(revision )
@@ -1,169 +1,0 @@
-#ifndef _ERRORS_H
-#define _ERRORS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - Constants and GUIDs - Error and Success Codes */
-#define VFW_S_NO_MORE_ITEMS 0x00040103
-#define VFW_S_DUPLICATE_NAME 0x0004022D
-#define VFW_S_STATE_INTERMEDIATE 0x00040237
-#define VFW_S_PARTIAL_RENDER 0x00040242
-#define VFW_S_SOME_DATA_IGNORED 0x00040245
-#define VFW_S_CONNECTIONS_DEFERRED 0x00040246
-#define VFW_S_RESOURCE_NOT_NEEDED 0x00040250
-#define VFW_S_MEDIA_TYPE_IGNORED 0x00040254
-#define VFW_S_VIDEO_NOT_RENDERED 0x00040257
-#define VFW_S_AUDIO_NOT_RENDERED 0x00040258
-#define VFW_S_RPZA 0x0004025A
-#define VFW_S_ESTIMATED 0x00040260
-#define VFW_S_RESERVED 0x00040263
-#define VFW_S_STREAM_OFF 0x00040267
-#define VFW_S_CANT_CUE 0x00040268
-#define VFW_S_NOPREVIEWPIN 0x0004027E
-#define VFW_S_DVD_NON_ONE_SEQUENTIAL 0x00040280
-#define VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE 0x0004028C
-#define VFW_S_DVD_NOT_ACCURATE 0x0004028D
-#define VFW_E_INVALIDMEDIATYPE 0x80040200
-#define VFW_E_INVALIDSUBTYPE 0x80040201
-#define VFW_E_NEED_OWNER 0x80040202
-#define VFW_E_ENUM_OUT_OF_SYNC 0x80040203
-#define VFW_E_ALREADY_CONNECTED 0x80040204
-#define VFW_E_FILTER_ACTIVE 0x80040205
-#define VFW_E_NO_TYPES 0x80040206
-#define VFW_E_NO_ACCEPTABLE_TYPES 0x80040207
-#define VFW_E_INVALID_DIRECTION 0x80040208
-#define VFW_E_NOT_CONNECTED 0x80040209
-#define VFW_E_NO_ALLOCATOR 0x8004020A
-#define VFW_E_RUNTIME_ERROR 0x8004020B
-#define VFW_E_BUFFER_NOTSET 0x8004020C
-#define VFW_E_BUFFER_OVERFLOW 0x8004020D
-#define VFW_E_BADALIGN 0x8004020E
-#define VFW_E_ALREADY_COMMITTED 0x8004020F
-#define VFW_E_BUFFERS_OUTSTANDING 0x80040210
-#define VFW_E_NOT_COMMITTED 0x80040211
-#define VFW_E_SIZENOTSET 0x80040212
-#define VFW_E_NO_CLOCK 0x80040213
-#define VFW_E_NO_SINK 0x80040214
-#define VFW_E_NO_INTERFACE 0x80040215
-#define VFW_E_NOT_FOUND 0x80040216
-#define VFW_E_CANNOT_CONNECT 0x80040217
-#define VFW_E_CANNOT_RENDER 0x80040218
-#define VFW_E_CHANGING_FORMAT 0x80040219
-#define VFW_E_NO_COLOR_KEY_SET 0x8004021A
-#define VFW_E_NOT_OVERLAY_CONNECTION 0x8004021B
-#define VFW_E_NOT_SAMPLE_CONNECTION 0x8004021C
-#define VFW_E_PALETTE_SET 0x8004021D
-#define VFW_E_COLOR_KEY_SET 0x8004021E
-#define VFW_E_NO_COLOR_KEY_FOUND 0x8004021F
-#define VFW_E_NO_PALETTE_AVAILABLE 0x80040220
-#define VFW_E_NO_DISPLAY_PALETTE 0x80040221
-#define VFW_E_TOO_MANY_COLORS 0x80040222
-#define VFW_E_STATE_CHANGED 0x80040223
-#define VFW_E_NOT_STOPPED 0x80040224
-#define VFW_E_NOT_PAUSED 0x80040225
-#define VFW_E_NOT_RUNNING 0x80040226
-#define VFW_E_WRONG_STATE 0x80040227
-#define VFW_E_START_TIME_AFTER_END 0x80040228
-#define VFW_E_INVALID_RECT 0x80040229
-#define VFW_E_TYPE_NOT_ACCEPTED 0x8004022A
-#define VFW_E_SAMPLE_REJECTED 0x8004022B
-#define VFW_E_SAMPLE_REJECTED_EOS 0x8004022C
-#define VFW_E_DUPLICATE_NAME 0x8004022D
-#define VFW_E_TIMEOUT 0x8004022E
-#define VFW_E_INVALID_FILE_FORMAT 0x8004022F
-#define VFW_E_ENUM_OUT_OF_RANGE 0x80040230
-#define VFW_E_CIRCULAR_GRAPH 0x80040231
-#define VFW_E_NOT_ALLOWED_TO_SAVE 0x80040232
-#define VFW_E_TIME_ALREADY_PASSED 0x80040233
-#define VFW_E_ALREADY_CANCELLED 0x80040234
-#define VFW_E_CORRUPT_GRAPH_FILE 0x80040235
-#define VFW_E_ADVISE_ALREADY_SET 0x80040236
-#define VFW_E_NO_MODEX_AVAILABLE 0x80040238
-#define VFW_E_NO_ADVISE_SET 0x80040239
-#define VFW_E_NO_FULLSCREEN 0x8004023A
-#define VFW_E_IN_FULLSCREEN_MODE 0x8004023B
-#define VFW_E_UNKNOWN_FILE_TYPE 0x80040240
-#define VFW_E_CANNOT_LOAD_SOURCE_FILTER 0x80040241
-#define VFW_E_FILE_TOO_SHORT 0x80040243
-#define VFW_E_INVALID_FILE_VERSION 0x80040244
-#define VFW_E_INVALID_CLSID 0x80040247
-#define VFW_E_INVALID_MEDIA_TYPE 0x80040248
-#define VFW_E_SAMPLE_TIME_NOT_SET 0x80040249
-#define VFW_E_MEDIA_TIME_NOT_SET 0x80040251
-#define VFW_E_NO_TIME_FORMAT_SET 0x80040252
-#define VFW_E_MONO_AUDIO_HW 0x80040253
-#define VFW_E_NO_DECOMPRESSOR 0x80040255
-#define VFW_E_NO_AUDIO_HARDWARE 0x80040256
-#define VFW_E_RPZA 0x80040259
-#define VFW_E_PROCESSOR_NOT_SUITABLE 0x8004025B
-#define VFW_E_UNSUPPORTED_AUDIO 0x8004025C
-#define VFW_E_UNSUPPORTED_VIDEO 0x8004025D
-#define VFW_E_MPEG_NOT_CONSTRAINED 0x8004025E
-#define VFW_E_NOT_IN_GRAPH 0x8004025F
-#define VFW_E_NO_TIME_FORMAT 0x80040261
-#define VFW_E_READ_ONLY 0x80040262
-#define VFW_E_BUFFER_UNDERFLOW 0x80040264
-#define VFW_E_UNSUPPORTED_STREAM 0x80040265
-#define VFW_E_NO_TRANSPORT 0x80040266
-#define VFW_E_BAD_VIDEOCD 0x80040269
-#define VFW_S_NO_STOP_TIME 0x80040270
-#define VFW_E_OUT_OF_VIDEO_MEMORY 0x80040271
-#define VFW_E_VP_NEGOTIATION_FAILED 0x80040272
-#define VFW_E_DDRAW_CAPS_NOT_SUITABLE 0x80040273
-#define VFW_E_NO_VP_HARDWARE 0x80040274
-#define VFW_E_NO_CAPTURE_HARDWARE 0x80040275
-#define VFW_E_DVD_OPERATION_INHIBITED 0x80040276
-#define VFW_E_DVD_INVALIDDOMAIN 0x80040277
-#define VFW_E_DVD_NO_BUTTON 0x80040278
-#define VFW_E_DVD_GRAPHNOTREADY 0x80040279
-#define VFW_E_DVD_RENDERFAIL 0x8004027A
-#define VFW_E_DVD_DECNOTENOUGH 0x8004027B
-#define VFW_E_DDRAW_VERSION_NOT_SUITABLE 0x8004027C
-#define VFW_E_COPYPROT_FAILED 0x8004027D
-#define VFW_E_TIME_EXPIRED 0x8004027F
-#define VFW_E_DVD_WRONG_SPEED 0x80040281
-#define VFW_E_DVD_MENU_DOES_NOT_EXIST 0x80040282
-#define VFW_E_DVD_CMD_CANCELLED 0x80040283
-#define VFW_E_DVD_STATE_WRONG_VERSION 0x80040284
-#define VFW_E_DVD_STATE_CORRUPT 0x80040285
-#define VFW_E_DVD_STATE_WRONG_DISC 0x80040286
-#define VFW_E_DVD_INCOMPATIBLE_REGION 0x80040287
-#define VFW_E_DVD_NO_ATTRIBUTES 0x80040288
-#define VFW_E_DVD_NO_GOUP_PGC 0x80040289
-#define VFW_E_DVD_LOW_PARENTAL_LEVEL 0x8004028A
-#define VFW_E_DVD_NOT_IN_KARAOKE_MODE 0x8004028B
-#define VFW_E_FRAME_STEP_UNSUPPORTED 0x8004028E
-#define VFW_E_DVD_STREAM_DISABLED 0x8004028F
-#define VFW_E_DVD_TITLE_UNKNOWN 0x80040290
-#define VFW_E_DVD_INVALID_DISC 0x80040291
-#define VFW_E_DVD_NO_RESUME_INFORMATION 0x80040292
-#define VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD 0x80040293
-#define VFW_E_PIN_ALREADY_BLOCKED 0x80040294
-#define VFW_E_CERTIFICATION_FAILURE 0x80040295
-#define VFW_E_VMR_NOT_IN_MIXER_MODE 0x80040296
-#define VFW_E_VMR_NO_AP_SUPPLIED 0x80040297
-#define VFW_E_VMR_NO_DEINTERLACE_HW 0x80040298
-#define VFW_E_VMR_NO_PROCAMP_HW 0x80040299
-#define VFW_E_DVD_VMR9_INCOMPATIBLEDEC 0x8004029A
-#define VFW_E_NO_COPP_HW 0x8004029B
-#define VFW_E_BAD_KEY 0x800403F2
-/*--- DirectShow Reference - Functions */
-#define MAX_ERROR_TEXT_LEN 160
-/*--- DirectShow Reference - Functions */
-DWORD WINAPI AMGetErrorTextA(HRESULT,CHAR*,DWORD);
-DWORD WINAPI AMGetErrorTextW(HRESULT,WCHAR*,DWORD);
-#ifdef UNICODE
-#define AMGetErrorText AMGetErrorTextW
-#else
-#define AMGetErrorText AMGetErrorTextA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/evcode.h
===================================================================
--- Daodan/MinGW/include/evcode.h	(revision 1046)
+++ 	(revision )
@@ -1,68 +1,0 @@
-#ifndef _EVCODE_H
-#define _EVCODE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - Constants and GUIDs - Event Notification Codes */
-#define EC_ACTIVATE 0x0013
-#define EC_BUFFERING_DATA 0x0011
-#define EC_BUILT 0x0300
-#define EC_CLOCK_CHANGED 0x000D
-#define EC_CLOCK_UNSET 0x0051
-#define EC_CODECAPI_EVENT 0x0057
-#define EC_COMPLETE 0x0001
-#define EC_DEVICE_LOST 0x001F
-#define EC_DISPLAY_CHANGED 0x0016
-#define EC_END_OF_SEGMENT 0x001C
-#define EC_ERROR_STILLPLAYING 0x0008
-#define EC_ERRORABORT 0x0003
-#define EC_EXTDEVICE_MODE_CHANGE 0x0031
-#define EC_FULLSCREEN_LOST 0x0012
-#define EC_GRAPH_CHANGED 0x0050
-#define EC_LENGTH_CHANGED 0x001E
-#define EC_NEED_RESTART 0x0014
-#define EC_NOTIFY_WINDOW 0x0019
-#define EC_OLE_EVENT 0x0018
-#define EC_OPENING_FILE 0x0010
-#define EC_PALETTE_CHANGED 0x0009
-#define EC_PAUSED 0x000E
-#define EC_PREPROCESS_COMPLETE 0x0056
-#define EC_QUALITY_CHANGE 0x000B
-#define EC_REPAINT 0x0005
-#define EC_SEGMENT_STARTED 0x001D
-#define EC_SHUTTING_DOWN 0x000C
-#define EC_SNDDEV_IN_ERROR 0x0200
-#define EC_SNDDEV_OUT_ERROR 0x0201
-#define EC_STARVATION 0x0017
-#define EC_STATE_CHANGE 0x0032
-#define EC_STEP_COMPLETE 0x0024
-#define EC_STREAM_CONTROL_STARTED 0x001B
-#define EC_STREAM_CONTROL_STOPPED 0x001A
-#define EC_STREAM_ERROR_STILLPLAYING 0x0007
-#define EC_STREAM_ERROR_STOPPED 0x0006
-#define EC_TIMECODE_AVAILABLE 0x0030
-#define EC_UNBUILT 0x0301
-#define EC_USERABORT 0x0002
-#define EC_VIDEO_SIZE_CHANGED 0x000A
-#define EC_VMR_RENDERDEVICE_SET 0x0053
-#define EC_VMR_SURFACE_FLIPPED 0x0054
-#define EC_VMR_RECONNECTION_FAILED 0x0055
-#define EC_WINDOW_DESTROYED 0x0015
-#define EC_WMT_EVENT 0x0252
-#define EC_WMT_INDEX_EVENT 0x0251
-#define EC_USER 0x8000
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct {
-	HRESULT hrStatus;
-	void   *pData;
-} AM_WMT_EVENT_DATA;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/excpt.h
===================================================================
--- Daodan/MinGW/include/excpt.h	(revision 1046)
+++ 	(revision )
@@ -1,186 +1,0 @@
-/*
- * excpt.h
- *
- * Experimental support for operating system level structured handling
- * of exceptions.
- *
- * $Id: excpt.h,v 14fc79433294 2016/06/28 13:50:38 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Revised by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 1997, 1999, 2001-2002, 2004, 2007, 2012, 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, 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.
- *
- */
-#ifndef _EXCPT_H
-#pragma GCC system_header
-#define _EXCPT_H
-
-/* FIXME: this utility macro, to allocate stack space for any aggregate
- * data type, with an explicit type cast of a pointer to that data type,
- * deserves a place in a more universally accessible header file.  The
- * type cast is not strictly necessary for C, (but is permitted); it is
- * essential for C++.
- */
-#define __typecast_alloca(type) (type *)(__builtin_alloca( sizeof(type) ))
-
-/* All MinGW CRT headers are required to include <_mingw.h>
- */
-#include <_mingw.h>
-
-/* Exception handler functions require definitions of _CONTEXT, and
- * _EXCEPTION_RECORD structures, which are provided in <windef.h>
- */
-#include <windef.h>
-
-#ifndef _EXCPT_W32API_H
-/* FIXME: These constants, structs, and typedefs should be defined
- * in the Win32 API headers; (we need to establish where -- perhaps
- * this header itself should be redesignated as a W32API header).
- */
-#define EH_NONCONTINUABLE	0x01
-#define EH_UNWINDING		0x02
-#define EH_EXIT_UNWIND		0x04
-#define EH_STACK_INVALID	0x08
-#define EH_NESTED_CALL		0x10
-
-#ifndef RC_INVOKED
-
-typedef enum
-{ ExceptionContinueExecution,
-  ExceptionContinueSearch,
-  ExceptionNestedException,
-  ExceptionCollidedUnwind
-} EXCEPTION_DISPOSITION;
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_EXCPT_W2API_H */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-/* The type of function that is expected as an exception handler,
- * to be installed by the __try1(__handler) primitive.
- */
-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
-(struct _EXCEPTION_RECORD *, void *, struct _CONTEXT *, void *);
-
-typedef struct _EXCEPTION_REGISTRATION
-{ /* Maps the structure of the exception handler registration
-   * block, as installed by the __try1(__handler) primitive.
-   */
-  struct _EXCEPTION_REGISTRATION	*prev;
-  PEXCEPTION_HANDLER			 handler;
-} EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION;
-
-/* Aliases which may be preferred, when referring to the
- * EXCEPTION_REGISTRATION structure.
- */
-typedef EXCEPTION_REGISTRATION EXCEPTION_REGISTRATION_RECORD;
-typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
-
-/* Deployment of exception handlers is facilitated by the pair
- * of macros, __try1(_handler) and __except1.
- *
- * CAUTION: __try1(__handler) and __except1 must be deployed as
- * a complementary pair, within the scope of the stack frame of
- * a single function, with __try1(__handler) preceding the use
- * of __except1.  Failure to invoke __except1 before release of
- * any stack frame, in which __try1(__handler) has been invoked,
- * will invalidate the EXCEPTION_REGISTRATION_RECORD, which has
- * been installed by __try1(_handler), at the head of the active
- * exception handler chain; this will cause undefined behaviour,
- * which is sure to go badly.
- *
- * To accommodate implementation differences between _WIN32 and
- * _WIN64 hosts, the actual implementations of __try1(__handler)
- * and __except1 are expressed in terms of a pair of lower level
- * internal macros, namely:
- *
- * Macro: __try1_setup(__handler,__wsize,__ts)
- *
- * Helper for implementation of macro __try1(__handler); allocate
- * a block of memory, within the stack frame of the calling function,
- * which is then initialized as an EXCEPTION_REGISTRATION_RECORD, and
- * linked to the head of the installed exception handler chain.
- *
- * Inputs:
- *  __handler	pointer to an EXCEPTION_HANDLER function.
- *  __wsize	the Intel host word size pointer description.
- *  __ts	thread information segment register name.
- */
-#define __try1_setup(__handler,__wsize,__ts)				\
-{ EXCEPTION_REGISTRATION *__hook;					\
-  __hook = __typecast_alloca( EXCEPTION_REGISTRATION ); 		\
-  __hook->handler = __handler;						\
-  __asm__ __volatile__							\
-  ( "mov{%z0}\t{%%|%0, "__wsize" }"__ts":{|[}0x0{, %0|]}\n\t"		\
-    "mov{%z1}\t{%1, %%|"__wsize" }"__ts":{|[}0x0{|], %1}"		\
-    :"=r"(__hook->prev):"r"(__hook):"memory"				\
-  );									\
-}
-
-/* Macro: __except1_teardown(__wsize,__ts)
- *
- * Helper which provides the implementation for the __except1
- * complement to __try1(__handler) macro; it unlinks the first
- * EXCEPTION_REGISTRATION_RECORD from the head of the exception
- * handler chain.  Arguments are as described for those of the
- * same name, in the __try1_setup macro argument list.
- */
-#define __except1_teardown(__wsize,__ts) 				\
-{ register EXCEPTION_REGISTRATION *__hook;				\
-  __asm__ __volatile__							\
-  ( "mov{%z0}\t{%%|%0, "__wsize" }"__ts":{|[}0x0{, %0|]}\n\t"		\
-    "mov{%z0}\t{(}%0{)}, {|"__wsize" [}%0{|]}\n\t"			\
-    "mov{%z0}\t{%0, %%|"__wsize" }"__ts":{|[}0x0{|], %0}"		\
-    :"+r"(__hook)::"memory"						\
-  );									\
-}
-
-/* Specialization of the above primitives, creating __try1(__handler),
- * and its complementary __except1 implementation, with the appropriate
- * assignments of word size and TIB segment register, for each of...
- */
-#ifdef _WIN64
-/* ...64-bit windows, for which the word size for representation of
- * pointers, in Intel-syntax code, is "QWORD PTR", and the gs segment
- * is used for access to the thread information block...
- */
-# define __try1(__handler) __try1_setup(__handler,"QWORD PTR","gs")
-# define __except1 __except1_teardown("QWORD PTR","gs")
-
-#else	/* _WIN32 */
-/* ...while in 32-bit windows, the corresponding pointer word size
- * is "DWORD PTR", and the the thread information block is located
- * in the fs segment.
- */
-# define __try1(__handler) __try1_setup(__handler,"DWORD PTR","fs")
-# define __except1 __except1_teardown("DWORD PTR","fs")
-#endif
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_EXCPT_H: $RCSfile: excpt.h,v $: end of file */
Index: Daodan/MinGW/include/exdisp.h
===================================================================
--- Daodan/MinGW/include/exdisp.h	(revision 1046)
+++ 	(revision )
@@ -1,225 +1,0 @@
-#ifndef _EXDISP_H
-#define _EXDISP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <oaidl.h>
-#include <ocidl.h>
-#include <docobj.h>
-
-EXTERN_C const CLSID CLSID_WebBrowser;
-EXTERN_C const IID DIID_DWebBrowserEvents;
-
-typedef enum {
-	navOpenInNewWindow = 0x1,
-	navNoHistory = 0x2,
-	navNoReadFromCache = 0x4,
-	navNoWriteTocache = 0x8,
-	navAllowAutosearch = 0x10,
-	navBrowserBar = 0x20,
-	navHyperLink = 0x40
-} BrowserNavConstants;
-
-EXTERN_C const IID IID_IWebBrowser;
-#define INTERFACE IWebBrowser
-DECLARE_INTERFACE_(IWebBrowser,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(GoBack)(THIS) PURE;
-	STDMETHOD(GoForward)(THIS) PURE;
-	STDMETHOD(GoHome)(THIS) PURE;
-	STDMETHOD(GoSearch)(THIS) PURE;
-	STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(Refresh)(THIS) PURE;
-	STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
-	STDMETHOD(Stop)(THIS) PURE;
-	STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Left)(THIS_ long*) PURE;
-	STDMETHOD(put_Left)(THIS_ long) PURE;
-	STDMETHOD(get_Top)(THIS_ long*) PURE;
-	STDMETHOD(put_Top)(THIS_ long) PURE;
-	STDMETHOD(get_Width)(THIS_ long*) PURE;
-	STDMETHOD(put_Width)(THIS_ long) PURE;
-	STDMETHOD(get_Height)(THIS_ long*) PURE;
-	STDMETHOD(put_Height)(THIS_ long) PURE;
-	STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IWebBrowserApp;
-#define INTERFACE IWebBrowserApp
-DECLARE_INTERFACE_(IWebBrowserApp,IWebBrowser)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(GoBack)(THIS) PURE;
-	STDMETHOD(GoForward)(THIS) PURE;
-	STDMETHOD(GoHome)(THIS) PURE;
-	STDMETHOD(GoSearch)(THIS) PURE;
-	STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(Refresh)(THIS) PURE;
-	STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
-	STDMETHOD(Stop)(THIS) PURE;
-	STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Left)(THIS_ long*) PURE;
-	STDMETHOD(put_Left)(THIS_ long) PURE;
-	STDMETHOD(get_Top)(THIS_ long*) PURE;
-	STDMETHOD(put_Top)(THIS_ long) PURE;
-	STDMETHOD(get_Width)(THIS_ long*) PURE;
-	STDMETHOD(put_Width)(THIS_ long) PURE;
-	STDMETHOD(get_Height)(THIS_ long*) PURE;
-	STDMETHOD(put_Height)(THIS_ long) PURE;
-	STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-
-	STDMETHOD(Quit)(THIS) PURE;
-	STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
-	STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
-	STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
-	STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_HWND)(THIS_ long*) PURE;
-	STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
-	STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
-	STDMETHOD(put_ToolBar)(THIS_ int) PURE;
-	STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IWebBrowser2;
-#define INTERFACE IWebBrowser2
-DECLARE_INTERFACE_(IWebBrowser2,IWebBrowserApp)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(GoBack)(THIS) PURE;
-	STDMETHOD(GoForward)(THIS) PURE;
-	STDMETHOD(GoHome)(THIS) PURE;
-	STDMETHOD(GoSearch)(THIS) PURE;
-	STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(Refresh)(THIS) PURE;
-	STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
-	STDMETHOD(Stop)(THIS) PURE;
-	STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Left)(THIS_ long*) PURE;
-	STDMETHOD(put_Left)(THIS_ long) PURE;
-	STDMETHOD(get_Top)(THIS_ long*) PURE;
-	STDMETHOD(put_Top)(THIS_ long) PURE;
-	STDMETHOD(get_Width)(THIS_ long*) PURE;
-	STDMETHOD(put_Width)(THIS_ long) PURE;
-	STDMETHOD(get_Height)(THIS_ long*) PURE;
-	STDMETHOD(put_Height)(THIS_ long) PURE;
-	STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-
-	STDMETHOD(Quit)(THIS) PURE;
-	STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
-	STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
-	STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
-	STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_HWND)(THIS_ long*) PURE;
-	STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
-	STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
-	STDMETHOD(put_ToolBar)(THIS_ int) PURE;
-	STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
-
-	STDMETHOD(Navigate2)(THIS_ VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(QueryStatusWB)(THIS_ OLECMDID,OLECMDF*) PURE;
-	STDMETHOD(ExecWB)(THIS_ OLECMDID,OLECMDEXECOPT,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(ShowBrowserBar)(THIS_ VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(get_ReadyState)(THIS_ READYSTATE*) PURE;
-	STDMETHOD(get_Offline)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_Offline)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_Silent)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_Silent)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_RegisterAsBrowser)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_RegisterAsBrowser)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_RegistaerAsDropTarget)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_RegisterAsDropTarget)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_TheaterMode)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_TheaterMode)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_AddressBar)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_AddressBar)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_Resizable)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_Resizable)(THIS_ VARIANT_BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID DIID_DWebBrowserEvents2;
-#define INTERFACE DWebBrowserEvents2
-DECLARE_INTERFACE_(DWebBrowserEvents2,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/exdispid.h
===================================================================
--- Daodan/MinGW/include/exdispid.h	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-#ifndef _EXDISPID_H
-#define _EXDISPID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define DISPID_BEFORENAVIGATE2 250
-#define DISPID_NEWWINDOW2 251
-#define DISPID_PROGRESSCHANGE 108
-#define DISPID_DOCUMENTCOMPLETE 259
-#define DISPID_STATUSTEXTCHANGE 102
-#define DISPID_TITLECHANGE 113
-
-#endif
Index: Daodan/MinGW/include/fcntl.h
===================================================================
--- Daodan/MinGW/include/fcntl.h	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-/*
- * fcntl.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Access constants for _open. Note that the permissions constants are
- * in sys/stat.h (ick).
- *
- */
-#ifndef _FCNTL_H_
-#define _FCNTL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * It appears that fcntl.h should include io.h for compatibility...
- */
-#include <io.h>
-
-/* Specifiy one of these flags to define the access mode. */
-#define	_O_RDONLY	0
-#define _O_WRONLY	1
-#define _O_RDWR		2
-
-/* Mask for access mode bits in the _open flags. */
-#define _O_ACCMODE	(_O_RDONLY|_O_WRONLY|_O_RDWR)
-
-#define	_O_APPEND	0x0008	/* Writes will add to the end of the file. */
-
-#define	_O_RANDOM	0x0010
-#define	_O_SEQUENTIAL	0x0020
-#define	_O_TEMPORARY	0x0040	/* Make the file dissappear after closing.
-				 * WARNING: Even if not created by _open! */
-#define	_O_NOINHERIT	0x0080
-
-#define	_O_CREAT	0x0100	/* Create the file if it does not exist. */
-#define	_O_TRUNC	0x0200	/* Truncate the file if it does exist. */
-#define	_O_EXCL		0x0400	/* Open only if the file does not exist. */
-
-#define _O_SHORT_LIVED  0x1000
-
-/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */
-#define	_O_TEXT		0x4000	/* CR-LF in file becomes LF in memory. */
-#define	_O_BINARY	0x8000	/* Input and output is not translated. */
-#define	_O_RAW		_O_BINARY
-
-#if (__MSVCRT_VERSION__ >= 0x0800)
-#define _O_WTEXT	0x10000
-#define _O_U16TEXT	0x20000
-#define _O_U8TEXT	0x40000
-#endif
-
-#ifndef	_NO_OLDNAMES
-
-/* POSIX/Non-ANSI names for increased portability */
-#define	O_RDONLY	_O_RDONLY
-#define O_WRONLY	_O_WRONLY
-#define O_RDWR		_O_RDWR
-#define O_ACCMODE	_O_ACCMODE
-#define	O_APPEND	_O_APPEND
-#define	O_CREAT		_O_CREAT
-#define	O_TRUNC		_O_TRUNC
-#define	O_EXCL		_O_EXCL
-#define	O_TEXT		_O_TEXT
-#define	O_BINARY	_O_BINARY
-#define	O_TEMPORARY	_O_TEMPORARY
-#define O_NOINHERIT	_O_NOINHERIT
-#define O_SEQUENTIAL	_O_SEQUENTIAL
-#define	O_RANDOM	_O_RANDOM
-
-#endif	/* Not _NO_OLDNAMES */
-
-#endif	/* Not _FCNTL_H_ */
Index: Daodan/MinGW/include/fenv.h
===================================================================
--- Daodan/MinGW/include/fenv.h	(revision 1046)
+++ 	(revision )
@@ -1,107 +1,0 @@
-#ifndef _FENV_H_
-#define _FENV_H_
-
-#include <_mingw.h>
-
-/* FPU status word exception flags */
-#define FE_INVALID	0x01
-#define FE_DENORMAL	0x02
-#define FE_DIVBYZERO	0x04
-#define FE_OVERFLOW	0x08
-#define FE_UNDERFLOW	0x10
-#define FE_INEXACT	0x20
-#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \
-		       | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
-
-/* FPU control word rounding flags */
-#define FE_TONEAREST	0x0000
-#define FE_DOWNWARD	0x0400
-#define FE_UPWARD	0x0800
-#define FE_TOWARDZERO	0x0c00
-
-/* The MXCSR exception flags are the same as the
-   FE flags. */
-#define __MXCSR_EXCEPT_FLAG_SHIFT 0
-
-/* How much to shift FE status word exception flags
-   to get the MXCSR exeptions masks,  */
-#define __MXCSR_EXCEPT_MASK_SHIFT 7
-
-/* How much to shift FE control word rounding flags
-   to get MXCSR rounding flags,  */
-#define __MXCSR_ROUND_FLAG_SHIFT 3
-
-#ifndef RC_INVOKED
-/*
-  For now, support only for the basic abstraction of flags that are
-  either set or clear. fexcept_t could be  structure that holds more
-  info about the fp environment.
-*/
-typedef unsigned short fexcept_t;
-
-/* This 32-byte struct represents the entire floating point
-   environment as stored by fnstenv or fstenv, augmented by
-   the  contents of the MXCSR register, as stored by stmxcsr
-   (if CPU supports it). */
-typedef struct
-{
-  unsigned short __control_word;
-  unsigned short __unused0;
-  unsigned short __status_word;
-  unsigned short __unused1;
-  unsigned short __tag_word;
-  unsigned short __unused2;
-  unsigned int	 __ip_offset;    /* instruction pointer offset */
-  unsigned short __ip_selector;
-  unsigned short __opcode;
-  unsigned int	 __data_offset;
-  unsigned short __data_selector;
-  unsigned short  __unused3;
-  unsigned int __mxcsr; /* contents of the MXCSR register  */
-} fenv_t;
-
-
-/*The C99 standard (7.6.9) allows us to define implementation-specific macros for
-  different fp environments */
-
-/* The default Intel x87 floating point environment (64-bit mantissa) */
-#define FE_PC64_ENV ((const fenv_t *)-1)
-
-/* The floating point environment set by MSVCRT _fpreset (53-bit mantissa) */
-#define FE_PC53_ENV ((const fenv_t *)-2)
-
-/* The FE_DFL_ENV macro is required by standard.
-  fesetenv will use the environment set at app startup.*/
-#define FE_DFL_ENV ((const fenv_t *) 0)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*TODO: Some of these could be inlined */
-/* 7.6.2 Exception */
-
-extern int __cdecl __MINGW_NOTHROW feclearexcept (int);
-extern int __cdecl __MINGW_NOTHROW fegetexceptflag (fexcept_t * flagp, int excepts);
-extern int __cdecl __MINGW_NOTHROW feraiseexcept (int excepts );
-extern int __cdecl __MINGW_NOTHROW fesetexceptflag (const fexcept_t *, int);
-extern int __cdecl __MINGW_NOTHROW fetestexcept (int excepts);
-
-/* 7.6.3 Rounding */
-
-extern int __cdecl __MINGW_NOTHROW fegetround (void);
-extern int __cdecl __MINGW_NOTHROW fesetround (int mode);
-
-/* 7.6.4 Environment */
-
-extern int __cdecl __MINGW_NOTHROW fegetenv (fenv_t * envp);
-extern int __cdecl __MINGW_NOTHROW fesetenv (const fenv_t * );
-extern int __cdecl __MINGW_NOTHROW feupdateenv (const fenv_t *);
-extern int __cdecl __MINGW_NOTHROW feholdexcept (fenv_t *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif	/* Not RC_INVOKED */
-
-#endif /* ndef _FENV_H */
Index: Daodan/MinGW/include/float.h
===================================================================
--- Daodan/MinGW/include/float.h	(revision 1046)
+++ 	(revision )
@@ -1,169 +1,0 @@
-#ifndef _MINGW_FLOAT_H_
-/*
- * float.h
- *
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants related to floating point arithmetic.
- *
- * Also included here are some non-ANSI bits for accessing the floating
- * point controller.
- *
- */
-#define _MINGW_FLOAT_H_
-/*
- * NOTE:
- *
- * GCC provides float.h, but it doesn't include the non-standard stuff for
- * accessing the fp controller.  We parse the GCC-supplied header, for its
- * standard content, and then define the MS-specific extensions here.
- *
- * In a MinGW standard Win32 hosted environment, this should be the float.h
- * found by a system include path search, but this can't be guaranteed; for
- * a cross-compiler setup, the GCC-supplied header, which is guarded by the
- * _FLOAT_H___ macro, may be found first, thus...
- *
- */
-#if !defined(_FLOAT_H___) && !defined(__FLOAT_H)
-
- /*
-  * ...when we didn't find the GCC-supplied header first, we want to pull
-  * it in now; include_next should achieve this, (and we must rely on the
-  * GCC header maintainers to extend us the same courtesy, to get this one
-  * pulled in, when the GCC-supplied header is found first).
-  *
-  */
-# include_next <float.h>
-#endif
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Functions and definitions for controlling the FPU.
- */
-#ifndef	__STRICT_ANSI__
-
-/* TODO: These constants are only valid for x86 machines */
-
-/* Control word masks for unMask */
-#define	_MCW_EM		0x0008001F	/* Error masks */
-#define	_MCW_IC		0x00040000	/* Infinity */
-#define	_MCW_RC		0x00000300	/* Rounding */
-#define	_MCW_PC		0x00030000	/* Precision */
-
-/* Control word values for unNew (use with related unMask above) */
-#define	_EM_INVALID	0x00000010
-#define	_EM_DENORMAL	0x00080000
-#define	_EM_ZERODIVIDE	0x00000008
-#define	_EM_OVERFLOW	0x00000004
-#define	_EM_UNDERFLOW	0x00000002
-#define	_EM_INEXACT	0x00000001
-#define	_IC_AFFINE	0x00040000
-#define	_IC_PROJECTIVE	0x00000000
-#define	_RC_CHOP	0x00000300
-#define	_RC_UP		0x00000200
-#define	_RC_DOWN	0x00000100
-#define	_RC_NEAR	0x00000000
-#define	_PC_24		0x00020000
-#define	_PC_53		0x00010000
-#define	_PC_64		0x00000000
-
-/* These are also defined in Mingw math.h, needed to work around
-   GCC build issues.  */
-/* Return values for fpclass. */
-#ifndef __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED 1
-#define	_FPCLASS_SNAN	0x0001	/* Signaling "Not a Number" */
-#define	_FPCLASS_QNAN	0x0002	/* Quiet "Not a Number" */
-#define	_FPCLASS_NINF	0x0004	/* Negative Infinity */
-#define	_FPCLASS_NN	0x0008	/* Negative Normal */
-#define	_FPCLASS_ND	0x0010	/* Negative Denormal */
-#define	_FPCLASS_NZ	0x0020	/* Negative Zero */
-#define	_FPCLASS_PZ	0x0040	/* Positive Zero */
-#define	_FPCLASS_PD	0x0080	/* Positive Denormal */
-#define	_FPCLASS_PN	0x0100	/* Positive Normal */
-#define	_FPCLASS_PINF	0x0200	/* Positive Infinity */
-#endif /* __MINGW_FPCLASS_DEFINED */
-
-/* invalid subconditions (_SW_INVALID also set) */
-#define _SW_UNEMULATED		0x0040  /* unemulated instruction */
-#define _SW_SQRTNEG		0x0080  /* square root of a neg number */
-#define _SW_STACKOVERFLOW	0x0200  /* FP stack overflow */
-#define _SW_STACKUNDERFLOW	0x0400  /* FP stack underflow */
-
-/*  Floating point error signals and return codes */
-#define _FPE_INVALID		0x81
-#define _FPE_DENORMAL		0x82
-#define _FPE_ZERODIVIDE		0x83
-#define _FPE_OVERFLOW		0x84
-#define _FPE_UNDERFLOW		0x85
-#define _FPE_INEXACT		0x86
-#define _FPE_UNEMULATED		0x87
-#define _FPE_SQRTNEG		0x88
-#define _FPE_STACKOVERFLOW	0x8a
-#define _FPE_STACKUNDERFLOW	0x8b
-#define _FPE_EXPLICITGEN	0x8c    /* raise( SIGFPE ); */
-
-#ifndef RC_INVOKED
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask),
- * i.e. change the bits in unMask to have the values they have in unNew,
- * leaving other bits unchanged. */
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _controlfp (unsigned int unNew, unsigned int unMask);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int unNew, unsigned int unMask);
-
-
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _clearfp (void);	/* Clear the FPU status word */
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _statusfp (void);	/* Report the FPU status word */
-#define		_clear87	_clearfp
-#define		_status87	_statusfp
-
-
-/*
-   MSVCRT.dll _fpreset initializes the control register to 0x27f,
-   the status register to zero and the tag word to 0FFFFh.
-   This differs from asm instruction finit/fninit which set control
-   word to 0x37f (64 bit mantissa precison rather than 53 bit).
-   By default, the mingw version of _fpreset sets fp control as
-   per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when
-   building your application.
-*/
-void __cdecl __MINGW_NOTHROW _fpreset (void);
-void __cdecl __MINGW_NOTHROW fpreset (void);
-
-/* Global 'variable' for the current floating point error code. */
-_CRTIMP int * __cdecl __MINGW_NOTHROW __fpecode(void);
-#define	_fpecode	(*(__fpecode()))
-
-/*
- * IEEE recommended functions.  MS puts them in float.h
- * but they really belong in math.h.
- */
-
-_CRTIMP double __cdecl __MINGW_NOTHROW _chgsign	(double);
-_CRTIMP double __cdecl __MINGW_NOTHROW _copysign (double, double);
-_CRTIMP double __cdecl __MINGW_NOTHROW _logb (double);
-_CRTIMP double __cdecl __MINGW_NOTHROW _nextafter (double, double);
-_CRTIMP double __cdecl __MINGW_NOTHROW _scalb (double, long);
-
-_CRTIMP int __cdecl __MINGW_NOTHROW _finite (double);
-_CRTIMP int __cdecl __MINGW_NOTHROW _fpclass (double);
-_CRTIMP int __cdecl __MINGW_NOTHROW _isnan (double);
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not __STRICT_ANSI__ */
-
-#endif /* _MINGW_FLOAT_H_ */
-
Index: Daodan/MinGW/include/fltdefs.h
===================================================================
--- Daodan/MinGW/include/fltdefs.h	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/*
- * fltdefs.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _FLTDEFS_H
-#define _FLTDEFS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Packet Filtering Reference - Packet Filtering Enumerated Types */
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum _GlobalFilter {
-	GF_FRAGMENTS = 2,
-	GF_STRONGHOST = 8,
-	GF_FRAGCACHE = 9
-} GLOBAL_FILTER,*PGLOBAL_FILTER;
-typedef enum _PfAddresType {
-	PF_IPV4,
-	PF_IPV6
-} PFADDRESSTYPE,*PPFADDRESSTYPE;
-typedef enum _PfForwardAction {
-	PF_ACTION_FORWARD = 0,
-	PF_ACTION_DROP
-} PFFORWARD_ACTION,*PPFFORWARD_ACTION;
-typedef enum _PfFrameType {
-	PFFT_FILTER = 1,
-	PFFT_FRAG = 2,
-	PFFT_SPOOF = 3
-} PFFRAMETYPE,*PPFFRAMETYPE;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/gdiplus.h
===================================================================
--- Daodan/MinGW/include/gdiplus.h	(revision 1046)
+++ 	(revision )
@@ -1,1 +1,0 @@
-#include "gdiplus/gdiplus.h"
Index: Daodan/MinGW/include/gdiplus/gdiplus.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplus.h	(revision 1046)
+++ 	(revision )
@@ -1,81 +1,0 @@
-/*
- * gdiplus.h
- *
- * GDI+ main header
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_H
-#define __GDIPLUS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef RC_INVOKED
-
-#include <stddef.h>
-#include <math.h>
-#include <windef.h>
-#include <wingdi.h>
-
-#include <basetyps.h>
-typedef _COM_interface IStream IStream;
-typedef _COM_interface IDirectDrawSurface7 IDirectDrawSurface7;
-
-#ifdef __cplusplus
-namespace Gdiplus {
-#endif
-
-typedef float REAL;
-typedef SHORT INT16;
-typedef WORD UINT16;
-
-#include "gdiplusenums.h"
-#include "gdiplustypes.h"
-#include "gdiplusgpstubs.h"
-#include "gdiplusimaging.h"
-#include "gdiplusinit.h"
-#include "gdiplusmem.h"
-#include "gdiplusmetaheader.h"
-#include "gdipluspixelformats.h"
-#include "gdipluscolor.h"
-#include "gdipluscolormatrix.h"
-#include "gdiplusflat.h"
-#include "gdipluseffects.h"
-#include "gdiplusimagecodec.h"
-
-#ifdef __cplusplus
-#include "gdiplusbase.h"
-#include "gdiplusheaders.h"
-#include "gdiplusimageattributes.h"
-#include "gdiplusmatrix.h"
-#include "gdiplusbrush.h"
-#include "gdiplusmetafile.h"
-#include "gdipluspen.h"
-#include "gdiplusstringformat.h"
-#include "gdipluspath.h"
-#include "gdiplusgraphics.h"
-#include "gdipluslinecaps.h"
-#include "gdiplusimpl.h"
-
-}  /* namespace Gdiplus */
-#endif /* __cplusplus */
-
-#endif /* !RC_INVOKED */
-
-#endif /* __GDIPLUS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusbase.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusbase.h	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/*
- * gdiplusbase.h
- *
- * GDI+ base class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_BASE_H
-#define __GDIPLUS_BASE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusbase.h."
-#endif
-
-class GdiplusBase
-{
-public:
-	static void* operator new(size_t in_size)
-	{
-		return DllExports::GdipAlloc(in_size);
-	}
-	static void* operator new[](size_t in_size)
-	{
-		return DllExports::GdipAlloc(in_size);
-	}
-	static void operator delete(void *in_pVoid)
-	{
-		DllExports::GdipFree(in_pVoid);
-	}
-	static void operator delete[](void *in_pVoid)
-	{
-		DllExports::GdipFree(in_pVoid);
-	}
-};
-
-#endif /* __GDIPLUS_BASE_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusbrush.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusbrush.h	(revision 1046)
+++ 	(revision )
@@ -1,606 +1,0 @@
-/*
- * gdiplusbrush.h
- *
- * GDI+ brush classes
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_BRUSH_H
-#define __GDIPLUS_BRUSH_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusbrush.h."
-#endif
-
-class Brush: public GdiplusBase
-{
-	friend class HatchBrush;
-	friend class LinearGradientBrush;
-	friend class PathGradientBrush;
-	friend class SolidBrush;
-	friend class TextureBrush;
-	friend class Graphics;
-	friend class Pen;
-
-public:
-	virtual ~Brush()
-	{
-		DllExports::GdipDeleteBrush(nativeBrush);
-	}
-	virtual Brush* Clone() const  // each subclass must implement this
-	{
-		lastStatus = NotImplemented;
-		return NULL;
-	}
-
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	BrushType GetType() const
-	{
-		BrushType result = BrushTypeSolidColor;
-		updateStatus(DllExports::GdipGetBrushType(nativeBrush, &result));
-		return result;  
-	}
-
-private:
-	Brush(): nativeBrush(NULL), lastStatus(Ok) {}
-	Brush(GpBrush *brush, Status status):
-		nativeBrush(brush), lastStatus(status) {}
-	Brush(const Brush& brush);
-	Brush& operator=(const Brush&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpBrush *nativeBrush;
-	mutable Status lastStatus;
-};
-
-class HatchBrush: public Brush
-{
-public:
-	HatchBrush(HatchStyle hatchStyle,
-			const Color& foreColor,
-			const Color& backColor = Color())
-	{
-		GpHatch *nativeHatch = NULL;
-		lastStatus = DllExports::GdipCreateHatchBrush(hatchStyle,
-				foreColor.GetValue(), backColor.GetValue(),
-				&nativeHatch);
-		nativeBrush = nativeHatch; 
-	}
-	virtual HatchBrush* Clone() const
-	{
-		GpBrush *cloneBrush = NULL;
-		Status status = updateStatus(DllExports::GdipCloneBrush(
-				nativeBrush, &cloneBrush));
-		if (status == Ok) {
-			HatchBrush *result =
-				new HatchBrush(cloneBrush, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteBrush(cloneBrush);
-				updateStatus(OutOfMemory);
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status GetBackgroundColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetHatchBackgroundColor(
-				(GpHatch*) nativeBrush,
-				color ? &color->Value : NULL));
-	}
-	Status GetForegroundColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetHatchForegroundColor(
-				(GpHatch*) nativeBrush,
-				color ? &color->Value : NULL));
-	}
-	HatchStyle GetHatchStyle() const
-	{
-		HatchStyle result;
-		updateStatus(DllExports::GdipGetHatchStyle(
-				(GpHatch*) nativeBrush, &result));
-		return result;
-	}
-
-private:
-	HatchBrush(GpBrush *brush, Status status): Brush(brush, status) {}
-	HatchBrush(const HatchBrush& brush);
-	HatchBrush& operator=(const HatchBrush&);
-};
-
-class LinearGradientBrush: public Brush
-{
-public:
-	LinearGradientBrush(const PointF& point1, const PointF& point2,
-			const Color& color1, const Color& color2)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrush(
-				&point1, &point2,
-				color1.GetValue(), color2.GetValue(),
-				WrapModeTile, &nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	LinearGradientBrush(const Point& point1, const Point& point2,
-			const Color& color1, const Color& color2)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrushI(
-				&point1, &point2,
-				color1.GetValue(), color2.GetValue(),
-				WrapModeTile, &nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	LinearGradientBrush(const RectF& rect, const Color& color1,
-			const Color& color2, LinearGradientMode mode)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrushFromRect(
-				&rect, color1.GetValue(), color2.GetValue(),
-				mode, WrapModeTile, &nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	LinearGradientBrush(const Rect& rect, const Color& color1,
-			const Color& color2, LinearGradientMode mode)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrushFromRectI(
-				&rect, color1.GetValue(), color2.GetValue(),
-				mode, WrapModeTile, &nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	LinearGradientBrush(const RectF& rect, const Color& color1,
-			const Color& color2, REAL angle,
-			BOOL isAngleScalable = FALSE)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrushFromRectWithAngle(
-				&rect, color1.GetValue(), color2.GetValue(),
-				angle, isAngleScalable, WrapModeTile,
-				&nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	LinearGradientBrush(const Rect& rect, const Color& color1,
-			const Color& color2, REAL angle,
-			BOOL isAngleScalable = FALSE)
-	{
-		GpLineGradient *nativeLineGradient = NULL;
-		lastStatus = DllExports::GdipCreateLineBrushFromRectWithAngleI(
-				&rect, color1.GetValue(), color2.GetValue(),
-				angle, isAngleScalable, WrapModeTile,
-				&nativeLineGradient);
-		nativeBrush = nativeLineGradient;
-	}
-	virtual LinearGradientBrush* Clone() const
-	{
-		GpBrush *cloneBrush = NULL;
-		Status status = updateStatus(DllExports::GdipCloneBrush(
-				nativeBrush, &cloneBrush));
-		if (status == Ok) {
-			LinearGradientBrush *result =
-				new LinearGradientBrush(cloneBrush, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteBrush(cloneBrush);
-				updateStatus(OutOfMemory);
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status GetBlend(REAL *blendFactors, REAL *blendPositions,
-			INT count) const
-	{
-		return updateStatus(DllExports::GdipGetLineBlend(
-				(GpLineGradient*) nativeBrush,
-				blendFactors, blendPositions, count));
-	}
-	INT GetBlendCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetLineBlendCount(
-				(GpLineGradient*) nativeBrush, &result));
-		return result;
-	}
-	BOOL GetGammaCorrection() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipGetLineGammaCorrection(
-				(GpLineGradient*) nativeBrush, &result));
-		return result;
-	}
-	INT GetInterpolationColorCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetLinePresetBlendCount(
-				(GpLineGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status GetInterpolationColors(Color *presetColors,
-			REAL *blendPositions, INT count) const
-	{
-		if (!presetColors || count <= 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *presetArgb =
-			(ARGB*) DllExports::GdipAlloc(count * sizeof(ARGB));
-		if (!presetArgb)
-			return lastStatus = OutOfMemory;
-
-		Status status = updateStatus(DllExports::GdipGetLinePresetBlend(
-				(GpLineGradient*) nativeBrush, presetArgb,
-				blendPositions, count));
-		for (INT i = 0; i < count; ++i) {
-			presetColors[i].SetValue(presetArgb[i]);
-		}
-		DllExports::GdipFree((void*) presetArgb);
-		return status;
-	}
-	Status GetLinearColors(Color *colors) const
-	{
-		if (!colors) return lastStatus = InvalidParameter;
-
-		ARGB colorsArgb[2];
-		Status status = updateStatus(DllExports::GdipGetLineColors(
-				(GpLineGradient*) nativeBrush, colorsArgb));
-		colors[0].SetValue(colorsArgb[0]);
-		colors[1].SetValue(colorsArgb[1]);
-		return status;
-	}
-	Status GetRectangle(RectF *rect) const
-	{
-		return updateStatus(DllExports::GdipGetLineRect(
-				(GpLineGradient*) nativeBrush, rect));
-	}
-	Status GetRectangle(Rect *rect) const
-	{
-		return updateStatus(DllExports::GdipGetLineRectI(
-				(GpLineGradient*) nativeBrush, rect));
-	}
-	Status GetTransform(Matrix *matrix) const
-	{
-		return updateStatus(DllExports::GdipGetLineTransform(
-				(GpLineGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	WrapMode GetWrapMode() const
-	{
-		WrapMode wrapMode = WrapModeTile;
-		updateStatus(DllExports::GdipGetLineWrapMode(
-				(GpLineGradient*) nativeBrush, &wrapMode));
-		return wrapMode;
-	}
-	Status MultiplyTransform(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyLineTransform(
-				(GpLineGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	Status ResetTransform()
-	{
-		return updateStatus(DllExports::GdipResetLineTransform(
-				(GpLineGradient*) nativeBrush));
-	}
-	Status RotateTranform(REAL angle, MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotateLineTransform(
-				(GpLineGradient*) nativeBrush, angle, order));
-	}
-	Status ScaleTransform(REAL sx, REAL sy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScaleLineTransform(
-				(GpLineGradient*) nativeBrush, sx, sy, order));
-	}
-	Status SetBlend(const REAL *blendFactors,
-			const REAL *blendPositions, INT count)
-	{
-		return updateStatus(DllExports::GdipSetLineBlend(
-				(GpLineGradient*) nativeBrush,
-				blendFactors, blendPositions, count));
-	}
-	Status SetBlendBellShape(REAL focus, REAL scale = 1.0f)
-	{
-		return updateStatus(DllExports::GdipSetLineSigmaBlend(
-				(GpLineGradient*) nativeBrush,
-				focus, scale));
-	}
-	Status SetBlendTriangularShape(REAL focus, REAL scale = 1.0f)
-	{
-		return updateStatus(DllExports::GdipSetLineLinearBlend(
-				(GpLineGradient*) nativeBrush,
-				focus, scale));
-	}
-	Status SetGammaCorrection(BOOL useGammaCorrection)
-	{
-		return updateStatus(DllExports::GdipSetLineGammaCorrection(
-				(GpLineGradient*) nativeBrush,
-				useGammaCorrection));
-	}
-	Status SetInterpolationColors(const Color *presetColors,
-			const REAL *blendPositions, INT count)
-	{
-		if (!presetColors || count < 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *presetArgb =
-			(ARGB*) DllExports::GdipAlloc(count * sizeof(ARGB));
-		if (!presetArgb)
-			return lastStatus = OutOfMemory;
-		for (INT i = 0; i < count; ++i) {
-			presetArgb[i] = presetColors[i].GetValue();
-		}
-
-		Status status = updateStatus(DllExports::GdipSetLinePresetBlend(
-				(GpLineGradient*) nativeBrush,
-				presetArgb, blendPositions, count));
-		DllExports::GdipFree((void*) presetArgb);
-		return status;
-	}
-	Status SetLinearColors(const Color& color1, const Color& color2)
-	{
-		return updateStatus(DllExports::GdipSetLineColors(
-				(GpLineGradient*) nativeBrush,
-				color1.GetValue(), color2.GetValue()));
-	}
-	Status SetTransform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipSetLineTransform(
-				(GpLineGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status SetWrapMode(WrapMode wrapMode)
-	{
-		return updateStatus(DllExports::GdipSetLineWrapMode(
-				(GpLineGradient*) nativeBrush, wrapMode));
-	}
-	Status TranslateTransform(REAL dx, REAL dy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslateLineTransform(
-				(GpLineGradient*) nativeBrush, dx, dy, order));
-	}
-
-private:
-	LinearGradientBrush(GpBrush *brush, Status status): Brush(brush, status) {}
-	LinearGradientBrush(const LinearGradientBrush& brush);
-	LinearGradientBrush& operator=(const LinearGradientBrush&);
-};
-
-class SolidBrush: public Brush
-{
-public:
-	SolidBrush(const Color& color)
-	{
-		GpSolidFill *nativeSolidFill = NULL;
-		lastStatus = DllExports::GdipCreateSolidFill(
-				color.GetValue(), &nativeSolidFill);
-		nativeBrush = nativeSolidFill; 
-	}
-	virtual SolidBrush* Clone() const
-	{
-		GpBrush *cloneBrush = NULL;
-		Status status = updateStatus(DllExports::GdipCloneBrush(
-				nativeBrush, &cloneBrush));
-		if (status == Ok) {
-			SolidBrush *result =
-				new SolidBrush(cloneBrush, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteBrush(cloneBrush);
-				updateStatus(OutOfMemory);
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status GetColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetSolidFillColor(
-				(GpSolidFill*) nativeBrush,
-				color ? &color->Value : NULL));
-	}
-	Status SetColor(const Color& color)
-	{
-		return updateStatus(DllExports::GdipSetSolidFillColor(
-				(GpSolidFill*) nativeBrush, color.GetValue()));
-	}
-
-private:
-	SolidBrush(GpBrush *brush, Status status): Brush(brush, status) {}
-	SolidBrush(const SolidBrush&);
-	SolidBrush& operator=(const SolidBrush&);
-};
-
-class TextureBrush: public Brush
-{
-public:
-	TextureBrush(Image *image, WrapMode wrapMode = WrapModeTile)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTexture(
-				image ? image->nativeImage : NULL,
-				wrapMode, &nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, WrapMode wrapMode,
-			REAL dstX, REAL dstY, REAL dstWidth, REAL dstHeight)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTexture2(
-				image ? image->nativeImage : NULL,
-				wrapMode, dstX, dstY, dstWidth, dstHeight,
-				&nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, WrapMode wrapMode,
-			INT dstX, INT dstY, INT dstWidth, INT dstHeight)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTexture2I(
-				image ? image->nativeImage : NULL,
-				wrapMode, dstX, dstY, dstWidth, dstHeight,
-				&nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, WrapMode wrapMode, const RectF& dstRect)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTexture2(
-				image ? image->nativeImage : NULL, wrapMode,
-				dstRect.X, dstRect.Y,
-				dstRect.Width, dstRect.Height, &nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, WrapMode wrapMode, const Rect& dstRect)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTexture2I(
-				image ? image->nativeImage : NULL, wrapMode,
-				dstRect.X, dstRect.Y,
-				dstRect.Width, dstRect.Height, &nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, const RectF& dstRect,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTextureIA(
-				image ? image->nativeImage : NULL,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				dstRect.X, dstRect.Y,
-				dstRect.Width, dstRect.Height, &nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	TextureBrush(Image *image, const Rect& dstRect,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		GpTexture *nativeTexture = NULL;
-		lastStatus = DllExports::GdipCreateTextureIAI(
-				image ? image->nativeImage : NULL,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				dstRect.X, dstRect.Y,
-				dstRect.Width, dstRect.Height, &nativeTexture);
-		nativeBrush = nativeTexture;
-	}
-	virtual TextureBrush* Clone() const
-	{
-		GpBrush *cloneBrush = NULL;
-		Status status = updateStatus(DllExports::GdipCloneBrush(
-				nativeBrush, &cloneBrush));
-		if (status == Ok) {
-			TextureBrush *result =
-				new TextureBrush(cloneBrush, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteBrush(cloneBrush);
-				updateStatus(OutOfMemory);
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	//TODO: implement TextureBrush::GetImage()
-	//Image *GetImage() const
-	//{
-	//	// where is the Image allocated (static,member,new,other)?
-	//	// GdipGetTextureImage just returns a GpImage*
-	//	updateStatus(NotImplemented);
-	//	return NULL;
-	//}
-	Status GetTransfrom(Matrix *matrix) const
-	{
-		return updateStatus(DllExports::GdipGetTextureTransform(
-				(GpTexture*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	WrapMode GetWrapMode() const
-	{
-		WrapMode result = WrapModeTile;
-		updateStatus(DllExports::GdipGetTextureWrapMode(
-				(GpTexture*) nativeBrush, &result));
-		return result;
-	}
-	Status MultiplyTransform(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyTextureTransform(
-				(GpTexture*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	Status ResetTransform()
-	{
-		return updateStatus(DllExports::GdipResetTextureTransform(
-				(GpTexture*) nativeBrush));
-	}
-	Status RotateTransform(REAL angle,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotateTextureTransform(
-				(GpTexture*) nativeBrush, angle, order));
-	}
-	Status ScaleTransform(REAL sx, REAL sy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScaleTextureTransform(
-				(GpTexture*) nativeBrush, sx, sy, order));
-	}
-	Status SetTransform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipSetTextureTransform(
-				(GpTexture*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status SetWrapMode(WrapMode wrapMode)
-	{
-		return updateStatus(DllExports::GdipSetTextureWrapMode(
-				(GpTexture*) nativeBrush, wrapMode));
-	}
-	Status TranslateTransform(REAL dx, REAL dy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslateTextureTransform(
-				(GpTexture*) nativeBrush, dx, dy, order));
-	}
-
-private:
-	TextureBrush(GpBrush *brush, Status status): Brush(brush, status) {}
-	TextureBrush(const TextureBrush&);
-	TextureBrush& operator=(const TextureBrush&);
-};
-
-#endif /* __GDIPLUS_BRUSH_H */
Index: Daodan/MinGW/include/gdiplus/gdipluscolor.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluscolor.h	(revision 1046)
+++ 	(revision )
@@ -1,262 +1,0 @@
-/*
- * gdipluscolor.h
- *
- * GDI+ color
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_COLOR_H
-#define __GDIPLUS_COLOR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum ColorChannelFlags {
-	ColorChannelFlagsC = 0,
-	ColorChannelFlagsM = 1,
-	ColorChannelFlagsY = 2,
-	ColorChannelFlagsK = 3,
-	ColorChannelFlagsLast = 4
-} ColorChannelFlags;
-
-typedef struct Color
-{
-	#ifdef __cplusplus
-	private:
-	#endif
-	ARGB Value;
-
-	#ifdef __cplusplus
-	public:
-	friend class Bitmap;
-	friend class Graphics;
-	friend class HatchBrush;
-	friend class PathGradientBrush;
-	friend class Pen;
-	friend class SolidBrush;
-
-	static ARGB MakeARGB(BYTE a, BYTE r, BYTE g, BYTE b)
-	{
-		return (ARGB) ((((DWORD) a) << 24) | (((DWORD) r) << 16)
-		             | (((DWORD) g) << 8) | ((DWORD) b));
-	}
-
-	static const ARGB AlphaMask            = 0xFF000000UL;
-
-	static const ARGB AliceBlue            = 0xFFF0F8FFUL;
-	static const ARGB AntiqueWhite         = 0xFFFAEBD7UL;
-	static const ARGB Aqua                 = 0xFF00FFFFUL;
-	static const ARGB Aquamarine           = 0xFF7FFFD4UL;
-	static const ARGB Azure                = 0xFFF0FFFFUL;
-	static const ARGB Beige                = 0xFFF5F5DCUL;
-	static const ARGB Bisque               = 0xFFFFE4C4UL;
-	static const ARGB Black                = 0xFF000000UL;
-	static const ARGB BlanchedAlmond       = 0xFFFFEBCDUL;
-	static const ARGB Blue                 = 0xFF0000FFUL;
-	static const ARGB BlueViolet           = 0xFF8A2BE2UL;
-	static const ARGB Brown                = 0xFFA52A2AUL;
-	static const ARGB BurlyWood            = 0xFFDEB887UL;
-	static const ARGB CadetBlue            = 0xFF5F9EA0UL;
-	static const ARGB Chartreuse           = 0xFF7FFF00UL;
-	static const ARGB Chocolate            = 0xFFD2691EUL;
-	static const ARGB Coral                = 0xFFFF7F50UL;
-	static const ARGB CornflowerBlue       = 0xFF6495EDUL;
-	static const ARGB Cornsilk             = 0xFFFFF8DCUL;
-	static const ARGB Crimson              = 0xFFDC143CUL;
-	static const ARGB Cyan                 = 0xFF00FFFFUL;
-	static const ARGB DarkBlue             = 0xFF00008BUL;
-	static const ARGB DarkCyan             = 0xFF008B8BUL;
-	static const ARGB DarkGoldenrod        = 0xFFB8860BUL;
-	static const ARGB DarkGray             = 0xFFA9A9A9UL;
-	static const ARGB DarkGreen            = 0xFF006400UL;
-	static const ARGB DarkKhaki            = 0xFFBDB76BUL;
-	static const ARGB DarkMagenta          = 0xFF8B008BUL;
-	static const ARGB DarkOliveGreen       = 0xFF556B2FUL;
-	static const ARGB DarkOrange           = 0xFFFF8C00UL;
-	static const ARGB DarkOrchid           = 0xFF9932CCUL;
-	static const ARGB DarkRed              = 0xFF8B0000UL;
-	static const ARGB DarkSalmon           = 0xFFE9967AUL;
-	static const ARGB DarkSeaGreen         = 0xFF8FBC8FUL;
-	static const ARGB DarkSlateBlue        = 0xFF483D8BUL;
-	static const ARGB DarkSlateGray        = 0xFF2F4F4FUL;
-	static const ARGB DarkTurquoise        = 0xFF00CED1UL;
-	static const ARGB DarkViolet           = 0xFF9400D3UL;
-	static const ARGB DeepPink             = 0xFFFF1493UL;
-	static const ARGB DeepSkyBlue          = 0xFF00BFFFUL;
-	static const ARGB DimGray              = 0xFF696969UL;
-	static const ARGB DodgerBlue           = 0xFF1E90FFUL;
-	static const ARGB Firebrick            = 0xFFB22222UL;
-	static const ARGB FloralWhite          = 0xFFFFFAF0UL;
-	static const ARGB ForestGreen          = 0xFF228B22UL;
-	static const ARGB Fuchsia              = 0xFFFF00FFUL;
-	static const ARGB Gainsboro            = 0xFFDCDCDCUL;
-	static const ARGB GhostWhite           = 0xFFF8F8FFUL;
-	static const ARGB Gold                 = 0xFFFFD700UL;
-	static const ARGB Goldenrod            = 0xFFDAA520UL;
-	static const ARGB Gray                 = 0xFF808080UL;
-	static const ARGB Green                = 0xFF008000UL;
-	static const ARGB GreenYellow          = 0xFFADFF2FUL;
-	static const ARGB Honeydew             = 0xFFF0FFF0UL;
-	static const ARGB HotPink              = 0xFFFF69B4UL;
-	static const ARGB IndianRed            = 0xFFCD5C5CUL;
-	static const ARGB Indigo               = 0xFF4B0082UL;
-	static const ARGB Ivory                = 0xFFFFFFF0UL;
-	static const ARGB Khaki                = 0xFFF0E68CUL;
-	static const ARGB Lavender             = 0xFFE6E6FAUL;
-	static const ARGB LavenderBlush        = 0xFFFFF0F5UL;
-	static const ARGB LawnGreen            = 0xFF7CFC00UL;
-	static const ARGB LemonChiffon         = 0xFFFFFACDUL;
-	static const ARGB LightBlue            = 0xFFADD8E6UL;
-	static const ARGB LightCoral           = 0xFFF08080UL;
-	static const ARGB LightCyan            = 0xFFE0FFFFUL;
-	static const ARGB LightGoldenrodYellow = 0xFFFAFAD2UL;
-	static const ARGB LightGray            = 0xFFD3D3D3UL;
-	static const ARGB LightGreen           = 0xFF90EE90UL;
-	static const ARGB LightPink            = 0xFFFFB6C1UL;
-	static const ARGB LightSalmon          = 0xFFFFA07AUL;
-	static const ARGB LightSeaGreen        = 0xFF20B2AAUL;
-	static const ARGB LightSkyBlue         = 0xFF87CEFAUL;
-	static const ARGB LightSlateGray       = 0xFF778899UL;
-	static const ARGB LightSteelBlue       = 0xFFB0C4DEUL;
-	static const ARGB LightYellow          = 0xFFFFFFE0UL;
-	static const ARGB Lime                 = 0xFF00FF00UL;
-	static const ARGB LimeGreen            = 0xFF32CD32UL;
-	static const ARGB Linen                = 0xFFFAF0E6UL;
-	static const ARGB Magenta              = 0xFFFF00FFUL;
-	static const ARGB Maroon               = 0xFF800000UL;
-	static const ARGB MediumAquamarine     = 0xFF66CDAAUL;
-	static const ARGB MediumBlue           = 0xFF0000CDUL;
-	static const ARGB MediumOrchid         = 0xFFBA55D3UL;
-	static const ARGB MediumPurple         = 0xFF9370DBUL;
-	static const ARGB MediumSeaGreen       = 0xFF3CB371UL;
-	static const ARGB MediumSlateBlue      = 0xFF7B68EEUL;
-	static const ARGB MediumSpringGreen    = 0xFF00FA9AUL;
-	static const ARGB MediumTurquoise      = 0xFF48D1CCUL;
-	static const ARGB MediumVioletRed      = 0xFFC71585UL;
-	static const ARGB MidnightBlue         = 0xFF191970UL;
-	static const ARGB MintCream            = 0xFFF5FFFAUL;
-	static const ARGB MistyRose            = 0xFFFFE4E1UL;
-	static const ARGB Moccasin             = 0xFFFFE4B5UL;
-	static const ARGB NavajoWhite          = 0xFFFFDEADUL;
-	static const ARGB Navy                 = 0xFF000080UL;
-	static const ARGB OldLace              = 0xFFFDF5E6UL;
-	static const ARGB Olive                = 0xFF808000UL;
-	static const ARGB OliveDrab            = 0xFF6B8E23UL;
-	static const ARGB Orange               = 0xFFFFA500UL;
-	static const ARGB OrangeRed            = 0xFFFF4500UL;
-	static const ARGB Orchid               = 0xFFDA70D6UL;
-	static const ARGB PaleGoldenrod        = 0xFFEEE8AAUL;
-	static const ARGB PaleGreen            = 0xFF98FB98UL;
-	static const ARGB PaleTurquoise        = 0xFFAFEEEEUL;
-	static const ARGB PaleVioletRed        = 0xFFDB7093UL;
-	static const ARGB PapayaWhip           = 0xFFFFEFD5UL;
-	static const ARGB PeachPuff            = 0xFFFFDAB9UL;
-	static const ARGB Peru                 = 0xFFCD853FUL;
-	static const ARGB Pink                 = 0xFFFFC0CBUL;
-	static const ARGB Plum                 = 0xFFDDA0DDUL;
-	static const ARGB PowderBlue           = 0xFFB0E0E6UL;
-	static const ARGB Purple               = 0xFF800080UL;
-	static const ARGB Red                  = 0xFFFF0000UL;
-	static const ARGB RosyBrown            = 0xFFBC8F8FUL;
-	static const ARGB RoyalBlue            = 0xFF4169E1UL;
-	static const ARGB SaddleBrown          = 0xFF8B4513UL;
-	static const ARGB Salmon               = 0xFFFA8072UL;
-	static const ARGB SandyBrown           = 0xFFF4A460UL;
-	static const ARGB SeaGreen             = 0xFF2E8B57UL;
-	static const ARGB SeaShell             = 0xFFFFF5EEUL;
-	static const ARGB Sienna               = 0xFFA0522DUL;
-	static const ARGB Silver               = 0xFFC0C0C0UL;
-	static const ARGB SkyBlue              = 0xFF87CEEBUL;
-	static const ARGB SlateBlue            = 0xFF6A5ACDUL;
-	static const ARGB SlateGray            = 0xFF708090UL;
-	static const ARGB Snow                 = 0xFFFFFAFAUL;
-	static const ARGB SpringGreen          = 0xFF00FF7FUL;
-	static const ARGB SteelBlue            = 0xFF4682B4UL;
-	static const ARGB Tan                  = 0xFFD2B48CUL;
-	static const ARGB Teal                 = 0xFF008080UL;
-	static const ARGB Thistle              = 0xFFD8BFD8UL;
-	static const ARGB Tomato               = 0xFFFF6347UL;
-	static const ARGB Transparent          = 0x00FFFFFFUL;
-	static const ARGB Turquoise            = 0xFF40E0D0UL;
-	static const ARGB Violet               = 0xFFEE82EEUL;
-	static const ARGB Wheat                = 0xFFF5DEB3UL;
-	static const ARGB White                = 0xFFFFFFFFUL;
-	static const ARGB WhiteSmoke           = 0xFFF5F5F5UL;
-	static const ARGB Yellow               = 0xFFFFFF00UL;
-	static const ARGB YellowGreen          = 0xFF9ACD32UL;
-
-	Color(): Value(0xFF000000) {}
-	Color(ARGB argb): Value(argb) {}
-	Color(BYTE r, BYTE g, BYTE b): Value(MakeARGB(0xFF, r, g, b)) {}
-	Color(BYTE a, BYTE r, BYTE g, BYTE b): Value(MakeARGB(a, r, g, b)) {}
-
-	BYTE GetA() const
-	{
-		return (BYTE) (Value >> 24);
-	}
-	BYTE GetAlpha() const
-	{
-		return (BYTE) (Value >> 24);
-	}
-	BYTE GetB() const
-	{
-		return (BYTE) Value;
-	}
-	BYTE GetBlue() const
-	{
-		return (BYTE) Value;
-	}
-	BYTE GetG() const
-	{
-		return (BYTE) (Value >> 8);
-	}
-	BYTE GetGreen() const
-	{
-		return (BYTE) (Value >> 8);
-	}
-	BYTE GetR() const
-	{
-		return (BYTE) (Value >> 16);
-	}
-	BYTE GetRed() const
-	{
-		return (BYTE) (Value >> 16);
-	}
-	ARGB GetValue() const
-	{
-		return Value;
-	}
-	VOID SetFromCOLORREF(COLORREF rgb)
-	{
-		BYTE r = (BYTE) rgb;
-		BYTE g = (BYTE) (rgb >> 8);
-		BYTE b = (BYTE) (rgb >> 16);
-		Value = MakeARGB(0xFF, r, g, b);
-	}
-	VOID SetValue(ARGB argb)
-	{
-		Value = argb;
-	}
-	COLORREF ToCOLORREF() const
-	{
-		return RGB(GetRed(), GetGreen(), GetBlue());
-	}
-	#endif /* __cplusplus */
-} Color;
-
-#endif /* __GDIPLUS_COLOR_H */
Index: Daodan/MinGW/include/gdiplus/gdipluscolormatrix.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluscolormatrix.h	(revision 1046)
+++ 	(revision )
@@ -1,67 +1,0 @@
-/*
- * gdipluscolormatrix.h
- *
- * GDI+ color mappings
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_COLORMATRIX_H
-#define __GDIPLUS_COLORMATRIX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum ColorAdjustType {
-	ColorAdjustTypeDefault = 0,
-	ColorAdjustTypeBitmap = 1,
-	ColorAdjustTypeBrush = 2,
-	ColorAdjustTypePen = 3,
-	ColorAdjustTypeText = 4,
-	ColorAdjustTypeCount = 5,
-	ColorAdjustTypeAny = 6
-} ColorAdjustType;
-
-typedef enum ColorMatrixFlags {
-	ColorMatrixFlagsDefault = 0,
-	ColorMatrixFlagsSkipGrays = 1,
-	ColorMatrixFlagsAltGray = 2
-} ColorMatrixFlags;
-
-typedef enum HistogramFormat {
-	HistogramFormatARGB = 0,
-	HistogramFormatPARGB = 1,
-	HistogramFormatRGB = 2,
-	HistogramFormatGray = 3,
-	HistogramFormatB = 4,
-	HistogramFormatG = 5,
-	HistogramFormatR = 6,
-	HistogramFormatA = 7
-} HistogramFormat;
-
-typedef struct ColorMap {
-	Color oldColor;
-	Color newColor;
-} ColorMap;
-
-typedef struct ColorMatrix {
-	REAL m[5][5];
-} ColorMatrix;
-
-typedef BYTE ColorChannelLUT[256];
-
-#endif /* __GDIPLUS_COLORMATRIX_H */
Index: Daodan/MinGW/include/gdiplus/gdipluseffects.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluseffects.h	(revision 1046)
+++ 	(revision )
@@ -1,116 +1,0 @@
-/*
- * gdipluseffects.h
- *
- * GDI+ filters and effects
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_EFFECTS_H
-#define __GDIPLUS_EFFECTS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum CurveAdjustments {
-	AdjustExposure = 0,
-	AdjustDensity = 1,
-	AdjustContrast = 2,
-	AdjustHighlight = 3,
-	AdjustShadow = 4,
-	AdjustMidtone = 5,
-	AdjustWhiteSaturation = 6,
-	AdjustBlackSaturation = 7
-} CurveAdjustments;
-
-typedef enum CurveChannel {
-	CurveChannelAll = 0,
-	CurveChannelRed = 1,
-	CurveChannelGreen = 2,
-	CurveChannelBlue = 3
-} CurveChannel;
-
-typedef struct BlurParams {
-	REAL radius;
-	BOOL expandEdge;
-} BlurParams;
-
-typedef struct BrightnessContrastParams {
-	INT brightnessLevel;
-	INT contrastLevel;
-} BrightnessContrastParams;
-
-typedef struct ColorBalanceParams {
-	INT cyanRed;
-	INT magentaGreen;
-	INT yellowBlue;
-} ColorBalanceParams;
-
-typedef struct ColorCurveParams {
-	CurveAdjustments adjustment;
-	CurveChannel channel;
-	INT adjustValue;
-} ColorCurveParams;
-
-typedef struct ColorLUTParams {
-	ColorChannelLUT lutB;
-	ColorChannelLUT lutG;
-	ColorChannelLUT lutR;
-	ColorChannelLUT lutA;
-} ColorLUTParams;
-
-typedef struct HueSaturationLightnessParams {
-	INT hueLevel;
-	INT saturationLevel;
-	INT lightnessLevel;
-} HueSaturationLightnessParams;
-
-typedef struct LevelsParams {
-	INT highlight;
-	INT midtone;
-	INT shadow;
-} LevelsParams;
-
-typedef struct RedEyeCorrectionParams {
-	UINT numberOfAreas;
-	RECT *areas;
-} RedEyeCorrectionParams;
-
-typedef struct SharpenParams {
-	REAL radius;
-	REAL amount;
-} SharpenParams;
-
-typedef struct TintParams {
-	INT hue;
-	INT amount;
-} TintParams;
-
-extern const GUID BlurEffectGuid;                    /* ? */
-extern const GUID BrightnessContrastEffectGuid;      /* ? */
-extern const GUID ColorBalanceEffectGuid;            /* ? */
-extern const GUID ColorCurveEffectGuid;              /* ? */
-extern const GUID ColorLUTEffectGuid;                /* ? */
-extern const GUID ColorMatrixEffectGuid;             /* ? */
-extern const GUID HueSaturationLightnessEffectGuid;  /* ? */
-extern const GUID LevelsEffectGuid;                  /* ? */
-extern const GUID RedEyeCorrectionEffectGuid;        /* ? */
-extern const GUID SharpenEffectGuid;                 /* ? */
-extern const GUID TintEffectGuid;                    /* ? */
-
-
-#endif /* __GDIPLUS_EFFECTS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusenums.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusenums.h	(revision 1046)
+++ 	(revision )
@@ -1,755 +1,0 @@
-/*
- * gdiplusenums.h
- *
- * GDI+ enumerations
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_ENUMS_H
-#define __GDIPLUS_ENUMS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum BrushType {
-	BrushTypeSolidColor = 0,
-	BrushTypeHatchFill = 1,
-	BrushTypeTextureFill = 2,
-	BrushTypePathGradient = 3,
-	BrushTypeLinearGradient = 4
-} BrushType;
-
-typedef enum CombineMode {
-	CombineModeReplace = 0,
-	CombineModeIntersect = 1,
-	CombineModeUnion = 2,
-	CombineModeXor = 3,
-	CombineModeExclude = 4,
-	CombineModeComplement = 5
-} CombineMode;
-
-typedef enum CompositingMode {
-	CompositingModeSourceOver = 0,
-	CompositingModeSourceCopy = 1
-} CompositingMode;
-
-typedef enum CompositingQuality {
-	CompositingQualityDefault = 0,
-	CompositingQualityHighSpeed = 1,
-	CompositingQualityHighQuality = 2,
-	CompositingQualityGammaCorrected = 3,
-	CompositingQualityAssumeLinear = 4
-} CompositingQuality;
-
-typedef enum CoordinateSpace {
-	CoordinateSpaceWorld = 0,
-	CoordinateSpacePage = 1,
-	CoordinateSpaceDevice = 2
-} CoordinateSpace;
-
-typedef enum CustomLineCapType {
-	CustomLineCapTypeDefault = 0,
-	CustomLineCapTypeAdjustableArrow = 1
-} CustomLineCapType;
-
-typedef enum DashCap {
-	DashCapFlat = 0,
-	DashCapRound = 2,
-	DashCapTriangle = 3
-} DashCap;
-
-typedef enum DashStyle {
-	DashStyleSolid = 0,
-	DashStyleDash = 1,
-	DashStyleDot = 2,
-	DashStyleDashDot = 3,
-	DashStyleDashDotDot = 4,
-	DashStyleCustom = 5
-} DashStyle;
-
-typedef enum DitherType {
-	DitherTypeNone = 0,
-	DitherTypeSolid = 1,
-	DitherTypeOrdered4x4 = 2,
-	DitherTypeOrdered8x8 = 3,
-	DitherTypeOrdered16x16 = 4,
-	DitherTypeOrdered91x91 = 5,
-	DitherTypeSpiral4x4 = 6,
-	DitherTypeSpiral8x8 = 7,
-	DitherTypeDualSpiral4x4 = 8,
-	DitherTypeDualSpiral8x8 = 9,
-	DitherTypeErrorDiffusion = 10
-} DitherType;
-
-typedef enum DriverStringOptions {
-	DriverStringOptionsCmapLookup = 1,
-	DriverStringOptionsVertical = 2,
-	DriverStringOptionsRealizedAdvance = 4,
-	DriverStringOptionsLimitSubpixel = 8
-} DriverStringOptions;
-
-#define GDIP_WMF_RECORD_TO_EMFPLUS(meta) ((meta) | 0x10000)
-#define GDIP_EMFPLUS_RECORD_BASE (0x4000)
-typedef enum EmfPlusRecordType {
-	WmfRecordTypeSetBkColor                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR),
-	WmfRecordTypeSetBkMode                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE),
-	WmfRecordTypeSetMapMode                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE),
-	WmfRecordTypeSetROP2                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2),
-	WmfRecordTypeSetRelAbs                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS),
-	WmfRecordTypeSetPolyFillMode               = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE),
-	WmfRecordTypeSetStretchBltMode             = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE),
-	WmfRecordTypeSetTextCharExtra              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA),
-	WmfRecordTypeSetTextColor                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR),
-	WmfRecordTypeSetTextJustification          = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION),
-	WmfRecordTypeSetWindowOrg                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG),
-	WmfRecordTypeSetWindowExt                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT),
-	WmfRecordTypeSetViewportOrg                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG),
-	WmfRecordTypeSetViewportExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT),
-	WmfRecordTypeOffsetWindowOrg               = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG),
-	WmfRecordTypeScaleWindowExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT),
-	WmfRecordTypeOffsetViewportOrg             = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG),
-	WmfRecordTypeScaleViewportExt              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT),
-	WmfRecordTypeLineTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO),
-	WmfRecordTypeMoveTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO),
-	WmfRecordTypeExcludeClipRect               = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT),
-	WmfRecordTypeIntersectClipRect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT),
-	WmfRecordTypeArc                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC),
-	WmfRecordTypeEllipse                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE),
-	WmfRecordTypeFloodFill                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL),
-	WmfRecordTypePie                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE),
-	WmfRecordTypeRectangle                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE),
-	WmfRecordTypeRoundRect                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT),
-	WmfRecordTypePatBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT),
-	WmfRecordTypeSaveDC                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC),
-	WmfRecordTypeSetPixel                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL),
-	WmfRecordTypeOffsetClipRgn                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN),
-	WmfRecordTypeTextOut                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT),
-	WmfRecordTypeBitBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT),
-	WmfRecordTypeStretchBlt                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT),
-	WmfRecordTypePolygon                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON),
-	WmfRecordTypePolyline                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE),
-	WmfRecordTypeEscape                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE),
-	WmfRecordTypeRestoreDC                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC),
-	WmfRecordTypeFillRegion                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION),
-	WmfRecordTypeFrameRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION),
-	WmfRecordTypeInvertRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION),
-	WmfRecordTypePaintRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION),
-	WmfRecordTypeSelectClipRegion              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION),
-	WmfRecordTypeSelectObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT),
-	WmfRecordTypeSetTextAlign                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN),
-	WmfRecordTypeDrawText                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F),
-	WmfRecordTypeChord                         = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD),
-	WmfRecordTypeSetMapperFlags                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS),
-	WmfRecordTypeExtTextOut                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT),
-	WmfRecordTypeSetDIBToDev                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV),
-	WmfRecordTypeSelectPalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE),
-	WmfRecordTypeRealizePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE),
-	WmfRecordTypeAnimatePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE),
-	WmfRecordTypeSetPalEntries                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES),
-	WmfRecordTypePolyPolygon                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON),
-	WmfRecordTypeResizePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE),
-	WmfRecordTypeDIBBitBlt                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT),
-	WmfRecordTypeDIBStretchBlt                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT),
-	WmfRecordTypeDIBCreatePatternBrush         = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH),
-	WmfRecordTypeStretchDIB                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB),
-	WmfRecordTypeExtFloodFill                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL),
-	WmfRecordTypeSetLayout                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149),
-	WmfRecordTypeResetDC                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C),
-	WmfRecordTypeStartDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D),
-	WmfRecordTypeStartPage                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F),
-	WmfRecordTypeEndPage                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050),
-	WmfRecordTypeAbortDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052),
-	WmfRecordTypeEndDoc                        = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E),
-	WmfRecordTypeDeleteObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT),
-	WmfRecordTypeCreatePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE),
-	WmfRecordTypeCreateBrush                   = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8),
-	WmfRecordTypeCreatePatternBrush            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH),
-	WmfRecordTypeCreatePenIndirect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT),
-	WmfRecordTypeCreateFontIndirect            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT),
-	WmfRecordTypeCreateBrushIndirect           = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT),
-	WmfRecordTypeCreateBitmapIndirect          = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD),
-	WmfRecordTypeCreateBitmap                  = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE),
-	WmfRecordTypeCreateRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION),
-	EmfRecordTypeHeader                        = EMR_HEADER,
-	EmfRecordTypePolyBezier                    = EMR_POLYBEZIER,
-	EmfRecordTypePolygon                       = EMR_POLYGON,
-	EmfRecordTypePolyline                      = EMR_POLYLINE,
-	EmfRecordTypePolyBezierTo                  = EMR_POLYBEZIERTO,
-	EmfRecordTypePolyLineTo                    = EMR_POLYLINETO,
-	EmfRecordTypePolyPolyline                  = EMR_POLYPOLYLINE,
-	EmfRecordTypePolyPolygon                   = EMR_POLYPOLYGON,
-	EmfRecordTypeSetWindowExtEx                = EMR_SETWINDOWEXTEX,
-	EmfRecordTypeSetWindowOrgEx                = EMR_SETWINDOWORGEX,
-	EmfRecordTypeSetViewportExtEx              = EMR_SETVIEWPORTEXTEX,
-	EmfRecordTypeSetViewportOrgEx              = EMR_SETVIEWPORTORGEX,
-	EmfRecordTypeSetBrushOrgEx                 = EMR_SETBRUSHORGEX,
-	EmfRecordTypeEOF                           = EMR_EOF,
-	EmfRecordTypeSetPixelV                     = EMR_SETPIXELV,
-	EmfRecordTypeSetMapperFlags                = EMR_SETMAPPERFLAGS,
-	EmfRecordTypeSetMapMode                    = EMR_SETMAPMODE,
-	EmfRecordTypeSetBkMode                     = EMR_SETBKMODE,
-	EmfRecordTypeSetPolyFillMode               = EMR_SETPOLYFILLMODE,
-	EmfRecordTypeSetROP2                       = EMR_SETROP2,
-	EmfRecordTypeSetStretchBltMode             = EMR_SETSTRETCHBLTMODE,
-	EmfRecordTypeSetTextAlign                  = EMR_SETTEXTALIGN,
-	EmfRecordTypeSetColorAdjustment            = EMR_SETCOLORADJUSTMENT,
-	EmfRecordTypeSetTextColor                  = EMR_SETTEXTCOLOR,
-	EmfRecordTypeSetBkColor                    = EMR_SETBKCOLOR,
-	EmfRecordTypeOffsetClipRgn                 = EMR_OFFSETCLIPRGN,
-	EmfRecordTypeMoveToEx                      = EMR_MOVETOEX,
-	EmfRecordTypeSetMetaRgn                    = EMR_SETMETARGN,
-	EmfRecordTypeExcludeClipRect               = EMR_EXCLUDECLIPRECT,
-	EmfRecordTypeIntersectClipRect             = EMR_INTERSECTCLIPRECT,
-	EmfRecordTypeScaleViewportExtEx            = EMR_SCALEVIEWPORTEXTEX,
-	EmfRecordTypeScaleWindowExtEx              = EMR_SCALEWINDOWEXTEX,
-	EmfRecordTypeSaveDC                        = EMR_SAVEDC,
-	EmfRecordTypeRestoreDC                     = EMR_RESTOREDC,
-	EmfRecordTypeSetWorldTransform             = EMR_SETWORLDTRANSFORM,
-	EmfRecordTypeModifyWorldTransform          = EMR_MODIFYWORLDTRANSFORM,
-	EmfRecordTypeSelectObject                  = EMR_SELECTOBJECT,
-	EmfRecordTypeCreatePen                     = EMR_CREATEPEN,
-	EmfRecordTypeCreateBrushIndirect           = EMR_CREATEBRUSHINDIRECT,
-	EmfRecordTypeDeleteObject                  = EMR_DELETEOBJECT,
-	EmfRecordTypeAngleArc                      = EMR_ANGLEARC,
-	EmfRecordTypeEllipse                       = EMR_ELLIPSE,
-	EmfRecordTypeRectangle                     = EMR_RECTANGLE,
-	EmfRecordTypeRoundRect                     = EMR_ROUNDRECT,
-	EmfRecordTypeArc                           = EMR_ARC,
-	EmfRecordTypeChord                         = EMR_CHORD,
-	EmfRecordTypePie                           = EMR_PIE,
-	EmfRecordTypeSelectPalette                 = EMR_SELECTPALETTE,
-	EmfRecordTypeCreatePalette                 = EMR_CREATEPALETTE,
-	EmfRecordTypeSetPaletteEntries             = EMR_SETPALETTEENTRIES,
-	EmfRecordTypeResizePalette                 = EMR_RESIZEPALETTE,
-	EmfRecordTypeRealizePalette                = EMR_REALIZEPALETTE,
-	EmfRecordTypeExtFloodFill                  = EMR_EXTFLOODFILL,
-	EmfRecordTypeLineTo                        = EMR_LINETO,
-	EmfRecordTypeArcTo                         = EMR_ARCTO,
-	EmfRecordTypePolyDraw                      = EMR_POLYDRAW,
-	EmfRecordTypeSetArcDirection               = EMR_SETARCDIRECTION,
-	EmfRecordTypeSetMiterLimit                 = EMR_SETMITERLIMIT,
-	EmfRecordTypeBeginPath                     = EMR_BEGINPATH,
-	EmfRecordTypeEndPath                       = EMR_ENDPATH,
-	EmfRecordTypeCloseFigure                   = EMR_CLOSEFIGURE,
-	EmfRecordTypeFillPath                      = EMR_FILLPATH,
-	EmfRecordTypeStrokeAndFillPath             = EMR_STROKEANDFILLPATH,
-	EmfRecordTypeStrokePath                    = EMR_STROKEPATH,
-	EmfRecordTypeFlattenPath                   = EMR_FLATTENPATH,
-	EmfRecordTypeWidenPath                     = EMR_WIDENPATH,
-	EmfRecordTypeSelectClipPath                = EMR_SELECTCLIPPATH,
-	EmfRecordTypeAbortPath                     = EMR_ABORTPATH,
-	EmfRecordTypeReserved_069                  = 69,
-	EmfRecordTypeGdiComment                    = EMR_GDICOMMENT,
-	EmfRecordTypeFillRgn                       = EMR_FILLRGN,
-	EmfRecordTypeFrameRgn                      = EMR_FRAMERGN,
-	EmfRecordTypeInvertRgn                     = EMR_INVERTRGN,
-	EmfRecordTypePaintRgn                      = EMR_PAINTRGN,
-	EmfRecordTypeExtSelectClipRgn              = EMR_EXTSELECTCLIPRGN,
-	EmfRecordTypeBitBlt                        = EMR_BITBLT,
-	EmfRecordTypeStretchBlt                    = EMR_STRETCHBLT,
-	EmfRecordTypeMaskBlt                       = EMR_MASKBLT,
-	EmfRecordTypePlgBlt                        = EMR_PLGBLT,
-	EmfRecordTypeSetDIBitsToDevice             = EMR_SETDIBITSTODEVICE,
-	EmfRecordTypeStretchDIBits                 = EMR_STRETCHDIBITS,
-	EmfRecordTypeExtCreateFontIndirect         = EMR_EXTCREATEFONTINDIRECTW,
-	EmfRecordTypeExtTextOutA                   = EMR_EXTTEXTOUTA,
-	EmfRecordTypeExtTextOutW                   = EMR_EXTTEXTOUTW,
-	EmfRecordTypePolyBezier16                  = EMR_POLYBEZIER16,
-	EmfRecordTypePolygon16                     = EMR_POLYGON16,
-	EmfRecordTypePolyline16                    = EMR_POLYLINE16,
-	EmfRecordTypePolyBezierTo16                = EMR_POLYBEZIERTO16,
-	EmfRecordTypePolylineTo16                  = EMR_POLYLINETO16,
-	EmfRecordTypePolyPolyline16                = EMR_POLYPOLYLINE16,
-	EmfRecordTypePolyPolygon16                 = EMR_POLYPOLYGON16,
-	EmfRecordTypePolyDraw16                    = EMR_POLYDRAW16,
-	EmfRecordTypeCreateMonoBrush               = EMR_CREATEMONOBRUSH,
-	EmfRecordTypeCreateDIBPatternBrushPt       = EMR_CREATEDIBPATTERNBRUSHPT,
-	EmfRecordTypeExtCreatePen                  = EMR_EXTCREATEPEN,
-	EmfRecordTypePolyTextOutA                  = EMR_POLYTEXTOUTA,
-	EmfRecordTypePolyTextOutW                  = EMR_POLYTEXTOUTW,
-	EmfRecordTypeSetICMMode                    = 98,
-	EmfRecordTypeCreateColorSpace              = 99,
-	EmfRecordTypeSetColorSpace                 = 100,
-	EmfRecordTypeDeleteColorSpace              = 101,
-	EmfRecordTypeGLSRecord                     = 102,
-	EmfRecordTypeGLSBoundedRecord              = 103,
-	EmfRecordTypePixelFormat                   = 104,
-	EmfRecordTypeDrawEscape                    = 105,
-	EmfRecordTypeExtEscape                     = 106,
-	EmfRecordTypeStartDoc                      = 107,
-	EmfRecordTypeSmallTextOut                  = 108,
-	EmfRecordTypeForceUFIMapping               = 109,
-	EmfRecordTypeNamedEscape                   = 110,
-	EmfRecordTypeColorCorrectPalette           = 111,
-	EmfRecordTypeSetICMProfileA                = 112,
-	EmfRecordTypeSetICMProfileW                = 113,
-	EmfRecordTypeAlphaBlend                    = 114,
-	EmfRecordTypeSetLayout                     = 115,
-	EmfRecordTypeTransparentBlt                = 116,
-	EmfRecordTypeReserved_117                  = 117,
-	EmfRecordTypeGradientFill                  = 118,
-	EmfRecordTypeSetLinkedUFIs                 = 119,
-	EmfRecordTypeSetTextJustification          = 120,
-	EmfRecordTypeColorMatchToTargetW           = 121,
-	EmfRecordTypeCreateColorSpaceW             = 122,
-	EmfRecordTypeMax                           = 122,
-	EmfRecordTypeMin                           = 1,
-	EmfPlusRecordTypeInvalid                   = GDIP_EMFPLUS_RECORD_BASE,
-	EmfPlusRecordTypeHeader,
-	EmfPlusRecordTypeEndOfFile,
-	EmfPlusRecordTypeComment,
-	EmfPlusRecordTypeGetDC,
-	EmfPlusRecordTypeMultiFormatStart,
-	EmfPlusRecordTypeMultiFormatSection,
-	EmfPlusRecordTypeMultiFormatEnd,
-	EmfPlusRecordTypeObject,
-	EmfPlusRecordTypeClear,
-	EmfPlusRecordTypeFillRects,
-	EmfPlusRecordTypeDrawRects,
-	EmfPlusRecordTypeFillPolygon,
-	EmfPlusRecordTypeDrawLines,
-	EmfPlusRecordTypeFillEllipse,
-	EmfPlusRecordTypeDrawEllipse,
-	EmfPlusRecordTypeFillPie,
-	EmfPlusRecordTypeDrawPie,
-	EmfPlusRecordTypeDrawArc,
-	EmfPlusRecordTypeFillRegion,
-	EmfPlusRecordTypeFillPath,
-	EmfPlusRecordTypeDrawPath,
-	EmfPlusRecordTypeFillClosedCurve,
-	EmfPlusRecordTypeDrawClosedCurve,
-	EmfPlusRecordTypeDrawCurve,
-	EmfPlusRecordTypeDrawBeziers,
-	EmfPlusRecordTypeDrawImage,
-	EmfPlusRecordTypeDrawImagePoints,
-	EmfPlusRecordTypeDrawString,
-	EmfPlusRecordTypeSetRenderingOrigin,
-	EmfPlusRecordTypeSetAntiAliasMode,
-	EmfPlusRecordTypeSetTextRenderingHint,
-	EmfPlusRecordTypeSetTextContrast,
-	EmfPlusRecordTypeSetGammaValue,
-	EmfPlusRecordTypeSetInterpolationMode,
-	EmfPlusRecordTypeSetPixelOffsetMode,
-	EmfPlusRecordTypeSetCompositingMode,
-	EmfPlusRecordTypeSetCompositingQuality,
-	EmfPlusRecordTypeSave,
-	EmfPlusRecordTypeRestore,
-	EmfPlusRecordTypeBeginContainer,
-	EmfPlusRecordTypeBeginContainerNoParams,
-	EmfPlusRecordTypeEndContainer,
-	EmfPlusRecordTypeSetWorldTransform,
-	EmfPlusRecordTypeResetWorldTransform,
-	EmfPlusRecordTypeMultiplyWorldTransform,
-	EmfPlusRecordTypeTranslateWorldTransform,
-	EmfPlusRecordTypeScaleWorldTransform,
-	EmfPlusRecordTypeRotateWorldTransform,
-	EmfPlusRecordTypeSetPageTransform,
-	EmfPlusRecordTypeResetClip,
-	EmfPlusRecordTypeSetClipRect,
-	EmfPlusRecordTypeSetClipPath,
-	EmfPlusRecordTypeSetClipRegion,
-	EmfPlusRecordTypeOffsetClip,
-	EmfPlusRecordTypeDrawDriverString,
-	EmfPlusRecordTypeStrokeFillPath,
-	EmfPlusRecordTypeSerializableObject,
-	EmfPlusRecordTypeSetTSGraphics,
-	EmfPlusRecordTypeSetTSClip,
-	EmfPlusRecordTotal,
-	EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,
-	EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
-} EmfPlusRecordType;
-
-typedef enum EmfToWmfBitsFlags {
-	EmfToWmfBitsFlagsDefault = 0,
-	EmfToWmfBitsFlagsEmbedEmf = 1,
-	EmfToWmfBitsFlagsIncludePlaceable = 2,
-	EmfToWmfBitsFlagsNoXORClip = 4
-} EmfToWmfBitsFlags;
-
-typedef enum EmfType {
-	EmfTypeEmfOnly = 3,
-	EmfTypeEmfPlusOnly = 4,
-	EmfTypeEmfPlusDual = 5
-} EmfType;
-
-typedef enum EncoderParameterValueType {
-	EncoderParameterValueTypeByte = 1,
-	EncoderParameterValueTypeASCII = 2,
-	EncoderParameterValueTypeShort = 3,
-	EncoderParameterValueTypeLong = 4,
-	EncoderParameterValueTypeRational = 5,
-	EncoderParameterValueTypeLongRange = 6,
-	EncoderParameterValueTypeUndefined = 7,
-	EncoderParameterValueTypeRationalRange = 8,
-	EncoderParameterValueTypePointer = 9
-} EncoderParameterValueType;
-
-typedef enum EncoderValue {
-	EncoderValueColorTypeCMYK = 0,
-	EncoderValueColorTypeYCCK = 1,
-	EncoderValueCompressionLZW = 2,
-	EncoderValueCompressionCCITT3 = 3,
-	EncoderValueCompressionCCITT4 = 4,
-	EncoderValueCompressionRle = 5,
-	EncoderValueCompressionNone = 6,
-	EncoderValueScanMethodInterlaced = 7,
-	EncoderValueScanMethodNonInterlaced = 8,
-	EncoderValueVersionGif87 = 9,
-	EncoderValueVersionGif89 = 10,
-	EncoderValueRenderProgressive = 11,
-	EncoderValueRenderNonProgressive = 12,
-	EncoderValueTransformRotate90 = 13,
-	EncoderValueTransformRotate180 = 14,
-	EncoderValueTransformRotate270 = 15,
-	EncoderValueTransformFlipHorizontal = 16,
-	EncoderValueTransformFlipVertical = 17,
-	EncoderValueMultiFrame = 18,
-	EncoderValueLastFrame = 19,
-	EncoderValueFlush = 20,
-	EncoderValueFrameDimensionTime = 21,
-	EncoderValueFrameDimensionResolution = 22,
-	EncoderValueFrameDimensionPage = 23
-} EncoderValue;
-
-typedef enum FillMode {
-	FillModeAlternate = 0,
-	FillModeWinding = 1
-} FillMode;
-
-typedef enum FlushIntention {
-	FlushIntentionFlush = 0,
-	FlushIntentionSync = 1
-} FlushIntention;
-
-typedef enum FontStyle {
-	FontStyleRegular = 0,
-	FontStyleBold = 1,
-	FontStyleItalic = 2,
-	FontStyleBoldItalic = 3,
-	FontStyleUnderline = 4,
-	FontStyleStrikeout = 8
-} FontStyle;
-
-typedef enum HatchStyle {
-	HatchStyleHorizontal = 0,
-	HatchStyleVertical = 1,
-	HatchStyleForwardDiagonal = 2,
-	HatchStyleBackwardDiagonal = 3,
-	HatchStyleCross = 4,
-	HatchStyleLargeGrid = 4,
-	HatchStyleDiagonalCross = 5,
-	HatchStyle05Percent = 6,
-	HatchStyle10Percent = 7,
-	HatchStyle20Percent = 8,
-	HatchStyle25Percent = 9,
-	HatchStyle30Percent = 10,
-	HatchStyle40Percent = 11,
-	HatchStyle50Percent = 12,
-	HatchStyle60Percent = 13,
-	HatchStyle70Percent = 14,
-	HatchStyle75Percent = 15,
-	HatchStyle80Percent = 16,
-	HatchStyle90Percent = 17,
-	HatchStyleLightDownwardDiagonal = 18,
-	HatchStyleLightUpwardDiagonal = 19,
-	HatchStyleDarkDownwardDiagonal = 20,
-	HatchStyleDarkUpwardDiagonal = 21,
-	HatchStyleWideDownwardDiagonal = 22,
-	HatchStyleWideUpwardDiagonal = 23,
-	HatchStyleLightVertical = 24,
-	HatchStyleLightHorizontal = 25,
-	HatchStyleNarrowVertical = 26,
-	HatchStyleNarrowHorizontal = 27,
-	HatchStyleDarkVertical = 28,
-	HatchStyleDarkHorizontal = 29,
-	HatchStyleDashedDownwardDiagonal = 30,
-	HatchStyleDashedUpwardDiagonal = 31,
-	HatchStyleDashedHorizontal = 32,
-	HatchStyleDashedVertical = 33,
-	HatchStyleSmallConfetti = 34,
-	HatchStyleLargeConfetti = 35,
-	HatchStyleZigZag = 36,
-	HatchStyleWave = 37,
-	HatchStyleDiagonalBrick = 38,
-	HatchStyleHorizontalBrick = 39,
-	HatchStyleWeave = 40,
-	HatchStylePlaid = 41,
-	HatchStyleDivot = 42,
-	HatchStyleDottedGrid = 43,
-	HatchStyleDottedDiamond = 44,
-	HatchStyleShingle = 45,
-	HatchStyleTrellis = 46,
-	HatchStyleSphere = 47,
-	HatchStyleSmallGrid = 48,
-	HatchStyleSmallCheckerBoard = 49,
-	HatchStyleLargeCheckerBoard = 50,
-	HatchStyleOutlinedDiamond = 51,
-	HatchStyleSolidDiamond = 52,
-	HatchStyleTotal = 53,
-	HatchStyleMin = HatchStyleHorizontal,
-	HatchStyleMax = HatchStyleTotal - 1
-} HatchStyle;
-
-typedef enum HotkeyPrefix {
-	HotkeyPrefixNone = 0,
-	HotkeyPrefixShow = 1,
-	HotkeyPrefixHide = 2
-} HotkeyPrefix;
-
-typedef enum ImageType {
-	ImageTypeUnknown = 0,
-	ImageTypeBitmap = 1,
-	ImageTypeMetafile = 2
-} ImageType;
-
-/* TODO: InterpolationMode */
-typedef enum InterpolationMode {
-	/*InterpolationModeInvalid = QualityModeInvalid,*/
-	InterpolationModeDefault = 0,
-	InterpolationModeLowQuality = 1,
-	InterpolationModeHighQuality = 2,
-	InterpolationModeBilinear = 3,
-	InterpolationModeBicubic = 4,
-	InterpolationModeNearestNeighbor = 5,
-	InterpolationModeHighQualityBilinear = 6,
-	InterpolationModeHighQualityBicubic = 7
-} InterpolationMode;
-
-typedef enum LinearGradientMode {
-	LinearGradientModeHorizontal = 0,
-	LinearGradientModeVertical = 1,
-	LinearGradientModeForwardDiagonal = 2,
-	LinearGradientModeBackwardDiagonal = 3 
-} LinearGradientMode;
-
-typedef enum LineCap {
-	LineCapFlat = 0,
-	LineCapSquare = 1,
-	LineCapRound = 2,
-	LineCapTriangle = 3,
-	LineCapNoAnchor = 16,
-	LineCapSquareAnchor = 17,
-	LineCapRoundAnchor = 18,
-	LineCapDiamondAnchor = 19,
-	LineCapArrowAnchor = 20,
-	LineCapCustom = 255
-} LineCap;
-
-typedef enum LineJoin {
-	LineJoinMiter = 0,
-	LineJoinBevel = 1,
-	LineJoinRound = 2,
-	LineJoinMiterClipped = 3
-} LineJoin;
-
-typedef enum MatrixOrder {
-	MatrixOrderPrepend = 0,
-	MatrixOrderAppend = 1
-} MatrixOrder;
-
-typedef enum MetafileFrameUnit {
-	MetafileFrameUnitPixel = 2,
-	MetafileFrameUnitPoint = 3,
-	MetafileFrameUnitInch = 4,
-	MetafileFrameUnitDocument = 5,
-	MetafileFrameUnitMillimeter = 6,
-	MetafileFrameUnitGdi = 7
-} MetafileFrameUnit;
-
-typedef enum MetafileType {
-	MetafileTypeInvalid = 0,
-	MetafileTypeWmf = 1,
-	MetafileTypeWmfPlaceable = 2,
-	MetafileTypeEmf = 3,
-	MetafileTypeEmfPlusOnly = 4,
-	MetafileTypeEmfPlusDual = 5
-} MetafileType;
-
-typedef enum ObjectType {
-	ObjectTypeInvalid = 0,
-	ObjectTypeBrush = 1,
-	ObjectTypePen = 2,
-	ObjectTypePath = 3,
-	ObjectTypeRegion = 4,
-	ObjectTypeFont = 5,
-	ObjectTypeStringFormat = 6,
-	ObjectTypeImageAttributes = 7,
-	ObjectTypeCustomLineCap = 8,
-	ObjectTypeGraphics = 9,
-	ObjectTypeMin = ObjectTypeBrush,
-	ObjectTypeMax = ObjectTypeGraphics
-} ObjectType;
-
-typedef enum PathPointType {
-	PathPointTypeStart = 0x00,
-	PathPointTypeLine = 0x01,
-	PathPointTypeBezier = 0x03,
-	PathPointTypeBezier3 = 0x03,
-	PathPointTypePathTypeMask = 0x07,
-	PathPointTypePathDashMode = 0x10,
-	PathPointTypePathMarker = 0x20,
-	PathPointTypeCloseSubpath = 0x80
-} PathPointType;
-
-typedef enum PenAlignment {
-	PenAlignmentCenter = 0,
-	PenAlignmentInset = 1
-} PenAlignment;
-
-typedef enum PenType {
-	PenTypeUnknown = -1, 
-	PenTypeSolidColor = 0,
-	PenTypeHatchFill = 1,
-	PenTypeTextureFill = 2,
-	PenTypePathGradient = 3,
-	PenTypeLinearGradient = 4
-} PenType;
-
-/* TODO: PixelOffsetMode */
-typedef enum PixelOffsetMode {
-	/*PixelOffsetModeInvalid = QualityModeInvalid,*/
-	PixelOffsetModeDefault = 0,
-	PixelOffsetModeHighSpeed = 1,
-	PixelOffsetModeHighQuality = 2,
-	PixelOffsetModeNone = 3,
-	PixelOffsetModeHalf = 4
-} PixelOffsetMode;
-
-/* TODO: QualityMode */
-typedef enum QualityMode {
-	/*QualityModeInvalid = ?,*/
-	QualityModeDefault = 0,
-	QualityModeLow = 1,
-	QualityModeHigh = 2
-} QualityMode;
-
-/* TODO: SmoothingMode */
-typedef enum SmoothingMode {
-	/*SmoothingModeInvalid = QualityModeInvalid,*/
-	SmoothingModeDefault = 0,
-	SmoothingModeHighSpeed = 1,
-	SmoothingModeHighQuality = 2,
-	SmoothingModeNone = 3,
-	SmoothingModeAntiAlias8x4 = 4,
-	SmoothingModeAntiAlias = 4,
-	SmoothingModeAntiAlias8x8 = 5
-} SmoothingMode;
-
-typedef enum StringAlignment {
-	StringAlignmentNear = 0,
-	StringAlignmentCenter = 1,
-	StringAlignmentFar = 2
-} StringAlignment;
-
-typedef enum StringDigitSubstitute {
-	StringDigitSubstituteUser = 0,
-	StringDigitSubstituteNone = 1,
-	StringDigitSubstituteNational = 2,
-	StringDigitSubstituteTraditional = 3
-} StringDigitSubstitute;
-
-typedef enum StringFormatFlags {
-	StringFormatFlagsDirectionRightToLeft = 0x00000001,
-	StringFormatFlagsDirectionVertical = 0x00000002,
-	StringFormatFlagsNoFitBlackBox = 0x00000004,
-	StringFormatFlagsDisplayFormatControl = 0x00000020,
-	StringFormatFlagsNoFontFallback = 0x00000400,
-	StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
-	StringFormatFlagsNoWrap = 0x00001000,
-	StringFormatFlagsLineLimit = 0x00002000,
-	StringFormatFlagsNoClip = 0x00004000
-} StringFormatFlags;
-
-typedef enum StringTrimming {
-	StringTrimmingNone = 0,
-	StringTrimmingCharacter = 1,
-	StringTrimmingWord = 2,
-	StringTrimmingEllipsisCharacter = 3,
-	StringTrimmingEllipsisWord = 4,
-	StringTrimmingEllipsisPath = 5
-} StringTrimming;
-
-typedef enum TextRenderingHint {
-	TextRenderingHintSystemDefault = 0,
-	TextRenderingHintSingleBitPerPixelGridFit = 1,
-	TextRenderingHintSingleBitPerPixel = 2,
-	TextRenderingHintAntiAliasGridFit = 3,
-	TextRenderingHintAntiAlias = 4,
-	TextRenderingHintClearTypeGridFit = 5
-} TextRenderingHint;
-
-typedef enum Unit {
-	UnitWorld = 0,
-	UnitDisplay = 1,
-	UnitPixel = 2,
-	UnitPoint = 3,
-	UnitInch = 4,
-	UnitDocument = 5,
-	UnitMillimeter = 6
-} Unit;
-
-typedef enum WarpMode {
-	WarpModePerspective = 0,
-	WarpModeBilinear = 1
-} WarpMode;
-
-typedef enum WrapMode {
-	WrapModeTile = 0,
-	WrapModeTileFlipX = 1,
-	WrapModeTileFlipY = 2,
-	WrapModeTileFlipXY = 3,
-	WrapModeClamp = 4
-} WrapMode;
-
-typedef enum GpTestControlEnum {
-	TestControlForceBilinear = 0,
-	TestControlForceNoICM = 1,
-	TestControlGetBuildNumber = 2
-} GpTestControlEnum;
-
-/* Opaque handles to information blocks on an internal GDI+ stack. */
-typedef DWORD GraphicsContainer;
-typedef DWORD GraphicsState;
-
-/* Default flatness for GraphicsPath methods Flatten, Outline, Warp, Widen */
-/* FIXME: Is FlatnessDefault = 0.25f correct? */
-#ifdef __cplusplus
-const REAL FlatnessDefault = 0.25f;
-#else
-#define FlatnessDefault ((REAL) 0.25f)
-#endif
-
-static __inline__ BOOL ObjectTypeIsValid(ObjectType type)
-{
-	switch (type) {
-		case ObjectTypeBrush:
-		case ObjectTypePen:
-		case ObjectTypePath:
-		case ObjectTypeRegion:
-		case ObjectTypeFont:
-		case ObjectTypeStringFormat:
-		case ObjectTypeImageAttributes:
-		case ObjectTypeCustomLineCap:
-		case ObjectTypeGraphics:
-			return TRUE;
-		default:
-			return FALSE;
-	}
-}
-
-#endif /* __GDIPLUS_ENUMS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusflat.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusflat.h	(revision 1046)
+++ 	(revision )
@@ -1,722 +1,0 @@
-/*
- * gdiplusflat.h
- *
- * GDI+ Flat API
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_FLAT_H
-#define __GDIPLUS_FLAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-namespace DllExports {
-extern "C" {
-#endif
-
-/* AdjustableArrowCap functions */
-GpStatus WINGDIPAPI GdipCreateAdjustableArrowCap(REAL,REAL,BOOL,GpAdjustableArrowCap**);
-GpStatus WINGDIPAPI GdipSetAdjustableArrowCapHeight(GpAdjustableArrowCap*,REAL);
-GpStatus WINGDIPAPI GdipGetAdjustableArrowCapHeight(GpAdjustableArrowCap*,REAL*);
-GpStatus WINGDIPAPI GdipSetAdjustableArrowCapWidth(GpAdjustableArrowCap*,REAL);
-GpStatus WINGDIPAPI GdipGetAdjustableArrowCapWidth(GpAdjustableArrowCap*,REAL*);
-GpStatus WINGDIPAPI GdipSetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap*,REAL);
-GpStatus WINGDIPAPI GdipGetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap*,REAL*);
-GpStatus WINGDIPAPI GdipSetAdjustableArrowCapFillState(GpAdjustableArrowCap*,BOOL);
-GpStatus WINGDIPAPI GdipGetAdjustableArrowCapFillState(GpAdjustableArrowCap*,BOOL*);
-
-/* Bitmap functions */
-GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT,INT,INT,PixelFormat,BYTE*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT,INT,GpGraphics*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromDirectDrawSurface(IDirectDrawSurface7*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO*,VOID*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP,HPALETTE,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap*,HBITMAP*,ARGB);
-GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON,GpBitmap**);
-GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap*,HICON*);
-GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE,GDIPCONST WCHAR*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL,REAL,REAL,REAL,PixelFormat,GpBitmap*,GpBitmap**);
-GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT,INT,INT,INT,PixelFormat,GpBitmap*,GpBitmap**);
-GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap*,GDIPCONST GpRect*,UINT,PixelFormat,BitmapData*);
-GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap*,BitmapData*);
-GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap*,INT,INT,ARGB*);
-GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap*,INT,INT,ARGB);
-GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap*,REAL,REAL);
-GpStatus WINGDIPAPI GdipBitmapConvertFormat(GpBitmap*,PixelFormat,DitherType,PaletteType,ColorPalette*,REAL);
-GpStatus WINGDIPAPI GdipInitializePalette(ColorPalette*,PaletteType,INT,BOOL,GpBitmap*);
-GpStatus WINGDIPAPI GdipBitmapApplyEffect(GpBitmap*,CGpEffect*,RECT*,BOOL,VOID**,INT*);
-GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect(GpBitmap**,INT,CGpEffect*,RECT*,RECT*,GpBitmap**,BOOL,VOID**,INT*);
-GpStatus WINGDIPAPI GdipBitmapGetHistogram(GpBitmap*,HistogramFormat,UINT,UINT*,UINT*,UINT*,UINT*);
-GpStatus WINGDIPAPI GdipBitmapGetHistogramSize(HistogramFormat,UINT*);
-
-/* Brush functions */
-GpStatus WINGDIPAPI GdipCloneBrush(GpBrush*,GpBrush**);
-GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
-GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
-
-/* CachedBitmap functions */
-GpStatus WINGDIPAPI GdipCreateCachedBitmap(GpBitmap*,GpGraphics*,GpCachedBitmap**);
-GpStatus WINGDIPAPI GdipDeleteCachedBitmap(GpCachedBitmap*);
-GpStatus WINGDIPAPI GdipDrawCachedBitmap(GpGraphics*,GpCachedBitmap*,INT,INT);
-
-/* CustomLineCap functions */
-GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL,GpCustomLineCap**);
-GpStatus WINGDIPAPI GdipDeleteCustomLineCap(GpCustomLineCap*);
-GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**);
-GpStatus WINGDIPAPI GdipGetCustomLineCapType(GpCustomLineCap*,CustomLineCapType*);
-GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeCaps(GpCustomLineCap*,GpLineCap,GpLineCap);
-GpStatus WINGDIPAPI GdipGetCustomLineCapStrokeCaps(GpCustomLineCap*,GpLineCap*,GpLineCap*);
-GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeJoin(GpCustomLineCap*,GpLineJoin);
-GpStatus WINGDIPAPI GdipGetCustomLineCapStrokeJoin(GpCustomLineCap*,GpLineJoin*);
-GpStatus WINGDIPAPI GdipSetCustomLineCapBaseCap(GpCustomLineCap*,GpLineCap);
-GpStatus WINGDIPAPI GdipGetCustomLineCapBaseCap(GpCustomLineCap*,GpLineCap*);
-GpStatus WINGDIPAPI GdipSetCustomLineCapBaseInset(GpCustomLineCap*,REAL);
-GpStatus WINGDIPAPI GdipGetCustomLineCapBaseInset(GpCustomLineCap*,REAL*);
-GpStatus WINGDIPAPI GdipSetCustomLineCapWidthScale(GpCustomLineCap*,REAL);
-GpStatus WINGDIPAPI GdipGetCustomLineCapWidthScale(GpCustomLineCap*,REAL*);
-
-/* Effect functions */
-GpStatus WINGDIPAPI GdipCreateEffect(GDIPCONST GUID,CGpEffect**);
-GpStatus WINGDIPAPI GdipDeleteEffect(CGpEffect*);
-GpStatus WINGDIPAPI GdipGetEffectParameterSize(CGpEffect*,UINT*);
-GpStatus WINGDIPAPI GdipSetEffectParameters(CGpEffect*,GDIPCONST VOID*,UINT);
-GpStatus WINGDIPAPI GdipGetEffectParameters(CGpEffect*,UINT*,VOID*);
-
-/* Font functions */
-GpStatus WINGDIPAPI GdipCreateFontFromDC(HDC,GpFont**);
-GpStatus WINGDIPAPI GdipCreateFontFromLogfontA(HDC,GDIPCONST LOGFONTA*,GpFont**);
-GpStatus WINGDIPAPI GdipCreateFontFromLogfontW(HDC,GDIPCONST LOGFONTW*,GpFont**);
-GpStatus WINGDIPAPI GdipCreateFont(GDIPCONST GpFontFamily*,REAL,INT,Unit,GpFont**);
-GpStatus WINGDIPAPI GdipCloneFont(GpFont*,GpFont**);
-GpStatus WINGDIPAPI GdipDeleteFont(GpFont*);
-GpStatus WINGDIPAPI GdipGetFamily(GpFont*,GpFontFamily**);
-GpStatus WINGDIPAPI GdipGetFontStyle(GpFont*,INT*);
-GpStatus WINGDIPAPI GdipGetFontSize(GpFont*,REAL*);
-GpStatus WINGDIPAPI GdipGetFontUnit(GpFont*,Unit*);
-GpStatus WINGDIPAPI GdipGetFontHeight(GDIPCONST GpFont*,GDIPCONST GpGraphics*,REAL*);
-GpStatus WINGDIPAPI GdipGetFontHeightGivenDPI(GDIPCONST GpFont*,REAL,REAL*);
-GpStatus WINGDIPAPI GdipGetLogFontA(GpFont*,GpGraphics*,LOGFONTA*);
-GpStatus WINGDIPAPI GdipGetLogFontW(GpFont*,GpGraphics*,LOGFONTW*);
-GpStatus WINGDIPAPI GdipNewInstalledFontCollection(GpFontCollection**);
-GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection**);
-GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection**);
-GpStatus WINGDIPAPI GdipGetFontCollectionFamilyCount(GpFontCollection*,INT*);
-GpStatus WINGDIPAPI GdipGetFontCollectionFamilyList(GpFontCollection*,INT,GpFontFamily**,INT*);
-GpStatus WINGDIPAPI GdipPrivateAddFontFile(GpFontCollection*,GDIPCONST WCHAR*);
-GpStatus WINGDIPAPI GdipPrivateAddMemoryFont(GpFontCollection*,GDIPCONST void*,INT);
-
-/* FontFamily functions */
-GpStatus WINGDIPAPI GdipCreateFontFamilyFromName(GDIPCONST WCHAR*,GpFontCollection*,GpFontFamily**);
-GpStatus WINGDIPAPI GdipDeleteFontFamily(GpFontFamily*);
-GpStatus WINGDIPAPI GdipCloneFontFamily(GpFontFamily*,GpFontFamily**);
-GpStatus WINGDIPAPI GdipGetGenericFontFamilySansSerif(GpFontFamily**);
-GpStatus WINGDIPAPI GdipGetGenericFontFamilySerif(GpFontFamily**);
-GpStatus WINGDIPAPI GdipGetGenericFontFamilyMonospace(GpFontFamily**);
-GpStatus WINGDIPAPI GdipGetFamilyName(GDIPCONST GpFontFamily*,WCHAR[LF_FACESIZE],LANGID);
-GpStatus WINGDIPAPI GdipIsStyleAvailable(GDIPCONST GpFontFamily*,INT,BOOL*);
-GpStatus WINGDIPAPI GdipFontCollectionEnumerable(GpFontCollection*,GpGraphics*,INT*);
-GpStatus WINGDIPAPI GdipFontCollectionEnumerate(GpFontCollection*,INT,GpFontFamily**,INT*,GpGraphics*);
-GpStatus WINGDIPAPI GdipGetEmHeight(GDIPCONST GpFontFamily*,INT,UINT16*);
-GpStatus WINGDIPAPI GdipGetCellAscent(GDIPCONST GpFontFamily*,INT,UINT16*);
-GpStatus WINGDIPAPI GdipGetCellDescent(GDIPCONST GpFontFamily*,INT,UINT16*);
-GpStatus WINGDIPAPI GdipGetLineSpacing(GDIPCONST GpFontFamily*,INT,UINT16*);
-
-/* Graphics functions */
-GpStatus WINGDIPAPI GdipFlush(GpGraphics*,GpFlushIntention);
-GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
-GpStatus WINGDIPAPI GdipCreateFromHDC2(HDC,HANDLE,GpGraphics**);
-GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**);
-GpStatus WINGDIPAPI GdipCreateFromHWNDICM(HWND,GpGraphics**);
-GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics*);
-GpStatus WINGDIPAPI GdipGetDC(GpGraphics*,HDC*);
-GpStatus WINGDIPAPI GdipReleaseDC(GpGraphics*,HDC);
-GpStatus WINGDIPAPI GdipSetCompositingMode(GpGraphics*,CompositingMode);
-GpStatus WINGDIPAPI GdipGetCompositingMode(GpGraphics*,CompositingMode*);
-GpStatus WINGDIPAPI GdipSetRenderingOrigin(GpGraphics*,INT,INT);
-GpStatus WINGDIPAPI GdipGetRenderingOrigin(GpGraphics*,INT*,INT*);
-GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality);
-GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
-GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
-GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*);
-GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
-GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
-GpStatus WINGDIPAPI GdipSetTextRenderingHint(GpGraphics*,TextRenderingHint);
-GpStatus WINGDIPAPI GdipGetTextRenderingHint(GpGraphics*,TextRenderingHint*);
-GpStatus WINGDIPAPI GdipSetTextContrast(GpGraphics*,UINT);
-GpStatus WINGDIPAPI GdipGetTextContrast(GpGraphics*,UINT*);
-GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode);
-GpStatus WINGDIPAPI GdipGraphicsSetAbort(GpGraphics*,GdiplusAbort*);
-GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
-GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics*,GpMatrix*);
-GpStatus WINGDIPAPI GdipResetWorldTransform(GpGraphics*);
-GpStatus WINGDIPAPI GdipMultiplyWorldTransform(GpGraphics*,GDIPCONST GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslateWorldTransform(GpGraphics*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScaleWorldTransform(GpGraphics*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics*,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics*,GpMatrix*);
-GpStatus WINGDIPAPI GdipResetPageTransform(GpGraphics*);
-GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*);
-GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*);
-GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics*,GpUnit);
-GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics*,REAL);
-GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*);
-GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*);
-GpStatus WINGDIPAPI GdipTransformPoints(GpGraphics*,GpCoordinateSpace,GpCoordinateSpace,GpPointF*,INT);
-GpStatus WINGDIPAPI GdipTransformPointsI(GpGraphics*,GpCoordinateSpace,GpCoordinateSpace,GpPoint*,INT);
-GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics*,ARGB*);
-HPALETTE WINGDIPAPI GdipCreateHalftonePalette(void);
-GpStatus WINGDIPAPI GdipDrawLine(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawLinesI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawArc(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawArcI(GpGraphics*,GpPen*,INT,INT,INT,INT,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawBezierI(GpGraphics*,GpPen*,INT,INT,INT,INT,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipDrawBeziers(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawBeziersI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawRectangle(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipDrawRectangles(GpGraphics*,GpPen*,GDIPCONST GpRectF*,INT);
-GpStatus WINGDIPAPI GdipDrawRectanglesI(GpGraphics*,GpPen*,GDIPCONST GpRect*,INT);
-GpStatus WINGDIPAPI GdipDrawEllipse(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawEllipseI(GpGraphics*,GpPen*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawPieI(GpGraphics*,GpPen*,INT,INT,INT,INT,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawPolygon(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawPolygonI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
-GpStatus WINGDIPAPI GdipDrawCurve(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawCurveI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
-GpStatus WINGDIPAPI GdipDrawCurve2I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,REAL);
-GpStatus WINGDIPAPI GdipDrawCurve3(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,INT,INT,REAL);
-GpStatus WINGDIPAPI GdipDrawCurve3I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,INT,INT,REAL);
-GpStatus WINGDIPAPI GdipDrawClosedCurve(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawClosedCurveI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawClosedCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
-GpStatus WINGDIPAPI GdipDrawClosedCurve2I(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT,REAL);
-GpStatus WINGDIPAPI GdipGraphicsClear(GpGraphics*,ARGB);
-GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics*,GpBrush*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics*,GpBrush*,GDIPCONST GpRectF*,INT);
-GpStatus WINGDIPAPI GdipFillRectanglesI(GpGraphics*,GpBrush*,GDIPCONST GpRect*,INT);
-GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT,GpFillMode);
-GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT,GpFillMode);
-GpStatus WINGDIPAPI GdipFillPolygon2(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipFillPolygon2I(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipFillEllipse(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipFillEllipseI(GpGraphics*,GpBrush*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipFillPieI(GpGraphics*,GpBrush*,INT,INT,INT,INT,REAL,REAL);
-GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*);
-GpStatus WINGDIPAPI GdipFillClosedCurve(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipFillClosedCurveI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipFillClosedCurve2(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,INT,REAL,GpFillMode);
-GpStatus WINGDIPAPI GdipFillClosedCurve2I(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT,REAL,GpFillMode);
-GpStatus WINGDIPAPI GdipFillRegion(GpGraphics*,GpBrush*,GpRegion*);
-GpStatus WINGDIPAPI GdipDrawImage(GpGraphics*,GpImage*,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawImageI(GpGraphics*,GpImage*,INT,INT);
-GpStatus WINGDIPAPI GdipDrawImageRect(GpGraphics*,GpImage*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipDrawImageRectI(GpGraphics*,GpImage*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipDrawImagePoints(GpGraphics*,GpImage*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipDrawImagePointsI(GpGraphics*,GpImage*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipDrawImagePointRect(GpGraphics*,GpImage*,REAL,REAL,REAL,REAL,REAL,REAL,GpUnit);
-GpStatus WINGDIPAPI GdipDrawImagePointRectI(GpGraphics*,GpImage*,INT,INT,INT,INT,INT,INT,GpUnit);
-GpStatus WINGDIPAPI GdipDrawImageRectRect(GpGraphics*,GpImage*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
-GpStatus WINGDIPAPI GdipDrawImageRectRectI(GpGraphics*,GpImage*,INT,INT,INT,INT,INT,INT,INT,INT,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
-GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*,GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
-GpStatus WINGDIPAPI GdipDrawImagePointsRectI(GpGraphics*,GpImage*,GDIPCONST GpPoint*,INT,INT,INT,INT,INT,GpUnit,GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
-GpStatus WINGDIPAPI GdipDrawImageFX(GpGraphics*,GpImage*,GpRectF*,GpMatrix*,CGpEffect*,GpImageAttributes*,GpUnit);
-#ifdef __cplusplus
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestPoint(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST PointF&,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestPointI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Point&,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestRect(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST RectF&,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestRectI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Rect&,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-#endif
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestPoints(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST PointF*,INT,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileDestPointsI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Point*,INT,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-#ifdef __cplusplus
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPoint(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST PointF&,GDIPCONST RectF&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPointI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Point&,GDIPCONST Rect&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestRect(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST RectF&,GDIPCONST RectF&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestRectI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Rect&,GDIPCONST Rect&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPoints(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST PointF*,INT,GDIPCONST RectF&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-GpStatus WINGDIPAPI GdipEnumerateMetafileSrcRectDestPointsI(GpGraphics*,GDIPCONST GpMetafile*,GDIPCONST Point*,INT,GDIPCONST Rect&,Unit,EnumerateMetafileProc,VOID*,GDIPCONST GpImageAttributes*);
-#endif
-GpStatus WINGDIPAPI GdipSetClipGraphics(GpGraphics*,GpGraphics*,CombineMode);
-GpStatus WINGDIPAPI GdipSetClipRect(GpGraphics*,REAL,REAL,REAL,REAL,CombineMode);
-GpStatus WINGDIPAPI GdipSetClipRectI(GpGraphics*,INT,INT,INT,INT,CombineMode);
-GpStatus WINGDIPAPI GdipSetClipPath(GpGraphics*,GpPath*,CombineMode);
-GpStatus WINGDIPAPI GdipSetClipRegion(GpGraphics*,GpRegion*,CombineMode);
-GpStatus WINGDIPAPI GdipSetClipHrgn(GpGraphics*,HRGN,CombineMode);
-GpStatus WINGDIPAPI GdipResetClip(GpGraphics*);
-GpStatus WINGDIPAPI GdipTranslateClip(GpGraphics*,REAL,REAL);
-GpStatus WINGDIPAPI GdipTranslateClipI(GpGraphics*,INT,INT);
-GpStatus WINGDIPAPI GdipGetClip(GpGraphics*,GpRegion*);
-GpStatus WINGDIPAPI GdipGetClipBounds(GpGraphics*,GpRectF*);
-GpStatus WINGDIPAPI GdipGetClipBoundsI(GpGraphics*,GpRect*);
-GpStatus WINGDIPAPI GdipIsClipEmpty(GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipGetVisibleClipBounds(GpGraphics*,GpRectF*);
-GpStatus WINGDIPAPI GdipGetVisibleClipBoundsI(GpGraphics*,GpRect*);
-GpStatus WINGDIPAPI GdipIsVisibleClipEmpty(GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisiblePoint(GpGraphics*,REAL,REAL,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisiblePointI(GpGraphics*,INT,INT,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisibleRect(GpGraphics*,REAL,REAL,REAL,REAL,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisibleRectI(GpGraphics*,INT,INT,INT,INT,BOOL*);
-GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*);
-GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState);
-GpStatus WINGDIPAPI GdipBeginContainer(GpGraphics*,GDIPCONST GpRectF*,GDIPCONST GpRectF*,GpUnit,GraphicsContainer*);
-GpStatus WINGDIPAPI GdipBeginContainerI(GpGraphics*,GDIPCONST GpRect*,GDIPCONST GpRect*,GpUnit,GraphicsContainer*);
-GpStatus WINGDIPAPI GdipBeginContainer2(GpGraphics*,GraphicsContainer*);
-GpStatus WINGDIPAPI GdipEndContainer(GpGraphics*,GraphicsContainer);
-GpStatus WINGDIPAPI GdipComment(GpGraphics*,UINT,GDIPCONST BYTE*);
-
-/* GraphicsPath functions */
-GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);
-GpStatus WINGDIPAPI GdipCreatePath2(GDIPCONST GpPointF*,GDIPCONST BYTE*,INT,GpFillMode,GpPath**);
-GpStatus WINGDIPAPI GdipCreatePath2I(GDIPCONST GpPoint*,GDIPCONST BYTE*,INT,GpFillMode,GpPath**);
-GpStatus WINGDIPAPI GdipClonePath(GpPath*,GpPath**);
-GpStatus WINGDIPAPI GdipDeletePath(GpPath*);
-GpStatus WINGDIPAPI GdipResetPath(GpPath*);
-GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
-GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT);
-GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT);
-GpStatus WINGDIPAPI GdipGetPathPointsI(GpPath*,GpPoint*,INT);
-GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath*,GpFillMode*);
-GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode);
-GpStatus WINGDIPAPI GdipGetPathData(GpPath*,GpPathData*);
-GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
-GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
-GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
-GpStatus WINGDIPAPI GdipSetPathMarker(GpPath*);
-GpStatus WINGDIPAPI GdipClearPathMarkers(GpPath*);
-GpStatus WINGDIPAPI GdipReversePath(GpPath*);
-GpStatus WINGDIPAPI GdipGetPathLastPoint(GpPath*,GpPointF*);
-GpStatus WINGDIPAPI GdipAddPathLine(GpPath*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathBezier(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipAddPathCurve(GpPath*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathCurve3(GpPath*,GDIPCONST GpPointF*,INT,INT,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathClosedCurve(GpPath*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipAddPathClosedCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathRectangle(GpPath*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathRectangles(GpPath*,GDIPCONST GpRectF*,INT);
-GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathPie(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathPolygon(GpPath*,GDIPCONST GpPointF*,INT);
-GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
-GpStatus WINGDIPAPI GdipAddPathString(GpPath*,GDIPCONST WCHAR*,INT,GDIPCONST GpFontFamily*,INT,REAL,GDIPCONST RectF*,GDIPCONST GpStringFormat*);
-GpStatus WINGDIPAPI GdipAddPathStringI(GpPath*,GDIPCONST WCHAR*,INT,GDIPCONST GpFontFamily*,INT,REAL,GDIPCONST Rect*,GDIPCONST GpStringFormat*);
-GpStatus WINGDIPAPI GdipAddPathLineI(GpPath*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipAddPathLine2I(GpPath*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipAddPathArcI(GpPath*,INT,INT,INT,INT,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath*,INT,INT,INT,INT,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipAddPathBeziersI(GpPath*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipAddPathCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathCurve3I(GpPath*,GDIPCONST GpPoint*,INT,INT,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathClosedCurveI(GpPath*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipAddPathClosedCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL);
-GpStatus WINGDIPAPI GdipAddPathRectangleI(GpPath*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipAddPathRectanglesI(GpPath*,GDIPCONST GpRect*,INT);
-GpStatus WINGDIPAPI GdipAddPathEllipseI(GpPath*,INT,INT,INT,INT);
-GpStatus WINGDIPAPI GdipAddPathPieI(GpPath*,INT,INT,INT,INT,REAL,REAL);
-GpStatus WINGDIPAPI GdipAddPathPolygonI(GpPath*,GDIPCONST GpPoint*,INT);
-GpStatus WINGDIPAPI GdipFlattenPath(GpPath*,GpMatrix*,REAL);
-GpStatus WINGDIPAPI GdipWindingModeOutline(GpPath*,GpMatrix*,REAL);
-GpStatus WINGDIPAPI GdipWidenPath(GpPath*,GpPen*,GpMatrix*,REAL);
-GpStatus WINGDIPAPI GdipWarpPath(GpPath*,GpMatrix*,GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,WarpMode,REAL);
-GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
-GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath*,GpRectF*,GDIPCONST GpMatrix*,GDIPCONST GpPen*);
-GpStatus WINGDIPAPI GdipGetPathWorldBoundsI(GpPath*,GpRect*,GDIPCONST GpMatrix*,GDIPCONST GpPen*);
-GpStatus WINGDIPAPI GdipIsVisiblePathPoint(GpPath*,REAL,REAL,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisiblePathPointI(GpPath*,INT,INT,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPoint(GpPath*,REAL,REAL,GpPen*,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPointI(GpPath*,INT,INT,GpPen*,GpGraphics*,BOOL*);
-
-/* HatchBrush functions */
-GpStatus WINGDIPAPI GdipCreateHatchBrush(GpHatchStyle,ARGB,ARGB,GpHatch**);
-GpStatus WINGDIPAPI GdipGetHatchStyle(GpHatch*,GpHatchStyle*);
-GpStatus WINGDIPAPI GdipGetHatchForegroundColor(GpHatch*,ARGB*);
-GpStatus WINGDIPAPI GdipGetHatchBackgroundColor(GpHatch*,ARGB*);
-
-/* Image functions */
-GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream*,GpImage**);
-GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR*,GpImage**);
-GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**);
-GpStatus WINGDIPAPI GdipLoadImageFromFileICM(GDIPCONST WCHAR*,GpImage**);
-GpStatus WINGDIPAPI GdipCloneImage(GpImage*,GpImage**);
-GpStatus WINGDIPAPI GdipDisposeImage(GpImage*);
-GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage*,GDIPCONST WCHAR*,GDIPCONST CLSID*,GDIPCONST EncoderParameters*);
-GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*,GDIPCONST CLSID*,GDIPCONST EncoderParameters*);
-GpStatus WINGDIPAPI GdipSaveAdd(GpImage*,GDIPCONST EncoderParameters*);
-GpStatus WINGDIPAPI GdipSaveAddImage(GpImage*,GpImage*,GDIPCONST EncoderParameters*);
-GpStatus WINGDIPAPI GdipGetImageGraphicsContext(GpImage*,GpGraphics**);
-GpStatus WINGDIPAPI GdipGetImageBounds(GpImage*,GpRectF*,GpUnit*);
-GpStatus WINGDIPAPI GdipGetImageDimension(GpImage*,REAL*,REAL*);
-GpStatus WINGDIPAPI GdipGetImageType(GpImage*,ImageType*);
-GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*);
-GpStatus WINGDIPAPI GdipGetImageHeight(GpImage*,UINT*);
-GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage*,REAL*);
-GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*);
-GpStatus WINGDIPAPI GdipGetImageFlags(GpImage*,UINT*);
-GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage*,GUID*);
-GpStatus WINGDIPAPI GdipGetImagePixelFormat(GpImage*,PixelFormat*);
-GpStatus WINGDIPAPI GdipGetImageThumbnail(GpImage*,UINT,UINT,GpImage**,GetThumbnailImageAbort,VOID*);
-GpStatus WINGDIPAPI GdipGetEncoderParameterListSize(GpImage*,GDIPCONST CLSID*,UINT*);
-GpStatus WINGDIPAPI GdipGetEncoderParameterList(GpImage*,GDIPCONST CLSID*,UINT,EncoderParameters*);
-GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage*,UINT*);
-GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage*,GUID*,UINT);
-GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
-GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage*,GDIPCONST GUID*,UINT);
-GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage*,RotateFlipType);
-GpStatus WINGDIPAPI GdipGetImagePalette(GpImage*,ColorPalette*,INT);
-GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*);
-GpStatus WINGDIPAPI GdipGetImagePaletteSize(GpImage*,INT*);
-GpStatus WINGDIPAPI GdipGetPropertyCount(GpImage*,UINT*);
-GpStatus WINGDIPAPI GdipGetPropertyIdList(GpImage*,UINT,PROPID*);
-GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage*,PROPID,UINT*);
-GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage*,PROPID,UINT,PropertyItem*);
-GpStatus WINGDIPAPI GdipGetPropertySize(GpImage*,UINT*,UINT*);
-GpStatus WINGDIPAPI GdipGetAllPropertyItems(GpImage*,UINT,UINT,PropertyItem*);
-GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage*,PROPID);
-GpStatus WINGDIPAPI GdipSetPropertyItem(GpImage*,GDIPCONST PropertyItem*);
-GpStatus WINGDIPAPI GdipFindFirstImageItem(GpImage*,ImageItemData*);
-GpStatus WINGDIPAPI GdipFindNextImageItem(GpImage*,ImageItemData*);
-GpStatus WINGDIPAPI GdipGetImageItemData(GpImage*,ImageItemData*);
-GpStatus WINGDIPAPI GdipImageSetAbort(GpImage*,GdiplusAbort*);
-GpStatus WINGDIPAPI GdipImageForceValidation(GpImage*);
-
-/* Image codec functions */
-GpStatus WINGDIPAPI GdipGetImageDecodersSize(UINT*,UINT*);
-GpStatus WINGDIPAPI GdipGetImageDecoders(UINT,UINT,ImageCodecInfo*);
-GpStatus WINGDIPAPI GdipGetImageEncodersSize(UINT*,UINT*);
-GpStatus WINGDIPAPI GdipGetImageEncoders(UINT,UINT,ImageCodecInfo*);
-
-/* ImageAttributes functions */
-GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**);
-GpStatus WINGDIPAPI GdipCloneImageAttributes(GDIPCONST GpImageAttributes*,GpImageAttributes**);
-GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*);
-GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes*,ColorAdjustType);
-GpStatus WINGDIPAPI GdipResetImageAttributes(GpImageAttributes*,ColorAdjustType);
-GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes*,ColorAdjustType,BOOL,GDIPCONST ColorMatrix*,GDIPCONST ColorMatrix*,ColorMatrixFlags);
-GpStatus WINGDIPAPI GdipSetImageAttributesThreshold(GpImageAttributes*,ColorAdjustType,BOOL,REAL);
-GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes*,ColorAdjustType,BOOL,REAL);
-GpStatus WINGDIPAPI GdipSetImageAttributesNoOp(GpImageAttributes*,ColorAdjustType,BOOL);
-GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes*,ColorAdjustType,BOOL,ARGB,ARGB);
-GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel(GpImageAttributes*,ColorAdjustType,BOOL,ColorChannelFlags);
-GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile(GpImageAttributes*,ColorAdjustType,BOOL,GDIPCONST WCHAR*);
-GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes*,ColorAdjustType,BOOL,UINT,GDIPCONST ColorMap*);
-GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes*,WrapMode,ARGB,BOOL);
-GpStatus WINGDIPAPI GdipSetImageAttributesICMMode(GpImageAttributes*,BOOL);
-GpStatus WINGDIPAPI GdipGetImageAttributesAdjustedPalette(GpImageAttributes*,ColorPalette*,ColorAdjustType);
-GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground(GpImageAttributes*,BOOL);
-
-/* LinearGradientBrush functions */
-GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF*,GDIPCONST GpPointF*,ARGB,ARGB,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipCreateLineBrushI(GDIPCONST GpPoint*,GDIPCONST GpPoint*,ARGB,ARGB,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF*,ARGB,ARGB,LinearGradientMode,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect*,ARGB,ARGB,LinearGradientMode,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngle(GDIPCONST GpRectF*,ARGB,ARGB,REAL,BOOL,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngleI(GDIPCONST GpRect*,ARGB,ARGB,REAL,BOOL,GpWrapMode,GpLineGradient**);
-GpStatus WINGDIPAPI GdipSetLineColors(GpLineGradient*,ARGB,ARGB);
-GpStatus WINGDIPAPI GdipGetLineColors(GpLineGradient*,ARGB*);
-GpStatus WINGDIPAPI GdipGetLineRect(GpLineGradient*,GpRectF*);
-GpStatus WINGDIPAPI GdipGetLineRectI(GpLineGradient*,GpRect*);
-GpStatus WINGDIPAPI GdipSetLineGammaCorrection(GpLineGradient*,BOOL);
-GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient*,BOOL*);
-GpStatus WINGDIPAPI GdipGetLineBlendCount(GpLineGradient*,INT*);
-GpStatus WINGDIPAPI GdipGetLineBlend(GpLineGradient*,REAL*,REAL*,INT);
-GpStatus WINGDIPAPI GdipSetLineBlend(GpLineGradient*,GDIPCONST REAL*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipGetLinePresetBlendCount(GpLineGradient*,INT*);
-GpStatus WINGDIPAPI GdipGetLinePresetBlend(GpLineGradient*,ARGB*,REAL*,INT);
-GpStatus WINGDIPAPI GdipSetLinePresetBlend(GpLineGradient*,GDIPCONST ARGB*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipSetLineSigmaBlend(GpLineGradient*,REAL,REAL);
-GpStatus WINGDIPAPI GdipSetLineLinearBlend(GpLineGradient*,REAL,REAL);
-GpStatus WINGDIPAPI GdipSetLineWrapMode(GpLineGradient*,GpWrapMode);
-GpStatus WINGDIPAPI GdipGetLineWrapMode(GpLineGradient*,GpWrapMode*);
-GpStatus WINGDIPAPI GdipGetLineTransform(GpLineGradient*,GpMatrix*);
-GpStatus WINGDIPAPI GdipSetLineTransform(GpLineGradient*,GDIPCONST GpMatrix*);
-GpStatus WINGDIPAPI GdipResetLineTransform(GpLineGradient*);
-GpStatus WINGDIPAPI GdipMultiplyLineTransform(GpLineGradient*,GDIPCONST GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslateLineTransform(GpLineGradient*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScaleLineTransform(GpLineGradient*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotateLineTransform(GpLineGradient*,REAL,GpMatrixOrder);
-
-/* Matrix functions */
-GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**);
-GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
-GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF*,GDIPCONST GpPointF*,GpMatrix**);
-GpStatus WINGDIPAPI GdipCreateMatrix3I(GDIPCONST GpRect*,GDIPCONST GpPoint*,GpMatrix**);
-GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**);
-GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
-GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix*,REAL,REAL,REAL,REAL,REAL,REAL);
-GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipShearMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipInvertMatrix(GpMatrix*);
-GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
-GpStatus WINGDIPAPI GdipTransformMatrixPointsI(GpMatrix*,GpPoint*,INT);
-GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
-GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix*,GpPoint*,INT);
-GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*);
-GpStatus WINGDIPAPI GdipIsMatrixInvertible(GDIPCONST GpMatrix*,BOOL*);
-GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix*,BOOL*);
-GpStatus WINGDIPAPI GdipIsMatrixEqual(GDIPCONST GpMatrix*,GDIPCONST GpMatrix*,BOOL*);
-
-/* Metafile functions */
-GpStatus WINGDIPAPI GdipGetMetafileHeaderFromEmf(HENHMETAFILE,MetafileHeader*);
-GpStatus WINGDIPAPI GdipGetMetafileHeaderFromFile(GDIPCONST WCHAR*,MetafileHeader*);
-GpStatus WINGDIPAPI GdipGetMetafileHeaderFromStream(IStream*,MetafileHeader*);
-GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*);
-GpStatus WINGDIPAPI GdipGetHemfFromMetafile(GpMetafile*,HENHMETAFILE*);
-GpStatus WINGDIPAPI GdipCreateStreamOnFile(GDIPCONST WCHAR*,UINT,IStream**);
-GpStatus WINGDIPAPI GdipCreateMetafileFromWmf(HMETAFILE,BOOL,GDIPCONST WmfPlaceableFileHeader*,GpMetafile**);
-GpStatus WINGDIPAPI GdipCreateMetafileFromEmf(HENHMETAFILE,BOOL,GpMetafile**);
-GpStatus WINGDIPAPI GdipCreateMetafileFromFile(GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipCreateMetafileFromWmfFile(GDIPCONST WCHAR*,GDIPCONST WmfPlaceableFileHeader*,GpMetafile**);
-GpStatus WINGDIPAPI GdipCreateMetafileFromStream(IStream*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafile(HDC,EmfType,GDIPCONST GpRectF*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafileI(HDC,EmfType,GDIPCONST GpRect*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafileFileName(GDIPCONST WCHAR*,HDC,EmfType,GDIPCONST GpRectF*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafileFileNameI(GDIPCONST WCHAR*,HDC,EmfType,GDIPCONST GpRect*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafileStream(IStream*,HDC,EmfType,GDIPCONST GpRectF*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipRecordMetafileStreamI(IStream*,HDC,EmfType,GDIPCONST GpRect*,MetafileFrameUnit,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipPlayMetafileRecord(GDIPCONST GpMetafile*,EmfPlusRecordType,UINT,UINT,GDIPCONST BYTE*);
-GpStatus WINGDIPAPI GdipSetMetafileDownLevelRasterizationLimit(GpMetafile*,UINT);
-GpStatus WINGDIPAPI GdipGetMetafileDownLevelRasterizationLimit(GDIPCONST GpMetafile*,UINT*);
-GpStatus WINGDIPAPI GdipConvertToEmfPlus(GDIPCONST GpGraphics*,GpMetafile*,BOOL*,EmfType,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipConvertToEmfPlusToFile(GDIPCONST GpGraphics*,GpMetafile*,BOOL*,GDIPCONST WCHAR*,EmfType,GDIPCONST WCHAR*,GpMetafile**);
-GpStatus WINGDIPAPI GdipConvertToEmfPlusToStream(GDIPCONST GpGraphics*,GpMetafile*,BOOL*,IStream*,EmfType,GDIPCONST WCHAR*,GpMetafile**);
-UINT WINGDIPAPI GdipEmfToWmfBits(HENHMETAFILE,UINT,LPBYTE,INT,INT);
-
-/* PathGradientBrush functions */
-GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF*,INT,GpWrapMode,GpPathGradient**);
-GpStatus WINGDIPAPI GdipCreatePathGradientI(GDIPCONST GpPoint*,INT,GpWrapMode,GpPathGradient**);
-GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath*,GpPathGradient**);
-GpStatus WINGDIPAPI GdipGetPathGradientCenterColor(GpPathGradient*,ARGB*);
-GpStatus WINGDIPAPI GdipSetPathGradientCenterColor(GpPathGradient*,ARGB);
-GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorsWithCount(GpPathGradient*,ARGB*,INT*);
-GpStatus WINGDIPAPI GdipSetPathGradientSurroundColorsWithCount(GpPathGradient*,GDIPCONST ARGB*,INT*);
-GpStatus WINGDIPAPI GdipGetPathGradientPath(GpPathGradient*,GpPath*);
-GpStatus WINGDIPAPI GdipSetPathGradientPath(GpPathGradient*,GDIPCONST GpPath*);
-GpStatus WINGDIPAPI GdipGetPathGradientCenterPoint(GpPathGradient*,GpPointF*);
-GpStatus WINGDIPAPI GdipGetPathGradientCenterPointI(GpPathGradient*,GpPoint*);
-GpStatus WINGDIPAPI GdipSetPathGradientCenterPoint(GpPathGradient*,GDIPCONST GpPointF*);
-GpStatus WINGDIPAPI GdipSetPathGradientCenterPointI(GpPathGradient*,GDIPCONST GpPoint*);
-GpStatus WINGDIPAPI GdipGetPathGradientRect(GpPathGradient*,GpRectF*);
-GpStatus WINGDIPAPI GdipGetPathGradientRectI(GpPathGradient*,GpRect*);
-GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient*,INT*);
-GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorCount(GpPathGradient*,INT*);
-GpStatus WINGDIPAPI GdipSetPathGradientGammaCorrection(GpPathGradient*,BOOL);
-GpStatus WINGDIPAPI GdipGetPathGradientGammaCorrection(GpPathGradient*,BOOL*);
-GpStatus WINGDIPAPI GdipGetPathGradientBlendCount(GpPathGradient*,INT*);
-GpStatus WINGDIPAPI GdipGetPathGradientBlend(GpPathGradient*,REAL*,REAL*,INT);
-GpStatus WINGDIPAPI GdipSetPathGradientBlend(GpPathGradient*,GDIPCONST REAL*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipGetPathGradientPresetBlendCount(GpPathGradient*,INT*);
-GpStatus WINGDIPAPI GdipGetPathGradientPresetBlend(GpPathGradient*,ARGB*,REAL*,INT);
-GpStatus WINGDIPAPI GdipSetPathGradientPresetBlend(GpPathGradient*,GDIPCONST ARGB*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipSetPathGradientSigmaBlend(GpPathGradient*,REAL,REAL);
-GpStatus WINGDIPAPI GdipSetPathGradientLinearBlend(GpPathGradient*,REAL,REAL);
-GpStatus WINGDIPAPI GdipGetPathGradientWrapMode(GpPathGradient*,GpWrapMode*);
-GpStatus WINGDIPAPI GdipSetPathGradientWrapMode(GpPathGradient*,GpWrapMode);
-GpStatus WINGDIPAPI GdipGetPathGradientTransform(GpPathGradient*,GpMatrix*);
-GpStatus WINGDIPAPI GdipSetPathGradientTransform(GpPathGradient*,GpMatrix*);
-GpStatus WINGDIPAPI GdipResetPathGradientTransform(GpPathGradient*);
-GpStatus WINGDIPAPI GdipMultiplyPathGradientTransform(GpPathGradient*,GDIPCONST GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslatePathGradientTransform(GpPathGradient*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScalePathGradientTransform(GpPathGradient*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotatePathGradientTransform(GpPathGradient*,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient*,REAL*,REAL*);
-GpStatus WINGDIPAPI GdipSetPathGradientFocusScales(GpPathGradient*,REAL,REAL);
-
-/* PathIterator functions */
-GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
-GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*);
-GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
-GpStatus WINGDIPAPI GdipPathIterNextSubpathPath(GpPathIterator*,INT*,GpPath*,BOOL*);
-GpStatus WINGDIPAPI GdipPathIterNextPathType(GpPathIterator*,INT*,BYTE*,INT*,INT*);
-GpStatus WINGDIPAPI GdipPathIterNextMarker(GpPathIterator*,INT*,INT*,INT*);
-GpStatus WINGDIPAPI GdipPathIterNextMarkerPath(GpPathIterator*,INT*,GpPath*);
-GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator*,INT*);
-GpStatus WINGDIPAPI GdipPathIterGetSubpathCount(GpPathIterator*,INT*);
-GpStatus WINGDIPAPI GdipPathIterIsValid(GpPathIterator*,BOOL*);
-GpStatus WINGDIPAPI GdipPathIterHasCurve(GpPathIterator*,BOOL*);
-GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*);
-GpStatus WINGDIPAPI GdipPathIterEnumerate(GpPathIterator*,INT*,GpPointF*,BYTE*,INT);
-GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,INT,INT);
-
-/* Pen functions */
-GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**);
-GpStatus WINGDIPAPI GdipCreatePen2(GpBrush*,REAL,GpUnit,GpPen**);
-GpStatus WINGDIPAPI GdipClonePen(GpPen*,GpPen**);
-GpStatus WINGDIPAPI GdipDeletePen(GpPen*);
-GpStatus WINGDIPAPI GdipSetPenWidth(GpPen*,REAL);
-GpStatus WINGDIPAPI GdipGetPenWidth(GpPen*,REAL*);
-GpStatus WINGDIPAPI GdipSetPenUnit(GpPen*,GpUnit);
-GpStatus WINGDIPAPI GdipGetPenUnit(GpPen*,GpUnit*);
-GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen*,GpLineCap,GpLineCap,GpDashCap);
-GpStatus WINGDIPAPI GdipSetPenStartCap(GpPen*,GpLineCap);
-GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen*,GpLineCap);
-GpStatus WINGDIPAPI GdipSetPenDashCap197819(GpPen*,GpDashCap);
-GpStatus WINGDIPAPI GdipGetPenStartCap(GpPen*,GpLineCap*);
-GpStatus WINGDIPAPI GdipGetPenEndCap(GpPen*,GpLineCap*);
-GpStatus WINGDIPAPI GdipGetPenDashCap197819(GpPen*,GpDashCap*);
-GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen*,GpLineJoin);
-GpStatus WINGDIPAPI GdipGetPenLineJoin(GpPen*,GpLineJoin*);
-GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen*,GpCustomLineCap*);
-GpStatus WINGDIPAPI GdipGetPenCustomStartCap(GpPen*,GpCustomLineCap**);
-GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen*,GpCustomLineCap*);
-GpStatus WINGDIPAPI GdipGetPenCustomEndCap(GpPen*,GpCustomLineCap**);
-GpStatus WINGDIPAPI GdipSetPenMiterLimit(GpPen*,REAL);
-GpStatus WINGDIPAPI GdipGetPenMiterLimit(GpPen*,REAL*);
-GpStatus WINGDIPAPI GdipSetPenMode(GpPen*,GpPenAlignment);
-GpStatus WINGDIPAPI GdipGetPenMode(GpPen*,GpPenAlignment*);
-GpStatus WINGDIPAPI GdipSetPenTransform(GpPen*,GpMatrix*);
-GpStatus WINGDIPAPI GdipGetPenTransform(GpPen*,GpMatrix*);
-GpStatus WINGDIPAPI GdipResetPenTransform(GpPen*);
-GpStatus WINGDIPAPI GdipMultiplyPenTransform(GpPen*,GDIPCONST GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslatePenTransform(GpPen*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScalePenTransform(GpPen*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotatePenTransform(GpPen*,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipSetPenColor(GpPen*,ARGB);
-GpStatus WINGDIPAPI GdipGetPenColor(GpPen*,ARGB*);
-GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*);
-GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen*,GpBrush**);
-GpStatus WINGDIPAPI GdipGetPenFillType(GpPen*,GpPenType*);
-GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen*,GpDashStyle*);
-GpStatus WINGDIPAPI GdipSetPenDashStyle(GpPen*,GpDashStyle);
-GpStatus WINGDIPAPI GdipGetPenDashOffset(GpPen*,REAL*);
-GpStatus WINGDIPAPI GdipSetPenDashOffset(GpPen*,REAL);
-GpStatus WINGDIPAPI GdipGetPenDashCount(GpPen*,INT*);
-GpStatus WINGDIPAPI GdipSetPenDashArray(GpPen*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipGetPenDashArray(GpPen*,REAL*,INT);
-GpStatus WINGDIPAPI GdipGetPenCompoundCount(GpPen*,INT*);
-GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen*,GDIPCONST REAL*,INT);
-GpStatus WINGDIPAPI GdipGetPenCompoundArray(GpPen*,REAL*,INT);
-
-/* Region functions */
-GpStatus WINGDIPAPI GdipCreateRegion(GpRegion**);
-GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF*,GpRegion**);
-GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect*,GpRegion**);
-GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath*,GpRegion**);
-GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE*,INT,GpRegion**);
-GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN,GpRegion**);
-GpStatus WINGDIPAPI GdipCloneRegion(GpRegion*,GpRegion**);
-GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion*);
-GpStatus WINGDIPAPI GdipSetInfinite(GpRegion*);
-GpStatus WINGDIPAPI GdipSetEmpty(GpRegion*);
-GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion*,GDIPCONST GpRectF*,CombineMode);
-GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion*,GDIPCONST GpRect*,CombineMode);
-GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion*,GpPath*,CombineMode);
-GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion*,GpRegion*,CombineMode);
-GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion*,REAL,REAL);
-GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion*,INT,INT);
-GpStatus WINGDIPAPI GdipTransformRegion(GpRegion*,GpMatrix*);
-GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion*,GpGraphics*,GpRectF*);
-GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion*,GpGraphics*,GpRect*);
-GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion*,GpGraphics*,HRGN*);
-GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion*,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion*,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion*,GpRegion*,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion*,UINT*);
-GpStatus WINGDIPAPI GdipGetRegionData(GpRegion*,BYTE*,UINT,UINT*);
-GpStatus WINGDIPAPI GdipIsVisibleRegionPoint(GpRegion*,REAL,REAL,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisibleRegionPointI(GpRegion*,INT,INT,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisibleRegionRect(GpRegion*,REAL,REAL,REAL,REAL,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipIsVisibleRegionRectI(GpRegion*,INT,INT,INT,INT,GpGraphics*,BOOL*);
-GpStatus WINGDIPAPI GdipGetRegionScansCount(GpRegion*,UINT*,GpMatrix*);
-GpStatus WINGDIPAPI GdipGetRegionScans(GpRegion*,GpRectF*,INT*,GpMatrix*);
-GpStatus WINGDIPAPI GdipGetRegionScansI(GpRegion*,GpRect*,INT*,GpMatrix*);
-
-/* SolidBrush functions */
-GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
-GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB);
-GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*);
-
-/* StringFormat functions */
-GpStatus WINGDIPAPI GdipCreateStringFormat(INT,LANGID,GpStringFormat**);
-GpStatus WINGDIPAPI GdipStringFormatGetGenericDefault(GpStringFormat**);
-GpStatus WINGDIPAPI GdipStringFormatGetGenericTypographic(GpStringFormat**);
-GpStatus WINGDIPAPI GdipDeleteStringFormat(GpStringFormat*);
-GpStatus WINGDIPAPI GdipCloneStringFormat(GDIPCONST GpStringFormat*,GpStringFormat**);
-GpStatus WINGDIPAPI GdipSetStringFormatFlags(GpStringFormat*,INT);
-GpStatus WINGDIPAPI GdipGetStringFormatFlags(GDIPCONST GpStringFormat*,INT*);
-GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat*,StringAlignment);
-GpStatus WINGDIPAPI GdipGetStringFormatAlign(GDIPCONST GpStringFormat*,StringAlignment*);
-GpStatus WINGDIPAPI GdipSetStringFormatLineAlign(GpStringFormat*,StringAlignment);
-GpStatus WINGDIPAPI GdipGetStringFormatLineAlign(GDIPCONST GpStringFormat*,StringAlignment*);
-GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat*,StringTrimming);
-GpStatus WINGDIPAPI GdipGetStringFormatTrimming(GDIPCONST GpStringFormat*,StringTrimming*);
-GpStatus WINGDIPAPI GdipSetStringFormatHotkeyPrefix(GpStringFormat*,INT);
-GpStatus WINGDIPAPI GdipGetStringFormatHotkeyPrefix(GDIPCONST GpStringFormat*,INT*);
-GpStatus WINGDIPAPI GdipSetStringFormatTabStops(GpStringFormat*,REAL,INT,GDIPCONST REAL*);
-GpStatus WINGDIPAPI GdipGetStringFormatTabStops(GDIPCONST GpStringFormat*,INT,REAL*,REAL*);
-GpStatus WINGDIPAPI GdipGetStringFormatTabStopCount(GDIPCONST GpStringFormat*,INT*);
-GpStatus WINGDIPAPI GdipSetStringFormatDigitSubstitution(GpStringFormat*,LANGID,StringDigitSubstitute);
-GpStatus WINGDIPAPI GdipGetStringFormatDigitSubstitution(GDIPCONST GpStringFormat*,LANGID*,StringDigitSubstitute*);
-GpStatus WINGDIPAPI GdipGetStringFormatMeasurableCharacterRangeCount(GDIPCONST GpStringFormat*,INT*);
-GpStatus WINGDIPAPI GdipSetStringFormatMeasurableCharacterRanges(GpStringFormat*,INT,GDIPCONST CharacterRange*);
-
-/* Text functions */
-GpStatus WINGDIPAPI GdipDrawString(GpGraphics*,GDIPCONST WCHAR*,INT,GDIPCONST GpFont*,GDIPCONST RectF*,GDIPCONST GpStringFormat*,GDIPCONST GpBrush*);
-GpStatus WINGDIPAPI GdipMeasureString(GpGraphics*,GDIPCONST WCHAR*,INT,GDIPCONST GpFont*,GDIPCONST RectF*,GDIPCONST GpStringFormat*,RectF*,INT*,INT*);
-#ifdef __cplusplus
-GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics*,GDIPCONST WCHAR*,INT,GDIPCONST GpFont*,GDIPCONST RectF&,GDIPCONST GpStringFormat*,INT,GpRegion**);
-#endif
-GpStatus WINGDIPAPI GdipDrawDriverString(GpGraphics*,GDIPCONST UINT16*,INT,GDIPCONST GpFont*,GDIPCONST GpBrush*,GDIPCONST PointF*,INT,GDIPCONST GpMatrix*);
-GpStatus WINGDIPAPI GdipMeasureDriverString(GpGraphics*,GDIPCONST UINT16*,INT,GDIPCONST GpFont*,GDIPCONST PointF*,INT,GDIPCONST GpMatrix*,RectF*);
-
-/* TextureBrush functions */
-GpStatus WINGDIPAPI GdipCreateTexture(GpImage*,GpWrapMode,GpTexture**);
-GpStatus WINGDIPAPI GdipCreateTexture2(GpImage*,GpWrapMode,REAL,REAL,REAL,REAL,GpTexture**);
-GpStatus WINGDIPAPI GdipCreateTexture2I(GpImage*,GpWrapMode,INT,INT,INT,INT,GpTexture**);
-GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage*,GDIPCONST GpImageAttributes*,REAL,REAL,REAL,REAL,GpTexture**);
-GpStatus WINGDIPAPI GdipCreateTextureIAI(GpImage*,GDIPCONST GpImageAttributes*,INT,INT,INT,INT,GpTexture**);
-GpStatus WINGDIPAPI GdipGetTextureTransform(GpTexture*,GpMatrix*);
-GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture*,GDIPCONST GpMatrix*);
-GpStatus WINGDIPAPI GdipResetTextureTransform(GpTexture*);
-GpStatus WINGDIPAPI GdipMultiplyTextureTransform(GpTexture*,GDIPCONST GpMatrix*,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipTranslateTextureTransform(GpTexture*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipScaleTextureTransform(GpTexture*,REAL,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipRotateTextureTransform(GpTexture*,REAL,GpMatrixOrder);
-GpStatus WINGDIPAPI GdipSetTextureWrapMode(GpTexture*,GpWrapMode);
-GpStatus WINGDIPAPI GdipGetTextureWrapMode(GpTexture*,GpWrapMode*);
-GpStatus WINGDIPAPI GdipGetTextureImage(GpTexture*,GpImage**);
-
-/* uncategorized functions */
-GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum,void*);
-
-#ifdef __cplusplus
-}  /* extern "C" */
-}  /* namespace DllExports */
-#endif
-
-#endif /* __GDIPLUS_FLAT_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusgpstubs.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusgpstubs.h	(revision 1046)
+++ 	(revision )
@@ -1,139 +1,0 @@
-/*
- * gdiplusgpstubs.h
- *
- * GDI+ Gp* type declarations
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_GPSTUBS_H
-#define __GDIPLUS_GPSTUBS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef Point GpPoint;
-typedef PointF GpPointF;
-typedef Rect GpRect;
-typedef RectF GpRectF;
-typedef Size GpSize;
-typedef SizeF GpSizeF;
-
-typedef enum BrushType GpBrushType;
-typedef enum CombineMode GpCombineMode;
-typedef enum CompositingMode GpCompositingMode;
-typedef enum CompositingQuality GpCompositingQuality;
-typedef enum CoordinateSpace GpCoordinateSpace;
-typedef enum CustomLineCapType GpCustomLineCapType;
-typedef enum DashCap GpDashCap;
-typedef enum DashStyle GpDashStyle;
-typedef enum DitherType GpDitherType;
-typedef enum DriverStringOptions GpDriverStringOptions;
-typedef enum EmfPlusRecordType GpEmfPlusRecordType;
-typedef enum EmfToWmfBitsFlags GpEmfToWmfBitsFlags;
-typedef enum EmfType GpEmfType;
-typedef enum EncoderParameterValueType GpEncoderParameterValueType;
-typedef enum EncoderValue GpEncoderValue;
-typedef enum FillMode GpFillMode;
-typedef enum FlushIntention GpFlushIntention;
-typedef enum FontStyle GpFontStyle;
-typedef enum HatchStyle GpHatchStyle;
-typedef enum HotkeyPrefix GpHotkeyPrefix;
-typedef enum ImageType GpImageType;
-typedef enum InterpolationMode GpInterpolationMode;
-typedef enum LinearGradientMode GpLinearGradientMode;
-typedef enum LineCap GpLineCap;
-typedef enum LineJoin GpLineJoin;
-typedef enum MatrixOrder GpMatrixOrder;
-typedef enum MetafileFrameUnit GpMetafileFrameUnit;
-typedef enum MetafileType GpMetafileType;
-typedef enum ObjectType GpObjectType;
-typedef enum PathPointType GpPathPointType;
-typedef enum PenAlignment GpPenAlignment;
-typedef enum PenType GpPenType;
-typedef enum PixelOffsetMode GpPixelOffsetMode;
-typedef enum QualityMode GpQualityMode;
-typedef enum SmoothingMode GpSmoothingMode;
-typedef enum StringAlignment GpStringAlignment;
-typedef enum StringDigitSubstitute GpStringDigitSubstitute;
-typedef enum StringFormatFlags GpStringFormatFlags;
-typedef enum StringTrimming GpStringTrimming;
-typedef enum TextRenderingHint GpTextRenderingHint;
-typedef enum Unit GpUnit;
-typedef enum WarpMode GpWarpMode;
-typedef enum WrapMode GpWrapMode;
-
-#ifdef __cplusplus
-
-class CGpEffect {}; 
-class GpCustomLineCap {};
-class GpImage {};
-
-class GpAdjustableArrowCap: public GpCustomLineCap {};
-class GpBitmap: public GpImage {};
-class GpBrush {};
-class GpCachedBitmap {};
-class GpFont {};
-class GpFontCollection {};
-class GpFontFamily {};
-class GpGraphics {};
-class GpHatch: public GpBrush {};         /* HatchBrush */
-class GpImageAttributes {};
-class GpLineGradient: public GpBrush {};  /* LinearGradientBrush */
-class GpMatrix {};
-class GpMetafile: public GpImage {};
-class GpPath {};                          /* GraphicsPath */
-class GpPathData {};
-class GpPathGradient: public GpBrush {};  /* PathGradientBrush */
-class GpPathIterator {};                  /* GraphicsPathIterator */
-class GpPen {};
-class GpRegion {};
-class GpSolidFill: public GpBrush {};     /* SolidBrush */
-class GpStringFormat {};
-class GpTexture: public GpBrush {};       /* TextureBrush */
-
-#else /* !__cplusplus */
-
-typedef void CGpEffect;
-typedef void GpAdjustableArrowCap;
-typedef void GpBitmap;
-typedef void GpBrush;
-typedef void GpCachedBitmap;
-typedef void GpCustomLineCap;
-typedef void GpFont;
-typedef void GpFontFamily;
-typedef void GpFontCollection;
-typedef void GpGraphics;
-typedef void GpHatch;
-typedef void GpImage;
-typedef void GpImageAttributes;
-typedef void GpLineGradient;
-typedef void GpMatrix;
-typedef void GpMetafile;
-typedef void GpPath;
-typedef void GpPathData;
-typedef void GpPathGradient;
-typedef void GpPathIterator;
-typedef void GpPen;
-typedef void GpRegion;
-typedef void GpSolidFill;
-typedef void GpStringFormat;
-typedef void GpTexture;
-
-#endif /* !__cplusplus */
-
-#endif /* __GDIPLUS_GPSTUBS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusgraphics.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusgraphics.h	(revision 1046)
+++ 	(revision )
@@ -1,1540 +1,0 @@
-/*
- * gdiplusgraphics.h
- *
- * GDI+ Graphics class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_GRAPHICS_H
-#define __GDIPLUS_GRAPHICS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusgraphics.h."
-#endif
-
-class Graphics: public GdiplusBase
-{
-	friend class Bitmap;
-	friend class CachedBitmap;
-	friend class Font;
-	friend class GraphicsPath;
-	friend class Metafile;
-	friend class Region;
-
-public:
-	static Graphics* FromHDC(HDC hdc)
-	{
-		return new Graphics(hdc);
-	}
-	static Graphics* FromHDC(HDC hdc, HANDLE hdevice)
-	{
-		return new Graphics(hdc, hdevice);
-	}
-	static Graphics* FromHWND(HWND hwnd, BOOL icm = FALSE)
-	{
-		return new Graphics(hwnd, icm);
-	}
-	static Graphics* FromImage(Image *image)
-	{
-		return new Graphics(image);
-	}
-	static HPALETTE GetHalftonePalette()
-	{
-		return DllExports::GdipCreateHalftonePalette();
-	}
-
-	Graphics(Image *image): nativeGraphics(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipGetImageGraphicsContext(
-				image ? image->nativeImage : NULL,
-				&nativeGraphics);
-	}
-	Graphics(HDC hdc): nativeGraphics(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateFromHDC(
-				hdc, &nativeGraphics);
-	}
-	Graphics(HDC hdc, HANDLE hdevice): nativeGraphics(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateFromHDC2(
-				hdc, hdevice, &nativeGraphics);
-	}
-	Graphics(HWND hwnd, BOOL icm = FALSE):
-		nativeGraphics(NULL), lastStatus(Ok)
-	{
-		if (icm) {
-			lastStatus = DllExports::GdipCreateFromHWNDICM(
-					hwnd, &nativeGraphics);
-		} else {
-			lastStatus = DllExports::GdipCreateFromHWND(
-					hwnd, &nativeGraphics);
-		}
-	}
-	~Graphics()
-	{
-		DllExports::GdipDeleteGraphics(nativeGraphics);
-	}
-
-	Status AddMetafileComment(const BYTE *data, UINT sizeData)
-	{
-		return updateStatus(DllExports::GdipComment(
-				nativeGraphics, sizeData, data));
-	}
-	GraphicsContainer BeginContainer()
-	{
-		GraphicsContainer result = 0;
-		updateStatus(DllExports::GdipBeginContainer2(
-				nativeGraphics, &result));
-		return result;
-	}
-	GraphicsContainer BeginContainer(const RectF& dstrect,
-			const RectF& srcrect, Unit unit)
-	{
-		GraphicsContainer result = 0;
-		updateStatus(DllExports::GdipBeginContainer(
-				nativeGraphics, &dstrect, &srcrect, unit,
-				&result));
-		return result;
-	}
-	GraphicsContainer BeginContainer(const Rect& dstrect,
-			const Rect& srcrect, Unit unit)
-	{
-		GraphicsContainer result = 0;
-		updateStatus(DllExports::GdipBeginContainerI(
-				nativeGraphics, &dstrect, &srcrect, unit,
-				&result));
-		return result;
-	}
-	Status Clear(const Color& color)
-	{
-		return updateStatus(DllExports::GdipGraphicsClear(
-				nativeGraphics, color.GetValue()));
-	}
-	Status DrawArc(const Pen *pen, REAL x, REAL y, REAL width, REAL height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawArc(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status DrawArc(const Pen *pen, INT x, INT y, INT width, INT height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawArcI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status DrawArc(const Pen *pen, const RectF& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawArc(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status DrawArc(const Pen *pen, const Rect& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawArcI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status DrawBezier(const Pen *pen,
-			REAL x1, REAL y1, REAL x2, REAL y2,
-			REAL x3, REAL y3, REAL x4, REAL y4)
-	{
-		return updateStatus(DllExports::GdipDrawBezier(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x1, y1, x2, y2, x3, y3, x4, y4));
-	}
-	Status DrawBezier(const Pen *pen,
-			INT x1, INT y1, INT x2, INT y2,
-			INT x3, INT y3, INT x4, INT y4)
-	{
-		return updateStatus(DllExports::GdipDrawBezierI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x1, y1, x2, y2, x3, y3, x4, y4));
-	}
-	Status DrawBezier(const Pen *pen,
-			const PointF& pt1, const PointF& pt2,
-			const PointF& pt3, const PointF& pt4)
-	{
-		return updateStatus(DllExports::GdipDrawBezier(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				pt1.X, pt1.Y, pt2.X, pt2.Y,
-				pt3.X, pt3.Y, pt4.X, pt4.Y));
-	}
-	Status DrawBezier(const Pen *pen,
-			const Point& pt1, const Point& pt2,
-			const Point& pt3, const Point& pt4)
-	{
-		return updateStatus(DllExports::GdipDrawBezierI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				pt1.X, pt1.Y, pt2.X, pt2.Y,
-				pt3.X, pt3.Y, pt4.X, pt4.Y));
-	}
-	Status DrawBeziers(const Pen *pen, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawBeziers(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawBeziers(const Pen *pen, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawBeziersI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawCachedBitmap(CachedBitmap *cb, INT x, INT y)
-	{
-		return updateStatus(DllExports::GdipDrawCachedBitmap(
-				nativeGraphics,
-				cb ? cb->nativeCachedBitmap : NULL,
-				x, y));
-	}
-	Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawClosedCurve(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawClosedCurve(const Pen *pen, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawClosedCurveI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count,
-			REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawClosedCurve2(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, tension));
-	}
-	Status DrawClosedCurve(const Pen *pen, const Point *points, INT count,
-			REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawClosedCurve2I(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, tension));
-	}
-	Status DrawCurve(const Pen *pen, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawCurve(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawCurve(const Pen *pen, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawCurveI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawCurve(const Pen *pen, const PointF *points, INT count,
-			REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawCurve2(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, tension));
-	}
-	Status DrawCurve(const Pen *pen, const Point *points, INT count,
-			REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawCurve2I(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, tension));
-	}
-	Status DrawCurve(const Pen *pen, const PointF *points, INT count,
-			INT offset, INT numberOfSegments, REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawCurve3(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, offset,
-				numberOfSegments, tension));
-	}
-	Status DrawCurve(const Pen *pen, const Point *points, INT count,
-			INT offset, INT numberOfSegments, REAL tension)
-	{
-		return updateStatus(DllExports::GdipDrawCurve3I(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count, offset,
-				numberOfSegments, tension));
-	}
-	Status DrawDriverString(const UINT16 *text, INT length,
-			const Font *font, const Brush *brush,
-			const PointF *positions, INT flags,
-			const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipDrawDriverString(
-				nativeGraphics, text, length,
-				font ? font->nativeFont : NULL,
-				brush ? brush->nativeBrush : NULL,
-				positions, flags,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status DrawEllipse(const Pen *pen,
-			REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipDrawEllipse(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height));
-	}
-	Status DrawEllipse(const Pen *pen, INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipDrawEllipseI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height));
-	}
-	Status DrawEllipse(const Pen *pen, const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipDrawEllipse(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawEllipse(const Pen *pen, const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipDrawEllipseI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawImage(Image *image, REAL x, REAL y)
-	{
-		return updateStatus(DllExports::GdipDrawImage(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y));
-	}
-	Status DrawImage(Image *image, INT x, INT y)
-	{
-		return updateStatus(DllExports::GdipDrawImageI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y));
-	}
-	Status DrawImage(Image *image, const PointF& point)
-	{
-		return updateStatus(DllExports::GdipDrawImage(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				point.X, point.Y));
-	}
-	Status DrawImage(Image *image, const Point& point)
-	{
-		return updateStatus(DllExports::GdipDrawImageI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				point.X, point.Y));
-	}
-	Status DrawImage(Image *image, REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipDrawImageRect(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y, width, height));
-	}
-	Status DrawImage(Image *image, INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipDrawImageRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y, width, height));
-	}
-	Status DrawImage(Image *image, const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipDrawImageRect(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawImage(Image *image, const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipDrawImageRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawImage(Image *image, const PointF *destPoints, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawImagePoints(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destPoints, count));
-	}
-	Status DrawImage(Image *image, const Point *destPoints, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawImagePointsI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destPoints, count));
-	}
-	Status DrawImage(Image *image, REAL x, REAL y, REAL srcx, REAL srcy,
-			REAL srcwidth, REAL srcheight, Unit srcUnit)
-	{
-		return updateStatus(DllExports::GdipDrawImagePointRect(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y, srcx, srcy, srcwidth, srcheight,
-				srcUnit));
-	}
-	Status DrawImage(Image *image, INT x, INT y, INT srcx, INT srcy,
-			INT srcwidth, INT srcheight, Unit srcUnit)
-	{
-		return updateStatus(DllExports::GdipDrawImagePointRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				x, y, srcx, srcy, srcwidth, srcheight,
-				srcUnit));
-	}
-	Status DrawImage(Image *image, const RectF& destRect,
-			REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
-			Unit srcUnit,
-			const ImageAttributes *imageAttributes = NULL,
-			DrawImageAbort callback = NULL,
-			VOID *callbackData = NULL)
-	{
-		return updateStatus(DllExports::GdipDrawImageRectRect(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destRect.X, destRect.Y,
-				destRect.Width, destRect.Height,
-				srcx, srcy, srcwidth, srcheight, srcUnit,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				callback, callbackData));
-	}
-	Status DrawImage(Image *image, const Rect& destRect,
-			INT srcx, INT srcy, INT srcwidth, INT srcheight,
-			Unit srcUnit,
-			const ImageAttributes *imageAttributes = NULL,
-			DrawImageAbort callback = NULL,
-			VOID *callbackData = NULL)
-	{
-		return updateStatus(DllExports::GdipDrawImageRectRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destRect.X, destRect.Y,
-				destRect.Width, destRect.Height,
-				srcx, srcy, srcwidth, srcheight, srcUnit,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				callback, callbackData));
-	}
-	Status DrawImage(Image *image, const RectF& destRect,
-			const RectF& sourceRect, Unit srcUnit,
-			const ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipDrawImageRectRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destRect.X, destRect.Y,
-				destRect.Width, destRect.Height,
-				sourceRect.X, sourceRect.Y,
-				sourceRect.Width, sourceRect.Height, srcUnit,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				NULL, NULL));
-	}
-	Status DrawImage(Image *image, const PointF *destPoints, INT count,
-			REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
-			Unit srcUnit,
-			const ImageAttributes *imageAttributes = NULL,
-			DrawImageAbort callback = NULL,
-			VOID *callbackData = NULL)
-	{
-		return updateStatus(DllExports::GdipDrawImagePointsRect(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destPoints, count,
-				srcx, srcy, srcwidth, srcheight, srcUnit,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				callback, callbackData));
-	}
-	Status DrawImage(Image *image, const Point *destPoints, INT count,
-			INT srcx, INT srcy, INT srcwidth, INT srcheight,
-			Unit srcUnit,
-			const ImageAttributes *imageAttributes = NULL,
-			DrawImageAbort callback = NULL,
-			VOID *callbackData = NULL)
-	{
-		return updateStatus(DllExports::GdipDrawImagePointsRectI(
-				nativeGraphics,
-				image ? image->nativeImage : NULL,
-				destPoints, count,
-				srcx, srcy, srcwidth, srcheight, srcUnit,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-				callback, callbackData));
-	}
-	// TODO: [GDI+ 1.1] Graphics::DrawImage(..Effect..)
-	//Status DrawImage(Image *image, RectF *sourceRect, Matrix *matrix,
-	//		Effect *effect, ImageAttributes *imageAttributes,
-	//		Unit srcUnit)
-	//{
-	//	return updateStatus(DllExports::GdipDrawImageFX(
-	//			nativeGraphics,
-	//			image ? image->nativeImage : NULL,
-	//			sourceRect,
-	//			matrix ? matrix->nativeMatrix : NULL,
-	//			effect ? effect->nativeEffect : NULL,
-	//			imageAttributes ? imageAttributes->nativeImageAttributes : NULL,
-	//			srcUnit));
-	//}
-	Status DrawLine(const Pen *pen, REAL x1, REAL y1, REAL x2, REAL y2)
-	{
-		return updateStatus(DllExports::GdipDrawLine(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x1, y1, x2, y2));
-	}
-	Status DrawLine(const Pen *pen, INT x1, INT y1, INT x2, INT y2)
-	{
-		return updateStatus(DllExports::GdipDrawLineI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x1, y1, x2, y2));
-	}
-	Status DrawLine(const Pen *pen, const PointF& pt1, const PointF& pt2)
-	{
-		return updateStatus(DllExports::GdipDrawLine(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				pt1.X, pt1.Y, pt2.X, pt2.Y));
-	}
-	Status DrawLine(const Pen *pen, const Point& pt1, const Point& pt2)
-	{
-		return updateStatus(DllExports::GdipDrawLineI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				pt1.X, pt1.Y, pt2.X, pt2.Y));
-	}
-	Status DrawLines(const Pen *pen, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawLines(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawLines(const Pen *pen, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawLinesI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawPath(const Pen *pen, const GraphicsPath *path)
-	{
-		return updateStatus(DllExports::GdipDrawPath(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				path ? path->nativePath : NULL));
-	}
-	Status DrawPie(const Pen *pen, REAL x, REAL y, REAL width, REAL height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawPie(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status DrawPie(const Pen *pen, INT x, INT y, INT width, INT height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawPieI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status DrawPie(const Pen *pen, const RectF& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawPie(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status DrawPie(const Pen *pen, const Rect& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipDrawPieI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status DrawPolygon(const Pen *pen, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawPolygon(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawPolygon(const Pen *pen, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawPolygonI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				points, count));
-	}
-	Status DrawRectangle(const Pen *pen,
-			REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipDrawRectangle(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height));
-	}
-	Status DrawRectangle(const Pen *pen,
-			INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipDrawRectangleI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				x, y, width, height));
-	}
-	Status DrawRectangle(const Pen *pen, const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipDrawRectangle(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawRectangle(const Pen *pen, const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipDrawRectangleI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status DrawRectangles(const Pen *pen, const RectF *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawRectangles(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rects, count));
-	}
-	Status DrawRectangles(const Pen *pen, const Rect *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipDrawRectanglesI(
-				nativeGraphics, pen ? pen->nativePen : NULL,
-				rects, count));
-	}
-	Status DrawString(const WCHAR *string, INT length, const Font *font,
-			const PointF& origin, const Brush *brush)
-	{
-		RectF layoutRect(origin.X, origin.Y, 0.0f, 0.0f);
-		return updateStatus(DllExports::GdipDrawString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect, NULL,
-				brush ? brush->nativeBrush : NULL));
-	}
-	Status DrawString(const WCHAR *string, INT length,
-			const Font *font, const PointF& origin,
-			const StringFormat *stringFormat, const Brush *brush)
-	{
-		RectF layoutRect(origin.X, origin.Y, 0.0f, 0.0f);
-		return updateStatus(DllExports::GdipDrawString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				brush ? brush->nativeBrush : NULL));
-	}
-	Status DrawString(const WCHAR *string, INT length,
-			const Font *font, const RectF& layoutRect,
-			const StringFormat *stringFormat, const Brush *brush)
-	{
-		return updateStatus(DllExports::GdipDrawString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				brush ? brush->nativeBrush : NULL));
-	}
-	Status EndContainer(GraphicsContainer state)
-	{
-		return updateStatus(DllExports::GdipEndContainer(
-				nativeGraphics, state));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const PointF& destPoint,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestPoint(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoint, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Point& destPoint,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestPointI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoint, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const RectF& destRect,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestRect(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destRect, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Rect& destRect,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestRectI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destRect, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const PointF *destPoints, INT count,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestPoints(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoints, count, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Point *destPoints, INT count,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileDestPointsI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoints, count, callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const PointF& destPoint,
-			const RectF& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPoint(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoint, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Point& destPoint,
-			const Rect& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPointI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoint, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const RectF& destRect,
-			const RectF& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestRect(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destRect, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Rect& destRect,
-			const Rect& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestRectI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destRect, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const PointF* destPoints, INT count,
-			const RectF& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPoints(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoints, count, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status EnumerateMetafile(const Metafile *metafile,
-			const Point* destPoints, INT count,
-			const Rect& srcRect, Unit srcUnit,
-			EnumerateMetafileProc callback,
-			VOID *callbackData = NULL,
-			ImageAttributes *imageAttributes = NULL)
-	{
-		return updateStatus(DllExports::GdipEnumerateMetafileSrcRectDestPointsI(
-				nativeGraphics,
-				metafile ? ((GpMetafile*) metafile->nativeImage) : NULL,
-				destPoints, count, srcRect, srcUnit,
-				callback, callbackData,
-				imageAttributes ? imageAttributes->nativeImageAttributes : NULL));
-	}
-	Status ExcludeClip(const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipSetClipRect(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				CombineModeExclude));
-	}
-	Status ExcludeClip(const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipSetClipRectI(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				CombineModeExclude));
-	}
-	Status ExcludeClip(const Region *region)
-	{
-		return updateStatus(DllExports::GdipSetClipRegion(
-				nativeGraphics,
-				region ? region->nativeRegion : NULL,
-				CombineModeExclude));
-	}
-	Status FillClosedCurve(const Brush *brush,
-			const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipFillClosedCurve(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count));
-	}
-	Status FillClosedCurve(const Brush *brush,
-			const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipFillClosedCurveI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count));
-	}
-	Status FillClosedCurve(const Brush *brush,
-			const PointF *points, INT count,
-			FillMode fillMode, REAL tension = 0.5f)
-	{
-		return updateStatus(DllExports::GdipFillClosedCurve2(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, tension, fillMode));
-	}
-	Status FillClosedCurve(const Brush *brush,
-			const Point *points, INT count,
-			FillMode fillMode, REAL tension = 0.5f)
-	{
-		return updateStatus(DllExports::GdipFillClosedCurve2I(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, tension, fillMode));
-	}
-	Status FillEllipse(const Brush *brush,
-			REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipFillEllipse(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height));
-	}
-	Status FillEllipse(const Brush *brush,
-			INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipFillEllipseI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height));
-	}
-	Status FillEllipse(const Brush *brush, const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipFillEllipse(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status FillEllipse(const Brush *brush, const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipFillEllipseI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status FillPath(const Brush *brush, const GraphicsPath *path)
-	{
-		return updateStatus(DllExports::GdipFillPath(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				path ? path->nativePath : NULL));
-	}
-	Status FillPie(const Brush *brush,
-			REAL x, REAL y, REAL width, REAL height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipFillPie(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status FillPie(const Brush *brush, INT x, INT y, INT width, INT height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipFillPieI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status FillPie(const Brush *brush, const RectF& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipFillPie(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status FillPie(const Brush *brush, const Rect& rect,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipFillPieI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status FillPolygon(const Brush *brush, const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipFillPolygon(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, FillModeAlternate));
-	}
-	Status FillPolygon(const Brush *brush, const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipFillPolygonI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, FillModeAlternate));
-	}
-	Status FillPolygon(const Brush *brush, const PointF *points, INT count,
-			FillMode fillMode)
-	{
-		return updateStatus(DllExports::GdipFillPolygon(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, fillMode));
-	}
-	Status FillPolygon(const Brush *brush, const Point *points, INT count,
-			FillMode fillMode)
-	{
-		return updateStatus(DllExports::GdipFillPolygonI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				points, count, fillMode));
-	}
-	Status FillRectangle(const Brush *brush,
-			REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipFillRectangle(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height));
-	}
-	Status FillRectangle(const Brush *brush,
-			INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipFillRectangleI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				x, y, width, height));
-	}
-	Status FillRectangle(const Brush *brush, const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipFillRectangle(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status FillRectangle(const Brush *brush, const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipFillRectangleI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status FillRectangles(const Brush *brush, const RectF *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipFillRectangles(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rects, count));
-	}
-	Status FillRectangles(const Brush *brush, const Rect *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipFillRectanglesI(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				rects, count));
-	}
-	Status FillRegion(const Brush *brush, const Region *region)
-	{
-		return updateStatus(DllExports::GdipFillRegion(
-				nativeGraphics,
-				brush ? brush->nativeBrush : NULL,
-				region ? region->nativeRegion : NULL));
-	}
-	VOID Flush(FlushIntention intention = FlushIntentionFlush)
-	{
-		updateStatus(DllExports::GdipFlush(nativeGraphics, intention));
-	}
-	Status GetClip(Region *region) const
-	{
-		return updateStatus(DllExports::GdipGetClip(
-				nativeGraphics,
-				region ? region->nativeRegion : NULL));
-	}
-	Status GetClipBounds(RectF *rect) const
-	{
-		return updateStatus(DllExports::GdipGetClipBounds(
-				nativeGraphics, rect));
-	}
-	Status GetClipBounds(Rect *rect) const
-	{
-		return updateStatus(DllExports::GdipGetClipBoundsI(
-				nativeGraphics, rect));
-	}
-	CompositingMode GetCompositingMode() const
-	{
-		CompositingMode result = CompositingModeSourceOver;
-		updateStatus(DllExports::GdipGetCompositingMode(
-				nativeGraphics, &result));
-		return result;
-	}
-	CompositingQuality GetCompositingQuality() const
-	{
-		CompositingQuality result = CompositingQualityDefault;
-		updateStatus(DllExports::GdipGetCompositingQuality(
-				nativeGraphics, &result));
-		return result;
-	}
-	REAL GetDpiX() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetDpiX(nativeGraphics, &result));
-		return result;
-	}
-	REAL GetDpiY() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetDpiY(nativeGraphics, &result));
-		return result;
-	}
-	HDC GetHDC()
-	{
-		HDC result = NULL;
-		updateStatus(DllExports::GdipGetDC(nativeGraphics, &result));
-		return result;
-	}
-	InterpolationMode GetInterpolationMode() const
-	{
-		InterpolationMode result = InterpolationModeDefault;
-		updateStatus(DllExports::GdipGetInterpolationMode(
-				nativeGraphics, &result));
-		return result;
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	Status GetNearestColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetNearestColor(
-				nativeGraphics, color ? &color->Value : NULL));
-	}
-	REAL GetPageScale() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetPageScale(
-				nativeGraphics, &result));
-		return result;
-	}
-	Unit GetPageUnit() const
-	{
-		Unit result = UnitWorld;
-		updateStatus(DllExports::GdipGetPageUnit(
-				nativeGraphics, &result));
-		return result;
-	}
-	PixelOffsetMode GetPixelOffsetMode() const
-	{
-		PixelOffsetMode result = PixelOffsetModeDefault;
-		updateStatus(DllExports::GdipGetPixelOffsetMode(
-				nativeGraphics, &result));
-		return result;
-	}
-	Status GetRenderingOrigin(INT *x, INT *y) const
-	{
-		return updateStatus(DllExports::GdipGetRenderingOrigin(
-				nativeGraphics, x, y));
-	}
-	SmoothingMode GetSmoothingMode() const
-	{
-		SmoothingMode result = SmoothingModeDefault;
-		updateStatus(DllExports::GdipGetSmoothingMode(
-				nativeGraphics, &result));
-		return result;
-	}
-	UINT GetTextContrast() const
-	{
-		UINT result = 0;
-		updateStatus(DllExports::GdipGetTextContrast(
-				nativeGraphics, &result));
-		return result;
-	}
-	TextRenderingHint GetTextRenderingHint() const
-	{
-		TextRenderingHint result = TextRenderingHintSystemDefault;
-		updateStatus(DllExports::GdipGetTextRenderingHint(
-				nativeGraphics, &result));
-		return result;
-	}
-	Status GetTransform(Matrix *matrix) const
-	{
-		return updateStatus(DllExports::GdipGetWorldTransform(
-				nativeGraphics,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status GetVisibleClipBounds(RectF *rect) const
-	{
-		return updateStatus(DllExports::GdipGetVisibleClipBounds(
-				nativeGraphics, rect));
-	}
-	Status GetVisibleClipBounds(Rect *rect) const
-	{
-		return updateStatus(DllExports::GdipGetVisibleClipBoundsI(
-				nativeGraphics, rect));
-	}
-	Status IntersectClip(const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipSetClipRect(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				CombineModeIntersect));
-	}
-	Status IntersectClip(const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipSetClipRectI(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				CombineModeIntersect));
-	}
-	Status IntersectClip(const Region *region)
-	{
-		return updateStatus(DllExports::GdipSetClipRegion(
-				nativeGraphics,
-				region ? region->nativeRegion : NULL,
-				CombineModeIntersect));
-	}
-	BOOL IsClipEmpty() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsClipEmpty(
-				nativeGraphics, &result));
-		return result;
-	}
-	BOOL IsVisible(REAL x, REAL y) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisiblePoint(
-				nativeGraphics, x, y, &result));
-		return result;
-	}
-	BOOL IsVisible(INT x, INT y) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisiblePointI(
-				nativeGraphics, x, y, &result));
-		return result;
-	}
-	BOOL IsVisible(const PointF& point) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisiblePoint(
-				nativeGraphics, point.X, point.Y, &result));
-		return result;
-	}
-	BOOL IsVisible(const Point& point) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisiblePointI(
-				nativeGraphics, point.X, point.Y, &result));
-		return result;
-	}
-	BOOL IsVisible(REAL x, REAL y, REAL width, REAL height) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisibleRect(
-				nativeGraphics, x, y, width, height, &result));
-		return result;
-	}
-	BOOL IsVisible(INT x, INT y, INT width, INT height) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisibleRectI(
-				nativeGraphics, x, y, width, height, &result));
-		return result;
-	}
-	BOOL IsVisible(const RectF& rect) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisibleRect(
-				nativeGraphics, rect.X, rect.Y,
-				rect.Width, rect.Height, &result));
-		return result;
-	}
-	BOOL IsVisible(const Rect& rect) const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisibleRectI(
-				nativeGraphics, rect.X, rect.Y,
-				rect.Width, rect.Height, &result));
-		return result;
-	}
-	BOOL IsVisibleClipEmpty() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipIsVisibleClipEmpty(
-				nativeGraphics, &result));
-		return result;
-	}
-	Status MeasureCharacterRanges(const WCHAR *string, INT length,
-			const Font *font, const RectF& layoutRect,
-			const StringFormat *stringFormat,
-			INT regionCount, Region *regions) const
-	{
-		if (regionCount <= 0 || !regions)
-			return lastStatus = InvalidParameter;
-
-		GpRegion **nativeRegionArray = (GpRegion**)
-			DllExports::GdipAlloc(regionCount * sizeof(GpRegion*));
-		if (!nativeRegionArray)
-			return lastStatus = OutOfMemory;
-		for (int i = 0; i < regionCount; ++i) {
-			nativeRegionArray[i] = regions[i].nativeRegion;
-		}
-		Status status = updateStatus(DllExports::GdipMeasureCharacterRanges(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				regionCount, nativeRegionArray));
-		DllExports::GdipFree(nativeRegionArray);
-		return status;
-	}
-	Status MeasureDriverString(const UINT16 *text, INT length,
-			const Font *font, const PointF *positions, INT flags,
-			const Matrix *matrix, RectF *boundingBox) const
-	{
-		return updateStatus(DllExports::GdipMeasureDriverString(
-				nativeGraphics, text, length,
-				font ? font->nativeFont : NULL,
-				positions, flags,
-				matrix ? matrix->nativeMatrix : NULL,
-				boundingBox));
-	}
-	Status MeasureString(const WCHAR *string, INT length,
-			const Font *font, const RectF& layoutRect,
-			RectF *boundingBox) const
-	{
-		return updateStatus(DllExports::GdipMeasureString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect, NULL, boundingBox, NULL, NULL));
-	}
-	Status MeasureString(const WCHAR *string, INT length,
-			const Font *font, const RectF& layoutRect,
-			const StringFormat *stringFormat, RectF *boundingBox,
-			INT *codepointsFitted = NULL,
-			INT *linesFitted = NULL) const
-	{
-		return updateStatus(DllExports::GdipMeasureString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				boundingBox, codepointsFitted, linesFitted));
-	}
-	Status MeasureString(const WCHAR *string, INT length,
-			const Font *font, const SizeF& layoutRectSize,
-			const StringFormat *stringFormat, SizeF *size,
-			INT *codepointsFitted = NULL,
-			INT *linesFitted = NULL) const
-	{
-		if (!size) return lastStatus = InvalidParameter;
-		RectF layoutRect(PointF(0.0f, 0.0f), layoutRectSize);
-		RectF boundingBox;
-		Status status = updateStatus(DllExports::GdipMeasureString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				&boundingBox, codepointsFitted, linesFitted));
-		boundingBox.GetSize(size);
-		return status;
-	}
-	Status MeasureString(const WCHAR *string, INT length,
-			const Font *font, const PointF& origin,
-			RectF *boundingBox) const
-	{
-		RectF layoutRect(origin, SizeF(0.0f, 0.0f));
-		return updateStatus(DllExports::GdipMeasureString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect, NULL, boundingBox, NULL, NULL));
-	}
-	Status MeasureString(const WCHAR *string, INT length,
-			const Font *font, const PointF& origin,
-			const StringFormat *stringFormat,
-			RectF *boundingBox) const
-	{
-		RectF layoutRect(origin, SizeF(0.0f, 0.0f));
-		return updateStatus(DllExports::GdipMeasureString(
-				nativeGraphics, string, length,
-				font ? font->nativeFont : NULL,
-				&layoutRect,
-				stringFormat ? stringFormat->nativeStringFormat : NULL,
-				boundingBox, NULL, NULL));
-	}
-	Status MultiplyTransform(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyWorldTransform(
-				nativeGraphics,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	VOID ReleaseHDC(HDC hdc)
-	{
-		updateStatus(DllExports::GdipReleaseDC(nativeGraphics, hdc));
-	}
-	Status ResetClip()
-	{
-		return updateStatus(DllExports::GdipResetClip(nativeGraphics));
-	}
-	Status ResetTransform()
-	{
-		return updateStatus(DllExports::GdipResetWorldTransform(
-				nativeGraphics));
-	}
-	Status Restore(GraphicsState state)
-	{
-		return updateStatus(DllExports::GdipRestoreGraphics(
-				nativeGraphics, state));
-	}
-	Status RotateTransform(REAL angle,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotateWorldTransform(
-				nativeGraphics, angle, order));
-	}
-	GraphicsState Save() const
-	{
-		GraphicsState result = 0;
-		updateStatus(DllExports::GdipSaveGraphics(
-				nativeGraphics, &result));
-		return result;
-	}
-	Status ScaleTransform(REAL sx, REAL sy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScaleWorldTransform(
-				nativeGraphics, sx, sy, order));
-	}
-	VOID SetAbort()
-	{
-		updateStatus(NotImplemented);
-	}
-	Status SetClip(const Graphics *g,
-			CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipGraphics(
-				nativeGraphics, g ? g->nativeGraphics : NULL,
-				combineMode));
-	}
-	Status SetClip(const RectF& rect,
-			CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipRect(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				combineMode));
-	}
-	Status SetClip(const Rect& rect,
-			CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipRectI(
-				nativeGraphics,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				combineMode));
-	}
-	Status SetClip(const GraphicsPath *path,
-			CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipPath(
-				nativeGraphics,
-				path ? path->nativePath : NULL,
-				combineMode));
-	}
-	Status SetClip(const Region *region,
-			CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipRegion(
-				nativeGraphics,
-				region ? region->nativeRegion : NULL,
-				combineMode));
-	}
-	Status SetClip(HRGN hRgn, CombineMode combineMode = CombineModeReplace)
-	{
-		return updateStatus(DllExports::GdipSetClipHrgn(
-				nativeGraphics, hRgn, combineMode));
-	}
-	Status SetCompositingMode(CompositingMode compositingMode)
-	{
-		return updateStatus(DllExports::GdipSetCompositingMode(
-				nativeGraphics, compositingMode));
-	}
-	Status SetCompositingQuality(CompositingQuality compositingQuality)
-	{
-		return updateStatus(DllExports::GdipSetCompositingQuality(
-				nativeGraphics, compositingQuality));
-	}
-	Status SetInterpolationMode(InterpolationMode interpolationMode)
-	{
-		return updateStatus(DllExports::GdipSetInterpolationMode(
-				nativeGraphics, interpolationMode));
-	}
-	Status SetPageScale(REAL scale)
-	{
-		return updateStatus(DllExports::GdipSetPageScale(
-				nativeGraphics, scale));
-	}
-	Status SetPageUnit(Unit unit)
-	{
-		return updateStatus(DllExports::GdipSetPageUnit(
-				nativeGraphics, unit));
-	}
-	Status SetPixelOffsetMode(PixelOffsetMode pixelOffsetMode)
-	{
-		return updateStatus(DllExports::GdipSetPixelOffsetMode(
-				nativeGraphics, pixelOffsetMode));
-	}
-	Status SetRenderingOrigin(INT x, INT y)
-	{
-		return updateStatus(DllExports::GdipSetRenderingOrigin(
-				nativeGraphics, x, y));
-	}
-	Status SetSmoothingMode(SmoothingMode smoothingMode)
-	{
-		return updateStatus(DllExports::GdipSetSmoothingMode(
-				nativeGraphics, smoothingMode));
-	}
-	Status SetTextContrast(UINT contrast)
-	{
-		return updateStatus(DllExports::GdipSetTextContrast(
-				nativeGraphics, contrast));
-	}
-	Status SetTextRenderingHint(TextRenderingHint textRenderingHint)
-	{
-		return updateStatus(DllExports::GdipSetTextRenderingHint(
-				nativeGraphics, textRenderingHint));
-	}
-	Status SetTransform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipSetWorldTransform(
-				nativeGraphics,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status TransformPoints(CoordinateSpace destSpace,
-			CoordinateSpace srcSpace,
-			PointF *pts, INT count) const
-	{
-		return updateStatus(DllExports::GdipTransformPoints(
-				nativeGraphics, destSpace, srcSpace,
-				pts, count));
-	}
-	Status TransformPoints(CoordinateSpace destSpace,
-			CoordinateSpace srcSpace,
-			Point *pts, INT count) const
-	{
-		return updateStatus(DllExports::GdipTransformPointsI(
-				nativeGraphics, destSpace, srcSpace,
-				pts, count));
-	}
-	Status TranslateClip(REAL dx, REAL dy)
-	{
-		return updateStatus(DllExports::GdipTranslateClip(
-				nativeGraphics, dx, dy));
-	}
-	Status TranslateClip(INT dx, INT dy)
-	{
-		return updateStatus(DllExports::GdipTranslateClipI(
-				nativeGraphics, dx, dy));
-	}
-	Status TranslateTransform(REAL dx, REAL dy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslateWorldTransform(
-				nativeGraphics, dx, dy, order));
-	}
-
-private:
-	Graphics(const Graphics&);
-	Graphics& operator=(const Graphics&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpGraphics *nativeGraphics;
-	mutable Status lastStatus;
-};
-
-#endif /* __GDIPLUS_GRAPHICS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusheaders.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusheaders.h	(revision 1046)
+++ 	(revision )
@@ -1,581 +1,0 @@
-/*
- * gdiplusheaders.h
- *
- * GDI+ Bitmap, CachedBitmap, CustomLineCap, Font, FontCollection,
- *      FontFamily, Image, InstalledFontCollection, PrivateFontCollection,
- *      Region class definitions.
- *      Implementation of these classes is in gdiplusimpl.h.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_HEADERS_H
-#define __GDIPLUS_HEADERS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusheaders.h."
-#endif
-
-/*
- * Note: Virtual inline functions (dtors, Clone()) are implemented here: If
- * these were defined outside class scope, the compiler would always generate
- * code for them (and the vtable), even if these classes were never used.
- */
-
-class Bitmap;
-class Effect;
-class FontCollection;
-class FontFamily;
-class Graphics;
-class GraphicsPath;
-class Matrix;
-class Pen;
-
-class Image: public GdiplusBase
-{
-	friend class Bitmap;
-	friend class Metafile;
-	friend class CachedBitmap;
-	friend class Graphics;
-	friend class TextureBrush;
-
-public:
-	static Image* FromFile(const WCHAR *filename,
-			BOOL useEmbeddedColorManagement = FALSE);
-	static Image* FromStream(IStream *stream,
-			BOOL useEmbeddedColorManagement = FALSE);
-
-	Image(const WCHAR *filename, BOOL useEmbeddedColorManagement = FALSE);
-	Image(IStream *stream, BOOL useEmbeddedColorManagement = FALSE);
-
-	virtual ~Image()
-	{
-		DllExports::GdipDisposeImage(nativeImage);
-	}
-	virtual Image* Clone() const
-	{
-		GpImage *cloneImage = NULL;
-		Status status = updateStatus(DllExports::GdipCloneImage(
-				nativeImage, &cloneImage));
-		if (status == Ok) {
-			Image *result = new Image(cloneImage, lastStatus);
-			if (!result) {
-				DllExports::GdipDisposeImage(cloneImage);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status FindFirstItem(ImageItemData *item);
-	Status FindNextItem(ImageItemData *item);
-	Status GetAllPropertyItems(UINT totalBufferSize,
-			UINT numProperties, PropertyItem *allItems);
-	Status GetBounds(RectF *srcRect, Unit *srcUnit);
-	Status GetEncoderParameterList(const CLSID *clsidEncoder,
-			UINT size, EncoderParameters *buffer);
-	UINT GetEncoderParameterListSize(const CLSID *clsidEncoder);
-	UINT GetFlags();
-	UINT GetFrameCount(const GUID *dimensionID);
-	UINT GetFrameDimensionsCount();
-	Status GetFrameDimensionsList(GUID *dimensionIDs, UINT count);
-	UINT GetHeight();
-	REAL GetHorizontalResolution();
-	Status GetItemData(ImageItemData *item);
-	Status GetPalette(ColorPalette *palette, INT size);
-	INT GetPaletteSize();
-	Status GetPhysicalDimension(SizeF *size);
-	PixelFormat GetPixelFormat();
-	UINT GetPropertyCount();
-	Status GetPropertyIdList(UINT numOfProperty, PROPID *list);
-	Status GetPropertyItem(PROPID propId, UINT propSize,
-			PropertyItem *buffer);
-	UINT GetPropertyItemSize(PROPID propId);
-	Status GetPropertySize(UINT *totalBufferSize, UINT *numProperties);
-	Status GetRawFormat(GUID *format);
-	Image* GetThumbnailImage(UINT thumbWidth, UINT thumbHeight,
-			GetThumbnailImageAbort callback, VOID *callbackData);
-	ImageType GetType() const;
-	REAL GetVerticalResolution();
-	UINT GetWidth();
-	Status RemovePropertyItem(PROPID propId);
-	Status RotateFlip(RotateFlipType rotateFlipType);
-	Status Save(IStream *stream, const CLSID *clsidEncoder,
-			const EncoderParameters *encoderParams);
-	Status Save(const WCHAR *filename, const CLSID *clsidEncoder,
-			const EncoderParameters *encoderParams);
-	Status SaveAdd(const EncoderParameters *encoderParams);
-	Status SaveAdd(Image *newImage, const EncoderParameters *encoderParams);
-	Status SelectActiveFrame(const GUID *dimensionID, UINT frameIndex);
-	Status SetAbort(GdiplusAbort *pIAbort);
-	Status SetPalette(const ColorPalette *palette);
-	Status SetPropertyItem(const PropertyItem *item);
-
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-
-private:
-	Image(GpImage *image, Status status):
-		nativeImage(image), lastStatus(status) {}
-	Image(const Image&);
-	Image& operator=(const Image&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpImage *nativeImage;
-	mutable Status lastStatus;
-};
-
-class Bitmap: public Image
-{
-public:
-	static Bitmap* FromBITMAPINFO(const BITMAPINFO *gdiBitmapInfo,
-			VOID *gdiBitmapData);
-	static Bitmap* FromDirectDrawSurface7(IDirectDrawSurface7 *surface);
-	static Bitmap* FromFile(const WCHAR *filename,
-			BOOL useEmbeddedColorManagement = FALSE);
-	static Bitmap* FromHBITMAP(HBITMAP hbm, HPALETTE hpal);
-	static Bitmap* FromHICON(HICON icon);
-	static Bitmap* FromResource(HINSTANCE hInstance,
-			const WCHAR *bitmapName);
-	static Bitmap* FromStream(IStream *stream,
-			BOOL useEmbeddedColorManagement = FALSE);
-	static Status ApplyEffect(Bitmap **inputs, INT numInputs,
-			Effect *effect, RECT *ROI,
-			RECT *outputRect, Bitmap **output);
-	static Status InitializePalette(ColorPalette *palette,
-			PaletteType paletteType, INT optimalColors,
-			BOOL useTransparentColor, Bitmap *bitmap);
-
-	Bitmap(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData);
-	Bitmap(IDirectDrawSurface7 *surface);
-	Bitmap(const WCHAR *filename, BOOL useEmbeddedColorManagement = FALSE);
-	Bitmap(HBITMAP hbm, HPALETTE hpal);
-	Bitmap(HICON hicon);
-	Bitmap(HINSTANCE hInstance, const WCHAR *bitmapName);
-	Bitmap(IStream *stream, BOOL useEmbeddedColorManagement = FALSE);
-	Bitmap(INT width, INT height, Graphics *target);
-	Bitmap(INT width, INT height, PixelFormat format = PixelFormat32bppARGB);
-	Bitmap(INT width, INT height, INT stride, PixelFormat format, BYTE *scan0);
-
-	virtual ~Bitmap()
-	{
-	}
-	virtual Bitmap* Clone() const
-	{
-		GpImage *cloneImage = NULL;
-		Status status = updateStatus(DllExports::GdipCloneImage(
-				nativeImage, &cloneImage));
-		if (status == Ok) {
-			Bitmap *result = new Bitmap(cloneImage, lastStatus);
-			if (!result) {
-				DllExports::GdipDisposeImage(cloneImage);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Bitmap* Clone(const RectF& rect, PixelFormat format) const;
-	Bitmap* Clone(const Rect& rect, PixelFormat format) const;
-	Bitmap* Clone(REAL x, REAL y, REAL width, REAL height,
-			PixelFormat format) const;
-	Bitmap* Clone(INT x, INT y, INT width, INT height,
-			PixelFormat format) const;
-
-	Status ApplyEffect(Effect *effect, RECT *ROI);
-	Status ConvertFormat(PixelFormat format, DitherType ditherType,
-			PaletteType paletteType, ColorPalette *palette,
-			REAL alphaThresholdPercent);
-	Status GetHBITMAP(const Color& colorBackground, HBITMAP *hbmReturn) const;
-	Status GetHICON(HICON *icon) const;
-	Status GetHistogram(HistogramFormat format, UINT numberOfEntries,
-			UINT *channel0, UINT *channel1,
-			UINT *channel2, UINT *channel3) const;
-	Status GetHistogramSize(HistogramFormat format,
-			UINT *numberOfEntries) const;
-	Status GetPixel(INT x, INT y, Color *color) const;
-	Status LockBits(const Rect *rect, UINT flags, PixelFormat format,
-			BitmapData *lockedBitmapData);
-	Status SetPixel(INT x, INT y, const Color& color);
-	Status SetResolution(REAL xdpi, REAL ydpi);
-	Status UnlockBits(BitmapData *lcokedBitmapData);
-
-private:
-	Bitmap(GpImage *image, Status status): Image(image, status) {}
-	Bitmap(const Bitmap&);
-	Bitmap& operator=(const Bitmap&);
-};
-
-class CachedBitmap: public GdiplusBase
-{
-	friend class Graphics;
-
-public:
-	CachedBitmap(Bitmap *bitmap, Graphics *graphics);
-	~CachedBitmap();
-
-	Status GetLastStatus() const
-	{
-		return lastStatus;
-	}
-
-private:
-	CachedBitmap(const CachedBitmap&);
-	CachedBitmap& operator=(const CachedBitmap&);
-
-	GpCachedBitmap *nativeCachedBitmap;
-	Status lastStatus;
-};
-
-class CustomLineCap: public GdiplusBase
-{
-	friend class AdjustableArrowCap;
-	friend class Pen;
-
-public:
-	CustomLineCap(const GraphicsPath *fillPath,
-			const GraphicsPath *strokePath,
-			LineCap baseCap = LineCapFlat,
-			REAL baseInset = 0.0f);
-
-	virtual ~CustomLineCap()
-	{
-		DllExports::GdipDeleteCustomLineCap(nativeCustomLineCap);
-	}
-	virtual CustomLineCap* Clone() const
-	{
-		GpCustomLineCap *cloneCustomLineCap = NULL;
-		Status status = updateStatus(DllExports::GdipCloneCustomLineCap(
-				nativeCustomLineCap, &cloneCustomLineCap));
-		if (status == Ok) {
-			CustomLineCap *result = new CustomLineCap(
-					cloneCustomLineCap, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteCustomLineCap(cloneCustomLineCap);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	LineCap GetBaseCap() const;
-	REAL GetBaseInset() const;
-	Status GetStrokeCaps(LineCap *startCap, LineCap *endCap) const;
-	LineJoin GetStrokeJoin() const;
-	REAL GetWidthScale() const;
-	Status SetBaseCap(LineCap baseCap);
-	Status SetBaseInset(REAL inset);
-	Status SetStrokeCap(LineCap strokeCap);
-	Status SetStrokeCaps(LineCap startCap, LineCap endCap);
-	Status SetStrokeJoin(LineJoin lineJoin);
-	Status SetWidthScale(REAL widthScale);
-
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-
-private:
-	CustomLineCap(GpCustomLineCap *customLineCap, Status status):
-		nativeCustomLineCap(customLineCap), lastStatus(status) {}
-	CustomLineCap(const CustomLineCap&);
-	CustomLineCap& operator=(const CustomLineCap&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpCustomLineCap *nativeCustomLineCap;
-	mutable Status lastStatus;
-};
-
-class Font: public GdiplusBase
-{
-	friend class Graphics;
-
-public:
-	Font(const FontFamily *family, REAL emSize,
-			INT style = FontStyleRegular,
-			Unit unit = UnitPoint);
-	Font(HDC hdc, HFONT hfont);
-	Font(HDC hdc, const LOGFONTA *logfont);
-	Font(HDC hdc, const LOGFONTW *logfont);
-	Font(HDC hdc);
-	Font(const WCHAR *familyName, REAL emSize,
-			INT style = FontStyleRegular,
-			Unit unit = UnitPoint,
-			const FontCollection *fontCollection = NULL);
-	~Font();
-	Font* Clone() const;
-
-	Status GetFamily(FontFamily *family) const;
-	REAL GetHeight(const Graphics *graphics) const;
-	REAL GetHeight(REAL dpi) const;
-	Status GetLogFontA(const Graphics *graphics, LOGFONTA *logfontA) const;
-	Status GetLogFontW(const Graphics *graphics, LOGFONTW *logfontW) const;
-	REAL GetSize() const;
-	INT GetStyle() const;
-	Unit GetUnit() const;
-
-	Status GetLastStatus() const
-	{
-		return lastStatus;
-	}
-	BOOL IsAvailable() const
-	{
-		return nativeFont != NULL;
-	}
-
-private:
-	Font(GpFont *font, Status status):
-		nativeFont(font), lastStatus(status) {}
-	Font(const Font&);
-	Font& operator=(const Font&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpFont *nativeFont;
-	mutable Status lastStatus;
-};
-
-class FontCollection: public GdiplusBase
-{
-	friend class InstalledFontCollection;
-	friend class PrivateFontCollection;
-	friend class Font;
-	friend class FontFamily;
-
-public:
-	FontCollection();
-	virtual ~FontCollection() {}
-
-	Status GetFamilies(INT numSought, FontFamily *families,
-			INT *numFound) const;
-	INT GetFamilyCount() const;
-
-	Status GetLastStatus() const
-	{
-		return lastStatus;
-	}
-
-private:
-	FontCollection(const FontCollection&);
-	FontCollection& operator=(const FontCollection&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		return lastStatus = newStatus;
-	}
-
-	GpFontCollection *nativeFontCollection;
-	mutable Status lastStatus;
-};
-
-class FontFamily: public GdiplusBase
-{
-	friend class Font;
-	friend class FontCollection;
-	friend class GraphicsPath;
-
-public:
-	static const FontFamily* GenericMonospace();
-	static const FontFamily* GenericSansSerif();
-	static const FontFamily* GenericSerif();
-
-	FontFamily();
-	FontFamily(const WCHAR *name,
-			const FontCollection *fontCollection = NULL);
-	~FontFamily();
-	FontFamily* Clone() const;
-
-	UINT16 GetCellAscent(INT style) const;
-	UINT16 GetCellDescent(INT style) const;
-	UINT16 GetEmHeight(INT style) const;
-	Status GetFamilyName(WCHAR name[LF_FACESIZE],
-			LANGID language = LANG_NEUTRAL) const;
-	UINT16 GetLineSpacing(INT style) const;
-	BOOL IsStyleAvailable(INT style) const;
-
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	BOOL IsAvailable() const
-	{
-		return nativeFontFamily != NULL;
-	}
-
-private:
-	FontFamily(GpFontFamily *fontFamily, Status status):
-		nativeFontFamily(fontFamily), lastStatus(status) {}
-	FontFamily(const FontFamily&);
-	FontFamily& operator=(const FontFamily&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpFontFamily *nativeFontFamily;
-	mutable Status lastStatus;
-};
-
-class InstalledFontCollection: public FontCollection
-{
-public:
-	InstalledFontCollection();
-	virtual ~InstalledFontCollection() {}
-};
-
-class PrivateFontCollection: public FontCollection
-{
-public:
-	PrivateFontCollection();
-
-	virtual ~PrivateFontCollection()
-	{
-		DllExports::GdipDeletePrivateFontCollection(&nativeFontCollection);
-	}
-
-	Status AddFontFile(const WCHAR *filename);
-	Status AddMemoryFont(const VOID *memory, INT length);
-};
-
-class Region: public GdiplusBase
-{
-	friend class Graphics;
-
-public:
-	static Region* FromHRGN(HRGN hrgn);
-
-	Region();
-	Region(const RectF& rect);
-	Region(const Rect& rect);
-	Region(const GraphicsPath *path);
-	Region(const BYTE *regionData, INT size);
-	Region(HRGN hrgn);
-	~Region();
-	Region* Clone() const;
-
-	Status Complement(const RectF& rect);
-	Status Complement(const Rect& rect);
-	Status Complement(const Region *region);
-	Status Complement(const GraphicsPath *path);
-	BOOL Equals(const Region *region, const Graphics *graphics) const;
-	Status Exclude(const RectF& rect);
-	Status Exclude(const Rect& rect);
-	Status Exclude(const Region *region);
-	Status Exclude(const GraphicsPath *path);
-	Status GetBounds(RectF *rect, const Graphics *graphics) const;
-	Status GetBounds(Rect *rect, const Graphics *graphics) const;
-	Status GetData(BYTE *buffer, UINT bufferSize, UINT *sizeFilled) const;
-	UINT GetDataSize() const;
-	HRGN GetHRGN(const Graphics *graphics) const;
-	Status GetRegionScans(const Matrix *matrix,
-			RectF *rects, INT *count) const;
-	Status GetRegionScans(const Matrix *matrix,
-			Rect *rects, INT *count) const;
-	UINT GetRegionScansCount(const Matrix *matrix) const;
-	Status Intersect(const RectF& rect);
-	Status Intersect(const Rect& rect);
-	Status Intersect(const Region *region);
-	Status Intersect(const GraphicsPath *path);
-	BOOL IsEmpty(const Graphics *graphics) const;
-	BOOL IsInfinite(const Graphics *graphics) const;
-	BOOL IsVisible(REAL x, REAL y,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(INT x, INT y,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(const PointF& point,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(const Point& point,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(REAL x, REAL y, REAL width, REAL height,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(INT x, INT y, INT width, INT height,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(const RectF& rect,
-			const Graphics *graphics = NULL) const;
-	BOOL IsVisible(const Rect& rect,
-			const Graphics *graphics = NULL) const;
-	Status MakeEmpty();
-	Status MakeInfinite();
-	Status Transform(const Matrix *matrix);
-	Status Translate(REAL dx, REAL dy);
-	Status Translate(INT dx, INT dy);
-	Status Union(const RectF& rect);
-	Status Union(const Rect& rect);
-	Status Union(const Region *region);
-	Status Union(const GraphicsPath *path);
-	Status Xor(const RectF& rect);
-	Status Xor(const Rect& rect);
-	Status Xor(const Region *region);
-	Status Xor(const GraphicsPath *path);
-
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-
-private:
-	Region(GpRegion *region, Status status):
-		nativeRegion(region), lastStatus(status) {}
-	Region(const Region&);
-	Region& operator=(const Region&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpRegion *nativeRegion;
-	mutable Status lastStatus;
-};
-
-#endif /* __GDIPLUS_HEADERS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusimageattributes.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusimageattributes.h	(revision 1046)
+++ 	(revision )
@@ -1,236 +1,0 @@
-/*
- * gdiplusimageattributes.h
- *
- * GDI+ ImageAttributes class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_IMAGEATTRIBUTES_H
-#define __GDIPLUS_IMAGEATTRIBUTES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusimageattributes.h."
-#endif
-
-class ImageAttributes: public GdiplusBase
-{
-	friend class Graphics;
-	friend class TextureBrush;
-
-public:
-	ImageAttributes(): nativeImageAttributes(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateImageAttributes(
-				&nativeImageAttributes);
-	}
-	~ImageAttributes()
-	{
-		DllExports::GdipDisposeImageAttributes(nativeImageAttributes);
-	}
-	ImageAttributes* Clone() const
-	{
-		GpImageAttributes *cloneImageAttributes = NULL;
-		Status status = updateStatus(DllExports::GdipCloneImageAttributes(
-				nativeImageAttributes, &cloneImageAttributes));
-		if (status == Ok) {
-			ImageAttributes *result = new ImageAttributes(
-					cloneImageAttributes, lastStatus);
-			if (!result) {
-				DllExports::GdipDisposeImageAttributes(cloneImageAttributes);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status ClearBrushRemapTable()
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesRemapTable(
-				nativeImageAttributes, ColorAdjustTypeBrush,
-				FALSE, 0, NULL));
-	}
-	Status ClearColorKey(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorKeys(
-				nativeImageAttributes, type, FALSE, 0, 0));
-	}
-	Status ClearColorMatrices(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorMatrix(
-				nativeImageAttributes, type, FALSE,
-				NULL, NULL, ColorMatrixFlagsDefault));
-	}
-	Status ClearColorMatrix(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorMatrix(
-				nativeImageAttributes, type, FALSE,
-				NULL, NULL, ColorMatrixFlagsDefault));
-	}
-	Status ClearGamma(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesGamma(
-				nativeImageAttributes, type, FALSE, 1.0f));
-	}
-	Status ClearNoOp(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesNoOp(
-				nativeImageAttributes, type, FALSE));
-	}
-	Status ClearOutputChannel(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesOutputChannel(
-				nativeImageAttributes, type, FALSE,
-				ColorChannelFlagsC));
-	}
-	Status ClearOutputChannelColorProfile(
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesOutputChannelColorProfile(
-				nativeImageAttributes, type, FALSE, NULL));
-	}
-	Status ClearRemapTable(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesRemapTable(
-				nativeImageAttributes, type, FALSE, 0, NULL));
-	}
-	Status ClearThreshold(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesThreshold(
-				nativeImageAttributes, type, FALSE, 0.0));
-	}
-	Status GetAdjustedPalette(ColorPalette *colorPalette,
-			ColorAdjustType type) const
-	{
-		return updateStatus(DllExports::GdipGetImageAttributesAdjustedPalette(
-				nativeImageAttributes, colorPalette, type));
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	Status Reset(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipResetImageAttributes(
-				nativeImageAttributes, type));
-	}
-	Status SetBrushRemapTable(UINT mapSize, ColorMap *map)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesRemapTable(
-				nativeImageAttributes, ColorAdjustTypeBrush,
-				TRUE, mapSize, map));
-	}
-	Status SetColorKey(const Color& colorLow, const Color& colorHigh,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorKeys(
-				nativeImageAttributes, type, TRUE,
-				colorLow.GetValue(), colorHigh.GetValue()));
-	}
-	Status SetColorMatrices(const ColorMatrix *colorMatrix,
-			const ColorMatrix *grayMatrix,
-			ColorMatrixFlags mode = ColorMatrixFlagsDefault,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorMatrix(
-				nativeImageAttributes, type, TRUE,
-				colorMatrix, grayMatrix, mode));
-	}
-	Status SetColorMatrix(const ColorMatrix *colorMatrix,
-			ColorMatrixFlags mode = ColorMatrixFlagsDefault,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesColorMatrix(
-				nativeImageAttributes, type, TRUE,
-				colorMatrix, NULL, mode));
-	}
-	Status SetGamma(REAL gamma,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesGamma(
-				nativeImageAttributes, type, TRUE, gamma));
-	}
-	Status SetNoOp(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesNoOp(
-				nativeImageAttributes, type, TRUE));
-	}
-	Status SetOutputChannel(ColorChannelFlags channelFlags,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesOutputChannel(
-				nativeImageAttributes, type, TRUE,
-				channelFlags));
-	}
-	Status SetOutputChannelColorProfile(const WCHAR *colorProfileFilename,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesOutputChannelColorProfile(
-				nativeImageAttributes, type, TRUE,
-				colorProfileFilename));
-	}
-	Status SetRemapTable(UINT mapSize, const ColorMap *map,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesRemapTable(
-				nativeImageAttributes, type, TRUE,
-				mapSize, map));
-	}
-	Status SetThreshold(REAL threshold,
-			ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesThreshold(
-				nativeImageAttributes, type, TRUE, threshold));
-	}
-	Status SetToIdentity(ColorAdjustType type = ColorAdjustTypeDefault)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesToIdentity(
-				nativeImageAttributes, type));
-	}
-	Status SetWrapMode(WrapMode wrap, const Color& color = Color(),
-			BOOL clamp = FALSE)
-	{
-		return updateStatus(DllExports::GdipSetImageAttributesWrapMode(
-				nativeImageAttributes, wrap,
-				color.GetValue(), clamp));
-	}
-
-private:
-	ImageAttributes(GpImageAttributes *imageAttributes, Status status):
-		nativeImageAttributes(imageAttributes), lastStatus(status) {}
-	ImageAttributes(const ImageAttributes&);
-	ImageAttributes& operator=(const ImageAttributes&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpImageAttributes *nativeImageAttributes;
-	mutable Status lastStatus;
-};
-
-
-#endif /* __GDIPLUS_IMAGEATTRIBUTES_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusimagecodec.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusimagecodec.h	(revision 1046)
+++ 	(revision )
@@ -1,67 +1,0 @@
-/*
- * gdiplusimagecodec.h
- *
- * GDI+ image decoders and encoders
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_IMAGECODEC_H
-#define __GDIPLUS_IMAGECODEC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-static __inline__ GpStatus GetImageDecoders(UINT numDecoders, UINT size,
-		ImageCodecInfo *decoders)
-{
-	#ifdef __cplusplus
-	return DllExports::GdipGetImageDecoders(numDecoders, size, decoders);
-	#else
-	return GdipGetImageDecoders(numDecoders, size, decoders);
-	#endif
-}
-
-static __inline__ GpStatus GetImageDecodersSize(UINT *numDecoders, UINT *size)
-{
-	#ifdef __cplusplus
-	return DllExports::GdipGetImageDecodersSize(numDecoders, size);
-	#else
-	return GdipGetImageDecodersSize(numDecoders, size);
-	#endif
-}
-
-static __inline__ GpStatus GetImageEncoders(UINT numEncoders, UINT size,
-		ImageCodecInfo *encoders)
-{
-	#ifdef __cplusplus
-	return DllExports::GdipGetImageEncoders(numEncoders, size, encoders);
-	#else
-	return GdipGetImageEncoders(numEncoders, size, encoders);
-	#endif
-}
-
-static __inline__ GpStatus GetImageEncodersSize(UINT *numEncoders, UINT *size)
-{
-	#ifdef __cplusplus
-	return DllExports::GdipGetImageEncodersSize(numEncoders, size);
-	#else
-	return GdipGetImageEncodersSize(numEncoders, size);
-	#endif
-}
-
-#endif /* __GDIPLUS_IMAGECODEC_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusimaging.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusimaging.h	(revision 1046)
+++ 	(revision )
@@ -1,411 +1,0 @@
-/*
- * gdiplusimaging.h
- *
- * GDI+ Imaging and image metadata
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_IMAGING_H
-#define __GDIPLUS_IMAGING_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum ImageCodecFlags {
-	ImageCodecFlagsEncoder = 0x00000001,
-	ImageCodecFlagsDecoder = 0x00000002,
-	ImageCodecFlagsSupportBitmap = 0x00000004,
-	ImageCodecFlagsSupportVector = 0x00000008,
-	ImageCodecFlagsSeekableEncode = 0x00000010,
-	ImageCodecFlagsBlockingDecode = 0x00000020,
-	ImageCodecFlagsBuiltin = 0x00010000,
-	ImageCodecFlagsSystem = 0x00020000,
-	ImageCodecFlagsUser = 0x00040000
-} ImageCodecFlags;
-
-typedef enum ImageFlags {
-	ImageFlagsNone = 0,
-	ImageFlagsScalable = 0x00000001,
-	ImageFlagsHasAlpha = 0x00000002,
-	ImageFlagsHasTranslucent = 0x00000004,
-	ImageFlagsPartiallyScalable = 0x00000008,
-	ImageFlagsColorSpaceRGB = 0x00000010,
-	ImageFlagsColorSpaceCMYK = 0x00000020,
-	ImageFlagsColorSpaceGRAY = 0x00000040,
-	ImageFlagsColorSpaceYCBCR = 0x00000080,
-	ImageFlagsColorSpaceYCCK = 0x00000100,
-	ImageFlagsHasRealDPI = 0x00001000,
-	ImageFlagsHasRealPixelSize = 0x00002000,
-	ImageFlagsReadOnly = 0x00010000,
-	ImageFlagsCaching = 0x00020000
-} ImageFlags;
-
-typedef enum ImageLockMode {
-	ImageLockModeRead = 1,
-	ImageLockModeWrite = 2,
-	ImageLockModeUserInputBuf = 4
-} ImageLockMode;
-
-typedef enum ItemDataPosition {
-	ItemDataPositionAfterHeader = 0,
-	ItemDataPositionAfterPalette = 1,
-	ItemDataPositionAfterBits = 2
-} ItemDataPosition;
-
-typedef enum RotateFlipType {
-	RotateNoneFlipNone = 0,
-	Rotate90FlipNone = 1,
-	Rotate180FlipNone = 2,
-	Rotate270FlipNone = 3,
-	RotateNoneFlipX = 4,
-	Rotate90FlipX = 5,
-	Rotate180FlipX = 6,
-	Rotate270FlipX = 7,
-	Rotate180FlipXY = 0,
-	Rotate270FlipXY = 1, 
-	RotateNoneFlipXY = 2,
-	Rotate90FlipXY = 3,
-	Rotate180FlipY = 4,
-	Rotate270FlipY = 5,
-	RotateNoneFlipY = 6,
-	Rotate90FlipY = 7
-} RotateFlipType;
-
-typedef struct BitmapData {
-	UINT Width;
-	UINT Height;
-	INT Stride;
-	INT PixelFormat;  /* MSDN: "PixelFormat PixelFormat;" */
-	VOID *Scan0;
-	UINT_PTR Reserved;
-} BitmapData;
-
-typedef struct EncoderParameter {
-	GUID Guid;
-	ULONG NumberOfValues;
-	ULONG Type;
-	VOID *Value;
-} EncoderParameter;
-
-typedef struct EncoderParameters {
-	UINT Count;
-	EncoderParameter Parameter[1];
-} EncoderParameters;
-
-typedef struct ImageCodecInfo {
-	CLSID Clsid;
-	GUID FormatID;
-	WCHAR *CodecName;
-	WCHAR *DllName;
-	WCHAR *FormatDescription;
-	WCHAR *FilenameExtension;
-	WCHAR *MimeType;
-	DWORD Flags;
-	DWORD Version;
-	DWORD SigCount;
-	DWORD SigSize;
-	BYTE *SigPattern;
-	BYTE *SigMask;
-} ImageCodecInfo;
-
-/* FIXME: The order of fields is probably wrong. Please don't use this
- * structure until this problem is resolved!  Can't test because
- * ImageItemData is not supported by the redistributable GDI+ 1.0 DLL. */
-typedef struct ImageItemData {
-	UINT Size;
-	UINT Position;
-	VOID *Desc;
-	UINT DescSize;
-	UINT *Data;
-	UINT DataSize;
-	UINT Cookie;
-} ImageItemData;
-
-typedef struct PropertyItem {
-	PROPID id;
-	ULONG length;
-	WORD type;
-	VOID *value;
-} PropertyItem;
-
-#define PropertyTagGpsVer ((PROPID) 0x0000)
-#define PropertyTagGpsLatitudeRef ((PROPID) 0x0001)
-#define PropertyTagGpsLatitude ((PROPID) 0x0002)
-#define PropertyTagGpsLongitudeRef ((PROPID) 0x0003)
-#define PropertyTagGpsLongitude ((PROPID) 0x0004)
-#define PropertyTagGpsAltitudeRef ((PROPID) 0x0005)
-#define PropertyTagGpsAltitude ((PROPID) 0x0006)
-#define PropertyTagGpsGpsTime ((PROPID) 0x0007)
-#define PropertyTagGpsGpsSatellites ((PROPID) 0x0008)
-#define PropertyTagGpsGpsStatus ((PROPID) 0x0009)
-#define PropertyTagGpsGpsMeasureMode ((PROPID) 0x000A)
-#define PropertyTagGpsGpsDop ((PROPID) 0x000B)
-#define PropertyTagGpsSpeedRef ((PROPID) 0x000C)
-#define PropertyTagGpsSpeed ((PROPID) 0x000D)
-#define PropertyTagGpsTrackRef ((PROPID) 0x000E)
-#define PropertyTagGpsTrack ((PROPID) 0x000F)
-#define PropertyTagGpsImgDirRef ((PROPID) 0x0010)
-#define PropertyTagGpsImgDir ((PROPID) 0x0011)
-#define PropertyTagGpsMapDatum ((PROPID) 0x0012)
-#define PropertyTagGpsDestLatRef ((PROPID) 0x0013)
-#define PropertyTagGpsDestLat ((PROPID) 0x0014)
-#define PropertyTagGpsDestLongRef ((PROPID) 0x0015)
-#define PropertyTagGpsDestLong ((PROPID) 0x0016)
-#define PropertyTagGpsDestBearRef ((PROPID) 0x0017)
-#define PropertyTagGpsDestBear ((PROPID) 0x0018)
-#define PropertyTagGpsDestDistRef ((PROPID) 0x0019)
-#define PropertyTagGpsDestDist ((PROPID) 0x001A)
-#define PropertyTagNewSubfileType ((PROPID) 0x00FE)
-#define PropertyTagSubfileType ((PROPID) 0x00FF)
-#define PropertyTagImageWidth ((PROPID) 0x0100)
-#define PropertyTagImageHeight ((PROPID) 0x0101)
-#define PropertyTagBitsPerSample ((PROPID) 0x0102)
-#define PropertyTagCompression ((PROPID) 0x0103)
-#define PropertyTagPhotometricInterp ((PROPID) 0x0106)
-#define PropertyTagThreshHolding ((PROPID) 0x0107)
-#define PropertyTagCellWidth ((PROPID) 0x0108)
-#define PropertyTagCellHeight ((PROPID) 0x0109)
-#define PropertyTagFillOrder ((PROPID) 0x010A)
-#define PropertyTagDocumentName ((PROPID) 0x010D)
-#define PropertyTagImageDescription ((PROPID) 0x010E)
-#define PropertyTagEquipMake ((PROPID) 0x010F)
-#define PropertyTagEquipModel ((PROPID) 0x0110)
-#define PropertyTagStripOffsets ((PROPID) 0x0111)
-#define PropertyTagOrientation ((PROPID) 0x0112)
-#define PropertyTagSamplesPerPixel ((PROPID) 0x0115)
-#define PropertyTagRowsPerStrip ((PROPID) 0x0116)
-#define PropertyTagStripBytesCount ((PROPID) 0x0117)
-#define PropertyTagMinSampleValue ((PROPID) 0x0118)
-#define PropertyTagMaxSampleValue ((PROPID) 0x0119)
-#define PropertyTagXResolution ((PROPID) 0x011A)
-#define PropertyTagYResolution ((PROPID) 0x011B)
-#define PropertyTagPlanarConfig ((PROPID) 0x011C)
-#define PropertyTagPageName ((PROPID) 0x011D)
-#define PropertyTagXPosition ((PROPID) 0x011E)
-#define PropertyTagYPosition ((PROPID) 0x011F)
-#define PropertyTagFreeOffset ((PROPID) 0x0120)
-#define PropertyTagFreeByteCounts ((PROPID) 0x0121)
-#define PropertyTagGrayResponseUnit ((PROPID) 0x0122)
-#define PropertyTagGrayResponseCurve ((PROPID) 0x0123)
-#define PropertyTagT4Option ((PROPID) 0x0124)
-#define PropertyTagT6Option ((PROPID) 0x0125)
-#define PropertyTagResolutionUnit ((PROPID) 0x0128)
-#define PropertyTagPageNumber ((PROPID) 0x0129)
-#define PropertyTagTransferFunction ((PROPID) 0x012D)
-#define PropertyTagSoftwareUsed ((PROPID) 0x0131)
-#define PropertyTagDateTime ((PROPID) 0x0132)
-#define PropertyTagArtist ((PROPID) 0x013B)
-#define PropertyTagHostComputer ((PROPID) 0x013C)
-#define PropertyTagPredictor ((PROPID) 0x013D)
-#define PropertyTagWhitePoint ((PROPID) 0x013E)
-#define PropertyTagPrimaryChromaticities ((PROPID) 0x013F)
-#define PropertyTagColorMap ((PROPID) 0x0140)
-#define PropertyTagHalftoneHints ((PROPID) 0x0141)
-#define PropertyTagTileWidth ((PROPID) 0x0142)
-#define PropertyTagTileLength ((PROPID) 0x0143)
-#define PropertyTagTileOffset ((PROPID) 0x0144)
-#define PropertyTagTileByteCounts ((PROPID) 0x0145)
-#define PropertyTagInkSet ((PROPID) 0x014C)
-#define PropertyTagInkNames ((PROPID) 0x014D)
-#define PropertyTagNumberOfInks ((PROPID) 0x014E)
-#define PropertyTagDotRange ((PROPID) 0x0150)
-#define PropertyTagTargetPrinter ((PROPID) 0x0151)
-#define PropertyTagExtraSamples ((PROPID) 0x0152)
-#define PropertyTagSampleFormat ((PROPID) 0x0153)
-#define PropertyTagSMinSampleValue ((PROPID) 0x0154)
-#define PropertyTagSMaxSampleValue ((PROPID) 0x0155)
-#define PropertyTagTransferRange ((PROPID) 0x0156)
-#define PropertyTagJPEGProc ((PROPID) 0x0200)
-#define PropertyTagJPEGInterFormat ((PROPID) 0x0201)
-#define PropertyTagJPEGInterLength ((PROPID) 0x0202)
-#define PropertyTagJPEGRestartInterval ((PROPID) 0x0203)
-#define PropertyTagJPEGLosslessPredictors ((PROPID) 0x0205)
-#define PropertyTagJPEGPointTransforms ((PROPID) 0x0206)
-#define PropertyTagJPEGQTables ((PROPID) 0x0207)
-#define PropertyTagJPEGDCTables ((PROPID) 0x0208)
-#define PropertyTagJPEGACTables ((PROPID) 0x0209)
-#define PropertyTagYCbCrCoefficients ((PROPID) 0x0211)
-#define PropertyTagYCbCrSubsampling ((PROPID) 0x0212)
-#define PropertyTagYCbCrPositioning ((PROPID) 0x0213)
-#define PropertyTagREFBlackWhite ((PROPID) 0x0214)
-#define PropertyTagGamma ((PROPID) 0x0301)
-#define PropertyTagICCProfileDescriptor ((PROPID) 0x0302)
-#define PropertyTagSRGBRenderingIntent ((PROPID) 0x0303)
-#define PropertyTagImageTitle ((PROPID) 0x0320)
-#define PropertyTagResolutionXUnit ((PROPID) 0x5001)
-#define PropertyTagResolutionYUnit ((PROPID) 0x5002)
-#define PropertyTagResolutionXLengthUnit ((PROPID) 0x5003)
-#define PropertyTagResolutionYLengthUnit ((PROPID) 0x5004)
-#define PropertyTagPrintFlags ((PROPID) 0x5005)
-#define PropertyTagPrintFlagsVersion ((PROPID) 0x5006)
-#define PropertyTagPrintFlagsCrop ((PROPID) 0x5007)
-#define PropertyTagPrintFlagsBleedWidth ((PROPID) 0x5008)
-#define PropertyTagPrintFlagsBleedWidthScale ((PROPID) 0x5009)
-#define PropertyTagHalftoneLPI ((PROPID) 0x500A)
-#define PropertyTagHalftoneLPIUnit ((PROPID) 0x500B)
-#define PropertyTagHalftoneDegree ((PROPID) 0x500C)
-#define PropertyTagHalftoneShape ((PROPID) 0x500D)
-#define PropertyTagHalftoneMisc ((PROPID) 0x500E)
-#define PropertyTagHalftoneScreen ((PROPID) 0x500F)
-#define PropertyTagJPEGQuality ((PROPID) 0x5010)
-#define PropertyTagGridSize ((PROPID) 0x5011)
-#define PropertyTagThumbnailFormat ((PROPID) 0x5012)
-#define PropertyTagThumbnailWidth ((PROPID) 0x5013)
-#define PropertyTagThumbnailHeight ((PROPID) 0x5014)
-#define PropertyTagThumbnailColorDepth ((PROPID) 0x5015)
-#define PropertyTagThumbnailPlanes ((PROPID) 0x5016)
-#define PropertyTagThumbnailRawBytes ((PROPID) 0x5017)
-#define PropertyTagThumbnailSize ((PROPID) 0x5018)
-#define PropertyTagThumbnailCompressedSize ((PROPID) 0x5019)
-#define PropertyTagColorTransferFunction ((PROPID) 0x501A)
-#define PropertyTagThumbnailData ((PROPID) 0x501B)
-#define PropertyTagThumbnailImageWidth ((PROPID) 0x5020)
-#define PropertyTagThumbnailImageHeight ((PROPID) 0x5021)
-#define PropertyTagThumbnailBitsPerSample ((PROPID) 0x5022)
-#define PropertyTagThumbnailCompression ((PROPID) 0x5023)
-#define PropertyTagThumbnailPhotometricInterp ((PROPID) 0x5024)
-#define PropertyTagThumbnailImageDescription ((PROPID) 0x5025)
-#define PropertyTagThumbnailEquipMake ((PROPID) 0x5026)
-#define PropertyTagThumbnailEquipModel ((PROPID) 0x5027)
-#define PropertyTagThumbnailStripOffsets ((PROPID) 0x5028)
-#define PropertyTagThumbnailOrientation ((PROPID) 0x5029)
-#define PropertyTagThumbnailSamplesPerPixel ((PROPID) 0x502A)
-#define PropertyTagThumbnailRowsPerStrip ((PROPID) 0x502B)
-#define PropertyTagThumbnailStripBytesCount ((PROPID) 0x502C)
-#define PropertyTagThumbnailResolutionX ((PROPID) 0x502D)
-#define PropertyTagThumbnailResolutionY ((PROPID) 0x502E)
-#define PropertyTagThumbnailPlanarConfig ((PROPID) 0x502F)
-#define PropertyTagThumbnailResolutionUnit ((PROPID) 0x5030)
-#define PropertyTagThumbnailTransferFunction ((PROPID) 0x5031)
-#define PropertyTagThumbnailSoftwareUsed ((PROPID) 0x5032)
-#define PropertyTagThumbnailDateTime ((PROPID) 0x5033)
-#define PropertyTagThumbnailArtist ((PROPID) 0x5034)
-#define PropertyTagThumbnailWhitePoint ((PROPID) 0x5035)
-#define PropertyTagThumbnailPrimaryChromaticities ((PROPID) 0x5036)
-#define PropertyTagThumbnailYCbCrCoefficients ((PROPID) 0x5037)
-#define PropertyTagThumbnailYCbCrSubsampling ((PROPID) 0x5038)
-#define PropertyTagThumbnailYCbCrPositioning ((PROPID) 0x5039)
-#define PropertyTagThumbnailRefBlackWhite ((PROPID) 0x503A)
-#define PropertyTagThumbnailCopyRight ((PROPID) 0x503B)
-#define PropertyTagLuminanceTable ((PROPID) 0x5090)
-#define PropertyTagChrominanceTable ((PROPID) 0x5091)
-#define PropertyTagFrameDelay ((PROPID) 0x5100)
-#define PropertyTagLoopCount ((PROPID) 0x5101)
-#define PropertyTagGlobalPalette ((PROPID) 0x5102)
-#define PropertyTagIndexBackground ((PROPID) 0x5103)
-#define PropertyTagIndexTransparent ((PROPID) 0x5104)
-#define PropertyTagPixelUnit ((PROPID) 0x5110)
-#define PropertyTagPixelPerUnitX ((PROPID) 0x5111)
-#define PropertyTagPixelPerUnitY ((PROPID) 0x5112)
-#define PropertyTagPaletteHistogram ((PROPID) 0x5113)
-#define PropertyTagCopyright ((PROPID) 0x8298)
-#define PropertyTagExifExposureTime ((PROPID) 0x829A)
-#define PropertyTagExifFNumber ((PROPID) 0x829D)
-#define PropertyTagExifIFD ((PROPID) 0x8769)
-#define PropertyTagICCProfile ((PROPID) 0x8773)
-#define PropertyTagExifExposureProg ((PROPID) 0x8822)
-#define PropertyTagExifSpectralSense ((PROPID) 0x8824)
-#define PropertyTagGpsIFD ((PROPID) 0x8825)
-#define PropertyTagExifISOSpeed ((PROPID) 0x8827)
-#define PropertyTagExifOECF ((PROPID) 0x8828)
-#define PropertyTagExifVer ((PROPID) 0x9000)
-#define PropertyTagExifDTOrig ((PROPID) 0x9003)
-#define PropertyTagExifDTDigitized ((PROPID) 0x9004)
-#define PropertyTagExifCompConfig ((PROPID) 0x9101)
-#define PropertyTagExifCompBPP ((PROPID) 0x9102)
-#define PropertyTagExifShutterSpeed ((PROPID) 0x9201)
-#define PropertyTagExifAperture ((PROPID) 0x9202)
-#define PropertyTagExifBrightness ((PROPID) 0x9203)
-#define PropertyTagExifExposureBias ((PROPID) 0x9204)
-#define PropertyTagExifMaxAperture ((PROPID) 0x9205)
-#define PropertyTagExifSubjectDist ((PROPID) 0x9206)
-#define PropertyTagExifMeteringMode ((PROPID) 0x9207)
-#define PropertyTagExifLightSource ((PROPID) 0x9208)
-#define PropertyTagExifFlash ((PROPID) 0x9209)
-#define PropertyTagExifFocalLength ((PROPID) 0x920A)
-#define PropertyTagExifMakerNote ((PROPID) 0x927C)
-#define PropertyTagExifUserComment ((PROPID) 0x9286)
-#define PropertyTagExifDTSubsec ((PROPID) 0x9290)
-#define PropertyTagExifDTOrigSS ((PROPID) 0x9291)
-#define PropertyTagExifDTDigSS ((PROPID) 0x9292)
-#define PropertyTagExifFPXVer ((PROPID) 0xA000)
-#define PropertyTagExifColorSpace ((PROPID) 0xA001)
-#define PropertyTagExifPixXDim ((PROPID) 0xA002)
-#define PropertyTagExifPixYDim ((PROPID) 0xA003)
-#define PropertyTagExifRelatedWav ((PROPID) 0xA004)
-#define PropertyTagExifInterop ((PROPID) 0xA005)
-#define PropertyTagExifFlashEnergy ((PROPID) 0xA20B)
-#define PropertyTagExifSpatialFR ((PROPID) 0xA20C)
-#define PropertyTagExifFocalXRes ((PROPID) 0xA20E)
-#define PropertyTagExifFocalYRes ((PROPID) 0xA20F)
-#define PropertyTagExifFocalResUnit ((PROPID) 0xA210)
-#define PropertyTagExifSubjectLoc ((PROPID) 0xA214)
-#define PropertyTagExifExposureIndex ((PROPID) 0xA215)
-#define PropertyTagExifSensingMethod ((PROPID) 0xA217)
-#define PropertyTagExifFileSource ((PROPID) 0xA300)
-#define PropertyTagExifSceneType ((PROPID) 0xA301)
-#define PropertyTagExifCfaPattern ((PROPID) 0xA302)
-
-#define PropertyTagTypeByte ((WORD) 1)
-#define PropertyTagTypeASCII ((WORD) 2)
-#define PropertyTagTypeShort ((WORD) 3)
-#define PropertyTagTypeLong ((WORD) 4)
-#define PropertyTagTypeRational ((WORD) 5)
-#define PropertyTagTypeUndefined ((WORD) 7)
-#define PropertyTagTypeSLONG ((WORD) 9)
-#define PropertyTagTypeSRational ((WORD) 10)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern const GUID EncoderChrominanceTable;   /* f2e455dc-09b3-4316-8260-676ada32481c */
-extern const GUID EncoderColorDepth;         /* 66087055-ad66-4c7c-9a18-38a2310b8337 */
-extern const GUID EncoderColorSpace;         /* ? */
-extern const GUID EncoderCompression;        /* e09d739d-ccd4-44ee-8eba-3fbf8be4fc58 */
-extern const GUID EncoderImageItems;         /* ? */
-extern const GUID EncoderLuminanceTable;     /* edb33bce-0266-4a77-b904-27216099e717 */
-extern const GUID EncoderQuality;            /* 1d5be4b5-fa4a-452d-9cdd-5db35105e7eb */
-extern const GUID EncoderRenderMethod;       /* 6d42c53a-229a-4825-8bb7-5c99e2b9a8b8 */
-extern const GUID EncoderSaveAsCMYK;         /* ? */
-extern const GUID EncoderSaveFlag;           /* 292266fc-ac40-47bf-8cfc-a85b89a655de */
-extern const GUID EncoderScanMethod;         /* 3a4e2661-3109-4e56-8536-42c156e7dcfa */
-extern const GUID EncoderTransformation;     /* 8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9 */
-extern const GUID EncoderVersion;            /* 24d18c76-814a-41a4-bf53-1c219cccf797 */
-
-extern const GUID ImageFormatBMP;            /* b96b3cab-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatEMF;            /* b96b3cac-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatEXIF;           /* ? */
-extern const GUID ImageFormatGIF;            /* b96b3cb0-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatIcon;           /* b96b3cb5-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatJPEG;           /* b96b3cae-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatMemoryBMP;      /* b96b3caa-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatPNG;            /* b96b3caf-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatTIFF;           /* b96b3cb1-0728-11d3-9d7b-0000f81ef32e */
-extern const GUID ImageFormatUndefined;      /* ? */
-extern const GUID ImageFormatWMF;            /* b96b3cad-0728-11d3-9d7b-0000f81ef32e */
-
-extern const GUID FrameDimensionPage;        /* 7462dc86-6180-4c7e-8e3f-ee7333a7a483 */
-extern const GUID FrameDimensionResolution;  /* ? */
-extern const GUID FrameDimensionTime;        /* 6aedbd6d-3fb5-418a-83a6-7f45229dc872 */
-
-#ifdef __cplusplus
-}  /* extern "C" */
-#endif
-
-#endif /* __GDIPLUS_IMAGING_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusimpl.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusimpl.h	(revision 1046)
+++ 	(revision )
@@ -1,1613 +1,0 @@
-/*
- * gdiplusimpl.h
- *
- * GDI+ Bitmap, CachedBitmap, CustomLineCap, Font, FontCollection, FontFamily,
- *      Image, InstalledFontCollection, PrivateFontCollection, Region
- *      implementation.  Definitions of these classes are in gdiplusheaders.h.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_IMPL_H
-#define __GDIPLUS_IMPL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusimpl.h."
-#endif
-
-/*
- * FIXME: I called this file gdiplusimpl.h, but what should it really be called?
- * Or did Microsoft create separate files for each class implemented here?
- */
-
-
-// Image
-
-__inline__ Image* Image::FromFile(const WCHAR *filename,
-		BOOL useEmbeddedColorManagement)
-{
-	return new Image(filename, useEmbeddedColorManagement);
-}
-
-__inline__ Image* Image::FromStream(IStream *stream,
-		BOOL useEmbeddedColorManagement)
-{
-	return new Image(stream, useEmbeddedColorManagement);
-}
-
-__inline__ Image::Image(const WCHAR *filename, BOOL useEmbeddedColorManagement):
-	nativeImage(NULL), lastStatus(Ok)
-{
-	if (useEmbeddedColorManagement) {
-		lastStatus = DllExports::GdipLoadImageFromFileICM(
-				filename, &nativeImage);
-	} else {
-		lastStatus = DllExports::GdipLoadImageFromFile(
-				filename, &nativeImage);
-	}
-}
-
-__inline__ Image::Image(IStream *stream, BOOL useEmbeddedColorManagement):
-	nativeImage(NULL), lastStatus(Ok)
-{
-	if (useEmbeddedColorManagement) {
-		lastStatus = DllExports::GdipLoadImageFromStreamICM(
-				stream, &nativeImage);
-	} else {
-		lastStatus = DllExports::GdipLoadImageFromStream(
-				stream, &nativeImage);
-	}
-}
-
-__inline__ Status Image::FindFirstItem(ImageItemData *item)
-{
-	// FIXME: can't test GdipFindFirstImageItem b/c it isn't exported in 1.0
-	return updateStatus(DllExports::GdipFindFirstImageItem(
-			nativeImage, item));
-}
-
-__inline__ Status Image::FindNextItem(ImageItemData *item)
-{
-	// FIXME: can't test GdipFindFirstImageItem b/c it isn't exported in 1.0
-	return updateStatus(DllExports::GdipFindNextImageItem(
-			nativeImage, item));
-}
-
-__inline__ Status Image::GetAllPropertyItems(UINT totalBufferSize,
-		UINT numProperties, PropertyItem *allItems)
-{
-	return updateStatus(DllExports::GdipGetAllPropertyItems(
-			nativeImage, totalBufferSize, numProperties, allItems));
-}
-
-__inline__ Status Image::GetBounds(RectF *srcRect, Unit *srcUnit)
-{
-	return updateStatus(DllExports::GdipGetImageBounds(
-			nativeImage, srcRect, srcUnit));
-}
-
-__inline__ Status Image::GetEncoderParameterList(const CLSID *clsidEncoder,
-		UINT size, EncoderParameters *buffer)
-{
-	return updateStatus(DllExports::GdipGetEncoderParameterList(
-			nativeImage, clsidEncoder, size, buffer));
-}
-
-__inline__ UINT Image::GetEncoderParameterListSize(const CLSID *clsidEncoder)
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetEncoderParameterListSize(
-			nativeImage, clsidEncoder, &result));
-	return result;
-}
-
-__inline__ UINT Image::GetFlags()
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetImageFlags(nativeImage, &result));
-	return result;
-}
-
-__inline__ UINT Image::GetFrameCount(const GUID *dimensionID)
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipImageGetFrameCount(
-			nativeImage, dimensionID, &result));
-	return result;
-}
-
-__inline__ UINT Image::GetFrameDimensionsCount()
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipImageGetFrameDimensionsCount(
-			nativeImage, &result));
-	return result;
-}
-
-__inline__ Status Image::GetFrameDimensionsList(GUID *dimensionIDs, UINT count)
-{
-	return updateStatus(DllExports::GdipImageGetFrameDimensionsList(
-			nativeImage, dimensionIDs, count));
-}
-
-__inline__ UINT Image::GetHeight()
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetImageHeight(nativeImage, &result));
-	return result;
-}
-
-__inline__ REAL Image::GetHorizontalResolution()
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetImageHorizontalResolution(
-			nativeImage, &result));
-	return result;
-}
-
-__inline__ Status Image::GetItemData(ImageItemData *item)
-{
-	// FIXME: can't test GdipGetImageItemData b/c it isn't exported in 1.0
-	return updateStatus(DllExports::GdipGetImageItemData(
-			nativeImage, item));
-}
-
-__inline__ Status Image::GetPalette(ColorPalette *palette, INT size)
-{
-	return updateStatus(DllExports::GdipGetImagePalette(
-			nativeImage, palette, size));
-}
-
-__inline__ INT Image::GetPaletteSize()
-{
-	INT result = 0;
-	updateStatus(DllExports::GdipGetImagePaletteSize(nativeImage, &result));
-	return result;
-}
-
-__inline__ Status Image::GetPhysicalDimension(SizeF *size)
-{
-	if (!size) return lastStatus = InvalidParameter;
-	return updateStatus(DllExports::GdipGetImageDimension(
-			nativeImage, &size->Width, &size->Height));
-}
-
-__inline__ PixelFormat Image::GetPixelFormat()
-{
-	PixelFormat result = (PixelFormat) 0;
-	updateStatus(DllExports::GdipGetImagePixelFormat(nativeImage, &result));
-	return result;
-}
-
-__inline__ UINT Image::GetPropertyCount()
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetPropertyCount(nativeImage, &result));
-	return result;
-}
-
-__inline__ Status Image::GetPropertyIdList(UINT numOfProperty, PROPID *list)
-{
-	return updateStatus(DllExports::GdipGetPropertyIdList(
-			nativeImage, numOfProperty, list));
-}
-
-__inline__ Status Image::GetPropertyItem(PROPID propId, UINT propSize,
-		PropertyItem *buffer)
-{
-	return updateStatus(DllExports::GdipGetPropertyItem(
-			nativeImage, propId, propSize, buffer));
-}
-
-__inline__ UINT Image::GetPropertyItemSize(PROPID propId)
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetPropertyItemSize(
-			nativeImage, propId, &result));
-	return result;
-}
-
-__inline__ Status Image::GetPropertySize(
-		UINT *totalBufferSize, UINT *numProperties)
-{
-	return updateStatus(DllExports::GdipGetPropertySize(
-			nativeImage, totalBufferSize, numProperties));
-}
-
-__inline__ Status Image::GetRawFormat(GUID *format)
-{
-	return updateStatus(DllExports::GdipGetImageRawFormat(
-			nativeImage, format));
-}
-
-__inline__ Image* Image::GetThumbnailImage(UINT thumbWidth, UINT thumbHeight,
-		GetThumbnailImageAbort callback, VOID *callbackData)
-{
-	GpImage *thumbImage = NULL;
-	Status status = updateStatus(DllExports::GdipGetImageThumbnail(
-			nativeImage, thumbWidth, thumbHeight, &thumbImage,
-			callback, callbackData));
-
-	if (status == Ok) {
-		Image *result = new Image(thumbImage, Ok);
-		if (!result) {
-			DllExports::GdipDisposeImage(thumbImage);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-__inline__ ImageType Image::GetType() const
-{
-	ImageType result = ImageTypeUnknown;
-	updateStatus(DllExports::GdipGetImageType(nativeImage, &result));
-	return result;
-}
-
-__inline__ REAL Image::GetVerticalResolution()
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetImageVerticalResolution(
-			nativeImage, &result));
-	return result;
-}
-
-__inline__ UINT Image::GetWidth()
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetImageWidth(nativeImage, &result));
-	return result;
-}
-
-__inline__ Status Image::RemovePropertyItem(PROPID propId)
-{
-	return updateStatus(DllExports::GdipRemovePropertyItem(
-			nativeImage, propId));
-}
-
-__inline__ Status Image::RotateFlip(RotateFlipType rotateFlipType)
-{
-	return updateStatus(DllExports::GdipImageRotateFlip(
-			nativeImage, rotateFlipType));
-}
-
-__inline__ Status Image::Save(const WCHAR *filename, const CLSID *clsidEncoder,
-		const EncoderParameters *encoderParams)
-{
-	return updateStatus(DllExports::GdipSaveImageToFile(
-			nativeImage, filename, clsidEncoder, encoderParams));
-}
-
-__inline__ Status Image::Save(IStream *stream, const CLSID *clsidEncoder,
-		const EncoderParameters *encoderParams)
-{
-	return updateStatus(DllExports::GdipSaveImageToStream(
-			nativeImage, stream, clsidEncoder, encoderParams));
-}
-
-__inline__ Status Image::SaveAdd(const EncoderParameters *encoderParams)
-{
-	return updateStatus(DllExports::GdipSaveAdd(
-			nativeImage, encoderParams));
-}
-
-__inline__ Status Image::SaveAdd(Image *newImage,
-		const EncoderParameters *encoderParams)
-{
-	return updateStatus(DllExports::GdipSaveAddImage(
-			nativeImage,
-			newImage ? newImage->nativeImage : NULL,
-			encoderParams));
-}
-
-__inline__ Status Image::SelectActiveFrame(
-		const GUID *dimensionID, UINT frameIndex)
-{
-	return updateStatus(DllExports::GdipImageSelectActiveFrame(
-			nativeImage, dimensionID, frameIndex));
-}
-
-__inline__ Status Image::SetAbort(GdiplusAbort *pIAbort)
-{
-	// FIXME: can't test GdipImageSetAbort because it isn't exported in 1.0
-	return updateStatus(DllExports::GdipImageSetAbort(
-			nativeImage, pIAbort));
-}
-
-__inline__ Status Image::SetPalette(const ColorPalette *palette)
-{
-	return updateStatus(DllExports::GdipSetImagePalette(
-			nativeImage, palette));
-}
-
-__inline__ Status Image::SetPropertyItem(const PropertyItem *item)
-{
-	return updateStatus(DllExports::GdipSetPropertyItem(nativeImage, item));
-}
-
-
-// Bitmap
-
-__inline__ Bitmap* Bitmap::FromBITMAPINFO(const BITMAPINFO *gdiBitmapInfo,
-		VOID *gdiBitmapData)
-{
-	return new Bitmap(gdiBitmapInfo, gdiBitmapData);
-}
-
-__inline__ Bitmap* Bitmap::FromDirectDrawSurface7(IDirectDrawSurface7 *surface)
-{
-	return new Bitmap(surface);
-}
-
-__inline__ Bitmap* Bitmap::FromFile(const WCHAR *filename,
-		BOOL useEmbeddedColorManagement)
-{
-	return new Bitmap(filename, useEmbeddedColorManagement);
-}
-
-__inline__ Bitmap* Bitmap::FromHBITMAP(HBITMAP hbm, HPALETTE hpal)
-{
-	return new Bitmap(hbm, hpal);
-}
-
-__inline__ Bitmap* Bitmap::FromHICON(HICON icon)
-{
-	return new Bitmap(icon);
-}
-
-__inline__ Bitmap* Bitmap::FromResource(
-		HINSTANCE hInstance, const WCHAR *bitmapName)
-{
-	return new Bitmap(hInstance, bitmapName);
-}
-
-__inline__ Bitmap* Bitmap::FromStream(IStream *stream,
-		BOOL useEmbeddedColorManagement)
-{
-	return new Bitmap(stream, useEmbeddedColorManagement);
-}
-
-//TODO: [GDI+ 1.1] Bitmap::ApplyEffect
-//__inline__ Status Bitmap::ApplyEffect(Bitmap **inputs, INT numInputs,
-//		Effect *effect, RECT *ROI, RECT *outputRect, Bitmap **output)
-//{
-//	return NotImplemented;
-//}
-
-__inline__ Status Bitmap::InitializePalette(ColorPalette *palette,
-		PaletteType paletteType, INT optimalColors,
-		BOOL useTransparentColor, Bitmap *bitmap)
-{
-	// FIXME: can't test GdipInitializePalette b/c it isn't exported in 1.0
-	return DllExports::GdipInitializePalette(palette, paletteType,
-			optimalColors, useTransparentColor,
-			bitmap ? (GpBitmap*) bitmap->nativeImage : NULL);
-}
-
-__inline__ Bitmap::Bitmap(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromGdiDib(
-			gdiBitmapInfo, gdiBitmapData, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(IDirectDrawSurface7 *surface): Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromDirectDrawSurface(
-			surface, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(const WCHAR *filename,
-		BOOL useEmbeddedColorManagement): Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	if (useEmbeddedColorManagement) {
-		lastStatus = DllExports::GdipCreateBitmapFromFileICM(
-				filename, &nativeBitmap);
-	} else {
-		lastStatus = DllExports::GdipCreateBitmapFromFile(
-				filename, &nativeBitmap);
-	}
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(HBITMAP hbm, HPALETTE hpal):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromHBITMAP(
-			hbm, hpal, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(HICON hicon):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromHICON(hicon, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(HINSTANCE hInstance, const WCHAR *bitmapName):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromResource(
-			hInstance, bitmapName, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(IStream *stream, BOOL useEmbeddedColorManagement):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	if (useEmbeddedColorManagement) {
-		lastStatus = DllExports::GdipCreateBitmapFromStreamICM(
-				stream, &nativeBitmap);
-	} else {
-		lastStatus = DllExports::GdipCreateBitmapFromStream(
-				stream, &nativeBitmap);
-	}
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(INT width, INT height, Graphics *target):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromGraphics(
-			width, height, target ? target->nativeGraphics : NULL,
-			&nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(INT width, INT height, PixelFormat format):
-	Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromScan0(
-			width, height, 0, format, NULL, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap::Bitmap(INT width, INT height, INT stride,
-		PixelFormat format, BYTE *scan0): Image(NULL, Ok)
-{
-	GpBitmap *nativeBitmap = NULL;
-	lastStatus = DllExports::GdipCreateBitmapFromScan0(
-			width, height, stride, format, scan0, &nativeBitmap);
-	nativeImage = nativeBitmap;
-}
-
-__inline__ Bitmap* Bitmap::Clone(const RectF& rect, PixelFormat format) const
-{
-	return Clone(rect.X, rect.Y, rect.Width, rect.Height, format);
-}
-
-__inline__ Bitmap* Bitmap::Clone(const Rect& rect, PixelFormat format) const
-{
-	return Clone(rect.X, rect.Y, rect.Width, rect.Height, format);
-}
-
-__inline__ Bitmap* Bitmap::Clone(REAL x, REAL y, REAL width, REAL height,
-		PixelFormat format) const
-{
-	GpBitmap *cloneBitmap = NULL;
-	Status status = updateStatus(DllExports::GdipCloneBitmapArea(
-			x, y, width, height, format,
-			(GpBitmap*) nativeImage, &cloneBitmap));
-	if (status == Ok) {
-		Bitmap *result = new Bitmap(cloneBitmap, lastStatus);
-		if (!result) {
-			DllExports::GdipDisposeImage(cloneBitmap);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-__inline__ Bitmap* Bitmap::Clone(INT x, INT y, INT width, INT height,
-		PixelFormat format) const
-{
-	GpBitmap *cloneBitmap = NULL;
-	Status status = updateStatus(DllExports::GdipCloneBitmapAreaI(
-			x, y, width, height, format,
-			(GpBitmap*) nativeImage, &cloneBitmap));
-	if (status == Ok) {
-		Bitmap *result = new Bitmap(cloneBitmap, lastStatus);
-		if (!result) {
-			DllExports::GdipDisposeImage(cloneBitmap);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-//TODO: [GDI+ 1.1] Bitmap::ApplyEffect
-//__inline__ Status Bitmap::ApplyEffect(Effect *effect, RECT *ROI)
-//{
-//	return NotImplemented;
-//}
-
-__inline__ Status Bitmap::ConvertFormat(PixelFormat format,
-		DitherType ditherType, PaletteType paletteType,
-		ColorPalette *palette, REAL alphaThresholdPercent)
-{
-	// FIXME: can't test GdipBitmapConvertFormat b/c it isn't exported in 1.0
-	return updateStatus(DllExports::GdipBitmapConvertFormat(
-			(GpBitmap*) nativeImage, format, ditherType,
-			paletteType, palette, alphaThresholdPercent));
-}
-
-__inline__ Status Bitmap::GetHBITMAP(
-		const Color& colorBackground, HBITMAP *hbmReturn) const
-{
-	return updateStatus(DllExports::GdipCreateHBITMAPFromBitmap(
-			(GpBitmap*) nativeImage, hbmReturn,
-			colorBackground.GetValue()));
-}
-
-__inline__ Status Bitmap::GetHICON(HICON *icon) const
-{
-	return updateStatus(DllExports::GdipCreateHICONFromBitmap(
-			(GpBitmap*) nativeImage, icon));
-}
-
-__inline__ Status Bitmap::GetHistogram(HistogramFormat format,
-		UINT numberOfEntries,
-		UINT *channel0, UINT *channel1,
-		UINT *channel2, UINT *channel3) const
-{
-	return updateStatus(DllExports::GdipBitmapGetHistogram(
-			(GpBitmap*) nativeImage, format, numberOfEntries,
-			channel0, channel1, channel2, channel3));
-}
-
-__inline__ Status Bitmap::GetHistogramSize(HistogramFormat format,
-		UINT *numberOfEntries) const
-{
-	return updateStatus(DllExports::GdipBitmapGetHistogramSize(
-			format, numberOfEntries));
-}
-
-__inline__ Status Bitmap::GetPixel(INT x, INT y, Color *color) const
-{
-	return updateStatus(DllExports::GdipBitmapGetPixel(
-			(GpBitmap*) nativeImage, x, y,
-			color ? &color->Value : NULL));
-}
-
-__inline__ Status Bitmap::LockBits(const Rect *rect, UINT flags,
-		PixelFormat format, BitmapData *lockedBitmapData)
-{
-	return updateStatus(DllExports::GdipBitmapLockBits(
-			(GpBitmap*) nativeImage, rect, flags, format,
-			lockedBitmapData));
-}
-
-__inline__ Status Bitmap::SetPixel(INT x, INT y, const Color& color)
-{
-	return updateStatus(DllExports::GdipBitmapSetPixel(
-			(GpBitmap*) nativeImage, x, y, color.GetValue()));
-}
-
-__inline__ Status Bitmap::SetResolution(REAL xdpi, REAL ydpi)
-{
-	return updateStatus(DllExports::GdipBitmapSetResolution(
-			(GpBitmap*) nativeImage, xdpi, ydpi));
-}
-
-__inline__ Status Bitmap::UnlockBits(BitmapData *lockedBitmapData)
-{
-	return updateStatus(DllExports::GdipBitmapUnlockBits(
-			(GpBitmap*) nativeImage, lockedBitmapData));
-}
-
-
-// CachedBitmap
-
-__inline__ CachedBitmap::CachedBitmap(Bitmap *bitmap, Graphics *graphics):
-	nativeCachedBitmap(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateCachedBitmap(
-			bitmap ? ((GpBitmap*) bitmap->nativeImage) : NULL,
-			graphics ? graphics->nativeGraphics : NULL,
-			&nativeCachedBitmap);
-}
-
-__inline__ CachedBitmap::~CachedBitmap()
-{
-	DllExports::GdipDeleteCachedBitmap(nativeCachedBitmap);
-}
-
-
-// CustomLineCap
-
-__inline__ CustomLineCap::CustomLineCap(
-		const GraphicsPath *fillPath,
-		const GraphicsPath *strokePath,
-		LineCap baseCap, REAL baseInset):
-		nativeCustomLineCap(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateCustomLineCap(
-			fillPath ? fillPath->nativePath : NULL,
-			strokePath ? strokePath->nativePath : NULL,
-			baseCap, baseInset, &nativeCustomLineCap);
-}
-
-__inline__ LineCap CustomLineCap::GetBaseCap() const
-{
-	LineCap result = LineCapFlat;
-	updateStatus(DllExports::GdipGetCustomLineCapBaseCap(
-			nativeCustomLineCap, &result));
-	return result;
-}
-
-__inline__ REAL CustomLineCap::GetBaseInset() const
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetCustomLineCapBaseInset(
-			nativeCustomLineCap, &result));
-	return result;
-}
-
-__inline__ Status CustomLineCap::GetStrokeCaps(LineCap *startCap,
-		LineCap *endCap) const
-{
-	return updateStatus(DllExports::GdipGetCustomLineCapStrokeCaps(
-			nativeCustomLineCap, startCap, endCap));
-}
-
-__inline__ LineJoin CustomLineCap::GetStrokeJoin() const
-{
-	LineJoin result = LineJoinMiter;
-	updateStatus(DllExports::GdipGetCustomLineCapStrokeJoin(
-			nativeCustomLineCap, &result));
-	return result;
-}
-
-__inline__ REAL CustomLineCap::GetWidthScale() const
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetCustomLineCapWidthScale(
-			nativeCustomLineCap, &result));
-	return result;
-}
-
-__inline__ Status CustomLineCap::SetBaseCap(LineCap baseCap)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapBaseCap(
-			nativeCustomLineCap, baseCap));
-}
-
-__inline__ Status CustomLineCap::SetBaseInset(REAL inset)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapBaseInset(
-			nativeCustomLineCap, inset));
-}
-
-__inline__ Status CustomLineCap::SetStrokeCap(LineCap strokeCap)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapStrokeCaps(
-			nativeCustomLineCap, strokeCap, strokeCap));
-}
-
-__inline__ Status CustomLineCap::SetStrokeCaps(LineCap startCap, LineCap endCap)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapStrokeCaps(
-			nativeCustomLineCap, startCap, endCap));
-}
-
-__inline__ Status CustomLineCap::SetStrokeJoin(LineJoin lineJoin)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapStrokeJoin(
-			nativeCustomLineCap, lineJoin));
-}
-
-__inline__ Status CustomLineCap::SetWidthScale(REAL widthScale)
-{
-	return updateStatus(DllExports::GdipSetCustomLineCapWidthScale(
-			nativeCustomLineCap, widthScale));
-}
-
-
-// Font
-
-__inline__ Font::Font(const FontFamily *family,
-		REAL emSize, INT style, Unit unit):
-		nativeFont(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateFont(
-			family ? family->nativeFontFamily : NULL,
-			emSize, style, unit, &nativeFont);
-}
-
-__inline__ Font::Font(HDC hdc, HFONT hfont):
-	nativeFont(NULL), lastStatus(Ok)
-{
-	LOGFONTW logfont;
-	if (GetObject(hfont, sizeof logfont, &logfont)) {
-		lastStatus = DllExports::GdipCreateFontFromLogfontW(
-				hdc, &logfont, &nativeFont);
-	} else {
-		lastStatus = DllExports::GdipCreateFontFromDC(
-				hdc, &nativeFont);
-	}
-}
-
-__inline__ Font::Font(HDC hdc, const LOGFONTA *logfont):
-	nativeFont(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateFontFromLogfontA(
-			hdc, logfont, &nativeFont);
-}
-
-__inline__ Font::Font(HDC hdc, const LOGFONTW *logfont):
-	nativeFont(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateFontFromLogfontW(
-			hdc, logfont, &nativeFont);
-}
-
-__inline__ Font::Font(HDC hdc):
-	nativeFont(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateFontFromDC(hdc, &nativeFont);
-}
-
-__inline__ Font::Font(const WCHAR *familyName, REAL emSize, INT style,
-		Unit unit, const FontCollection *fontCollection):
-		nativeFont(NULL), lastStatus(Ok)
-{
-	GpFontFamily *nativeFamily = NULL;
-	lastStatus = DllExports::GdipCreateFontFamilyFromName(
-			familyName,
-			fontCollection ? fontCollection->nativeFontCollection : NULL,
-			&nativeFamily);
-
-	if (nativeFamily) {
-		lastStatus = DllExports::GdipCreateFont(
-				nativeFamily, emSize, style, unit, &nativeFont);
-		DllExports::GdipDeleteFontFamily(nativeFamily);
-	}
-}
-
-__inline__ Font::~Font()
-{
-	DllExports::GdipDeleteFont(nativeFont);
-}
-
-__inline__ Font* Font::Clone() const
-{
-	GpFont *cloneFont = NULL;
-	Status status = updateStatus(DllExports::GdipCloneFont(
-			nativeFont, &cloneFont));
-	if (status == Ok) {
-		Font *result = new Font(cloneFont, lastStatus);
-		if (!result) {
-			DllExports::GdipDeleteFont(cloneFont);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-__inline__ Status Font::GetFamily(FontFamily *family) const
-{
-	if (!family) return lastStatus = InvalidParameter;
-	// FIXME: do we need to call GdipDeleteFontFamily first?
-	return family->lastStatus = updateStatus(DllExports::GdipGetFamily(
-			nativeFont, &family->nativeFontFamily));
-}
-
-__inline__ REAL Font::GetHeight(const Graphics *graphics) const
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetFontHeight(
-			nativeFont, graphics ? graphics->nativeGraphics : NULL,
-			&result));
-	return result;
-}
-
-__inline__ REAL Font::GetHeight(REAL dpi) const
-{
-	REAL result = 0.0f;
-	updateStatus(DllExports::GdipGetFontHeightGivenDPI(
-			nativeFont, dpi, &result));
-	return result;
-}
-
-__inline__ Status Font::GetLogFontA(const Graphics *graphics, LOGFONTA *logfontA)
-const
-{
-	return updateStatus(DllExports::GdipGetLogFontA(
-			nativeFont, graphics ? graphics->nativeGraphics : NULL,
-			logfontA));
-}
-
-__inline__ Status Font::GetLogFontW(const Graphics *graphics, LOGFONTW *logfontW)
-const
-{
-	return updateStatus(DllExports::GdipGetLogFontW(
-			nativeFont, graphics ? graphics->nativeGraphics : NULL,
-			logfontW));
-}
-
-__inline__ REAL Font::GetSize() const
-{
-	REAL result = 0.0;
-	updateStatus(DllExports::GdipGetFontSize(nativeFont, &result));
-	return result;
-}
-
-__inline__ INT Font::GetStyle() const
-{
-	INT result = FontStyleRegular;
-	updateStatus(DllExports::GdipGetFontStyle(nativeFont, &result));
-	return result;
-}
-
-__inline__ Unit Font::GetUnit() const
-{
-	Unit result = UnitPoint;
-	updateStatus(DllExports::GdipGetFontUnit(nativeFont, &result));
-	return result;
-}
-
-
-// FontCollection
-
-__inline__ FontCollection::FontCollection():
-	nativeFontCollection(NULL), lastStatus(Ok)
-{
-}
-
-__inline__ Status FontCollection::GetFamilies(INT numSought,
-		FontFamily *families, INT *numFound) const
-{
-	if (numSought <= 0 || !families || !numFound)
-		return lastStatus = InvalidParameter;
-
-	for (int i = 0; i < numSought; ++i) {
-		families[i].nativeFontFamily = NULL;
-		families[i].lastStatus = FontFamilyNotFound;
-	}
-	*numFound = 0;
-
-	GpFontFamily **nativeFamilyArray = (GpFontFamily**)
-		DllExports::GdipAlloc(numSought * sizeof (GpFontFamily*));
-	if (!nativeFamilyArray)
-		return lastStatus = OutOfMemory;
-
-	Status status = updateStatus(DllExports::GdipGetFontCollectionFamilyList(
-			nativeFontCollection, numSought, nativeFamilyArray,
-			numFound));
-
-	// FIXME: must the native GpFontFamily objects be cloned? Seems so.
-	// (if this is not done, the "Creating a Private Font Collection"
-	// example crashes on "delete[] pFontFamily")
-
-	if (status == Ok) {
-		for (int i = 0; i < *numFound; ++i) {
-			families[i].lastStatus =
-				updateStatus(DllExports::GdipCloneFontFamily(
-					nativeFamilyArray[i],
-					&families[i].nativeFontFamily));
-		}
-	}
-
-	DllExports::GdipFree(nativeFamilyArray);
-	return status;
-}
-
-__inline__ INT FontCollection::GetFamilyCount() const
-{
-	INT result = 0;
-	updateStatus(DllExports::GdipGetFontCollectionFamilyCount(
-			nativeFontCollection, &result));
-	return result;
-}
-
-
-// FontFamily
-
-// FIXME: do FontFamily::GenericMonospace() et al. need to be thread safe?
-// FIXME: maybe put parts of this in gdiplus.c
-
-extern "C" void *_GdipFontFamilyCachedGenericMonospace;
-extern "C" void *_GdipFontFamilyCachedGenericSansSerif;
-extern "C" void *_GdipFontFamilyCachedGenericSerif;
-
-__inline__ const FontFamily* FontFamily::GenericMonospace()
-{
-	if (!_GdipFontFamilyCachedGenericMonospace) {
-		GpFontFamily *nativeFontFamily = 0;
-		Status status = DllExports::GdipGetGenericFontFamilyMonospace(
-				&nativeFontFamily);
-		if (status == Ok && nativeFontFamily) {
-			_GdipFontFamilyCachedGenericMonospace = (void*)
-				new FontFamily(nativeFontFamily, Ok);
-		}
-	}
-	return (FontFamily*) _GdipFontFamilyCachedGenericMonospace;
-}
-
-__inline__ const FontFamily* FontFamily::GenericSansSerif()
-{
-	if (!_GdipFontFamilyCachedGenericSansSerif) {
-		GpFontFamily *nativeFontFamily = 0;
-		Status status = DllExports::GdipGetGenericFontFamilySansSerif(
-				&nativeFontFamily);
-		if (status == Ok && nativeFontFamily) {
-			_GdipFontFamilyCachedGenericSansSerif = (void*)
-				new FontFamily(nativeFontFamily, Ok);
-		}
-	}
-	return (FontFamily*) _GdipFontFamilyCachedGenericSansSerif;
-}
-
-__inline__ const FontFamily* FontFamily::GenericSerif()
-{
-	if (!_GdipFontFamilyCachedGenericSerif) {
-		GpFontFamily *nativeFontFamily = 0;
-		Status status = DllExports::GdipGetGenericFontFamilySerif(
-				&nativeFontFamily);
-		if (status == Ok && nativeFontFamily) {
-			_GdipFontFamilyCachedGenericSerif = (void*)
-				new FontFamily(nativeFontFamily, Ok);
-		}
-	}
-	return (FontFamily*) _GdipFontFamilyCachedGenericSerif;
-}
-
-__inline__ FontFamily::FontFamily():
-	nativeFontFamily(NULL), lastStatus(Ok)
-{
-}
-
-__inline__ FontFamily::FontFamily(const WCHAR *name,
-		const FontCollection *fontCollection):
-		nativeFontFamily(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateFontFamilyFromName(name,
-			fontCollection ? fontCollection->nativeFontCollection : NULL,
-			&nativeFontFamily);
-}
-
-__inline__ FontFamily::~FontFamily()
-{
-	DllExports::GdipDeleteFontFamily(nativeFontFamily);
-}
-
-__inline__ FontFamily* FontFamily::Clone() const
-{
-	GpFontFamily *cloneFontFamily = NULL;
-	Status status = updateStatus(DllExports::GdipCloneFontFamily(
-			nativeFontFamily, &cloneFontFamily));
-	if (status == Ok) {
-		FontFamily *result = new FontFamily(cloneFontFamily, lastStatus);
-		if (!result) {
-			DllExports::GdipDeleteFontFamily(cloneFontFamily);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-__inline__ UINT16 FontFamily::GetCellAscent(INT style) const
-{
-	UINT16 result = 0;
-	updateStatus(DllExports::GdipGetCellAscent(
-			nativeFontFamily, style, &result));
-	return result;
-}
-
-__inline__ UINT16 FontFamily::GetCellDescent(INT style) const
-{
-	UINT16 result = 0;
-	updateStatus(DllExports::GdipGetCellDescent(
-			nativeFontFamily, style, &result));
-	return result;
-}
-
-__inline__ UINT16 FontFamily::GetEmHeight(INT style) const
-{
-	UINT16 result = 0;
-	updateStatus(DllExports::GdipGetEmHeight(
-			nativeFontFamily, style, &result));
-	return result;
-}
-
-__inline__ Status FontFamily::GetFamilyName(WCHAR name[LF_FACESIZE],
-		LANGID language) const
-{
-	return updateStatus(DllExports::GdipGetFamilyName(
-			nativeFontFamily, name, language));
-}
-
-__inline__ UINT16 FontFamily::GetLineSpacing(INT style) const
-{
-	UINT16 result = 0;
-	updateStatus(DllExports::GdipGetLineSpacing(
-			nativeFontFamily, style, &result));
-	return result;
-}
-
-__inline__ BOOL FontFamily::IsStyleAvailable(INT style) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsStyleAvailable(
-			nativeFontFamily, style, &result));
-	return result;
-}
-
-
-// InstalledFontCollection
-
-__inline__ InstalledFontCollection::InstalledFontCollection()
-{
-	lastStatus = DllExports::GdipNewInstalledFontCollection(
-			&nativeFontCollection);
-}
-
-
-// PrivateFontCollection
-
-__inline__ PrivateFontCollection::PrivateFontCollection()
-{
-	lastStatus = DllExports::GdipNewPrivateFontCollection(
-			&nativeFontCollection);
-}
-
-__inline__ Status PrivateFontCollection::AddFontFile(const WCHAR *filename)
-{
-	return updateStatus(DllExports::GdipPrivateAddFontFile(
-			nativeFontCollection, filename));
-}
-
-__inline__ Status PrivateFontCollection::AddMemoryFont(
-		const VOID *memory, INT length)
-{
-	return updateStatus(DllExports::GdipPrivateAddMemoryFont(
-			nativeFontCollection, memory, length));
-}
-
-
-// Region
-
-__inline__ Region* Region::FromHRGN(HRGN hrgn)
-{
-	return new Region(hrgn);
-}
-
-__inline__ Region::Region(): nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegion(&nativeRegion);
-}
-
-__inline__ Region::Region(const RectF& rect): nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegionRect(&rect, &nativeRegion);
-}
-
-__inline__ Region::Region(const Rect& rect): nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegionRectI(&rect, &nativeRegion);
-}
-
-__inline__ Region::Region(const GraphicsPath *path):
-	nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegionPath(
-			path ? path->nativePath : NULL, &nativeRegion);
-}
-
-__inline__ Region::Region(const BYTE *regionData, INT size):
-	nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegionRgnData(
-			regionData, size, &nativeRegion);
-}
-
-__inline__ Region::Region(HRGN hrgn): nativeRegion(NULL), lastStatus(Ok)
-{
-	lastStatus = DllExports::GdipCreateRegionHrgn(hrgn, &nativeRegion);
-}
-
-__inline__ Region::~Region()
-{
-	DllExports::GdipDeleteRegion(nativeRegion);
-}
-
-__inline__ Region* Region::Clone() const
-{
-	GpRegion *cloneRegion = NULL;
-	Status status = updateStatus(DllExports::GdipCloneRegion(
-			nativeRegion, &cloneRegion));
-	if (status == Ok) {
-		Region *result = new Region(cloneRegion, lastStatus);
-		if (!result) {
-			DllExports::GdipDeleteRegion(cloneRegion);
-			lastStatus = OutOfMemory;
-		}
-		return result;
-	} else {
-		return NULL;
-	}
-}
-
-__inline__ Status Region::Complement(const RectF& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRect(
-			nativeRegion, &rect, CombineModeComplement));
-}
-
-__inline__ Status Region::Complement(const Rect& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRectI(
-			nativeRegion, &rect, CombineModeComplement));
-}
-
-__inline__ Status Region::Complement(const Region *region)
-{
-	return updateStatus(DllExports::GdipCombineRegionRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			CombineModeComplement));
-}
-
-__inline__ Status Region::Complement(const GraphicsPath *path)
-{
-	return updateStatus(DllExports::GdipCombineRegionPath(
-			nativeRegion, path ? path->nativePath : NULL,
-			CombineModeComplement));
-}
-
-__inline__ BOOL Region::Equals(const Region *region, const Graphics *graphics)
-const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsEqualRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ Status Region::Exclude(const RectF& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRect(
-			nativeRegion, &rect, CombineModeExclude));
-}
-
-__inline__ Status Region::Exclude(const Rect& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRectI(
-			nativeRegion, &rect, CombineModeExclude));
-}
-
-__inline__ Status Region::Exclude(const Region *region)
-{
-	return updateStatus(DllExports::GdipCombineRegionRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			CombineModeExclude));
-}
-
-__inline__ Status Region::Exclude(const GraphicsPath *path)
-{
-	return updateStatus(DllExports::GdipCombineRegionPath(
-			nativeRegion, path ? path->nativePath : NULL,
-			CombineModeExclude));
-}
-
-__inline__ Status Region::GetBounds(RectF *rect, const Graphics *graphics) const
-{
-	return updateStatus(DllExports::GdipGetRegionBounds(nativeRegion,
-			graphics ? graphics->nativeGraphics : NULL, rect));
-}
-
-__inline__ Status Region::GetBounds(Rect *rect, const Graphics *graphics) const
-{
-	return updateStatus(DllExports::GdipGetRegionBoundsI(nativeRegion,
-			graphics ? graphics->nativeGraphics : NULL, rect));
-}
-
-__inline__ Status Region::GetData(BYTE *buffer, UINT bufferSize,
-		UINT *sizeFilled) const
-{
-	return updateStatus(DllExports::GdipGetRegionData(
-			nativeRegion, buffer, bufferSize, sizeFilled));
-}
-
-__inline__ UINT Region::GetDataSize() const
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetRegionDataSize(nativeRegion, &result));
-	return result;
-}
-
-__inline__ HRGN Region::GetHRGN(const Graphics *graphics) const
-{
-	HRGN result = NULL;
-	updateStatus(DllExports::GdipGetRegionHRgn(nativeRegion,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ Status Region::GetRegionScans(const Matrix *matrix,
-		RectF *rects, INT *count) const
-{
-	return updateStatus(DllExports::GdipGetRegionScans(
-			nativeRegion, rects, count,
-			matrix ? matrix->nativeMatrix : NULL));
-}
-
-__inline__ Status Region::GetRegionScans(const Matrix *matrix,
-		Rect *rects, INT *count) const
-{
-	return updateStatus(DllExports::GdipGetRegionScansI(
-			nativeRegion, rects, count,
-			matrix ? matrix->nativeMatrix : NULL));
-}
-
-__inline__ UINT Region::GetRegionScansCount(const Matrix *matrix) const
-{
-	UINT result = 0;
-	updateStatus(DllExports::GdipGetRegionScansCount(
-			nativeRegion, &result,
-			matrix ? matrix->nativeMatrix : NULL));
-	return result;
-}
-
-__inline__ Status Region::Intersect(const RectF& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRect(
-			nativeRegion, &rect, CombineModeIntersect));
-}
-
-__inline__ Status Region::Intersect(const Rect& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRectI(
-			nativeRegion, &rect, CombineModeIntersect));
-}
-
-__inline__ Status Region::Intersect(const Region *region)
-{
-	return updateStatus(DllExports::GdipCombineRegionRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			CombineModeIntersect));
-}
-
-__inline__ Status Region::Intersect(const GraphicsPath *path)
-{
-	return updateStatus(DllExports::GdipCombineRegionPath(
-			nativeRegion, path ? path->nativePath : NULL,
-			CombineModeIntersect));
-}
-
-__inline__ BOOL Region::IsEmpty(const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsEmptyRegion(nativeRegion,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsInfinite(const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsInfiniteRegion(nativeRegion,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(REAL x, REAL y,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionPoint(
-			nativeRegion, x, y,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(INT x, INT y,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionPointI(
-			nativeRegion, x, y,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(const PointF& point,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionPoint(
-			nativeRegion, point.X, point.Y,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(const Point& point,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionPointI(
-			nativeRegion, point.X, point.Y,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(REAL x, REAL y, REAL width, REAL height,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionRect(
-			nativeRegion, x, y, width, height,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(INT x, INT y, INT width, INT height,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionRectI(
-			nativeRegion, x, y, width, height,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(const RectF& rect,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionRect(
-			nativeRegion, rect.X, rect.Y, rect.Width, rect.Height,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL Region::IsVisible(const Rect& rect,
-		const Graphics *graphics) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisibleRegionRectI(
-			nativeRegion, rect.X, rect.Y, rect.Width, rect.Height,
-			graphics ? graphics->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ Status Region::MakeEmpty()
-{
-	return updateStatus(DllExports::GdipSetEmpty(nativeRegion));
-}
-
-__inline__ Status Region::MakeInfinite()
-{
-	return updateStatus(DllExports::GdipSetInfinite(nativeRegion));
-}
-
-__inline__ Status Region::Transform(const Matrix *matrix)
-{
-	return updateStatus(DllExports::GdipTransformRegion(
-			nativeRegion, matrix ? matrix->nativeMatrix : NULL));
-}
-
-__inline__ Status Region::Translate(REAL dx, REAL dy)
-{
-	return updateStatus(DllExports::GdipTranslateRegion(
-			nativeRegion, dx, dy));
-}
-
-__inline__ Status Region::Translate(INT dx, INT dy)
-{
-	return updateStatus(DllExports::GdipTranslateRegionI(
-			nativeRegion, dx, dy));
-}
-
-__inline__ Status Region::Union(const RectF& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRect(
-			nativeRegion, &rect, CombineModeUnion));
-}
-
-__inline__ Status Region::Union(const Rect& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRectI(
-			nativeRegion, &rect, CombineModeUnion));
-}
-
-__inline__ Status Region::Union(const Region *region)
-{
-	return updateStatus(DllExports::GdipCombineRegionRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			CombineModeUnion));
-}
-
-__inline__ Status Region::Union(const GraphicsPath *path)
-{
-	return updateStatus(DllExports::GdipCombineRegionPath(
-			nativeRegion, path ? path->nativePath : NULL,
-			CombineModeUnion));
-}
-
-__inline__ Status Region::Xor(const RectF& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRect(
-			nativeRegion, &rect, CombineModeXor));
-}
-
-__inline__ Status Region::Xor(const Rect& rect)
-{
-	return updateStatus(DllExports::GdipCombineRegionRectI(
-			nativeRegion, &rect, CombineModeXor));
-}
-
-__inline__ Status Region::Xor(const Region *region)
-{
-	return updateStatus(DllExports::GdipCombineRegionRegion(
-			nativeRegion, region ? region->nativeRegion : NULL,
-			CombineModeXor));
-}
-
-__inline__ Status Region::Xor(const GraphicsPath *path)
-{
-	return updateStatus(DllExports::GdipCombineRegionPath(
-			nativeRegion, path ? path->nativePath : NULL,
-			CombineModeXor));
-}
-
-
-// GraphicsPath
-
-__inline__ BOOL GraphicsPath::IsOutlineVisible(REAL x, REAL y, const Pen *pen,
-		const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsOutlineVisiblePathPoint(
-			nativePath, x, y, pen ? pen->nativePen : NULL,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsOutlineVisible(INT x, INT y, const Pen *pen,
-		const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsOutlineVisiblePathPointI(
-			nativePath, x, y, pen ? pen->nativePen : NULL,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsOutlineVisible(const PointF& point, const Pen *pen,
-		const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsOutlineVisiblePathPoint(
-			nativePath, point.X, point.Y,
-			pen ? pen->nativePen : NULL,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsOutlineVisible(const Point& point, const Pen *pen,
-		const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsOutlineVisiblePathPointI(
-			nativePath, point.X, point.Y,
-			pen ? pen->nativePen : NULL,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsVisible(REAL x, REAL y, const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisiblePathPoint(
-			nativePath, x, y,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-__inline__ BOOL GraphicsPath::IsVisible(INT x, INT y, const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisiblePathPointI(
-			nativePath, x, y,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsVisible(const PointF& point,
-		const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisiblePathPoint(
-			nativePath, point.X, point.Y,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-__inline__ BOOL GraphicsPath::IsVisible(const Point& point, const Graphics *g) const
-{
-	BOOL result = FALSE;
-	updateStatus(DllExports::GdipIsVisiblePathPointI(
-			nativePath, point.X, point.Y,
-			g ? g->nativeGraphics : NULL, &result));
-	return result;
-}
-
-
-// PathData
-
-__inline__ Status PathData::AllocateArrays(INT capacity)
-{
-	if (capacity < 0) {
-		return InvalidParameter;
-	} else if (Count < capacity) {
-		FreeArrays();
-
-		PointF *pointArray = (PointF*)
-			DllExports::GdipAlloc(capacity * sizeof(PointF));
-		if (!pointArray)
-			return OutOfMemory;
-
-		BYTE *typeArray = (BYTE*)
-			DllExports::GdipAlloc(capacity * sizeof(BYTE));
-		if (!typeArray) {
-			DllExports::GdipFree(pointArray);
-			return OutOfMemory;
-		}
-
-		Count = capacity;
-		Points = pointArray;
-		Types = typeArray;
-	}
-	return Ok;
-}
-
-__inline__ VOID PathData::FreeArrays()
-{
-	if (Points) DllExports::GdipFree(Points);
-	if (Types) DllExports::GdipFree(Types);
-	Count = 0;
-	Points = NULL;
-	Types = NULL;
-}
-
-#endif /* __GDIPLUS_IMPL_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusinit.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusinit.h	(revision 1046)
+++ 	(revision )
@@ -1,74 +1,0 @@
-/*
- * gdiplusinit.h
- *
- * GDI+ Initialization
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_INIT_H
-#define __GDIPLUS_INIT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef struct GdiplusStartupInput {
-	UINT32 GdiplusVersion;
-	DebugEventProc DebugEventCallback;
-	BOOL SuppressBackgroundThread;
-	BOOL SuppressExternalCodecs;
-
-	#ifdef __cplusplus
-	GdiplusStartupInput(DebugEventProc debugEventCallback = NULL,
-	                    BOOL suppressBackgroundThread = FALSE,
-	                    BOOL suppressExternalCodecs = FALSE):
-		GdiplusVersion(1),
-		DebugEventCallback(debugEventCallback),
-		SuppressBackgroundThread(suppressBackgroundThread),
-		SuppressExternalCodecs(suppressExternalCodecs) {}
-	#endif /* __cplusplus */
-} GdiplusStartupInput;
-
-typedef GpStatus WINGDIPAPI (*NotificationHookProc)(ULONG_PTR *token);
-typedef VOID WINGDIPAPI (*NotificationUnhookProc)(ULONG_PTR token);
-
-typedef struct GdiplusStartupOutput {
-	NotificationHookProc NotificationHook;
-	NotificationUnhookProc NotificationUnhook;
-
-	#ifdef __cplusplus
-	GdiplusStartupOutput():
-		NotificationHook(NULL),
-		NotificationUnhook(NULL) {}
-	#endif /* __cplusplus */
-} GdiplusStartupOutput;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-GpStatus WINGDIPAPI GdiplusStartup(ULONG_PTR*,GDIPCONST GdiplusStartupInput*,GdiplusStartupOutput*);
-VOID WINGDIPAPI GdiplusShutdown(ULONG_PTR);
-GpStatus WINGDIPAPI GdiplusNotificationHook(ULONG_PTR*);
-VOID WINGDIPAPI GdiplusNotificationUnhook(ULONG_PTR);
-
-#ifdef __cplusplus
-}  /* extern "C" */
-#endif
-
-
-#endif /* __GDIPLUS_INIT_H */
Index: Daodan/MinGW/include/gdiplus/gdipluslinecaps.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluslinecaps.h	(revision 1046)
+++ 	(revision )
@@ -1,131 +1,0 @@
-/*
- * gdipluslinecaps.h
- *
- * GDI+ AdjustableArrowCap class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_LINECAPS_H
-#define __GDIPLUS_LINECAPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdipluslinecaps.h."
-#endif
-
-class AdjustableArrowCap: public CustomLineCap
-{
-public:
-	AdjustableArrowCap(REAL height, REAL width, BOOL isFilled):
-		CustomLineCap(NULL, Ok)
-	{
-		GpAdjustableArrowCap *nativeAdjustableArrowCap = NULL;
-		lastStatus = DllExports::GdipCreateAdjustableArrowCap(
-				height, width, isFilled,
-				&nativeAdjustableArrowCap);
-		nativeCustomLineCap = nativeAdjustableArrowCap;
-	}
-	virtual ~AdjustableArrowCap()
-	{
-	}
-	virtual AdjustableArrowCap* Clone() const
-	{
-		GpCustomLineCap *cloneCustomLineCap = NULL;
-		Status status = updateStatus(DllExports::GdipCloneCustomLineCap(
-				nativeCustomLineCap, &cloneCustomLineCap));
-		if (status == Ok) {
-			AdjustableArrowCap *result = new AdjustableArrowCap(
-					cloneCustomLineCap, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteCustomLineCap(
-						cloneCustomLineCap);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	REAL GetHeight() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetAdjustableArrowCapHeight(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				&result));
-		return result;
-	}
-	REAL GetMiddleInset() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetAdjustableArrowCapMiddleInset(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				&result));
-		return result;
-	}
-	REAL GetWidth() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetAdjustableArrowCapWidth(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				&result));
-		return result;
-	}
-	BOOL IsFilled() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipGetAdjustableArrowCapFillState(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				&result));
-		return result;
-	}
-	Status SetFillState(BOOL isFilled)
-	{
-		return updateStatus(DllExports::GdipSetAdjustableArrowCapFillState(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				isFilled));
-	}
-	Status SetHeight(REAL height)
-	{
-		return updateStatus(DllExports::GdipSetAdjustableArrowCapHeight(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				height));
-	}
-	Status SetMiddleInset(REAL middleInset)
-	{
-		return updateStatus(DllExports::GdipSetAdjustableArrowCapMiddleInset(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				middleInset));
-	}
-	Status SetWidth(REAL width)
-	{
-		return updateStatus(DllExports::GdipSetAdjustableArrowCapWidth(
-				(GpAdjustableArrowCap*) nativeCustomLineCap,
-				width));
-	}
-
-private:
-	AdjustableArrowCap(GpCustomLineCap *customLineCap, Status status):
-		CustomLineCap(customLineCap, status) {}
-	AdjustableArrowCap(const AdjustableArrowCap&);
-	AdjustableArrowCap& operator=(const AdjustableArrowCap&);
-};
-
-#endif /* __GDIPLUS_LINECAPS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusmatrix.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusmatrix.h	(revision 1046)
+++ 	(revision )
@@ -1,240 +1,0 @@
-/*
- * gdiplusmatrix.h
- *
- * GDI+ Matrix class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_MATRIX_H
-#define __GDIPLUS_MATRIX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusmatrix.h."
-#endif
-
-#define GDIP_MATRIX_PI \
-	3.1415926535897932384626433832795028841971693993751058209749445923078164
-
-class Matrix: public GdiplusBase
-{
-	friend class Graphics;
-	friend class GraphicsPath;
-	friend class LinearGradientBrush;
-	friend class PathGradientBrush;
-	friend class Pen;
-	friend class Region;
-	friend class TextureBrush;
-
-public:
-	Matrix(): nativeMatrix(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateMatrix(&nativeMatrix);
-	}
-	Matrix(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy):
-			nativeMatrix(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateMatrix2(
-				m11, m12, m21, m22, dx, dy,
-				&nativeMatrix);
-	}
-	Matrix(const RectF& rect, const PointF *dstplg):
-			nativeMatrix(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateMatrix3(
-				&rect, dstplg, &nativeMatrix);
-	}
-	Matrix(const Rect& rect, const Point *dstplg):
-			nativeMatrix(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateMatrix3I(
-				&rect, dstplg, &nativeMatrix);
-	}
-	~Matrix()
-	{
-		DllExports::GdipDeleteMatrix(nativeMatrix);
-	}
-	Matrix* Clone() const
-	{
-		GpMatrix *cloneMatrix = NULL;
-		Status status = updateStatus(DllExports::GdipCloneMatrix(
-				nativeMatrix, &cloneMatrix));
-		if (status == Ok) {
-			Matrix *result = new Matrix(cloneMatrix, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteMatrix(cloneMatrix);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	BOOL Equals(const Matrix *matrix) const
-	{
-		BOOL result;
-		updateStatus(DllExports::GdipIsMatrixEqual(
-				nativeMatrix,
-				matrix ? matrix->nativeMatrix : NULL, &result));
-		return result;
-	}
-	Status GetElements(REAL *m) const
-	{
-		return updateStatus(DllExports::GdipGetMatrixElements(
-				nativeMatrix, m));
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	Status Invert()
-	{
-		return updateStatus(DllExports::GdipInvertMatrix(nativeMatrix));
-	}
-	BOOL IsIdentity() const
-	{
-		BOOL result;
-		updateStatus(DllExports::GdipIsMatrixIdentity(
-				nativeMatrix, &result));
-		return result;
-	}
-	BOOL IsInvertible() const
-	{
-		BOOL result;
-		updateStatus(DllExports::GdipIsMatrixInvertible(
-				nativeMatrix, &result));
-		return result;
-	}
-	Status Multiply(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyMatrix(
-				nativeMatrix,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	REAL OffsetX() const
-	{
-		REAL m[6];
-		updateStatus(DllExports::GdipGetMatrixElements(nativeMatrix, m));
-		return m[4];
-	}
-	REAL OffsetY() const
-	{
-		REAL m[6];
-		updateStatus(DllExports::GdipGetMatrixElements(nativeMatrix, m));
-		return m[5];
-	}
-	Status Reset()
-	{
-		return updateStatus(DllExports::GdipSetMatrixElements(
-				nativeMatrix,
-				1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f));
-	}
-	Status Rotate(REAL angle, MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotateMatrix(
-				nativeMatrix, angle, order));
-	}
-	Status RotateAt(REAL angle, const PointF& center,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		REAL angleRadian = angle * GDIP_MATRIX_PI / 180.0f;
-		REAL cosAngle = ::cos(angleRadian);
-		REAL sinAngle = ::sin(angleRadian);
-		REAL x = center.X;
-		REAL y = center.Y;
-
-		Matrix matrix2(cosAngle, sinAngle, -sinAngle, cosAngle,
-				x * (1.0f-cosAngle) + y * sinAngle,
-				-x * sinAngle + y * (1.0f-cosAngle));
-		Status status = matrix2.GetLastStatus();
-		if (status == Ok) {
-			return Multiply(&matrix2, order);
-		} else {
-			return lastStatus = status;
-		}
-	}
-	Status Scale(REAL scaleX, REAL scaleY,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScaleMatrix(
-				nativeMatrix, scaleX, scaleY, order));
-	}
-	Status SetElements(REAL m11, REAL m12, REAL m21, REAL m22,
-			REAL dx, REAL dy)
-	{
-		return updateStatus(DllExports::GdipSetMatrixElements(
-				nativeMatrix, m11, m12, m21, m22, dx, dy));
-	}
-	Status Shear(REAL shearX, REAL shearY,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipShearMatrix(
-				nativeMatrix, shearX, shearY, order));
-	}
-	Status TransformPoints(PointF *pts, INT count = 1) const
-	{
-		return updateStatus(DllExports::GdipTransformMatrixPoints(
-				nativeMatrix, pts, count));
-	}
-	Status TransformPoints(Point *pts, INT count = 1) const
-	{
-		return updateStatus(DllExports::GdipTransformMatrixPointsI(
-				nativeMatrix, pts, count));
-	}
-	Status TransformVectors(PointF *pts, INT count = 1) const
-	{
-		return updateStatus(DllExports::GdipVectorTransformMatrixPoints(
-				nativeMatrix, pts, count));
-	}
-	Status TransformVectors(Point *pts, INT count = 1) const
-	{
-		return updateStatus(DllExports::GdipVectorTransformMatrixPointsI(
-				nativeMatrix, pts, count));
-	}
-	Status Translate(REAL offsetX, REAL offsetY,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslateMatrix(
-				nativeMatrix, offsetX, offsetY, order));
-	}
-
-private:
-	Matrix(GpMatrix *matrix, Status status):
-		nativeMatrix(matrix), lastStatus(status) {}
-	Matrix(const Matrix&);
-	Matrix& operator=(const Matrix&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpMatrix *nativeMatrix;
-	mutable Status lastStatus;
-};
-
-#undef GDIP_MATRIX_PI
-
-#endif /* __GDIPLUS_MATRIX_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusmem.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusmem.h	(revision 1046)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- * gdiplusmem.h
- *
- * GDI+ memory allocation
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_MEM_H
-#define __GDIPLUS_MEM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-namespace DllExports {
-extern "C" {
-#endif
-
-VOID* WINGDIPAPI GdipAlloc(size_t);
-VOID WINGDIPAPI GdipFree(VOID*);
-
-#ifdef __cplusplus
-}  /* extern "C" */
-}  /* namespace DllExports */
-#endif
-
-#endif /* __GDIPLUS_MEM_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusmetafile.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusmetafile.h	(revision 1046)
+++ 	(revision )
@@ -1,305 +1,0 @@
-/*
- * gdiplusmetafile.h
- *
- * GDI+ Metafile class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_METAFILE_H
-#define __GDIPLUS_METAFILE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusmetafile.h."
-#endif
-
-class Metafile: public Image
-{
-public:
-	static UINT EmfToWmfBits(HENHMETAFILE hEmf,
-			UINT cbData16, LPBYTE pData16,
-			INT iMapMode = MM_ANISOTROPIC,
-			EmfToWmfBitsFlags eFlags = EmfToWmfBitsFlagsDefault)
-	{
-		return DllExports::GdipEmfToWmfBits(hEmf,
-				cbData16, pData16, iMapMode, eFlags);
-	}
-	static Status GetMetafileHeader(const WCHAR *filename,
-			MetafileHeader *header)
-	{
-		return DllExports::GdipGetMetafileHeaderFromFile(
-				filename, header);
-	}
-	static Status GetMetafileHeader(IStream *stream, MetafileHeader *header)
-	{
-		return DllExports::GdipGetMetafileHeaderFromStream(
-				stream, header);
-	}
-	////TODO: Metafile::GetMetafileHeader
-	//static Status GetMetafileHeader(HMETAFILE hWmf,
-	//		const WmfPlaceableFileHeader *wmfPlaceableFileHeader,
-	//		MetafileHeader *header)
-	//{
-	//	// WTF: No flat API to do this.
-	//	return NotImplemented;
-	//}
-	static Status GetMetafileHeader(HENHMETAFILE hEmf,
-			MetafileHeader *header)
-	{
-		return DllExports::GdipGetMetafileHeaderFromEmf(hEmf, header);
-	}
-
-	Metafile(HMETAFILE hWmf,
-			const WmfPlaceableFileHeader *wmfPlaceableFileHeader,
-			BOOL deleteWmf = FALSE): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipCreateMetafileFromWmf(
-				hWmf, deleteWmf, wmfPlaceableFileHeader,
-				&nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(HENHMETAFILE hEmf, BOOL deleteEmf = FALSE): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipCreateMetafileFromEmf(
-				hEmf, deleteEmf, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(const WCHAR *filename): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipCreateMetafileFromFile(
-				filename, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(const WCHAR *filename,
-			const WmfPlaceableFileHeader *wmfPlaceableFileHeader):
-			Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipCreateMetafileFromWmfFile(
-				filename, wmfPlaceableFileHeader,
-				&nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(IStream *stream): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipCreateMetafileFromStream(
-				stream, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(HDC referenceHdc, EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafile(
-				referenceHdc, type, NULL, MetafileFrameUnitGdi,
-				description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(HDC referenceHdc, const RectF& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafile(
-				referenceHdc, type, &frameRect, frameUnit,
-				description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(HDC referenceHdc, const Rect& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileI(
-				referenceHdc, type, &frameRect, frameUnit,
-				description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(const WCHAR *filename, HDC referenceHdc,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileFileName(
-				filename, referenceHdc, type, NULL,
-				MetafileFrameUnitGdi, description,
-				&nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(const WCHAR *filename, HDC referenceHdc,
-			const RectF& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileFileName(
-				filename, referenceHdc, type, &frameRect,
-				frameUnit, description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(const WCHAR *filename, HDC referenceHdc,
-			const Rect& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileFileNameI(
-				filename, referenceHdc, type, &frameRect,
-				frameUnit, description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(IStream *stream, HDC referenceHdc,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileStream(
-				stream, referenceHdc, type, NULL,
-				MetafileFrameUnitGdi, description,
-				&nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(IStream *stream, HDC referenceHdc, const RectF& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileStream(
-				stream, referenceHdc, type, &frameRect,
-				frameUnit, description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	Metafile(IStream *stream, HDC referenceHdc, const Rect& frameRect,
-			MetafileFrameUnit frameUnit = MetafileFrameUnitGdi,
-			EmfType type = EmfTypeEmfPlusDual,
-			const WCHAR *description = NULL): Image(NULL, Ok)
-	{
-		GpMetafile *nativeMetafile = NULL;
-		lastStatus = DllExports::GdipRecordMetafileStreamI(
-				stream, referenceHdc, type, &frameRect,
-				frameUnit, description, &nativeMetafile);
-		nativeImage = nativeMetafile;
-	}
-	virtual ~Metafile()
-	{
-	}
-	virtual Metafile* Clone() const
-	{
-		GpImage *cloneImage = NULL;
-		Status status = updateStatus(DllExports::GdipCloneImage(
-				nativeImage, &cloneImage));
-		if (status == Ok) {
-			Metafile *result = new Metafile(cloneImage, lastStatus);
-			if (!result) {
-				DllExports::GdipDisposeImage(cloneImage);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	////TODO: [GDI+ 1.1] Metafile::ConvertToEmfPlus
-	//Status ConvertToEmfPlus(const Graphics *refGraphics,
-	//		BOOL *conversionSuccess = NULL,
-	//		EmfType emfType = EmfTypeEmfPlusOnly,
-	//		const WCHAR *description = NULL)
-	//{
-	//	// FIXME: can't test GdipConvertToEmfPlus because it isn't exported in 1.0
-	//	return updateStatus(DllExports::GdipConvertToEmfPlus(
-	//			refGraphics ? refGraphics->nativeGraphics : NULL,
-	//			(GpMetafile*) nativeImage,
-	//			conversionSuccess, emfType, description, ???));
-	//}
-	////TODO: [GDI+ 1.1] Metafile::ConvertToEmfPlus
-	//Status ConvertToEmfPlus(const Graphics *refGraphics,
-	//		const WCHAR *filename,
-	//		BOOL *conversionSuccess = NULL,
-	//		EmfType emfType = EmfTypeEmfPlusOnly,
-	//		const WCHAR *description = NULL)
-	//{
-	//	// FIXME: can't test GdipConvertToEmfPlusToFile because it isn't exported in 1.0
-	//	return updateStatus(DllExports::GdipConvertToEmfPlusToFile(
-	//			refGraphics ? refGraphics->nativeGraphics : NULL,
-	//			(GpMetafile*) nativeImage, conversionSuccess,
-	//			filename, emfType, description, ???));
-	//}
-	////TODO: [GDI+ 1.1] Metafile::ConvertToEmfPlus
-	//Status ConvertToEmfPlus(const Graphics *refGraphics,
-	//		IStream *stream,
-	//		BOOL *conversionSuccess = NULL,
-	//		EmfType emfType = EmfTypeEmfPlusOnly,
-	//		const WCHAR *description = NULL)
-	//{
-	//	// FIXME: can't test GdipConvertToEmfPlusToStream because it isn't exported in 1.0
-	//	return updateStatus(DllExports::GdipConvertToEmfPlusToStream(
-	//			refGraphics ? refGraphics->nativeGraphics : NULL,
-	//			(GpMetafile*) nativeImage, conversionSuccess,
-	//			stream, emfType, description, ???));
-	//}
-	UINT GetDownLevelRasterizationLimit() const
-	{
-		UINT result = 0;
-		updateStatus(DllExports::GdipGetMetafileDownLevelRasterizationLimit(
-				(GpMetafile*) nativeImage, &result));
-		return result;
-	}
-	HENHMETAFILE GetHENHMETAFILE()
-	{
-		HENHMETAFILE result = NULL;
-		updateStatus(DllExports::GdipGetHemfFromMetafile(
-				(GpMetafile*) nativeImage, &result));
-		return result;
-	}
-	Status GetMetafileHeader(MetafileHeader *header) const
-	{
-		return updateStatus(DllExports::GdipGetMetafileHeaderFromMetafile(
-				(GpMetafile*) nativeImage, header));
-	}
-	Status PlayRecord(EmfPlusRecordType recordType, UINT flags,
-			UINT dataSize, const BYTE *data) const
-	{
-		return updateStatus(DllExports::GdipPlayMetafileRecord(
-				(GpMetafile*) nativeImage,
-				recordType, flags, dataSize, data));
-	}
-	Status SetDownLevelRasterizationLimit(UINT limitDpi)
-	{
-		return updateStatus(DllExports::GdipSetMetafileDownLevelRasterizationLimit(
-				(GpMetafile*) nativeImage, limitDpi));
-	}
-
-private:
-	Metafile(GpImage *image, Status status): Image(image, status) {}
-	Metafile(const Metafile&);
-	Metafile& operator=(const Metafile&);
-};
-
-#endif /* __GDIPLUS_METAFILE_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusmetaheader.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusmetaheader.h	(revision 1046)
+++ 	(revision )
@@ -1,193 +1,0 @@
-/*
- * gdiplusmetaheader.h
- *
- * GDI+ metafile header structure
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_METAHEADER_H
-#define __GDIPLUS_METAHEADER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-/*
- * FIXME: is 1 the correct value for GDIP_EMFPLUSFLAGS_DISPLAY? This number
- * has been determined by calling Metafile::GetMetafileHeader() on a EMF+
- * metafile which was recorded on a display device context (SampleMetafile.emf).
- */
-#ifdef __cplusplus
-const UINT GDIP_EMFPLUSFLAGS_DISPLAY = 1;
-#else
-#define GDIP_EMFPLUSFLAGS_DISPLAY ((UINT) 1)
-#endif
-
-typedef struct tagENHMETAHEADER3 {
-	DWORD iType;
-	DWORD nSize;
-	RECTL rclBounds;
-	RECTL rclFrame;
-	DWORD dSignature;
-	DWORD nVersion;
-	DWORD nBytes;
-	DWORD nRecords;
-	WORD nHandles;
-	WORD sReserved;
-	DWORD nDescription;
-	DWORD offDescription;
-	DWORD nPalEntries;
-	SIZEL szlDevice;
-	SIZEL szlMillimeters;
-} ENHMETAHEADER3,*LPENHMETAHEADER3;
-
-typedef struct PWMFRect16 {
-	INT16 Left;
-	INT16 Top;
-	INT16 Right;
-	INT16 Bottom;
-} PWMFRect16;
-
-typedef struct WmfPlaceableFileHeader {
-	UINT32 Key;
-	INT16 Hmf;
-	PWMFRect16 BoundingBox;
-	INT16 Inch;
-	UINT32 Reserved;
-	INT16 Checksum;
-} WmfPlaceableFileHeader;
-
-typedef struct MetafileHeader {
-	MetafileType Type;
-	UINT Size;
-	UINT Version;
-	UINT EmfPlusFlags;
-	REAL DpiX;
-	REAL DpiY;
-	INT X;
-	INT Y;
-	INT Width;
-	INT Height;
-	__extension__ union {
-		METAHEADER WmfHeader;
-		ENHMETAHEADER3 EmfHeader;
-	};
-	INT EmfPlusHeaderSize;
-	INT LogicalDpiX;
-	INT LogicalDpiY;
-
-	#ifdef __cplusplus
-	public:
-	void GetBounds(Rect *rect) const
-	{
-		if (rect)
-		{
-			rect->X = X;
-			rect->Y = Y;
-			rect->Width = Width;
-			rect->Height = Height;
-		}
-	}
-	REAL GetDpiX() const
-	{
-		return DpiX;
-	}
-	REAL GetDpiY() const
-	{
-		return DpiY;
-	}
-	const ENHMETAHEADER3* GetEmfHeader() const
-	{
-		if (Type == MetafileTypeEmf
-				|| Type == MetafileTypeEmfPlusOnly
-				|| Type == MetafileTypeEmfPlusDual)
-		{
-			return &EmfHeader;
-		}
-		else
-		{
-			return NULL;
-		}
-	}
-	UINT GetEmfPlusFlags() const
-	{
-		return EmfPlusFlags;
-	}
-	UINT GetMetafileSize() const
-	{
-		return Size;
-	}
-	MetafileType GetType() const
-	{
-		return Type;
-	}
-	UINT GetVersion() const
-	{
-		return Version;
-	}
-	const METAHEADER* GetWmfHeader() const
-	{
-		if (Type == MetafileTypeWmf || Type == MetafileTypeWmfPlaceable)
-		{
-			return &WmfHeader;
-		}
-		else
-		{
-			return NULL;
-		}
-	}
-	BOOL IsDisplay() const
-	{
-		return EmfPlusFlags == GDIP_EMFPLUSFLAGS_DISPLAY;
-	}
-	BOOL IsEmf() const
-	{
-		return Type == MetafileTypeEmf;
-	}
-	BOOL IsEmfOrEmfPlus() const
-	{
-		return Type == MetafileTypeEmf
-			|| Type == MetafileTypeEmfPlusOnly
-			|| Type == MetafileTypeEmfPlusDual;
-	}
-	BOOL IsEmfPlus() const
-	{
-		return Type == MetafileTypeEmfPlusOnly
-			|| Type == MetafileTypeEmfPlusDual;
-	}
-	BOOL IsEmfPlusDual() const
-	{
-		return Type == MetafileTypeEmfPlusDual;
-	}
-	BOOL IsEmfPlusOnly() const
-	{
-		return Type == MetafileTypeEmfPlusOnly;
-	}
-	BOOL IsWmf() const
-	{
-		return Type == MetafileTypeWmf
-			|| Type == MetafileTypeWmfPlaceable;
-	}
-	BOOL IsWmfPlaceable() const
-	{
-		return Type == MetafileTypeWmfPlaceable;
-	}
-	#endif
-} MetafileHeader;
-
-#endif /* __GDIPLUS_METAHEADER_H */
Index: Daodan/MinGW/include/gdiplus/gdipluspath.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluspath.h	(revision 1046)
+++ 	(revision )
@@ -1,964 +1,0 @@
-/*
- * gdipluspath.h
- *
- * GDI+ GraphicsPath class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_PATH_H
-#define __GDIPLUS_PATH_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdipluspath.h."
-#endif
-
-// Note that some methods of GraphicsPath are implemented in gdiplusimpl.h.
-// This avoids a cyclic dependency on Graphics and Pen.
-
-class GraphicsPath: public GdiplusBase
-{
-	friend class CustomLineCap;
-	friend class Graphics;
-	friend class GraphicsPathIterator;
-	friend class PathGradientBrush;
-	friend class Region;
-
-public:
-	GraphicsPath(FillMode fillMode = FillModeAlternate):
-			nativePath(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePath(fillMode, &nativePath);
-	}
-	GraphicsPath(const PointF *points, const BYTE *types, INT count,
-			FillMode fillMode = FillModeAlternate):
-			nativePath(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePath2(
-				points, types, count, fillMode, &nativePath);
-	}
-	GraphicsPath(const Point *points, const BYTE *types, INT count,
-			FillMode fillMode = FillModeAlternate):
-			nativePath(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePath2I(
-				points, types, count, fillMode, &nativePath);
-	}
-	~GraphicsPath()
-	{
-		DllExports::GdipDeletePath(nativePath);
-	}
-	GraphicsPath* Clone() const
-	{
-		GpPath *clonePath = NULL;
-		Status status = updateStatus(DllExports::GdipClonePath(
-				nativePath, &clonePath));
-		if (status == Ok) {
-			GraphicsPath *result = new GraphicsPath(clonePath, lastStatus);
-			if (!result) {
-				DllExports::GdipDeletePath(clonePath);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status AddArc(REAL x, REAL y, REAL width, REAL height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathArc(nativePath,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status AddArc(INT x, INT y, INT width, INT height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathArcI(nativePath,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status AddArc(const RectF& rect, REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathArc(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status AddArc(const Rect& rect, REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathArcI(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status AddBezier(REAL x1, REAL y1, REAL x2, REAL y2,
-			REAL x3, REAL y3, REAL x4, REAL y4)
-	{
-		return updateStatus(DllExports::GdipAddPathBezier(nativePath,
-				x1, y1, x2, y2, x3, y3, x4, y4));
-	}
-	Status AddBezier(INT x1, INT y1, INT x2, INT y2,
-			INT x3, INT y3, INT x4, INT y4)
-	{
-		return updateStatus(DllExports::GdipAddPathBezierI(nativePath,
-				x1, y1, x2, y2, x3, y3, x4, y4));
-	}
-	Status AddBezier(const PointF& pt1, const PointF& pt2,
-			const PointF& pt3, const PointF& pt4)
-	{
-		return updateStatus(DllExports::GdipAddPathBezier(nativePath,
-				pt1.X, pt1.Y, pt2.X, pt2.Y,
-				pt3.X, pt3.Y, pt4.X, pt4.Y));
-	}
-	Status AddBezier(const Point& pt1, const Point& pt2,
-			const Point& pt3, const Point& pt4)
-	{
-		return updateStatus(DllExports::GdipAddPathBezierI(nativePath,
-				pt1.X, pt1.Y, pt2.X, pt2.Y,
-				pt3.X, pt3.Y, pt4.X, pt4.Y));
-	}
-	Status AddBeziers(const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathBeziers(
-				nativePath, points, count));
-	}
-	Status AddBeziers(const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathBeziersI(
-				nativePath, points, count));
-	}
-	Status AddClosedCurve(const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathClosedCurve(
-				nativePath, points, count));
-	}
-	Status AddClosedCurve(const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathClosedCurveI(
-				nativePath, points, count));
-	}
-	Status AddClosedCurve(const PointF *points, INT count, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathClosedCurve2(
-				nativePath, points, count, tension));
-	}
-	Status AddClosedCurve(const Point *points, INT count, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathClosedCurve2I(
-				nativePath, points, count, tension));
-	}
-	Status AddCurve(const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathCurve(
-				nativePath, points, count));
-	}
-	Status AddCurve(const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathCurveI(
-				nativePath, points, count));
-	}
-	Status AddCurve(const PointF *points, INT count, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathCurve2(
-				nativePath, points, count, tension));
-	}
-	Status AddCurve(const Point *points, INT count, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathCurve2I(
-				nativePath, points, count, tension));
-	}
-	Status AddCurve(const PointF *points, INT count, INT offset,
-			INT numberOfSegments, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathCurve3(
-				nativePath, points, count,
-				offset, numberOfSegments, tension));
-	}
-	Status AddCurve(const Point *points, INT count, INT offset,
-			INT numberOfSegments, REAL tension)
-	{
-		return updateStatus(DllExports::GdipAddPathCurve3I(
-				nativePath, points, count,
-				offset, numberOfSegments, tension));
-	}
-	Status AddEllipse(REAL x, REAL y, REAL width, REAL height)
-	{
-		return updateStatus(DllExports::GdipAddPathEllipse(nativePath,
-				x, y, width, height));
-	}
-	Status AddEllipse(INT x, INT y, INT width, INT height)
-	{
-		return updateStatus(DllExports::GdipAddPathEllipseI(nativePath,
-				x, y, width, height));
-	}
-	Status AddEllipse(const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipAddPathEllipse(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status AddEllipse(const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipAddPathEllipseI(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status AddLine(REAL x1, REAL y1, REAL x2, REAL y2)
-	{
-		return updateStatus(DllExports::GdipAddPathLine(nativePath,
-				x1, y1, x2, y2));
-	}
-	Status AddLine(INT x1, INT y1, INT x2, INT y2)
-	{
-		return updateStatus(DllExports::GdipAddPathLineI(nativePath,
-				x1, y1, x2, y2));
-	}
-	Status AddLine(const PointF& pt1, const PointF& pt2)
-	{
-		return updateStatus(DllExports::GdipAddPathLine(nativePath,
-				pt1.X, pt1.Y, pt2.X, pt2.Y));
-	}
-	Status AddLine(const Point& pt1, const Point& pt2)
-	{
-		return updateStatus(DllExports::GdipAddPathLineI(nativePath,
-				pt1.X, pt1.Y, pt2.X, pt2.Y));
-	}
-	Status AddLines(const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathLine2(nativePath,
-				points, count));
-	}
-	Status AddLines(const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathLine2I(nativePath,
-				points, count));
-	}
-	Status AddPath(const GraphicsPath *addingPath, BOOL connect)
-	{
-		return updateStatus(DllExports::GdipAddPathPath(nativePath,
-				addingPath ? addingPath->nativePath : NULL,
-				connect));
-	}
-	Status AddPie(REAL x, REAL y, REAL width, REAL height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathPie(nativePath,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status AddPie(INT x, INT y, INT width, INT height,
-			REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathPieI(nativePath,
-				x, y, width, height, startAngle, sweepAngle));
-	}
-	Status AddPie(const RectF& rect, REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathPie(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status AddPie(const Rect& rect, REAL startAngle, REAL sweepAngle)
-	{
-		return updateStatus(DllExports::GdipAddPathPieI(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height,
-				startAngle, sweepAngle));
-	}
-	Status AddPolygon(const PointF *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathPolygon(nativePath,
-				points, count));
-	}
-	Status AddPolygon(const Point *points, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathPolygonI(nativePath,
-				points, count));
-	}
-	Status AddRectangle(const RectF& rect)
-	{
-		return updateStatus(DllExports::GdipAddPathRectangle(nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status AddRectangle(const Rect& rect)
-	{
-		return updateStatus(DllExports::GdipAddPathRectangleI(
-				nativePath,
-				rect.X, rect.Y, rect.Width, rect.Height));
-	}
-	Status AddRectangles(const RectF *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathRectangles(
-				nativePath, rects, count));
-	}
-	Status AddRectangles(const Rect *rects, INT count)
-	{
-		return updateStatus(DllExports::GdipAddPathRectanglesI(
-				nativePath, rects, count));
-	}
-	Status AddString(const WCHAR *string, INT length,
-			const FontFamily *family, INT style, REAL emSize,
-			const PointF& origin, const StringFormat *format)
-	{
-		RectF layoutRect(origin, SizeF(0.0f, 0.0f));
-		return updateStatus(DllExports::GdipAddPathString(nativePath,
-				string, length,
-				family ? family->nativeFontFamily : NULL,
-				style, emSize, &layoutRect,
-				format ? format->nativeStringFormat : NULL));
-	}
-	Status AddString(const WCHAR *string, INT length,
-			const FontFamily *family, INT style, REAL emSize,
-			const Point& origin, const StringFormat *format)
-	{
-		Rect layoutRect(origin, Size(0, 0));
-		return updateStatus(DllExports::GdipAddPathStringI(nativePath,
-				string, length,
-				family ? family->nativeFontFamily : NULL,
-				style, emSize, &layoutRect,
-				format ? format->nativeStringFormat : NULL));
-	}
-	Status AddString(const WCHAR *string, INT length,
-			const FontFamily *family, INT style, REAL emSize,
-			const RectF& layoutRect, const StringFormat *format)
-	{
-		return updateStatus(DllExports::GdipAddPathString(nativePath,
-				string, length,
-				family ? family->nativeFontFamily : NULL,
-				style, emSize, &layoutRect,
-				format ? format->nativeStringFormat : NULL));
-	}
-	Status AddString(const WCHAR *string, INT length,
-			const FontFamily *family, INT style, REAL emSize,
-			const Rect& layoutRect, const StringFormat *format)
-	{
-		return updateStatus(DllExports::GdipAddPathStringI(nativePath,
-				string, length,
-				family ? family->nativeFontFamily : NULL,
-				style, emSize, &layoutRect,
-				format ? format->nativeStringFormat : NULL));
-	}
-	Status ClearMarkers()
-	{
-		return updateStatus(DllExports::GdipClearPathMarkers(
-				nativePath));
-	}
-	Status CloseAllFigures()
-	{
-		return updateStatus(DllExports::GdipClosePathFigures(
-				nativePath));
-	}
-	Status CloseFigure()
-	{
-		return updateStatus(DllExports::GdipClosePathFigure(
-				nativePath));
-	}
-	Status Flatten(const Matrix *matrix = NULL,
-			REAL flatness = FlatnessDefault)
-	{
-		return updateStatus(DllExports::GdipFlattenPath(nativePath,
-				matrix ? matrix->nativeMatrix : NULL,
-				flatness));
-	}
-	Status GetBounds(RectF *bounds, const Matrix *matrix = NULL,
-			const Pen *pen = NULL) const
-	{
-		return updateStatus(DllExports::GdipGetPathWorldBounds(
-				nativePath, bounds,
-				matrix ? matrix->nativeMatrix : NULL,
-				pen ? pen->nativePen : NULL));
-	}
-	Status GetBounds(Rect *bounds, const Matrix *matrix = NULL,
-			const Pen *pen = NULL) const
-	{
-		return updateStatus(DllExports::GdipGetPathWorldBoundsI(
-				nativePath, bounds,
-				matrix ? matrix->nativeMatrix : NULL,
-				pen ? pen->nativePen : NULL));
-	}	
-	FillMode GetFillMode() const
-	{
-		FillMode result = FillModeAlternate;
-		updateStatus(DllExports::GdipGetPathFillMode(nativePath,
-				&result));
-		return result;
-	}
-	Status GetLastPoint(PointF *lastPoint) const
-	{
-		return updateStatus(DllExports::GdipGetPathLastPoint(
-				nativePath, lastPoint));
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	Status GetPathData(PathData *pathData) const
-	{
-		if (!pathData) return lastStatus = InvalidParameter;
-
-		Status status;
-		INT count;
-
-		status = updateStatus(DllExports::GdipGetPointCount(
-				nativePath, &count));
-		if (status != Ok) return status;
-
-		status = updateStatus(pathData->AllocateArrays(count));
-		if (status != Ok) return status;
-
-		return updateStatus(DllExports::GdipGetPathData(
-				nativePath, (GpPathData*) pathData));
-	}
-	Status GetPathPoints(PointF *points, INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPathPoints(nativePath,
-				points, count));
-	}
-	Status GetPathPoints(Point *points, INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPathPointsI(nativePath,
-				points, count));
-	}
-	Status GetPathTypes(BYTE *types, INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPathTypes(nativePath,
-				types, count));
-	}
-	INT GetPointCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPointCount(nativePath,
-				&result));
-		return result;
-	}
-	BOOL IsOutlineVisible(REAL x, REAL y, const Pen *pen,
-			const Graphics *g = NULL) const;
-	BOOL IsOutlineVisible(INT x, INT y, const Pen *pen,
-			const Graphics *g = NULL) const;
-	BOOL IsOutlineVisible(const PointF& point, const Pen *pen,
-			const Graphics *g = NULL) const;
-	BOOL IsOutlineVisible(const Point& point, const Pen *pen,
-			const Graphics *g = NULL) const;
-	BOOL IsVisible(REAL x, REAL y, const Graphics *g = NULL) const;
-	BOOL IsVisible(INT x, INT y, const Graphics *g = NULL) const;
-	BOOL IsVisible(const PointF& point, const Graphics *g = NULL) const;
-	BOOL IsVisible(const Point& point, const Graphics *g = NULL) const;
-	Status Outline(const Matrix *matrix = NULL,
-			REAL flatness = FlatnessDefault)
-	{
-		return updateStatus(DllExports::GdipWindingModeOutline(
-				nativePath,
-				matrix ? matrix->nativeMatrix : NULL,
-				flatness));
-	}
-	Status Reset()
-	{
-		return updateStatus(DllExports::GdipResetPath(nativePath));
-	}
-	Status Reverse()
-	{
-		return updateStatus(DllExports::GdipReversePath(nativePath));
-	}
-	Status SetFillMode(FillMode fillMode)
-	{
-		return updateStatus(DllExports::GdipSetPathFillMode(
-				nativePath, fillMode));
-	}
-	Status SetMarker()
-	{
-		return updateStatus(DllExports::GdipSetPathMarker(nativePath));
-	}
-	Status StartFigure()
-	{
-		return updateStatus(DllExports::GdipStartPathFigure(
-				nativePath));
-	}
-	Status Transform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipTransformPath(
-				nativePath,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status Warp(const PointF *destPoints, INT count, const RectF& srcRect,
-			const Matrix *matrix = NULL,
-			WarpMode warpMode = WarpModePerspective,
-			REAL flatness = FlatnessDefault)
-	{
-		return updateStatus(DllExports::GdipWarpPath(nativePath,
-				matrix ? matrix->nativeMatrix : NULL,
-				destPoints, count,
-				srcRect.X, srcRect.Y,
-				srcRect.Width, srcRect.Height,
-				warpMode, flatness));
-	}
-	Status Widen(const Pen *pen, const Matrix *matrix = NULL,
-			REAL flatness = FlatnessDefault)
-	{
-		return updateStatus(DllExports::GdipWidenPath(nativePath,
-				pen ? pen->nativePen : NULL,
-				matrix ? matrix->nativeMatrix : NULL,
-				flatness));
-	}
-
-private:
-	GraphicsPath(GpPath *path, Status status):
-		nativePath(path), lastStatus(status) {}
-	GraphicsPath(const GraphicsPath&);
-	GraphicsPath& operator=(const GraphicsPath&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpPath *nativePath;
-	mutable Status lastStatus;
-};
-
-class GraphicsPathIterator: public GdiplusBase
-{
-public:
-	GraphicsPathIterator(GraphicsPath *path):
-		nativePathIterator(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePathIter(
-				&nativePathIterator,
-				path ? path->nativePath : NULL);
-	}
-	~GraphicsPathIterator()
-	{
-		DllExports::GdipDeletePathIter(nativePathIterator);
-	}
-
-	INT CopyData(PointF *points, BYTE *types, INT startIndex, INT endIndex)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterCopyData(
-				nativePathIterator, &result,
-				points, types, startIndex, endIndex));
-		return result;
-	}
-	INT Enumerate(PointF *points, BYTE *types, INT count)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterEnumerate(
-				nativePathIterator, &result,
-				points, types, count));
-		return result;
-	}
-	INT GetCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterGetCount(
-				nativePathIterator, &result));
-		return result;
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	INT GetSubpathCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterGetSubpathCount(
-				nativePathIterator, &result));
-		return result;
-	}
-	BOOL HasCurve() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipPathIterHasCurve(
-				nativePathIterator, &result));
-		return result;
-	}
-	INT NextMarker(INT *startIndex, INT *endIndex)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterNextMarker(
-				nativePathIterator, &result,
-				startIndex, endIndex));
-		return result;
-	}
-	INT NextMarker(GraphicsPath *path)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterNextMarkerPath(
-				nativePathIterator, &result,
-				path ? path->nativePath : NULL));
-		return result;
-	}
-	INT NextPathType(BYTE *pathType, INT *startIndex, INT *endIndex)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterNextPathType(
-				nativePathIterator, &result,
-				pathType, startIndex, endIndex));
-		return result;
-	}
-	INT NextSubpath(INT *startIndex, INT *endIndex, BOOL *isClosed)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterNextSubpath(
-				nativePathIterator, &result,
-				startIndex, endIndex, isClosed));
-		return result;
-	}
-	INT NextSubpath(GraphicsPath *path, BOOL *isClosed)
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipPathIterNextSubpathPath(
-				nativePathIterator, &result,
-				path ? path->nativePath : NULL, isClosed));
-		return result;
-	}
-	VOID Rewind()
-	{
-		updateStatus(DllExports::GdipPathIterRewind(
-				nativePathIterator));
-	}
-
-private:
-	GraphicsPathIterator(GpPathIterator *pathIterator, Status status):
-		nativePathIterator(pathIterator), lastStatus(status) {}
-	GraphicsPathIterator(const GraphicsPathIterator&);
-	GraphicsPathIterator& operator=(const GraphicsPathIterator&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpPathIterator *nativePathIterator;
-	mutable Status lastStatus;
-};
-
-class PathGradientBrush: public Brush
-{
-public:
-	PathGradientBrush(const PointF *points, INT count,
-			WrapMode wrapMode = WrapModeClamp)
-	{
-		GpPathGradient *nativePathGradient = NULL;
-		lastStatus = DllExports::GdipCreatePathGradient(
-				points, count, wrapMode, &nativePathGradient);
-		nativeBrush = nativePathGradient;
-	}
-	PathGradientBrush(const Point *points, INT count,
-			WrapMode wrapMode = WrapModeClamp)
-	{
-		GpPathGradient *nativePathGradient = NULL;
-		lastStatus = DllExports::GdipCreatePathGradientI(
-				points, count, wrapMode, &nativePathGradient);
-		nativeBrush = nativePathGradient;
-	}
-	PathGradientBrush(const GraphicsPath *path)
-	{
-		GpPathGradient *nativePathGradient = NULL;
-		lastStatus = DllExports::GdipCreatePathGradientFromPath(
-				path ? path->nativePath : NULL,
-				&nativePathGradient);
-		nativeBrush = nativePathGradient;
-	}
-	virtual PathGradientBrush *Clone() const
-	{
-		GpBrush *cloneBrush = NULL;
-		Status status = updateStatus(DllExports::GdipCloneBrush(
-				nativeBrush, &cloneBrush));
-		if (status == Ok) {
-			PathGradientBrush *result =
-				new PathGradientBrush(cloneBrush, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteBrush(cloneBrush);
-				updateStatus(OutOfMemory);
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	Status GetBlend(REAL *blendFactors, REAL *blendPositions,
-			INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientBlend(
-				(GpPathGradient*) nativeBrush,
-				blendFactors, blendPositions, count));
-	}
-	INT GetBlendCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPathGradientBlendCount(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status GetCenterColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientCenterColor(
-				(GpPathGradient*) nativeBrush,
-				color ? &color->Value : NULL));
-	}
-	Status GetCenterPoint(PointF *point) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientCenterPoint(
-				(GpPathGradient*) nativeBrush, point));
-	}
-	Status GetCenterPoint(Point *point) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientCenterPointI(
-				(GpPathGradient*) nativeBrush, point));
-	}
-	Status GetFocusScales(REAL *xScale, REAL *yScale) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientFocusScales(
-				(GpPathGradient*) nativeBrush, xScale, yScale));
-	}
-	BOOL GetGammaCorrection() const
-	{
-		BOOL result = FALSE;
-		updateStatus(DllExports::GdipGetPathGradientGammaCorrection(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	//Status GetGraphicsPath(GraphicsPath *path) const
-	//{
-	//	// TODO: implement PathGradientBrush::GetGraphicsPath
-	//	return updateStatus(NotImplemented);
-	//}
-	INT GetInterpolationColorCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPathGradientPresetBlendCount(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status GetInterpolationColors(Color *presetColors,
-			REAL *blendPositions, INT count) const
-	{
-		if (!presetColors || count <= 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *presetArgb =
-			(ARGB*) DllExports::GdipAlloc(count * sizeof(ARGB));
-		if (!presetArgb)
-			return lastStatus = OutOfMemory;
-
-		Status status = updateStatus(DllExports::GdipGetPathGradientPresetBlend(
-				(GpPathGradient*) nativeBrush,
-				presetArgb, blendPositions, count));
-		for (INT i = 0; i < count; ++i) {
-			presetColors[i].SetValue(presetArgb[i]);
-		}
-		DllExports::GdipFree((void*) presetArgb);
-		return status;
-	}
-	INT GetPointCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPathGradientPointCount(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status GetRectangle(RectF *rect) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientRect(
-				(GpPathGradient*) nativeBrush, rect));
-	}
-	Status GetRectangle(Rect *rect) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientRectI(
-				(GpPathGradient*) nativeBrush, rect));
-	}
-	INT GetSurroundColorCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPathGradientSurroundColorCount(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status GetSurroundColors(Color *colors, INT *count)
-	{
-		if (!colors || !count || *count <= 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *colorsArgb =
-			(ARGB*) DllExports::GdipAlloc(*count * sizeof(ARGB));
-		if (!colorsArgb)
-			return lastStatus = OutOfMemory;
-
-		Status status = updateStatus(DllExports::GdipGetPathGradientSurroundColorsWithCount(
-				(GpPathGradient*) nativeBrush,
-				colorsArgb, count));
-		for (INT i = 0; i < *count; ++i) {
-			colors[i].SetValue(colorsArgb[i]);
-		}
-		DllExports::GdipFree((void*) colorsArgb);
-		return status;
-	}
-	Status GetTransform(Matrix *matrix) const
-	{
-		return updateStatus(DllExports::GdipGetPathGradientTransform(
-				(GpPathGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	WrapMode GetWrapMode() const
-	{
-		WrapMode result = WrapModeTile;
-		updateStatus(DllExports::GdipGetPathGradientWrapMode(
-				(GpPathGradient*) nativeBrush, &result));
-		return result;
-	}
-	Status MultiplyTransform(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyPathGradientTransform(
-				(GpPathGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	Status ResetTransform()
-	{
-		return updateStatus(DllExports::GdipResetPathGradientTransform(
-				(GpPathGradient*) nativeBrush));
-	}
-	Status RotateTransform(REAL angle,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotatePathGradientTransform(
-				(GpPathGradient*) nativeBrush, angle, order));
-	}
-	Status ScaleTransform(REAL sx, REAL sy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScalePathGradientTransform(
-				(GpPathGradient*) nativeBrush, sx, sy, order));
-	}
-	Status SetBlend(REAL *blendFactors, REAL *blendPositions, INT count)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientBlend(
-				(GpPathGradient*) nativeBrush,
-				blendFactors, blendPositions, count));
-	}
-	Status SetBlendBellShape(REAL focus, REAL scale = 1.0f)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientSigmaBlend(
-				(GpPathGradient*) nativeBrush, focus, scale));
-	}
-	Status SetBlendTriangularShape(REAL focus, REAL scale = 1.0f)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientLinearBlend(
-				(GpPathGradient*) nativeBrush, focus, scale));
-	}
-	Status SetCenterColor(const Color& color)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientCenterColor(
-				(GpPathGradient*) nativeBrush,
-				color.GetValue()));
-	}
-	Status SetCenterPoint(const PointF& point)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientCenterPoint(
-				(GpPathGradient*) nativeBrush, &point));
-	}
-	Status SetCenterPoint(const Point& point)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientCenterPointI(
-				(GpPathGradient*) nativeBrush, &point));
-	}
-	Status SetFocusScales(REAL xScale, REAL yScale)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientFocusScales(
-				(GpPathGradient*) nativeBrush, xScale, yScale));
-	}
-	Status SetGammaCorrection(BOOL useGammaCorrection)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientGammaCorrection(
-				(GpPathGradient*) nativeBrush,
-				useGammaCorrection));
-	}
-	//Status SetGraphicsPath(const GraphicsPath *path)
-	//{
-	//	// TODO: implement PathGradientBrush::SetGraphicsPath
-	//	return updateStatus(NotImplemented);
-	//}
-	Status SetInterpolationColors(const Color *presetColors,
-			REAL *blendPositions, INT count)
-	{
-		if (!presetColors || count <= 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *presetArgb =
-			(ARGB*) DllExports::GdipAlloc(count * sizeof(ARGB));
-		if (!presetArgb)
-			return lastStatus = OutOfMemory;
-		for (INT i = 0; i < count; ++i) {
-			presetArgb[i] = presetColors[i].GetValue();
-		}
-
-		Status status = updateStatus(DllExports::GdipSetPathGradientPresetBlend(
-				(GpPathGradient*) nativeBrush,
-				presetArgb, blendPositions, count));
-		DllExports::GdipFree((void*) presetArgb);
-		return status;
-	}
-	Status SetSurroundColors(const Color *colors, INT *count)
-	{
-		if (!colors || !count || *count <= 0)
-			return lastStatus = InvalidParameter;
-
-		ARGB *colorsArgb =
-			(ARGB*) DllExports::GdipAlloc(*count * sizeof(ARGB));
-		if (!colorsArgb)
-			return lastStatus = OutOfMemory;
-		for (INT i = 0; i < *count; ++i) {
-			colorsArgb[i] = colors[i].GetValue();
-		}
-
-		Status status = updateStatus(DllExports::GdipSetPathGradientSurroundColorsWithCount(
-				(GpPathGradient*) nativeBrush,
-				colorsArgb, count));
-		DllExports::GdipFree((void*) colorsArgb);
-		return status;
-	}
-	Status SetTransform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientTransform(
-				(GpPathGradient*) nativeBrush,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status SetWrapMode(WrapMode wrapMode)
-	{
-		return updateStatus(DllExports::GdipSetPathGradientWrapMode(
-				(GpPathGradient*) nativeBrush, wrapMode));
-	}
-	Status TranslateTransform(REAL dx, REAL dy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslatePathGradientTransform(
-				(GpPathGradient*) nativeBrush, dx, dy, order));
-	}
-
-private:
-	PathGradientBrush(GpBrush *brush, Status status): Brush(brush, status) {}
-	PathGradientBrush(const PathGradientBrush&);
-	PathGradientBrush& operator=(const PathGradientBrush&);
-};
-
-
-
-#endif /* __GDIPLUS_PATH_H */
Index: Daodan/MinGW/include/gdiplus/gdipluspen.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluspen.h	(revision 1046)
+++ 	(revision )
@@ -1,338 +1,0 @@
-/*
- * gdipluspen.h
- *
- * GDI+ Pen class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_PEN_H
-#define __GDIPLUS_PEN_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdipluspen.h."
-#endif
-
-class Pen: public GdiplusBase
-{
-	friend class Graphics;
-	friend class GraphicsPath;
-
-public:
-	Pen(const Color& color, REAL width = 1.0f):
-		nativePen(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePen1(
-				color.GetValue(), width, UnitWorld,
-				&nativePen);
-	}
-	Pen(const Brush *brush, REAL width = 1.0f):
-		nativePen(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreatePen2(
-				brush ? brush->nativeBrush : NULL,
-				width, UnitWorld, &nativePen);
-	}
-	~Pen()
-	{
-		DllExports::GdipDeletePen(nativePen);
-	}
-	Pen* Clone() const
-	{
-		GpPen *clonePen = NULL;
-		Status status = updateStatus(DllExports::GdipClonePen(
-				nativePen, &clonePen));
-		if (status == Ok) {
-			Pen *result = new Pen(clonePen, lastStatus);
-			if (!result) {
-				DllExports::GdipDeletePen(clonePen);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	PenAlignment GetAlignment() const
-	{
-		PenAlignment result = PenAlignmentCenter;
-		updateStatus(DllExports::GdipGetPenMode(nativePen, &result));
-		return result;
-	}
-	// TODO: implement Pen::GetBrush()
-	//Brush *GetBrush() const
-	//{
-	//	// where is the pen brush allocated (static,member,new,other)?
-	//	// GdipGetPenBrushFill just returns a GpBrush*
-	//	updateStatus(NotImplemented);
-	//	return NULL;
-	//}
-	Status GetColor(Color *color) const
-	{
-		return updateStatus(DllExports::GdipGetPenColor(
-				nativePen, color ? &color->Value : NULL));
-	}
-	Status GetCompoundArray(REAL *compoundArray, INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPenCompoundArray(
-				nativePen, compoundArray, count));
-	}
-	INT GetCompoundArrayCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPenCompoundCount(
-				nativePen, &result));
-		return result;
-	}
-	Status GetCustomEndCap(CustomLineCap *customCap) const
-	{
-		if (!customCap) return lastStatus = InvalidParameter;
-		// FIXME: do we need to call GdipDeleteCustomLineCap first?
-		return updateStatus(DllExports::GdipGetPenCustomEndCap(
-				nativePen, &customCap->nativeCustomLineCap));
-	}
-	Status GetCustomStartCap(CustomLineCap *customCap) const
-	{
-		if (!customCap) return lastStatus = InvalidParameter;
-		// FIXME: do we need to call GdipDeleteCustomLineCap first?
-		return updateStatus(DllExports::GdipGetPenCustomStartCap(
-				nativePen, &customCap->nativeCustomLineCap));
-	}
-	DashCap GetDashCap() const
-	{
-		DashCap result = DashCapFlat;
-		updateStatus(DllExports::GdipGetPenDashCap197819(
-				nativePen, &result));
-		return result;
-	}
-	REAL GetDashOffset() const
-	{
-		REAL result = 0.0f;
-		updateStatus(DllExports::GdipGetPenDashOffset(
-				nativePen, &result));
-		return result;
-	}
-	Status GetDashPattern(REAL *dashArray, INT count) const
-	{
-		return updateStatus(DllExports::GdipGetPenDashArray(
-				nativePen, dashArray, count));
-	}
-	INT GetDashPatternCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetPenDashCount(
-				nativePen, &result));
-		return result;
-	}
-	DashStyle GetDashStyle() const
-	{
-		DashStyle result = DashStyleSolid;
-		updateStatus(DllExports::GdipGetPenDashStyle(
-				nativePen, &result));
-		return result;
-	}
-	LineCap GetEndCap() const
-	{
-		LineCap result = LineCapFlat;
-		updateStatus(DllExports::GdipGetPenEndCap(nativePen, &result));
-		return result;
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	LineJoin GetLineJoin() const
-	{
-		LineJoin result = LineJoinMiter;
-		updateStatus(DllExports::GdipGetPenLineJoin(
-				nativePen, &result));
-		return result;
-	}
-	REAL GetMiterLimit() const
-	{
-		REAL result = 10.0f;
-		updateStatus(DllExports::GdipGetPenMiterLimit(
-				nativePen, &result));
-		return result;
-	}
-	PenType GetPenType() const
-	{
-		PenType result = PenTypeUnknown;
-		updateStatus(DllExports::GdipGetPenFillType(
-				nativePen, &result));
-		return result;
-	}
-	LineCap GetStartCap() const
-	{
-		LineCap result = LineCapFlat;
-		updateStatus(DllExports::GdipGetPenStartCap(
-				nativePen, &result));
-		return result;
-	}
-	Status GetTransform(Matrix *matrix) const
-	{
-		return updateStatus(DllExports::GdipGetPenTransform(
-				nativePen,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	REAL GetWidth() const
-	{
-		REAL result = 1.0f;
-		updateStatus(DllExports::GdipGetPenWidth(nativePen, &result));
-		return result;
-	}
-	Status MultiplyTransform(const Matrix *matrix,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipMultiplyPenTransform(
-				nativePen,
-				matrix ? matrix->nativeMatrix : NULL, order));
-	}
-	Status ResetTransform()
-	{
-		return updateStatus(DllExports::GdipResetPenTransform(
-				nativePen));
-	}
-	Status RotateTransform(REAL angle,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipRotatePenTransform(
-				nativePen, angle, order));
-	}
-	Status ScaleTransform(REAL sx, REAL sy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipScalePenTransform(
-				nativePen, sx, sy, order));
-	}
-	Status SetAlignment(PenAlignment penAlignment)
-	{
-		return updateStatus(DllExports::GdipSetPenMode(
-				nativePen, penAlignment));
-	}
-	Status SetBrush(const Brush *brush)
-	{
-		return updateStatus(DllExports::GdipSetPenBrushFill(
-				nativePen, brush ? brush->nativeBrush : NULL));
-	}
-	Status SetColor(const Color& color)
-	{
-		return updateStatus(DllExports::GdipSetPenColor(
-				nativePen, color.GetValue()));
-	}
-	Status SetCompoundArray(const REAL *compoundArray, INT count)
-	{
-		return updateStatus(DllExports::GdipSetPenCompoundArray(
-				nativePen, compoundArray, count));
-	}
-	Status SetCustomEndCap(const CustomLineCap *customCap)
-	{
-		return updateStatus(DllExports::GdipSetPenCustomEndCap(
-				nativePen,
-				customCap ? customCap->nativeCustomLineCap : NULL));
-	}
-	Status SetCustomStartCap(const CustomLineCap *customCap)
-	{
-		return updateStatus(DllExports::GdipSetPenCustomStartCap(
-				nativePen,
-				customCap ? customCap->nativeCustomLineCap : NULL));
-	}
-	Status SetDashCap(DashCap dashCap)
-	{
-		return updateStatus(DllExports::GdipSetPenDashCap197819(
-				nativePen, dashCap));
-	}
-	Status SetDashOffset(REAL dashOffset)
-	{
-		return updateStatus(DllExports::GdipSetPenDashOffset(
-				nativePen, dashOffset));
-	}
-	Status SetDashPattern(const REAL *dashArray, INT count)
-	{
-		return updateStatus(DllExports::GdipSetPenDashArray(
-				nativePen, dashArray, count));
-	}
-	Status SetDashStyle(DashStyle dashStyle)
-	{
-		return updateStatus(DllExports::GdipSetPenDashStyle(
-				nativePen, dashStyle));
-	}
-	Status SetEndCap(LineCap endCap)
-	{
-		return updateStatus(DllExports::GdipSetPenEndCap(
-				nativePen, endCap));
-	}
-	Status SetLineCap(LineCap startCap, LineCap endCap, DashCap dashCap)
-	{
-		return updateStatus(DllExports::GdipSetPenLineCap197819(
-				nativePen, startCap, endCap, dashCap));
-	}
-	Status SetLineJoin(LineJoin lineJoin)
-	{
-		return updateStatus(DllExports::GdipSetPenLineJoin(
-				nativePen, lineJoin));
-	}
-	Status SetMiterLimit(REAL miterLimit)
-	{
-		return updateStatus(DllExports::GdipSetPenMiterLimit(
-				nativePen, miterLimit));
-	}
-	Status SetStartCap(LineCap startCap)
-	{
-		return updateStatus(DllExports::GdipSetPenStartCap(
-				nativePen, startCap));
-	}
-	Status SetTransform(const Matrix *matrix)
-	{
-		return updateStatus(DllExports::GdipSetPenTransform(
-				nativePen,
-				matrix ? matrix->nativeMatrix : NULL));
-	}
-	Status SetWidth(REAL width)
-	{
-		return updateStatus(DllExports::GdipSetPenWidth(
-				nativePen, width));
-	}
-	Status TranslateTransform(REAL dx, REAL dy,
-			MatrixOrder order = MatrixOrderPrepend)
-	{
-		return updateStatus(DllExports::GdipTranslatePenTransform(
-				nativePen, dx, dy, order));
-	}
-
-private:
-	Pen(GpPen *pen, Status status): nativePen(pen), lastStatus(status) {}
-	Pen(const Pen& pen);
-	Pen& operator=(const Pen&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpPen *nativePen;
-	mutable Status lastStatus;
-};
-
-#endif /* __GDIPLUS_PEN_H */
Index: Daodan/MinGW/include/gdiplus/gdipluspixelformats.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdipluspixelformats.h	(revision 1046)
+++ 	(revision )
@@ -1,120 +1,0 @@
-/*
- * gdipluspixelformats.h
- *
- * GDI+ pixel formats
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_PIXELFORMATS_H
-#define __GDIPLUS_PIXELFORMATS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef DWORD ARGB;
-typedef INT PixelFormat;
-
-#define PixelFormatIndexed ((INT) 0x00010000)
-#define PixelFormatGDI ((INT) 0x00020000)
-#define PixelFormatAlpha ((INT) 0x00040000)
-#define PixelFormatPAlpha ((INT) 0x00080000)
-#define PixelFormatExtended ((INT) 0x00100000)
-#define PixelFormatCanonical ((INT) 0x00200000)
-#define PixelFormatUndefined ((INT) 0)
-#define PixelFormatDontCare ((INT) 0)
-#define PixelFormat1bppIndexed ((INT) \
-	(1 | (1<<8) | PixelFormatIndexed | PixelFormatGDI))
-#define PixelFormat4bppIndexed ((INT) \
-	(2 | (4<<8) | PixelFormatIndexed | PixelFormatGDI))
-#define PixelFormat8bppIndexed ((INT) \
-	(3 | (8<<8) | PixelFormatIndexed | PixelFormatGDI))
-#define PixelFormat16bppGrayScale ((INT) \
-	(4 | (16<<8) | PixelFormatExtended))
-#define PixelFormat16bppRGB555 ((INT) \
-	(5 | (16<<8) | PixelFormatGDI))
-#define PixelFormat16bppRGB565 ((INT) \
-	(6 | (16<<8) | PixelFormatGDI))
-#define PixelFormat16bppARGB1555 ((INT) \
-	(7 | (16<<8) | PixelFormatAlpha | PixelFormatGDI))
-#define PixelFormat24bppRGB ((INT) \
-	(8 | (24<<8) | PixelFormatGDI))
-#define PixelFormat32bppRGB ((INT) \
-	(9 | (32<<8) | PixelFormatGDI))
-#define PixelFormat32bppARGB ((INT) \
-	(10 | (32<<8) | PixelFormatAlpha | PixelFormatGDI | PixelFormatCanonical))
-#define PixelFormat32bppPARGB ((INT) \
-	(11 | (32<<8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatGDI))
-#define PixelFormat48bppRGB ((INT) \
-	(12 | (48<<8) | PixelFormatExtended))
-#define PixelFormat64bppARGB ((INT) \
-	(13 | (64<<8) | PixelFormatAlpha | PixelFormatCanonical | PixelFormatExtended))
-#define PixelFormat64bppPARGB ((INT) \
-	(14 | (64<<8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatExtended))
-#define PixelFormatMax ((INT) 15)
-
-typedef enum PaletteFlags {
-	PaletteFlagsHasAlpha = 1,
-	PaletteFlagsGrayScale = 2,
-	PaletteFlagsHalftone = 4
-} PaletteFlags;
-
-typedef enum PaletteType {
-	PaletteTypeCustom = 0,
-	PaletteTypeOptimal = 1,
-	PaletteTypeFixedBW = 2,
-	PaletteTypeFixedHalftone8 = 3,
-	PaletteTypeFixedHalftone27 = 4,
-	PaletteTypeFixedHalftone64 = 5,
-	PaletteTypeFixedHalftone125 = 6,
-	PaletteTypeFixedHalftone216 = 7,
-	PaletteTypeFixedHalftone252 = 8,
-	PaletteTypeFixedHalftone256 = 9
-} PaletteType;
-
-typedef struct ColorPalette {
-	UINT Flags;
-	UINT Count;
-	ARGB Entries[1];
-} ColorPalette;
-
-static __inline__ UINT GetPixelFormatSize(PixelFormat pixfmt)
-{
-	return (((UINT) pixfmt) & 0xff00U) >> 8;
-}
-
-static __inline__ BOOL IsAlphaPixelFormat(PixelFormat pixfmt)
-{
-	return (pixfmt & PixelFormatAlpha) != 0;
-}
-
-static __inline__ BOOL IsCanonicalPixelFormat(PixelFormat pixfmt)
-{
-	return (pixfmt & PixelFormatCanonical) != 0;
-}
-
-static __inline__ BOOL IsExtendedPixelFormat(PixelFormat pixfmt)
-{
-	return (pixfmt & PixelFormatExtended) != 0;
-}
-
-static __inline__ BOOL IsIndexedPixelFormat(PixelFormat pixfmt)
-{
-	return (pixfmt & PixelFormatIndexed) != 0;
-}
-
-#endif /* __GDIPLUS_PIXELFORMATS_H */
Index: Daodan/MinGW/include/gdiplus/gdiplusstringformat.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplusstringformat.h	(revision 1046)
+++ 	(revision )
@@ -1,251 +1,0 @@
-/*
- * gdiplusstringformat.h
- *
- * GDI+ StringFormat class
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_STRINGFORMAT_H
-#define __GDIPLUS_STRINGFORMAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __cplusplus
-#error "A C++ compiler is required to include gdiplusstringformat.h."
-#endif
-
-class StringFormat: public GdiplusBase
-{
-	friend class Graphics;
-	friend class GraphicsPath;
-
-public:
-	static const StringFormat* GenericDefault();
-	static const StringFormat* GenericTypographic();
-
-	StringFormat(INT formatFlags = 0, LANGID language = LANG_NEUTRAL):
-			nativeStringFormat(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCreateStringFormat(
-				formatFlags, language, &nativeStringFormat);
-	}
-	StringFormat(const StringFormat *format):
-			nativeStringFormat(NULL), lastStatus(Ok)
-	{
-		lastStatus = DllExports::GdipCloneStringFormat(
-				format ? format->nativeStringFormat : NULL,
-				&nativeStringFormat);
-	}
-	~StringFormat()
-	{
-		DllExports::GdipDeleteStringFormat(nativeStringFormat);
-	}
-	StringFormat* Clone() const
-	{
-		GpStringFormat *cloneStringFormat = NULL;
-		Status status = updateStatus(DllExports::GdipCloneStringFormat(
-				nativeStringFormat, &cloneStringFormat));
-		if (status == Ok) {
-			StringFormat *result = new StringFormat(
-					cloneStringFormat, lastStatus);
-			if (!result) {
-				DllExports::GdipDeleteStringFormat(cloneStringFormat);
-				lastStatus = OutOfMemory;
-			}
-			return result;
-		} else {
-			return NULL;
-		}
-	}
-
-	StringAlignment GetAlignment() const
-	{
-		StringAlignment result = StringAlignmentNear;
-		updateStatus(DllExports::GdipGetStringFormatAlign(
-				nativeStringFormat, &result));
-		return result;
-	}
-	LANGID GetDigitSubstitutionLanguage() const
-	{
-		LANGID result = 0;
-		StringDigitSubstitute method;
-		updateStatus(DllExports::GdipGetStringFormatDigitSubstitution(
-				nativeStringFormat, &result, &method));
-		return result;
-	}
-	StringDigitSubstitute GetDigitSubstitutionMethod() const
-	{
-		LANGID language;
-		StringDigitSubstitute result = StringDigitSubstituteUser;
-		updateStatus(DllExports::GdipGetStringFormatDigitSubstitution(
-				nativeStringFormat, &language, &result));
-		return result;
-	}
-	INT GetFormatFlags() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetStringFormatFlags(
-				nativeStringFormat, &result));
-		return result;
-	}
-	HotkeyPrefix GetHotkeyPrefix() const
-	{
-		HotkeyPrefix result = HotkeyPrefixNone;
-		updateStatus(DllExports::GdipGetStringFormatHotkeyPrefix(
-				nativeStringFormat, (INT*) &result));
-		return result;
-	}
-	Status GetLastStatus() const
-	{
-		Status result = lastStatus;
-		lastStatus = Ok;
-		return result;
-	}
-	StringAlignment GetLineAlignment() const
-	{
-		StringAlignment result = StringAlignmentNear;
-		updateStatus(DllExports::GdipGetStringFormatLineAlign(
-				nativeStringFormat, &result));
-		return result;
-	}
-	INT GetMeasurableCharacterRangeCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetStringFormatMeasurableCharacterRangeCount(
-				nativeStringFormat, &result));
-		return result;
-	}
-	INT GetTabStopCount() const
-	{
-		INT result = 0;
-		updateStatus(DllExports::GdipGetStringFormatTabStopCount(
-				nativeStringFormat, &result));
-		return result;
-	}
-	Status GetTabStops(INT count, REAL *firstTabOffset, REAL *tabStops)
-	{
-		return updateStatus(DllExports::GdipGetStringFormatTabStops(
-				nativeStringFormat, count,
-				firstTabOffset, tabStops));
-	}
-	StringTrimming GetTrimming() const
-	{
-		StringTrimming result = StringTrimmingNone;
-		updateStatus(DllExports::GdipGetStringFormatTrimming(
-				nativeStringFormat, &result));
-		return result;
-	}
-	Status SetAlignment(StringAlignment align)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatAlign(
-				nativeStringFormat, align));
-	}
-	Status SetDigitSubstitution(LANGID language,
-			StringDigitSubstitute substitute)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatDigitSubstitution(
-				nativeStringFormat, language, substitute));
-	}
-	Status SetFormatFlags(INT flags)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatFlags(
-				nativeStringFormat, flags));
-	}
-	Status SetHotkeyPrefix(HotkeyPrefix hotkeyPrefix)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatHotkeyPrefix(
-				nativeStringFormat, (INT) hotkeyPrefix));
-	}
-	Status SetLineAlignment(StringAlignment align)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatLineAlign(
-				nativeStringFormat, align));
-	}
-	Status SetMeasurableCharacterRanges(INT rangeCount,
-			const CharacterRange *ranges)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatMeasurableCharacterRanges(
-				nativeStringFormat, rangeCount, ranges));
-	}
-	Status SetTabStops(REAL firstTabOffset, INT count, const REAL *tabStops)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatTabStops(
-				nativeStringFormat, firstTabOffset,
-				count, tabStops));
-	}
-	Status SetTrimming(StringTrimming trimming)
-	{
-		return updateStatus(DllExports::GdipSetStringFormatTrimming(
-				nativeStringFormat, trimming));
-	}
-
-private:
-	StringFormat(GpStringFormat *stringFormat, Status status):
-		nativeStringFormat(stringFormat), lastStatus(status) {}
-	StringFormat(const StringFormat&);
-	StringFormat& operator=(const StringFormat&);
-
-	Status updateStatus(Status newStatus) const
-	{
-		if (newStatus != Ok) lastStatus = newStatus;
-		return newStatus;
-	}
-
-	GpStringFormat *nativeStringFormat;
-	mutable Status lastStatus;
-};
-
-
-// FIXME: do StringFormat::GenericDefault() et al. need to be thread safe?
-// FIXME: maybe put this in gdiplus.c?
-
-extern "C" void *_GdipStringFormatCachedGenericDefault;
-extern "C" void *_GdipStringFormatCachedGenericTypographic;
-
-__inline__ const StringFormat* StringFormat::GenericDefault()
-{
-	if (!_GdipStringFormatCachedGenericDefault) {
-		GpStringFormat *nativeStringFormat = 0;
-		Status status = DllExports::GdipStringFormatGetGenericDefault(
-				&nativeStringFormat);
-		if (status == Ok && nativeStringFormat) {
-			_GdipStringFormatCachedGenericDefault = (void*)
-				new StringFormat(nativeStringFormat, Ok);
-		}
-	}
-	return (StringFormat*) _GdipStringFormatCachedGenericDefault;
-}
-
-__inline__ const StringFormat* StringFormat::GenericTypographic()
-{
-	if (!_GdipStringFormatCachedGenericTypographic) {
-		GpStringFormat *nativeStringFormat = 0;
-		Status status = DllExports::GdipStringFormatGetGenericTypographic(
-				&nativeStringFormat);
-		if (status == Ok && nativeStringFormat) {
-			_GdipStringFormatCachedGenericTypographic = (void*)
-				new StringFormat(nativeStringFormat, Ok);
-		}
-	}
-	return (StringFormat*) _GdipStringFormatCachedGenericTypographic;
-}
-
-
-
-#endif /* __GDIPLUS_STRINGFORMAT_H */
Index: Daodan/MinGW/include/gdiplus/gdiplustypes.h
===================================================================
--- Daodan/MinGW/include/gdiplus/gdiplustypes.h	(revision 1046)
+++ 	(revision )
@@ -1,456 +1,0 @@
-/*
- * gdiplustypes.h
- *
- * GDI+ basic type declarations
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Markus Koenig <markus@stber-koenig.de>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __GDIPLUS_TYPES_H
-#define __GDIPLUS_TYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define WINGDIPAPI __stdcall
-#define GDIPCONST const
-
-typedef enum GpStatus {
-	Ok = 0,
-	GenericError = 1,
-	InvalidParameter = 2,
-	OutOfMemory = 3,
-	ObjectBusy = 4,
-	InsufficientBuffer = 5,
-	NotImplemented = 6,
-	Win32Error = 7,
-	WrongState = 8,
-	Aborted = 9,
-	FileNotFound = 10,
-	ValueOverflow = 11,
-	AccessDenied = 12,
-	UnknownImageFormat = 13,
-	FontFamilyNotFound = 14,
-	FontStyleNotFound = 15,
-	NotTrueTypeFont = 16,
-	UnsupportedGdiplusVersion = 17,
-	GdiplusNotInitialized = 18,
-	PropertyNotFound = 19,
-	PropertyNotSupported = 20,
-	ProfileNotFound = 21
-} GpStatus;
-
-#ifdef __cplusplus
-typedef GpStatus Status;
-#endif
-
-typedef struct Size {
-	INT Width;
-	INT Height;
-
-	#ifdef __cplusplus
-	Size(): Width(0), Height(0) {}
-	Size(INT width, INT height): Width(width), Height(height) {}
-	Size(const Size& size): Width(size.Width), Height(size.Height) {}
-	
-	BOOL Empty() const {
-		return Width == 0 && Height == 0;
-	}
-	BOOL Equals(const Size& size) const {
-		return Width == size.Width && Height == size.Height;
-	}
-	Size operator+(const Size& size) const {
-		return Size(Width + size.Width, Height + size.Height);
-	}
-	Size operator-(const Size& size) const {
-		return Size(Width - size.Width, Height - size.Height);
-	}
-	#endif /* __cplusplus */
-} Size;
-
-typedef struct SizeF {
-	REAL Width;
-	REAL Height;
-
-	#ifdef __cplusplus
-	SizeF(): Width(0.0f), Height(0.0f) {}
-	SizeF(REAL width, REAL height): Width(width), Height(height) {}
-	SizeF(const SizeF& size): Width(size.Width), Height(size.Height) {}
-	
-	BOOL Empty() const {
-		return Width == 0.0f && Height == 0.0f;
-	}
-	BOOL Equals(const SizeF& size) const {
-		return Width == size.Width && Height == size.Height;
-	}
-	SizeF operator+(const SizeF& size) const {
-		return SizeF(Width + size.Width, Height + size.Height);
-	}
-	SizeF operator-(const SizeF& size) const {
-		return SizeF(Width - size.Width, Height - size.Height);
-	}
-	#endif /* __cplusplus */
-} SizeF;
-
-typedef struct Point {
-	INT X;
-	INT Y;
-
-	#ifdef __cplusplus
-	Point(): X(0), Y(0) {}
-	Point(INT x, INT y): X(x), Y(y) {}
-	Point(const Point& point): X(point.X), Y(point.Y) {}
-	Point(const Size& size): X(size.Width), Y(size.Height) {}
-	
-	BOOL Equals(const Point& point) const {
-		return X == point.X && Y == point.Y;
-	}
-	Point operator+(const Point& point) const {
-		return Point(X + point.X, Y + point.Y);
-	}
-	Point operator-(const Point& point) const {
-		return Point(X - point.X, Y - point.Y);
-	}
-	#endif /* __cplusplus */
-} Point;
-
-typedef struct PointF {
-	REAL X;
-	REAL Y;
-
-	#ifdef __cplusplus
-	PointF(): X(0.0f), Y(0.0f) {}
-	PointF(REAL x, REAL y): X(x), Y(y) {}
-	PointF(const PointF& point): X(point.X), Y(point.Y) {}
-	PointF(const SizeF& size): X(size.Width), Y(size.Height) {}
-	
-	BOOL Equals(const PointF& point) const {
-		return X == point.X && Y == point.Y;
-	}
-	PointF operator+(const PointF& point) const {
-		return PointF(X + point.X, Y + point.Y);
-	}
-	PointF operator-(const PointF& point) const {
-		return PointF(X - point.X, Y - point.Y);
-	}
-	#endif /* __cplusplus */
-} PointF;
-
-typedef struct Rect {
-	INT X;
-	INT Y;
-	INT Width;
-	INT Height;
-
-	#ifdef __cplusplus
-	Rect(): X(0), Y(0), Width(0), Height(0) {}
-	Rect(const Point& location, const Size& size):
-		X(location.X), Y(location.Y),
-		Width(size.Width), Height(size.Height) {}
-	Rect(INT x, INT y, INT width, INT height):
-		X(x), Y(y), Width(width), Height(height) {}
-	
-	Rect* Clone() const {
-		return new Rect(X, Y, Width, Height);
-	}
-	BOOL Contains(INT x, INT y) const {
-		return X <= x && Y <= y && x < X+Width && y < Y+Height;
-	}
-	BOOL Contains(const Point& point) const {
-		return Contains(point.X, point.Y);
-	}
-	BOOL Contains(const Rect& rect) const {
-		return X <= rect.X && Y <= rect.Y
-			&& rect.X+rect.Width <= X+Width
-			&& rect.Y+rect.Height <= Y+Height;
-	}
-	BOOL Equals(const Rect& rect) const {
-		return X == rect.X && Y == rect.Y
-			&& Width == rect.Width && Height == rect.Height;
-	}
-	INT GetBottom() const {
-		return Y+Height;
-	}
-	VOID GetBounds(Rect *rect) const {
-		if (rect != NULL) {
-			rect->X = X;
-			rect->Y = Y;
-			rect->Width = Width;
-			rect->Height = Height;
-		}
-	}
-	INT GetLeft() const {
-		return X;
-	}
-	VOID GetLocation(Point *point) const {
-		if (point != NULL) {
-			point->X = X;
-			point->Y = Y;
-		}
-	}
-	INT GetRight() const {
-		return X+Width;
-	}
-	VOID GetSize(Size *size) const {
-		if (size != NULL) {
-			size->Width = Width;
-			size->Height = Height;
-		}
-	}
-	INT GetTop() const {
-		return Y;
-	}
-	BOOL IsEmptyArea() const {
-		return Width <= 0 || Height <= 0;
-	}
-	VOID Inflate(INT dx, INT dy) {
-		X -= dx;
-		Y -= dy;
-		Width += 2*dx;
-		Height += 2*dy;
-	}
-	VOID Inflate(const Point& point) {
-		Inflate(point.X, point.Y);
-	}
-	static BOOL Intersect(Rect& c, const Rect& a, const Rect& b) {
-		INT intersectLeft   = (a.X < b.X) ? b.X : a.X;
-		INT intersectTop    = (a.Y < b.Y) ? b.Y : a.Y; 
-		INT intersectRight  = (a.GetRight() < b.GetRight())
-					? a.GetRight() : b.GetRight();
-		INT intersectBottom = (a.GetBottom() < b.GetBottom())
-					? a.GetBottom() : b.GetBottom();
-		c.X = intersectLeft;
-		c.Y = intersectTop;
-		c.Width = intersectRight - intersectLeft;
-		c.Height = intersectBottom - intersectTop;
-		return !c.IsEmptyArea();  
-	}
-	BOOL Intersect(const Rect& rect) {
-		return Intersect(*this, *this, rect);
-	}
-	BOOL IntersectsWith(const Rect& rc) const {
-		INT intersectLeft   = (X < rc.X) ? rc.X : X;
-		INT intersectTop    = (Y < rc.Y) ? rc.Y : Y; 
-		INT intersectRight  = (GetRight() < rc.GetRight())
-					? GetRight() : rc.GetRight();
-		INT intersectBottom = (GetBottom() < rc.GetBottom())
-					? GetBottom() : rc.GetBottom();
-		return intersectLeft < intersectRight
-			&& intersectTop < intersectBottom;
-	}
-	VOID Offset(INT dx, INT dy) {
-		X += dx;
-		Y += dy;
-	}
-	VOID Offset(const Point& point) {
-		Offset(point.X, point.Y);
-	}
-	static BOOL Union(Rect& c, const Rect& a, const Rect& b) {
-		INT unionLeft   = (a.X < b.X) ? a.X : b.X;
-		INT unionTop    = (a.Y < b.Y) ? a.Y : b.Y; 
-		INT unionRight  = (a.GetRight() < b.GetRight())
-					? b.GetRight() : a.GetRight();
-		INT unionBottom = (a.GetBottom() < b.GetBottom())
-					? b.GetBottom() : a.GetBottom();
-		c.X = unionLeft;
-		c.Y = unionTop;
-		c.Width = unionRight - unionLeft;
-		c.Height = unionBottom - unionTop;
-		return !c.IsEmptyArea();
-	}
-	#endif /* __cplusplus */
-} Rect;
-
-typedef struct RectF {
-	REAL X;
-	REAL Y;
-	REAL Width;
-	REAL Height;
-
-	#ifdef __cplusplus
-	RectF(): X(0.0f), Y(0.0f), Width(0.0f), Height(0.0f) {}
-	RectF(const PointF& location, const SizeF& size):
-		X(location.X), Y(location.Y),
-		Width(size.Width), Height(size.Height) {}
-	RectF(REAL x, REAL y, REAL width, REAL height):
-		X(x), Y(y), Width(width), Height(height) {}
-	
-	RectF* Clone() const {
-		return new RectF(X, Y, Width, Height);
-	}
-	BOOL Contains(REAL x, REAL y) const {
-		return X <= x && Y <= y && x < X+Width && y < Y+Height;
-	}
-	BOOL Contains(const PointF& point) const {
-		return Contains(point.X, point.Y);
-	}
-	BOOL Contains(const RectF& rect) const {
-		return X <= rect.X && Y <= rect.Y
-			&& rect.X+rect.Width <= X+Width
-			&& rect.Y+rect.Height <= Y+Height;
-	}
-	BOOL Equals(const RectF& rect) const {
-		return X == rect.X && Y == rect.Y
-			&& Width == rect.Width && Height == rect.Height;
-	}
-	REAL GetBottom() const {
-		return Y+Height;
-	}
-	VOID GetBounds(RectF *rect) const {
-		if (rect != NULL) {
-			rect->X = X;
-			rect->Y = Y;
-			rect->Width = Width;
-			rect->Height = Height;
-		}
-	}
-	REAL GetLeft() const {
-		return X;
-	}
-	VOID GetLocation(PointF *point) const {
-		if (point != NULL) {
-			point->X = X;
-			point->Y = Y;
-		}
-	}
-	REAL GetRight() const {
-		return X+Width;
-	}
-	VOID GetSize(SizeF *size) const {
-		if (size != NULL) {
-			size->Width = Width;
-			size->Height = Height;
-		}
-	}
-	REAL GetTop() const {
-		return Y;
-	}
-	BOOL IsEmptyArea() const {
-		return Width <= 0.0f || Height <= 0.0f;
-	}
-	VOID Inflate(REAL dx, REAL dy) {
-		X -= dx;
-		Y -= dy;
-		Width += 2*dx;
-		Height += 2*dy;
-	}
-	VOID Inflate(const PointF& point) {
-		Inflate(point.X, point.Y);
-	}
-	static BOOL Intersect(RectF& c, const RectF& a, const RectF& b) {
-		INT intersectLeft   = (a.X < b.X) ? b.X : a.X;
-		INT intersectTop    = (a.Y < b.Y) ? b.Y : a.Y; 
-		INT intersectRight  = (a.GetRight() < b.GetRight())
-					? a.GetRight() : b.GetRight();
-		INT intersectBottom = (a.GetBottom() < b.GetBottom())
-					? a.GetBottom() : b.GetBottom();
-		c.X = intersectLeft;
-		c.Y = intersectTop;
-		c.Width = intersectRight - intersectLeft;
-		c.Height = intersectBottom - intersectTop;
-		return !c.IsEmptyArea();  
-	}
-	BOOL Intersect(const RectF& rect) {
-		return Intersect(*this, *this, rect);
-	}
-	BOOL IntersectsWith(const RectF& rc) const {
-		INT intersectLeft   = (X < rc.X) ? rc.X : X;
-		INT intersectTop    = (Y < rc.Y) ? rc.Y : Y; 
-		INT intersectRight  = (GetRight() < rc.GetRight())
-					? GetRight() : rc.GetRight();
-		INT intersectBottom = (GetBottom() < rc.GetBottom())
-					? GetBottom() : rc.GetBottom();
-		return intersectLeft < intersectRight
-			&& intersectTop < intersectBottom;
-	}
-	VOID Offset(REAL dx, REAL dy) {
-		X += dx;
-		Y += dy;
-	}
-	VOID Offset(const PointF& point) {
-		Offset(point.X, point.Y);
-	}
-	static BOOL Union(RectF& c, const RectF& a, const RectF& b) {
-		INT unionLeft   = (a.X < b.X) ? a.X : b.X;
-		INT unionTop    = (a.Y < b.Y) ? a.Y : b.Y; 
-		INT unionRight  = (a.GetRight() < b.GetRight())
-					? b.GetRight() : a.GetRight();
-		INT unionBottom = (a.GetBottom() < b.GetBottom())
-					? b.GetBottom() : a.GetBottom();
-		c.X = unionLeft;
-		c.Y = unionTop;
-		c.Width = unionRight - unionLeft;
-		c.Height = unionBottom - unionTop;
-		return !c.IsEmptyArea();
-	}
-	#endif /* __cplusplus */
-} RectF;
-
-/* FIXME: Are descendants of this class, when compiled with g++,
-   binary compatible with MSVC++ code (especially GDIPLUS.DLL of course)? */
-#ifdef __cplusplus
-struct GdiplusAbort {
-	virtual HRESULT __stdcall Abort(void) { return NO_ERROR; }
-};
-#else
-typedef struct GdiplusAbort GdiplusAbort;  /* incomplete type */
-#endif
-
-typedef struct CharacterRange {
-	INT First;
-	INT Length;
-
-	#ifdef __cplusplus
-	CharacterRange(): First(0), Length(0) {}
-	CharacterRange(INT first, INT length): First(first), Length(length) {}
-	CharacterRange& operator=(const CharacterRange& rhs) {
-		/* This gracefully handles self-assignment */
-		First = rhs.First;
-		Length = rhs.Length;
-		return *this;
-	}
-	#endif /* __cplusplus */
-} CharacterRange;
-
-typedef struct PathData {
-	INT Count;
-	PointF *Points;
-	BYTE *Types;
-
-	#ifdef __cplusplus
-	friend class GraphicsPath;
-
-	PathData(): Count(0), Points(NULL), Types(NULL) {}
-	~PathData() {
-		FreeArrays();
-	}
-private:
-	/* used by GraphicsPath::GetPathData, defined in gdipluspath.h */
-	Status AllocateArrays(INT capacity);
-	VOID FreeArrays();
-	#endif /* __cplusplus */
-} PathData;
-
-/* Callback function types */
-/* FIXME: need a correct definition for these function pointer types */
-typedef void *DebugEventProc;
-typedef BOOL CALLBACK (*EnumerateMetafileProc)(EmfPlusRecordType,UINT,UINT,const BYTE*,VOID*);
-typedef void *DrawImageAbort;
-typedef void *GetThumbnailImageAbort;
-
-
-#endif /* __GDIPLUS_TYPES_H */
Index: Daodan/MinGW/include/getopt.h
===================================================================
--- Daodan/MinGW/include/getopt.h	(revision 1046)
+++ 	(revision )
@@ -1,111 +1,0 @@
-#ifndef __GETOPT_H__
-/*
- * getopt.h
- *
- * $Id: getopt.h,v 7d9fd83ab3c3 2014/10/21 21:25:10 keithmarshall $
- *
- * Defines constants and function prototypes required to implement
- * the `getopt', `getopt_long' and `getopt_long_only' APIs.
- *
- * This file is part of the MinGW32 package set.
- *
- * Contributed by Keith Marshall <keithmarshall@users.sourceforge.net>
- *
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 7d9fd83ab3c3 $
- * $Author: keithmarshall $
- * $Date: 2014/10/21 21:25:10 $
- *
- */
-#define __GETOPT_H__
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int optind;		/* index of first non-option in argv      */
-extern int optopt;		/* single option character, as parsed     */
-extern int opterr;		/* flag to enable built-in diagnostics... */
-				/* (user may set to zero, to suppress)    */
-
-extern char *optarg;		/* pointer to argument of current option  */
-
-extern int getopt( int, char * const [], const char * );
-
-#ifdef _BSD_SOURCE
-/*
- * BSD adds the non-standard `optreset' feature, for reinitialisation
- * of `getopt' parsing.  We support this feature, for applications which
- * proclaim their BSD heritage, before including this header; however,
- * to maintain portability, developers are advised to avoid it.
- */
-# define optreset  __mingw_optreset
-
-extern int optreset;
-#endif
-#ifdef __cplusplus
-}
-#endif
-/*
- * POSIX requires the `getopt' API to be specified in `unistd.h';
- * thus, `unistd.h' includes this header.  However, we do not want
- * to expose the `getopt_long' or `getopt_long_only' APIs, when
- * included in this manner.  Thus, close the standard __GETOPT_H__
- * declarations block, and open an additional __GETOPT_LONG_H__
- * specific block, only when *not* __UNISTD_H_SOURCED__, in which
- * to declare the extended API.
- */
-#endif /* !defined(__GETOPT_H__) */
-#if !defined(__UNISTD_H_SOURCED__) && !defined(__GETOPT_LONG_H__)
-#define __GETOPT_LONG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct option		/* specification for a long form option...	*/
-{
-  const char *name;		/* option name, without leading hyphens */
-  int         has_arg;		/* does it take an argument?		*/
-  int        *flag;		/* where to save its status, or NULL	*/
-  int         val;		/* its associated status value		*/
-};
-
-enum    		/* permitted values for its `has_arg' field...	*/
-{
-  no_argument = 0,      	/* option never takes an argument	*/
-  required_argument,		/* option always requires an argument	*/
-  optional_argument		/* option may take an argument		*/
-};
-
-extern int getopt_long( int, char * const [], const char *, const struct option *, int * );
-extern int getopt_long_only( int, char * const [], const char *, const struct option *, int * );
-/*
- * Previous MinGW implementation had...
- */
-#ifndef HAVE_DECL_GETOPT
-/*
- * ...for the long form API only; keep this for compatibility.
- */
-# define HAVE_DECL_GETOPT	1
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(__UNISTD_H_SOURCED__) && !defined(__GETOPT_LONG_H__) */
-/* $RCSfile: getopt.h,v $$Revision: 7d9fd83ab3c3 $: end of file */
Index: Daodan/MinGW/include/glob.h
===================================================================
--- Daodan/MinGW/include/glob.h	(revision 1046)
+++ 	(revision )
@@ -1,161 +1,0 @@
-#ifndef _GLOB_H
-/*
- * glob.h
- *
- * Header file supporting a MinGW implementation of an (approximately)
- * POSIX conforming glob() and globfree() API.
- *
- * $Id: glob.h,v 21b61b814e54 2016/07/10 21:38:45 keithmarshall $
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2011, 2012, 2014, 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, 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.
- *
- */
-#define _GLOB_H  1
-#include <_mingw.h>
-#pragma GCC system_header
-
-#ifndef RC_INVOKED
-/* POSIX requires glob.h to define the size_t type; we need to
- * get this from GCC, just as sys/types.h does.
- */
-#define __need_size_t
-#include <stddef.h>
-
-typedef
-struct glob_t
-{ /* The structure, in which glob() returns the list of file system
-   * entities which it has matched.
-   */
-  void     * gl_magic;	/* reserved field; pointer to a glob signature	*/
-  size_t     gl_pathc;	/* counter for paths matched			*/
-  char    ** gl_pathv;	/* list of matching path names			*/
-  size_t     gl_offs;	/* number of initial unused slots in gl_pathv	*/
-} glob_t;
-
-/* A macro to facilitate definition of the flags which are used to
- * control the operation of glob().
- */
-#define __GLOB_FLAG__(NAME)  (1 << __GLOB_##NAME##_OFFSET)
-enum {
-  /* Identify the zero-based offset values which are used to specify
-   * the individual bit positions for each __GLOB_FLAG; the initial
-   * list specifies the standard set of flags required by POSIX.
-   */
-  __GLOB_APPEND_OFFSET = 0,
-  __GLOB_DOOFFS_OFFSET,
-  __GLOB_ERR_OFFSET,
-  __GLOB_MARK_OFFSET,
-  __GLOB_NOCHECK_OFFSET,
-  __GLOB_NOESCAPE_OFFSET,
-  __GLOB_NOSORT_OFFSET,
-  /*
-   * GNU's implementation of glob() supports a supplementary set of
-   * options, none of which are required by POSIX.  We include these
-   * for reference, and to reserve the flag identities for a possible
-   * future implementation; the current MinGW implementation does not
-   * support them.
-   */
-  __GLOB_TILDE_OFFSET,
-  __GLOB_TILDE_CHECK_OFFSET,
-  __GLOB_PERIOD_OFFSET,
-  __GLOB_BRACE_OFFSET,
-  __GLOB_ONLYDIR_OFFSET,
-  __GLOB_ALTDIRFUNC_OFFSET,
-  __GLOB_NOMAGIC_OFFSET,
-  /*
-   * This MinGW implementation DOES add support for the following
-   * custom options, which offer improved handling of MS-Windows
-   * specific peculiarities:--
-   *
-   *   GLOB_CASEMATCH	    makes glob() respect case sensitivity
-   *			    in path name matches; this is similar
-   *			    to default behaviour on POSIX systems,
-   *			    but to better support the MS-Windows
-   *			    file system, the MinGW implementation
-   *			    of glob() performs a CASE INSENSITIVE
-   *			    character match by default, (except
-   *			    when matching within character group
-   *			    patterns, which are ALWAYS assumed to
-   *			    require CASE SENSITIVE matching).
-   */
-  __GLOB_CASEMATCH_OFFSET,
-  /*
-   * The following is a convenience, to mark the end of the enumeration;
-   * it is NEVER used to locate any user visible __GLOB_FLAG__, but it
-   * MUST remain as the final entry in the enumerated list.
-   */
-  __GLOB_FLAG_OFFSET_HIGH_WATER_MARK
-};
-
-/* Definitions of the mandatory flags, as specified by POSIX.
- */
-#define GLOB_APPEND	  __GLOB_FLAG__(APPEND)
-#define GLOB_DOOFFS	  __GLOB_FLAG__(DOOFFS)
-#define GLOB_ERR	  __GLOB_FLAG__(ERR)
-#define GLOB_MARK	  __GLOB_FLAG__(MARK)
-#define GLOB_NOCHECK	  __GLOB_FLAG__(NOCHECK)
-#define GLOB_NOESCAPE	  __GLOB_FLAG__(NOESCAPE)
-#define GLOB_NOSORT	  __GLOB_FLAG__(NOSORT)
-
-/* Additional flags definitions, for MinGW specific extensions.
- */
-#define GLOB_CASEMATCH	  __GLOB_FLAG__(CASEMATCH)
-
-_BEGIN_C_DECLS
-/*
- * Function prototypes.  Formally POSIX mandates:
- *
- *  int glob( const char *, int, int (*)( const char *, int ), glob_t * );
- *  void globfree( glob_t * );
- *
- * However, our actual function implementations are provided via this
- * pair of reserved function names...
- */
-int __mingw_glob (const char *, int, int (*)(const char *, int), glob_t *);
-void __mingw_globfree (glob_t *);
-
-/* ...to which the standard names are then mapped as aliases,
- * via __CRT_ALIAS inline function expansion.
- */
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = glob ))
-# define __ERRFUNC_P  (*__errfunc) (const char *, int)
-int glob (const char *__pattern, int __flags, int __ERRFUNC_P, glob_t *__data)
-{ return __mingw_glob (__pattern, __flags, __errfunc, __data); }
-# undef __ERRFUNC_P
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = globfree ))
-void globfree (glob_t *__data){ return __mingw_globfree (__data); }
-
-_END_C_DECLS
-
-/* Manifest definitions for the possible status values
- * which glob() may return.
- */
-#define GLOB_SUCCESS	(0)
-#define GLOB_ABORTED	(1)
-#define GLOB_NOMATCH	(2)
-#define GLOB_NOSPACE	(3)
-
-#endif /* ! RC_INVOKED */
-#endif /* ! defined _GLOB_H */
Index: Daodan/MinGW/include/gmon.h
===================================================================
--- Daodan/MinGW/include/gmon.h	(revision 1046)
+++ 	(revision )
@@ -1,181 +1,0 @@
-/*	$OpenBSD: gmon.h,v 1.3 1996/04/21 22:31:46 deraadt Exp $	*/
-/*	$NetBSD: gmon.h,v 1.5 1996/04/09 20:55:30 cgd Exp $	*/
-
-/*-
- * Copyright (c) 1982, 1986, 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)gmon.h	8.2 (Berkeley) 1/4/94
- */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#ifndef _SYS_GMON_H_
-#define _SYS_GMON_H_
-
-#ifndef __P
-#define __P(x) x
-#endif
-
-#include <profile.h>
-
-#ifdef __MINGW32__
-#ifndef _BSDTYPES_DEFINED
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-#define _BSDTYPES_DEFINED
-#endif /* _BSDTYPES_DEFINED */
-#endif /* __MINGW32__*/
-
-/*
- * Structure prepended to gmon.out profiling data file.
- */
-struct gmonhdr {
-	u_long	lpc;		/* base pc address of sample buffer */
-	u_long	hpc;		/* max pc address of sampled buffer */
-	int	ncnt;		/* size of sample buffer (plus this header) */
-	int	version;	/* version number */
-	int	profrate;	/* profiling clock rate */
-	int	spare[3];	/* reserved */
-};
-#define GMONVERSION	0x00051879
-
-/*
- * histogram counters are unsigned shorts (according to the kernel).
- */
-#define	HISTCOUNTER	unsigned short
-
-/*
- * fraction of text space to allocate for histogram counters here, 1/2
- */
-#define	HISTFRACTION	2
-
-/*
- * Fraction of text space to allocate for from hash buckets.
- * The value of HASHFRACTION is based on the minimum number of bytes
- * of separation between two subroutine call points in the object code.
- * Given MIN_SUBR_SEPARATION bytes of separation the value of
- * HASHFRACTION is calculated as:
- *
- *	HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1);
- *
- * For example, on the VAX, the shortest two call sequence is:
- *
- *	calls	$0,(r0)
- *	calls	$0,(r0)
- *
- * which is separated by only three bytes, thus HASHFRACTION is
- * calculated as:
- *
- *	HASHFRACTION = 3 / (2 * 2 - 1) = 1
- *
- * Note that the division above rounds down, thus if MIN_SUBR_FRACTION
- * is less than three, this algorithm will not work!
- *
- * In practice, however, call instructions are rarely at a minimal
- * distance.  Hence, we will define HASHFRACTION to be 2 across all
- * architectures.  This saves a reasonable amount of space for
- * profiling data structures without (in practice) sacrificing
- * any granularity.
- */
-#define	HASHFRACTION	2
-
-/*
- * percent of text space to allocate for tostructs with a minimum.
- */
-#define ARCDENSITY	2
-#define MINARCS		50
-#define MAXARCS		((1 << (8 * sizeof(HISTCOUNTER))) - 2)
-
-struct tostruct {
-	u_long	selfpc;
-	long	count;
-	u_short	link;
-	u_short pad;
-};
-
-/*
- * a raw arc, with pointers to the calling site and
- * the called site and a count.
- */
-struct rawarc {
-	u_long	raw_frompc;
-	u_long	raw_selfpc;
-	long	raw_count;
-};
-
-/*
- * general rounding functions.
- */
-#define ROUNDDOWN(x,y)	(((x)/(y))*(y))
-#define ROUNDUP(x,y)	((((x)+(y)-1)/(y))*(y))
-
-/*
- * The profiling data structures are housed in this structure.
- */
-struct gmonparam {
-	int		state;
-	u_short		*kcount;
-	u_long		kcountsize;
-	u_short		*froms;
-	u_long		fromssize;
-	struct tostruct	*tos;
-	u_long		tossize;
-	long		tolimit;
-	u_long		lowpc;
-	u_long		highpc;
-	u_long		textsize;
-	u_long		hashfraction;
-};
-extern struct gmonparam _gmonparam;
-
-/*
- * Possible states of profiling.
- */
-#define	GMON_PROF_ON	0
-#define	GMON_PROF_BUSY	1
-#define	GMON_PROF_ERROR	2
-#define	GMON_PROF_OFF	3
-
-/*
- * Sysctl definitions for extracting profiling information from the kernel.
- */
-#define	GPROF_STATE	0	/* int: profiling enabling variable */
-#define	GPROF_COUNT	1	/* struct: profile tick count buffer */
-#define	GPROF_FROMS	2	/* struct: from location hash bucket */
-#define	GPROF_TOS	3	/* struct: destination/count structure */
-#define	GPROF_GMONPARAM	4	/* struct: profiling parameters (see above) */
-#endif /* !_SYS_GMONH_ */
Index: Daodan/MinGW/include/httpext.h
===================================================================
--- Daodan/MinGW/include/httpext.h	(revision 1046)
+++ 	(revision )
@@ -1,98 +1,0 @@
-/*
-       httpext.h - Header for ISAPI extensions.
-
-       This file is part of a free library for the Win32 API.
-
-       This library is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _HTTPEXT_H
-#define _HTTPEXT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define	HSE_VERSION_MAJOR	2
-#define	HSE_VERSION_MINOR	0
-#define	HSE_LOG_BUFFER_LEN	80
-#define	HSE_MAX_EXT_DLL_NAME_LEN	256
-#define	HSE_STATUS_SUCCESS	1
-#define	HSE_STATUS_SUCCESS_AND_KEEP_CONN	2
-#define	HSE_STATUS_PENDING	3
-#define	HSE_STATUS_ERROR	4
-#define	HSE_REQ_BASE	0
-#define	HSE_REQ_SEND_URL_REDIRECT_RESP	1
-#define	HSE_REQ_SEND_URL	2
-#define	HSE_REQ_SEND_RESPONSE_HEADER	3
-#define	HSE_REQ_DONE_WITH_SESSION	4
-#define	HSE_REQ_SEND_RESPONSE_HEADER_EX	1016
-#define	HSE_REQ_END_RESERVED	1000
-#define	HSE_TERM_ADVISORY_UNLOAD	0x00000001
-#define	HSE_TERM_MUST_UNLOAD	0x00000002
-#define	HSE_IO_SYNC	0x00000001
-#define	HSE_IO_ASYNC	0x00000002
-#define	HSE_IO_DISCONNECT_AFTER_SEND	0x00000004
-#define	HSE_IO_SEND_HEADERS	0x00000008
-typedef	LPVOID HCONN;
-typedef	struct _HSE_VERSION_INFO {
-	DWORD	dwExtensionVersion;
-	CHAR	lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN];
-} HSE_VERSION_INFO, *LPHSE_VERSION_INFO;
-typedef	struct _EXTENSION_CONTROL_BLOCK	{
-	DWORD	cbSize;
-	DWORD	dwVersion;
-	HCONN	ConnID;
-	DWORD	dwHttpStatusCode;
-	CHAR	lpszLogData[HSE_LOG_BUFFER_LEN];
-	LPSTR	lpszMethod;
-	LPSTR	lpszQueryString;
-	LPSTR	lpszPathInfo;
-	LPSTR	lpszPathTranslated;
-	DWORD	cbTotalBytes;
-	DWORD	cbAvailable;
-	LPBYTE	lpbData;
-	LPSTR	lpszContentType;
-	BOOL	(PASCAL	*GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD);
-	BOOL	(PASCAL	*WriteClient)(HCONN,LPVOID,LPDWORD,DWORD);
-	BOOL	(PASCAL	*ReadClient)(HCONN,LPVOID,LPDWORD);
-	BOOL	(PASCAL	*ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD);
-} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK;
-typedef	BOOL	(PASCAL	*PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*);
-typedef	DWORD	(PASCAL	*PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*);
-typedef	BOOL	(PASCAL	*PFN_TERMINATEEXTENSION)(DWORD);
-typedef	VOID	(PASCAL	*PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD);
-typedef struct _HSE_TF_INFO {
-	PFN_HSE_IO_COMPLETION pfnHseIO;
-	PVOID pContext;
-	HANDLE hFile;
-	LPCSTR pszStatusCode;
-	DWORD BytesToWrite;
-	DWORD Offset;
-	PVOID pHead;
-	DWORD HeadLength;
-	PVOID pTail;
-	DWORD TailLength;
-	DWORD dwFlags;
-} HSE_TF_INFO, *LPHSE_TF_INFO;
-typedef struct _HSE_SEND_HEADER_EX_INFO {
-	LPCSTR pszStatus;
-	LPCSTR pszHeader;
-	DWORD cchStatus;
-	DWORD cchHeader;
-	BOOL fKeepConn;
-} HSE_SEND_HEADER_EX_INFO, * LPHSE_SEND_HEADER_EX_INF;
-BOOL	PASCAL	GetExtensionVersion(HSE_VERSION_INFO*);
-DWORD	PASCAL	HttpExtensionProc(EXTENSION_CONTROL_BLOCK*);
-BOOL	PASCAL	TerminateExtension(DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _HTTPEXT_H */
Index: Daodan/MinGW/include/icm.h
===================================================================
--- Daodan/MinGW/include/icm.h	(revision 1046)
+++ 	(revision )
@@ -1,399 +1,0 @@
-#ifndef _ICM_H
-#define _ICM_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define MAX_COLOR_CHANNELS 8
-#define PROFILE_FILENAME 1
-#define PROFILE_MEMBUFFER 2
-#define PROFILE_READ 1
-#define PROFILE_READWRITE 2
-#define CLASS_SCANNER 0x73636E72
-#define CLASS_MONITOR 0x6D6E7472
-#define CLASS_PRINTER 0x70727472
-#define CLASS_LINK 0x6C696E6B
-#define CLASS_COLORSPAC 0x73706163
-#define CLASS_ABSTRACT 0x61627374
-#define CLASS_NAMED 0x6E6D636C
-#define SPACE_XYZ 0x58595A20
-#define SPACE_Lab 0x4C616220
-#define SPACE_Luv 0x4C757620
-#define SPACE_YCbCr 0x59436272
-#define SPACE_Yxy 0x59787920
-#define SPACE_RGB 0x52474220
-#define SPACE_GRAY 0x47524159
-#define SPACE_HSV 0x48535620
-#define SPACE_HLS 0x484C5320
-#define SPACE_CMYK 0x434D594B
-#define SPACE_CMY 0x434D5920
-#define SPACE_2_CHANNEL 0x32434C52
-#define SPACE_3_CHANNEL 0x33434C52
-#define SPACE_4_CHANNEL 0x34434C52
-#define SPACE_5_CHANNEL 0x35434C52
-#define SPACE_6_CHANNEL 0x36434C52
-#define SPACE_7_CHANNEL 0x37434C52
-#define SPACE_8_CHANNEL 0x38434C52
-#define FLAG_EMBEDDEDPROFILE 1
-#define FLAG_DEPENDENTONDATA 2
-#define ATTRIB_TRANSPARENCY 1
-#define ATTRIB_MATTE 2
-#define INTENT_PERCEPTUAL 0
-#define INTENT_RELATIVE_COLORIMETRIC 1
-#define INTENT_SATURATION 2
-#define INTENT_ABSOLUTE_COLORIMETRIC 3
-#define COLOR_MATCH_VERSION 0x200
-#define CMS_DISABLEICM 0x1
-#define CMS_ENABLEPROOFING 0x2
-#define CMS_SETRENDERINTENT 0x4
-#define CMS_SETPROOFINTENT 0x8
-#define CMS_SETMONITORPROFILE 0x10
-#define CMS_SETPRINTERPROFILE 0x20
-#define CMS_SETTARGETPROFILE 0x40
-#define CMS_USEHOOK 0x80
-#define CMS_USEAPPLYCALLBACK 0x100
-#define CMS_USEDESCRIPTION 0x200
-#define CMS_TARGETOVERFLOW 0x20000000
-#define CMS_PRINTERROVERFLOW 0x40000000
-#define CMS_MONITOROVERFLOW 0x80000000
-
-DECLARE_HANDLE(HPROFILE);
-typedef HPROFILE *PHPROFILE,*LPHPROFILE;
-DECLARE_HANDLE(HTRANSFORM);\
-
-typedef BOOL (CALLBACK *PBMCALLBACKFN)(ULONG,ULONG,LPARAM);
-struct _tagCOLORMATCHSETUPA;
-struct _tagCOLORMATCHSETUPW;
-typedef BOOL (CALLBACK *PCMSCALLBACKA)(struct _tagCOLORMATCHSETUPA*,LPARAM);
-typedef BOOL (CALLBACK *PCMSCALLBACKW)(struct _tagCOLORMATCHSETUPW*,LPARAM);
-
-typedef CHAR COLOR_NAME[32];
-typedef COLOR_NAME *PCOLOR_NAME,*LPCOLOR_NAME;
-typedef DWORD TAGTYPE,*PTAGTYPE,*LPTAGTYPE;
-typedef enum
-{
-  BM_x555RGB      = 0x0000,
-  BM_x555XYZ      = 0x0101,
-  BM_x555Yxy,
-  BM_x555Lab,
-  BM_x555G3CH,
-  BM_RGBTRIPLETS  = 0x0002,
-  BM_BGRTRIPLETS  = 0x0004,
-  BM_XYZTRIPLETS  = 0x0201,
-  BM_YxyTRIPLETS,
-  BM_LabTRIPLETS,
-  BM_G3CHTRIPLETS,
-  BM_5CHANNEL,
-  BM_6CHANNEL,
-  BM_7CHANNEL,
-  BM_8CHANNEL,
-  BM_GRAY,
-  BM_xRGBQUADS    = 0x0008,
-  BM_xBGRQUADS    = 0x0010,
-  BM_xG3CHQUADS   = 0x0304,
-  BM_KYMCQUADS,
-  BM_CMYKQUADS    = 0x0020,
-  BM_10b_RGB      = 0x0009,
-  BM_10b_XYZ      = 0x0401,
-  BM_10b_Yxy,
-  BM_10b_Lab,
-  BM_10b_G3CH,
-  BM_NAMED_INDEX,
-  BM_16b_RGB      = 0x000A,
-  BM_16b_XYZ      = 0x0501,
-  BM_16b_Yxy,
-  BM_16b_Lab,
-  BM_16b_G3CH,
-  BM_16b_GRAY,
-  BM_565RGB       = 0x0001
-} BMFORMAT,*PBMFORMAT,*LPBMFORMAT;
-typedef enum
-{
-  COLOR_GRAY       =   1,
-  COLOR_RGB,
-  COLOR_XYZ,
-  COLOR_Yxy,
-  COLOR_Lab,
-  COLOR_3_CHANNEL,
-  COLOR_CMYK,
-  COLOR_5_CHANNEL,
-  COLOR_6_CHANNEL,
-  COLOR_7_CHANNEL,
-  COLOR_8_CHANNEL,
-  COLOR_NAMED
-} COLORTYPE,*PCOLORTYPE,*LPCOLORTYPE;
-struct GRAYCOLOR {
-  WORD    gray;
-};
-struct RGBCOLOR {
-  WORD    red;
-  WORD    green;
-  WORD    blue;
-};
-struct CMYKCOLOR {
-  WORD    cyan;
-  WORD    magenta;
-  WORD    yellow;
-  WORD    black;
-};
-struct XYZCOLOR {
-  WORD    X;
-  WORD    Y;
-  WORD    Z;
-};
-struct YxyCOLOR {
-  WORD    Y;
-  WORD    x;
-  WORD    y;
-};
-struct LabCOLOR {
-  WORD    L;
-  WORD    a;
-  WORD    b;
-};
-struct GENERIC3CHANNEL {
-  WORD    ch1;
-  WORD    ch2;
-  WORD    ch3;
-};
-struct NAMEDCOLOR {
-  DWORD   dwIndex;
-};
-struct HiFiCOLOR {
-  BYTE    channel[MAX_COLOR_CHANNELS];
-};
-typedef union tagCOLOR {
-  struct GRAYCOLOR        gray;
-  struct RGBCOLOR         rgb;
-  struct CMYKCOLOR        cmyk;
-  struct XYZCOLOR         XYZ;
-  struct YxyCOLOR         Yxy;
-  struct LabCOLOR         Lab;
-  struct GENERIC3CHANNEL  gen3ch;
-  struct NAMEDCOLOR       named;
-  struct HiFiCOLOR        hifi;
-} COLOR,*PCOLOR,*LPCOLOR;
-typedef struct _tagCOLORMATCHSETUPA {
-  DWORD         dwSize;
-  DWORD         dwVersion;
-  DWORD         dwFlags;
-  HWND          hwndOwner;
-  PCSTR         pSourceName;
-  PCSTR         pDisplayName;
-  PCSTR         pPrinterName;
-  DWORD         dwRenderIntent;
-  DWORD         dwProofingIntent;
-  PSTR          pMonitorProfile;
-  DWORD         ccMonitorProfile;
-  PSTR          pPrinterProfile;
-  DWORD         ccPrinterProfile;
-  PSTR          pTargetProfile;
-  DWORD         ccTargetProfile;
-  DLGPROC       lpfnHook;
-  LPARAM        lParam;
-  PCMSCALLBACKA lpfnApplyCallback;
-  LPARAM        lParamApplyCallback;
-} COLORMATCHSETUPA,*PCOLORMATCHSETUPA,*LPCOLORMATCHSETUPA;
-typedef struct _tagCOLORMATCHSETUPW {
-  DWORD         dwSize;
-  DWORD         dwVersion;
-  DWORD         dwFlags;
-  HWND          hwndOwner;
-  PCWSTR        pSourceName;
-  PCWSTR        pDisplayName;
-  PCWSTR        pPrinterName;
-  DWORD         dwRenderIntent;
-  DWORD         dwProofingIntent;
-  PWSTR         pMonitorProfile;
-  DWORD         ccMonitorProfile;
-  PWSTR         pPrinterProfile;
-  DWORD         ccPrinterProfile;
-  PWSTR         pTargetProfile;
-  DWORD         ccTargetProfile;
-  DLGPROC       lpfnHook;
-  LPARAM        lParam;
-  PCMSCALLBACKW lpfnApplyCallback;
-  LPARAM        lParamApplyCallback;
-} COLORMATCHSETUPW,*PCOLORMATCHSETUPW,*LPCOLORMATCHSETUPW;
-typedef struct tagENUMTYPEW {
-  DWORD   dwSize;
-  DWORD   dwVersion;
-  DWORD   dwFields;
-  PCWSTR  pDeviceName;
-  DWORD   dwMediaType;
-  DWORD   dwDitheringMode;
-  DWORD   dwResolution[2];
-  DWORD   dwCMMType;
-  DWORD   dwClass;
-  DWORD   dwDataColorSpace;
-  DWORD   dwConnectionSpace;
-  DWORD   dwSignature;
-  DWORD   dwPlatform;
-  DWORD   dwProfileFlags;
-  DWORD   dwManufacturer;
-  DWORD   dwModel;
-  DWORD   dwAttributes[2];
-  DWORD   dwRenderingIntent;
-  DWORD   dwCreator;
-  DWORD   dwDeviceClass;
-} ENUMTYPEW,*PENUMTYPEW,*LPENUMTYPEW;
-typedef struct tagENUMTYPEA {
-  DWORD   dwSize;
-  DWORD   dwVersion;
-  DWORD   dwFields;
-  PCSTR   pDeviceName;
-  DWORD   dwMediaType;
-  DWORD   dwDitheringMode;
-  DWORD   dwResolution[2];
-  DWORD   dwCMMType;
-  DWORD   dwClass;
-  DWORD   dwDataColorSpace;
-  DWORD   dwConnectionSpace;
-  DWORD   dwSignature;
-  DWORD   dwPlatform;
-  DWORD   dwProfileFlags;
-  DWORD   dwManufacturer;
-  DWORD   dwModel;
-  DWORD   dwAttributes[2];
-  DWORD   dwRenderingIntent;
-  DWORD   dwCreator;
-  DWORD   dwDeviceClass;
-} ENUMTYPEA,*PENUMTYPEA,*LPENUMTYPEA;
-typedef struct tagNAMED_PROFILE_INFO{
-  DWORD         dwFlags;
-  DWORD         dwCount;
-  DWORD         dwCountDevCoordinates;
-  COLOR_NAME    szPrefix;
-  COLOR_NAME    szSuffix;
-} NAMED_PROFILE_INFO,*PNAMED_PROFILE_INFO,*LPNAMED_PROFILE_INFO;
-typedef struct tagPROFILE {
-  DWORD    dwType;
-  PVOID    pProfileData;
-  DWORD    cbDataSize;
-} PROFILE,*PPROFILE,*LPPROFILE;
-typedef struct tagPROFILEHEADER {
-  DWORD   phSize;
-  DWORD   phCMMType;
-  DWORD   phVersion;
-  DWORD   phClass;
-  DWORD   phDataColorSpace;
-  DWORD   phConnectionSpace;
-  DWORD   phDateTime[3];
-  DWORD   phSignature;
-  DWORD   phPlatform;
-  DWORD   phProfileFlags;
-  DWORD   phManufacturer;
-  DWORD   phModel;
-  DWORD   phAttributes[2];
-  DWORD   phRenderingIntent;
-  CIEXYZ  phIlluminant;
-  DWORD   phCreator;
-  BYTE    phReserved[44];
-} PROFILEHEADER,*PPROFILEHEADER,*LPPROFILEHEADER;
-
-BOOL WINAPI AssociateColorProfileWithDeviceA(PCSTR,PCSTR,PCSTR);
-BOOL WINAPI AssociateColorProfileWithDeviceW(PCWSTR,PCWSTR,PCWSTR);
-BOOL WINAPI CheckBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PBYTE,PBMCALLBACKFN,LPARAM);
-BOOL WINAPI CheckColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PBYTE);
-BOOL WINAPI CloseColorProfile(HPROFILE);
-BOOL WINAPI ConvertColorNameToIndex(HPROFILE,PCOLOR_NAME,PDWORD,DWORD);
-BOOL WINAPI ConvertIndexToColorName(HPROFILE,PDWORD,PCOLOR_NAME,DWORD);
-HTRANSFORM WINAPI CreateColorTransformA(LPLOGCOLORSPACEA,HPROFILE,HPROFILE,DWORD);
-HTRANSFORM WINAPI CreateColorTransformW(LPLOGCOLORSPACEW,HPROFILE,HPROFILE,DWORD);
-BOOL WINAPI CreateDeviceLinkProfile(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD);
-HTRANSFORM WINAPI CreateMultiProfileTransform(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,DWORD);
-BOOL WINAPI CreateProfileFromLogColorSpaceA(LPLOGCOLORSPACEA,PBYTE*);
-BOOL WINAPI CreateProfileFromLogColorSpaceW(LPLOGCOLORSPACEW,PBYTE*);
-BOOL WINAPI DeleteColorTransform(HTRANSFORM);
-BOOL WINAPI DisassociateColorProfileFromDeviceA(PCSTR,PCSTR,PCSTR);
-BOOL WINAPI DisassociateColorProfileFromDeviceW(PCWSTR,PCWSTR,PCWSTR);
-BOOL WINAPI EnumColorProfilesA(PCSTR,PENUMTYPEA,PBYTE,PDWORD,PDWORD);
-BOOL WINAPI EnumColorProfilesW(PCWSTR,PENUMTYPEW,PBYTE,PDWORD,PDWORD);
-DWORD WINAPI GetCMMInfo(HTRANSFORM,DWORD);
-BOOL WINAPI GetColorDirectoryA(PCSTR,PSTR,PDWORD);
-BOOL WINAPI GetColorDirectoryW(PCWSTR,PWSTR,PDWORD);
-BOOL WINAPI GetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID,PBOOL);
-BOOL WINAPI GetColorProfileElementTag(HPROFILE,DWORD,PTAGTYPE);
-BOOL WINAPI GetColorProfileFromHandle(HPROFILE,PBYTE,PDWORD);
-BOOL WINAPI GetColorProfileHeader(HPROFILE,PPROFILEHEADER);
-BOOL WINAPI GetCountColorProfileElements(HPROFILE,PDWORD);
-BOOL WINAPI GetNamedProfileInfo(HPROFILE,PNAMED_PROFILE_INFO);
-BOOL WINAPI GetPS2ColorRenderingDictionary(HPROFILE,DWORD,PBYTE,PDWORD,PBOOL);
-BOOL WINAPI GetPS2ColorRenderingIntent(HPROFILE,DWORD,PBYTE,PDWORD);
-BOOL WINAPI GetPS2ColorSpaceArray(HPROFILE,DWORD,DWORD,PBYTE,PDWORD,PBOOL);
-BOOL WINAPI GetStandardColorSpaceProfileA(PCSTR,DWORD,PSTR,PDWORD);
-BOOL WINAPI GetStandardColorSpaceProfileW(PCWSTR,DWORD,PWSTR,PDWORD);
-BOOL WINAPI InstallColorProfileA(PCSTR,PCSTR);
-BOOL WINAPI InstallColorProfileW(PCWSTR,PCWSTR);
-BOOL WINAPI IsColorProfileTagPresent(HPROFILE,TAGTYPE,PBOOL);
-BOOL WINAPI IsColorProfileValid(HPROFILE,PBOOL);
-HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD);
-HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD);
-BOOL WINAPI RegisterCMMA(PCSTR,DWORD,PCSTR);
-BOOL WINAPI RegisterCMMW(PCWSTR,DWORD,PCWSTR);
-BOOL WINAPI SelectCMM(DWORD);
-BOOL WINAPI SetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID);
-BOOL WINAPI SetColorProfileElementReference(HPROFILE,TAGTYPE,TAGTYPE);
-BOOL WINAPI SetColorProfileElementSize(HPROFILE,TAGTYPE,DWORD);
-BOOL WINAPI SetColorProfileHeader(HPROFILE,PPROFILEHEADER);
-BOOL WINAPI SetStandardColorSpaceProfileA(PCSTR,DWORD,PCSTR);
-BOOL WINAPI SetStandardColorSpaceProfileW(PCWSTR,DWORD,PCSTR);
-BOOL WINAPI SetupColorMatchingA(PCOLORMATCHSETUPA);
-BOOL WINAPI SetupColorMatchingW(PCOLORMATCHSETUPW);
-BOOL WINAPI TranslateBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PVOID,BMFORMAT,DWORD,PBMCALLBACKFN,ULONG);
-BOOL WINAPI TranslateColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PCOLOR,COLORTYPE);
-BOOL WINAPI UninstallColorProfileA(PCSTR,PCSTR,BOOL);
-BOOL WINAPI UninstallColorProfileW(PCWSTR,PCWSTR,BOOL);
-BOOL WINAPI UnregisterCMMA(PCSTR,DWORD);
-BOOL WINAPI UnregisterCMMW(PCWSTR,DWORD);
-
-#ifdef UNICODE
-typedef PCMSCALLBACKW PCMSCALLBACK;
-typedef COLORMATCHSETUPW COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP;
-typedef ENUMTYPEW ENUMTYPE,*PENUMTYPE,*LPENUMTYPE;
-#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW
-#define CreateColorTransform CreateColorTransformW
-#define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceW
-#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW
-#define EnumColorProfiles EnumColorProfilesW
-#define GetColorDirectory GetColorDirectoryW
-#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW
-#define InstallColorProfile InstallColorProfileW
-#define OpenColorProfile OpenColorProfileW
-#define RegisterCMM RegisterCMMW
-#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW
-#define SetupColorMatching SetupColorMatchingW
-#define UninstallColorProfile UninstallColorProfileW
-#define UnregisterCMM UnregisterCMMW
-#else /* UNICODE */
-typedef PCMSCALLBACKA PCMSCALLBACK;
-typedef COLORMATCHSETUPA COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP;
-typedef ENUMTYPEA ENUMTYPE,*PENUMTYPE,*LPENUMTYPE;
-#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA
-#define CreateColorTransform CreateColorTransformA
-#define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceA
-#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA
-#define EnumColorProfiles EnumColorProfilesA
-#define GetColorDirectory GetColorDirectoryA
-#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA
-#define InstallColorProfile InstallColorProfileA
-#define OpenColorProfile OpenColorProfileA
-#define RegisterCMM RegisterCMMA
-#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA
-#define SetupColorMatching SetupColorMatchingA
-#define UninstallColorProfile UninstallColorProfileA
-#define UnregisterCMM UnregisterCMMA
-#endif /* !UNICODE */
-
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ICM_H */
Index: Daodan/MinGW/include/idispids.h
===================================================================
--- Daodan/MinGW/include/idispids.h	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-#ifndef _IDISPIDS_H
-#define _IDISPIDS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED (-5501)
-#define DISPID_AMBIENT_SILENT (-5502)
-
-#endif
Index: Daodan/MinGW/include/il21dec.h
===================================================================
--- Daodan/MinGW/include/il21dec.h	(revision 1046)
+++ 	(revision )
@@ -1,35 +1,0 @@
-#ifndef _IL21DEC_H
-#define _IL21DEC_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum _AM_LINE21_CCLEVEL {
-	AM_L21_CCLEVEL_TC2
-} AM_LINE21_CCLEVEL,*PAM_LINE21_CCLEVEL;
-typedef enum _AM_LINE21_CCSERVICE {
-	AM_L21_CCSERVICE_None,
-	AM_L21_CCSERVICE_Caption1,
-	AM_L21_CCSERVICE_Caption2,
-	AM_L21_CCSERVICE_Text1,
-	AM_L21_CCSERVICE_Text2,
-	AM_L21_CCSERVICE_XDS,
-} AM_LINE21_CCSERVICE,*PAM_LINE21_CCSERVICE;
-typedef enum _AM_LINE21_CCSTATE {
-	AM_L21_CCSTATE_Off,
-	AM_L21_CCSTATE_On
-} AM_LINE21_CCSTATE,*PAM_LINE21_CCSTATE;
-typedef enum _AM_LINE21_DRAWBGMODE {
-	AM_L21_DRAWBGMODE_Opaque,
-	AM_L21_DRAWBGMODE_Transparent
-} AM_LINE21_DRAWBGMODE,*PAM_LINE21_DRAWBGMODE;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/imagehlp.h
===================================================================
--- Daodan/MinGW/include/imagehlp.h	(revision 1046)
+++ 	(revision )
@@ -1,329 +1,0 @@
-/*
-	imagehlp.h - Include file for IMAGEHLP.DLL APIs
-
-	Written by Mumit Khan <khan@nanotech.wisc.edu>
-
-	This file is part of a free library for the Win32 API.
-
-	NOTE: This strictly does not belong in the Win32 API since it's
-	really part of Platform SDK. However,GDB needs it and we might
-	as well provide it here.
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#ifndef _IMAGEHLP_H
-#define _IMAGEHLP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define API_VERSION_NUMBER 7
-#define BIND_NO_BOUND_IMPORTS 0x00000001
-#define BIND_NO_UPDATE 0x00000002
-#define BIND_ALL_IMAGES 0x00000004
-#define BIND_CACHE_IMPORT_DLLS 0x00000008
-#define CBA_DEFERRED_SYMBOL_LOAD_START 1
-#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 2
-#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 3
-#define CBA_SYMBOLS_UNLOADED 4
-#define CBA_DUPLICATE_SYMBOL 5
-#define CERT_PE_IMAGE_DIGEST_DEBUG_INFO 1
-#define CERT_PE_IMAGE_DIGEST_RESOURCES 2
-#define CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO 4
-#define CERT_PE_IMAGE_DIGEST_NON_PE_INFO 8
-#define CERT_SECTION_TYPE_ANY 255
-#define CHECKSUM_SUCCESS	0
-#define CHECKSUM_OPEN_FAILURE	1
-#define CHECKSUM_MAP_FAILURE	2
-#define CHECKSUM_MAPVIEW_FAILURE	3
-#define CHECKSUM_UNICODE_FAILURE	4
-#define IMAGE_SEPARATION	65536
-#define SPLITSYM_REMOVE_PRIVATE	1
-#define SPLITSYM_EXTRACT_ALL	2
-#define SPLITSYM_SYMBOLPATH_IS_SRC	4
-#define SYMF_OMAP_GENERATED	1
-#define SYMF_OMAP_MODIFIED	2
-#define SYMOPT_CASE_INSENSITIVE	1
-#define SYMOPT_UNDNAME	2
-#define SYMOPT_DEFERRED_LOADS	4
-#define SYMOPT_NO_CPP	8
-#define SYMOPT_LOAD_LINES	16
-#define SYMOPT_OMAP_FIND_NEAREST	32
-#define UNDNAME_COMPLETE	0
-#define UNDNAME_NO_LEADING_UNDERSCORES	1
-#define UNDNAME_NO_MS_KEYWORDS	2
-#define UNDNAME_NO_FUNCTION_RETURNS	4
-#define UNDNAME_NO_ALLOCATION_MODEL	8
-#define UNDNAME_NO_ALLOCATION_LANGUAGE	16
-#define UNDNAME_NO_MS_THISTYPE	32
-#define UNDNAME_NO_CV_THISTYPE	64
-#define UNDNAME_NO_THISTYPE	96
-#define UNDNAME_NO_ACCESS_SPECIFIERS	128
-#define UNDNAME_NO_THROW_SIGNATURES	256
-#define UNDNAME_NO_MEMBER_TYPE	512
-#define UNDNAME_NO_RETURN_UDT_MODEL	1024
-#define UNDNAME_32_BIT_DECODE	2048
-#define UNDNAME_NAME_ONLY	4096
-#define UNDNAME_NO_ARGUMENTS	8192
-#define UNDNAME_NO_SPECIAL_SYMS	16384
-
-#define _IMAGEHLPAPI DECLSPEC_IMPORT WINAPI
-
-#ifndef RC_INVOKED
-
-typedef enum _IMAGEHLP_STATUS_REASON {
-	BindOutOfMemory,
-	BindRvaToVaFailed,
-	BindNoRoomInImage,
-	BindImportModuleFailed,
-	BindImportProcedureFailed,
-	BindImportModule,
-	BindImportProcedure,
-	BindForwarder,
-	BindForwarderNOT,
-	BindImageModified,
-	BindExpandFileHeaders,
-	BindImageComplete,
-	BindMismatchedSymbols,
-	BindSymbolsNotUpdated
-} IMAGEHLP_STATUS_REASON;
-typedef BOOL(STDCALL*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,LPSTR,LPSTR,ULONG,ULONG);
-typedef struct _LOADED_IMAGE {
-	LPSTR ModuleName;
-	HANDLE hFile;
-	PUCHAR MappedAddress;
-	PIMAGE_NT_HEADERS FileHeader;
-	PIMAGE_SECTION_HEADER LastRvaSection;
-	ULONG NumberOfSections;
-	PIMAGE_SECTION_HEADER Sections;
-	ULONG Characteristics;
-	BOOLEAN fSystemImage;
-	BOOLEAN fDOSImage;
-	LIST_ENTRY Links;
-	ULONG SizeOfImage;
-} LOADED_IMAGE,*PLOADED_IMAGE;
-typedef struct _IMAGE_DEBUG_INFORMATION {
-	LIST_ENTRY List;
-	DWORD Size;
-	PVOID MappedBase;
-	USHORT Machine;
-	USHORT Characteristics;
-	DWORD CheckSum;
-	DWORD ImageBase;
-	DWORD SizeOfImage;
-	DWORD NumberOfSections;
-	PIMAGE_SECTION_HEADER Sections;
-	DWORD ExportedNamesSize;
-	LPSTR ExportedNames;
-	DWORD NumberOfFunctionTableEntries;
-	PIMAGE_FUNCTION_ENTRY FunctionTableEntries;
-	DWORD LowestFunctionStartingAddress;
-	DWORD HighestFunctionEndingAddress;
-	DWORD NumberOfFpoTableEntries;
-	PFPO_DATA FpoTableEntries;
-	DWORD SizeOfCoffSymbols;
-	PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
-	DWORD SizeOfCodeViewSymbols;
-	PVOID CodeViewSymbols;
-	LPSTR ImageFilePath;
-	LPSTR ImageFileName;
-	LPSTR DebugFilePath;
-	DWORD TimeDateStamp;
-	BOOL RomImage;
-	PIMAGE_DEBUG_DIRECTORY DebugDirectory;
-	DWORD NumberOfDebugDirectories;
-	DWORD Reserved[3];
-} IMAGE_DEBUG_INFORMATION,*PIMAGE_DEBUG_INFORMATION;
-typedef enum {
-	AddrMode1616,
-	AddrMode1632,
-	AddrModeReal,
-	AddrModeFlat
-} ADDRESS_MODE;
-typedef struct _tagADDRESS {
-	DWORD Offset;
-	WORD Segment;
-	ADDRESS_MODE Mode;
-} ADDRESS,*LPADDRESS;
-typedef struct _KDHELP {
-	DWORD Thread;
-	DWORD ThCallbackStack;
-	DWORD NextCallback;
-	DWORD FramePointer;
-	DWORD KiCallUserMode;
-	DWORD KeUserCallbackDispatcher;
-	DWORD SystemRangeStart;
-} KDHELP,*PKDHELP;
-typedef struct _tagSTACKFRAME {
-	ADDRESS AddrPC;
-	ADDRESS AddrReturn;
-	ADDRESS AddrFrame;
-	ADDRESS AddrStack;
-	LPVOID FuncTableEntry;
-	DWORD Params[4];
-	BOOL Far;
-	BOOL Virtual;
-	DWORD Reserved[3];
-	KDHELP KdHelp;
-} STACKFRAME,*LPSTACKFRAME;
-typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE,DWORD,PVOID,DWORD,PDWORD);
-typedef LPVOID(STDCALL*PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE,DWORD);
-typedef DWORD(STDCALL*PGET_MODULE_BASE_ROUTINE)(HANDLE,DWORD);
-typedef DWORD(STDCALL*PTRANSLATE_ADDRESS_ROUTINE)(HANDLE,HANDLE,LPADDRESS);
-typedef struct API_VERSION {
-	USHORT MajorVersion;
-	USHORT MinorVersion;
-	USHORT Revision;
-	USHORT Reserved;
-} API_VERSION,*LPAPI_VERSION;
-typedef BOOL(CALLBACK*PSYM_ENUMMODULES_CALLBACK)(LPSTR,ULONG,PVOID);
-typedef BOOL(CALLBACK*PSYM_ENUMSYMBOLS_CALLBACK)(LPSTR,ULONG,ULONG,PVOID);
-typedef BOOL(CALLBACK*PENUMLOADED_MODULES_CALLBACK)(LPSTR,ULONG,ULONG,PVOID);
-typedef BOOL(CALLBACK*PSYMBOL_REGISTERED_CALLBACK)(HANDLE,ULONG,PVOID,PVOID);
-typedef enum {
-	SymNone,
-	SymCoff,
-	SymCv,
-	SymPdb,
-	SymExport,
-	SymDeferred,
-	SymSym
-} SYM_TYPE;
-typedef struct _IMAGEHLP_SYMBOL {
-	DWORD SizeOfStruct;
-	DWORD Address;
-	DWORD Size;
-	DWORD Flags;
-	DWORD MaxNameLength;
-	CHAR Name[1];
-} IMAGEHLP_SYMBOL,*PIMAGEHLP_SYMBOL;
-typedef struct _IMAGEHLP_MODULE {
-	DWORD SizeOfStruct;
-	DWORD BaseOfImage;
-	DWORD ImageSize;
-	DWORD TimeDateStamp;
-	DWORD CheckSum;
-	DWORD NumSyms;
-	SYM_TYPE SymType;
-	CHAR ModuleName[32];
-	CHAR ImageName[256];
-	CHAR LoadedImageName[256];
-} IMAGEHLP_MODULE,*PIMAGEHLP_MODULE;
-typedef struct _IMAGEHLP_LINE {
-	DWORD SizeOfStruct;
-	DWORD Key;
-	DWORD LineNumber;
-	PCHAR FileName;
-	DWORD Address;
-} IMAGEHLP_LINE,*PIMAGEHLP_LINE;
-typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD {
-	DWORD SizeOfStruct;
-	DWORD BaseOfImage;
-	DWORD CheckSum;
-	DWORD TimeDateStamp;
-	CHAR FileName[MAX_PATH];
-	BOOLEAN Reparse;
-} IMAGEHLP_DEFERRED_SYMBOL_LOAD,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD;
-typedef struct _IMAGEHLP_DUPLICATE_SYMBOL {
-	DWORD SizeOfStruct;
-	DWORD NumberOfDups;
-	PIMAGEHLP_SYMBOL Symbol;
-	ULONG SelectedSymbol;
-} IMAGEHLP_DUPLICATE_SYMBOL,*PIMAGEHLP_DUPLICATE_SYMBOL;
-typedef PVOID DIGEST_HANDLE;
-typedef BOOL(WINAPI*DIGEST_FUNCTION)(DIGEST_HANDLE refdata,PBYTE pData,DWORD dwLength);
-
-PIMAGE_NT_HEADERS _IMAGEHLPAPI CheckSumMappedFile(LPVOID,DWORD,LPDWORD,LPDWORD);
-DWORD _IMAGEHLPAPI MapFileAndCheckSumA(LPSTR,LPDWORD,LPDWORD);
-DWORD _IMAGEHLPAPI MapFileAndCheckSumW(PWSTR,LPDWORD,LPDWORD);
-BOOL _IMAGEHLPAPI TouchFileTimes(HANDLE,LPSYSTEMTIME);
-BOOL _IMAGEHLPAPI SplitSymbols(LPSTR,LPSTR,LPSTR,DWORD);
-HANDLE _IMAGEHLPAPI FindDebugInfoFile(LPSTR,LPSTR,LPSTR);
-HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI UpdateDebugInfoFile(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS);
-BOOL _IMAGEHLPAPI UpdateDebugInfoFileEx(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS,DWORD);
-BOOL _IMAGEHLPAPI BindImage(/*IN*/ LPSTR,/*IN*/ LPSTR,/*IN*/ LPSTR);
-BOOL _IMAGEHLPAPI BindImageEx(/*IN*/ DWORD,/*IN*/ LPSTR,/*IN*/ LPSTR,/*IN*/ LPSTR,/*IN*/ PIMAGEHLP_STATUS_ROUTINE);
-BOOL _IMAGEHLPAPI ReBaseImage(/*IN*/ LPSTR,/*IN*/ LPSTR,/*IN*/ BOOL,/*IN*/ BOOL,/*IN*/ BOOL,/*IN*/ ULONG,/*OUT*/ ULONG*,/*OUT*/ ULONG*,/*OUT*/ ULONG*,/*IN OUT*/ ULONG*,/*IN*/ ULONG);
-
-PLOADED_IMAGE _IMAGEHLPAPI ImageLoad(LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI ImageUnload(PLOADED_IMAGE);
-PIMAGE_NT_HEADERS _IMAGEHLPAPI ImageNtHeader(/*IN*/ PVOID);
-PVOID _IMAGEHLPAPI ImageDirectoryEntryToData(/*IN*/ PVOID,/*IN*/ BOOLEAN,/*IN*/ USHORT,/*OUT*/ PULONG);
-PIMAGE_SECTION_HEADER _IMAGEHLPAPI ImageRvaToSection(/*IN*/ PIMAGE_NT_HEADERS,/*IN*/ PVOID,/*IN*/ ULONG);
-PVOID _IMAGEHLPAPI ImageRvaToVa(/*IN*/ PIMAGE_NT_HEADERS,/*IN*/ PVOID,/*IN*/ ULONG,/*IN OUT*/ PIMAGE_SECTION_HEADER*);
-BOOL _IMAGEHLPAPI MapAndLoad(LPSTR,LPSTR,PLOADED_IMAGE,BOOL,BOOL);
-BOOL _IMAGEHLPAPI GetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY);
-DWORD _IMAGEHLPAPI GetImageUnusedHeaderBytes(PLOADED_IMAGE,LPDWORD);
-BOOL _IMAGEHLPAPI SetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY);
-BOOL _IMAGEHLPAPI UnMapAndLoad(PLOADED_IMAGE);
-PIMAGE_DEBUG_INFORMATION _IMAGEHLPAPI MapDebugInformation(HANDLE,LPSTR,LPSTR,DWORD);
-BOOL _IMAGEHLPAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
-HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI SearchTreeForFile(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI MakeSureDirectoryPathExists(LPCSTR);
-DWORD _IMAGEHLPAPI WINAPI UnDecorateSymbolName(LPCSTR,LPSTR,DWORD, DWORD);
-BOOL
-_IMAGEHLPAPI
-StackWalk(DWORD,HANDLE,HANDLE,LPSTACKFRAME,LPVOID,PREAD_PROCESS_MEMORY_ROUTINE,PFUNCTION_TABLE_ACCESS_ROUTINE,PGET_MODULE_BASE_ROUTINE,PTRANSLATE_ADDRESS_ROUTINE);
-LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersion(VOID);
-LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersionEx(LPAPI_VERSION);
-DWORD _IMAGEHLPAPI GetTimestampForLoadedLibrary(HMODULE);
-BOOL _IMAGEHLPAPI RemovePrivateCvSymbolic(PCHAR,PCHAR*,ULONG*);
-VOID _IMAGEHLPAPI RemoveRelocations(PCHAR);
-DWORD _IMAGEHLPAPI SymSetOptions(/*IN*/ DWORD);
-DWORD _IMAGEHLPAPI SymGetOptions(VOID);
-BOOL _IMAGEHLPAPI SymCleanup(/*IN*/ HANDLE);
-BOOL _IMAGEHLPAPI SymEnumerateModules(/*IN*/ HANDLE,/*IN*/ PSYM_ENUMMODULES_CALLBACK,/*IN*/ PVOID);
-BOOL _IMAGEHLPAPI SymEnumerateSymbols(/*IN*/ HANDLE,/*IN*/ DWORD,/*IN*/ PSYM_ENUMSYMBOLS_CALLBACK,/*IN*/ PVOID);
-BOOL _IMAGEHLPAPI EnumerateLoadedModules(/*IN*/ HANDLE,/*IN*/ PENUMLOADED_MODULES_CALLBACK,/*IN*/ PVOID);
-LPVOID _IMAGEHLPAPI SymFunctionTableAccess(HANDLE,DWORD);
-BOOL _IMAGEHLPAPI SymGetModuleInfo(/*IN*/ HANDLE,/*IN*/ DWORD,/*OUT*/ PIMAGEHLP_MODULE);
-DWORD _IMAGEHLPAPI SymGetModuleBase(/*IN*/ HANDLE,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI SymGetSymFromAddr(/*IN*/ HANDLE,/*IN*/ DWORD,/*OUT*/ PDWORD,/*OUT*/ PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymFromName(/*IN*/ HANDLE,/*IN*/ LPSTR,/*OUT*/ PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymNext(/*IN*/ HANDLE,/*IN OUT*/ PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymPrev(/*IN*/ HANDLE,/*IN OUT*/ PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetLineFromAddr(/*IN*/ HANDLE,/*IN*/ DWORD,/*OUT*/ PDWORD,/*OUT*/ PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLineFromName(/*IN*/ HANDLE,/*IN*/ LPSTR,/*IN*/ LPSTR,/*IN*/ DWORD,/*OUT*/ PLONG,/*IN OUT*/ PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLineNext(/*IN*/ HANDLE,/*IN OUT*/ PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLinePrev(/*IN*/ HANDLE,/*IN OUT*/ PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymMatchFileName(/*IN*/ LPSTR,/*IN*/ LPSTR,/*OUT*/ LPSTR*,/*OUT*/ LPSTR*);
-BOOL _IMAGEHLPAPI SymInitialize(/*IN*/ HANDLE,/*IN*/ LPSTR,/*IN*/ BOOL);
-BOOL _IMAGEHLPAPI SymGetSearchPath(/*IN*/ HANDLE,/*OUT*/ LPSTR,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI SymSetSearchPath(/*IN*/ HANDLE,/*IN*/ LPSTR);
-BOOL _IMAGEHLPAPI SymLoadModule(/*IN*/ HANDLE,/*IN*/ HANDLE,/*IN*/ PSTR,/*IN*/ PSTR,/*IN*/ DWORD,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI SymUnloadModule(/*IN*/ HANDLE,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI SymUnDName(/*IN*/ PIMAGEHLP_SYMBOL,/*OUT*/ LPSTR,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI SymRegisterCallback(/*IN*/ HANDLE,/*IN*/ PSYMBOL_REGISTERED_CALLBACK,/*IN*/ PVOID);
-BOOL _IMAGEHLPAPI ImageGetDigestStream(/*IN*/ HANDLE,/*IN*/ DWORD,/*IN*/ DIGEST_FUNCTION,/*IN*/ DIGEST_HANDLE);
-BOOL _IMAGEHLPAPI ImageAddCertificate(/*IN*/ HANDLE,/*IN*/ LPWIN_CERTIFICATE,/*OUT*/ PDWORD);
-BOOL _IMAGEHLPAPI ImageRemoveCertificate(/*IN*/ HANDLE,/*IN*/ DWORD);
-BOOL _IMAGEHLPAPI ImageEnumerateCertificates(/*IN*/ HANDLE,/*IN*/ WORD,/*OUT*/ PDWORD,/*IN OUT*/ PDWORD /*OPTIONAL*/,/*IN OUT*/ DWORD /*OPTIONAL*/);
-BOOL _IMAGEHLPAPI ImageGetCertificateData(/*IN*/ HANDLE,/*IN*/ DWORD,/*OUT*/ LPWIN_CERTIFICATE,/*IN OUT*/ PDWORD);
-BOOL _IMAGEHLPAPI ImageGetCertificateHeader(/*IN*/ HANDLE,/*IN*/ DWORD,/*IN OUT*/ LPWIN_CERTIFICATE);
-BOOL _IMAGEHLPAPI CopyPdb(CHAR const*,CHAR const*,BOOL);
-BOOL _IMAGEHLPAPI RemovePrivateCvSymbolicEx(PCHAR,ULONG,PCHAR*,ULONG*);
-
-#endif /* RC_INVOKED */
-
-#ifdef UNICODE
-#define MapFileAndCheckSum MapFileAndCheckSumW
-#else
-#define MapFileAndCheckSum MapFileAndCheckSumA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _IMAGEHLP_H */
-
Index: Daodan/MinGW/include/imm.h
===================================================================
--- Daodan/MinGW/include/imm.h	(revision 1046)
+++ 	(revision )
@@ -1,452 +1,0 @@
-#ifndef _IMM_H
-#define _IMM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_CONVERTREQUESTEX 0x108
-#define WM_IME_STARTCOMPOSITION 0x10D
-#define WM_IME_ENDCOMPOSITION 0x10E
-#define WM_IME_COMPOSITION 0x10F
-#define WM_IME_KEYLAST 0x10F
-#define WM_IME_SETCONTEXT 0x281
-#define WM_IME_NOTIFY 0x282
-#define WM_IME_CONTROL 0x283
-#define WM_IME_COMPOSITIONFULL 0x284
-#define WM_IME_SELECT 0x285
-#define WM_IME_CHAR 0x286
-#define WM_IME_KEYDOWN 0x290
-#define WM_IME_KEYUP 0x291
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_IME_REQUEST 0x0288
-#endif
-#define IMC_GETCANDIDATEPOS 7
-#define IMC_SETCANDIDATEPOS 8
-#define IMC_GETCOMPOSITIONFONT 9
-#define IMC_SETCOMPOSITIONFONT 10
-#define IMC_GETCOMPOSITIONWINDOW 11
-#define IMC_SETCOMPOSITIONWINDOW 12
-#define IMC_GETSTATUSWINDOWPOS 15
-#define IMC_SETSTATUSWINDOWPOS 16
-#define IMC_CLOSESTATUSWINDOW 0x21
-#define IMC_OPENSTATUSWINDOW 0x22
-#define IMN_CLOSESTATUSWINDOW 1
-#define IMN_OPENSTATUSWINDOW 2
-#define IMN_CHANGECANDIDATE 3
-#define IMN_CLOSECANDIDATE 4
-#define IMN_OPENCANDIDATE 5
-#define IMN_SETCONVERSIONMODE 6
-#define IMN_SETSENTENCEMODE 7
-#define IMN_SETOPENSTATUS 8
-#define IMN_SETCANDIDATEPOS 9
-#define IMN_SETCOMPOSITIONFONT 10
-#define IMN_SETCOMPOSITIONWINDOW 11
-#define IMN_SETSTATUSWINDOWPOS 12
-#define IMN_GUIDELINE 13
-#define IMN_PRIVATE 14
-#define NI_OPENCANDIDATE 16
-#define NI_CLOSECANDIDATE 17
-#define NI_SELECTCANDIDATESTR 18
-#define NI_CHANGECANDIDATELIST 19
-#define NI_FINALIZECONVERSIONRESULT 20
-#define NI_COMPOSITIONSTR 21
-#define NI_SETCANDIDATE_PAGESTART 22
-#define NI_SETCANDIDATE_PAGESIZE 23
-#define NI_IMEMENUSELECTED 24
-#define ISC_SHOWUICANDIDATEWINDOW 1
-#define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000
-#define ISC_SHOWUIGUIDELINE 0x40000000
-#define ISC_SHOWUIALLCANDIDATEWINDOW 15
-#define ISC_SHOWUIALL 0xC000000F
-#define CPS_COMPLETE 1
-#define CPS_CONVERT 2
-#define CPS_REVERT 3
-#define CPS_CANCEL 4
-#define IME_CHOTKEY_IME_NONIME_TOGGLE 16
-#define IME_CHOTKEY_SHAPE_TOGGLE 17
-#define IME_CHOTKEY_SYMBOL_TOGGLE 18
-#define IME_JHOTKEY_CLOSE_OPEN 0x30
-#define IME_KHOTKEY_SHAPE_TOGGLE 0x50
-#define IME_KHOTKEY_HANJACONVERT 0x51
-#define IME_KHOTKEY_ENGLISH 0x52
-#define IME_THOTKEY_IME_NONIME_TOGGLE 0x70
-#define IME_THOTKEY_SHAPE_TOGGLE 0x71
-#define IME_THOTKEY_SYMBOL_TOGGLE 0x72
-#define IME_HOTKEY_DSWITCH_FIRST 256
-#define IME_HOTKEY_DSWITCH_LAST 0x11F
-#define IME_ITHOTKEY_RESEND_RESULTSTR 512
-#define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513
-#define IME_ITHOTKEY_UISTYLE_TOGGLE 514
-#define GCS_COMPREADSTR 1
-#define GCS_COMPREADATTR 2
-#define GCS_COMPREADCLAUSE 4
-#define GCS_COMPSTR 8
-#define GCS_COMPATTR 16
-#define GCS_COMPCLAUSE 32
-#define GCS_CURSORPOS 128
-#define GCS_DELTASTART 256
-#define GCS_RESULTREADSTR 512
-#define GCS_RESULTREADCLAUSE 1024
-#define GCS_RESULTSTR 2048
-#define GCS_RESULTCLAUSE 4096
-#define CS_INSERTCHAR 0x2000
-#define CS_NOMOVECARET 0x4000
-#define IMEVER_0310 0x3000A
-#define IMEVER_0400 0x40000
-#define IME_PROP_AT_CARET 0x10000
-#define IME_PROP_SPECIAL_UI 0x20000
-#define IME_PROP_CANDLIST_START_FROM_1 0x40000
-#define IME_PROP_UNICODE 0x80000
-#define UI_CAP_2700 1
-#define UI_CAP_ROT90 2
-#define UI_CAP_ROTANY 4
-#define SCS_CAP_COMPSTR 1
-#define SCS_CAP_MAKEREAD 2
-#define SELECT_CAP_CONVERSION 1
-#define SELECT_CAP_SENTENCE 2
-#define GGL_LEVEL 1
-#define GGL_INDEX 2
-#define GGL_STRING 3
-#define GGL_PRIVATE 4
-#define GL_LEVEL_NOGUIDELINE 0
-#define GL_LEVEL_FATAL 1
-#define GL_LEVEL_ERROR 2
-#define GL_LEVEL_WARNING 3
-#define GL_LEVEL_INFORMATION 4
-#define GL_ID_UNKNOWN 0
-#define GL_ID_NOMODULE 1
-#define GL_ID_NODICTIONARY 16
-#define GL_ID_CANNOTSAVE 17
-#define GL_ID_NOCONVERT 32
-#define GL_ID_TYPINGERROR 33
-#define GL_ID_TOOMANYSTROKE 34
-#define GL_ID_READINGCONFLICT 35
-#define GL_ID_INPUTREADING 36
-#define GL_ID_INPUTRADICAL 37
-#define GL_ID_INPUTCODE 38
-#define GL_ID_INPUTSYMBOL 39
-#define GL_ID_CHOOSECANDIDATE 40
-#define GL_ID_REVERSECONVERSION 41
-#define GL_ID_PRIVATE_FIRST 0x8000
-#define GL_ID_PRIVATE_LAST 0xFFFF
-#define IGP_GETIMEVERSION (DWORD)(-4)
-#define IGP_PROPERTY 4
-#define IGP_CONVERSION 8
-#define IGP_SENTENCE 12
-#define IGP_UI 16
-#define IGP_SETCOMPSTR 0x14
-#define IGP_SELECT 0x18
-#define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR)
-#define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)
-#define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
-#define ATTR_INPUT 0
-#define ATTR_TARGET_CONVERTED 1
-#define ATTR_CONVERTED 2
-#define ATTR_TARGET_NOTCONVERTED 3
-#define ATTR_INPUT_ERROR 4
-#define ATTR_FIXEDCONVERTED 5
-#define CFS_DEFAULT 0
-#define CFS_RECT 1
-#define CFS_POINT 2
-#define CFS_SCREEN 4
-#define CFS_FORCE_POSITION 32
-#define CFS_CANDIDATEPOS 64
-#define CFS_EXCLUDE 128
-#define GCL_CONVERSION 1
-#define GCL_REVERSECONVERSION 2
-#define GCL_REVERSE_LENGTH 3
-#define IME_CMODE_ALPHANUMERIC 0
-#define IME_CMODE_NATIVE 1
-#define IME_CMODE_CHINESE IME_CMODE_NATIVE
-#define IME_CMODE_HANGEUL IME_CMODE_NATIVE
-#define IME_CMODE_HANGUL IME_CMODE_NATIVE
-#define IME_CMODE_JAPANESE IME_CMODE_NATIVE
-#define IME_CMODE_KATAKANA 2
-#define IME_CMODE_LANGUAGE 3
-#define IME_CMODE_FULLSHAPE 8
-#define IME_CMODE_ROMAN 16
-#define IME_CMODE_CHARCODE 32
-#define IME_CMODE_HANJACONVERT 64
-#define IME_CMODE_SOFTKBD 128
-#define IME_CMODE_NOCONVERSION 256
-#define IME_CMODE_EUDC 512
-#define IME_CMODE_SYMBOL 1024
-#define IME_CMODE_FIXED 2048
-#define IME_SMODE_NONE 0
-#define IME_SMODE_PLAURALCLAUSE 1
-#define IME_SMODE_SINGLECONVERT 2
-#define IME_SMODE_AUTOMATIC 4
-#define IME_SMODE_PHRASEPREDICT 8
-#define IME_CAND_UNKNOWN 0
-#define IME_CAND_READ 1
-#define IME_CAND_CODE 2
-#define IME_CAND_MEANING 3
-#define IME_CAND_RADICAL 4
-#define IME_CAND_STROKE 5
-#define IMM_ERROR_NODATA (-1)
-#define IMM_ERROR_GENERAL (-2)
-#define IME_CONFIG_GENERAL 1
-#define IME_CONFIG_REGISTERWORD 2
-#define IME_CONFIG_SELECTDICTIONARY 3
-#define IME_ESC_QUERY_SUPPORT 3
-#define IME_ESC_RESERVED_FIRST 4
-#define IME_ESC_RESERVED_LAST 0x7FF
-#define IME_ESC_PRIVATE_FIRST 0x800
-#define IME_ESC_PRIVATE_LAST 0xFFF
-#define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001
-#define IME_ESC_GET_EUDC_DICTIONARY 0x1003
-#define IME_ESC_SET_EUDC_DICTIONARY 0x1004
-#define IME_ESC_MAX_KEY 0x1005
-#define IME_ESC_IME_NAME 0x1006
-#define IME_ESC_SYNC_HOTKEY 0x1007
-#define IME_ESC_HANJA_MODE 0x1008
-#define IME_ESC_AUTOMATA 0x1009
-#define IME_REGWORD_STYLE_EUDC 1
-#define IME_REGWORD_STYLE_USER_FIRST 0x80000000
-#define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF
-#define IMR_RECONVERTSTRING 4
-#define IMR_QUERYCHARPOSITION 6
-#define SOFTKEYBOARD_TYPE_T1 1
-#define SOFTKEYBOARD_TYPE_C1 2
-#define IMEMENUITEM_STRING_SIZE 80
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP  2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define IACE_CHILDREN 1
-#define IACE_DEFAULT 16
-#define IACE_IGNORENOCONTEXT 32
-#define IGIMIF_RIGHTMENU 1
-#define IGIMII_CMODE 1
-#define IGIMII_SMODE 2
-#define IGIMII_CONFIGURE 4
-#define IGIMII_TOOLS 8
-#define IGIMII_HELP 16
-#define IGIMII_OTHER 32
-#define IGIMII_INPUTTOOLS 64
-#define IMFT_RADIOCHECK 1
-#define IMFT_SEPARATOR 2
-#define IMFT_SUBMENU 4
-#define IMFS_GRAYED MFS_GRAYED
-#define IMFS_DISABLED MFS_DISABLED
-#define IMFS_CHECKED MFS_CHECKED
-#define IMFS_HILITE MFS_HILITE
-#define IMFS_ENABLED MFS_ENABLED
-#define IMFS_UNCHECKED MFS_UNCHECKED
-#define IMFS_UNHILITE MFS_UNHILITE
-#define IMFS_DEFAULT MFS_DEFAULT
-#ifndef VK_PROCESSKEY
-#define VK_PROCESSKEY 0x0E5
-#endif
-#define STYLE_DESCRIPTION_SIZE 32
-typedef DWORD HIMC;
-typedef DWORD HIMCC;
-typedef HKL *LPHKL;
-typedef struct tagCOMPOSITIONFORM {
-	DWORD dwStyle;
-	POINT ptCurrentPos;
-	RECT rcArea;
-} COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
-typedef struct tagCANDIDATEFORM {
-	DWORD dwIndex;
-	DWORD dwStyle;
-	POINT ptCurrentPos;
-	RECT rcArea;
-} CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM;
-typedef struct tagCANDIDATELIST {
-	DWORD dwSize;
-	DWORD dwStyle;
-	DWORD dwCount;
-	DWORD dwSelection;
-	DWORD dwPageStart;
-	DWORD dwPageSize;
-	DWORD dwOffset[1];
-} CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST;
-typedef struct tagIMECHARPOSITION {
-  DWORD  dwSize;
-  DWORD  dwCharPos;
-  POINT  pt;
-  UINT   cLineHeight;
-  RECT   rcDocument;
-} IMECHARPOSITION, *PIMECHARPOSITION;
-typedef struct tagRECONVERTSTRING {
-  DWORD dwSize;
-  DWORD dwVersion;
-  DWORD dwStrLen;
-  DWORD dwStrOffset;
-  DWORD dwCompStrLen;
-  DWORD dwCompStrOffset;
-  DWORD dwTargetStrLen;
-  DWORD dwTargetStrOffset;
-} RECONVERTSTRING, *PRECONVERTSTRING;
-typedef struct tagREGISTERWORDA {
-	LPSTR lpReading;
-	LPSTR lpWord;
-} REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA;
-typedef struct tagREGISTERWORDW {
-	LPWSTR lpReading;
-	LPWSTR lpWord;
-} REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW;
-typedef struct tagSTYLEBUFA {
-	DWORD dwStyle;
-	CHAR szDescription[STYLE_DESCRIPTION_SIZE];
-} STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA;
-typedef struct tagSTYLEBUFW {
-	DWORD dwStyle;
-	WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
-} STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW;
-typedef struct tagIMEMENUITEMINFOA {
-	UINT cbSize;
-	UINT fType;
-	UINT fState;
-	UINT wID;
-	HBITMAP hbmpChecked;
-	HBITMAP hbmpUnchecked;
-	DWORD dwItemData;
-	CHAR szString[IMEMENUITEM_STRING_SIZE];
-	HBITMAP hbmpItem;
-} IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA;
-typedef struct tagIMEMENUITEMINFOW {
-	UINT cbSize;
-	UINT fType;
-	UINT fState;
-	UINT wID;
-	HBITMAP hbmpChecked;
-	HBITMAP hbmpUnchecked;
-	DWORD dwItemData;
-	WCHAR szString[IMEMENUITEM_STRING_SIZE];
-	HBITMAP hbmpItem;
-} IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW;
-typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
-typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
-#ifdef UNICODE
-#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW
-typedef REGISTERWORDW REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD;
-typedef STYLEBUFW STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF;
-typedef IMEMENUITEMINFOW IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO;
-#else
-#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA
-typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD;
-typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF;
-typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO;
-#endif
-HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR);
-HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR);
-HWND WINAPI ImmGetDefaultIMEWnd(HWND);
-UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT);
-UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT);
-UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT);
-UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT);
-DWORD WINAPI ImmGetProperty(HKL,DWORD);
-BOOL WINAPI ImmIsIME(HKL);
-BOOL WINAPI ImmSimulateHotKey(HWND,DWORD);
-HIMC WINAPI ImmCreateContext(void);
-BOOL WINAPI ImmDestroyContext(HIMC);
-HIMC WINAPI ImmGetContext(HWND);
-BOOL WINAPI ImmReleaseContext(HWND,HIMC);
-HIMC WINAPI ImmAssociateContext(HWND,HIMC);
-LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);
-LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD);
-BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
-BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
-DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD);
-DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD);
-DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD);
-DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD);
-DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD);
-DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD);
-BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD);
-BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD);
-BOOL WINAPI ImmGetOpenStatus(HIMC);
-BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL);
-#ifndef NOGDI
-BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA);
-BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW);
-BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA);
-BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW);
-#endif
-BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID);
-BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID);
-LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID);
-LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID);
-DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT);
-DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT);
-BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD);
-BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT);
-BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT);
-BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM);
-BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM);
-BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM);
-BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM);
-BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
-UINT WINAPI ImmGetVirtualKey(HWND);
-BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
-BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
-BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
-BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
-UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA);
-UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW);
-UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID);
-UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID);
-BOOL WINAPI EnableEUDC(BOOL);
-BOOL WINAPI ImmDisableIME(DWORD);
-DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD);
-DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD);
-
-#ifdef UNICODE
-#define ImmEnumRegisterWord ImmEnumRegisterWordW
-#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW
-#define ImmUnregisterWord ImmUnregisterWordW
-#define ImmRegisterWord ImmRegisterWordW
-#define ImmInstallIME ImmInstallIMEW
-#define ImmIsUIMessage ImmIsUIMessageW
-#define ImmGetConversionList ImmGetConversionListW
-#define ImmEscape ImmEscapeW
-#define ImmConfigureIME ImmConfigureIMEW
-#ifndef NOGDI
-#define ImmSetCompositionFont ImmSetCompositionFontW
-#define ImmGetCompositionFont ImmGetCompositionFontW
-#endif
-#define ImmGetGuideLine ImmGetGuideLineW
-#define ImmGetCandidateList ImmGetCandidateListW
-#define ImmGetCandidateListCount ImmGetCandidateListCountW
-#define ImmSetCompositionString ImmSetCompositionStringW
-#define ImmGetCompositionString ImmGetCompositionStringW
-#define ImmGetDescription ImmGetDescriptionW
-#define ImmGetIMEFileName ImmGetIMEFileNameW
-#define ImmGetImeMenuItems ImmGetImeMenuItemsW
-#else
-#define ImmEnumRegisterWord ImmEnumRegisterWordA
-#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA
-#define ImmUnregisterWord ImmUnregisterWordA
-#define ImmRegisterWord ImmRegisterWordA
-#define ImmInstallIME ImmInstallIMEA
-#define ImmIsUIMessage ImmIsUIMessageA
-#define ImmGetConversionList ImmGetConversionListA
-#define ImmEscape ImmEscapeA
-#define ImmConfigureIME ImmConfigureIMEA
-#ifndef NOGDI
-#define ImmSetCompositionFont ImmSetCompositionFontA
-#define ImmGetCompositionFont ImmGetCompositionFontA
-#endif
-#define ImmGetGuideLine ImmGetGuideLineA
-#define ImmGetCandidateList ImmGetCandidateListA
-#define ImmGetCandidateListCount ImmGetCandidateListCountA
-#define ImmSetCompositionString ImmSetCompositionStringA
-#define ImmGetCompositionString ImmGetCompositionStringA
-#define ImmGetDescription ImmGetDescriptionA
-#define ImmGetIMEFileName ImmGetIMEFileNameA
-#define ImmGetImeMenuItems ImmGetImeMenuItemsW
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/initguid.h
===================================================================
--- Daodan/MinGW/include/initguid.h	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-#ifndef _INITGUID_H
-#define _INITGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DEFINE_GUID
-#include <basetyps.h>
-#endif
-#undef DEFINE_GUID
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-#endif
Index: Daodan/MinGW/include/intshcut.h
===================================================================
--- Daodan/MinGW/include/intshcut.h	(revision 1046)
+++ 	(revision )
@@ -1,82 +1,0 @@
-#ifndef _INTSHCUT_H
-#define _INTSHCUT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <isguids.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define INTSHCUTAPI DECLSPEC_IMPORT
-#define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
-#define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002)
-#define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
-#define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
-typedef enum iurl_seturl_flags {
- IURL_SETURL_FL_GUESS_PROTOCOL=1,
- IURL_SETURL_FL_USE_DEFAULT_PROTOCOL,
- ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL)
-} IURL_SETURL_FLAGS;
-typedef enum iurl_invokecommand_flags {
- IURL_INVOKECOMMAND_FL_ALLOW_UI=1,
- IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB,
- ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB)
-} IURL_INVOKECOMMAND_FLAGS;
-typedef enum translateurl_in_flags {
- TRANSLATEURL_FL_GUESS_PROTOCOL=1,
- TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL,
- ALL_TRANSLATEURL_FLAGS=(TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL)
-} TRANSLATEURL_IN_FLAGS;
-typedef enum urlassociationdialog_in_flags {
- URLASSOCDLG_FL_USE_DEFAULT_NAME=1,
- URLASSOCDLG_FL_REGISTER_ASSOC,
- ALL_URLASSOCDLG_FLAGS=(URLASSOCDLG_FL_USE_DEFAULT_NAME|URLASSOCDLG_FL_REGISTER_ASSOC)
-} URLASSOCIATIONDIALOG_IN_FLAGS;
-typedef enum mimeassociationdialog_in_flags {
- MIMEASSOCDLG_FL_REGISTER_ASSOC=1,
- ALL_MIMEASSOCDLG_FLAGS=MIMEASSOCDLG_FL_REGISTER_ASSOC
-} MIMEASSOCIATIONDIALOG_IN_FLAGS;
-typedef struct urlinvokecommandinfo {
- DWORD dwcbSize;
- DWORD dwFlags;
- HWND hwndParent;
- PCSTR pcszVerb;
-} URLINVOKECOMMANDINFO,*PURLINVOKECOMMANDINFO;
-typedef const URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO;
-typedef const URLINVOKECOMMANDINFO *PCURLINVOKECOMMANDINFO;
-#define INTERFACE IUniformResourceLocator
-DECLARE_INTERFACE_(IUniformResourceLocator,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetURL)(THIS_ PCSTR,DWORD) PURE;
- STDMETHOD(GetURL)(THIS_ PSTR*) PURE;
- STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFO) PURE;
-};
-#undef INTERFACE
-typedef IUniformResourceLocator *PIUniformResourceLocator;
-typedef const IUniformResourceLocator CIUniformResourceLocator;
-typedef const IUniformResourceLocator *PCIUniformResourceLocator;
-
-BOOL WINAPI InetIsOffline(DWORD);
-HRESULT WINAPI MIMEAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
-HRESULT WINAPI MIMEAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
-HRESULT WINAPI TranslateURLA(PCSTR,DWORD,PSTR*);
-HRESULT WINAPI TranslateURLW(PCWSTR,DWORD,PWSTR*);
-HRESULT WINAPI URLAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
-HRESULT WINAPI URLAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
-#ifdef UNICODE
-#define TranslateURL TranslateURLW
-#define MIMEAssociationDialog MIMEAssociationDialogW
-#define URLAssociationDialog URLAssociationDialogW
-#else
-#define TranslateURL TranslateURLA
-#define MIMEAssociationDialog MIMEAssociationDialogA
-#define URLAssociationDialog URLAssociationDialogA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/inttypes.h
===================================================================
--- Daodan/MinGW/include/inttypes.h	(revision 1046)
+++ 	(revision )
@@ -1,287 +1,0 @@
-/* 7.8 Format conversion of integer types <inttypes.h> */
-
-#ifndef _INTTYPES_H_
-#define _INTTYPES_H_
-
-#include <_mingw.h>
-#include <stdint.h>
-#define __need_wchar_t
-#include <stddef.h>
-
-_BEGIN_C_DECLS
-
-typedef struct {
-	intmax_t quot;
-	intmax_t rem;
-	} imaxdiv_t;
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-
-/* 7.8.1 Macros for format specifiers
- *
- * MS runtime does not yet understand C9x standard "ll"
- * length specifier. It appears to treat "ll" as "l".
- * The non-standard I64 length specifier causes warning in GCC,
- * but understood by MS runtime functions.
- */
-
-/* fprintf macros for signed types */
-#define PRId8 "d"
-#define PRId16 "d"
-#define PRId32 "d"
-#define PRId64 "I64d"
-
-#define PRIdLEAST8 "d"
-#define PRIdLEAST16 "d"
-#define PRIdLEAST32 "d"
-#define PRIdLEAST64 "I64d"
-
-#define PRIdFAST8 "d"
-#define PRIdFAST16 "d"
-#define PRIdFAST32 "d"
-#define PRIdFAST64 "I64d"
-
-#define PRIdMAX "I64d"
-#define PRIdPTR "d"
-
-#define PRIi8 "i"
-#define PRIi16 "i"
-#define PRIi32 "i"
-#define PRIi64 "I64i"
-
-#define PRIiLEAST8 "i"
-#define PRIiLEAST16 "i"
-#define PRIiLEAST32 "i"
-#define PRIiLEAST64 "I64i"
-
-#define PRIiFAST8 "i"
-#define PRIiFAST16 "i"
-#define PRIiFAST32 "i"
-#define PRIiFAST64 "I64i"
-
-#define PRIiMAX "I64i"
-#define PRIiPTR "i"
-
-#define PRIo8 "o"
-#define PRIo16 "o"
-#define PRIo32 "o"
-#define PRIo64 "I64o"
-
-#define PRIoLEAST8 "o"
-#define PRIoLEAST16 "o"
-#define PRIoLEAST32 "o"
-#define PRIoLEAST64 "I64o"
-
-#define PRIoFAST8 "o"
-#define PRIoFAST16 "o"
-#define PRIoFAST32 "o"
-#define PRIoFAST64 "I64o"
-
-#define PRIoMAX "I64o"
-
-#define PRIoPTR "o"
-
-/* fprintf macros for unsigned types */
-#define PRIu8 "u"
-#define PRIu16 "u"
-#define PRIu32 "u"
-#define PRIu64 "I64u"
-
-
-#define PRIuLEAST8 "u"
-#define PRIuLEAST16 "u"
-#define PRIuLEAST32 "u"
-#define PRIuLEAST64 "I64u"
-
-#define PRIuFAST8 "u"
-#define PRIuFAST16 "u"
-#define PRIuFAST32 "u"
-#define PRIuFAST64 "I64u"
-
-#define PRIuMAX "I64u"
-#define PRIuPTR "u"
-
-#define PRIx8 "x"
-#define PRIx16 "x"
-#define PRIx32 "x"
-#define PRIx64 "I64x"
-
-#define PRIxLEAST8 "x"
-#define PRIxLEAST16 "x"
-#define PRIxLEAST32 "x"
-#define PRIxLEAST64 "I64x"
-
-#define PRIxFAST8 "x"
-#define PRIxFAST16 "x"
-#define PRIxFAST32 "x"
-#define PRIxFAST64 "I64x"
-
-#define PRIxMAX "I64x"
-#define PRIxPTR "x"
-
-#define PRIX8 "X"
-#define PRIX16 "X"
-#define PRIX32 "X"
-#define PRIX64 "I64X"
-
-#define PRIXLEAST8 "X"
-#define PRIXLEAST16 "X"
-#define PRIXLEAST32 "X"
-#define PRIXLEAST64 "I64X"
-
-#define PRIXFAST8 "X"
-#define PRIXFAST16 "X"
-#define PRIXFAST32 "X"
-#define PRIXFAST64 "I64X"
-
-#define PRIXMAX "I64X"
-#define PRIXPTR "X"
-
-/*
- *   fscanf macros for signed int types
- *   NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t
- *   (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have
- *   no length identifiers
- */
-
-#define SCNd16 "hd"
-#define SCNd32 "d"
-#define SCNd64 "I64d"
-
-#define SCNdLEAST16 "hd"
-#define SCNdLEAST32 "d"
-#define SCNdLEAST64 "I64d"
-
-#define SCNdFAST16 "hd"
-#define SCNdFAST32 "d"
-#define SCNdFAST64 "I64d"
-
-#define SCNdMAX "I64d"
-#define SCNdPTR "d"
-
-#define SCNi16 "hi"
-#define SCNi32 "i"
-#define SCNi64 "I64i"
-
-#define SCNiLEAST16 "hi"
-#define SCNiLEAST32 "i"
-#define SCNiLEAST64 "I64i"
-
-#define SCNiFAST16 "hi"
-#define SCNiFAST32 "i"
-#define SCNiFAST64 "I64i"
-
-#define SCNiMAX "I64i"
-#define SCNiPTR "i"
-
-#define SCNo16 "ho"
-#define SCNo32 "o"
-#define SCNo64 "I64o"
-
-#define SCNoLEAST16 "ho"
-#define SCNoLEAST32 "o"
-#define SCNoLEAST64 "I64o"
-
-#define SCNoFAST16 "ho"
-#define SCNoFAST32 "o"
-#define SCNoFAST64 "I64o"
-
-#define SCNoMAX "I64o"
-#define SCNoPTR "o"
-
-#define SCNx16 "hx"
-#define SCNx32 "x"
-#define SCNx64 "I64x"
-
-#define SCNxLEAST16 "hx"
-#define SCNxLEAST32 "x"
-#define SCNxLEAST64 "I64x"
-
-#define SCNxFAST16 "hx"
-#define SCNxFAST32 "x"
-#define SCNxFAST64 "I64x"
-
-#define SCNxMAX "I64x"
-#define SCNxPTR "x"
-
-
-/* fscanf macros for unsigned int types */
-
-#define SCNu16 "hu"
-#define SCNu32 "u"
-#define SCNu64 "I64u"
-
-#define SCNuLEAST16 "hu"
-#define SCNuLEAST32 "u"
-#define SCNuLEAST64 "I64u"
-
-#define SCNuFAST16 "hu"
-#define SCNuFAST32 "u"
-#define SCNuFAST64 "I64u"
-
-#define SCNuMAX "I64u"
-#define SCNuPTR "u"
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/*
- * no length modifier for char types prior to C9x
- * MS runtime  scanf appears to treat "hh" as "h"
- */
-
-/* signed char */
-#define SCNd8 "hhd"
-#define SCNdLEAST8 "hhd"
-#define SCNdFAST8 "hhd"
-
-#define SCNi8 "hhi"
-#define SCNiLEAST8 "hhi"
-#define SCNiFAST8 "hhi"
-
-#define SCNo8 "hho"
-#define SCNoLEAST8 "hho"
-#define SCNoFAST8 "hho"
-
-#define SCNx8 "hhx"
-#define SCNxLEAST8 "hhx"
-#define SCNxFAST8 "hhx"
-
-/* unsigned char */
-#define SCNu8 "hhu"
-#define SCNuLEAST8 "hhu"
-#define SCNuFAST8 "hhu"
-#endif /* __STDC_VERSION__ >= 199901 */
-
-#endif	/* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
-
-intmax_t __cdecl __MINGW_NOTHROW imaxabs (intmax_t j);
-#ifndef __NO_INLINE__
-__CRT_INLINE __LIBIMPL__(( FUNCTION = imaxabs ))
-intmax_t __cdecl __MINGW_NOTHROW imaxabs (intmax_t __j)
-{ return __j >= 0 ? __j : -__j; }
-
-/* Since intmax_t is effectively analogous to long long, the preceding
- * implementation will serve admirably as the external representation of
- * both imaxabs() and llabs(); declare so here, by providing a prototype
- * only, with the corresponding inline implementation in stdlib.h
- */
-__CRT_INLINE __LIBIMPL__(( ALIAS = imaxabs ))
-long long llabs (long long);
-#endif
-
-imaxdiv_t __cdecl __MINGW_NOTHROW imaxdiv (intmax_t numer, intmax_t denom);
-
-/* 7.8.2 Conversion functions for greatest-width integer types */
-
-intmax_t __cdecl __MINGW_NOTHROW strtoimax (const char* __restrict__ nptr,
-                            char** __restrict__ endptr, int base);
-uintmax_t __cdecl __MINGW_NOTHROW strtoumax (const char* __restrict__ nptr,
-			     char** __restrict__ endptr, int base);
-
-intmax_t __cdecl __MINGW_NOTHROW wcstoimax (const wchar_t* __restrict__ nptr,
-                            wchar_t** __restrict__ endptr, int base);
-uintmax_t __cdecl __MINGW_NOTHROW wcstoumax (const wchar_t* __restrict__ nptr,
-			     wchar_t** __restrict__ endptr, int base);
-
-_END_C_DECLS
-
-#endif /* ndef _INTTYPES_H */
Index: Daodan/MinGW/include/io.h
===================================================================
--- Daodan/MinGW/include/io.h	(revision 1046)
+++ 	(revision )
@@ -1,680 +1,0 @@
-/*
- * io.h
- *
- * System level I/O functions and types.
- *
- * $Id: io.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2004, 2007, 2009, 2010, 2014-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, 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.
- *
- *
- * NOTE: The file manipulation functions provided by Microsoft seem to
- * work with either slash (/) or backslash (\) as the directory separator;
- * (this is consistent with Microsoft's own documentation, on MSDN).
- *
- */
-#ifndef _IO_H
-#pragma GCC system_header
-
-/* Defer definition of the _IO_H multiple inclusion guard, to allow
- * for selective inclusion by <wchar.h>, (in which case we should
- * NOT define it).
- */
-#ifndef __WCHAR_H_SOURCED__
-#define _IO_H
-
-/* All MinGW headers must include <_mingw.h>; we may do it here,
- * assuming that <wchar.h> will have already take care to do so in
- * the selective inclusion case.
- */
-#include <_mingw.h>
-
-/* We also need time_t, and off_t, (and their variants); although
- * it gives us more than we really need, this will provide them...
- */
-#include <sys/types.h>
-
-#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>; (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"
-
-/* Attributes of files as returned by _findfirst() et al.  MSDN is not
- * explicit about whether or not these should be defined when including
- * <wchar.h>, but since they complement the _wfindfirst() API, which is
- * declared there, it seems logical to make them visible in all cases
- * of <io.h> inclusion.
- */
-#define _A_NORMAL	0x00000000
-#define _A_RDONLY	0x00000001
-#define _A_HIDDEN	0x00000002
-#define _A_SYSTEM	0x00000004
-#define _A_VOLID	0x00000008
-#define _A_SUBDIR	0x00000010
-#define _A_ARCH 	0x00000020
-
-#ifndef RC_INVOKED
-
-/* The maximum length of a file name.  It may be better to use the Windows'
- * GetVolumeInformation() function in preference to this constant, but hey,
- * this works!  In any case, we use this manifest constant when we declare
- * the _findfirst() API, so its definition must be visible in all places
- * where this, or any of its variants, is declared.
- *
- * Note that <stdio.h> also defines this, but we don't guard it, so that
- * the compiler has a chance to catch inconsistencies.
- */
-#define FILENAME_MAX	(260)
-
-/* We must define _fsize_t, but some compilers (including GCC prior to
- * version 4.0), may choke if we try to do so more than once...
- */
-#if ! (defined _IO_H && defined _WCHAR_H)
- /* ...so DO NOT define it during direct <io.h> inclusion, (i.e. _IO_H
-  * is defined), if <wchar.h> has already caused it to be defined, (i.e.
-  * _WCHAR_H is ALSO defined).
-  */
-typedef	unsigned long	_fsize_t;
-#endif	/* ! (_IO_H && _WCHAR_H) */
-
-/* Functions for searching for files: _findfirst() sets errno to ENOENT,
- * and returns -1 if no match is found; otherwise it returns a handle to
- * be used in _findnext() and _findclose() calls. _findnext() may then be
- * used to identify further matches; it updates the search data, returning
- * zero, each time a further match is found, ultimately setting errno to
- * ENOENT, and returning -1 when no further match can be found.  When all
- * expected matches have been identified, _findclose() should be called,
- * to release the resources allocated to the search data.
- *
- * The API comprises several variants of the _findfirst() and _findnext()
- * functions, conforming generally to the usage model:
- *
- *  intptr_t handle = _findfirst (filespec, &search_data );
- *  if (handle >= (intptr_t)(0)) do { process search_data;
- *   } while (_findnext (handle, &search_data));
- *
- * where "filespec" represents a char *, or a wchar_t * specification,
- * (which may include wild cards), for a file name pattern to be matched,
- * and "search_data" represents a variant of the structure:
- */
-#define __struct_finddata_t(__fd_time_t, __fd_size_t)			\
-{ unsigned	attrib;		/* Attributes, see constants above. */	\
-  __fd_time_t	time_create;						\
-  __fd_time_t	time_access;	/* always midnight local time */	\
-  __fd_time_t	time_write;						\
-  __fd_size_t	size;							\
-  __fd_name_t	name[FILENAME_MAX];	/* may include spaces. */	\
-}
-
-/* Time type and file size variations for __struct_finddata_t apply, for the
- * various functions comprising the file name search API, as tabulated below:
- *
- * Note: this is a reproduction of reference data as published in the MSDN
- * online documentation for the file name search API; it applies, specifically,
- * to the implementation of this API in the non-free run-time library versions
- * from MSVCR80.DLL onwards, (i.e. when __MSVCRT_VERSION__ is defined, and is
- * assigned a value >= 0x800).  When linking to the freely available MSVCRT.DLL
- * runtime, (__MSVCRT_VERSION__ should not be defined), or any earlier version
- * of the non-free run-time, the _USE_32BIT_TIME_T feature test is irrelevant;
- * the information presented in this table should be interpreted as if this
- * feature is always implicitly enabled.
- *
- *  Functions	       _USE_32BIT_TIME_T defined?    __fd_time_t     __fd_size_t
- *
- * _findfirst(),	Not defined			64-bit		32-bit
- * _wfindfirst()
- * _findfirst(),	Defined				32-bit		32-bit
- * _wfindfirst()
- *
- * _findfirst32(),	Not affected by the macro	32-bit		32-bit
- * _wfindfirst32()	definition
- *
- * _findfirst64(),	Not affected by the macro	64-bit		64-bit
- * _wfindfirst64()	definition
- *
- * _findfirsti64(),	Not defined			64-bit		64-bit
- * _wfindfirsti64()
- * _findfirsti64(),	Defined				32-bit		64-bit
- * _wfindfirsti64()
- *
- * _findfirst32i64(),	Not affected by the macro	32-bit		64-bit
- * _wfindfirst32i64()	definition
- *
- * _findfirst64i32(),	Not affected by the macro	64-bit		32-bit
- * _wfindfirst64i32()	definition
- *
- */
-_BEGIN_C_DECLS
-
-#ifdef _IO_H
-#define __fd_name_t  char
-
-/* The most universally available variants of the file name search
- * API employ either a generic representation of the related data, or
- * a variant in which the time stamps are represented generically, but
- * the file size is explicitly expressed as a 64-bit value.
- */
-struct _finddata_t __struct_finddata_t (time_t, _fsize_t);
-struct _finddatai64_t __struct_finddata_t (time_t, __int64);
-
-/* Functions to manipulate data in either of these representations are
- * provided, as physical entities, in ALL versions of MSVCRT.DLL, and
- * in the non-free variants predating MSVCR80.DLL; (each such physical
- * function implementation interprets "generic" as 32-bit for both the
- * time_t and _fsize_t data fields).  From MSVCR80.DLL onward, there is
- * no physical implementation of these functions; they are emulated by
- * inline replacements (implemented below), which introduce ambiguity
- * in the interpretation of "generic", (noted as applicable): thus...
- */
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* ...these physical function APIs are declared only when it is NOT
- * specified that MSVCR80.DLL or later is to be used.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirst (const char *, struct _finddata_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnext (intptr_t, struct _finddata_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirsti64 (const char *, struct _finddatai64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnexti64 (intptr_t, struct _finddatai64_t *);
-
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || __MSVCRT_VERSION__ >= __MSVCR61_DLL
-/* The Win2K release of MSVCRT.DLL added a third variant of the API,
- * which had originally been introduced in MSVCR61.DLL; this variant
- * uses a data representation having both 64-bit time stamp values,
- * and 64-bit file size values.  (Note that there was no explictly
- * all 32-bit variant added at this point in the evolution of the
- * API; had there been, it would have been identically equivalent
- * to the original generic _findfirst()/_findnext() implementation).
- */
-struct __finddata64_t __struct_finddata_t (__time64_t, __int64);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirst64 (const char *, struct __finddata64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnext64 (intptr_t, struct __finddata64_t *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* MSVCR80.DLL introduced three new data structures, with explicitly
- * sized elements; in the order specified below, the first and second
- * of these three are identically equivalent to the representations of
- * struct _finddata_t, and struct _finddatai64_t, as they are required
- * to be implemented to match the implementations of the corresponding
- * functions in ALL versions of MSVCRT.DLL, whereas the third has no
- * counterpart, in ANY version of MSVCRT.DLL.
- */
-struct _finddata32_t __struct_finddata_t (__time32_t, __int32);
-struct _finddata32i64_t __struct_finddata_t (__time32_t, __int64);
-struct _finddata64i32_t __struct_finddata_t (__time64_t, __int32);
-
-/* The actual functions implemented in MSVCR80.DLL, and its derivatives,
- * corresponding to each of these three data structures are:
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirst32 (const char *, struct _finddata32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnext32 (intptr_t, struct _finddata32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirst32i64 (const char *, struct _finddata32i64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnext32i64 (intptr_t, struct _finddata32i64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _findfirst64i32 (const char *, struct _finddata64i32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _findnext64i32 (intptr_t, struct _finddata64i32_t *);
-
-/* Since MSVCR80.DLL, and its later derivatives, provide no physical
- * implementations of the original file name search API functions, we
- * must emulate them, (as Microsoft do), by providing replacements in
- * the form of inline functions; in doing so, we also need to contend
- * with the insane ambiguity of Microsoft's _USE_32BIT_TIME_T feature
- * test; thus...
- */
-#if defined _USE_32BIT_TIME_T
-/* ...when the user has defined the _USE_32BIT_TIME_T macro, we provide
- * inline implementations which remain fully compatible with the actual
- * functions, as provided by MSVCRT.DLL; (note that we do not provide
- * __JMPSTUB__ or __LIBIMPL__ references here, since we have no basis
- * for a rational choice between ambiguous alternatives).
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _findfirst (const char *__filespec, struct _finddata_t *__search)
-{ return _findfirst32 (__filespec, (struct _finddata32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _findnext (intptr_t __handle, struct _finddata_t *__search)
-{ return _findnext32 (__handle, (struct _finddata32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _findfirsti64 (const char *__filespec, struct _finddatai64_t *__search)
-{ return _findfirst32i64 (__filespec, (struct _finddata32i64_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _findnexti64 (intptr_t __handle, struct _finddatai64_t *__search)
-{ return _findnext32i64 (__handle, (struct _finddata32i64_t *)(__search)); }
-
-#else	/* !_USE_32BIT_TIME_T */
-/* ...but, when the user has NOT defined _USE_32BIT_TIME_T, we emulate
- * the brain damaged default behaviour of Microsoft's own SDKs.  This
- * accommodates an extended range of valid time stamp values, but it
- * utterly destroys compatibility with MSVCRT.DLL!
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _findfirst (const char *__filespec, struct _finddata_t *__search)
-{ return _findfirst64i32 (__filespec, (struct _finddata64i32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _findnext (intptr_t __handle, struct _finddata_t *__search)
-{ return _findnext64i32 (__handle, (struct _finddata64i32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _findfirsti64 (const char *__filespec, struct _finddatai64_t *__search)
-{ return _findfirst64 (__filespec, (struct __finddata64_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _findnexti64 (intptr_t __handle, struct _finddatai64_t *__search)
-{ return _findnext64 (__handle, (struct __finddata64_t *)(__search)); }
-
-#endif	/* !_USE_32BIT_TIME_T */
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-#endif	/* >= WIN2K || >= MSVCR61.DLL */
-
-#undef  __fd_name_t
-#endif	/* _IO_H */
-
-#if ! (defined _IO_H && defined _WCHAR_H)
-/* Wide character file name analogue of the file name search API;
- * declared both here, in <io.h>, and via selective inclusion from
- * <wchar.h>, it mirrors all aspects of the preceding API declarations,
- * except that all file names are expressed as wchar_t.
- */
-#define __fd_name_t  wchar_t
-
-/* Thus, the original API comprised this pair of generically specified
- * data structures...
- */
-struct _wfinddata_t __struct_finddata_t (time_t, _fsize_t);
-struct _wfinddatai64_t __struct_finddata_t (time_t, __int64);
-
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* ...with corresponding functions to manipulate them; once again, there
- * is no physical implementation of these in MSVCR80.DLL or later, so we
- * declare them only when it is NOT specified that one of these run-time
- * library versions is to be used.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst (const wchar_t *, struct _wfinddata_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnext (intptr_t, struct _wfinddata_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirsti64 (const wchar_t *, struct _wfinddatai64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnexti64 (intptr_t, struct _wfinddatai64_t *);
-
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K || __MSVCRT_VERSION__ >= __MSVCR61_DLL
-/* Win2K also added an all-64-bit variant of the _wfinddata API to
- * MSVCRT.DLL, after it originally appeared in MSVCR61.DLL.
- */
-struct __wfinddata64_t __struct_finddata_t (__time64_t, __int64);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst64 (const wchar_t *, struct __wfinddata64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnext64 (intptr_t, struct __wfinddata64_t *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* MSVCR80.DLL introduced a further three variants, which remain
- * exclusive to it and its later derivatives; none of these are
- * available in any version of MSVCRT.DLL.
- */
-struct __wfinddata32_t __struct_finddata_t (__time32_t, __int32);
-struct _wfinddata32i64_t __struct_finddata_t (__time32_t, __int64);
-struct _wfinddata64i32_t __struct_finddata_t (__time64_t, __int32);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst32 (const wchar_t *, struct __wfinddata32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnext32 (intptr_t, struct __wfinddata32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst32i64 (const wchar_t *, struct _wfinddata32i64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnext32i64 (intptr_t, struct _wfinddata32i64_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst64i32 (const wchar_t *, struct _wfinddata64i32_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wfindnext64i32 (intptr_t, struct _wfinddata64i32_t *);
-
-/* Once again, the variants of this API with generic time_t data
- * fields are NOT supported by any physical function implementation
- * in MSVCR80.DLL and later, so must be emulated; (again, we do not
- * provide any __JMPSTUB__ or __LIBIMPL__ references).
- */
-#ifdef _USE_32BIT_TIME_T
-/* First, we provide inline implementations which retain compatibility
- * with the physical implementations in MSVCRT.DLL; they require the
- * user to define the _USE_32BIT_TIME_T feature test macro...
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst (const wchar_t *__filespec, struct _wfinddata_t *__search)
-{ return _wfindfirst32 (__filespec, (struct __wfinddata32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _wfindnext (intptr_t __handle, struct _wfinddata_t *__search)
-{ return _wfindnext32 (__handle, (struct __wfinddata32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirsti64 (const wchar_t *__filespec, struct _wfinddatai64_t *__search)
-{ return _wfindfirst32i64 (__filespec, (struct _wfinddata32i64_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _wfindnexti64 (intptr_t __handle, struct _wfinddatai64_t *__search)
-{ return _wfindnext32i64 (__handle, (struct _wfinddata32i64_t *)(__search)); }
-
-#else	/* !_USE_32BIT_TIME_T */
-/* ...whereas the brain damaged Microsoft defaults, which apply when
- * _USE_32BIT_TIME_T is not defined, break MSVCRT.DLL compatibility.
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirst (const wchar_t *__filespec, struct _wfinddata_t *__search)
-{ return _wfindfirst64i32 (__filespec, (struct _wfinddata64i32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _wfindnext (intptr_t __handle, struct _wfinddata_t *__search)
-{ return _wfindnext64i32 (__handle, (struct _wfinddata64i32_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-intptr_t _wfindfirsti64 (const wchar_t *__filespec, struct _wfinddatai64_t *__search)
-{ return _wfindfirst64 (__filespec, (struct __wfinddata64_t *)(__search)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-int _wfindnexti64 (intptr_t __handle, struct _wfinddatai64_t *__search)
-{ return _wfindnext64 (__handle, (struct __wfinddata64_t *)(__search)); }
-
-#endif	/* !_USE_32BIT_TIME_T */
-#endif	/* __MSVCRT_VERSION__ >= MSVCR80.DLL */
-#endif	/* >= _WIN2K || >= MSVCR61.DLL */
-
-#undef __fd_name_t
-#endif	/* ! (_IO_H && _WCHAR_H) */
-
-/* We have no further use for the __struct_finddata_t macro; delete it!
- */
-#undef __struct_finddata_t
-
-/* MSDN documents that <io.h> must be included to get a prototype for
- * _findclose(), which kind of negates the usefulness of declaring the
- * wchar_t variants of the file name search API in <wchar.h>; mitigate
- * this anomaly, by declaring _findclose() such that either <io.h> or
- * <wchar.h> will provide it.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _findclose (intptr_t);
-
-#ifdef _IO_H
-/* The following declarations are to be exposed only when <io.h> is
- * included directly.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _chdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_getcwd (char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _mkdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_mktemp (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _rmdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _chmod (const char *, int);
-
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  __int64 _filelengthi64 (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  __int64 _lseeki64 (int, __int64, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  __int64 _telli64 (int);
-
-#ifndef __NO_MINGW_LFS
-__CRT_INLINE __off64_t lseek64 (int, __off64_t, int);
-__CRT_INLINE __JMPSTUB__(( FUNCTION = lseek64, REMAPPED = _lseeki64 ))
-__off64_t lseek64 (int fd, __off64_t offset, int whence)
-{ return _lseeki64 (fd, (__int64)(offset), whence); }
-#endif
-
-#endif /* __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-
-#ifndef _UWIN
-_CRTIMP __cdecl __MINGW_NOTHROW  int chdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *getcwd (char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int mkdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *mktemp (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int rmdir (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int chmod (const char *, int);
-#endif /* _UWIN */
-
-#endif /* !_NO_OLDNAMES */
-#endif	/* _IO_H */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-
-#ifdef _IO_H
-/* Still applicable only when <io.h> is included directly, but we also
- * allow the resource compiler to see these.
- *
- * TODO: Maximum number of open handles has not been tested; we just set
- * it the same as FOPEN_MAX.
- */
-#define HANDLE_MAX	FOPEN_MAX
-
-/* Some defines for _access() mode checking: (Microsoft doesn't define
- * them, but it doesn't seem to hurt to add them ... or perhaps it does
- * hurt; on newer versions of MSVCRT.DLL, an access mode of 1 may raise
- * an invalid parameter error!
- */
-#define F_OK	0	/* Check for file existence */
-#define X_OK	1	/* MS access() doesn't check for execute permission. */
-#define W_OK	2	/* Check for write permission */
-#define R_OK	4	/* Check for read permission */
-#endif	/* _IO_H */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-#ifdef _IO_H
-/* Again, specific to <io.h>, but not applicable to resources.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _access (const char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _chsize (int, long);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _close (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _commit (int);
-
-/* NOTE: The only significant permissions bit appears to be
- * bit 7 (0x80), the "owner write permission" bit (on FAT).
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _creat (const char *, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _dup (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _dup2 (int, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long _filelength (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long _get_osfhandle (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _isatty (int);
-
-#ifndef	_STREAM_COMPAT
-/* In a very odd turn of events this function is excluded from those
- * files which define _STREAM_COMPAT. This is required in order to
- * build GNU libio because of a conflict with _eof in streambuf.h
- * line 107. Actually I might just be able to change the name of
- * the enum member in streambuf.h ... we'll see. TODO
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _eof (int);
-#endif
-
-/* Locking files: attribute constants are defined in <sys/locking.h>,
- * which users are expected to include.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _locking (int, int, long);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  long _lseek (int, long, int);
-
-/* Opening files, (or streams); manifest constants for construction of
- * the mode flags are defined in <fctl.h>, which users are expected to
- * include.  The "optional" third argument is an unsigned int; it is
- * REQUIRED, when creating a new file, to specify the permissions to
- * apply when said file is released by the creating process.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _open (const char *, int, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _open_osfhandle (intptr_t, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _pipe (int *, unsigned int, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _read (int, void *, unsigned int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _setmode (int, int);
-
-/* Microsoft declares remove() & rename(), (but not their wchar_t
- * counterparts), in <io.h> as well as in <stdio.h>; these should be
- * consistent with <stdio.h>, but we trust the compiler to alert us
- * (eventually) if not.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int remove (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int rename (const char *, const char *);
-
-/* Open files with specified sharing attributes; manifest constants
- * for constructing the sharing mode argument are in <share.h>, which
- * users must include.  The optional fourth argument is an unsigned
- * int, specifing permissions to apply after closing a new file.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _sopen (const char *, int, int, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  long _tell (int);
-
-/* FIXME: POSIX wants umask() in <sys/stat.h>, and, although vague,
- * Microsoft may agree; we declare it here as well!
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _umask (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _unlink (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _write (int, const void *, unsigned int);
-#endif	/* _IO_H */
-
-#if defined __MSVCRT__ && ! (defined _IO_H && defined _WCHAR_H)
-/* These wchar_t functions are made available for selective inclusion
- * by <wchar.h>, in addition to direct inclusion of <io.h>, but they
- * are only supported by MSVCRT.DLL and derivatives; they don't exist
- * in CRTDLL.DLL.  Furthermore, if both _IO_H and _WCHAR_H have been
- * defined, by the time we get here, then this must be direct <io.h>
- * inclusion, and we've already declared these by prior inclusion of
- * <wchar.h>; there is no need to declare them again.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _waccess (const wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wchmod (const wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcreat (const wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wunlink (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wopen (const wchar_t *, int, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wsopen (const wchar_t *, int, int, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wmktemp (wchar_t *);
-#endif /* __MSVCRT__ && ! (_IO_H && _WCHAR_H) */
-
-#if defined _IO_H && ! defined _NO_OLDNAMES
-/* Non-underscored versions of non-ANSI functions to improve portability;
- * these are implemented in libmoldname.a, and once again are declared
- * only when <io.h> is included directly.
- */
-#ifndef _UWIN
-_CRTIMP __cdecl __MINGW_NOTHROW  int access (const char*, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int chsize (int, long );
-_CRTIMP __cdecl __MINGW_NOTHROW  int close (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int creat (const char*, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int dup (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int dup2 (int, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int eof (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long filelength (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int isatty (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long lseek (int, long, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int open (const char*, int, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int read (int, void*, unsigned int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int setmode (int, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int sopen (const char*, int, int, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  long tell (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int umask (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int unlink (const char*);
-_CRTIMP __cdecl __MINGW_NOTHROW  int write (int, const void*, unsigned int);
-#endif /* !_UWIN */
-
-#ifdef __USE_MINGW_ACCESS
-/* Old versions of MSVCRT.DLL's access() just ignored X_OK, while the
- * version shipped with Vista fails; this inline implementation of the
- * portably named access() function protects against such failure.
- */
-#define access(__fname,__mode)  __mingw_access (__fname, __mode)
-static __inline__ int __mingw_access (const char* __fname, int __mode)
-  { return  _access (__fname, __mode & ~X_OK); }
-#endif	/* _USE_MINGW_ACCESS */
-
-#if 0
-/* FIXME:
- * Wide character versions: may also be declared in <wchar.h>.
- * Where do these live?  Not in libmoldname.a nor in libmsvcrt.a;
- * do they exist at all?
- */
-int 		waccess(const wchar_t *, int);
-int 		wchmod(const wchar_t *, int);
-int 		wcreat(const wchar_t *, int);
-long 		wfindfirst(wchar_t *, struct _wfinddata_t *);
-int 		wfindnext(long, struct _wfinddata_t *);
-int 		wunlink(const wchar_t *);
-int 		wrename(const wchar_t *, const wchar_t *);
-int 		wopen(const wchar_t *, int, ...);
-int 		wsopen(const wchar_t *, int, int, ...);
-wchar_t * 	wmktemp(wchar_t *);
-#endif
-
-#endif	/* !_NO_OLDNAMES */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_IO_H: $RCSfile: io.h,v $: end of file */
Index: Daodan/MinGW/include/ipexport.h
===================================================================
--- Daodan/MinGW/include/ipexport.h	(revision 1046)
+++ 	(revision )
@@ -1,88 +1,0 @@
-#ifndef _IPEXPORT_H
-#define _IPEXPORT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ANY_SIZE
-#define ANY_SIZE 1
-#endif
-#define MAX_ADAPTER_NAME 128
-/* IP STATUS flags */
-#define IP_STATUS_BASE 11000
-#define IP_SUCCESS  0
-#define IP_BUF_TOO_SMALL    (IP_STATUS_BASE + 1)
-#define IP_DEST_NET_UNREACHABLE (IP_STATUS_BASE + 2)
-#define IP_DEST_HOST_UNREACHABLE    (IP_STATUS_BASE + 3)
-#define IP_DEST_PROT_UNREACHABLE    (IP_STATUS_BASE + 4)
-#define IP_DEST_PORT_UNREACHABLE    (IP_STATUS_BASE + 5)
-#define IP_NO_RESOURCES (IP_STATUS_BASE + 6)
-#define IP_BAD_OPTION   (IP_STATUS_BASE + 7)
-#define IP_HW_ERROR (IP_STATUS_BASE + 8)
-#define IP_PACKET_TOO_BIG   (IP_STATUS_BASE + 9)
-#define IP_REQ_TIMED_OUT    (IP_STATUS_BASE + 10)
-#define IP_BAD_REQ  (IP_STATUS_BASE + 11)
-#define IP_BAD_ROUTE    (IP_STATUS_BASE + 12)
-#define IP_TTL_EXPIRED_TRANSIT  (IP_STATUS_BASE + 13)
-#define IP_TTL_EXPIRED_REASSEM  (IP_STATUS_BASE + 14)
-#define IP_PARAM_PROBLEM    (IP_STATUS_BASE + 15)
-#define IP_SOURCE_QUENCH    (IP_STATUS_BASE + 16)
-#define IP_OPTION_TOO_BIG   (IP_STATUS_BASE + 17)
-#define IP_BAD_DESTINATION  (IP_STATUS_BASE + 18)
-#define IP_ADDR_DELETED (IP_STATUS_BASE + 19)
-#define IP_SPEC_MTU_CHANGE  (IP_STATUS_BASE + 20)
-#define IP_MTU_CHANGE   (IP_STATUS_BASE + 21)
-#define IP_UNLOAD   (IP_STATUS_BASE + 22)
-#define IP_GENERAL_FAILURE  (IP_STATUS_BASE + 50)
-#define MAX_IP_STATUS   IP_GENERAL_FAILURE
-#define IP_PENDING  (IP_STATUS_BASE + 255)
-/* IP header Flags values */
-#define IP_FLAG_DF  0x2
-/*  IP Option types */
-#define IP_OPT_EOL  0
-#define IP_OPT_NOP  1
-#define IP_OPT_SECURITY 0x82
-#define IP_OPT_LSRR 0x83
-#define IP_OPT_SSRR 0x89
-#define IP_OPT_RR   0x7
-#define IP_OPT_TS   0x44
-#define IP_OPT_SID  0x88
-#define IP_OPT_ROUTER_ALERT 0x94
-#define MAX_OPT_SIZE    40
-
-typedef unsigned long IPAddr, IPMask, IP_STATUS;
-typedef struct ip_option_information {
-  unsigned char Ttl;
-  unsigned char Tos;
-  unsigned char Flags;
-  unsigned char OptionsSize;
-  unsigned char* OptionsData;
-}IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
-typedef struct icmp_echo_reply {
-  IPAddr        Address;
-  unsigned long Status;
-  unsigned long RoundTripTime;
-  unsigned short    DataSize;
-  unsigned short    Reserved;
-  void* Data;
-  struct ip_option_information   Options;
-} ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
-typedef struct {
-  ULONG Index;
-  WCHAR  Name[MAX_ADAPTER_NAME];
-} IP_ADAPTER_INDEX_MAP, *PIP_ADAPTER_INDEX_MAP;
-typedef struct {
-  LONG NumAdapters;
-  IP_ADAPTER_INDEX_MAP Adapter[ANY_SIZE];
-} IP_INTERFACE_INFO, *PIP_INTERFACE_INFO;
-typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS {
-  ULONG NumAdapters;
-  IPAddr Address[1];
-} IP_UNIDIRECTIONAL_ADAPTER_ADDRESS, *PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPEXPORT_H */
Index: Daodan/MinGW/include/iphlpapi.h
===================================================================
--- Daodan/MinGW/include/iphlpapi.h	(revision 1046)
+++ 	(revision )
@@ -1,77 +1,0 @@
-#ifndef _IPHLPAPI_H
-#define _IPHLPAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <iprtrmib.h>
-#include <ipexport.h>
-#include <iptypes.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-#define GAA_FLAG_SKIP_UNICAST 0x00000001
-#define GAA_FLAG_SKIP_ANYCAST 0x00000002
-#define GAA_FLAG_SKIP_MULTICAST 0x00000004
-#define GAA_FLAG_SKIP_DNS_SERVER 0x00000008
-#define GAA_FLAG_INCLUDE_PREFIX 0x00000010
-#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x00000020
-#endif
-
-DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG);
-DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD);
-DWORD WINAPI DeleteIPAddress(ULONG);
-DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD);
-DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*);
-DWORD WINAPI FlushIpNetTable(DWORD);
-#if (_WIN32_WINNT >= 0x0501 && defined(_WINSOCK2_H))
-ULONG WINAPI GetAdaptersAddresses(ULONG,ULONG,PVOID,PIP_ADAPTER_ADDRESSES,PULONG);
-#endif
-DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG);
-DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
-DWORD WINAPI GetBestInterface(IPAddr,PDWORD);
-DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW);
-#if (_WIN32_WINNT >= 0x0501)
-DWORD WINAPI GetExtendedTcpTable (PVOID,PDWORD,BOOL,ULONG,TCP_TABLE_CLASS,ULONG);
-#endif
-DWORD WINAPI GetFriendlyIfIndex(DWORD);
-DWORD WINAPI GetIcmpStatistics(PMIB_ICMP);
-DWORD WINAPI GetIfEntry(PMIB_IFROW);
-DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL);
-DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG);
-DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpStatistics(PMIB_IPSTATS);
-DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG);
-DWORD WINAPI GetNumberOfInterfaces(PDWORD);
-DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG);
-BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG);
-DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS);
-DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL);
-DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG);
-DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS);
-DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL);
-DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
-DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
-DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED);
-DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED);
-DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);
-DWORD WINAPI SetIfEntry(PMIB_IFROW);
-DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
-DWORD WINAPI SetIpTTL(UINT);
-DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
-DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPHLPAPI_H */
Index: Daodan/MinGW/include/ipifcons.h
===================================================================
--- Daodan/MinGW/include/ipifcons.h	(revision 1046)
+++ 	(revision )
@@ -1,199 +1,0 @@
-/*
-	ipifcons.h - Routing and Remote Access Services
-
-	This file is part of a free library for the Win32 API.
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-#ifndef _IPIFCONS_H
-#define _IPIFCONS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MIN_IF_TYPE 1
-#define IF_TYPE_OTHER 1
-#define IF_TYPE_REGULAR_1822 2
-#define IF_TYPE_HDH_1822 3
-#define IF_TYPE_DDN_X25 4
-#define IF_TYPE_RFC877_X25 5
-#define IF_TYPE_ETHERNET_CSMACD 6
-#define IF_TYPE_IS088023_CSMACD 7
-#define IF_TYPE_ISO88024_TOKENBUS 8
-#define IF_TYPE_ISO88025_TOKENRING 9
-#define IF_TYPE_ISO88026_MAN 10
-#define IF_TYPE_STARLAN 11
-#define IF_TYPE_PROTEON_10MBIT 12
-#define IF_TYPE_PROTEON_80MBIT 13
-#define IF_TYPE_HYPERCHANNEL 14
-#define IF_TYPE_FDDI 15
-#define IF_TYPE_LAP_B 16
-#define IF_TYPE_SDLC 17
-#define IF_TYPE_DS1 18
-#define IF_TYPE_E1 19
-#define IF_TYPE_BASIC_ISDN 20
-#define IF_TYPE_PRIMARY_ISDN 21
-#define IF_TYPE_PROP_POINT2POINT_SERIAL 22
-#define IF_TYPE_PPP 23
-#define IF_TYPE_SOFTWARE_LOOPBACK 24
-#define IF_TYPE_EON 25
-#define IF_TYPE_ETHERNET_3MBIT 26
-#define IF_TYPE_NSIP 27
-#define IF_TYPE_SLIP 28
-#define IF_TYPE_ULTRA 29
-#define IF_TYPE_DS3 30
-#define IF_TYPE_SIP 31
-#define IF_TYPE_FRAMERELAY 32
-#define IF_TYPE_RS232 33
-#define IF_TYPE_PARA 34
-#define IF_TYPE_ARCNET 35
-#define IF_TYPE_ARCNET_PLUS 36
-#define IF_TYPE_ATM 37
-#define IF_TYPE_MIO_X25 38
-#define IF_TYPE_SONET 39
-#define IF_TYPE_X25_PLE 40
-#define IF_TYPE_ISO88022_LLC 41
-#define IF_TYPE_LOCALTALK 42
-#define IF_TYPE_SMDS_DXI 43
-#define IF_TYPE_FRAMERELAY_SERVICE 44
-#define IF_TYPE_V35 45
-#define IF_TYPE_HSSI 46
-#define IF_TYPE_HIPPI 47
-#define IF_TYPE_MODEM 48
-#define IF_TYPE_AAL5 49
-#define IF_TYPE_SONET_PATH 50
-#define IF_TYPE_SONET_VT 51
-#define IF_TYPE_SMDS_ICIP 52
-#define IF_TYPE_PROP_VIRTUAL 53
-#define IF_TYPE_PROP_MULTIPLEXOR 54
-#define IF_TYPE_IEEE80212 55
-#define IF_TYPE_FIBRECHANNEL 56
-#define IF_TYPE_HIPPIINTERFACE 57
-#define IF_TYPE_FRAMERELAY_INTERCONNECT 58
-#define IF_TYPE_AFLANE_8023 59
-#define IF_TYPE_AFLANE_8025 60
-#define IF_TYPE_CCTEMUL 61
-#define IF_TYPE_FASTETHER 62
-#define IF_TYPE_ISDN 63
-#define IF_TYPE_V11 64
-#define IF_TYPE_V36 65
-#define IF_TYPE_G703_64K 66
-#define IF_TYPE_G703_2MB 67
-#define IF_TYPE_QLLC 68
-#define IF_TYPE_FASTETHER_FX 69
-#define IF_TYPE_CHANNEL 70
-#define IF_TYPE_IEEE80211 71
-#define IF_TYPE_IBM370PARCHAN 72
-#define IF_TYPE_ESCON 73
-#define IF_TYPE_DLSW 74
-#define IF_TYPE_ISDN_S 75
-#define IF_TYPE_ISDN_U 76
-#define IF_TYPE_LAP_D 77
-#define IF_TYPE_IPSWITCH 78
-#define IF_TYPE_RSRB 79
-#define IF_TYPE_ATM_LOGICAL 80
-#define IF_TYPE_DS0 81
-#define IF_TYPE_DS0_BUNDLE 82
-#define IF_TYPE_BSC 83
-#define IF_TYPE_ASYNC 84
-#define IF_TYPE_CNR 85
-#define IF_TYPE_ISO88025R_DTR 86
-#define IF_TYPE_EPLRS 87
-#define IF_TYPE_ARAP 88
-#define IF_TYPE_PROP_CNLS 89
-#define IF_TYPE_HOSTPAD 90
-#define IF_TYPE_TERMPAD 91
-#define IF_TYPE_FRAMERELAY_MPI 92
-#define IF_TYPE_X213 93
-#define IF_TYPE_ADSL 94
-#define IF_TYPE_RADSL 95
-#define IF_TYPE_SDSL 96
-#define IF_TYPE_VDSL 97
-#define IF_TYPE_ISO88025_CRFPRINT 98
-#define IF_TYPE_MYRINET 99
-#define IF_TYPE_VOICE_EM 100
-#define IF_TYPE_VOICE_FXO 101
-#define IF_TYPE_VOICE_FXS 102
-#define IF_TYPE_VOICE_ENCAP 103
-#define IF_TYPE_VOICE_OVERIP 104
-#define IF_TYPE_ATM_DXI 105
-#define IF_TYPE_ATM_FUNI 106
-#define IF_TYPE_ATM_IMA 107
-#define IF_TYPE_PPPMULTILINKBUNDLE 108
-#define IF_TYPE_IPOVER_CDLC 109
-#define IF_TYPE_IPOVER_CLAW 110
-#define IF_TYPE_STACKTOSTACK 111
-#define IF_TYPE_VIRTUALIPADDRESS 112
-#define IF_TYPE_MPC 113
-#define IF_TYPE_IPOVER_ATM 114
-#define IF_TYPE_ISO88025_FIBER 115
-#define IF_TYPE_TDLC 116
-#define IF_TYPE_GIGABITETHERNET 117
-#define IF_TYPE_HDLC 118
-#define IF_TYPE_LAP_F 119
-#define IF_TYPE_V37 120
-#define IF_TYPE_X25_MLP 121
-#define IF_TYPE_X25_HUNTGROUP 122
-#define IF_TYPE_TRANSPHDLC 123
-#define IF_TYPE_INTERLEAVE 124
-#define IF_TYPE_FAST 125
-#define IF_TYPE_IP 126
-#define IF_TYPE_DOCSCABLE_MACLAYER 127
-#define IF_TYPE_DOCSCABLE_DOWNSTREAM 128
-#define IF_TYPE_DOCSCABLE_UPSTREAM 129
-#define IF_TYPE_A12MPPSWITCH 130
-#define IF_TYPE_TUNNEL 131
-#define IF_TYPE_COFFEE 132
-#define IF_TYPE_CES 133
-#define IF_TYPE_ATM_SUBINTERFACE 134
-#define IF_TYPE_L2_VLAN 135
-#define IF_TYPE_L3_IPVLAN 136
-#define IF_TYPE_L3_IPXVLAN 137
-#define IF_TYPE_DIGITALPOWERLINE 138
-#define IF_TYPE_MEDIAMAILOVERIP 139
-#define IF_TYPE_DTM 140
-#define IF_TYPE_DCN 141
-#define IF_TYPE_IPFORWARD 142
-#define IF_TYPE_MSDSL 143
-#define IF_TYPE_IEEE1394 144
-#define IF_TYPE_RECEIVE_ONLY 145
-#define MAX_IF_TYPE 145
-#define IF_ACCESS_LOOPBACK 1
-#define IF_ACCESS_BROADCAST 2
-#define IF_ACCESS_POINTTOPOINT 3
-#define IF_ACCESS_POINTTOMULTIPOINT 4
-#define IF_CHECK_NONE 0x00
-#define IF_CHECK_MCAST 0x01
-#define IF_CHECK_SEND 0x02
-#define IF_CONNECTION_DEDICATED 1
-#define IF_CONNECTION_PASSIVE 2
-#define IF_CONNECTION_DEMAND 3
-#define IF_ADMIN_STATUS_UP 1
-#define IF_ADMIN_STATUS_DOWN 2
-#define IF_ADMIN_STATUS_TESTING 3
-#define IF_OPER_STATUS_NON_OPERATIONAL 0
-#define IF_OPER_STATUS_UNREACHABLE 1
-#define IF_OPER_STATUS_DISCONNECTED 2
-#define IF_OPER_STATUS_CONNECTING 3
-#define IF_OPER_STATUS_CONNECTED 4
-#define IF_OPER_STATUS_OPERATIONAL 5
-#define MIB_IF_ADMIN_STATUS_UP 1
-#define MIB_IF_ADMIN_STATUS_DOWN 2
-#define MIB_IF_ADMIN_STATUS_TESTING 3
-#define MIB_IF_OPER_STATUS_NON_OPERATIONAL 0
-#define MIB_IF_OPER_STATUS_UNREACHABLE 1
-#define MIB_IF_OPER_STATUS_DISCONNECTED 2
-#define MIB_IF_OPER_STATUS_CONNECTING 3
-#define MIB_IF_OPER_STATUS_CONNECTED 4
-#define MIB_IF_OPER_STATUS_OPERATIONAL 5
-#define MIB_IF_TYPE_OTHER 1
-#define MIB_IF_TYPE_ETHERNET 6
-#define MIB_IF_TYPE_TOKENRING 9
-#define MIB_IF_TYPE_FDDI 15
-#define MIB_IF_TYPE_PPP 23
-#define MIB_IF_TYPE_LOOPBACK 24
-#define MIB_IF_TYPE_SLIP 28
-
-#endif
Index: Daodan/MinGW/include/ipinfoid.h
===================================================================
--- Daodan/MinGW/include/ipinfoid.h	(revision 1046)
+++ 	(revision )
@@ -1,43 +1,0 @@
-/*
- * ipinfoid.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _IPINFOID_H
-#define _IPINFOID_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/*--- Router Management Reference - Router Information Enumeration Types */
-#define IP_IN_FILTER_INFO 0xFFFF0001
-#define IP_OUT_FILTER_INFO 0xFFFF0002
-#define IP_GLOBAL_INFO 0xFFFF0003
-#define IP_INTERFACE_STATUS_INFO 0xFFFF0004
-#define IP_ROUTE_INFO 0xFFFF0005
-#define IP_PROT_PRIORITY_INFO 0xFFFF0006
-#define IP_ROUTER_DISC_INFO 0xFFFF0007
-#define IP_DEMAND_DIAL_FILTER_INFO 0xFFFF0009
-#define IP_MCAST_HEARBEAT_INFO 0xFFFF000A
-#define IP_MCAST_BOUNDARY_INFO 0xFFFF000B
-#define IP_IPINIP_CFG_INFO 0xFFFF000C
-#define IP_IFFILTER_INFO 0xFFFF000D
-#define IP_MCAST_LIMIT_INFO 0xFFFF000E
-/*#define IP_DEMAND_DIAL_FILTER_INFO_V6 */
-/*#define IP_FILTER_ENABLE_INFO_V6 */
-/*#define IP_IN_FILTER_INFO_V6 */
-/*#define IP_IFFILTER_INFO_V6 */
-/*#define IP_OUT_FILTER_INFO_V6 */
-/*#define IPV6_GLOBAL_INFO */
-/*#define IPV6_ROUTE_INFO */
-
-#endif
Index: Daodan/MinGW/include/iprtrmib.h
===================================================================
--- Daodan/MinGW/include/iprtrmib.h	(revision 1046)
+++ 	(revision )
@@ -1,246 +1,0 @@
-#ifndef _IPRTRMIB_H
-#define _IPRTRMIB_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <ipifcons.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ANY_SIZE
-#define ANY_SIZE 1
-#endif
-#define MAXLEN_PHYSADDR 8
-#define MAXLEN_IFDESCR 256
-#ifndef MAX_INTERFACE_NAME_LEN
-#define MAX_INTERFACE_NAME_LEN 256
-#endif
-#define MIB_IPNET_TYPE_OTHER 1
-#define MIB_IPNET_TYPE_INVALID 2
-#define MIB_IPNET_TYPE_DYNAMIC 3
-#define MIB_IPNET_TYPE_STATIC 4
-#define MIB_TCP_RTO_OTHER 1
-#define MIB_TCP_RTO_CONSTANT 2
-#define MIB_TCP_RTO_RSRE 3
-#define MIB_TCP_RTO_VANJ 4
-#define MIB_TCP_STATE_CLOSED 1
-#define MIB_TCP_STATE_LISTEN 2
-#define MIB_TCP_STATE_SYN_SENT 3
-#define MIB_TCP_STATE_SYN_RCVD 4
-#define MIB_TCP_STATE_ESTAB 5
-#define MIB_TCP_STATE_FIN_WAIT1 6
-#define MIB_TCP_STATE_FIN_WAIT2 7
-#define MIB_TCP_STATE_CLOSE_WAIT 8
-#define MIB_TCP_STATE_CLOSING 9
-#define MIB_TCP_STATE_LAST_ACK 10
-#define MIB_TCP_STATE_TIME_WAIT 11
-#define MIB_TCP_STATE_DELETE_TCB 12
-#define MIB_USE_CURRENT_TTL ((DWORD)-1)
-#define MIB_USE_CURRENT_FORWARDING ((DWORD)-1)
-#define MIB_TCP_MAXCONN_DYNAMIC ((DWORD)-1)
-typedef enum {
-  TCP_TABLE_BASIC_LISTENER,
-  TCP_TABLE_BASIC_CONNECTIONS,
-  TCP_TABLE_BASIC_ALL,
-  TCP_TABLE_OWNER_PID_LISTENER,
-  TCP_TABLE_OWNER_PID_CONNECTIONS,
-  TCP_TABLE_OWNER_PID_ALL,
-  TCP_TABLE_OWNER_MODULE_LISTENER,
-  TCP_TABLE_OWNER_MODULE_CONNECTIONS,
-  TCP_TABLE_OWNER_MODULE_ALL
-} TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
-typedef struct {
-  DWORD dwAddr;
-  DWORD dwIndex;
-  DWORD dwMask;
-  DWORD dwBCastAddr;
-  DWORD dwReasmSize;
-  unsigned short unused1;
-  unsigned short wType;
-} MIB_IPADDRROW, *PMIB_IPADDRROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_IPADDRROW table[ANY_SIZE];
-} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
-typedef struct {
-  DWORD dwForwardDest;
-  DWORD dwForwardMask;
-  DWORD dwForwardPolicy;
-  DWORD dwForwardNextHop;
-  DWORD dwForwardIfIndex;
-  DWORD dwForwardType;
-  DWORD dwForwardProto;
-  DWORD dwForwardAge;
-  DWORD dwForwardNextHopAS;
-  DWORD dwForwardMetric1;
-  DWORD dwForwardMetric2;
-  DWORD dwForwardMetric3;
-  DWORD dwForwardMetric4;
-  DWORD dwForwardMetric5;
-} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_IPFORWARDROW table[ANY_SIZE];
-} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
-typedef struct {
-  DWORD dwIndex;
-  DWORD dwPhysAddrLen;
-  BYTE bPhysAddr[MAXLEN_PHYSADDR];
-  DWORD dwAddr;
-  DWORD dwType;
-} MIB_IPNETROW, *PMIB_IPNETROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_IPNETROW table[ANY_SIZE];
-} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
-typedef struct {
-  DWORD dwMsgs;
-  DWORD dwErrors;
-  DWORD dwDestUnreachs;
-  DWORD dwTimeExcds;
-  DWORD dwParmProbs;
-  DWORD dwSrcQuenchs;
-  DWORD dwRedirects;
-  DWORD dwEchos;
-  DWORD dwEchoReps;
-  DWORD dwTimestamps;
-  DWORD dwTimestampReps;
-  DWORD dwAddrMasks;
-  DWORD dwAddrMaskReps;
-} MIBICMPSTATS, *PMIBICMPSTATS;
-typedef struct {
-  MIBICMPSTATS icmpInStats;
-  MIBICMPSTATS icmpOutStats;
-} MIBICMPINFO, *PMIBICMPINFO;
-typedef struct {
-  MIBICMPINFO stats;
-} MIB_ICMP, *PMIB_ICMP;
-typedef struct {
-  WCHAR wszName[MAX_INTERFACE_NAME_LEN];
-  DWORD dwIndex;
-  DWORD dwType;
-  DWORD dwMtu;
-  DWORD dwSpeed;
-  DWORD dwPhysAddrLen;
-  BYTE bPhysAddr[MAXLEN_PHYSADDR];
-  DWORD dwAdminStatus;
-  DWORD dwOperStatus;
-  DWORD dwLastChange;
-  DWORD dwInOctets;
-  DWORD dwInUcastPkts;
-  DWORD dwInNUcastPkts;
-  DWORD dwInDiscards;
-  DWORD dwInErrors;
-  DWORD dwInUnknownProtos;
-  DWORD dwOutOctets;
-  DWORD dwOutUcastPkts;
-  DWORD dwOutNUcastPkts;
-  DWORD dwOutDiscards;
-  DWORD dwOutErrors;
-  DWORD dwOutQLen;
-  DWORD dwDescrLen;
-  BYTE  bDescr[MAXLEN_IFDESCR];
-} MIB_IFROW, *PMIB_IFROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_IFROW table[ANY_SIZE];
-} MIB_IFTABLE, *PMIB_IFTABLE;
-typedef struct {
-  DWORD dwForwarding;
-  DWORD dwDefaultTTL;
-  DWORD dwInReceives;
-  DWORD dwInHdrErrors;
-  DWORD dwInAddrErrors;
-  DWORD dwForwDatagrams;
-  DWORD dwInUnknownProtos;
-  DWORD dwInDiscards;
-  DWORD dwInDelivers;
-  DWORD dwOutRequests;
-  DWORD dwRoutingDiscards;
-  DWORD dwOutDiscards;
-  DWORD dwOutNoRoutes;
-  DWORD dwReasmTimeout;
-  DWORD dwReasmReqds;
-  DWORD dwReasmOks;
-  DWORD dwReasmFails;
-  DWORD dwFragOks;
-  DWORD dwFragFails;
-  DWORD dwFragCreates;
-  DWORD dwNumIf;
-  DWORD dwNumAddr;
-  DWORD dwNumRoutes;
-} MIB_IPSTATS, *PMIB_IPSTATS;
-typedef struct {
-  DWORD dwRtoAlgorithm;
-  DWORD dwRtoMin;
-  DWORD dwRtoMax;
-  DWORD dwMaxConn;
-  DWORD dwActiveOpens;
-  DWORD dwPassiveOpens;
-  DWORD dwAttemptFails;
-  DWORD dwEstabResets;
-  DWORD dwCurrEstab;
-  DWORD dwInSegs;
-  DWORD dwOutSegs;
-  DWORD dwRetransSegs;
-  DWORD dwInErrs;
-  DWORD dwOutRsts;
-  DWORD dwNumConns;
-} MIB_TCPSTATS, *PMIB_TCPSTATS;
-typedef struct {
-  DWORD dwState;
-  DWORD dwLocalAddr;
-  DWORD dwLocalPort;
-  DWORD dwRemoteAddr;
-  DWORD dwRemotePort;
-} MIB_TCPROW, *PMIB_TCPROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_TCPROW table[ANY_SIZE];
-} MIB_TCPTABLE, *PMIB_TCPTABLE;
-typedef struct {
-  DWORD dwState;
-  DWORD dwLocalAddr;
-  DWORD dwLocalPort;
-  DWORD dwRemoteAddr;
-  DWORD dwRemotePort;
-  DWORD dwOwningPid;
-} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_TCPROW_OWNER_PID table[ANY_SIZE];
-} MIB_TCPTABLE_OWNER_PID, *PMIB_TCPTABLE_OWNER_PID;
-typedef struct {
-  DWORD dwInDatagrams;
-  DWORD dwNoPorts;
-  DWORD dwInErrors;
-  DWORD dwOutDatagrams;
-  DWORD dwNumAddrs;
-} MIB_UDPSTATS, *PMIB_UDPSTATS;
-typedef struct {
-  DWORD dwLocalAddr;
-  DWORD dwLocalPort;
-} MIB_UDPROW, *PMIB_UDPROW;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_UDPROW table[ANY_SIZE];
-} MIB_UDPTABLE, *PMIB_UDPTABLE;
-typedef struct {
-  UCHAR ucLocalAddr[16];
-  DWORD dwLocalScopeId;
-  DWORD dwLocalPort;
-  UCHAR ucRemoteAddr[16];
-  DWORD dwRemoteScopeId;
-  DWORD dwRemotePort;
-  DWORD dwState;
-  DWORD dwOwningPid;
-} MIB_TCP6ROW_OWNER_PID,  *PMIB_TCP6ROW_OWNER_PID;
-typedef struct {
-  DWORD dwNumEntries;
-  MIB_TCP6ROW_OWNER_PID table[ANY_SIZE];
-} MIB_TCP6TABLE_OWNER_PID,  *PMIB_TCP6TABLE_OWNER_PID;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPRTRMIB_H */
Index: Daodan/MinGW/include/iptypes.h
===================================================================
--- Daodan/MinGW/include/iptypes.h	(revision 1046)
+++ 	(revision )
@@ -1,229 +1,0 @@
-#ifndef _IPTYPES_H
-#define _IPTYPES_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <sys/types.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DEFAULT_MINIMUM_ENTITIES 32
-#define MAX_ADAPTER_ADDRESS_LENGTH 8
-#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
-#define MAX_ADAPTER_NAME_LENGTH 256
-#define MAX_DOMAIN_NAME_LEN 128
-#define MAX_HOSTNAME_LEN 128
-#define MAX_SCOPE_ID_LEN 256
-#define BROADCAST_NODETYPE 1
-#define PEER_TO_PEER_NODETYPE 2
-#define MIXED_NODETYPE 4
-#define HYBRID_NODETYPE 8
-#define IF_OTHER_ADAPTERTYPE 0
-#define IF_ETHERNET_ADAPTERTYPE 1
-#define IF_TOKEN_RING_ADAPTERTYPE 2
-#define IF_FDDI_ADAPTERTYPE 3
-#define IF_PPP_ADAPTERTYPE 4
-#define IF_LOOPBACK_ADAPTERTYPE 5
-#if (_WIN32_WINNT >= 0x0501)
-#define IP_ADAPTER_DDNS_ENABLED 0x00000001
-#define IP_ADAPTER_REGISTER_ADAPTER_SUFFIX 0x00000002
-#define IP_ADAPTER_DHCP_ENABLED 0x00000004
-#define IP_ADAPTER_RECEIVE_ONLY 0x00000008
-#define IP_ADAPTER_NO_MULTICAST 0x00000010
-#define IP_ADAPTER_IPV6_OTHER_STATEFUL_CONFIG 0x00000020
-#define IP_ADAPTER_ADDRESS_DNS_ELIGIBLE 0x00000001
-#define IP_ADAPTER_ADDRESS_TRANSIENT 0x00000002
-#endif
-
-typedef struct {
-  char String[16];
-} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
-typedef struct _IP_ADDR_STRING {
-  struct _IP_ADDR_STRING* Next;
-  IP_ADDRESS_STRING IpAddress;
-  IP_MASK_STRING IpMask;
-  DWORD Context;
-} IP_ADDR_STRING, *PIP_ADDR_STRING;
-typedef struct _IP_ADAPTER_INFO {
-  struct _IP_ADAPTER_INFO* Next;
-  DWORD ComboIndex;
-  char AdapterName[MAX_ADAPTER_NAME_LENGTH+4];
-  char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4];
-  UINT AddressLength;
-  BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
-  DWORD Index;
-  UINT Type;
-  UINT DhcpEnabled;
-  PIP_ADDR_STRING CurrentIpAddress;
-  IP_ADDR_STRING IpAddressList;
-  IP_ADDR_STRING GatewayList;
-  IP_ADDR_STRING DhcpServer;
-  BOOL HaveWins;
-  IP_ADDR_STRING PrimaryWinsServer;
-  IP_ADDR_STRING SecondaryWinsServer;
-  time_t LeaseObtained;
-  time_t LeaseExpires;
-} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
-typedef struct _IP_PER_ADAPTER_INFO {
-  UINT AutoconfigEnabled;
-  UINT AutoconfigActive;
-  PIP_ADDR_STRING CurrentDnsServer;
-  IP_ADDR_STRING DnsServerList;
-} IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO;
-typedef struct _FIXED_INFO {
-  char HostName[MAX_HOSTNAME_LEN+4] ;
-  char DomainName[MAX_DOMAIN_NAME_LEN+4];
-  PIP_ADDR_STRING CurrentDnsServer;
-  IP_ADDR_STRING DnsServerList;
-  UINT NodeType;
-  char ScopeId[MAX_SCOPE_ID_LEN+4];
-  UINT EnableRouting;
-  UINT EnableProxy;
-  UINT EnableDns;
-} FIXED_INFO, *PFIXED_INFO;
-#if (_WIN32_WINNT >= 0x0501) && defined(_WINSOCK2_H)
-typedef enum {
-  IfOperStatusUp = 1,
-  IfOperStatusDown,
-  IfOperStatusTesting,
-  IfOperStatusUnknown,
-  IfOperStatusDormant,
-  IfOperStatusNotPresent,
-  IfOperStatusLowerLayerDown
-} IF_OPER_STATUS;
-typedef enum {
-  IpDadStateInvalid = 0,
-  IpDadStateTentative,
-  IpDadStateDuplicate,
-  IpDadStateDeprecated,
-  IpDadStatePreferred
-} IP_DAD_STATE;
-typedef enum {
-  IpPrefixOriginOther = 0,
-  IpPrefixOriginManual,
-  IpPrefixOriginWellKnown,
-  IpPrefixOriginDhcp,
-  IpPrefixOriginRouterAdvertisement
-} IP_PREFIX_ORIGIN;
-typedef enum {
-  IpSuffixOriginOther = 0,
-  IpSuffixOriginManual,
-  IpSuffixOriginWellKnown,
-  IpSuffixOriginDhcp,
-  IpSuffixOriginLinkLayerAddress,
-  IpSuffixOriginRandom
-} IP_SUFFIX_ORIGIN;
-typedef enum {
-  ScopeLevelInterface = 1,
-  ScopeLevelLink = 2,
-  ScopeLevelSubnet = 3,
-  ScopeLevelAdmin = 4,
-  ScopeLevelSite = 5,
-  ScopeLevelOrganization = 8,
-  ScopeLevelGlobal = 14
-} SCOPE_LEVEL;
-typedef struct {
-  ULONG Index;
-  ULONG MediaType;
-  UCHAR ConnectionType;
-  UCHAR AccessType;
-  GUID DeviceGuid;
-  GUID InterfaceGuid;
-} IP_INTERFACE_NAME_INFO,*PIP_INTERFACE_NAME_INFO;
-typedef struct _IP_ADAPTER_ANYCAST_ADDRESS {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD Flags;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_ANYCAST_ADDRESS* Next;
-  SOCKET_ADDRESS Address;
-} IP_ADAPTER_ANYCAST_ADDRESS,*PIP_ADAPTER_ANYCAST_ADDRESS;
-typedef struct _IP_ADAPTER_MULTICAST_ADDRESS {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD Flags;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_MULTICAST_ADDRESS* Next;
-  SOCKET_ADDRESS Address;
-} IP_ADAPTER_MULTICAST_ADDRESS,*PIP_ADAPTER_MULTICAST_ADDRESS;
-typedef struct _IP_ADAPTER_UNICAST_ADDRESS {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD Flags;
-    }  DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_UNICAST_ADDRESS* Next;
-  SOCKET_ADDRESS Address;
-  IP_PREFIX_ORIGIN PrefixOrigin;
-  IP_SUFFIX_ORIGIN SuffixOrigin;
-  IP_DAD_STATE DadState;
-  ULONG ValidLifetime;
-  ULONG PreferredLifetime;
-  ULONG LeaseLifetime;
-} IP_ADAPTER_UNICAST_ADDRESS,*PIP_ADAPTER_UNICAST_ADDRESS;
-typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD Reserved;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_DNS_SERVER_ADDRESS* Next;
-  SOCKET_ADDRESS Address;
-} IP_ADAPTER_DNS_SERVER_ADDRESS,*PIP_ADAPTER_DNS_SERVER_ADDRESS;
-typedef struct _IP_ADAPTER_PREFIX {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD Flags;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_PREFIX* Next;
-  SOCKET_ADDRESS Address;
-  ULONG PrefixLength;
-} IP_ADAPTER_PREFIX,*PIP_ADAPTER_PREFIX;
-typedef struct _IP_ADAPTER_ADDRESSES {
-  _ANONYMOUS_UNION union {
-    ULONGLONG Alignment;
-    _ANONYMOUS_STRUCT struct {
-      ULONG Length;
-      DWORD IfIndex;
-    } DUMMYSTRUCTNAME;
-  } DUMMYUNIONNAME;
-  struct _IP_ADAPTER_ADDRESSES* Next;
-  PCHAR AdapterName;
-  PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress;
-  PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress;
-  PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress;
-  PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress;
-  PWCHAR DnsSuffix;
-  PWCHAR Description;
-  PWCHAR FriendlyName;
-  BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
-  DWORD PhysicalAddressLength;
-  DWORD Flags;
-  DWORD Mtu;
-  DWORD IfType;
-  IF_OPER_STATUS OperStatus;
-  DWORD Ipv6IfIndex;
-  DWORD ZoneIndices[16];
-  PIP_ADAPTER_PREFIX FirstPrefix;
-} IP_ADAPTER_ADDRESSES,*PIP_ADAPTER_ADDRESSES;
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPTYPES_H */
Index: Daodan/MinGW/include/ipxconst.h
===================================================================
--- Daodan/MinGW/include/ipxconst.h	(revision 1046)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/*
- * ipxconst.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _IPXCONST_H
-#define _IPXCONST_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Router Management Reference - Router Information Structures - IPX Information Structures */
-#if (_WIN32_WINNT >= 0x0500)
-#define ADMIN_STATE_DISABLED 0x00000001
-#define ADMIN_STATE_ENABLED 0x00000002
-#define ADMIN_STATE_ENABLED_ONLY_FOR_NETBIOS_STATIC_ROUTING 0x00000003
-#define ADMIN_STATE_ENABLED_ONLY_FOR_OPER_STATE_UP 0x00000004
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ipxrtdef.h
===================================================================
--- Daodan/MinGW/include/ipxrtdef.h	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/*
- * ipxrtdef.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _IPXRTDEF_H
-#define _IPXRTDEF_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <stm.h>
-#include <ipxconst.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Router Management Reference - Router Information Enumeration Types */
-#define IPX_INTERFACE_INFO_TYPE 0x0001
-#define IPX_STATIC_ROUTE_INFO_TYPE 0x0002
-#define IPX_STATIC_SERVICE_INFO_TYPE 0x0003
-#define IPX_SERVICE_FILTER_INFO_TYPE 0x0004
-#define IPX_ROUTE_FILTER_INFO_TYPE 0x0005
-#define IPX_IN_TRAFFIC_FILTER_INFO_TYPE 0x0006
-#define IPX_ADAPTER_INFO_TYPE 0x0007
-#define IPXWAN_INTERFACE_INFO_TYPE 0x0008
-#define IPX_GLOBAL_INFO_TYPE 0x0009
-#define IPX_STATIC_NETBIOS_NAME_INFO_TYPE 0x000A
-#define IPX_IN_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 0x000B
-#define IPX_OUT_TRAFFIC_FILTER_INFO_TYPE 0x000C
-#define IPX_OUT_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 0x000D
-/*--- Router Management Reference - Router Information Structures - IPX Information Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _IPX_IF_INFO {
-	ULONG AdminState;
-	ULONG NetbiosAccept;
-	ULONG NetbiosDeliver;
-} IPX_IF_INFO,*PIPX_IF_INFO;
-typedef IPX_SERVER_ENTRY IPX_STATIC_SERVICE_INFO,*PIPX_STATIC_SERVICE_INFO;
-typedef struct _IPXWAN_IF_INFO {
-	ULONG AdminState;
-} IPXWAN_IF_INFO,*PIPXWAN_IF_INFO;
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ipxtfflt.h
===================================================================
--- Daodan/MinGW/include/ipxtfflt.h	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-/*
- * ipxtfflt.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _IPXTFFLT_H
-#define _IPXTFFLT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Router Management Reference - Router Information Structures - IPX Information Structures */
-#if 0
-typedef struct {
-	???
-} IPX_TRAFFIC_FILTER_INFO,*PIPX_TRAFFIC_FILTER_INFO;
-typedef struct {
-	???
-} IPX_TRAFFIC_FILTER_GLOBAL_INFO,*PIPX_TRAFFIC_FILTER_GLOBAL_INFO;
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/isguids.h
===================================================================
--- Daodan/MinGW/include/isguids.h	(revision 1046)
+++ 	(revision )
@@ -1,15 +1,0 @@
-#ifndef _ISGUID_H
-#define _ISGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const GUID CLSID_InternetShortcut;
-extern const GUID IID_IUniformResourceLocator;
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ks.h
===================================================================
--- Daodan/MinGW/include/ks.h	(revision 1046)
+++ 	(revision )
@@ -1,20 +1,0 @@
-#ifndef _KS_H
-#define _KS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct {
-	ULONG Size;
-	ULONG Count;
-} KSMULTIPLE_ITEM,*PKSMULTIPLE_ITEM;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ksmedia.h
===================================================================
--- Daodan/MinGW/include/ksmedia.h	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-#ifndef _KSMEDIA_H
-#define _KSMEDIA_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types - CameraControlFlags Enumeration */
-#define KSPROPERTY_CAMERACONTROL_FLAGS_AUTO 0x0001L
-#define KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL 0x0002L
-#define KSPROPERTY_CAMERACONTROL_FLAGS_ABSOLUTE 0x0000L
-#define KSPROPERTY_CAMERACONTROL_FLAGS_RELATIVE 0x0010L
-/*--- DirectShow Reference - DirectShow Enumerated Types - VideoProcAmpFlags Enumeration */
-#define KSPROPERTY_VIDEOPROCAMP_FLAGS_AUTO 0X0001L
-#define KSPROPERTY_VIDEOPROCAMP_FLAGS_MANUAL 0X0002L
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/largeint.h
===================================================================
--- Daodan/MinGW/include/largeint.h	(revision 1046)
+++ 	(revision )
@@ -1,112 +1,0 @@
-/*
-  largeint.h
-
-  Header for 64 bit integer arithmetics library
-
- */
-#ifndef _LARGEINT_H
-#define _LARGEINT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _HAVE_INT64
-#define _toi (__int64)
-#define _toui (unsigned __int64)
-#else
-#error "64 bit integers not supported"
-#endif
-
-/*
-  We don't let the compiler see the prototypes if we are compiling the
-  library because if it does it will choke on conflicting types in the
-  prototypes.
-*/
-
-#if defined(LARGEINT_PROTOS) || defined(__COMPILING_LARGEINT)
-
-#ifndef __COMPILING_LARGEINT
-/* addition/subtraction */
-LARGE_INTEGER WINAPI LargeIntegerAdd (LARGE_INTEGER, LARGE_INTEGER);
-LARGE_INTEGER WINAPI LargeIntegerSubtract (LARGE_INTEGER, LARGE_INTEGER);
-
-/* bit operations */
-LARGE_INTEGER WINAPI LargeIntegerArithmeticShift (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerShiftLeft (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerShiftRight (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerNegate (LARGE_INTEGER);
-
-/* conversion */
-LARGE_INTEGER WINAPI ConvertLongToLargeInteger (LONG);
-LARGE_INTEGER WINAPI ConvertUlongToLargeInteger (ULONG);
-
-/* multiplication */
-LARGE_INTEGER WINAPI EnlargedIntegerMultiply (LONG, LONG);
-LARGE_INTEGER WINAPI EnlargedUnsignedMultiply (ULONG, ULONG);
-LARGE_INTEGER WINAPI ExtendedIntegerMultiply (LARGE_INTEGER, LONG);
-/* FIXME: is this not part of largeint? */
-LARGE_INTEGER WINAPI LargeIntegerMultiply (LARGE_INTEGER, LARGE_INTEGER);
-#endif /* __COMPILING_LARGEINT */
-
-#else
-
-#define LargeIntegerAdd(a,b) (LARGE_INTEGER)(_toi(a) + _toi(b))
-#define LargeIntegerSubtract(a,b) (LARGE_INTEGER)(_toi(a) - _toi(b))
-#define LargeIntegerRightShift(i,n) (LARGE_INTEGER)(_toi(i) >> (n))
-#define LargeIntegerArithmeticShift LargeIntegerRightShift
-#define LargeIntegerLeftShift(i,n) (LARGE_INTEGER)(_toi(i) << (n))
-#define LargeIntegerNegate(i) (LARGE_INTEGER)(- _toi(i))
-#define EnlargedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-#define EnlargedUnsignedMultiply(a,b) (LARGE_INTEGER)(_toui(a) * _toui(b))
-#define ExtendedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-/* FIXME: should this exist */
-#define LargeIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-#define ConvertLongToLargeInteger(l) (LARGE_INTEGER)(_toi(l))
-#define ConvertUlongToLargeInteger(ul) (LARGE_INTEGER)(_toui(ul))
-
-#endif /* LARGEINT_PROTOS || __COMPILING_LARGEINT */
-
-#ifndef __COMPILING_LARGEINT
-/* division; no macros of these because of multiple expansion */
-LARGE_INTEGER WINAPI LargeIntegerDivide (LARGE_INTEGER, LARGE_INTEGER, PLARGE_INTEGER);
-ULONG WINAPI EnlargedUnsignedDivide (ULARGE_INTEGER, ULONG, PULONG);
-LARGE_INTEGER WINAPI ExtendedLargeIntegerDivide (LARGE_INTEGER, ULONG, PULONG);
-LARGE_INTEGER WINAPI ExtendedMagicDivide (LARGE_INTEGER, LARGE_INTEGER, int);
-#endif /* __COMPILING_LARGEINT */
-
-#define LargeIntegerAnd(dest, src, m) \
-{ \
-  dest._STRUCT_NAME(u.)LowPart = s._STRUCT_NAME(u.)LowPart & m._STRUCT_NAME(u.)LowPart; \
-  dest._STRUCT_NAME(u.)HighPart = s._STRUCT_NAME(u.)HighPart & m._STRUCT_NAME(u.)HighPart; \
-}
-
-/* comparision */
-#define LargeIntegerGreaterThan(a,b) (_toi(a) > _toi(b))
-#define LargeIntegerGreaterThanOrEqual(a,b) (_toi(a) >= _toi(b))
-#define LargeIntegerEqualTo(a,b) (_toi(a) == _toi(b))
-#define LargeIntegerNotEqualTo(a,b) (_toi(a) != _toi(b))
-#define LargeIntegerLessThan(a,b) (_toi(a) < _toi(b))
-#define LargeIntegerLessThanOrEqualTo(a,b) (_toi(a) <= _toi(b))
-#define LargeIntegerGreaterThanZero(a) (_toi(a) > 0)
-#define LargeIntegerGreaterOrEqualToZero(a) ((a)._STRUCT_NAME(u.)HighPart > 0)
-#define LargeIntegerEqualToZero(a) !((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart)
-#define LargeIntegerNotEqualToZero(a) ((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart)
-#define LargeIntegerLessThanZero(a) ((a)._STRUCT_NAME(u.)HighPart < 0)
-#define LargeIntegerLessOrEqualToZero(a) (_toi(a) <= 0)
-
-#ifndef __COMPILING_LARGEINT
-#undef _toi
-#undef _toui
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _LARGEINT_H */
Index: Daodan/MinGW/include/libgen.h
===================================================================
--- Daodan/MinGW/include/libgen.h	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#ifndef _LIBGEN_H_
-/*
- * libgen.h
- *
- * Functions for splitting pathnames into dirname and basename components.
- *
- * $Id: libgen.h,v 916f43b3e665 2014/11/08 23:54:51 keithmarshall $
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2006, 2007, 2014, 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.
- *
- */
-#define _LIBGEN_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-_BEGIN_C_DECLS
-
-extern __cdecl __MINGW_NOTHROW char *basename (char *);
-extern __cdecl __MINGW_NOTHROW char *dirname  (char *);
-
-extern __cdecl __MINGW_NOTHROW char *__mingw_basename (char *);
-extern __cdecl __MINGW_NOTHROW char *__mingw_dirname  (char *);
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = basename ))
-__cdecl char *basename (char *__path){ return __mingw_basename (__path); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = dirname ))
-__cdecl char *dirname (char *__path){ return __mingw_dirname (__path); }
-
-_END_C_DECLS
-
-#endif	/* _LIBGEN_H_: end of file */
Index: Daodan/MinGW/include/limits.h
===================================================================
--- Daodan/MinGW/include/limits.h	(revision 1046)
+++ 	(revision )
@@ -1,115 +1,0 @@
-/*
- * limits.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Functions for manipulating paths and directories (included from io.h)
- * plus functions for setting the current drive.
- *
- * Defines constants for the sizes of integral types.
- *
- * NOTE: GCC should supply a version of this header and it should be safe to
- *       use that version instead of this one (maybe safer).
- *
- */
-
-#ifndef _LIMITS_H_
-#define _LIMITS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * File system limits
- *
- * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the
- *       same as FILENAME_MAX and FOPEN_MAX from stdio.h?
- * NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two
- *       are semantically identical, with a limit of 259 characters for the
- *       path name, plus one for a terminating NUL, for a total of 260.
- */
-#ifndef __STRICT_ANSI__
-# define PATH_MAX	260
-#endif
-
-/*
- * Characteristics of the char data type.
- *
- * TODO: Is MB_LEN_MAX correct?
- */
-#define CHAR_BIT	8
-#define MB_LEN_MAX	2
-
-#define SCHAR_MIN	(-128)
-#define SCHAR_MAX	127
-
-#define UCHAR_MAX	255
-
-/* TODO: Is this safe? I think it might just be testing the preprocessor,
- *       not the compiler itself... */
-#if	('\x80' < 0)
-#define CHAR_MIN	SCHAR_MIN
-#define CHAR_MAX	SCHAR_MAX
-#else
-#define CHAR_MIN	0
-#define CHAR_MAX	UCHAR_MAX
-#endif
-
-/*
- * Maximum and minimum values for ints.
- */
-#define INT_MAX		2147483647
-#define INT_MIN		(-INT_MAX-1)
-
-#define UINT_MAX	0xffffffff
-
-/*
- * Maximum and minimum values for shorts.
- */
-#define SHRT_MAX	32767
-#define SHRT_MIN	(-SHRT_MAX-1)
-
-#define USHRT_MAX	0xffff
-
-/*
- * Maximum and minimum values for longs and unsigned longs.
- *
- * TODO: This is not correct for Alphas, which have 64 bit longs.
- */
-#define LONG_MAX	2147483647L
-#define LONG_MIN	(-LONG_MAX-1)
-
-#define ULONG_MAX	0xffffffffUL
-
-#ifndef __STRICT_ANSI__
-/* POSIX wants this.  */
-#define SSIZE_MAX LONG_MAX
-#endif
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
-     || !defined(__STRICT_ANSI__)
-/* ISO C9x macro names */
-#define LLONG_MAX 9223372036854775807LL
-#define LLONG_MIN (-LLONG_MAX - 1)
-#define ULLONG_MAX (2ULL * LLONG_MAX + 1)
-#endif
-
-/*
- * The GNU C compiler also allows 'long long int'
- */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-
-#define LONG_LONG_MAX	9223372036854775807LL
-#define LONG_LONG_MIN	(-LONG_LONG_MAX-1)
-#define ULONG_LONG_MAX	(2ULL * LONG_LONG_MAX + 1)
-
-/* MSVC compatibility */
-#define _I64_MIN LONG_LONG_MIN
-#define _I64_MAX LONG_LONG_MAX
-#define _UI64_MAX ULONG_LONG_MAX
-
-#endif /* Not Strict ANSI and GNU C compiler */
-
-
-#endif /* not _LIMITS_H_ */
Index: Daodan/MinGW/include/lm.h
===================================================================
--- Daodan/MinGW/include/lm.h	(revision 1046)
+++ 	(revision )
@@ -1,27 +1,0 @@
-#ifndef _LM_H
-#define _LM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <lmcons.h>
-#include <lmaccess.h>
-#include <lmalert.h>
-#include <lmat.h>
-#include <lmaudit.h>
-#include <lmchdev.h>
-#include <lmconfig.h>
-#include <lmerr.h>
-#include <lmmsg.h>
-#include <lmshare.h>
-#include <lmapibuf.h>
-#include <lmremutl.h>
-#include <lmrepl.h>
-#include <lmuse.h>
-#include <lmerrlog.h>
-#include <lmsvc.h>
-#include <lmwksta.h>
-#include <lmserver.h>
-#include <lmstats.h>
-
-#endif
Index: Daodan/MinGW/include/lmaccess.h
===================================================================
--- Daodan/MinGW/include/lmaccess.h	(revision 1046)
+++ 	(revision )
@@ -1,654 +1,0 @@
-#ifndef _LMACCESS_H
-#define _LMACCESS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmcons.h>
-#define GROUP_SPECIALGRP_USERS L"USERS"
-#define GROUP_SPECIALGRP_ADMINS L"ADMINS"
-#define GROUP_SPECIALGRP_GUESTS L"GUESTS"
-#define GROUP_SPECIALGRP_LOCAL L"LOCAL"
-#define ACCESS_LETTERS "RWCXDAP "
-#define NETLOGON_CONTROL_QUERY 1
-#define NETLOGON_CONTROL_REPLICATE 2
-#define NETLOGON_CONTROL_SYNCHRONIZE 3
-#define NETLOGON_CONTROL_PDC_REPLICATE 4
-#define NETLOGON_CONTROL_REDISCOVER 5
-#define NETLOGON_CONTROL_TC_QUERY 6
-#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG 65532
-#define NETLOGON_CONTROL_TRUNCATE_LOG 65533
-#define NETLOGON_CONTROL_SET_DBFLAG 65534
-#define NETLOGON_CONTROL_BREAKPOINT 65535
-#define UF_SCRIPT 1
-#define UF_ACCOUNTDISABLE 2
-#define UF_HOMEDIR_REQUIRED 8
-#define UF_LOCKOUT 16
-#define UF_PASSWD_NOTREQD 32
-#define UF_PASSWD_CANT_CHANGE 64
-#define UF_TEMP_DUPLICATE_ACCOUNT 256
-#define UF_NORMAL_ACCOUNT 512
-#define UF_INTERDOMAIN_TRUST_ACCOUNT 2048
-#define UF_WORKSTATION_TRUST_ACCOUNT 4096
-#define UF_SERVER_TRUST_ACCOUNT 8192
-#define UF_MNS_LOGON_ACCOUNT 131072
-#define UF_MACHINE_ACCOUNT_MASK (UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
-#define UF_ACCOUNT_TYPE_MASK (UF_TEMP_DUPLICATE_ACCOUNT|UF_NORMAL_ACCOUNT|UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
-#define UF_DONT_EXPIRE_PASSWD 65536
-#define UF_SETTABLE_BITS (UF_SCRIPT|UF_ACCOUNTDISABLE|UF_LOCKOUT|UF_HOMEDIR_REQUIRED|UF_PASSWD_NOTREQD|UF_PASSWD_CANT_CHANGE|UF_ACCOUNT_TYPE_MASK|UF_DONT_EXPIRE_PASSWD)
-#define FILTER_TEMP_DUPLICATE_ACCOUNT 1
-#define FILTER_NORMAL_ACCOUNT 2
-#define FILTER_INTERDOMAIN_TRUST_ACCOUNT 8
-#define FILTER_WORKSTATION_TRUST_ACCOUNT 16
-#define FILTER_SERVER_TRUST_ACCOUNT 32
-#define LG_INCLUDE_INDIRECT 1
-#define AF_OP_PRINT 1
-#define AF_OP_COMM 2
-#define AF_OP_SERVER 4
-#define AF_OP_ACCOUNTS 8
-#define AF_SETTABLE_BITS (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS)
-#define UAS_ROLE_STANDALONE 0
-#define UAS_ROLE_MEMBER 1
-#define UAS_ROLE_BACKUP 2
-#define UAS_ROLE_PRIMARY 3
-#define USER_NAME_PARMNUM 1
-#define USER_PASSWORD_PARMNUM 3
-#define USER_PASSWORD_AGE_PARMNUM 4
-#define USER_PRIV_PARMNUM 5
-#define USER_HOME_DIR_PARMNUM 6
-#define USER_COMMENT_PARMNUM 7
-#define USER_FLAGS_PARMNUM 8
-#define USER_SCRIPT_PATH_PARMNUM 9
-#define USER_AUTH_FLAGS_PARMNUM 10
-#define USER_FULL_NAME_PARMNUM 11
-#define USER_USR_COMMENT_PARMNUM 12
-#define USER_PARMS_PARMNUM 13
-#define USER_WORKSTATIONS_PARMNUM 14
-#define USER_LAST_LOGON_PARMNUM 15
-#define USER_LAST_LOGOFF_PARMNUM 16
-#define USER_ACCT_EXPIRES_PARMNUM 17
-#define USER_MAX_STORAGE_PARMNUM 18
-#define USER_UNITS_PER_WEEK_PARMNUM 19
-#define USER_LOGON_HOURS_PARMNUM 20
-#define USER_PAD_PW_COUNT_PARMNUM 21
-#define USER_NUM_LOGONS_PARMNUM 22
-#define USER_LOGON_SERVER_PARMNUM 23
-#define USER_COUNTRY_CODE_PARMNUM 24
-#define USER_CODE_PAGE_PARMNUM 25
-#define USER_PRIMARY_GROUP_PARMNUM 51
-#define USER_PROFILE 52
-#define USER_PROFILE_PARMNUM 52
-#define USER_HOME_DIR_DRIVE_PARMNUM 53
-#define USER_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM)
-#define USER_PASSWORD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM)
-#define USER_PASSWORD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM)
-#define USER_PRIV_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM)
-#define USER_HOME_DIR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM)
-#define USER_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM)
-#define USER_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM)
-#define USER_SCRIPT_PATH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM)
-#define USER_AUTH_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM)
-#define USER_FULL_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM)
-#define USER_USR_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM)
-#define USER_PARMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM)
-#define USER_WORKSTATIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM)
-#define USER_LAST_LOGON_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM)
-#define USER_LAST_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM)
-#define USER_ACCT_EXPIRES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM)
-#define USER_MAX_STORAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM)
-#define USER_UNITS_PER_WEEK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM)
-#define USER_LOGON_HOURS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM)
-#define USER_PAD_PW_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM)
-#define USER_NUM_LOGONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM)
-#define USER_LOGON_SERVER_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM)
-#define USER_COUNTRY_CODE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM)
-#define USER_CODE_PAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM)
-#define USER_PRIMARY_GROUP_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM)
-#define USER_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM)
-#define USER_HOME_DIR_DRIVE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM)
-#define NULL_USERSETINFO_PASSWD " "
-#define TIMEQ_FOREVER ((ULONG)-1)
-#define USER_MAXSTORAGE_UNLIMITED ((ULONG)-1)
-#define USER_NO_LOGOFF ((ULONG)-1L)
-#define UNITS_PER_DAY 24
-#define UNITS_PER_WEEK  168
-#define USER_PRIV_MASK 3
-#define USER_PRIV_GUEST 0
-#define USER_PRIV_USER 1
-#define USER_PRIV_ADMIN 2
-#define MAX_PASSWD_LEN PWLEN
-#define DEF_MIN_PWLEN 6
-#define DEF_PWUNIQUENESS 5
-#define DEF_MAX_PWHIST 8
-#define DEF_MAX_PWAGE TIMEQ_FOREVER
-#define DEF_MIN_PWAGE 0
-#define DEF_FORCE_LOGOFF (ULONG)0xffffffff
-#define DEF_MAX_BADPW 0
-#define ONE_DAY 86400
-#define VALIDATED_LOGON 0
-#define PASSWORD_EXPIRED 2
-#define NON_VALIDATED_LOGON 3
-#define VALID_LOGOFF 1
-#define MODALS_MIN_PASSWD_LEN_PARMNUM 1
-#define MODALS_MAX_PASSWD_AGE_PARMNUM 2
-#define MODALS_MIN_PASSWD_AGE_PARMNUM 3
-#define MODALS_FORCE_LOGOFF_PARMNUM 4
-#define MODALS_PASSWD_HIST_LEN_PARMNUM 5
-#define MODALS_ROLE_PARMNUM 6
-#define MODALS_PRIMARY_PARMNUM 7
-#define MODALS_DOMAIN_NAME_PARMNUM 8
-#define MODALS_DOMAIN_ID_PARMNUM 9
-#define MODALS_LOCKOUT_DURATION_PARMNUM 10
-#define MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM 11
-#define MODALS_LOCKOUT_THRESHOLD_PARMNUM 12
-#define MODALS_MIN_PASSWD_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM)
-#define MODALS_MAX_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM)
-#define MODALS_MIN_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM)
-#define MODALS_FORCE_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM)
-#define MODALS_PASSWD_HIST_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM)
-#define MODALS_ROLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM)
-#define MODALS_PRIMARY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM)
-#define MODALS_DOMAIN_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM)
-#define MODALS_DOMAIN_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM)
-#define GROUPIDMASK 0x8000
-#define GROUP_ALL_PARMNUM 0
-#define GROUP_NAME_PARMNUM 1
-#define GROUP_COMMENT_PARMNUM 2
-#define GROUP_ATTRIBUTES_PARMNUM 3
-#define GROUP_ALL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ALL_PARMNUM)
-#define GROUP_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_NAME_PARMNUM)
-#define GROUP_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_COMMENT_PARMNUM)
-#define GROUP_ATTRIBUTES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ATTRIBUTES_PARMNUM)
-#define GROUP_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_POSIX_ID_PARMNUM)
-#define LOCALGROUP_NAME_PARMNUM 1
-#define LOCALGROUP_COMMENT_PARMNUM 2
-#define MAXPERMENTRIES 64
-#define ACCESS_NONE 0
-#define ACCESS_ALL (ACCESS_READ|ACCESS_WRITE|ACCESS_CREATE|ACCESS_EXEC|ACCESS_DELETE|ACCESS_ATRIB|ACCESS_PERM)
-#define ACCESS_READ 1
-#define ACCESS_WRITE 2
-#define ACCESS_CREATE 4
-#define ACCESS_EXEC 8
-#define ACCESS_DELETE 16
-#define ACCESS_ATRIB 32
-#define ACCESS_PERM 64
-#define ACCESS_GROUP 0x8000
-#define ACCESS_AUDIT 1
-#define ACCESS_SUCCESS_OPEN 16
-#define ACCESS_SUCCESS_WRITE 32
-#define ACCESS_SUCCESS_DELETE 64
-#define ACCESS_SUCCESS_ACL 128
-#define ACCESS_SUCCESS_MASK 240
-#define ACCESS_FAIL_OPEN 256
-#define ACCESS_FAIL_WRITE 512
-#define ACCESS_FAIL_DELETE 1024
-#define ACCESS_FAIL_ACL 2048
-#define ACCESS_FAIL_MASK 3840
-#define ACCESS_FAIL_SHIFT 4
-#define ACCESS_RESOURCE_NAME_PARMNUM 1
-#define ACCESS_ATTR_PARMNUM 2
-#define ACCESS_COUNT_PARMNUM 3
-#define ACCESS_ACCESS_LIST_PARMNUM 4
-#define ACCESS_RESOURCE_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM)
-#define ACCESS_ATTR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM)
-#define ACCESS_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM)
-#define ACCESS_ACCESS_LIST_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM)
-#define NETLOGON_REPLICATION_NEEDED 1
-#define NETLOGON_REPLICATION_IN_PROGRESS 2
-#define NETLOGON_FULL_SYNC_REPLICATION 4
-#define NETLOGON_REDO_NEEDED 8
-
-typedef struct _USER_INFO_0 { LPWSTR usri0_name; }USER_INFO_0,*PUSER_INFO_0,*LPUSER_INFO_0;
-typedef struct _USER_INFO_1 {
-	LPWSTR usri1_name;
-	LPWSTR usri1_password;
-	DWORD usri1_password_age;
-	DWORD usri1_priv;
-	LPWSTR usri1_home_dir;
-	LPWSTR usri1_comment;
-	DWORD usri1_flags;
-	LPWSTR usri1_script_path;
-}USER_INFO_1,*PUSER_INFO_1,*LPUSER_INFO_1;
-typedef struct _USER_INFO_2 {
-	LPWSTR usri2_name;
-	LPWSTR usri2_password;
-	DWORD usri2_password_age;
-	DWORD usri2_priv;
-	LPWSTR usri2_home_dir;
-	LPWSTR usri2_comment;
-	DWORD usri2_flags;
-	LPWSTR usri2_script_path;
-	DWORD usri2_auth_flags;
-	LPWSTR usri2_full_name;
-	LPWSTR usri2_usr_comment;
-	LPWSTR usri2_parms;
-	LPWSTR usri2_workstations;
-	DWORD usri2_last_logon;
-	DWORD usri2_last_logoff;
-	DWORD usri2_acct_expires;
-	DWORD usri2_max_storage;
-	DWORD usri2_units_per_week;
-	PBYTE usri2_logon_hours;
-	DWORD usri2_bad_pw_count;
-	DWORD usri2_num_logons;
-	LPWSTR usri2_logon_server;
-	DWORD usri2_country_code;
-	DWORD usri2_code_page;
-}USER_INFO_2,*PUSER_INFO_2,*LPUSER_INFO_2;
-typedef struct _USER_INFO_3 {
-	LPWSTR usri3_name;
-	LPWSTR usri3_password;
-	DWORD usri3_password_age;
-	DWORD usri3_priv;
-	LPWSTR usri3_home_dir;
-	LPWSTR usri3_comment;
-	DWORD usri3_flags;
-	LPWSTR usri3_script_path;
-	DWORD usri3_auth_flags;
-	LPWSTR usri3_full_name;
-	LPWSTR usri3_usr_comment;
-	LPWSTR usri3_parms;
-	LPWSTR usri3_workstations;
-	DWORD usri3_last_logon;
-	DWORD usri3_last_logoff;
-	DWORD usri3_acct_expires;
-	DWORD usri3_max_storage;
-	DWORD usri3_units_per_week;
-	PBYTE usri3_logon_hours;
-	DWORD usri3_bad_pw_count;
-	DWORD usri3_num_logons;
-	LPWSTR usri3_logon_server;
-	DWORD usri3_country_code;
-	DWORD usri3_code_page;
-	DWORD usri3_user_id;
-	DWORD usri3_primary_group_id;
-	LPWSTR usri3_profile;
-	LPWSTR usri3_home_dir_drive;
-	DWORD usri3_password_expired;
-}USER_INFO_3,*PUSER_INFO_3,*LPUSER_INFO_3;
-typedef struct _USER_INFO_4 {
-	LPWSTR usri4_name;
-	LPWSTR usri4_password;
-	DWORD usri4_password_age;
-	DWORD usri4_priv;
-	LPWSTR usri4_home_dir;
-	LPWSTR usri4_comment;
-	DWORD usri4_flags;
-	LPWSTR usri4_script_path;
-	DWORD usri4_auth_flags;
-	LPWSTR usri4_full_name;
-	LPWSTR usri4_usr_comment;
-	LPWSTR usri4_parms;
-	LPWSTR usri4_workstations;
-	DWORD usri4_last_logon;
-	DWORD usri4_last_logoff;
-	DWORD usri4_acct_expires;
-	DWORD usri4_max_storage;
-	DWORD usri4_units_per_week;
-	PBYTE usri4_logon_hours;
-	DWORD usri4_bad_pw_count;
-	DWORD usri4_num_logons;
-	LPWSTR usri4_logon_server;
-	DWORD usri4_country_code;
-	DWORD usri4_code_page;
-	PSID usri4_user_sid;
-	DWORD usri4_primary_group_id;
-	LPWSTR usri4_profile;
-	LPWSTR usri4_home_dir_drive;
-	DWORD usri4_password_expired;
-}USER_INFO_4,*PUSER_INFO_4,*LPUSER_INFO_4;
-typedef struct _USER_INFO_10 {
-	LPWSTR usri10_name;
-	LPWSTR usri10_comment;
-	LPWSTR usri10_usr_comment;
-	LPWSTR usri10_full_name;
-}USER_INFO_10,*PUSER_INFO_10,*LPUSER_INFO_10;
-typedef struct _USER_INFO_11 {
-	LPWSTR usri11_name;
-	LPWSTR usri11_comment;
-	LPWSTR usri11_usr_comment;
-	LPWSTR usri11_full_name;
-	DWORD usri11_priv;
-	DWORD usri11_auth_flags;
-	DWORD usri11_password_age;
-	LPWSTR usri11_home_dir;
-	LPWSTR usri11_parms;
-	DWORD usri11_last_logon;
-	DWORD usri11_last_logoff;
-	DWORD usri11_bad_pw_count;
-	DWORD usri11_num_logons;
-	LPWSTR usri11_logon_server;
-	DWORD usri11_country_code;
-	LPWSTR usri11_workstations;
-	DWORD usri11_max_storage;
-	DWORD usri11_units_per_week;
-	PBYTE usri11_logon_hours;
-	DWORD usri11_code_page;
-}USER_INFO_11,*PUSER_INFO_11,*LPUSER_INFO_11;
-typedef struct _USER_INFO_20 {
-	LPWSTR usri20_name;
-	LPWSTR usri20_full_name;
-	LPWSTR usri20_comment;
-	DWORD usri20_flags;
-	DWORD usri20_user_id;
-}USER_INFO_20,*PUSER_INFO_20,*LPUSER_INFO_20;
-typedef struct _USER_INFO_21 {
-	BYTE usri21_password[ENCRYPTED_PWLEN];
-}USER_INFO_21,*PUSER_INFO_21,*LPUSER_INFO_21;
-typedef struct _USER_INFO_22 {
-	LPWSTR usri22_name;
-	BYTE usri22_password[ENCRYPTED_PWLEN];
-	DWORD usri22_password_age;
-	DWORD usri22_priv;
-	LPWSTR usri22_home_dir;
-	LPWSTR usri22_comment;
-	DWORD usri22_flags;
-	LPWSTR usri22_script_path;
-	DWORD usri22_auth_flags;
-	LPWSTR usri22_full_name;
-	LPWSTR usri22_usr_comment;
-	LPWSTR usri22_parms;
-	LPWSTR usri22_workstations;
-	DWORD usri22_last_logon;
-	DWORD usri22_last_logoff;
-	DWORD usri22_acct_expires;
-	DWORD usri22_max_storage;
-	DWORD usri22_units_per_week;
-	PBYTE usri22_logon_hours;
-	DWORD usri22_bad_pw_count;
-	DWORD usri22_num_logons;
-	LPWSTR usri22_logon_server;
-	DWORD usri22_country_code;
-	DWORD usri22_code_page;
-}USER_INFO_22,*PUSER_INFO_22,*LPUSER_INFO_22;
-typedef struct _USER_INFO_23 {
-	LPWSTR usri23_name;
-	LPWSTR usri23_full_name;
-	LPWSTR usri23_comment;
-	DWORD usri23_flags;
-	PSID usri23_user_sid;
-}USER_INFO_23,*PUSER_INFO_23,*LPUSER_INFO_23;
-typedef struct _USER_INFO_1003 {
-	LPWSTR usri1003_password;
-} USER_INFO_1003,*PUSER_INFO_1003,*LPUSER_INFO_1003;
-typedef struct _USER_INFO_1005 {
-	DWORD usri1005_priv;
-} USER_INFO_1005,*PUSER_INFO_1005,*LPUSER_INFO_1005;
-typedef struct _USER_INFO_1006 {
-	LPWSTR usri1006_home_dir;
-} USER_INFO_1006,*PUSER_INFO_1006,*LPUSER_INFO_1006;
-typedef struct _USER_INFO_1007 {
-	LPWSTR usri1007_comment;
-} USER_INFO_1007,*PUSER_INFO_1007,*LPUSER_INFO_1007;
-typedef struct _USER_INFO_1008 {
-	DWORD usri1008_flags;
-} USER_INFO_1008,*PUSER_INFO_1008,*LPUSER_INFO_1008;
-typedef struct _USER_INFO_1009 {
-	LPWSTR usri1009_script_path;
-} USER_INFO_1009,*PUSER_INFO_1009,*LPUSER_INFO_1009;
-typedef struct _USER_INFO_1010 {
-	DWORD usri1010_auth_flags;
-} USER_INFO_1010,*PUSER_INFO_1010,*LPUSER_INFO_1010;
-typedef struct _USER_INFO_1011 {
-	LPWSTR usri1011_full_name;
-} USER_INFO_1011,*PUSER_INFO_1011,*LPUSER_INFO_1011;
-typedef struct _USER_INFO_1012 {
-	LPWSTR usri1012_usr_comment;
-} USER_INFO_1012,*PUSER_INFO_1012,*LPUSER_INFO_1012;
-typedef struct _USER_INFO_1013 {
-	LPWSTR usri1013_parms;
-} USER_INFO_1013,*PUSER_INFO_1013,*LPUSER_INFO_1013;
-typedef struct _USER_INFO_1014 {
-	LPWSTR usri1014_workstations;
-} USER_INFO_1014,*PUSER_INFO_1014,*LPUSER_INFO_1014;
-typedef struct _USER_INFO_1017 {
-	DWORD usri1017_acct_expires;
-} USER_INFO_1017,*PUSER_INFO_1017,*LPUSER_INFO_1017;
-typedef struct _USER_INFO_1018 {
-	DWORD usri1018_max_storage;
-} USER_INFO_1018,*PUSER_INFO_1018,*LPUSER_INFO_1018;
-typedef struct _USER_INFO_1020 {
-	DWORD usri1020_units_per_week;
-	PBYTE usri1020_logon_hours;
-} USER_INFO_1020,*PUSER_INFO_1020,*LPUSER_INFO_1020;
-typedef struct _USER_INFO_1023 {
-	LPWSTR usri1023_logon_server;
-} USER_INFO_1023,*PUSER_INFO_1023,*LPUSER_INFO_1023;
-typedef struct _USER_INFO_1024 {
-	DWORD usri1024_country_code;
-} USER_INFO_1024,*PUSER_INFO_1024,*LPUSER_INFO_1024;
-typedef struct _USER_INFO_1025 {
-	DWORD usri1025_code_page;
-} USER_INFO_1025,*PUSER_INFO_1025,*LPUSER_INFO_1025;
-typedef struct _USER_INFO_1051 {
-	DWORD usri1051_primary_group_id;
-} USER_INFO_1051,*PUSER_INFO_1051,*LPUSER_INFO_1051;
-typedef struct _USER_INFO_1052 {
-	LPWSTR usri1052_profile;
-} USER_INFO_1052,*PUSER_INFO_1052,*LPUSER_INFO_1052;
-typedef struct _USER_INFO_1053 {
-	LPWSTR usri1053_home_dir_drive;
-} USER_INFO_1053,*PUSER_INFO_1053,*LPUSER_INFO_1053;
-typedef struct _USER_MODALS_INFO_0 {
-	DWORD usrmod0_min_passwd_len;
-	DWORD usrmod0_max_passwd_age;
-	DWORD usrmod0_min_passwd_age;
-	DWORD usrmod0_force_logoff;
-	DWORD usrmod0_password_hist_len;
-}USER_MODALS_INFO_0,*PUSER_MODALS_INFO_0,*LPUSER_MODALS_INFO_0;
-typedef struct _USER_MODALS_INFO_1 {
-	DWORD usrmod1_role;
-	LPWSTR usrmod1_primary;
-}USER_MODALS_INFO_1,*PUSER_MODALS_INFO_1,*LPUSER_MODALS_INFO_1;
-typedef struct _USER_MODALS_INFO_2 {
-	LPWSTR usrmod2_domain_name;
-	PSID usrmod2_domain_id;
-}USER_MODALS_INFO_2,*PUSER_MODALS_INFO_2,*LPUSER_MODALS_INFO_2;
-typedef struct _USER_MODALS_INFO_3 {
-	DWORD usrmod3_lockout_duration;
-	DWORD usrmod3_lockout_observation_window;
-	DWORD usrmod3_lockout_threshold;
-}USER_MODALS_INFO_3,*PUSER_MODALS_INFO_3,*LPUSER_MODALS_INFO_3;
-typedef struct _USER_MODALS_INFO_1001 {
-	DWORD usrmod1001_min_passwd_len;
-} USER_MODALS_INFO_1001,*PUSER_MODALS_INFO_1001,*LPUSER_MODALS_INFO_1001;
-typedef struct _USER_MODALS_INFO_1002 {
-	DWORD usrmod1002_max_passwd_age;
-} USER_MODALS_INFO_1002,*PUSER_MODALS_INFO_1002,*LPUSER_MODALS_INFO_1002;
-typedef struct _USER_MODALS_INFO_1003 {
-	DWORD usrmod1003_min_passwd_age;
-} USER_MODALS_INFO_1003,*PUSER_MODALS_INFO_1003,*LPUSER_MODALS_INFO_1003;
-typedef struct _USER_MODALS_INFO_1004 {
-	DWORD usrmod1004_force_logoff;
-} USER_MODALS_INFO_1004,*PUSER_MODALS_INFO_1004,*LPUSER_MODALS_INFO_1004;
-typedef struct _USER_MODALS_INFO_1005 {
-	DWORD usrmod1005_password_hist_len;
-} USER_MODALS_INFO_1005,*PUSER_MODALS_INFO_1005,*LPUSER_MODALS_INFO_1005;
-typedef struct _USER_MODALS_INFO_1006 {
-	DWORD usrmod1006_role;
-} USER_MODALS_INFO_1006,*PUSER_MODALS_INFO_1006,*LPUSER_MODALS_INFO_1006;
-typedef struct _USER_MODALS_INFO_1007 {
-	LPWSTR usrmod1007_primary;
-} USER_MODALS_INFO_1007,*PUSER_MODALS_INFO_1007,*LPUSER_MODALS_INFO_1007;
-typedef struct _GROUP_INFO_0 {
-	LPWSTR grpi0_name;
-}GROUP_INFO_0,*PGROUP_INFO_0,*LPGROUP_INFO_0;
-typedef struct _GROUP_INFO_1 {
-	LPWSTR grpi1_name;
-	LPWSTR grpi1_comment;
-}GROUP_INFO_1,*PGROUP_INFO_1,*LPGROUP_INFO_1;
-typedef struct _GROUP_INFO_2 {
-	LPWSTR grpi2_name;
-	LPWSTR grpi2_comment;
-	DWORD grpi2_group_id;
-	DWORD grpi2_attributes;
-}GROUP_INFO_2,*PGROUP_INFO_2;
-typedef struct _GROUP_INFO_3 {
-	LPWSTR grpi3_name;
-	LPWSTR grpi3_comment;
-	PSID grpi3_group_sid;
-	DWORD grpi3_attributes;
-}GROUP_INFO_3,*PGROUP_INFO_3;
-typedef struct _GROUP_INFO_1002 {
-	LPWSTR grpi1002_comment;
-} GROUP_INFO_1002,*PGROUP_INFO_1002,*LPGROUP_INFO_1002;
-typedef struct _GROUP_INFO_1005 {
-	DWORD grpi1005_attributes;
-} GROUP_INFO_1005,*PGROUP_INFO_1005,*LPGROUP_INFO_1005;
-typedef struct _GROUP_USERS_INFO_0 {
-	LPWSTR grui0_name;
-} GROUP_USERS_INFO_0,*PGROUP_USERS_INFO_0,*LPGROUP_USERS_INFO_0;
-typedef struct _GROUP_USERS_INFO_1 {
-	LPWSTR grui1_name;
-	DWORD grui1_attributes;
-} GROUP_USERS_INFO_1,*PGROUP_USERS_INFO_1,*LPGROUP_USERS_INFO_1;
-typedef struct _LOCALGROUP_INFO_0 {
-	LPWSTR lgrpi0_name;
-}LOCALGROUP_INFO_0,*PLOCALGROUP_INFO_0,*LPLOCALGROUP_INFO_0;
-typedef struct _LOCALGROUP_INFO_1 {
-	LPWSTR lgrpi1_name;
-	LPWSTR lgrpi1_comment;
-}LOCALGROUP_INFO_1,*PLOCALGROUP_INFO_1,*LPLOCALGROUP_INFO_1;
-typedef struct _LOCALGROUP_INFO_1002 {
-	LPWSTR lgrpi1002_comment;
-}LOCALGROUP_INFO_1002,*PLOCALGROUP_INFO_1002,*LPLOCALGROUP_INFO_1002;
-typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
-	PSID lgrmi0_sid;
-} LOCALGROUP_MEMBERS_INFO_0,*PLOCALGROUP_MEMBERS_INFO_0,*LPLOCALGROUP_MEMBERS_INFO_0;
-typedef struct _LOCALGROUP_MEMBERS_INFO_1 {
-	PSID lgrmi1_sid;
-	SID_NAME_USE lgrmi1_sidusage;
-	LPWSTR lgrmi1_name;
-} LOCALGROUP_MEMBERS_INFO_1,*PLOCALGROUP_MEMBERS_INFO_1,*LPLOCALGROUP_MEMBERS_INFO_1;
-typedef struct _LOCALGROUP_MEMBERS_INFO_2 {
-	PSID lgrmi2_sid;
-	SID_NAME_USE lgrmi2_sidusage;
-	LPWSTR lgrmi2_domainandname;
-} LOCALGROUP_MEMBERS_INFO_2,*PLOCALGROUP_MEMBERS_INFO_2,*LPLOCALGROUP_MEMBERS_INFO_2;
-typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
-	LPWSTR lgrmi3_domainandname;
-} LOCALGROUP_MEMBERS_INFO_3,*PLOCALGROUP_MEMBERS_INFO_3,
-*LPLOCALGROUP_MEMBERS_INFO_3;
-typedef struct _LOCALGROUP_USERS_INFO_0 {
-	LPWSTR lgrui0_name;
-} LOCALGROUP_USERS_INFO_0,*PLOCALGROUP_USERS_INFO_0,*LPLOCALGROUP_USERS_INFO_0;
-typedef struct _NET_DISPLAY_USER {
-	LPWSTR usri1_name;
-	LPWSTR usri1_comment;
-	DWORD usri1_flags;
-	LPWSTR usri1_full_name;
-	DWORD usri1_user_id;
-	DWORD usri1_next_index;
-} NET_DISPLAY_USER,*PNET_DISPLAY_USER;
-typedef struct _NET_DISPLAY_MACHINE {
-	LPWSTR usri2_name;
-	LPWSTR usri2_comment;
-	DWORD usri2_flags;
-	DWORD usri2_user_id;
-	DWORD usri2_next_index;
-} NET_DISPLAY_MACHINE,*PNET_DISPLAY_MACHINE;
-typedef struct _NET_DISPLAY_GROUP {
-	LPWSTR grpi3_name;
-	LPWSTR grpi3_comment;
-	DWORD grpi3_group_id;
-	DWORD grpi3_attributes;
-	DWORD grpi3_next_index;
-} NET_DISPLAY_GROUP,*PNET_DISPLAY_GROUP;
-typedef struct _ACCESS_INFO_0 {
-	LPTSTR acc0_resource_name;
-}ACCESS_INFO_0,*PACCESS_INFO_0,*LPACCESS_INFO_0;
-typedef struct _ACCESS_INFO_1 {
-	LPTSTR acc1_resource_name;
-	DWORD acc1_attr;
-	DWORD acc1_count;
-}ACCESS_INFO_1,*PACCESS_INFO_1,*LPACCESS_INFO_1;
-typedef struct _ACCESS_INFO_1002 {
-	DWORD acc1002_attr;
-} ACCESS_INFO_1002,*PACCESS_INFO_1002,*LPACCESS_INFO_1002;
-typedef struct _ACCESS_LIST {
-	LPTSTR acl_ugname;
-	DWORD acl_access;
-}ACCESS_LIST,*PACCESS_LIST,*LPACCESS_LIST;
-typedef struct _NETLOGON_INFO_1 {
-	DWORD netlog1_flags;
-	NET_API_STATUS netlog1_pdc_connection_status;
-} NETLOGON_INFO_1,*PNETLOGON_INFO_1;
-typedef struct _NETLOGON_INFO_2 {
-	DWORD netlog2_flags;
-	NET_API_STATUS netlog2_pdc_connection_status;
-	LPWSTR netlog2_trusted_dc_name;
-	NET_API_STATUS netlog2_tc_connection_status;
-} NETLOGON_INFO_2,*PNETLOGON_INFO_2;
-typedef struct _NETLOGON_INFO_3 {
-	DWORD netlog3_flags;
-	DWORD netlog3_logon_attempts;
-	DWORD netlog3_reserved1;
-	DWORD netlog3_reserved2;
-	DWORD netlog3_reserved3;
-	DWORD netlog3_reserved4;
-	DWORD netlog3_reserved5;
-} NETLOGON_INFO_3,*PNETLOGON_INFO_3;
-
-#if 0
-/* MS has these defined, but the RxNetAccessXX functions aren't documented nor do
-   they exist in any headers */
-#define NetAccessAdd RxNetAccessAdd
-#define NetAccessEnum RxNetAccessEnum
-#define NetAccessGetInfo RxNetAccessGetInfo
-#define NetAccessSetInfo RxNetAccessSetInfo
-#define NetAccessDel RxNetAccessDel
-#define NetAccessGetUserPerms RxNetAccessGetUserPerms
-/* These are obsolete */
-NET_API_STATUS WINAPI NetAccessAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetAccessEnum(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetAccessGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetAccessSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetAccessDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetAccessGetUserPerms(LPCWSTR,LPCWSTR,LPCWSTR,PDWORD);
-#endif
-
-NET_API_STATUS WINAPI NetUserAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserEnum(LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetUserSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetUserGetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserSetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetUserGetLocalGroups(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserModalsGet(LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetUserModalsSet(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserChangePassword(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetGroupAddUser(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetGroupDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupDelUser(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupGetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetGroupSetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupAddMember(LPCWSTR,LPCWSTR,PSID);
-NET_API_STATUS WINAPI NetLocalGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetLocalGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetLocalGroupDelMember(LPCWSTR,LPCWSTR,PSID);
-NET_API_STATUS WINAPI NetLocalGroupGetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,
-PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupSetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetQueryDisplayInformation(LPCWSTR,DWORD,DWORD,DWORD,DWORD,PDWORD,PVOID*);
-NET_API_STATUS WINAPI NetGetDisplayInformationIndex(LPCWSTR,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI NetGetDCName(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetGetAnyDCName(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI I_NetLogonControl(LPCWSTR,DWORD,DWORD,PBYTE*);
-NET_API_STATUS WINAPI I_NetLogonControl2(LPCWSTR,DWORD,DWORD,PBYTE,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmalert.h
===================================================================
--- Daodan/MinGW/include/lmalert.h	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-#ifndef _LMALERT_H
-#define _LMALERT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define ALERTER_MAILSLOT TEXT("\\\\.\\MAILSLOT\\Alerter")
-#define ALERT_PRINT_EVENT TEXT("PRINTING")
-#define ALERT_MESSAGE_EVENT TEXT("MESSAGE")
-#define ALERT_ERRORLOG_EVENT TEXT("ERRORLOG")
-#define ALERT_ADMIN_EVENT TEXT("ADMIN")
-#define ALERT_USER_EVENT TEXT("USER")
-#define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT))
-#define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p))
-#define PRJOB_QSTATUS 3
-#define PRJOB_DEVSTATUS 508
-#define PRJOB_COMPLETE 4
-#define PRJOB_INTERV 8
-#define PRJOB_ 16
-#define PRJOB_DESTOFFLINE 32
-#define PRJOB_DESTPAUSED 64
-#define PRJOB_NOTIFY 128
-#define PRJOB_DESTNOPAPER 256
-#define PRJOB_DELETED 32768
-#define PRJOB_QS_QUEUED 0
-#define PRJOB_QS_PAUSED 1
-#define PRJOB_QS_SPOOLING 2
-#define PRJOB_QS_PRINTING 3
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef struct _ADMIN_OTHER_INFO {
-	DWORD alrtad_errcode;
-	DWORD alrtad_numstrings;
-}ADMIN_OTHER_INFO,*PADMIN_OTHER_INFO,*LPADMIN_OTHER_INFO;
-typedef struct _STD_ALERT {
-	DWORD alrt_timestamp;
-	TCHAR alrt_eventname[EVLEN+1];
-	TCHAR alrt_servicename[SNLEN+1];
-}STD_ALERT,*PSTD_ALERT,*LPSTD_ALERT;
-typedef struct _ERRLOG_OTHER_INFO {
-	DWORD alrter_errcode;
-	DWORD alrter_offset;
-}ERRLOG_OTHER_INFO,*PERRLOG_OTHER_INFO,*LPERRLOG_OTHER_INFO;
-typedef struct _PRINT_OTHER_INFO {
-	DWORD alrtpr_jobid;
-	DWORD alrtpr_status;
-	DWORD alrtpr_submitted;
-	DWORD alrtpr_size;
-}PRINT_OTHER_INFO,*PPRINT_OTHER_INFO,*LPPRINT_OTHER_INFO;
-typedef struct _USER_OTHER_INFO {
-	DWORD alrtus_errcode;
-	DWORD alrtus_numstrings;
-}USER_OTHER_INFO,*PUSER_OTHER_INFO,*LPUSER_OTHER_INFO;
-NET_API_STATUS WINAPI NetAlertRaise(LPCWSTR,PVOID,DWORD);
-NET_API_STATUS WINAPI NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmapibuf.h
===================================================================
--- Daodan/MinGW/include/lmapibuf.h	(revision 1046)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#ifndef _LMAPIBUF_H
-#define _LMAPIBUF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD,PVOID*);
-NET_API_STATUS WINAPI NetApiBufferFree(PVOID);
-NET_API_STATUS WINAPI NetApiBufferReallocate(PVOID,DWORD,PVOID*);
-NET_API_STATUS WINAPI NetApiBufferSize(PVOID,PDWORD);
-NET_API_STATUS WINAPI NetapipBufferAllocate(DWORD,PVOID*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmat.h
===================================================================
--- Daodan/MinGW/include/lmat.h	(revision 1046)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#ifndef _LMAT_H
-#define _LMAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define JOB_RUN_PERIODICALLY	1
-#define JOB_EXEC_ERROR	2
-#define JOB_RUNS_TODAY	4
-#define JOB_ADD_CURRENT_DATE	8
-#define JOB_NONINTERACTIVE	16
-#define JOB_INPUT_FLAGS	(JOB_RUN_PERIODICALLY|JOB_ADD_CURRENT_DATE|JOB_NONINTERACTIVE)
-#define JOB_OUTPUT_FLAGS (JOB_RUN_PERIODICALLY|JOB_EXEC_ERROR|JOB_RUNS_TODAY|JOB_NONINTERACTIVE)
-typedef struct _AT_ENUM {
-	DWORD JobId;
-	DWORD JobTime;
-	DWORD DaysOfMonth;
-	UCHAR DaysOfWeek;
-	UCHAR Flags;
-	LPWSTR Command;
-} AT_ENUM,*PAT_ENUM,*LPAT_ENUM;
-typedef struct _AT_INFO {
-	DWORD JobTime;
-	DWORD DaysOfMonth;
-	UCHAR DaysOfWeek;
-	UCHAR Flags;
-	LPWSTR Command;
-} AT_INFO,*PAT_INFO,*LPAT_INFO;
-NET_API_STATUS WINAPI NetScheduleJobAdd(LPWSTR,PBYTE,LPDWORD);
-NET_API_STATUS WINAPI NetScheduleJobDel(LPWSTR,DWORD,DWORD);
-NET_API_STATUS WINAPI NetScheduleJobEnum(LPWSTR,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetScheduleJobGetInfo(LPWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmaudit.h
===================================================================
--- Daodan/MinGW/include/lmaudit.h	(revision 1046)
+++ 	(revision )
@@ -1,250 +1,0 @@
-#ifndef _LMAUDIT_H
-#define _LMAUDIT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REVISED_AUDIT_ENTRY_STRUCT
-#define LOGFLAGS_FORWARD 0
-#define LOGFLAGS_BACKWARD 1
-#define LOGFLAGS_SEEK 2
-#define ACTION_LOCKOUT 0
-#define ACTION_ADMINUNLOCK 1
-#define AE_GUEST 0
-#define AE_USER 1
-#define AE_ADMIN 2
-#define AE_NORMAL 0
-#define AE_USERLIMIT 0
-#define AE_GENERAL 0
-#define AE_ERROR 1
-#define AE_SESSDIS 1
-#define AE_BADPW 1
-#define AE_AUTODIS 2
-#define AE_UNSHARE 2
-#define AE_ADMINPRIVREQD 2
-#define AE_ADMINDIS 3
-#define AE_NOACCESSPERM 3
-#define AE_ACCRESTRICT 4
-#define AE_NORMAL_CLOSE 0
-#define AE_SES_CLOSE 1
-#define AE_ADMIN_CLOSE 2
-#define AE_LIM_UNKNOWN 0
-#define AE_LIM_LOGONHOURS 1
-#define AE_LIM_EXPIRED 2
-#define AE_LIM_INVAL_WKSTA 3
-#define AE_LIM_DISABLED 4
-#define AE_LIM_DELETED 5
-#define AE_MOD 0
-#define AE_DELETE 1
-#define AE_ADD 2
-#define AE_UAS_USER 0
-#define AE_UAS_GROUP 1
-#define AE_UAS_MODALS 2
-#define SVAUD_SERVICE  1
-#define SVAUD_GOODSESSLOGON 6
-#define SVAUD_BADSESSLOGON 24
-#define SVAUD_SESSLOGON (SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON)
-#define SVAUD_GOODNETLOGON 96
-#define SVAUD_BADNETLOGON 384
-#define SVAUD_NETLOGON (SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON)
-#define SVAUD_LOGON (SVAUD_NETLOGON|SVAUD_SESSLOGON)
-#define SVAUD_GOODUSE 0x600
-#define SVAUD_BADUSE 0x1800
-#define SVAUD_USE (SVAUD_GOODUSE|SVAUD_BADUSE)
-#define SVAUD_USERLIST 8192
-#define SVAUD_PERMISSIONS 16384
-#define SVAUD_RESOURCE 32768
-#define SVAUD_LOGONLIM 65536
-#define AA_AUDIT_ALL 1
-#define AA_A_OWNER 4
-#define AA_CLOSE 8
-#define AA_S_OPEN 16
-#define AA_S_WRITE 32
-#define AA_S_CREATE 32
-#define AA_S_DELETE 64
-#define AA_S_ACL 128
-#define AA_S_ALL 253
-#define AA_F_OPEN 256
-#define AA_F_WRITE 512
-#define AA_F_CREATE 512
-#define AA_F_DELETE 1024
-#define AA_F_ACL 2048
-#define AA_F_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
-#define AA_A_OPEN 2048
-#define AA_A_WRITE 4096
-#define AA_A_CREATE 8192
-#define AA_A_DELETE 16384
-#define AA_A_ACL 32768
-#define AA_A_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
-typedef struct _AUDIT_ENTRY {
-	DWORD ae_len;
-	DWORD ae_reserved;
-	DWORD ae_time;
-	DWORD ae_type;
-	DWORD ae_data_offset;
-	DWORD ae_data_size;
-} AUDIT_ENTRY,*PAUDIT_ENTRY,*LPAUDIT_ENTRY;
-typedef struct _HLOG {
-	DWORD time;
-	DWORD last_flags;
-	DWORD offset;
-	DWORD rec_offset;
-} HLOG,*PHLOG,*LPHLOG;
-typedef struct _AE_SRVSTATUS {
-	DWORD ae_sv_status;
-} AE_SRVSTATUS,*PAE_SRVSTATUS,*LPAE_SRVSTATUS;
-typedef struct _AE_SESSLOGON {
-	DWORD ae_so_compname;
-	DWORD ae_so_username;
-	DWORD ae_so_privilege;
-} AE_SESSLOGON,*PAE_SESSLOGON,*LPAE_SESSLOGON;
-typedef struct _AE_SESSLOGOFF {
-	DWORD ae_sf_compname;
-	DWORD ae_sf_username;
-	DWORD ae_sf_reason;
-} AE_SESSLOGOFF,*PAE_SESSLOGOFF,*LPAE_SESSLOGOFF;
-typedef struct _AE_SESSPWERR {
-	DWORD ae_sp_compname;
-	DWORD ae_sp_username;
-} AE_SESSPWERR,*PAE_SESSPWERR,*LPAE_SESSPWERR;
-typedef struct _AE_CONNSTART {
-	DWORD ae_ct_compname;
-	DWORD ae_ct_username;
-	DWORD ae_ct_netname;
-	DWORD ae_ct_connid;
-} AE_CONNSTART,*PAE_CONNSTART,*LPAE_CONNSTART;
-typedef struct _AE_CONNSTOP {
-	DWORD ae_cp_compname;
-	DWORD ae_cp_username;
-	DWORD ae_cp_netname;
-	DWORD ae_cp_connid;
-	DWORD ae_cp_reason;
-} AE_CONNSTOP,*PAE_CONNSTOP,*LPAE_CONNSTOP;
-typedef struct _AE_CONNREJ {
-	DWORD ae_cr_compname;
-	DWORD ae_cr_username;
-	DWORD ae_cr_netname;
-	DWORD ae_cr_reason;
-} AE_CONNREJ,*PAE_CONNREJ,*LPAE_CONNREJ;
-typedef struct _AE_RESACCESS {
-	DWORD ae_ra_compname;
-	DWORD ae_ra_username;
-	DWORD ae_ra_resname;
-	DWORD ae_ra_operation;
-	DWORD ae_ra_returncode;
-	DWORD ae_ra_restype;
-	DWORD ae_ra_fileid;
-} AE_RESACCESS,*PAE_RESACCESS,*LPAE_RESACCESS;
-typedef struct _AE_RESACCESSREJ {
-	DWORD ae_rr_compname;
-	DWORD ae_rr_username;
-	DWORD ae_rr_resname;
-	DWORD ae_rr_operation;
-} AE_RESACCESSREJ,*PAE_RESACCESSREJ,*LPAE_RESACCESSREJ;
-typedef struct _AE_CLOSEFILE {
-	DWORD ae_cf_compname;
-	DWORD ae_cf_username;
-	DWORD ae_cf_resname;
-	DWORD ae_cf_fileid;
-	DWORD ae_cf_duration;
-	DWORD ae_cf_reason;
-} AE_CLOSEFILE,*PAE_CLOSEFILE,*LPAE_CLOSEFILE;
-typedef struct _AE_SERVICESTAT {
-	DWORD ae_ss_compname;
-	DWORD ae_ss_username;
-	DWORD ae_ss_svcname;
-	DWORD ae_ss_status;
-	DWORD ae_ss_code;
-	DWORD ae_ss_text;
-	DWORD ae_ss_returnval;
-} AE_SERVICESTAT,*PAE_SERVICESTAT,*LPAE_SERVICESTAT;
-typedef struct _AE_ACLMOD {
-	DWORD ae_am_compname;
-	DWORD ae_am_username;
-	DWORD ae_am_resname;
-	DWORD ae_am_action;
-	DWORD ae_am_datalen;
-} AE_ACLMOD,*PAE_ACLMOD,*LPAE_ACLMOD;
-typedef struct _AE_UASMOD {
-	DWORD ae_um_compname;
-	DWORD ae_um_username;
-	DWORD ae_um_resname;
-	DWORD ae_um_rectype;
-	DWORD ae_um_action;
-	DWORD ae_um_datalen;
-} AE_UASMOD,*PAE_UASMOD,*LPAE_UASMOD;
-typedef struct _AE_NETLOGON {
-	DWORD ae_no_compname;
-	DWORD ae_no_username;
-	DWORD ae_no_privilege;
-	DWORD ae_no_authflags;
-} AE_NETLOGON,*PAE_NETLOGON,*LPAE_NETLOGON;
-typedef struct _AE_NETLOGOFF {
-	DWORD ae_nf_compname;
-	DWORD ae_nf_username;
-	DWORD ae_nf_reserved1;
-	DWORD ae_nf_reserved2;
-} AE_NETLOGOFF,*PAE_NETLOGOFF,*LPAE_NETLOGOFF;
-typedef struct _AE_ACCLIM {
-	DWORD ae_al_compname;
-	DWORD ae_al_username;
-	DWORD ae_al_resname;
-	DWORD ae_al_limit;
-} AE_ACCLIM,*PAE_ACCLIM,*LPAE_ACCLIM;
-typedef struct _AE_LOCKOUT {
-	DWORD ae_lk_compname;
-	DWORD ae_lk_username;
-	DWORD ae_lk_action;
-	DWORD ae_lk_bad_pw_count;
-} AE_LOCKOUT,*PAE_LOCKOUT,*LPAE_LOCKOUT;
-typedef struct _AE_GENERIC {
-	DWORD ae_ge_msgfile;
-	DWORD ae_ge_msgnum;
-	DWORD ae_ge_params;
-	DWORD ae_ge_param1;
-	DWORD ae_ge_param2;
-	DWORD ae_ge_param3;
-	DWORD ae_ge_param4;
-	DWORD ae_ge_param5;
-	DWORD ae_ge_param6;
-	DWORD ae_ge_param7;
-	DWORD ae_ge_param8;
-	DWORD ae_ge_param9;
-} AE_GENERIC,*PAE_GENERIC,*LPAE_GENERIC;
-NET_API_STATUS WINAPI NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE);
-
-/* These conflict with struct typedefs, why? */
-#define AE_SRVSTATUS 0
-#define AE_SESSLOGON 1
-#define AE_SESSLOGOFF 2
-#define AE_SESSPWERR 3
-#define AE_CONNSTART 4
-#define AE_CONNSTOP 5
-#define AE_CONNREJ 6
-#define AE_RESACCESS 7
-#define AE_RESACCESSREJ 8
-#define AE_CLOSEFILE 9
-#define AE_SERVICESTAT 11
-#define AE_ACLMOD 12
-#define AE_UASMOD 13
-#define AE_NETLOGON 14
-#define AE_NETLOGOFF 15
-#define AE_NETLOGDENIED 16
-#define AE_ACCLIMITEXCD 17
-#define AE_RESACCESS2 18
-#define AE_ACLMODFAIL 19
-#define AE_LOCKOUT 20
-#define AE_GENERIC_TYPE 21
-#define AE_SRVSTART 0
-#define AE_SRVPAUSED 1
-#define AE_SRVCONT 2
-#define AE_SRVSTOP 3
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmbrowsr.h
===================================================================
--- Daodan/MinGW/include/lmbrowsr.h	(revision 1046)
+++ 	(revision )
@@ -1,74 +1,0 @@
-#ifndef _LMBROWSR_H
-#define _LMBROWSR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define BROWSER_ROLE_PDC 1
-#define BROWSER_ROLE_BDC 2
-typedef struct _BROWSER_STATISTICS {
-	LARGE_INTEGER StatisticsStartTime;
-	LARGE_INTEGER NumberOfServerAnnouncements;
-	LARGE_INTEGER NumberOfDomainAnnouncements;
-	ULONG NumberOfElectionPackets;
-	ULONG NumberOfMailslotWrites;
-	ULONG NumberOfGetBrowserServerListRequests;
-	ULONG NumberOfServerEnumerations;
-	ULONG NumberOfDomainEnumerations;
-	ULONG NumberOfOtherEnumerations;
-	ULONG NumberOfMissedServerAnnouncements;
-	ULONG NumberOfMissedMailslotDatagrams;
-	ULONG NumberOfMissedGetBrowserServerListRequests;
-	ULONG NumberOfFailedServerAnnounceAllocations;
-	ULONG NumberOfFailedMailslotAllocations;
-	ULONG NumberOfFailedMailslotReceives;
-	ULONG NumberOfFailedMailslotWrites;
-	ULONG NumberOfFailedMailslotOpens;
-	ULONG NumberOfDuplicateMasterAnnouncements;
-LARGE_INTEGER NumberOfIllegalDatagrams;
-} BROWSER_STATISTICS,*PBROWSER_STATISTICS,*LPBROWSER_STATISTICS;
-typedef struct _BROWSER_STATISTICS_100 {
-	LARGE_INTEGER StartTime;
-	LARGE_INTEGER NumberOfServerAnnouncements;
-	LARGE_INTEGER NumberOfDomainAnnouncements;
-	ULONG NumberOfElectionPackets;
-	ULONG NumberOfMailslotWrites;
-	ULONG NumberOfGetBrowserServerListRequests;
-	LARGE_INTEGER NumberOfIllegalDatagrams;
-} BROWSER_STATISTICS_100,*PBROWSER_STATISTICS_100;
-typedef struct _BROWSER_STATISTICS_101 {
-	LARGE_INTEGER StartTime;
-	LARGE_INTEGER NumberOfServerAnnouncements;
-	LARGE_INTEGER NumberOfDomainAnnouncements;
-	ULONG NumberOfElectionPackets;
-	ULONG NumberOfMailslotWrites;
-	ULONG NumberOfGetBrowserServerListRequests;
-	LARGE_INTEGER NumberOfIllegalDatagrams;
-	ULONG NumberOfMissedServerAnnouncements;
-	ULONG NumberOfMissedMailslotDatagrams;
-	ULONG NumberOfMissedGetBrowserServerListRequests;
-	ULONG NumberOfFailedServerAnnounceAllocations;
-	ULONG NumberOfFailedMailslotAllocations;
-	ULONG NumberOfFailedMailslotReceives;
-	ULONG NumberOfFailedMailslotWrites;
-	ULONG NumberOfFailedMailslotOpens;
-	ULONG NumberOfDuplicateMasterAnnouncements;
-} BROWSER_STATISTICS_101,*PBROWSER_STATISTICS_101;
-
-NET_API_STATUS WINAPI I_BrowserServerEnum(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI I_BrowserServerEnumEx(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR);
-NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR,PBYTE*,PDWORD);
-NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR,PBYTE*,PDWORD,PDWORD);
-NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR);
-NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR,LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR,LPBROWSER_STATISTICS*);
-NET_API_STATUS I_BrowserResetStatistics(LPCWSTR);
-WORD I_BrowserServerEnumForXactsrv(LPCWSTR,LPCWSTR,ULONG,USHORT,PVOID,WORD,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR,PWORD);
-NET_API_STATUS I_BrowserDebugTrace(PWCHAR,PCHAR);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmchdev.h
===================================================================
--- Daodan/MinGW/include/lmchdev.h	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#ifndef _LMCHDEV_H
-#define _LMCHDEV_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define CHARDEVQ_NO_REQUESTS (-1)
-#define CHARDEV_CLOSE 0
-#define CHARDEVQ_MAX_PRIORITY 1
-#define CHARDEVQ_DEV_PARMNUM 1
-#define HANDLE_INFO_LEVEL_1 1
-#define HANDLE_CHARTIME_PARMNUM 1
-#define HANDLE_CHARCOUNT_PARMNUM 2
-#define CHARDEV_STAT_OPENED 2
-#define CHARDEVQ_PRIORITY_PARMNUM 2
-#define CHARDEVQ_DEVS_PARMNUM 3
-#define CHARDEV_STAT_ERROR 4
-#define CHARDEVQ_NUMUSERS_PARMNUM 4
-#define CHARDEVQ_NUMAHEAD_PARMNUM 5
-#define CHARDEVQ_DEF_PRIORITY 5
-#define CHARDEVQ_PRIORITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM)
-#define CHARDEVQ_DEVS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM)
-#define CHARDEVQ_MIN_PRIORITY 9
-typedef struct _CHARDEV_INFO_0 { LPWSTR ch0_dev; } CHARDEV_INFO_0,*PCHARDEV_INFO_0,*LPCHARDEV_INFO_0;
-typedef struct _CHARDEV_INFO_1 {
-	LPWSTR ch1_dev;
-	DWORD ch1_status;
-	LPWSTR ch1_username;
-	DWORD ch1_time;
-} CHARDEV_INFO_1,*PCHARDEV_INFO_1,*LPCHARDEV_INFO_1;
-typedef struct _CHARDEVQ_INFO_0 { LPWSTR cq0_dev; } CHARDEVQ_INFO_0,*PCHARDEVQ_INFO_0,*LPCHARDEVQ_INFO_0;
-typedef struct _CHARDEVQ_INFO_1 {
-	LPWSTR cq1_dev;
-	DWORD cq1_priority;
-	LPWSTR cq1_devs;
-	DWORD cq1_numusers;
-	DWORD cq1_numahead;
-} CHARDEVQ_INFO_1,*PCHARDEVQ_INFO_1,*LPCHARDEVQ_INFO_1;
-typedef struct _CHARDEVQ_INFO_1002 { DWORD cq1002_priority; } CHARDEVQ_INFO_1002,*PCHARDEVQ_INFO_1002,*LPCHARDEVQ_INFO_1002;
-typedef struct _CHARDEVQ_INFO_1003 { LPWSTR cq1003_devs; } CHARDEVQ_INFO_1003,*PCHARDEVQ_INFO_1003,*LPCHARDEVQ_INFO_1003;
-typedef struct _HANDLE_INFO_1 {
-	DWORD hdli1_chartime;
-	DWORD hdli1_charcount;
-}HANDLE_INFO_1,*PHANDLE_INFO_1,*LPHANDLE_INFO_1;
-NET_API_STATUS WINAPI NetCharDevEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetCharDevGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetCharDevControl(LPCWSTR,LPCWSTR,DWORD);
-NET_API_STATUS WINAPI NetCharDevQEnum(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetCharDevQGetInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetCharDevQSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetCharDevQPurge(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetCharDevQPurgeSelf(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetHandleGetInfo(HANDLE,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetHandleSetInfo(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmconfig.h
===================================================================
--- Daodan/MinGW/include/lmconfig.h	(revision 1046)
+++ 	(revision )
@@ -1,21 +1,0 @@
-#ifndef _LMCONFIG_H
-#define _LMCONFIG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REVISED_CONFIG_APIS
-typedef struct _CONFIG_INFO_0 {
-	LPWSTR cfgi0_key;
-	LPWSTR cfgi0_data;
-} CONFIG_INFO_0,*PCONFIG_INFO_0,*LPCONFIG_INFO_0;
-NET_API_STATUS WINAPI NetConfigGet(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetConfigGetAll(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetConfigSet(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE,DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmcons.h
===================================================================
--- Daodan/MinGW/include/lmcons.h	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-#ifndef _LMCONS_H
-#define _LMCONS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MESSAGE_FILENAME TEXT("NETMSG")
-#define OS2MSG_FILENAME TEXT("BASE")
-#define HELP_MSG_FILENAME TEXT("NETH")
-#define NET_API_FUNCTION __stdcall
-#define NET_API_STATUS DWORD
-#define API_RET_TYPE NET_API_STATUS
-#define MIN_LANMAN_MESSAGE_ID NERR_BASE
-#define MAX_LANMAN_MESSAGE_ID 5799
-#ifndef CNLEN /* also in nddeapi.h */
-#define CNLEN 15
-#define UNCLEN (CNLEN + 2)
-#endif
-#define DNLEN 15
-#define LM20_CNLEN 15
-#define LM20_DNLEN 15
-#define LM20_SNLEN 15
-#define LM20_STXTLEN 63
-#define LM20_UNCLEN (LM20_CNLEN+2)
-#define LM20_NNLEN 12
-#define LM20_RMLEN (LM20_UNCLEN+1+LM20_NNLEN)
-#define NNLEN 80
-#define RMLEN (UNCLEN+1+NNLEN)
-#define SNLEN 80
-#define STXTLEN 256
-#define PATHLEN 256
-#define LM20_PATHLEN 256
-#define DEVLEN 80
-#define LM20_DEVLEN 8
-#define EVLEN 16
-#define UNLEN 256
-#define LM20_UNLEN 20
-#define GNLEN UNLEN
-#define LM20_GNLEN LM20_UNLEN
-#define PWLEN 256
-#define LM20_PWLEN 14
-#define SHPWLEN 8
-#define CLTYPE_LEN 12
-#define MAXCOMMENTSZ 256
-#define LM20_MAXCOMMENTSZ 48
-#define QNLEN NNLEN
-#define LM20_QNLEN LM20_NNLEN
-#define ALERTSZ 128
-#define MAXDEVENTRIES (sizeof(int)*8)
-#define NETBIOS_NAME_LEN 16
-#define MAX_PREFERRED_LENGTH ((DWORD)-1)
-#define CRYPT_KEY_LEN 7
-#define CRYPT_TXT_LEN 8
-#define ENCRYPTED_PWLEN 16
-#define SESSION_PWLEN 24
-#define SESSION_CRYPT_KLEN 21
-#define PARMNUM_ALL             0
-#define PARM_ERROR_UNKNOWN ((DWORD)-1)
-#define PARM_ERROR_NONE 0
-#define PARMNUM_BASE_INFOLEVEL 1000
-#define PLATFORM_ID_DOS 300
-#define PLATFORM_ID_OS2 400
-#define PLATFORM_ID_NT 500
-#define PLATFORM_ID_OSF 600
-#define PLATFORM_ID_VMS 700
-/* new typedef in W2K */
-#if defined( _WIN32_WINNT ) || defined( WINNT ) || defined( FORCE_UNICODE )
-#define LMSTR   LPWSTR
-#define LMCSTR  LPCWSTR
-#else
-#define LMSTR   LPSTR
-#define LMCSTR  LPCSTR
-#endif
-
-#endif
Index: Daodan/MinGW/include/lmerr.h
===================================================================
--- Daodan/MinGW/include/lmerr.h	(revision 1046)
+++ 	(revision )
@@ -1,306 +1,0 @@
-#ifndef _LMERR_H
-#define _LMERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <winerror.h>
-#define NERR_Success 0
-#define NERR_BASE 2100
-#define NERR_NetNotStarted (NERR_BASE+2)
-#define NERR_UnknownServer (NERR_BASE+3)
-#define NERR_ShareMem (NERR_BASE+4)
-#define NERR_NoNetworkResource (NERR_BASE+5)
-#define NERR_RemoteOnly (NERR_BASE+6)
-#define NERR_DevNotRedirected (NERR_BASE+7)
-#define NERR_ServerNotStarted (NERR_BASE+14)
-#define NERR_ItemNotFound (NERR_BASE+15)
-#define NERR_UnknownDevDir (NERR_BASE+16)
-#define NERR_RedirectedPath (NERR_BASE+17)
-#define NERR_DuplicateShare (NERR_BASE+18)
-#define NERR_NoRoom (NERR_BASE+19)
-#define NERR_TooManyItems (NERR_BASE+21)
-#define NERR_InvalidMaxUsers (NERR_BASE+22)
-#define NERR_BufTooSmall (NERR_BASE+23)
-#define NERR_RemoteErr (NERR_BASE+27)
-#define NERR_LanmanIniError (NERR_BASE+31)
-#define NERR_NetworkError (NERR_BASE+36)
-#define NERR_WkstaInconsistentState (NERR_BASE+37)
-#define NERR_WkstaNotStarted (NERR_BASE+38)
-#define NERR_BrowserNotStarted (NERR_BASE+39)
-#define NERR_InternalError (NERR_BASE+40)
-#define NERR_BadTransactConfig (NERR_BASE+41)
-#define NERR_InvalidAPI (NERR_BASE+42)
-#define NERR_BadEventName (NERR_BASE+43)
-#define NERR_DupNameReboot (NERR_BASE+44)
-#define NERR_CfgCompNotFound (NERR_BASE+46)
-#define NERR_CfgParamNotFound (NERR_BASE+47)
-#define NERR_LineTooLong (NERR_BASE+49)
-#define NERR_QNotFound (NERR_BASE+50)
-#define NERR_JobNotFound (NERR_BASE+51)
-#define NERR_DestNotFound (NERR_BASE+52)
-#define NERR_DestExists (NERR_BASE+53)
-#define NERR_QExists (NERR_BASE+54)
-#define NERR_QNoRoom (NERR_BASE+55)
-#define NERR_JobNoRoom (NERR_BASE+56)
-#define NERR_DestNoRoom (NERR_BASE+57)
-#define NERR_DestIdle (NERR_BASE+58)
-#define NERR_DestInvalidOp (NERR_BASE+59)
-#define NERR_ProcNoRespond (NERR_BASE+60)
-#define NERR_SpoolerNotLoaded (NERR_BASE+61)
-#define NERR_DestInvalidState (NERR_BASE+62)
-#define NERR_QInvalidState (NERR_BASE+63)
-#define NERR_JobInvalidState (NERR_BASE+64)
-#define NERR_SpoolNoMemory (NERR_BASE+65)
-#define NERR_DriverNotFound (NERR_BASE+66)
-#define NERR_DataTypeInvalid (NERR_BASE+67)
-#define NERR_ProcNotFound (NERR_BASE+68)
-#define NERR_ServiceTableLocked (NERR_BASE+80)
-#define NERR_ServiceTableFull (NERR_BASE+81)
-#define NERR_ServiceInstalled (NERR_BASE+82)
-#define NERR_ServiceEntryLocked (NERR_BASE+83)
-#define NERR_ServiceNotInstalled (NERR_BASE+84)
-#define NERR_BadServiceName (NERR_BASE+85)
-#define NERR_ServiceCtlTimeout (NERR_BASE+86)
-#define NERR_ServiceCtlBusy (NERR_BASE+87)
-#define NERR_BadServiceProgName (NERR_BASE+88)
-#define NERR_ServiceNotCtrl (NERR_BASE+89)
-#define NERR_ServiceKillProc (NERR_BASE+90)
-#define NERR_ServiceCtlNotValid (NERR_BASE+91)
-#define NERR_NotInDispatchTbl (NERR_BASE+92)
-#define NERR_BadControlRecv (NERR_BASE+93)
-#define NERR_ServiceNotStarting (NERR_BASE+94)
-#define NERR_AlreadyLoggedOn (NERR_BASE+100)
-#define NERR_NotLoggedOn (NERR_BASE+101)
-#define NERR_BadUsername (NERR_BASE+102)
-#define NERR_BadPassword (NERR_BASE+103)
-#define NERR_UnableToAddName_W (NERR_BASE+104)
-#define NERR_UnableToAddName_F (NERR_BASE+105)
-#define NERR_UnableToDelName_W (NERR_BASE+106)
-#define NERR_UnableToDelName_F (NERR_BASE+107)
-#define NERR_LogonsPaused (NERR_BASE+109)
-#define NERR_LogonServerConflict (NERR_BASE+110)
-#define NERR_LogonNoUserPath (NERR_BASE+111)
-#define NERR_LogonScriptError (NERR_BASE+112)
-#define NERR_StandaloneLogon (NERR_BASE+114)
-#define NERR_LogonServerNotFound (NERR_BASE+115)
-#define NERR_LogonDomainExists (NERR_BASE+116)
-#define NERR_NonValidatedLogon (NERR_BASE+117)
-#define NERR_ACFNotFound (NERR_BASE+119)
-#define NERR_GroupNotFound (NERR_BASE+120)
-#define NERR_UserNotFound (NERR_BASE+121)
-#define NERR_ResourceNotFound (NERR_BASE+122)
-#define NERR_GroupExists (NERR_BASE+123)
-#define NERR_UserExists (NERR_BASE+124)
-#define NERR_ResourceExists (NERR_BASE+125)
-#define NERR_NotPrimary (NERR_BASE+126)
-#define NERR_ACFNotLoaded (NERR_BASE+127)
-#define NERR_ACFNoRoom (NERR_BASE+128)
-#define NERR_ACFFileIOFail (NERR_BASE+129)
-#define NERR_ACFTooManyLists (NERR_BASE+130)
-#define NERR_UserLogon (NERR_BASE+131)
-#define NERR_ACFNoParent (NERR_BASE+132)
-#define NERR_CanNotGrowSegment (NERR_BASE+133)
-#define NERR_SpeGroupOp (NERR_BASE+134)
-#define NERR_NotInCache (NERR_BASE+135)
-#define NERR_UserInGroup (NERR_BASE+136)
-#define NERR_UserNotInGroup (NERR_BASE+137)
-#define NERR_AccountUndefined (NERR_BASE+138)
-#define NERR_AccountExpired (NERR_BASE+139)
-#define NERR_InvalidWorkstation (NERR_BASE+140)
-#define NERR_InvalidLogonHours (NERR_BASE+141)
-#define NERR_PasswordExpired (NERR_BASE+142)
-#define NERR_PasswordCantChange (NERR_BASE+143)
-#define NERR_PasswordHistConflict (NERR_BASE+144)
-#define NERR_PasswordTooShort (NERR_BASE+145)
-#define NERR_PasswordTooRecent (NERR_BASE+146)
-#define NERR_InvalidDatabase (NERR_BASE+147)
-#define NERR_DatabaseUpToDate (NERR_BASE+148)
-#define NERR_SyncRequired (NERR_BASE+149)
-#define NERR_UseNotFound (NERR_BASE+150)
-#define NERR_BadAsgType (NERR_BASE+151)
-#define NERR_DeviceIsShared (NERR_BASE+152)
-#define NERR_NoComputerName (NERR_BASE+170)
-#define NERR_MsgAlreadyStarted (NERR_BASE+171)
-#define NERR_MsgInitFailed (NERR_BASE+172)
-#define NERR_NameNotFound (NERR_BASE+173)
-#define NERR_AlreadyForwarded (NERR_BASE+174)
-#define NERR_AddForwarded (NERR_BASE+175)
-#define NERR_AlreadyExists (NERR_BASE+176)
-#define NERR_TooManyNames (NERR_BASE+177)
-#define NERR_DelComputerName (NERR_BASE+178)
-#define NERR_LocalForward (NERR_BASE+179)
-#define NERR_GrpMsgProcessor (NERR_BASE+180)
-#define NERR_PausedRemote (NERR_BASE+181)
-#define NERR_BadReceive (NERR_BASE+182)
-#define NERR_NameInUse (NERR_BASE+183)
-#define NERR_MsgNotStarted (NERR_BASE+184)
-#define NERR_NotLocalName (NERR_BASE+185)
-#define NERR_NoForwardName (NERR_BASE+186)
-#define NERR_RemoteFull (NERR_BASE+187)
-#define NERR_NameNotForwarded (NERR_BASE+188)
-#define NERR_TruncatedBroadcast (NERR_BASE+189)
-#define NERR_InvalidDevice (NERR_BASE+194)
-#define NERR_WriteFault (NERR_BASE+195)
-#define NERR_DuplicateName (NERR_BASE+197)
-#define NERR_DeleteLater (NERR_BASE+198)
-#define NERR_IncompleteDel (NERR_BASE+199)
-#define NERR_MultipleNets (NERR_BASE+200)
-#define NERR_NetNameNotFound (NERR_BASE+210)
-#define NERR_DeviceNotShared (NERR_BASE+211)
-#define NERR_ClientNameNotFound (NERR_BASE+212)
-#define NERR_FileIdNotFound (NERR_BASE+214)
-#define NERR_ExecFailure (NERR_BASE+215)
-#define NERR_TmpFile (NERR_BASE+216)
-#define NERR_TooMuchData (NERR_BASE+217)
-#define NERR_DeviceShareConflict (NERR_BASE+218)
-#define NERR_BrowserTableIncomplete (NERR_BASE+219)
-#define NERR_NotLocalDomain (NERR_BASE+220)
-#define NERR_DevInvalidOpCode (NERR_BASE+231)
-#define NERR_DevNotFound (NERR_BASE+232)
-#define NERR_DevNotOpen (NERR_BASE+233)
-#define NERR_BadQueueDevString (NERR_BASE+234)
-#define NERR_BadQueuePriority (NERR_BASE+235)
-#define NERR_NoCommDevs (NERR_BASE+237)
-#define NERR_QueueNotFound (NERR_BASE+238)
-#define NERR_BadDevString (NERR_BASE+240)
-#define NERR_BadDev (NERR_BASE+241)
-#define NERR_InUseBySpooler (NERR_BASE+242)
-#define NERR_CommDevInUse (NERR_BASE+243)
-#define NERR_InvalidComputer (NERR_BASE+251)
-#define NERR_MaxLenExceeded (NERR_BASE+254)
-#define NERR_BadComponent (NERR_BASE+256)
-#define NERR_CantType (NERR_BASE+257)
-#define NERR_TooManyEntries (NERR_BASE+262)
-#define NERR_ProfileFileTooBig (NERR_BASE+270)
-#define NERR_ProfileOffset (NERR_BASE+271)
-#define NERR_ProfileCleanup (NERR_BASE+272)
-#define NERR_ProfileUnknownCmd (NERR_BASE+273)
-#define NERR_ProfileLoadErr (NERR_BASE+274)
-#define NERR_ProfileSaveErr (NERR_BASE+275)
-#define NERR_LogOverflow (NERR_BASE+277)
-#define NERR_LogFileChanged (NERR_BASE+278)
-#define NERR_LogFileCorrupt (NERR_BASE+279)
-#define NERR_SourceIsDir (NERR_BASE+280)
-#define NERR_BadSource (NERR_BASE+281)
-#define NERR_BadDest (NERR_BASE+282)
-#define NERR_DifferentServers (NERR_BASE+283)
-#define NERR_RunSrvPaused (NERR_BASE+285)
-#define NERR_ErrCommRunSrv (NERR_BASE+289)
-#define NERR_ErrorExecingGhost (NERR_BASE+291)
-#define NERR_ShareNotFound (NERR_BASE+292)
-#define NERR_InvalidLana (NERR_BASE+300)
-#define NERR_OpenFiles (NERR_BASE+301)
-#define NERR_ActiveConns (NERR_BASE+302)
-#define NERR_BadPasswordCore (NERR_BASE+303)
-#define NERR_DevInUse (NERR_BASE+304)
-#define NERR_LocalDrive (NERR_BASE+305)
-#define NERR_AlertExists (NERR_BASE+330)
-#define NERR_TooManyAlerts (NERR_BASE+331)
-#define NERR_NoSuchAlert (NERR_BASE+332)
-#define NERR_BadRecipient (NERR_BASE+333)
-#define NERR_AcctLimitExceeded (NERR_BASE+334)
-#define NERR_InvalidLogSeek (NERR_BASE+340)
-#define NERR_BadUasConfig (NERR_BASE+350)
-#define NERR_InvalidUASOp (NERR_BASE+351)
-#define NERR_LastAdmin (NERR_BASE+352)
-#define NERR_DCNotFound (NERR_BASE+353)
-#define NERR_LogonTrackingError (NERR_BASE+354)
-#define NERR_NetlogonNotStarted (NERR_BASE+355)
-#define NERR_CanNotGrowUASFile (NERR_BASE+356)
-#define NERR_TimeDiffAtDC (NERR_BASE+357)
-#define NERR_PasswordMismatch (NERR_BASE+358)
-#define NERR_NoSuchServer (NERR_BASE+360)
-#define NERR_NoSuchSession (NERR_BASE+361)
-#define NERR_NoSuchConnection (NERR_BASE+362)
-#define NERR_TooManyServers (NERR_BASE+363)
-#define NERR_TooManySessions (NERR_BASE+364)
-#define NERR_TooManyConnections (NERR_BASE+365)
-#define NERR_TooManyFiles (NERR_BASE+366)
-#define NERR_NoAlternateServers (NERR_BASE+367)
-#define NERR_TryDownLevel (NERR_BASE+370)
-#define NERR_UPSDriverNotStarted (NERR_BASE+380)
-#define NERR_UPSInvalidConfig (NERR_BASE+381)
-#define NERR_UPSInvalidCommPort (NERR_BASE+382)
-#define NERR_UPSSignalAsserted (NERR_BASE+383)
-#define NERR_UPSShutdownFailed (NERR_BASE+384)
-#define NERR_BadDosRetCode (NERR_BASE+400)
-#define NERR_ProgNeedsExtraMem (NERR_BASE+401)
-#define NERR_BadDosFunction (NERR_BASE+402)
-#define NERR_RemoteBootFailed (NERR_BASE+403)
-#define NERR_BadFileCheckSum (NERR_BASE+404)
-#define NERR_NoRplBootSystem (NERR_BASE+405)
-#define NERR_RplLoadrNetBiosErr (NERR_BASE+406)
-#define NERR_RplLoadrDiskErr (NERR_BASE+407)
-#define NERR_ImageParamErr (NERR_BASE+408)
-#define NERR_TooManyImageParams (NERR_BASE+409)
-#define NERR_NonDosFloppyUsed (NERR_BASE+410)
-#define NERR_RplBootRestart (NERR_BASE+411)
-#define NERR_RplSrvrCallFailed (NERR_BASE+412)
-#define NERR_CantConnectRplSrvr (NERR_BASE+413)
-#define NERR_CantOpenImageFile (NERR_BASE+414)
-#define NERR_CallingRplSrvr (NERR_BASE+415)
-#define NERR_StartingRplBoot (NERR_BASE+416)
-#define NERR_RplBootServiceTerm (NERR_BASE+417)
-#define NERR_RplBootStartFailed (NERR_BASE+418)
-#define NERR_RPL_CONNECTED (NERR_BASE+419)
-#define NERR_BrowserConfiguredToNotRun (NERR_BASE+450)
-#define NERR_RplNoAdaptersStarted (NERR_BASE+510)
-#define NERR_RplBadRegistry (NERR_BASE+511)
-#define NERR_RplBadDatabase (NERR_BASE+512)
-#define NERR_RplRplfilesShare (NERR_BASE+513)
-#define NERR_RplNotRplServer (NERR_BASE+514)
-#define NERR_RplCannotEnum (NERR_BASE+515)
-#define NERR_RplWkstaInfoCorrupted (NERR_BASE+516)
-#define NERR_RplWkstaNotFound (NERR_BASE+517)
-#define NERR_RplWkstaNameUnavailable (NERR_BASE+518)
-#define NERR_RplProfileInfoCorrupted (NERR_BASE+519)
-#define NERR_RplProfileNotFound (NERR_BASE+520)
-#define NERR_RplProfileNameUnavailable (NERR_BASE+521)
-#define NERR_RplProfileNotEmpty (NERR_BASE+522)
-#define NERR_RplConfigInfoCorrupted (NERR_BASE+523)
-#define NERR_RplConfigNotFound (NERR_BASE+524)
-#define NERR_RplAdapterInfoCorrupted (NERR_BASE+525)
-#define NERR_RplInternal (NERR_BASE+526)
-#define NERR_RplVendorInfoCorrupted (NERR_BASE+527)
-#define NERR_RplBootInfoCorrupted (NERR_BASE+528)
-#define NERR_RplWkstaNeedsUserAcct (NERR_BASE+529)
-#define NERR_RplNeedsRPLUSERAcct (NERR_BASE+530)
-#define NERR_RplBootNotFound (NERR_BASE+531)
-#define NERR_RplIncompatibleProfile (NERR_BASE+532)
-#define NERR_RplAdapterNameUnavailable (NERR_BASE+533)
-#define NERR_RplConfigNotEmpty (NERR_BASE+534)
-#define NERR_RplBootInUse (NERR_BASE+535)
-#define NERR_RplBackupDatabase (NERR_BASE+536)
-#define NERR_RplAdapterNotFound (NERR_BASE+537)
-#define NERR_RplVendorNotFound (NERR_BASE+538)
-#define NERR_RplVendorNameUnavailable (NERR_BASE+539)
-#define NERR_RplBootNameUnavailable (NERR_BASE+540)
-#define NERR_RplConfigNameUnavailable (NERR_BASE+541)
-#define NERR_DfsInternalCorruption (NERR_BASE+560)
-#define NERR_DfsVolumeDataCorrupt (NERR_BASE+561)
-#define NERR_DfsNoSuchVolume (NERR_BASE+562)
-#define NERR_DfsVolumeAlreadyExists (NERR_BASE+563)
-#define NERR_DfsAlreadyShared (NERR_BASE+564)
-#define NERR_DfsNoSuchShare (NERR_BASE+565)
-#define NERR_DfsNotALeafVolume (NERR_BASE+566)
-#define NERR_DfsLeafVolume (NERR_BASE+567)
-#define NERR_DfsVolumeHasMultipleServers (NERR_BASE+568)
-#define NERR_DfsCantCreateJunctionPoint (NERR_BASE+569)
-#define NERR_DfsServerNotDfsAware (NERR_BASE+570)
-#define NERR_DfsBadRenamePath (NERR_BASE+571)
-#define NERR_DfsVolumeIsOffline (NERR_BASE+572)
-#define NERR_DfsNoSuchServer (NERR_BASE+573)
-#define NERR_DfsCyclicalName (NERR_BASE+574)
-#define NERR_DfsNotSupportedInServerDfs (NERR_BASE+575)
-#define NERR_DfsDuplicateService (NERR_BASE+576)
-#define NERR_DfsCantRemoveLastServerShare (NERR_BASE+577)
-#define NERR_DfsVolumeIsInterDfs  (NERR_BASE+578)
-#define NERR_DfsInconsistent (NERR_BASE+579)
-#define NERR_DfsServerUpgraded (NERR_BASE+580)
-#define NERR_DfsDataIsIdentical (NERR_BASE+581)
-#define NERR_DfsCantRemoveDfsRoot (NERR_BASE+582)
-#define NERR_DfsChildOrParentInDfs (NERR_BASE+583)
-#define NERR_DfsInternalError (NERR_BASE+590)
-#define MAX_NERR (NERR_BASE+899)
-#endif
Index: Daodan/MinGW/include/lmerrlog.h
===================================================================
--- Daodan/MinGW/include/lmerrlog.h	(revision 1046)
+++ 	(revision )
@@ -1,211 +1,0 @@
-#ifndef _LMERRLOG_H
-#define _LMERRLOG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define ERRLOG_BASE 3100
-#define ERRLOG2_BASE 5700
-#define LOGFLAGS_FORWARD 0
-#define LOGFLAGS_BACKWARD 1
-#define LOGFLAGS_SEEK 2
-#define NELOG_Internal_Error ERRLOG_BASE
-#define NELOG_Resource_Shortage (ERRLOG_BASE+1)
-#define NELOG_Unable_To_Lock_Segment (ERRLOG_BASE+2)
-#define NELOG_Unable_To_Unlock_Segment (ERRLOG_BASE+3)
-#define NELOG_Uninstall_Service (ERRLOG_BASE+4)
-#define NELOG_Init_Exec_Fail (ERRLOG_BASE+5)
-#define NELOG_Ncb_Error (ERRLOG_BASE+6)
-#define NELOG_Net_Not_Started (ERRLOG_BASE+7)
-#define NELOG_Ioctl_Error (ERRLOG_BASE+8)
-#define NELOG_System_Semaphore (ERRLOG_BASE+9)
-#define NELOG_Init_OpenCreate_Err (ERRLOG_BASE+10)
-#define NELOG_NetBios (ERRLOG_BASE+11)
-#define NELOG_SMB_Illegal (ERRLOG_BASE+12)
-#define NELOG_Service_Fail (ERRLOG_BASE+13)
-#define NELOG_Entries_Lost (ERRLOG_BASE+14)
-#define NELOG_Init_Seg_Overflow (ERRLOG_BASE+20)
-#define NELOG_Srv_No_Mem_Grow (ERRLOG_BASE+21)
-#define NELOG_Access_File_Bad (ERRLOG_BASE+22)
-#define NELOG_Srvnet_Not_Started (ERRLOG_BASE+23)
-#define NELOG_Init_Chardev_Err (ERRLOG_BASE+24)
-#define NELOG_Remote_API (ERRLOG_BASE+25)
-#define NELOG_Ncb_TooManyErr (ERRLOG_BASE+26)
-#define NELOG_Mailslot_err (ERRLOG_BASE+27)
-#define NELOG_ReleaseMem_Alert (ERRLOG_BASE+28)
-#define NELOG_AT_cannot_write (ERRLOG_BASE+29)
-#define NELOG_Cant_Make_Msg_File (ERRLOG_BASE+30)
-#define NELOG_Exec_Netservr_NoMem (ERRLOG_BASE+31)
-#define NELOG_Server_Lock_Failure (ERRLOG_BASE+32)
-#define NELOG_Msg_Shutdown (ERRLOG_BASE+40)
-#define NELOG_Msg_Sem_Shutdown (ERRLOG_BASE+41)
-#define NELOG_Msg_Log_Err (ERRLOG_BASE+50)
-#define NELOG_VIO_POPUP_ERR (ERRLOG_BASE+51)
-#define NELOG_Msg_Unexpected_SMB_Type (ERRLOG_BASE+52)
-#define NELOG_Wksta_Infoseg (ERRLOG_BASE+60)
-#define NELOG_Wksta_Compname (ERRLOG_BASE+61)
-#define NELOG_Wksta_BiosThreadFailure (ERRLOG_BASE+62)
-#define NELOG_Wksta_IniSeg (ERRLOG_BASE+63)
-#define NELOG_Wksta_HostTab_Full (ERRLOG_BASE+64)
-#define NELOG_Wksta_Bad_Mailslot_SMB (ERRLOG_BASE+65)
-#define NELOG_Wksta_UASInit (ERRLOG_BASE+66)
-#define NELOG_Wksta_SSIRelogon (ERRLOG_BASE+67)
-#define NELOG_Build_Name (ERRLOG_BASE+70)
-#define NELOG_Name_Expansion (ERRLOG_BASE+71)
-#define NELOG_Message_Send (ERRLOG_BASE+72)
-#define NELOG_Mail_Slt_Err (ERRLOG_BASE+73)
-#define NELOG_AT_cannot_read (ERRLOG_BASE+74)
-#define NELOG_AT_sched_err (ERRLOG_BASE+75)
-#define NELOG_AT_schedule_file_created (ERRLOG_BASE+76)
-#define NELOG_Srvnet_NB_Open (ERRLOG_BASE+77)
-#define NELOG_AT_Exec_Err (ERRLOG_BASE+78)
-#define NELOG_Lazy_Write_Err (ERRLOG_BASE+80)
-#define NELOG_HotFix (ERRLOG_BASE+81)
-#define NELOG_HardErr_From_Server (ERRLOG_BASE+82)
-#define NELOG_LocalSecFail1 (ERRLOG_BASE+83)
-#define NELOG_LocalSecFail2 (ERRLOG_BASE+84)
-#define NELOG_LocalSecFail3 (ERRLOG_BASE+85)
-#define NELOG_LocalSecGeneralFail (ERRLOG_BASE+86)
-#define NELOG_NetWkSta_Internal_Error (ERRLOG_BASE+90)
-#define NELOG_NetWkSta_No_Resource (ERRLOG_BASE+91)
-#define NELOG_NetWkSta_SMB_Err (ERRLOG_BASE+92)
-#define NELOG_NetWkSta_VC_Err (ERRLOG_BASE+93)
-#define NELOG_NetWkSta_Stuck_VC_Err (ERRLOG_BASE+94)
-#define NELOG_NetWkSta_NCB_Err (ERRLOG_BASE+95)
-#define NELOG_NetWkSta_Write_Behind_Err (ERRLOG_BASE+96)
-#define NELOG_NetWkSta_Reset_Err (ERRLOG_BASE+97)
-#define NELOG_NetWkSta_Too_Many (ERRLOG_BASE+98)
-#define NELOG_Srv_Thread_Failure (ERRLOG_BASE+104)
-#define NELOG_Srv_Close_Failure (ERRLOG_BASE+105)
-#define NELOG_ReplUserCurDir (ERRLOG_BASE+106)
-#define NELOG_ReplCannotMasterDir (ERRLOG_BASE+107)
-#define NELOG_ReplUpdateError (ERRLOG_BASE+108)
-#define NELOG_ReplLostMaster (ERRLOG_BASE+109)
-#define NELOG_NetlogonAuthDCFail (ERRLOG_BASE+110)
-#define NELOG_ReplLogonFailed (ERRLOG_BASE+111)
-#define NELOG_ReplNetErr (ERRLOG_BASE+112)
-#define NELOG_ReplMaxFiles (ERRLOG_BASE+113)
-#define NELOG_ReplMaxTreeDepth (ERRLOG_BASE+114)
-#define NELOG_ReplBadMsg (ERRLOG_BASE+115)
-#define NELOG_ReplSysErr (ERRLOG_BASE+116)
-#define NELOG_ReplUserLoged (ERRLOG_BASE+117)
-#define NELOG_ReplBadImport (ERRLOG_BASE+118)
-#define NELOG_ReplBadExport (ERRLOG_BASE+119)
-#define NELOG_ReplSignalFileErr (ERRLOG_BASE+120)
-#define NELOG_DiskFT (ERRLOG_BASE+121)
-#define NELOG_ReplAccessDenied (ERRLOG_BASE+122)
-#define NELOG_NetlogonFailedPrimary (ERRLOG_BASE+123)
-#define NELOG_NetlogonPasswdSetFailed (ERRLOG_BASE+124)
-#define NELOG_NetlogonTrackingError (ERRLOG_BASE+125)
-#define NELOG_NetlogonSyncError (ERRLOG_BASE+126)
-#define NELOG_UPS_PowerOut (ERRLOG_BASE+130)
-#define NELOG_UPS_Shutdown (ERRLOG_BASE+131)
-#define NELOG_UPS_CmdFileError (ERRLOG_BASE+132)
-#define NELOG_UPS_CannotOpenDriver (ERRLOG_BASE+133)
-#define NELOG_UPS_PowerBack (ERRLOG_BASE+134)
-#define NELOG_UPS_CmdFileConfig (ERRLOG_BASE+135)
-#define NELOG_UPS_CmdFileExec (ERRLOG_BASE+136)
-#define NELOG_Missing_Parameter (ERRLOG_BASE+150)
-#define NELOG_Invalid_Config_Line (ERRLOG_BASE+151)
-#define NELOG_Invalid_Config_File (ERRLOG_BASE+152)
-#define NELOG_File_Changed (ERRLOG_BASE+153)
-#define NELOG_Files_Dont_Fit (ERRLOG_BASE+154)
-#define NELOG_Wrong_DLL_Version (ERRLOG_BASE+155)
-#define NELOG_Error_in_DLL (ERRLOG_BASE+156)
-#define NELOG_System_Error (ERRLOG_BASE+157)
-#define NELOG_FT_ErrLog_Too_Large (ERRLOG_BASE+158)
-#define NELOG_FT_Update_In_Progress (ERRLOG_BASE+159)
-#define NELOG_OEM_Code (ERRLOG_BASE+199)
-#define NELOG_NetlogonSSIInitError ERRLOG2_BASE
-#define NELOG_NetlogonFailedToUpdateTrustList (ERRLOG2_BASE+1)
-#define NELOG_NetlogonFailedToAddRpcInterface (ERRLOG2_BASE+2)
-#define NELOG_NetlogonFailedToReadMailslot (ERRLOG2_BASE+3)
-#define NELOG_NetlogonFailedToRegisterSC (ERRLOG2_BASE+4)
-#define NELOG_NetlogonChangeLogCorrupt (ERRLOG2_BASE+5)
-#define NELOG_NetlogonFailedToCreateShare (ERRLOG2_BASE+6)
-#define NELOG_NetlogonDownLevelLogonFailed (ERRLOG2_BASE+7)
-#define NELOG_NetlogonDownLevelLogoffFailed (ERRLOG2_BASE+8)
-#define NELOG_NetlogonNTLogonFailed (ERRLOG2_BASE+9)
-#define NELOG_NetlogonNTLogoffFailed (ERRLOG2_BASE+10)
-#define NELOG_NetlogonPartialSyncCallSuccess (ERRLOG2_BASE+11)
-#define NELOG_NetlogonPartialSyncCallFailed (ERRLOG2_BASE+12)
-#define NELOG_NetlogonFullSyncCallSuccess (ERRLOG2_BASE+13)
-#define NELOG_NetlogonFullSyncCallFailed (ERRLOG2_BASE+14)
-#define NELOG_NetlogonPartialSyncSuccess (ERRLOG2_BASE+15)
-#define NELOG_NetlogonPartialSyncFailed (ERRLOG2_BASE+16)
-#define NELOG_NetlogonFullSyncSuccess (ERRLOG2_BASE+17)
-#define NELOG_NetlogonFullSyncFailed (ERRLOG2_BASE+18)
-#define NELOG_NetlogonAuthNoDomainController (ERRLOG2_BASE+19)
-#define NELOG_NetlogonAuthNoTrustLsaSecret (ERRLOG2_BASE+20)
-#define NELOG_NetlogonAuthNoTrustSamAccount (ERRLOG2_BASE+21)
-#define NELOG_NetlogonServerAuthFailed (ERRLOG2_BASE+22)
-#define NELOG_NetlogonServerAuthNoTrustSamAccount (ERRLOG2_BASE+23)
-#define NELOG_FailedToRegisterSC (ERRLOG2_BASE+24)
-#define NELOG_FailedToSetServiceStatus (ERRLOG2_BASE+25)
-#define NELOG_FailedToGetComputerName (ERRLOG2_BASE+26)
-#define NELOG_DriverNotLoaded (ERRLOG2_BASE+27)
-#define NELOG_NoTranportLoaded (ERRLOG2_BASE+28)
-#define NELOG_NetlogonFailedDomainDelta (ERRLOG2_BASE+29)
-#define NELOG_NetlogonFailedGlobalGroupDelta (ERRLOG2_BASE+30)
-#define NELOG_NetlogonFailedLocalGroupDelta (ERRLOG2_BASE+31)
-#define NELOG_NetlogonFailedUserDelta (ERRLOG2_BASE+32)
-#define NELOG_NetlogonFailedPolicyDelta (ERRLOG2_BASE+33)
-#define NELOG_NetlogonFailedTrustedDomainDelta (ERRLOG2_BASE+34)
-#define NELOG_NetlogonFailedAccountDelta (ERRLOG2_BASE+35)
-#define NELOG_NetlogonFailedSecretDelta (ERRLOG2_BASE+36)
-#define NELOG_NetlogonSystemError (ERRLOG2_BASE+37)
-#define NELOG_NetlogonDuplicateMachineAccounts (ERRLOG2_BASE+38)
-#define NELOG_NetlogonTooManyGlobalGroups (ERRLOG2_BASE+39)
-#define NELOG_NetlogonBrowserDriver (ERRLOG2_BASE+40)
-#define NELOG_NetlogonAddNameFailure (ERRLOG2_BASE+41)
-#define NELOG_RplMessages (ERRLOG2_BASE+42)
-#define NELOG_RplXnsBoot (ERRLOG2_BASE+43)
-#define NELOG_RplSystem (ERRLOG2_BASE+44)
-#define NELOG_RplWkstaTimeout (ERRLOG2_BASE+45)
-#define NELOG_RplWkstaFileOpen (ERRLOG2_BASE+46)
-#define NELOG_RplWkstaFileRead (ERRLOG2_BASE+47)
-#define NELOG_RplWkstaMemory (ERRLOG2_BASE+48)
-#define NELOG_RplWkstaFileChecksum (ERRLOG2_BASE+49)
-#define NELOG_RplWkstaFileLineCount (ERRLOG2_BASE+50)
-#define NELOG_RplWkstaBbcFile (ERRLOG2_BASE+51)
-#define NELOG_RplWkstaFileSize (ERRLOG2_BASE+52)
-#define NELOG_RplWkstaInternal (ERRLOG2_BASE+53)
-#define NELOG_RplWkstaWrongVersion (ERRLOG2_BASE+54)
-#define NELOG_RplWkstaNetwork (ERRLOG2_BASE+55)
-#define NELOG_RplAdapterResource (ERRLOG2_BASE+56)
-#define NELOG_RplFileCopy (ERRLOG2_BASE+57)
-#define NELOG_RplFileDelete (ERRLOG2_BASE+58)
-#define NELOG_RplFilePerms (ERRLOG2_BASE+59)
-#define NELOG_RplCheckConfigs (ERRLOG2_BASE+60)
-#define NELOG_RplCreateProfiles (ERRLOG2_BASE+61)
-#define NELOG_RplRegistry (ERRLOG2_BASE+62)
-#define NELOG_RplReplaceRPLDISK (ERRLOG2_BASE+63)
-#define NELOG_RplCheckSecurity (ERRLOG2_BASE+64)
-#define NELOG_RplBackupDatabase (ERRLOG2_BASE+65)
-#define NELOG_RplInitDatabase (ERRLOG2_BASE+66)
-#define NELOG_RplRestoreDatabaseFailure (ERRLOG2_BASE+67)
-#define NELOG_RplRestoreDatabaseSuccess (ERRLOG2_BASE+68)
-#define NELOG_RplInitRestoredDatabase (ERRLOG2_BASE+69)
-#define NELOG_NetlogonSessionTypeWrong (ERRLOG2_BASE+70)
-#define REVISED_ERROR_LOG_STRUCT
-typedef struct _ERROR_LOG {
-	DWORD el_len;
-	DWORD el_reserved;
-	DWORD el_time;
-	DWORD el_error;
-	LPWSTR el_name;
-	LPWSTR el_text;
-	LPBYTE el_data;
-	DWORD el_data_size;
-	DWORD el_nstrings;
-} ERROR_LOG,*PERROR_LOG,*LPERROR_LOG;
-NET_API_STATUS WINAPI NetErrorLogClear(LPCWSTR,LPCWSTR,LPBYTE);
-NET_API_STATUS WINAPI NetErrorLogRead(LPCWSTR,LPWSTR,LPHLOG,DWORD,LPDWORD,DWORD,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD);
-NET_API_STATUS WINAPI NetErrorLogWrite(LPBYTE,DWORD,LPCWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPBYTE);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmmsg.h
===================================================================
--- Daodan/MinGW/include/lmmsg.h	(revision 1046)
+++ 	(revision )
@@ -1,27 +1,0 @@
-#ifndef _LMMSG_H
-#define _LMMSG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define MSGNAME_NOT_FORWARDED 0
-#define MSGNAME_FORWARDED_TO 4
-#define MSGNAME_FORWARDED_FROM 16
-typedef struct _MSG_INFO_0 { LPWSTR msgi0_name; }MSG_INFO_0,*PMSG_INFO_0,*LPMSG_INFO_0;
-typedef struct _MSG_INFO_1 {
-	LPWSTR msgi1_name;
-	DWORD msgi1_forward_flag;
-	LPWSTR msgi1_forward;
-}MSG_INFO_1,*PMSG_INFO_1,*LPMSG_INFO_1;
-NET_API_STATUS WINAPI NetMessageBufferSend(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetMessageNameAdd(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetMessageNameDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetMessageNameEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetMessageNameGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmremutl.h
===================================================================
--- Daodan/MinGW/include/lmremutl.h	(revision 1046)
+++ 	(revision )
@@ -1,45 +1,0 @@
-#ifndef _LMREMUTL_H
-#define _LMREMUTL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SUPPORTS_REMOTE_ADMIN_PROTOCOL 2
-#define SUPPORTS_RPC 4
-#define SUPPORTS_SAM_PROTOCOL 8
-#define SUPPORTS_UNICODE 16
-#define SUPPORTS_LOCAL 32
-#define SUPPORTS_ANY 0xFFFFFFFF
-#define NO_PERMISSION_REQUIRED 1
-#define ALLOCATE_RESPONSE 2
-#define USE_SPECIFIC_TRANSPORT 0x80000000
-#ifndef DESC_CHAR_UNICODE
-typedef CHAR DESC_CHAR;
-#else
-typedef WCHAR DESC_CHAR;
-#endif
-typedef DESC_CHAR *LPDESC;
-typedef struct _TIME_OF_DAY_INFO {
-	DWORD tod_elapsedt;
-	DWORD tod_msecs;
-	DWORD tod_hours;
-	DWORD tod_mins;
-	DWORD tod_secs;
-	DWORD tod_hunds;
-	LONG tod_timezone;
-	DWORD tod_tinterval;
-	DWORD tod_day;
-	DWORD tod_month;
-	DWORD tod_year;
-	DWORD tod_weekday;
-} TIME_OF_DAY_INFO,*PTIME_OF_DAY_INFO,*LPTIME_OF_DAY_INFO;
-NET_API_STATUS WINAPI NetRemoteTOD(LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetRemoteComputerSupports(LPCWSTR,DWORD,PDWORD);
-NET_API_STATUS RxRemoteApi(DWORD,LPCWSTR,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,DWORD,... );
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmrepl.h
===================================================================
--- Daodan/MinGW/include/lmrepl.h	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-#ifndef _LMREPL_H
-#define _LMREPL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REPL_ROLE_EXPORT 1
-#define REPL_ROLE_IMPORT 2
-#define REPL_ROLE_BOTH 3
-#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0)
-#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1)
-#define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+2)
-#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3)
-#define REPL_UNLOCK_NOFORCE 0
-#define REPL_UNLOCK_FORCE 1
-#define REPL_STATE_OK 0
-#define REPL_STATE_NO_MASTER 1
-#define REPL_STATE_NO_SYNC 2
-#define REPL_STATE_NEVER_REPLICATED 3
-#define REPL_INTEGRITY_FILE 1
-#define REPL_INTEGRITY_TREE 2
-#define REPL_EXTENT_FILE 1
-#define REPL_EXTENT_TREE 2
-#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0)
-#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1)
-typedef struct _REPL_INFO_0 {
-	DWORD rp0_role;
-	LPWSTR rp0_exportpath;
-	LPWSTR rp0_exportlist;
-	LPWSTR rp0_importpath;
-	LPWSTR rp0_importlist;
-	LPWSTR rp0_logonusername;
-	DWORD rp0_interval;
-	DWORD rp0_pulse;
-	DWORD rp0_guardtime;
-	DWORD rp0_random;
-} REPL_INFO_0,*PREPL_INFO_0,*LPREPL_INFO_0;
-typedef struct _REPL_INFO_1000 { DWORD rp1000_interval; } REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000;
-typedef struct _REPL_INFO_1001 { DWORD rp1001_pulse; } REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001;
-typedef struct _REPL_INFO_1002 { DWORD rp1002_guardtime; } REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002;
-typedef struct _REPL_INFO_1003 { DWORD rp1003_random; } REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003;
-
-NET_API_STATUS WINAPI NetReplGetInfo(LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD);
-typedef struct _REPL_EDIR_INFO_0 {
-	LPWSTR rped0_dirname;
-} REPL_EDIR_INFO_0,*PREPL_EDIR_INFO_0,*LPREPL_EDIR_INFO_0;
-typedef struct _REPL_EDIR_INFO_1 {
-	LPWSTR rped1_dirname;
-	DWORD rped1_integrity;
-	DWORD rped1_extent;
-} REPL_EDIR_INFO_1,*PREPL_EDIR_INFO_1,*LPREPL_EDIR_INFO_1;
-typedef struct _REPL_EDIR_INFO_2 {
-	LPWSTR rped2_dirname;
-	DWORD rped2_integrity;
-	DWORD rped2_extent;
-	DWORD rped2_lockcount;
-	DWORD rped2_locktime;
-} REPL_EDIR_INFO_2,*PREPL_EDIR_INFO_2,*LPREPL_EDIR_INFO_2;
-typedef struct _REPL_EDIR_INFO_1000 {
-	DWORD rped1000_integrity;
-} REPL_EDIR_INFO_1000,*PREPL_EDIR_INFO_1000,*LPREPL_EDIR_INFO_1000;
-typedef struct _REPL_EDIR_INFO_1001 {
-	DWORD rped1001_extent;
-} REPL_EDIR_INFO_1001,*PREPL_EDIR_INFO_1001,*LPREPL_EDIR_INFO_1001;
-typedef struct _REPL_IDIR_INFO_0 { LPWSTR rpid0_dirname; } REPL_IDIR_INFO_0,*PREPL_IDIR_INFO_0,*LPREPL_IDIR_INFO_0;
-typedef struct _REPL_IDIR_INFO_1 {
-	LPWSTR rpid1_dirname;
-	DWORD rpid1_state;
-	LPWSTR rpid1_mastername;
-	DWORD rpid1_last_update_time;
-	DWORD rpid1_lockcount;
-	DWORD rpid1_locktime;
-} REPL_IDIR_INFO_1,*PREPL_IDIR_INFO_1,*LPREPL_IDIR_INFO_1;
-NET_API_STATUS WINAPI NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirLock(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
-NET_API_STATUS WINAPI NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplImportDirDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplImportDirLock(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmserver.h
===================================================================
--- Daodan/MinGW/include/lmserver.h	(revision 1046)
+++ 	(revision )
@@ -1,606 +1,0 @@
-#ifndef _LMSERVER_H
-#define _LMSERVER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <winsvc.h>
-#include <lmcons.h>
-typedef struct _SERVER_INFO_100 {
-DWORD	sv100_platform_id;
-LPWSTR	sv100_name;
-} SERVER_INFO_100,*PSERVER_INFO_100,*LPSERVER_INFO_100;
-typedef struct _SERVER_INFO_101 {
-DWORD	sv101_platform_id;
-LPWSTR	sv101_name;
-DWORD	sv101_version_major;
-DWORD	sv101_version_minor;
-DWORD	sv101_type;
-LPWSTR	sv101_comment;
-} SERVER_INFO_101,*PSERVER_INFO_101,*LPSERVER_INFO_101;
-typedef struct _SERVER_INFO_102 {
-DWORD	sv102_platform_id;
-LPWSTR	sv102_name;
-DWORD	sv102_version_major;
-DWORD	sv102_version_minor;
-DWORD	sv102_type;
-LPWSTR	sv102_comment;
-DWORD	sv102_users;
-LONG	sv102_disc;
-BOOL	sv102_hidden;
-DWORD	sv102_announce;
-DWORD	sv102_anndelta;
-DWORD	sv102_licenses;
-LPWSTR	sv102_userpath;
-} SERVER_INFO_102,*PSERVER_INFO_102,*LPSERVER_INFO_102;
-typedef struct _SERVER_INFO_402 {
-DWORD	sv402_ulist_mtime;
-DWORD	sv402_glist_mtime;
-DWORD	sv402_alist_mtime;
-LPWSTR	sv402_alerts;
-DWORD	sv402_security;
-DWORD	sv402_numadmin;
-DWORD	sv402_lanmask;
-LPWSTR	sv402_guestacct;
-DWORD	sv402_chdevs;
-DWORD	sv402_chdevq;
-DWORD	sv402_chdevjobs;
-DWORD	sv402_connections;
-DWORD	sv402_shares;
-DWORD	sv402_openfiles;
-DWORD	sv402_sessopens;
-DWORD	sv402_sessvcs;
-DWORD	sv402_sessreqs;
-DWORD	sv402_opensearch;
-DWORD	sv402_activelocks;
-DWORD	sv402_numreqbuf;
-DWORD	sv402_sizreqbuf;
-DWORD	sv402_numbigbuf;
-DWORD	sv402_numfiletasks;
-DWORD	sv402_alertsched;
-DWORD	sv402_erroralert;
-DWORD	sv402_logonalert;
-DWORD	sv402_accessalert;
-DWORD	sv402_diskalert;
-DWORD	sv402_netioalert;
-DWORD	sv402_maxauditsz;
-LPWSTR	sv402_srvheuristics;
-} SERVER_INFO_402,*PSERVER_INFO_402,*LPSERVER_INFO_402;
-typedef struct _SERVER_INFO_403 {
-DWORD	sv403_ulist_mtime;
-DWORD	sv403_glist_mtime;
-DWORD	sv403_alist_mtime;
-LPWSTR	sv403_alerts;
-DWORD	sv403_security;
-DWORD	sv403_numadmin;
-DWORD	sv403_lanmask;
-LPWSTR	sv403_guestacct;
-DWORD	sv403_chdevs;
-DWORD	sv403_chdevq;
-DWORD	sv403_chdevjobs;
-DWORD	sv403_connections;
-DWORD	sv403_shares;
-DWORD	sv403_openfiles;
-DWORD	sv403_sessopens;
-DWORD	sv403_sessvcs;
-DWORD	sv403_sessreqs;
-DWORD	sv403_opensearch;
-DWORD	sv403_activelocks;
-DWORD	sv403_numreqbuf;
-DWORD	sv403_sizreqbuf;
-DWORD	sv403_numbigbuf;
-DWORD	sv403_numfiletasks;
-DWORD	sv403_alertsched;
-DWORD	sv403_erroralert;
-DWORD	sv403_logonalert;
-DWORD	sv403_accessalert;
-DWORD	sv403_diskalert;
-DWORD	sv403_netioalert;
-DWORD	sv403_maxauditsz;
-LPWSTR	sv403_srvheuristics;
-DWORD	sv403_auditedevents;
-DWORD	sv403_autoprofile;
-LPWSTR	sv403_autopath;
-} SERVER_INFO_403,*PSERVER_INFO_403,*LPSERVER_INFO_403;
-typedef struct _SERVER_INFO_502 {
-DWORD	sv502_sessopens;
-DWORD	sv502_sessvcs;
-DWORD	sv502_opensearch;
-DWORD	sv502_sizreqbuf;
-DWORD	sv502_initworkitems;
-DWORD	sv502_maxworkitems;
-DWORD	sv502_rawworkitems;
-DWORD	sv502_irpstacksize;
-DWORD	sv502_maxrawbuflen;
-DWORD	sv502_sessusers;
-DWORD	sv502_sessconns;
-DWORD	sv502_maxpagedmemoryusage;
-DWORD	sv502_maxnonpagedmemoryusage;
-BOOL	sv502_enablesoftcompat;
-BOOL	sv502_enableforcedlogoff;
-BOOL	sv502_timesource;
-BOOL	sv502_acceptdownlevelapis;
-BOOL	sv502_lmannounce;
-} SERVER_INFO_502,*PSERVER_INFO_502,*LPSERVER_INFO_502;
-typedef struct _SERVER_INFO_503 {
-DWORD	sv503_sessopens;
-DWORD	sv503_sessvcs;
-DWORD	sv503_opensearch;
-DWORD	sv503_sizreqbuf;
-DWORD	sv503_initworkitems;
-DWORD	sv503_maxworkitems;
-DWORD	sv503_rawworkitems;
-DWORD	sv503_irpstacksize;
-DWORD	sv503_maxrawbuflen;
-DWORD	sv503_sessusers;
-DWORD	sv503_sessconns;
-DWORD	sv503_maxpagedmemoryusage;
-DWORD	sv503_maxnonpagedmemoryusage;
-BOOL	sv503_enablesoftcompat;
-BOOL	sv503_enableforcedlogoff;
-BOOL	sv503_timesource;
-BOOL	sv503_acceptdownlevelapis;
-BOOL	sv503_lmannounce;
-LPWSTR	sv503_domain;
-DWORD	sv503_maxcopyreadlen;
-DWORD	sv503_maxcopywritelen;
-DWORD	sv503_minkeepsearch;
-DWORD	sv503_maxkeepsearch;
-DWORD	sv503_minkeepcomplsearch;
-DWORD	sv503_maxkeepcomplsearch;
-DWORD	sv503_threadcountadd;
-DWORD	sv503_numblockthreads;
-DWORD	sv503_scavtimeout;
-DWORD	sv503_minrcvqueue;
-DWORD	sv503_minfreeworkitems;
-DWORD	sv503_xactmemsize;
-DWORD	sv503_threadpriority;
-DWORD	sv503_maxmpxct;
-DWORD	sv503_oplockbreakwait;
-DWORD	sv503_oplockbreakresponsewait;
-BOOL	sv503_enableoplocks;
-BOOL	sv503_enableoplockforceclose;
-BOOL	sv503_enablefcbopens;
-BOOL	sv503_enableraw;
-BOOL	sv503_enablesharednetdrives;
-DWORD	sv503_minfreeconnections;
-DWORD	sv503_maxfreeconnections;
-} SERVER_INFO_503,*PSERVER_INFO_503,*LPSERVER_INFO_503;
-typedef struct _SERVER_INFO_599 {
-DWORD	sv599_sessopens;
-DWORD	sv599_sessvcs;
-DWORD	sv599_opensearch;
-DWORD	sv599_sizreqbuf;
-DWORD	sv599_initworkitems;
-DWORD	sv599_maxworkitems;
-DWORD	sv599_rawworkitems;
-DWORD	sv599_irpstacksize;
-DWORD	sv599_maxrawbuflen;
-DWORD	sv599_sessusers;
-DWORD	sv599_sessconns;
-DWORD	sv599_maxpagedmemoryusage;
-DWORD	sv599_maxnonpagedmemoryusage;
-BOOL	sv599_enablesoftcompat;
-BOOL	sv599_enableforcedlogoff;
-BOOL	sv599_timesource;
-BOOL	sv599_acceptdownlevelapis;
-BOOL	sv599_lmannounce;
-LPWSTR	sv599_domain;
-DWORD	sv599_maxcopyreadlen;
-DWORD	sv599_maxcopywritelen;
-DWORD	sv599_minkeepsearch;
-DWORD	sv599_maxkeepsearch;
-DWORD	sv599_minkeepcomplsearch;
-DWORD	sv599_maxkeepcomplsearch;
-DWORD	sv599_threadcountadd;
-DWORD	sv599_numblockthreads;
-DWORD	sv599_scavtimeout;
-DWORD	sv599_minrcvqueue;
-DWORD	sv599_minfreeworkitems;
-DWORD	sv599_xactmemsize;
-DWORD	sv599_threadpriority;
-DWORD	sv599_maxmpxct;
-DWORD	sv599_oplockbreakwait;
-DWORD	sv599_oplockbreakresponsewait;
-BOOL	sv599_enableoplocks;
-BOOL	sv599_enableoplockforceclose;
-BOOL	sv599_enablefcbopens;
-BOOL	sv599_enableraw;
-BOOL	sv599_enablesharednetdrives;
-DWORD	sv599_minfreeconnections;
-DWORD	sv599_maxfreeconnections;
-DWORD	sv599_initsesstable;
-DWORD	sv599_initconntable;
-DWORD	sv599_initfiletable;
-DWORD	sv599_initsearchtable;
-DWORD	sv599_alertschedule;
-DWORD	sv599_errorthreshold;
-DWORD	sv599_networkerrorthreshold;
-DWORD	sv599_diskspacethreshold;
-DWORD	sv599_reserved;
-DWORD	sv599_maxlinkdelay;
-DWORD	sv599_minlinkthroughput;
-DWORD	sv599_linkinfovalidtime;
-DWORD	sv599_scavqosinfoupdatetime;
-DWORD	sv599_maxworkitemidletime;
-} SERVER_INFO_599,*PSERVER_INFO_599,*LPSERVER_INFO_599;
-typedef struct _SERVER_INFO_598 {
-DWORD	sv598_maxrawworkitems;
-DWORD	sv598_maxthreadsperqueue;
-DWORD	sv598_producttype;
-DWORD	sv598_serversize;
-DWORD	sv598_connectionlessautodisc;
-DWORD	sv598_sharingviolationretries;
-DWORD	sv598_sharingviolationdelay;
-DWORD	sv598_maxglobalopensearch;
-DWORD	sv598_removeduplicatesearches;
-DWORD	sv598_lockviolationoffset;
-DWORD	sv598_lockviolationdelay;
-DWORD	sv598_mdlreadswitchover;
-DWORD	sv598_cachedopenlimit;
-DWORD	sv598_otherqueueaffinity;
-BOOL	sv598_restrictnullsessaccess;
-BOOL	sv598_enablewfw311directipx;
-DWORD	sv598_queuesamplesecs;
-DWORD	sv598_balancecount;
-DWORD	sv598_preferredaffinity;
-DWORD	sv598_maxfreerfcbs;
-DWORD	sv598_maxfreemfcbs;
-DWORD	sv598_maxfreelfcbs;
-DWORD	sv598_maxfreepagedpoolchunks;
-DWORD	sv598_minpagedpoolchunksize;
-DWORD	sv598_maxpagedpoolchunksize;
-BOOL	sv598_sendsfrompreferredprocessor;
-} SERVER_INFO_598,*PSERVER_INFO_598,*LPSERVER_INFO_598;
-typedef struct _SERVER_INFO_1005 {LPWSTR sv1005_comment; } SERVER_INFO_1005,*PSERVER_INFO_1005,*LPSERVER_INFO_1005;
-typedef struct _SERVER_INFO_1107 { DWORD sv1107_users; } SERVER_INFO_1107,*PSERVER_INFO_1107,*LPSERVER_INFO_1107;
-typedef struct _SERVER_INFO_1010 { LONG sv1010_disc; } SERVER_INFO_1010,*PSERVER_INFO_1010,*LPSERVER_INFO_1010;
-typedef struct _SERVER_INFO_1016 { BOOL sv1016_hidden; } SERVER_INFO_1016,*PSERVER_INFO_1016,*LPSERVER_INFO_1016;
-typedef struct _SERVER_INFO_1017 { DWORD sv1017_announce; } SERVER_INFO_1017,*PSERVER_INFO_1017,*LPSERVER_INFO_1017;
-typedef struct _SERVER_INFO_1018 { DWORD sv1018_anndelta; } SERVER_INFO_1018,*PSERVER_INFO_1018,*LPSERVER_INFO_1018;
-typedef struct _SERVER_INFO_1501 { DWORD sv1501_sessopens; } SERVER_INFO_1501,*PSERVER_INFO_1501,*LPSERVER_INFO_1501;
-typedef struct _SERVER_INFO_1502 { DWORD sv1502_sessvcs; } SERVER_INFO_1502,*PSERVER_INFO_1502,*LPSERVER_INFO_1502;
-typedef struct _SERVER_INFO_1503 { DWORD sv1503_opensearch; } SERVER_INFO_1503,*PSERVER_INFO_1503,*LPSERVER_INFO_1503;
-typedef struct _SERVER_INFO_1506 { DWORD sv1506_maxworkitems; } SERVER_INFO_1506,*PSERVER_INFO_1506,*LPSERVER_INFO_1506;
-typedef struct _SERVER_INFO_1509 { DWORD sv1509_maxrawbuflen; } SERVER_INFO_1509,*PSERVER_INFO_1509,*LPSERVER_INFO_1509;
-typedef struct _SERVER_INFO_1510 { DWORD sv1510_sessusers; } SERVER_INFO_1510,*PSERVER_INFO_1510,*LPSERVER_INFO_1510;
-typedef struct _SERVER_INFO_1511 { DWORD sv1511_sessconns; } SERVER_INFO_1511,*PSERVER_INFO_1511,*LPSERVER_INFO_1511;
-typedef struct _SERVER_INFO_1512 { DWORD sv1512_maxnonpagedmemoryusage; } SERVER_INFO_1512,*PSERVER_INFO_1512,*LPSERVER_INFO_1512;
-typedef struct _SERVER_INFO_1513 { DWORD sv1513_maxpagedmemoryusage; } SERVER_INFO_1513,*PSERVER_INFO_1513,*LPSERVER_INFO_1513;
-typedef struct _SERVER_INFO_1514 { BOOL sv1514_enablesoftcompat; } SERVER_INFO_1514,*PSERVER_INFO_1514,*LPSERVER_INFO_1514;
-typedef struct _SERVER_INFO_1515 { BOOL sv1515_enableforcedlogoff; } SERVER_INFO_1515,*PSERVER_INFO_1515,*LPSERVER_INFO_1515;
-typedef struct _SERVER_INFO_1516 { BOOL sv1516_timesource; } SERVER_INFO_1516,*PSERVER_INFO_1516,*LPSERVER_INFO_1516;
-typedef struct _SERVER_INFO_1518 { BOOL sv1518_lmannounce; } SERVER_INFO_1518,*PSERVER_INFO_1518,*LPSERVER_INFO_1518;
-typedef struct _SERVER_INFO_1520 { DWORD sv1520_maxcopyreadlen; } SERVER_INFO_1520,*PSERVER_INFO_1520,*LPSERVER_INFO_1520;
-typedef struct _SERVER_INFO_1521 { DWORD sv1521_maxcopywritelen; } SERVER_INFO_1521,*PSERVER_INFO_1521,*LPSERVER_INFO_1521;
-typedef struct _SERVER_INFO_1522 { DWORD sv1522_minkeepsearch; } SERVER_INFO_1522,*PSERVER_INFO_1522,*LPSERVER_INFO_1522;
-typedef struct _SERVER_INFO_1523 { DWORD sv1523_maxkeepsearch; } SERVER_INFO_1523,*PSERVER_INFO_1523,*LPSERVER_INFO_1523;
-typedef struct _SERVER_INFO_1524 { DWORD sv1524_minkeepcomplsearch; } SERVER_INFO_1524,*PSERVER_INFO_1524,*LPSERVER_INFO_1524;
-typedef struct _SERVER_INFO_1525 { DWORD sv1525_maxkeepcomplsearch; } SERVER_INFO_1525,*PSERVER_INFO_1525,*LPSERVER_INFO_1525;
-typedef struct _SERVER_INFO_1528 { DWORD sv1528_scavtimeout; } SERVER_INFO_1528,*PSERVER_INFO_1528,*LPSERVER_INFO_1528;
-typedef struct _SERVER_INFO_1529 { DWORD sv1529_minrcvqueue; } SERVER_INFO_1529,*PSERVER_INFO_1529,*LPSERVER_INFO_1529;
-typedef struct _SERVER_INFO_1530 { DWORD sv1530_minfreeworkitems; } SERVER_INFO_1530,*PSERVER_INFO_1530,*LPSERVER_INFO_1530;
-typedef struct _SERVER_INFO_1533 { DWORD sv1533_maxmpxct; } SERVER_INFO_1533,*PSERVER_INFO_1533,*LPSERVER_INFO_1533;
-typedef struct _SERVER_INFO_1534 { DWORD sv1534_oplockbreakwait; } SERVER_INFO_1534,*PSERVER_INFO_1534,*LPSERVER_INFO_1534;
-typedef struct _SERVER_INFO_1535 { DWORD sv1535_oplockbreakresponsewait; } SERVER_INFO_1535,*PSERVER_INFO_1535,*LPSERVER_INFO_1535;
-typedef struct _SERVER_INFO_1536 { BOOL sv1536_enableoplocks; } SERVER_INFO_1536,*PSERVER_INFO_1536,*LPSERVER_INFO_1536;
-typedef struct _SERVER_INFO_1537 { BOOL sv1537_enableoplockforceclose; } SERVER_INFO_1537,*PSERVER_INFO_1537,*LPSERVER_INFO_1537;
-typedef struct _SERVER_INFO_1538 { BOOL sv1538_enablefcbopens; } SERVER_INFO_1538,*PSERVER_INFO_1538,*LPSERVER_INFO_1538;
-typedef struct _SERVER_INFO_1539 { BOOL sv1539_enableraw; } SERVER_INFO_1539,*PSERVER_INFO_1539,*LPSERVER_INFO_1539;
-typedef struct _SERVER_INFO_1540 { BOOL sv1540_enablesharednetdrives; } SERVER_INFO_1540,*PSERVER_INFO_1540,*LPSERVER_INFO_1540;
-typedef struct _SERVER_INFO_1541 { BOOL sv1541_minfreeconnections; } SERVER_INFO_1541,*PSERVER_INFO_1541,*LPSERVER_INFO_1541;
-typedef struct _SERVER_INFO_1542 { BOOL sv1542_maxfreeconnections; } SERVER_INFO_1542,*PSERVER_INFO_1542,*LPSERVER_INFO_1542;
-typedef struct _SERVER_INFO_1543 { DWORD sv1543_initsesstable; } SERVER_INFO_1543,*PSERVER_INFO_1543,*LPSERVER_INFO_1543;
-typedef struct _SERVER_INFO_1544 { DWORD sv1544_initconntable; } SERVER_INFO_1544,*PSERVER_INFO_1544,*LPSERVER_INFO_1544;
-typedef struct _SERVER_INFO_1545 { DWORD sv1545_initfiletable; } SERVER_INFO_1545,*PSERVER_INFO_1545,*LPSERVER_INFO_1545;
-typedef struct _SERVER_INFO_1546 { DWORD sv1546_initsearchtable; } SERVER_INFO_1546,*PSERVER_INFO_1546,*LPSERVER_INFO_1546;
-typedef struct _SERVER_INFO_1547 { DWORD sv1547_alertschedule; } SERVER_INFO_1547,*PSERVER_INFO_1547,*LPSERVER_INFO_1547;
-typedef struct _SERVER_INFO_1548 { DWORD sv1548_errorthreshold; } SERVER_INFO_1548,*PSERVER_INFO_1548,*LPSERVER_INFO_1548;
-typedef struct _SERVER_INFO_1549 { DWORD sv1549_networkerrorthreshold; } SERVER_INFO_1549,*PSERVER_INFO_1549,*LPSERVER_INFO_1549;
-typedef struct _SERVER_INFO_1550 { DWORD sv1550_diskspacethreshold; } SERVER_INFO_1550,*PSERVER_INFO_1550,*LPSERVER_INFO_1550;
-typedef struct _SERVER_INFO_1552 { DWORD sv1552_maxlinkdelay; } SERVER_INFO_1552,*PSERVER_INFO_1552,*LPSERVER_INFO_1552;
-typedef struct _SERVER_INFO_1553 { DWORD sv1553_minlinkthroughput; } SERVER_INFO_1553,*PSERVER_INFO_1553,*LPSERVER_INFO_1553;
-typedef struct _SERVER_INFO_1554 { DWORD sv1554_linkinfovalidtime; } SERVER_INFO_1554,*PSERVER_INFO_1554,*LPSERVER_INFO_1554;
-typedef struct _SERVER_INFO_1555 { DWORD sv1555_scavqosinfoupdatetime; } SERVER_INFO_1555,*PSERVER_INFO_1555,*LPSERVER_INFO_1555;
-typedef struct _SERVER_INFO_1556 { DWORD sv1556_maxworkitemidletime; } SERVER_INFO_1556,*PSERVER_INFO_1556,*LPSERVER_INFO_1556;
-typedef struct _SERVER_INFO_1557 { DWORD sv1557_maxrawworkitems; } SERVER_INFO_1557,*PSERVER_INFO_1557,*LPSERVER_INFO_1557;
-typedef struct _SERVER_INFO_1560 { DWORD sv1560_producttype; } SERVER_INFO_1560,*PSERVER_INFO_1560,*LPSERVER_INFO_1560;
-typedef struct _SERVER_INFO_1561 { DWORD sv1561_serversize; } SERVER_INFO_1561,*PSERVER_INFO_1561,*LPSERVER_INFO_1561;
-typedef struct _SERVER_INFO_1562 { DWORD sv1562_connectionlessautodisc; } SERVER_INFO_1562,*PSERVER_INFO_1562,*LPSERVER_INFO_1562;
-typedef struct _SERVER_INFO_1563 { DWORD sv1563_sharingviolationretries; } SERVER_INFO_1563,*PSERVER_INFO_1563,*LPSERVER_INFO_1563;
-typedef struct _SERVER_INFO_1564 { DWORD sv1564_sharingviolationdelay; } SERVER_INFO_1564,*PSERVER_INFO_1564,*LPSERVER_INFO_1564;
-typedef struct _SERVER_INFO_1565 { DWORD sv1565_maxglobalopensearch; } SERVER_INFO_1565,*PSERVER_INFO_1565,*LPSERVER_INFO_1565;
-typedef struct _SERVER_INFO_1566 { BOOL sv1566_removeduplicatesearches; } SERVER_INFO_1566,*PSERVER_INFO_1566,*LPSERVER_INFO_1566;
-typedef struct _SERVER_INFO_1567 { DWORD sv1567_lockviolationretries; } SERVER_INFO_1567,*PSERVER_INFO_1567,*LPSERVER_INFO_1567;
-typedef struct _SERVER_INFO_1568 { DWORD sv1568_lockviolationoffset; } SERVER_INFO_1568,*PSERVER_INFO_1568,*LPSERVER_INFO_1568;
-typedef struct _SERVER_INFO_1569 { DWORD sv1569_lockviolationdelay; } SERVER_INFO_1569,*PSERVER_INFO_1569,*LPSERVER_INFO_1569;
-typedef struct _SERVER_INFO_1570 { DWORD sv1570_mdlreadswitchover; } SERVER_INFO_1570,*PSERVER_INFO_1570,*LPSERVER_INFO_1570;
-typedef struct _SERVER_INFO_1571 { DWORD sv1571_cachedopenlimit; } SERVER_INFO_1571,*PSERVER_INFO_1571,*LPSERVER_INFO_1571;
-typedef struct _SERVER_INFO_1572 { DWORD sv1572_criticalthreads; } SERVER_INFO_1572,*PSERVER_INFO_1572,*LPSERVER_INFO_1572;
-typedef struct _SERVER_INFO_1573 { DWORD sv1573_restrictnullsessaccess; } SERVER_INFO_1573,*PSERVER_INFO_1573,*LPSERVER_INFO_1573;
-typedef struct _SERVER_INFO_1574 { DWORD sv1574_enablewfw311directipx;} SERVER_INFO_1574,*PSERVER_INFO_1574,*LPSERVER_INFO_1574;
-typedef struct _SERVER_INFO_1575 { DWORD sv1575_otherqueueaffinity; } SERVER_INFO_1575,*PSERVER_INFO_1575,*LPSERVER_INFO_1575;
-typedef struct _SERVER_INFO_1576 { DWORD sv1576_queuesamplesecs; } SERVER_INFO_1576,*PSERVER_INFO_1576,*LPSERVER_INFO_1576;
-typedef struct _SERVER_INFO_1577 { DWORD sv1577_balancecount; } SERVER_INFO_1577,*PSERVER_INFO_1577,*LPSERVER_INFO_1577;
-typedef struct _SERVER_INFO_1578 { DWORD sv1578_preferredaffinity; } SERVER_INFO_1578,*PSERVER_INFO_1578,*LPSERVER_INFO_1578;
-typedef struct _SERVER_INFO_1579 { DWORD sv1579_maxfreerfcbs; } SERVER_INFO_1579,*PSERVER_INFO_1579,*LPSERVER_INFO_1579;
-typedef struct _SERVER_INFO_1580 { DWORD sv1580_maxfreemfcbs; } SERVER_INFO_1580,*PSERVER_INFO_1580,*LPSERVER_INFO_1580;
-typedef struct _SERVER_INFO_1581 { DWORD sv1581_maxfreemlcbs; } SERVER_INFO_1581,*PSERVER_INFO_1581,*LPSERVER_INFO_1581;
-typedef struct _SERVER_INFO_1582 { DWORD sv1582_maxfreepagedpoolchunks; } SERVER_INFO_1582,*PSERVER_INFO_1582,*LPSERVER_INFO_1582;
-typedef struct _SERVER_INFO_1583 { DWORD sv1583_minpagedpoolchunksize; } SERVER_INFO_1583,*PSERVER_INFO_1583,*LPSERVER_INFO_1583;
-typedef struct _SERVER_INFO_1584 { DWORD sv1584_maxpagedpoolchunksize; } SERVER_INFO_1584,*PSERVER_INFO_1584,*LPSERVER_INFO_1584;
-typedef struct _SERVER_INFO_1585 { BOOL sv1585_sendsfrompreferredprocessor; } SERVER_INFO_1585,*PSERVER_INFO_1585,*LPSERVER_INFO_1585;
-typedef struct _SERVER_INFO_1586 { BOOL sv1586_maxthreadsperqueue; } SERVER_INFO_1586,*PSERVER_INFO_1586,*LPSERVER_INFO_1586;
-typedef struct _SERVER_TRANSPORT_INFO_0 {
-DWORD svti0_numberofvcs;
-LPWSTR	svti0_transportname;
-PBYTE	svti0_transportaddress;
-DWORD	svti0_transportaddresslength;
-LPWSTR	svti0_networkaddress;
-} SERVER_TRANSPORT_INFO_0,*PSERVER_TRANSPORT_INFO_0,*LPSERVER_TRANSPORT_INFO_0;
-
-NET_API_STATUS WINAPI NetServerEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI NetServerEnumEx(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetServerGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServerSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS NetServerSetInfoCommandLine(WORD,LPWSTR*);
-NET_API_STATUS WINAPI NetServerDiskEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetServerComputerNameAdd(LPWSTR,LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetServerComputerNameDel(LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetServerTransportAdd(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportAddEx(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportDel(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL SetServiceBits(SERVICE_STATUS_HANDLE,DWORD,BOOL,BOOL);
-
-#define SVI1_NUM_ELEMENTS	5
-#define SVI2_NUM_ELEMENTS	40
-#define SVI3_NUM_ELEMENTS	44
-#define SV_MAX_CMD_LEN	PATHLEN
-#define SW_AUTOPROF_LOAD_MASK 1
-#define SW_AUTOPROF_SAVE_MASK 2
-#define SV_MAX_SRV_HEUR_LEN	32
-#define SV_USERS_PER_LICENSE	5
-#define SV_PLATFORM_ID_OS2 400
-#define SV_PLATFORM_ID_NT 500
-#define MAJOR_VERSION_MASK 15
-#define SV_TYPE_WORKSTATION	1
-#define SV_TYPE_SERVER 2
-#define SV_TYPE_SQLSERVER 4
-#define SV_TYPE_DOMAIN_CTRL 8
-#define SV_TYPE_DOMAIN_BAKCTRL 16
-#define SV_TYPE_TIME_SOURCE 32
-#define SV_TYPE_AFP 64
-#define SV_TYPE_NOVELL 128
-#define SV_TYPE_DOMAIN_MEMBER 256
-#define SV_TYPE_PRINTQ_SERVER 512
-#define SV_TYPE_DIALIN_SERVER 1024
-#define SV_TYPE_XENIX_SERVER 2048
-#define SV_TYPE_SERVER_UNIX	SV_TYPE_XENIX_SERVER
-#define SV_TYPE_NT 4096
-#define SV_TYPE_WFW 8192
-#define SV_TYPE_SERVER_MFPN 16384
-#define SV_TYPE_SERVER_NT 32768
-#define SV_TYPE_POTENTIAL_BROWSER 65536
-#define SV_TYPE_BACKUP_BROWSER	0x20000
-#define SV_TYPE_MASTER_BROWSER	0x40000
-#define SV_TYPE_DOMAIN_MASTER	0x80000
-#define SV_TYPE_SERVER_OSF	0x100000
-#define SV_TYPE_SERVER_VMS	0x200000
-#define SV_TYPE_WINDOWS	0x400000
-#define SV_TYPE_ALTERNATE_XPORT	0x20000000
-#define SV_TYPE_LOCAL_LIST_ONLY	0x40000000
-#define SV_TYPE_DOMAIN_ENUM	0x80000000
-#define SV_TYPE_ALL	0xFFFFFFFF
-#define SV_NODISC	(-1)
-#define SV_USERSECURITY	1
-#define SV_SHARESECURITY	0
-#define SV_HIDDEN	1
-#define SV_VISIBLE	0
-#define SV_PLATFORM_ID_PARMNUM	101
-#define SV_NAME_PARMNUM	102
-#define SV_VERSION_MAJOR_PARMNUM	103
-#define SV_VERSION_MINOR_PARMNUM	104
-#define SV_TYPE_PARMNUM	105
-#define SV_COMMENT_PARMNUM	5
-#define SV_USERS_PARMNUM	107
-#define SV_DISC_PARMNUM	10
-#define SV_HIDDEN_PARMNUM	16
-#define SV_ANNOUNCE_PARMNUM	17
-#define SV_ANNDELTA_PARMNUM	18
-#define SV_USERPATH_PARMNUM	112
-#define SV_ULIST_MTIME_PARMNUM	401
-#define SV_GLIST_MTIME_PARMNUM	402
-#define SV_ALIST_MTIME_PARMNUM	403
-#define SV_ALERTS_PARMNUM	11
-#define SV_SECURITY_PARMNUM	405
-#define SV_NUMADMIN_PARMNUM	406
-#define SV_LANMASK_PARMNUM	407
-#define SV_GUESTACC_PARMNUM	408
-#define SV_CHDEVQ_PARMNUM	410
-#define SV_CHDEVJOBS_PARMNUM	411
-#define SV_CONNECTIONS_PARMNUM	412
-#define SV_SHARES_PARMNUM	413
-#define SV_OPENFILES_PARMNUM	414
-#define SV_SESSREQS_PARMNUM	417
-#define SV_ACTIVELOCKS_PARMNUM	419
-#define SV_NUMREQBUF_PARMNUM	420
-#define SV_NUMBIGBUF_PARMNUM	422
-#define SV_NUMFILETASKS_PARMNUM	423
-#define SV_ALERTSCHED_PARMNUM	37
-#define SV_ERRORALERT_PARMNUM	38
-#define SV_LOGONALERT_PARMNUM	39
-#define SV_ACCESSALERT_PARMNUM	40
-#define SV_DISKALERT_PARMNUM	41
-#define SV_NETIOALERT_PARMNUM	42
-#define SV_MAXAUDITSZ_PARMNUM	43
-#define SV_SRVHEURISTICS_PARMNUM	431
-#define SV_SESSOPENS_PARMNUM	501
-#define SV_SESSVCS_PARMNUM	502
-#define SV_OPENSEARCH_PARMNUM	503
-#define SV_SIZREQBUF_PARMNUM	504
-#define SV_INITWORKITEMS_PARMNUM	505
-#define SV_MAXWORKITEMS_PARMNUM	506
-#define SV_RAWWORKITEMS_PARMNUM	507
-#define SV_IRPSTACKSIZE_PARMNUM	508
-#define SV_MAXRAWBUFLEN_PARMNUM	509
-#define SV_SESSUSERS_PARMNUM	510
-#define SV_SESSCONNS_PARMNUM	511
-#define SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM 512
-#define SV_MAXPAGEDMEMORYUSAGE_PARMNUM	513
-#define SV_ENABLESOFTCOMPAT_PARMNUM	514
-#define SV_ENABLEFORCEDLOGOFF_PARMNUM	515
-#define SV_TIMESOURCE_PARMNUM	516
-#define SV_ACCEPTDOWNLEVELAPIS_PARMNUM	517
-#define SV_LMANNOUNCE_PARMNUM	518
-#define SV_DOMAIN_PARMNUM	519
-#define SV_MAXCOPYREADLEN_PARMNUM	520
-#define SV_MAXCOPYWRITELEN_PARMNUM	521
-#define SV_MINKEEPSEARCH_PARMNUM	522
-#define SV_MAXKEEPSEARCH_PARMNUM	523
-#define SV_MINKEEPCOMPLSEARCH_PARMNUM	524
-#define SV_MAXKEEPCOMPLSEARCH_PARMNUM	525
-#define SV_THREADCOUNTADD_PARMNUM	526
-#define SV_NUMBLOCKTHREADS_PARMNUM	527
-#define SV_SCAVTIMEOUT_PARMNUM	528
-#define SV_MINRCVQUEUE_PARMNUM	529
-#define SV_MINFREEWORKITEMS_PARMNUM	530
-#define SV_XACTMEMSIZE_PARMNUM	531
-#define SV_THREADPRIORITY_PARMNUM	532
-#define SV_MAXMPXCT_PARMNUM	533
-#define SV_OPLOCKBREAKWAIT_PARMNUM	534
-#define SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM 535
-#define SV_ENABLEOPLOCKS_PARMNUM	536
-#define SV_ENABLEOPLOCKFORCECLOSE_PARMNUM 537
-#define SV_ENABLEFCBOPENS_PARMNUM	538
-#define SV_ENABLERAW_PARMNUM	539
-#define SV_ENABLESHAREDNETDRIVES_PARMNUM	540
-#define SV_MINFREECONNECTIONS_PARMNUM	541
-#define SV_MAXFREECONNECTIONS_PARMNUM	542
-#define SV_INITSESSTABLE_PARMNUM	543
-#define SV_INITCONNTABLE_PARMNUM	544
-#define SV_INITFILETABLE_PARMNUM	545
-#define SV_INITSEARCHTABLE_PARMNUM	546
-#define SV_ALERTSCHEDULE_PARMNUM	547
-#define SV_ERRORTHRESHOLD_PARMNUM	548
-#define SV_NETWORKERRORTHRESHOLD_PARMNUM	549
-#define SV_DISKSPACETHRESHOLD_PARMNUM	550
-#define SV_MAXLINKDELAY_PARMNUM	552
-#define SV_MINLINKTHROUGHPUT_PARMNUM	553
-#define SV_LINKINFOVALIDTIME_PARMNUM	554
-#define SV_SCAVQOSINFOUPDATETIME_PARMNUM	555
-#define SV_MAXWORKITEMIDLETIME_PARMNUM	556
-#define SV_MAXRAWWORKITEMS_PARMNUM	557
-#define SV_PRODUCTTYPE_PARMNUM	560
-#define SV_SERVERSIZE_PARMNUM	561
-#define SV_CONNECTIONLESSAUTODISC_PARMNUM 562
-#define SV_SHARINGVIOLATIONRETRIES_PARMNUM 563
-#define SV_SHARINGVIOLATIONDELAY_PARMNUM	564
-#define SV_MAXGLOBALOPENSEARCH_PARMNUM	565
-#define SV_REMOVEDUPLICATESEARCHES_PARMNUM 566
-#define SV_LOCKVIOLATIONRETRIES_PARMNUM	567
-#define SV_LOCKVIOLATIONOFFSET_PARMNUM	568
-#define SV_LOCKVIOLATIONDELAY_PARMNUM	569
-#define SV_MDLREADSWITCHOVER_PARMNUM	570
-#define SV_CACHEDOPENLIMIT_PARMNUM	571
-#define SV_CRITICALTHREADS_PARMNUM	572
-#define SV_RESTRICTNULLSESSACCESS_PARMNUM 573
-#define SV_ENABLEWFW311DIRECTIPX_PARMNUM	574
-#define SV_OTHERQUEUEAFFINITY_PARMNUM	575
-#define SV_QUEUESAMPLESECS_PARMNUM	576
-#define SV_BALANCECOUNT_PARMNUM	577
-#define SV_PREFERREDAFFINITY_PARMNUM	578
-#define SV_MAXFREERFCBS_PARMNUM	579
-#define SV_MAXFREEMFCBS_PARMNUM	580
-#define SV_MAXFREELFCBS_PARMNUM	581
-#define SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM 582
-#define SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM	583
-#define SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM	584
-#define SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM	585
-#define SV_MAXTHREADSPERQUEUE_PARMNUM	586
-#define SV_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_COMMENT_PARMNUM)
-#define SV_USERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_USERS_PARMNUM)
-#define SV_DISC_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISC_PARMNUM)
-#define SV_HIDDEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_HIDDEN_PARMNUM)
-#define SV_ANNOUNCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNOUNCE_PARMNUM)
-#define SV_ANNDELTA_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNDELTA_PARMNUM)
-#define SV_SESSOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSOPENS_PARMNUM)
-#define SV_SESSVCS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSVCS_PARMNUM)
-#define SV_OPENSEARCH_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_OPENSEARCH_PARMNUM)
-#define SV_MAXWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMS_PARMNUM)
-#define SV_MAXRAWBUFLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWBUFLEN_PARMNUM)
-#define SV_SESSUSERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSUSERS_PARMNUM)
-#define SV_SESSCONNS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSCONNS_PARMNUM)
-#define SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM)
-#define SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDMEMORYUSAGE_PARMNUM)
-#define SV_ENABLESOFTCOMPAT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESOFTCOMPAT_PARMNUM)
-#define SV_ENABLEFORCEDLOGOFF_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_ENABLEFORCEDLOGOFF_PARMNUM)
-#define SV_TIMESOURCE_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_TIMESOURCE_PARMNUM)
-#define SV_LMANNOUNCE_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_LMANNOUNCE_PARMNUM)
-#define SV_MAXCOPYREADLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYREADLEN_PARMNUM)
-#define SV_MAXCOPYWRITELEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYWRITELEN_PARMNUM)
-#define SV_MINKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINKEEPSEARCH_PARMNUM)
-#define SV_MAXKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPSEARCH_PARMNUM)
-#define SV_MINKEEPCOMPLSEARCH_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_MINKEEPCOMPLSEARCH_PARMNUM)
-#define SV_MAXKEEPCOMPLSEARCH_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPCOMPLSEARCH_PARMNUM)
-#define SV_SCAVTIMEOUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVTIMEOUT_PARMNUM)
-#define SV_MINRCVQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINRCVQUEUE_PARMNUM)
-#define SV_MINFREEWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREEWORKITEMS_PARMNUM)
-#define SV_MAXMPXCT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXMPXCT_PARMNUM)
-#define SV_OPLOCKBREAKWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKWAIT_PARMNUM)
-#define SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM)
-#define SV_ENABLEOPLOCKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKS_PARMNUM)
-#define SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKFORCECLOSE_PARMNUM)
-#define SV_ENABLEFCBOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEFCBOPENS_PARMNUM)
-#define SV_ENABLERAW_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLERAW_PARMNUM)
-#define SV_ENABLESHAREDNETDRIVES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESHAREDNETDRIVES_PARMNUM)
-#define SV_MINFREECONNECTIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREECONNECTIONS_PARMNUM)
-#define SV_MAXFREECONNECTIONS_INFOLEVEL	(PARMNUM_BASE_INFOLEVEL+SV_MAXFREECONNECTIONS_PARMNUM)
-#define SV_INITSESSTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSESSTABLE_PARMNUM)
-#define SV_INITCONNTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITCONNTABLE_PARMNUM)
-#define SV_INITFILETABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITFILETABLE_PARMNUM)
-#define SV_INITSEARCHTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSEARCHTABLE_PARMNUM)
-#define SV_ALERTSCHEDULE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ALERTSCHEDULE_PARMNUM)
-#define SV_ERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ERRORTHRESHOLD_PARMNUM)
-#define SV_NETWORKERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_NETWORKERRORTHRESHOLD_PARMNUM)
-#define SV_DISKSPACETHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISKSPACETHRESHOLD_PARMNUM)
-#define SV_MAXLINKDELAY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXLINKDELAY_PARMNUM)
-#define SV_MINLINKTHROUGHPUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINLINKTHROUGHPUT_PARMNUM)
-#define SV_LINKINFOVALIDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_LINKINFOVALIDTIME_PARMNUM)
-#define SV_SCAVQOSINFOUPDATETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVQOSINFOUPDATETIME_PARMNUM)
-#define SV_MAXWORKITEMIDLETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMIDLETIME_PARMNUM)
-#define SV_MAXRAWWORKITEMS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWWORKITEMS_PARMNUM)
-#define SV_PRODUCTTYPE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_PRODUCTTYPE_PARMNUM)
-#define SV_SERVERSIZE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SERVERSIZE_PARMNUM)
-#define SV_CONNECTIONLESSAUTODISC_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CONNECTIONLESSAUTODISC_PARMNUM)
-#define SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONRETRIES_PARMNUM)
-#define SV_SHARINGVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONDELAY_PARMNUM)
-#define SV_MAXGLOBALOPENSEARCH_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXGLOBALOPENSEARCH_PARMNUM)
-#define SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_REMOVEDUPLICATESEARCHES_PARMNUM)
-#define SV_LOCKVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONRETRIES_PARMNUM)
-#define SV_LOCKVIOLATIONOFFSET_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONOFFSET_PARMNUM)
-#define SV_LOCKVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONDELAY_PARMNUM)
-#define SV_MDLREADSWITCHOVER_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MDLREADSWITCHOVER_PARMNUM)
-#define SV_CACHEDOPENLIMIT_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CACHEDOPENLIMIT_PARMNUM)
-#define SV_CRITICALTHREADS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CRITICALTHREADS_PARMNUM)
-#define SV_RESTRICTNULLSESSACCESS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_RESTRICTNULLSESSACCESS_PARMNUM)
-#define SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEWFW311DIRECTIPX_PARMNUM)
-#define SV_OTHERQUEUEAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OTHERQUEUEAFFINITY_PARMNUM)
-#define SV_QUEUESAMPLESECS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_QUEUESAMPLESECS_PARMNUM)
-#define SV_BALANCECOUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_BALANCECOUNT_PARMNUM)
-#define SV_PREFERREDAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_PREFERREDAFFINITY_PARMNUM)
-#define SV_MAXFREERFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREERFCBS_PARMNUM)
-#define SV_MAXFREEMFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEMFCBS_PARMNUM)
-#define SV_MAXFREELFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREELFCBS_PARMNUM)
-#define SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM)
-#define SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM)
-#define SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM)
-#define SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM)
-#define SV_MAXTHREADSPERQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXTHREADSPERQUEUE_PARMNUM)
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmshare.h
===================================================================
--- Daodan/MinGW/include/lmshare.h	(revision 1046)
+++ 	(revision )
@@ -1,147 +1,0 @@
-#ifndef _LMSHARE_H
-#define _LMSHARE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmcons.h>
-#define SHARE_NETNAME_PARMNUM 1
-#define SHARE_TYPE_PARMNUM 3
-#define SHARE_REMARK_PARMNUM 4
-#define SHARE_PERMISSIONS_PARMNUM 5
-#define SHARE_MAX_USES_PARMNUM 6
-#define SHARE_CURRENT_USES_PARMNUM 7
-#define SHARE_PATH_PARMNUM 8
-#define SHARE_PASSWD_PARMNUM 9
-#define SHARE_FILE_SD_PARMNUM 501
-#define SHARE_REMARK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_REMARK_PARMNUM)
-#define SHARE_MAX_USES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_MAX_USES_PARMNUM)
-#define SHARE_FILE_SD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_FILE_SD_PARMNUM)
-#define SHI1_NUM_ELEMENTS 4
-#define SHI2_NUM_ELEMENTS 10
-#define STYPE_DISKTREE 0
-#define STYPE_PRINTQ 1
-#define STYPE_DEVICE 2
-#define STYPE_IPC 3
-#define STYPE_DFS 100
-#define STYPE_SPECIAL 0x80000000
-#define SHI_USES_UNLIMITED (DWORD)(-1)
-#define SESS_GUEST 1
-#define SESS_NOENCRYPTION 2
-#define SESI1_NUM_ELEMENTS 8
-#define SESI2_NUM_ELEMENTS 9
-#define PERM_FILE_READ 1
-#define PERM_FILE_WRITE 2
-#define PERM_FILE_CREATE 4
-typedef struct _FILE_INFO_2 { DWORD fi2_id;} FILE_INFO_2,*PFILE_INFO_2,*LPFILE_INFO_2;
-typedef struct _FILE_INFO_3 {
-	DWORD fi3_id;
-	DWORD fi3_permissions;
-	DWORD fi3_num_locks;
-	LPTSTR fi3_pathname;
-	LPTSTR fi3_username;
-} FILE_INFO_3,*PFILE_INFO_3,*LPFILE_INFO_3;
-typedef struct _SHARE_INFO_0 { LPTSTR shi0_netname; } SHARE_INFO_0,*PSHARE_INFO_0,*LPSHARE_INFO_0;
-typedef struct _SHARE_INFO_1 {
-	LPTSTR shi1_netname;
-	DWORD shi1_type;
-	LPTSTR shi1_remark;
-} SHARE_INFO_1,*PSHARE_INFO_1,*LPSHARE_INFO_1;
-typedef struct _SHARE_INFO_2 {
-	LPTSTR shi2_netname;
-	DWORD shi2_type;
-	LPTSTR shi2_remark;
-	DWORD shi2_permissions;
-	DWORD shi2_max_uses;
-	DWORD shi2_current_uses;
-	LPTSTR shi2_path;
-	LPTSTR shi2_passwd;
-} SHARE_INFO_2,*PSHARE_INFO_2,*LPSHARE_INFO_2;
-typedef struct _SHARE_INFO_502 {
-	LPTSTR shi502_netname;
-	DWORD shi502_type;
-	LPTSTR shi502_remark;
-	DWORD shi502_permissions;
-	DWORD shi502_max_uses;
-	DWORD shi502_current_uses;
-	LPTSTR shi502_path;
-	LPTSTR shi502_passwd;
-	DWORD shi502_reserved;
-	PSECURITY_DESCRIPTOR shi502_security_descriptor;
-} SHARE_INFO_502,*PSHARE_INFO_502,*LPSHARE_INFO_502;
-typedef struct _SHARE_INFO_1004 {
-	LPTSTR shi1004_remark;
-} SHARE_INFO_1004,*PSHARE_INFO_1004,*LPSHARE_INFO_1004;
-typedef struct _SHARE_INFO_1006 {
-	DWORD shi1006_max_uses;
-} SHARE_INFO_1006,*PSHARE_INFO_1006,*LPSHARE_INFO_1006;
-typedef struct _SHARE_INFO_1501 {
-	DWORD shi1501_reserved;
-	PSECURITY_DESCRIPTOR shi1501_security_descriptor;
-} SHARE_INFO_1501,*PSHARE_INFO_1501,*LPSHARE_INFO_1501;
-typedef struct _SESSION_INFO_0 { LPWSTR sesi0_cname; } SESSION_INFO_0,*PSESSION_INFO_0,*LPSESSION_INFO_0;
-typedef struct _SESSION_INFO_1 {
-	LPTSTR sesi1_cname;
-	LPTSTR sesi1_username;
-	DWORD sesi1_num_opens;
-	DWORD sesi1_time;
-	DWORD sesi1_idle_time;
-	DWORD sesi1_user_flags;
-} SESSION_INFO_1,*PSESSION_INFO_1,*LPSESSION_INFO_1;
-typedef struct _SESSION_INFO_2 {
-	LPTSTR sesi2_cname;
-	LPTSTR sesi2_username;
-	DWORD sesi2_num_opens;
-	DWORD sesi2_time;
-	DWORD sesi2_idle_time;
-	DWORD sesi2_user_flags;
-	LPWSTR sesi2_cltype_name;
-} SESSION_INFO_2,*PSESSION_INFO_2,*LPSESSION_INFO_2;
-typedef struct _SESSION_INFO_10 {
-	LPWSTR sesi10_cname;
-	LPWSTR sesi10_username;
-	DWORD sesi10_time;
-	DWORD sesi10_idle_time;
-} SESSION_INFO_10,*PSESSION_INFO_10,*LPSESSION_INFO_10;
-typedef struct _SESSION_INFO_502 {
-	LPWSTR sesi502_cname;
-	LPWSTR sesi502_username;
-	DWORD sesi502_num_opens;
-	DWORD sesi502_time;
-	DWORD sesi502_idle_time;
-	DWORD sesi502_user_flags;
-	LPWSTR sesi502_cltype_name;
-	LPWSTR sesi502_transport;
-} SESSION_INFO_502,*PSESSION_INFO_502,*LPSESSION_INFO_502;
-typedef struct _CONNECTION_INFO_0 { DWORD coni0_id; } CONNECTION_INFO_0,*PCONNECTION_INFO_0,*LPCONNECTION_INFO_0;
-typedef struct _CONNECTION_INFO_1 {
-	DWORD coni1_id;
-	DWORD coni1_type;
-	DWORD coni1_num_opens;
-	DWORD coni1_num_users;
-	DWORD coni1_time;
-	LPWSTR coni1_username;
-	LPWSTR coni1_netname;
-} CONNECTION_INFO_1,*PCONNECTION_INFO_1,*LPCONNECTION_INFO_1;
-NET_API_STATUS WINAPI NetShareAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetShareEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetShareEnumSticky(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD resume_handle);
-NET_API_STATUS WINAPI NetShareGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetShareSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetShareDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetShareDelSticky(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetShareCheck(LPWSTR,LPWSTR,PDWORD);
-NET_API_STATUS WINAPI NetSessionEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetSessionDel(LPWSTR,LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetSessionGetInfo(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetConnectionEnum(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetFileClose(LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetFileEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetFileGetInfo(LPWSTR,DWORD,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmsname.h
===================================================================
--- Daodan/MinGW/include/lmsname.h	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-#ifndef _LMSNAME_H
-#define _LMSNAME_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define SERVICE_WORKSTATION TEXT("LanmanWorkstation")
-#define SERVICE_LM20_WORKSTATION TEXT("WORKSTATION")
-#define WORKSTATION_DISPLAY_NAME TEXT("Workstation")
-#define SERVICE_SERVER TEXT("LanmanServer")
-#define SERVICE_LM20_SERVER TEXT("SERVER")
-#define SERVER_DISPLAY_NAME TEXT("Server")
-#define SERVICE_BROWSER TEXT("BROWSER")
-#define SERVICE_LM20_BROWSER SERVICE_BROWSER
-#define SERVICE_MESSENGER TEXT("MESSENGER")
-#define SERVICE_LM20_MESSENGER SERVICE_MESSENGER
-#define SERVICE_NETRUN TEXT("NETRUN")
-#define SERVICE_LM20_NETRUN SERVICE_NETRUN
-#define SERVICE_SPOOLER TEXT("SPOOLER")
-#define SERVICE_LM20_SPOOLER SERVICE_SPOOLER
-#define SERVICE_ALERTER TEXT("ALERTER")
-#define SERVICE_LM20_ALERTER SERVICE_ALERTER
-#define SERVICE_NETLOGON TEXT("NETLOGON")
-#define SERVICE_LM20_NETLOGON SERVICE_NETLOGON
-#define SERVICE_NETPOPUP TEXT("NETPOPUP")
-#define SERVICE_LM20_NETPOPUP SERVICE_NETPOPUP
-#define SERVICE_SQLSERVER TEXT("SQLSERVER")
-#define SERVICE_LM20_SQLSERVER SERVICE_SQLSERVER
-#define SERVICE_REPL TEXT("REPLICATOR")
-#define SERVICE_LM20_REPL SERVICE_REPL
-#define SERVICE_RIPL TEXT("REMOTEBOOT")
-#define SERVICE_LM20_RIPL SERVICE_RIPL
-#define SERVICE_TIMESOURCE TEXT("TIMESOURCE")
-#define SERVICE_LM20_TIMESOURCE SERVICE_TIMESOURCE
-#define SERVICE_AFP TEXT("AFP")
-#define SERVICE_LM20_AFP SERVICE_AFP
-#define SERVICE_UPS TEXT("UPS")
-#define SERVICE_LM20_UPS SERVICE_UPS
-#define SERVICE_XACTSRV TEXT("XACTSRV")
-#define SERVICE_LM20_XACTSRV SERVICE_XACTSRV
-#define SERVICE_TCPIP TEXT("TCPIP")
-#define SERVICE_LM20_TCPIP SERVICE_TCPIP
-#define SERVICE_NBT TEXT("NBT")
-#define SERVICE_LM20_NBT SERVICE_NBT
-#define SERVICE_LMHOSTS TEXT("LMHOSTS")
-#define SERVICE_LM20_LMHOSTS SERVICE_LMHOSTS
-#define SERVICE_TELNET TEXT("Telnet")
-#define SERVICE_LM20_TELNET SERVICE_TELNET
-#define SERVICE_SCHEDULE TEXT("Schedule")
-#define SERVICE_LM20_SCHEDULE SERVICE_SCHEDULE
-#define SERVICE_NTLMSSP TEXT("NtLmSsp")
-#define SERVICE_DHCP TEXT("DHCP")
-#define SERVICE_LM20_DHCP SERVICE_DHCP
-#define SERVICE_NWSAP TEXT("NwSapAgent")
-#define SERVICE_LM20_NWSAP SERVICE_NWSAP
-#define NWSAP_DISPLAY_NAME TEXT("NW Sap Agent")
-#define SERVICE_NWCS TEXT("NWCWorkstation")
-#endif
Index: Daodan/MinGW/include/lmstats.h
===================================================================
--- Daodan/MinGW/include/lmstats.h	(revision 1046)
+++ 	(revision )
@@ -1,114 +1,0 @@
-#ifndef _LMSTATS_H
-#define _LMSTATS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define STATSOPT_CLR 1
-#define STATS_NO_VALUE ((ULONG)-1)
-#define STATS_OVERFLOW ((ULONG)-2)
-typedef struct _STAT_SERVER_0 {
-	DWORD sts0_start;
-	DWORD sts0_fopens;
-	DWORD sts0_devopens;
-	DWORD sts0_jobsqueued;
-	DWORD sts0_sopens;
-	DWORD sts0_stimedout;
-	DWORD sts0_serrorout;
-	DWORD sts0_pwerrors;
-	DWORD sts0_permerrors;
-	DWORD sts0_syserrors;
-	DWORD sts0_bytessent_low;
-	DWORD sts0_bytessent_high;
-	DWORD sts0_bytesrcvd_low;
-	DWORD sts0_bytesrcvd_high;
-	DWORD sts0_avresponse;
-	DWORD sts0_reqbufneed;
-	DWORD sts0_bigbufneed;
-} STAT_SERVER_0,*PSTAT_SERVER_0,*LPSTAT_SERVER_0;
-#ifdef LM20_WORKSTATION_STATISTICS
-typedef struct _STAT_WORKSTATION_0 {
-	DWORD stw0_start;
-	DWORD stw0_numNCB_r;
-	DWORD stw0_numNCB_s;
-	DWORD stw0_numNCB_a;
-	DWORD stw0_fiNCB_r;
-	DWORD stw0_fiNCB_s;
-	DWORD stw0_fiNCB_a;
-	DWORD stw0_fcNCB_r;
-	DWORD stw0_fcNCB_s;
-	DWORD stw0_fcNCB_a;
-	DWORD stw0_sesstart;
-	DWORD stw0_sessfailcon;
-	DWORD stw0_sessbroke;
-	DWORD stw0_uses;
-	DWORD stw0_usefail;
-	DWORD stw0_autorec;
-	DWORD stw0_bytessent_r_lo;
-	DWORD stw0_bytessent_r_hi;
-	DWORD stw0_bytesrcvd_r_lo;
-	DWORD stw0_bytesrcvd_r_hi;
-	DWORD stw0_bytessent_s_lo;
-	DWORD stw0_bytessent_s_hi;
-	DWORD stw0_bytesrcvd_s_lo;
-	DWORD stw0_bytesrcvd_s_hi;
-	DWORD stw0_bytessent_a_lo;
-	DWORD stw0_bytessent_a_hi;
-	DWORD stw0_bytesrcvd_a_lo;
-	DWORD stw0_bytesrcvd_a_hi;
-	DWORD stw0_reqbufneed;
-	DWORD stw0_bigbufneed;
-} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
-#else
-typedef struct _STAT_WORKSTATION_0 {
-	LARGE_INTEGER StatisticsStartTime;
-	LARGE_INTEGER BytesReceived;
-	LARGE_INTEGER SmbsReceived;
-	LARGE_INTEGER PagingReadBytesRequested;
-	LARGE_INTEGER NonPagingReadBytesRequested;
-	LARGE_INTEGER CacheReadBytesRequested;
-	LARGE_INTEGER NetworkReadBytesRequested;
-	LARGE_INTEGER BytesTransmitted;
-	LARGE_INTEGER SmbsTransmitted;
-	LARGE_INTEGER PagingWriteBytesRequested;
-	LARGE_INTEGER NonPagingWriteBytesRequested;
-	LARGE_INTEGER CacheWriteBytesRequested;
-	LARGE_INTEGER NetworkWriteBytesRequested;
-	DWORD InitiallyFailedOperations;
-	DWORD FailedCompletionOperations;
-	DWORD ReadOperations;
-	DWORD RandomReadOperations;
-	DWORD ReadSmbs;
-	DWORD LargeReadSmbs;
-	DWORD SmallReadSmbs;
-	DWORD WriteOperations;
-	DWORD RandomWriteOperations;
-	DWORD WriteSmbs;
-	DWORD LargeWriteSmbs;
-	DWORD SmallWriteSmbs;
-	DWORD RawReadsDenied;
-	DWORD RawWritesDenied;
-	DWORD NetworkErrors;
-	DWORD Sessions;
-	DWORD FailedSessions;
-	DWORD Reconnects;
-	DWORD CoreConnects;
-	DWORD Lanman20Connects;
-	DWORD Lanman21Connects;
-	DWORD LanmanNtConnects;
-	DWORD ServerDisconnects;
-	DWORD HungSessions;
-	DWORD UseCount;
-	DWORD FailedUseCount;
-	DWORD CurrentCommands;
-} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
-#endif
-
-NET_API_STATUS WINAPI NetStatisticsGet(LPWSTR,LPWSTR,DWORD,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmsvc.h
===================================================================
--- Daodan/MinGW/include/lmsvc.h	(revision 1046)
+++ 	(revision )
@@ -1,134 +1,0 @@
-#ifndef _LMSVC_H
-#define _LMSVC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmsname.h>
-#define SERVICE_DOS_ENCRYPTION TEXT("ENCRYPT")
-#define SERVICE_UNINSTALLED 0
-#define SERVICE_INSTALL_PENDING 1
-#define SERVICE_UNINSTALL_PENDING 2
-#define SERVICE_INSTALLED 3
-#define SERVICE_INSTALL_STATE 3
-#define SERVICE_PAUSE_STATE 18
-#define LM20_SERVICE_ACTIVE 0
-#define LM20_SERVICE_CONTINUE_PENDING 4
-#define LM20_SERVICE_PAUSE_PENDING 8
-#define LM20_SERVICE_PAUSED 18
-#define SERVICE_NOT_UNINSTALLABLE 0
-#define SERVICE_UNINSTALLABLE 16
-#define SERVICE_NOT_PAUSABLE 0
-#define SERVICE_PAUSABLE 32
-#define SERVICE_REDIR_PAUSED 0x700
-#define SERVICE_REDIR_DISK_PAUSED 256
-#define SERVICE_REDIR_PRINT_PAUSED 512
-#define SERVICE_REDIR_COMM_PAUSED 1024
-#define SERVICE_CTRL_INTERROGATE 0
-#define SERVICE_CTRL_PAUSE 1
-#define SERVICE_CTRL_CONTINUE 2
-#define SERVICE_CTRL_UNINSTALL 3
-#define SERVICE_CTRL_REDIR_DISK 1
-#define SERVICE_CTRL_REDIR_PRINT 2
-#define SERVICE_CTRL_REDIR_COMM 4
-#define SERVICE_IP_NO_HINT 0
-#define SERVICE_CCP_NO_HINT 0
-#define SERVICE_IP_QUERY_HINT 0x10000
-#define SERVICE_CCP_QUERY_HINT 0x10000
-#define SERVICE_IP_CHKPT_NUM 255
-#define SERVICE_CCP_CHKPT_NUM 255
-#define SERVICE_IP_WAIT_TIME 0xFF00
-#define SERVICE_CCP_WAIT_TIME 0xFF00
-#define SERVICE_IP_WAITTIME_SHIFT 8
-#define SERVICE_NTIP_WAITTIME_SHIFT 12
-#define UPPER_HINT_MASK 0xFF00
-#define LOWER_HINT_MASK 255
-#define UPPER_GET_HINT_MASK 0xFF00000
-#define LOWER_GET_HINT_MASK 0xFF00
-#define SERVICE_NT_MAXTIME 0xFFFF
-#define SERVICE_RESRV_MASK 0x1FFFF
-#define SERVICE_MAXTIME 255
-#define SERVICE_BASE 3050
-#define SERVICE_UIC_NORMAL 0
-#define SERVICE_UIC_BADPARMVAL (SERVICE_BASE+1)
-#define SERVICE_UIC_MISSPARM (SERVICE_BASE+2)
-#define SERVICE_UIC_UNKPARM (SERVICE_BASE+3)
-#define SERVICE_UIC_RESOURCE (SERVICE_BASE+4)
-#define SERVICE_UIC_CONFIG (SERVICE_BASE+5)
-#define SERVICE_UIC_SYSTEM (SERVICE_BASE+6)
-#define SERVICE_UIC_INTERNAL (SERVICE_BASE+7)
-#define SERVICE_UIC_AMBIGPARM (SERVICE_BASE+8)
-#define SERVICE_UIC_DUPPARM (SERVICE_BASE+9)
-#define SERVICE_UIC_KILL (SERVICE_BASE+10)
-#define SERVICE_UIC_EXEC (SERVICE_BASE+11)
-#define SERVICE_UIC_SUBSERV (SERVICE_BASE+12)
-#define SERVICE_UIC_CONFLPARM (SERVICE_BASE+13)
-#define SERVICE_UIC_FILE (SERVICE_BASE+14)
-#define SERVICE_UIC_M_NULL 0
-#define SERVICE_UIC_M_MEMORY (SERVICE_BASE+20)
-#define SERVICE_UIC_M_DISK (SERVICE_BASE+21)
-#define SERVICE_UIC_M_THREADS (SERVICE_BASE+22)
-#define SERVICE_UIC_M_PROCESSES (SERVICE_BASE+23)
-#define SERVICE_UIC_M_SECURITY (SERVICE_BASE+24)
-#define SERVICE_UIC_M_LANROOT (SERVICE_BASE+25)
-#define SERVICE_UIC_M_REDIR (SERVICE_BASE+26)
-#define SERVICE_UIC_M_SERVER (SERVICE_BASE+27)
-#define SERVICE_UIC_M_SEC_FILE_ERR (SERVICE_BASE+28)
-#define SERVICE_UIC_M_FILES (SERVICE_BASE+29)
-#define SERVICE_UIC_M_LOGS (SERVICE_BASE+30)
-#define SERVICE_UIC_M_LANGROUP (SERVICE_BASE+31)
-#define SERVICE_UIC_M_MSGNAME (SERVICE_BASE+32)
-#define SERVICE_UIC_M_ANNOUNCE (SERVICE_BASE+33)
-#define SERVICE_UIC_M_UAS (SERVICE_BASE+34)
-#define SERVICE_UIC_M_SERVER_SEC_ERR (SERVICE_BASE+35)
-#define SERVICE_UIC_M_WKSTA (SERVICE_BASE+37)
-#define SERVICE_UIC_M_ERRLOG (SERVICE_BASE+38)
-#define SERVICE_UIC_M_FILE_UW (SERVICE_BASE+39)
-#define SERVICE_UIC_M_ADDPAK (SERVICE_BASE+40)
-#define SERVICE_UIC_M_LAZY (SERVICE_BASE+41)
-#define SERVICE_UIC_M_UAS_MACHINE_ACCT (SERVICE_BASE+42)
-#define SERVICE_UIC_M_UAS_SERVERS_NMEMB (SERVICE_BASE+43)
-#define SERVICE_UIC_M_UAS_SERVERS_NOGRP (SERVICE_BASE+44)
-#define SERVICE_UIC_M_UAS_INVALID_ROLE (SERVICE_BASE+45)
-#define SERVICE_UIC_M_NETLOGON_NO_DC (SERVICE_BASE+46)
-#define SERVICE_UIC_M_NETLOGON_DC_CFLCT (SERVICE_BASE+47)
-#define SERVICE_UIC_M_NETLOGON_AUTH (SERVICE_BASE+48)
-#define SERVICE_UIC_M_UAS_PROLOG (SERVICE_BASE+49)
-#define SERVICE2_BASE 5600
-#define SERVICE_UIC_M_NETLOGON_MPATH (SERVICE2_BASE+0)
-#define SERVICE_UIC_M_LSA_MACHINE_ACCT (SERVICE2_BASE+1)
-#define SERVICE_UIC_M_DATABASE_ERROR (SERVICE2_BASE+2)
-
-typedef struct _SERVICE_INFO_0 { LPWSTR svci0_name;} SERVICE_INFO_0,*PSERVICE_INFO_0,* LPSERVICE_INFO_0;
-typedef struct _SERVICE_INFO_1 {
-	LPWSTR svci1_name;
-	DWORD svci1_status;
-	DWORD svci1_code;
-	DWORD svci1_pid;
-} SERVICE_INFO_1,*PSERVICE_INFO_1,* LPSERVICE_INFO_1;
-typedef struct _SERVICE_INFO_2 {
-	LPWSTR svci2_name;
-	DWORD svci2_status;
-	DWORD svci2_code;
-	DWORD svci2_pid;
-	LPWSTR svci2_text;
-	DWORD svci2_specific_error;
-	LPWSTR svci2_display_name;
-} SERVICE_INFO_2,*PSERVICE_INFO_2,* LPSERVICE_INFO_2;
-
-NET_API_STATUS WINAPI NetServiceControl(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServiceEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetServiceGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServiceInstall(LPCWSTR,LPCWSTR,DWORD,LPCWSTR*,PBYTE*);
-#define SERVICE_IP_CODE(t,n) ((long)SERVICE_IP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT)))
-#define SERVICE_CCP_CODE(t,n) ((long)SERVICE_CCP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT)))
-#define SERVICE_UIC_CODE(c,m) ((long)(((long)c<<16)|(long)(USHORT)m))
-#define SERVICE_NT_CCP_CODE(t,n) (((long)SERVICE_CCP_QUERY_HINT)|((long)(n))|(((t)&LOWER_HINT_MASK)<<SERVICE_IP_WAITTIME_SHIFT)|(((t)&UPPER_HINT_MASK)<<SERVICE_NTIP_WAITTIME_SHIFT))
-#define SERVICE_NT_WAIT_GET(c) ((((c)&UPPER_GET_HINT_MASK)>>SERVICE_NTIP_WAITTIME_SHIFT)|(((c)&LOWER_GET_HINT_MASK)>>SERVICE_IP_WAITTIME_SHIFT))
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmuse.h
===================================================================
--- Daodan/MinGW/include/lmuse.h	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-#ifndef _LMUSE_H
-#define _LMUSE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmuseflg.h>
-#define USE_LOCAL_PARMNUM 1
-#define USE_REMOTE_PARMNUM 2
-#define USE_PASSWORD_PARMNUM 3
-#define USE_ASGTYPE_PARMNUM 4
-#define USE_USERNAME_PARMNUM 5
-#define USE_DOMAINNAME_PARMNUM 6
-#define USE_OK 0
-#define USE_PAUSED 1
-#define USE_SESSLOST 2
-#define USE_DISCONN 2
-#define USE_NETERR 3
-#define USE_CONN 4
-#define USE_RECONN 5
-#define USE_WILDCARD ((DWORD)-1)
-#define USE_DISKDEV 0
-#define USE_SPOOLDEV 1
-#define USE_CHARDEV 2
-#define USE_IPC 3
-typedef struct _USE_INFO_0 {
-	LPWSTR ui0_local;
-	LPWSTR ui0_remote;
-}USE_INFO_0,*PUSE_INFO_0,*LPUSE_INFO_0;
-typedef struct _USE_INFO_1 {
-	LPWSTR ui1_local;
-	LPWSTR ui1_remote;
-	LPWSTR ui1_password;
-	DWORD ui1_status;
-	DWORD ui1_asg_type;
-	DWORD ui1_refcount;
-	DWORD ui1_usecount;
-}USE_INFO_1,*PUSE_INFO_1,*LPUSE_INFO_1;
-typedef struct _USE_INFO_2 {
-	LPWSTR ui2_local;
-	LPWSTR ui2_remote;
-	LPWSTR ui2_password;
-	DWORD ui2_status;
-	DWORD ui2_asg_type;
-	DWORD ui2_refcount;
-	DWORD ui2_usecount;
-	LPWSTR ui2_username;
-	LPWSTR ui2_domainname;
-}USE_INFO_2,*PUSE_INFO_2,*LPUSE_INFO_2;
-NET_API_STATUS WINAPI NetUseAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUseDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetUseEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUseGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/lmuseflg.h
===================================================================
--- Daodan/MinGW/include/lmuseflg.h	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-#ifndef _LMUSEFLG_H
-#define _LMUSEFLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define USE_NOFORCE 0
-#define USE_FORCE 1
-#define USE_LOTS_OF_FORCE 2
-#endif
Index: Daodan/MinGW/include/lmwksta.h
===================================================================
--- Daodan/MinGW/include/lmwksta.h	(revision 1046)
+++ 	(revision )
@@ -1,233 +1,0 @@
-#ifndef _LMWKSTA_H
-#define _LMWKSTA_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmuseflg.h>
-#define WKSTA_PLATFORM_ID_PARMNUM 100
-#define WKSTA_COMPUTERNAME_PARMNUM 1
-#define WKSTA_LANGROUP_PARMNUM 2
-#define WKSTA_VER_MAJOR_PARMNUM 4
-#define WKSTA_VER_MINOR_PARMNUM 5
-#define WKSTA_LOGGED_ON_USERS_PARMNUM 6
-#define WKSTA_LANROOT_PARMNUM 7
-#define WKSTA_LOGON_DOMAIN_PARMNUM 8
-#define WKSTA_LOGON_SERVER_PARMNUM 9
-#define WKSTA_CHARWAIT_PARMNUM 10
-#define WKSTA_CHARTIME_PARMNUM 11
-#define WKSTA_CHARCOUNT_PARMNUM 12
-#define WKSTA_KEEPCONN_PARMNUM 13
-#define WKSTA_KEEPSEARCH_PARMNUM 14
-#define WKSTA_MAXCMDS_PARMNUM 15
-#define WKSTA_NUMWORKBUF_PARMNUM 16
-#define WKSTA_MAXWRKCACHE_PARMNUM 17
-#define WKSTA_SESSTIMEOUT_PARMNUM 18
-#define WKSTA_SIZERROR_PARMNUM 19
-#define WKSTA_NUMALERTS_PARMNUM 20
-#define WKSTA_NUMSERVICES_PARMNUM 21
-#define WKSTA_NUMCHARBUF_PARMNUM 22
-#define WKSTA_SIZCHARBUF_PARMNUM 23
-#define WKSTA_ERRLOGSZ_PARMNUM 27
-#define WKSTA_PRINTBUFTIME_PARMNUM 28
-#define WKSTA_SIZWORKBUF_PARMNUM 29
-#define WKSTA_MAILSLOTS_PARMNUM 30
-#define WKSTA_NUMDGRAMBUF_PARMNUM 31
-#define WKSTA_WRKHEURISTICS_PARMNUM 32
-#define WKSTA_MAXTHREADS_PARMNUM 33
-#define WKSTA_LOCKQUOTA_PARMNUM 41
-#define WKSTA_LOCKINCREMENT_PARMNUM 42
-#define WKSTA_LOCKMAXIMUM_PARMNUM 43
-#define WKSTA_PIPEINCREMENT_PARMNUM 44
-#define WKSTA_PIPEMAXIMUM_PARMNUM 45
-#define WKSTA_DORMANTFILELIMIT_PARMNUM 46
-#define WKSTA_CACHEFILETIMEOUT_PARMNUM 47
-#define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48
-#define WKSTA_USEUNLOCKBEHIND_PARMNUM 49
-#define WKSTA_USECLOSEBEHIND_PARMNUM 50
-#define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51
-#define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52
-#define WKSTA_UTILIZENTCACHING_PARMNUM 53
-#define WKSTA_USERAWREAD_PARMNUM 54
-#define WKSTA_USERAWWRITE_PARMNUM 55
-#define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56
-#define WKSTA_USEENCRYPTION_PARMNUM 57
-#define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58
-#define WKSTA_BUFFERREADONLYFILES_PARMNUM 59
-#define WKSTA_FORCECORECREATEMODE_PARMNUM 60
-#define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61
-#define WKSTA_READAHEADTHRUPUT_PARMNUM 62
-#define WKSTA_OTH_DOMAINS_PARMNUM 101
-#define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201
-#define TRANSPORT_NAME_PARMNUM 202
-
-typedef struct _WKSTA_INFO_100 {
-	DWORD wki100_platform_id;
-	LPWSTR wki100_computername;
-	LPWSTR wki100_langroup;
-	DWORD wki100_ver_major;
-	DWORD wki100_ver_minor;
-}WKSTA_INFO_100,*PWKSTA_INFO_100,*LPWKSTA_INFO_100;
-typedef struct _WKSTA_INFO_101 {
-	DWORD wki101_platform_id;
-	LPWSTR wki101_computername;
-	LPWSTR wki101_langroup;
-	DWORD wki101_ver_major;
-	DWORD wki101_ver_minor;
-	LPWSTR wki101_lanroot;
-}WKSTA_INFO_101,*PWKSTA_INFO_101,*LPWKSTA_INFO_101;
-typedef struct _WKSTA_INFO_102 {
-	DWORD wki102_platform_id;
-	LPWSTR wki102_computername;
-	LPWSTR wki102_langroup;
-	DWORD wki102_ver_major;
-	DWORD wki102_ver_minor;
-	LPWSTR wki102_lanroot;
-	DWORD wki102_logged_on_users;
-}WKSTA_INFO_102,*PWKSTA_INFO_102,*LPWKSTA_INFO_102;
-typedef struct _WKSTA_INFO_302{
-	DWORD wki302_char_wait;
-	DWORD wki302_collection_time;
-	DWORD wki302_maximum_collection_count;
-	DWORD wki302_keep_conn;
-	DWORD wki302_keep_search;
-	DWORD wki302_max_cmds;
-	DWORD wki302_num_work_buf;
-	DWORD wki302_siz_work_buf;
-	DWORD wki302_max_wrk_cache;
-	DWORD wki302_sess_timeout;
-	DWORD wki302_siz_error;
-	DWORD wki302_num_alerts;
-	DWORD wki302_num_services;
-	DWORD wki302_errlog_sz;
-	DWORD wki302_print_buf_time;
-	DWORD wki302_num_char_buf;
-	DWORD wki302_siz_char_buf;
-	LPWSTR wki302_wrk_heuristics;
-	DWORD wki302_mailslots;
-	DWORD wki302_num_dgram_buf;
-}WKSTA_INFO_302,*PWKSTA_INFO_302,*LPWKSTA_INFO_302;
-typedef struct _WKSTA_INFO_402{
-	DWORD wki402_char_wait;
-	DWORD wki402_collection_time;
-	DWORD wki402_maximum_collection_count;
-	DWORD wki402_keep_conn;
-	DWORD wki402_keep_search;
-	DWORD wki402_max_cmds;
-	DWORD wki402_num_work_buf;
-	DWORD wki402_siz_work_buf;
-	DWORD wki402_max_wrk_cache;
-	DWORD wki402_sess_timeout;
-	DWORD wki402_siz_error;
-	DWORD wki402_num_alerts;
-	DWORD wki402_num_services;
-	DWORD wki402_errlog_sz;
-	DWORD wki402_print_buf_time;
-	DWORD wki402_num_char_buf;
-	DWORD wki402_siz_char_buf;
-	LPWSTR wki402_wrk_heuristics;
-	DWORD wki402_mailslots;
-	DWORD wki402_num_dgram_buf;
-	DWORD wki402_max_threads;
-}WKSTA_INFO_402,*PWKSTA_INFO_402,*LPWKSTA_INFO_402;
-typedef struct _WKSTA_INFO_502{
-	DWORD wki502_char_wait;
-	DWORD wki502_collection_time;
-	DWORD wki502_maximum_collection_count;
-	DWORD wki502_keep_conn;
-	DWORD wki502_max_cmds;
-	DWORD wki502_sess_timeout;
-	DWORD wki502_siz_char_buf;
-	DWORD wki502_max_threads;
-	DWORD wki502_lock_quota;
-	DWORD wki502_lock_increment;
-	DWORD wki502_lock_maximum;
-	DWORD wki502_pipe_increment;
-	DWORD wki502_pipe_maximum;
-	DWORD wki502_cache_file_timeout;
-	DWORD wki502_dormant_file_limit;
-	DWORD wki502_read_ahead_throughput;
-	DWORD wki502_num_mailslot_buffers;
-	DWORD wki502_num_srv_announce_buffers;
-	DWORD wki502_max_illegal_datagram_events;
-	DWORD wki502_illegal_datagram_event_reset_frequency;
-	BOOL wki502_log_election_packets;
-	BOOL wki502_use_opportunistic_locking;
-	BOOL wki502_use_unlock_behind;
-	BOOL wki502_use_close_behind;
-	BOOL wki502_buf_named_pipes;
-	BOOL wki502_use_lock_read_unlock;
-	BOOL wki502_utilize_nt_caching;
-	BOOL wki502_use_raw_read;
-	BOOL wki502_use_raw_write;
-	BOOL wki502_use_write_raw_data;
-	BOOL wki502_use_encryption;
-	BOOL wki502_buf_files_deny_write;
-	BOOL wki502_buf_read_only_files;
-	BOOL wki502_force_core_create_mode;
-	BOOL wki502_use_512_byte_max_transfer;
-}WKSTA_INFO_502,*PWKSTA_INFO_502,*LPWKSTA_INFO_502;
-typedef struct _WKSTA_INFO_1010 { DWORD wki1010_char_wait;} WKSTA_INFO_1010,*PWKSTA_INFO_1010,*LPWKSTA_INFO_1010;
-typedef struct _WKSTA_INFO_1011 { DWORD wki1011_collection_time;} WKSTA_INFO_1011,*PWKSTA_INFO_1011,*LPWKSTA_INFO_1011;
-typedef struct _WKSTA_INFO_1012 { DWORD wki1012_maximum_collection_count;} WKSTA_INFO_1012,*PWKSTA_INFO_1012,*LPWKSTA_INFO_1012;
-typedef struct _WKSTA_INFO_1027 { DWORD wki1027_errlog_sz;} WKSTA_INFO_1027,*PWKSTA_INFO_1027,*LPWKSTA_INFO_1027;
-typedef struct _WKSTA_INFO_1028 { DWORD wki1028_print_buf_time;} WKSTA_INFO_1028,*PWKSTA_INFO_1028,*LPWKSTA_INFO_1028;
-typedef struct _WKSTA_INFO_1032 { DWORD wki1032_wrk_heuristics;} WKSTA_INFO_1032,*PWKSTA_INFO_1032,*LPWKSTA_INFO_1032;
-typedef struct _WKSTA_INFO_1013 { DWORD wki1013_keep_conn;} WKSTA_INFO_1013,*PWKSTA_INFO_1013,*LPWKSTA_INFO_1013;
-typedef struct _WKSTA_INFO_1018 { DWORD wki1018_sess_timeout;} WKSTA_INFO_1018,*PWKSTA_INFO_1018,*LPWKSTA_INFO_1018;
-typedef struct _WKSTA_INFO_1023 { DWORD wki1023_siz_char_buf;} WKSTA_INFO_1023,*PWKSTA_INFO_1023,*LPWKSTA_INFO_1023;
-typedef struct _WKSTA_INFO_1033 { DWORD wki1033_max_threads;} WKSTA_INFO_1033,*PWKSTA_INFO_1033,*LPWKSTA_INFO_1033;
-typedef struct _WKSTA_INFO_1041 { DWORD wki1041_lock_quota;} WKSTA_INFO_1041,*PWKSTA_INFO_1041,*LPWKSTA_INFO_1041;
-typedef struct _WKSTA_INFO_1042 { DWORD wki1042_lock_increment;} WKSTA_INFO_1042,*PWKSTA_INFO_1042,*LPWKSTA_INFO_1042;
-typedef struct _WKSTA_INFO_1043 { DWORD wki1043_lock_maximum;} WKSTA_INFO_1043,*PWKSTA_INFO_1043,*LPWKSTA_INFO_1043;
-typedef struct _WKSTA_INFO_1044 { DWORD wki1044_pipe_increment;} WKSTA_INFO_1044,*PWKSTA_INFO_1044,*LPWKSTA_INFO_1044;
-typedef struct _WKSTA_INFO_1045 { DWORD wki1045_pipe_maximum;} WKSTA_INFO_1045,*PWKSTA_INFO_1045,*LPWKSTA_INFO_1045;
-typedef struct _WKSTA_INFO_1046 { DWORD wki1046_dormant_file_limit;} WKSTA_INFO_1046,*PWKSTA_INFO_1046,*LPWKSTA_INFO_1046;
-typedef struct _WKSTA_INFO_1047 { DWORD wki1047_cache_file_timeout;} WKSTA_INFO_1047,*PWKSTA_INFO_1047,*LPWKSTA_INFO_1047;
-typedef struct _WKSTA_INFO_1048 { BOOL wki1048_use_opportunistic_locking;} WKSTA_INFO_1048,*PWKSTA_INFO_1048,*LPWKSTA_INFO_1048;
-typedef struct _WKSTA_INFO_1049 { BOOL wki1049_use_unlock_behind;} WKSTA_INFO_1049,*PWKSTA_INFO_1049,*LPWKSTA_INFO_1049;
-typedef struct _WKSTA_INFO_1050 { BOOL wki1050_use_close_behind;} WKSTA_INFO_1050,*PWKSTA_INFO_1050,*LPWKSTA_INFO_1050;
-typedef struct _WKSTA_INFO_1051 { BOOL wki1051_buf_named_pipes;} WKSTA_INFO_1051,*PWKSTA_INFO_1051,*LPWKSTA_INFO_1051;
-typedef struct _WKSTA_INFO_1052 { BOOL wki1052_use_lock_read_unlock;} WKSTA_INFO_1052,*PWKSTA_INFO_1052,*LPWKSTA_INFO_1052;
-typedef struct _WKSTA_INFO_1053 { BOOL wki1053_utilize_nt_caching;} WKSTA_INFO_1053,*PWKSTA_INFO_1053,*LPWKSTA_INFO_1053;
-typedef struct _WKSTA_INFO_1054 { BOOL wki1054_use_raw_read;} WKSTA_INFO_1054,*PWKSTA_INFO_1054,*LPWKSTA_INFO_1054;
-typedef struct _WKSTA_INFO_1055 { BOOL wki1055_use_raw_write;} WKSTA_INFO_1055,*PWKSTA_INFO_1055,*LPWKSTA_INFO_1055;
-typedef struct _WKSTA_INFO_1056 { BOOL wki1056_use_write_raw_data;} WKSTA_INFO_1056,*PWKSTA_INFO_1056,*LPWKSTA_INFO_1056;
-typedef struct _WKSTA_INFO_1057 { BOOL wki1057_use_encryption;} WKSTA_INFO_1057,*PWKSTA_INFO_1057,*LPWKSTA_INFO_1057;
-typedef struct _WKSTA_INFO_1058 { BOOL wki1058_buf_files_deny_write;} WKSTA_INFO_1058,*PWKSTA_INFO_1058,*LPWKSTA_INFO_1058;
-typedef struct _WKSTA_INFO_1059 { BOOL wki1059_buf_read_only_files;} WKSTA_INFO_1059,*PWKSTA_INFO_1059,*LPWKSTA_INFO_1059;
-typedef struct _WKSTA_INFO_1060 { BOOL wki1060_force_core_create_mode;} WKSTA_INFO_1060,*PWKSTA_INFO_1060,*LPWKSTA_INFO_1060;
-typedef struct _WKSTA_INFO_1061 { BOOL wki1061_use_512_byte_max_transfer;} WKSTA_INFO_1061,*PWKSTA_INFO_1061,*LPWKSTA_INFO_1061;
-typedef struct _WKSTA_INFO_1062 { DWORD wki1062_read_ahead_throughput;} WKSTA_INFO_1062,*PWKSTA_INFO_1062,*LPWKSTA_INFO_1062;
-typedef struct _WKSTA_USER_INFO_0 { LPWSTR wkui0_username;}WKSTA_USER_INFO_0,*PWKSTA_USER_INFO_0,*LPWKSTA_USER_INFO_0;
-typedef struct _WKSTA_USER_INFO_1 {
-	LPWSTR wkui1_username;
-	LPWSTR wkui1_logon_domain;
-	LPWSTR wkui1_oth_domains;
-	LPWSTR wkui1_logon_server;
-}WKSTA_USER_INFO_1,*PWKSTA_USER_INFO_1,*LPWKSTA_USER_INFO_1;
-typedef struct _WKSTA_USER_INFO_1101 { LPWSTR wkui1101_oth_domains;} WKSTA_USER_INFO_1101,*PWKSTA_USER_INFO_1101,*LPWKSTA_USER_INFO_1101;
-typedef struct _WKSTA_TRANSPORT_INFO_0 {
-	DWORD wkti0_quality_of_service;
-	DWORD wkti0_number_of_vcs;
-	LPWSTR wkti0_transport_name;
-	LPWSTR wkti0_transport_address;
-	BOOL wkti0_wan_ish;
-}WKSTA_TRANSPORT_INFO_0,*PWKSTA_TRANSPORT_INFO_0,*LPWKSTA_TRANSPORT_INFO_0;
-
-NET_API_STATUS WINAPI NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/locale.h
===================================================================
--- Daodan/MinGW/include/locale.h	(revision 1046)
+++ 	(revision )
@@ -1,189 +1,0 @@
-/*
- * locale.h
- *
- * Functions and types for localization (ie. changing the appearance of
- * output based on the standards of a certain country, or region).
- *
- * $Id: locale.h,v a3059ad5ee79 2016/06/12 19:22:07 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997, 1999-2001, 2003, 2004, 2007, 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, 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.
- *
- */
-#ifndef	_LOCALE_H
-#pragma GCC system_header
-
-/* Some headers will include this file, just to acquire a globally
- * consistent definition for the opaque locale_t data object type; it
- * is only useful on Vista, or for users of non-free MSVCR80.DLL, (or
- * its later derivatives), so, when either of these is applicable,
- * ensure that we define it, (if we haven't done so already).
- */
-#if ! defined __have_typedef_locale_t \
-&& (__MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA)
-/*
- * FIXME: Do these actually have any value for Vista?  Although the Vista
- * release of MSVCRT.DLL exports several functions which require locale_t
- * parameters, it appears to lack any mechanism whereby an object of that
- * type might be created, or otherwise, a reference to such an object may
- * be acquired.
- */
-typedef struct __mingw_opaque_locale_t  *_locale_t;
-typedef struct __mingw_opaque_locale_t  * locale_t;
-
-/* Set a (private) pre-processor flag, to indicate that these data types
- * have been defined; although GCC versions from 4.x onwards may accept
- * repeated (consistent) definitions, this flag gives us the facility to
- * avoid the overhead of repeatedly parsing this file, just to satisfy a
- * __need_locale_t request which has been satisfied already.
- */
-#define __have_typedef_locale_t  1
-#endif	/* !__have_typedef_locale_t */
-
-/* When we are interested in more than just locale_t...
- */
-#ifndef __need_locale_t
-/* ...content from <locale.h> is selectively shared with <wchar.h>;
- * defer definition of the normal repeat inclusion guard, until...
- */
-#ifndef __WCHAR_H_SOURCED__
- /* ...we have confirmed that this inclusion is NOT the <wchar.h>
-  * selective request, or just a __need_locale_t request.
-  */
-#define	_LOCALE_H
-
-/* All MinGW headers should include <_mingw.h>; do so only when NOT
- * sourced by <wchar.h>, (which should have included it already).
- */
-#include <_mingw.h>
-
-#define	LC_ALL		0
-#define LC_COLLATE	1
-#define LC_CTYPE	2
-#define	LC_MONETARY	3
-#define	LC_NUMERIC	4
-#define	LC_TIME		5
-#define	LC_MIN		LC_ALL
-#define	LC_MAX		LC_TIME
-
-#ifndef RC_INVOKED
-/* Both ISO-C and POSIX stipulate that <locale.h> should reproduce the
- * definition of NULL, from <stddef.h>; although not required by either
- * standard, we also require wchar_t, to support our declaration of the
- * Microsoft specific _wsetlocale() function, below.
- */
-#define __need_NULL
-#define __need_wchar_t
-#include <stddef.h>
-
-struct lconv
-{ /* The structure returned by the localeconv() function.
-   *
-   * AUTHOR'S NOTE:
-   * I have tried to test this, but I am limited by my knowledge of
-   * locale issues. The structure does not bomb if you look at the
-   * values, and 'decimal_point' even seems to be correct, but the
-   * rest of the values may, by default, not be particularly useful;
-   * indeed, they may even be meaningless, and in no way related to
-   * the international settings of the system.
-   */
-  char	*decimal_point;
-  char	*thousands_sep;
-  char	*grouping;
-  char	*int_curr_symbol;
-  char	*currency_symbol;
-  char	*mon_decimal_point;
-  char	*mon_thousands_sep;
-  char	*mon_grouping;
-  char	*positive_sign;
-  char	*negative_sign;
-  char	 int_frac_digits;
-  char	 frac_digits;
-  char	 p_cs_precedes;
-  char	 p_sep_by_space;
-  char	 n_cs_precedes;
-  char	 n_sep_by_space;
-  char	 p_sign_posn;
-  char	 n_sign_posn;
-};
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !__WCHAR_H_SOURCED__ */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-#ifdef _LOCALE_H
- /* The following pair of function prototypes are to be declared
-  * only when including <locale.h> in its own right, (i.e. when NOT
-  * sourced by <wchar.h>)...
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  char *setlocale (int, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  struct lconv *localeconv (void);
-
-#endif
- /* ...whereas, this must be declared in either case; (note that it
-  * not necessary to guard against a possible repeat declaration, as
-  * the compiler should accept this, without complaint, provided any
-  * prior declaration is consistent).
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wsetlocale (int, const wchar_t *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* The following are available to users of non-free MSVCR80.DLL, and
- * its later derivatives.  They are REQUIRED to create, or otherwise
- * acquire a reference to, a locale_t object; they SHOULD also have
- * been made available in MSVCRT.DLL, from Vista onwards, to support
- * the use of functions added in that release which require locale_t
- * parameters, but it seems that Microsoft, exhibiting their usual
- * ineptitude, have neglected that requirement.
- */
-#ifdef _LOCALE_H
-/* This triplet of functions are to be declared only when <locale.h>
- * is included directly, and so is parsed in full...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  _locale_t _create_locale (int, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  _locale_t _get_current_locale (void);
-_CRTIMP __cdecl __MINGW_NOTHROW   void     _free_locale (locale_t);
-
-#endif
-/* ...whereas, this is required both when included directly, and also
- * when indirectly included by <wchar.h>
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  _locale_t _wcreate_locale (int, const wchar_t *);
-
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !__need_locale_t */
-
-/* We've already handled any pending __need_locale_t request; ensure
- * that we cancel it, so that any more comprehensive further request,
- * before _LOCALE_H is defined, will be handled appropriately.
- */
-#undef	__need_locale_t
-
-#endif  /* !_LOCALE_H: $RCSfile: locale.h,v $: end of file */
Index: Daodan/MinGW/include/lzexpand.h
===================================================================
--- Daodan/MinGW/include/lzexpand.h	(revision 1046)
+++ 	(revision )
@@ -1,40 +1,0 @@
-#ifndef _LZEXPAND_H
-#define _LZEXPAND_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define LZERROR_BADINHANDLE	(-1)
-#define LZERROR_BADOUTHANDLE	(-2)
-#define LZERROR_READ	(-3)
-#define LZERROR_WRITE	(-4)
-#define LZERROR_GLOBALLOC	(-5)
-#define LZERROR_GLOBLOCK	(-6)
-#define LZERROR_BADVALUE	(-7)
-#define LZERROR_UNKNOWNALG	(-8)
-LONG WINAPI CopyLZFile(INT,INT);
-INT WINAPI GetExpandedNameA(LPSTR,LPSTR);
-INT WINAPI GetExpandedNameW(LPWSTR,LPWSTR);
-VOID APIENTRY LZClose(INT);
-LONG APIENTRY LZCopy(INT,INT);
-VOID WINAPI LZDone(VOID);
-INT WINAPI LZInit(INT);
-INT WINAPI LZOpenFileA(LPSTR,LPOFSTRUCT,WORD);
-INT WINAPI LZOpenFileW(LPWSTR,LPOFSTRUCT,WORD);
-INT WINAPI LZRead(INT,LPSTR,INT);
-LONG WINAPI LZSeek(INT,LONG,INT);
-INT WINAPI LZStart(VOID);
-#ifdef UNICODE
-#define GetExpandedName GetExpandedNameW
-#define LZOpenFile  LZOpenFileW
-#else
-#define GetExpandedName GetExpandedNameA
-#define LZOpenFile  LZOpenFileA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/malloc.h
===================================================================
--- Daodan/MinGW/include/malloc.h	(revision 1046)
+++ 	(revision )
@@ -1,103 +1,0 @@
-/*
- * malloc.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for programs which want to use malloc.h to get memory management
- * functions. Unless you absolutely need some of these functions and they are
- * not in the ANSI headers you should use the ANSI standard header files
- * instead.
- *
- */
-
-#ifndef _MALLOC_H_
-#define _MALLOC_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <stdlib.h>
-
-#ifndef RC_INVOKED
-
-/*
- * The structure used to walk through the heap with _heapwalk.
- */
-typedef	struct _heapinfo
-{
-	int*	_pentry;
-	size_t	_size;
-	int	_useflag;
-} _HEAPINFO;
-
-/* Values for _heapinfo.useflag */
-#define _FREEENTRY 0
-#define _USEDENTRY 1
-
-/* Return codes for _heapwalk()  */
-#define _HEAPEMPTY	(-1)
-#define _HEAPOK		(-2)
-#define _HEAPBADBEGIN	(-3)
-#define _HEAPBADNODE	(-4)
-#define _HEAPEND	(-5)
-#define _HEAPBADPTR	(-6)
-
-/* maximum size of a user request for memory */
-#define _HEAP_MAXREQ  0xFFFFFFE0
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-/*
-   The _heap* memory allocation functions are supported on NT
-   but not W9x. On latter, they always set errno to ENOSYS.
-*/
-_CRTIMP int __cdecl __MINGW_NOTHROW _heapwalk (_HEAPINFO*);
-#ifdef __GNUC__
-#define _alloca(x) __builtin_alloca((x))
-#endif
-
-#ifndef	_NO_OLDNAMES
-_CRTIMP int __cdecl __MINGW_NOTHROW heapwalk (_HEAPINFO*);
-#ifdef __GNUC__
-#define alloca(x) __builtin_alloca((x))
-#endif
-#endif	/* Not _NO_OLDNAMES */
-
-_CRTIMP int __cdecl __MINGW_NOTHROW _heapchk (void);	/* Verify heap integrety. */
-_CRTIMP int __cdecl __MINGW_NOTHROW _heapmin (void);	/* Return unused heap to the OS. */
-_CRTIMP int __cdecl __MINGW_NOTHROW _heapset (unsigned int);
-
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _msize (void*);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _get_sbh_threshold (void);
-_CRTIMP int __cdecl __MINGW_NOTHROW _set_sbh_threshold (size_t);
-_CRTIMP void* __cdecl __MINGW_NOTHROW _expand (void*, size_t);
-
-/* These require msvcr70.dll or higher. */
-#if __MSVCRT_VERSION__ >= 0x0700
-_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_malloc(size_t, size_t, size_t);
-_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_realloc(void*, size_t, size_t, size_t);
-_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_recalloc(void*, size_t, size_t, size_t, size_t);
-
-_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_malloc (size_t, size_t);
-_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_realloc (void*, size_t, size_t);
-_CRTIMP void* __cdecl __MINGW_NOTHROW _aligned_recalloc(void*, size_t, size_t, size_t);
-_CRTIMP void __cdecl __MINGW_NOTHROW _aligned_free (void*);
-#endif /* __MSVCRT_VERSION__ >= 0x0700 */
-
-/* These require libmingwex.a. */
-void * __cdecl __MINGW_NOTHROW __mingw_aligned_offset_malloc (size_t, size_t, size_t);
-void * __cdecl __MINGW_NOTHROW __mingw_aligned_offset_realloc (void*, size_t, size_t, size_t);
-
-void * __cdecl __MINGW_NOTHROW __mingw_aligned_malloc (size_t, size_t);
-void * __cdecl __MINGW_NOTHROW __mingw_aligned_realloc (void*, size_t, size_t);
-void __cdecl __MINGW_NOTHROW __mingw_aligned_free (void*);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* RC_INVOKED */
-
-#endif /* Not _MALLOC_H_ */
Index: Daodan/MinGW/include/mapi.h
===================================================================
--- Daodan/MinGW/include/mapi.h	(revision 1046)
+++ 	(revision )
@@ -1,163 +1,0 @@
-#ifndef _MAPI_H
-#define _MAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SUCCESS_SUCCESS			0
-#define MAPI_USER_ABORT			1
-#define MAPI_E_USER_ABORT		1
-#define MAPI_E_FAILURE			2
-#define MAPI_E_LOGIN_FAILURE		3
-#define MAPI_E_LOGON_FAILURE		3
-#define MAPI_E_DISK_FULL		4
-#define MAPI_E_INSUFFICIENT_MEMORY	5
-#define MAPI_E_ACCESS_DENIED		6
-#define MAPI_E_BLK_TOO_SMALL		6
-#define MAPI_E_TOO_MANY_SESSIONS	8
-#define MAPI_E_TOO_MANY_FILES		9
-#define MAPI_E_TOO_MANY_RECIPIENTS	10
-#define MAPI_E_ATTACHMENT_NOT_FOUND	11
-#define MAPI_E_ATTACHMENT_OPEN_FAILURE	12
-#define MAPI_E_ATTACHMENT_WRITE_FAILURE	13
-#define MAPI_E_UNKNOWN_RECIPIENT	14
-#define MAPI_E_BAD_RECIPTYPE		15
-#define MAPI_E_NO_MESSAGES		16
-#define MAPI_E_INVALID_MESSAGE		17
-#define MAPI_E_TEXT_TOO_LARGE		18
-#define MAPI_E_INVALID_SESSION		19
-#define MAPI_E_TYPE_NOT_SUPPORTED	20
-#define MAPI_E_AMBIGUOUS_RECIPIENT	21
-#define MAPI_E_AMBIGUOUS_RECIP		21
-#define MAPI_E_MESSAGE_IN_USE		22
-#define MAPI_E_NETWORK_FAILURE		23
-#define MAPI_E_INVALID_EDITFIELDS	24
-#define MAPI_E_INVALID_RECIPS		25
-#define MAPI_E_NOT_SUPPORTED		26
-
-#define MAPI_ORIG	0
-#define MAPI_TO		1
-#define MAPI_CC		2
-#define MAPI_BCC	3
-
-#define MAPI_LOGON_UI		0x0001
-#define MAPI_NEW_SESSION	0x0002
-#define MAPI_FORCE_DOWNLOAD	0x1000
-#define MAPI_LOGOFF_SHARED	0x0001
-#define MAPI_LOGOFF_UI		0x0002
-#define MAPI_DIALOG		0x0008
-#define MAPI_UNREAD_ONLY	0x0020
-#define MAPI_LONG_MSGID		0x4000
-#define MAPI_GUARANTEE_FIFO	0x0100
-#define MAPI_ENVELOPE_ONLY	0x0040
-#define MAPI_PEEK		0x0080
-#define MAPI_BODY_AS_FILE	0x0200
-#define MAPI_SUPPRESS_ATTACH	0x0800
-#define MAPI_AB_NOMODIFY	0x0400
-#define MAPI_OLE		0x0001
-#define MAPI_OLE_STATIC		0x0002
-#define MAPI_UNREAD		0x0001
-#define MAPI_RECEIPT_REQUESTED	0x0002
-#define MAPI_SENT		0x0004
-
-#ifndef RC_INVOKED
-typedef unsigned long FLAGS;
-typedef unsigned long LHANDLE;
-typedef unsigned long FAR *LPLHANDLE, FAR *LPULONG;
-
-typedef struct {
-  ULONG ulReserved;
-  ULONG ulRecipClass;
-  LPSTR lpszName;
-  LPSTR lpszAddress;
-  ULONG ulEIDSize;
-  LPVOID lpEntryID;
-} MapiRecipDesc, *lpMapiRecipDesc;
-typedef struct {
-  ULONG ulReserved;
-  ULONG flFlags;
-  ULONG nPosition;
-  LPSTR lpszPathName;
-  LPSTR lpszFileName;
-  LPVOID lpFileType;
-} MapiFileDesc, *lpMapiFileDesc;
-typedef struct {
-  ULONG ulReserved;
-  ULONG cbTag;
-  LPBYTE lpTag;
-  ULONG cbEncoding;
-  LPBYTE lpEncoding;
-} MapiFileTagExt, *lpMapiFileTagExt;
-typedef struct {
-  ULONG ulReserved;
-  LPSTR lpszSubject;
-  LPSTR lpszNoteText;
-  LPSTR lpszMessageType;
-  LPSTR lpszDateReceived;
-  LPSTR lpszConversationID;
-  FLAGS flFlags;
-  lpMapiRecipDesc lpOriginator;
-  ULONG nRecipCount;
-  lpMapiRecipDesc lpRecips;
-  ULONG nFileCount;
-  lpMapiFileDesc lpFiles;
-} MapiMessage, *lpMapiMessage;
-
-ULONG PASCAL MAPILogon (ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE);
-ULONG PASCAL MAPISendMail (LHANDLE,ULONG,lpMapiMessage,FLAGS,ULONG);
-ULONG PASCAL MAPISendDocuments (ULONG,LPSTR,LPSTR,LPSTR,ULONG);
-ULONG PASCAL MAPIReadMail (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
-			   lpMapiMessage*);
-ULONG PASCAL MAPIFindNext (LHANDLE,ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPSTR);
-ULONG PASCAL MAPIResolveName (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
-                             lpMapiRecipDesc*);
-ULONG PASCAL MAPIAddress (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,ULONG,
-			  lpMapiRecipDesc,FLAGS,ULONG,LPULONG,
-			  lpMapiRecipDesc*);
-ULONG PASCAL MAPIFreeBuffer (LPVOID);
-ULONG PASCAL MAPIDetails (LHANDLE,ULONG,lpMapiRecipDesc,FLAGS,ULONG);
-ULONG PASCAL MAPISaveMail (LHANDLE,ULONG,lpMapiMessage lpszMessage,
-                           FLAGS,ULONG,LPSTR);
-ULONG PASCAL MAPIDeleteMail (LHANDLE lpSession,ULONG,LPSTR,FLAGS,ULONG);
-ULONG PASCAL MAPILogoff (LHANDLE,ULONG,FLAGS,ULONG);
-/* Netscape extensions.  */
-ULONG PASCAL MAPIGetNetscapeVersion (void);
-ULONG PASCAL MAPI_NSCP_SynchronizeClient (LHANDLE,ULONG);
-
-/* Handles for use with GetProcAddress */
-typedef ULONG (PASCAL * LPMAPILOGON) (ULONG,LPSTR,LPSTR,FLAGS,ULONG,
-				      LPLHANDLE);
-typedef ULONG (PASCAL * LPMAPISENDMAIL) (LHANDLE,ULONG,lpMapiMessage,
-					 FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPISENDDOCUMENTS) (ULONG,LPSTR,LPSTR,
-					      LPSTR,ULONG);
-typedef ULONG (PASCAL * LPMAPIREADMAIL) (LHANDLE,ULONG,LPSTR,FLAGS,
-					 ULONG,lpMapiMessage*);
-typedef ULONG (PASCAL * LPMAPIFINDNEXT) (LHANDLE,ULONG,LPSTR,LPSTR,
-					 FLAGS,ULONG,LPSTR);
-typedef ULONG (PASCAL * LPMAPIRESOLVENAME) (LHANDLE,ULONG,LPSTR,FLAGS,
-					    ULONG,lpMapiRecipDesc*);
-typedef ULONG (PASCAL * LPMAPIADDRESS) (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,
-					ULONG,lpMapiRecipDesc,FLAGS,ULONG,
-					LPULONG,lpMapiRecipDesc*);
-typedef ULONG (PASCAL * LPMAPIFREEBUFFER) (LPVOID lpv);
-typedef ULONG (PASCAL * LPMAPIDETAILS) (LHANDLE,ULONG,lpMapiRecipDesc,
-					FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPISAVEMAIL) (LHANDLE,ULONG,lpMapiMessage,
-					 FLAGS,ULONG,LPSTR);
-typedef ULONG (PASCAL * LPMAPIDELETEMAIL) (LHANDLE lpSession,ULONG,
-					   LPSTR, FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPILOGOFF)(LHANDLE,ULONG,FLAGS,ULONG);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* Not _MAPI_H */
-
Index: Daodan/MinGW/include/math.h
===================================================================
--- Daodan/MinGW/include/math.h	(revision 1046)
+++ 	(revision )
@@ -1,918 +1,0 @@
-/*
- * math.h
- *
- * ANSI/POSIX + Microsoft compatible mathematical function prototypes,
- * associated macros, and manifest constant definitions.
- *
- * $Id: math.h,v c96797f9657b 2016/04/12 14:36:20 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2009, 2014-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, 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.
- *
- */
-#ifndef _MATH_H
-#define _MATH_H
-#pragma GCC system_header
-
-/* All the headers include this file.
- */
-#include <_mingw.h>
-
-/* Types for the _exception structure.
- */
-#define _DOMAIN 	1	/* domain error in argument */
-#define _SING		2	/* singularity */
-#define _OVERFLOW	3	/* range overflow */
-#define _UNDERFLOW	4	/* range underflow */
-#define _TLOSS		5	/* total loss of precision */
-#define _PLOSS		6	/* partial loss of precision */
-
-#if ! defined __STRICT_ANSI__ && ! defined _NO_OLDNAMES
-/*
- * Exception types with non-ANSI names for compatibility.
- */
-#define DOMAIN		_DOMAIN
-#define SING		_SING
-#define OVERFLOW	_OVERFLOW
-#define UNDERFLOW	_UNDERFLOW
-#define TLOSS		_TLOSS
-#define PLOSS		_PLOSS
-
-#endif	/* !__STRICT_ANSI__ && !_NO_OLDNAMES */
-
-
-#if _POSIX_C_SOURCE || defined _USE_MATH_DEFINES
-/* Traditional/XOPEN math constants (double precison).  MSVC makes these
- * available, only if _USE_MATH_DEFINES is specified; POSIX does so also,
- * when _POSIX_C_SOURCE is defined and non-zero, (as will be the case by
- * default in MinGW, unless __STRICT_ANSI__ checking is in effect).
- */
-#define M_E		2.7182818284590452354
-#define M_LOG2E 	1.4426950408889634074
-#define M_LOG10E	0.43429448190325182765
-#define M_LN2		0.69314718055994530942
-#define M_LN10		2.30258509299404568402
-#define M_PI		3.14159265358979323846
-#define M_PI_2		1.57079632679489661923
-#define M_PI_4		0.78539816339744830962
-#define M_1_PI		0.31830988618379067154
-#define M_2_PI		0.63661977236758134308
-#define M_2_SQRTPI	1.12837916709551257390
-#define M_SQRT2 	1.41421356237309504880
-#define M_SQRT1_2	0.70710678118654752440
-#endif
-
-/* These are also defined in MinGW float.h; needed here as well,
- * to work around GCC build issues.
- *
- * FIXME: Since they're needed both in MinGW float.h and here,
- * they should be moved to a common "parts" header.
- */
-#if ! defined __STRICT_ANSI__ && ! defined __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED  1
-
-/* IEEE 754 classication
- */
-#define _FPCLASS_SNAN	0x0001	/* Signaling "Not a Number" */
-#define _FPCLASS_QNAN	0x0002	/* Quiet "Not a Number" */
-#define _FPCLASS_NINF	0x0004	/* Negative Infinity */
-#define _FPCLASS_NN	0x0008	/* Negative Normal */
-#define _FPCLASS_ND	0x0010	/* Negative Denormal */
-#define _FPCLASS_NZ	0x0020	/* Negative Zero */
-#define _FPCLASS_PZ	0x0040	/* Positive Zero */
-#define _FPCLASS_PD	0x0080	/* Positive Denormal */
-#define _FPCLASS_PN	0x0100	/* Positive Normal */
-#define _FPCLASS_PINF	0x0200	/* Positive Infinity */
-
-#endif	/* !__STRICT_ANSI__ && !__MINGW_FPCLASS_DEFINED */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-/* HUGE_VAL is returned by strtod when the value would overflow the
- * representation of 'double'. There are other uses as well.
- *
- * __imp__HUGE is a pointer to the actual variable _HUGE in
- * MSVCRT.DLL. If we used _HUGE directly we would get a pointer
- * to a thunk function.
- *
- * NOTE: The CRTDLL version uses _HUGE_dll instead.
- */
-#if __MINGW_GNUC_PREREQ(3, 3)
-#define HUGE_VAL __builtin_huge_val()
-
-#else
-#ifndef __DECLSPEC_SUPPORTED
-
-#ifdef __MSVCRT__
-extern double      *_imp___HUGE;
-#define HUGE_VAL  (*_imp___HUGE)
-
-#else /* CRTDLL */
-extern double      *_imp___HUGE_dll;
-#define HUGE_VAL  (*_imp___HUGE_dll)
-#endif
-
-#else /* __DECLSPEC_SUPPORTED */
-
-#ifdef __MSVCRT__
-__MINGW_IMPORT double	_HUGE;
-#define HUGE_VAL	_HUGE
-
-#else /* CRTDLL */
-__MINGW_IMPORT double	_HUGE_dll;
-#define HUGE_VAL	_HUGE_dll
-#endif
-
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* __MINGW_GNUC_PREREQ(3, 3) */
-
-struct _exception
-{
-  int     type;
-  char   *name;
-  double  arg1;
-  double  arg2;
-  double  retval;
-};
-
-_CRTIMP double __cdecl sin (double);
-_CRTIMP double __cdecl cos (double);
-_CRTIMP double __cdecl tan (double);
-_CRTIMP double __cdecl sinh (double);
-_CRTIMP double __cdecl cosh (double);
-_CRTIMP double __cdecl tanh (double);
-_CRTIMP double __cdecl asin (double);
-_CRTIMP double __cdecl acos (double);
-_CRTIMP double __cdecl atan (double);
-_CRTIMP double __cdecl atan2 (double, double);
-_CRTIMP double __cdecl exp (double);
-_CRTIMP double __cdecl log (double);
-_CRTIMP double __cdecl log10 (double);
-_CRTIMP	double __cdecl pow (double, double);
-_CRTIMP double __cdecl sqrt (double);
-_CRTIMP double __cdecl ceil (double);
-_CRTIMP double __cdecl floor (double);
-_CRTIMP double __cdecl fabs (double);
-_CRTIMP double __cdecl ldexp (double, int);
-_CRTIMP double __cdecl frexp (double, int*);
-_CRTIMP double __cdecl modf (double, double*);
-_CRTIMP double __cdecl fmod (double, double);
-
-#if 0
-/* Excess precision when using a 64-bit mantissa for FPU math ops can
- * cause unexpected results with some of the MSVCRT math functions.  For
- * example, unless the function return value is stored (truncating to
- * 53-bit mantissa), calls to pow with both x and y as integral values
- * sometimes produce a non-integral result.
- *
- * One workaround is to reset the FPU env to 53-bit mantissa
- * by a call to fesetenv (FE_PC53_ENV).  Amother is to force storage
- * of the return value of individual math functions using wrappers.
- * NB, using these wrappers will disable builtin math functions and
- * hence disable the folding of function results at compile time when
- * arguments are constant.
- */
-#define __DEFINE_FLOAT_STORE_MATHFN_D1(fn1)	\
-static __inline__ double			\
-__float_store_ ## fn1 (double x)		\
-{						\
-   __volatile__ double res = (fn1) (x); 	\
-  return res;					\
-}
-
-#define __DEFINE_FLOAT_STORE_MATHFN_D2(fn2)	\
-static __inline__ double			\
-__float_store_ ## fn2 (double x, double y)	\
-{						\
-  __volatile__ double res = (fn2) (x, y);	\
-  return res;					\
-}
-
-/* For example, here is how to force the result of the pow function
- * to be stored:
- */
-#undef pow
-/* Define the ___float_store_pow function and use it instead of pow().
- */
-__DEFINE_FLOAT_STORE_MATHFN_D2 (pow)
-#define pow __float_store_pow
-#endif
-
-#ifndef __STRICT_ANSI__
-
-struct _complex
-{ /* Complex number (for _cabs).  This is the MS version; the
-   * ISO-C99 counterpart, _Complex, is an intrinsic type in GCC,
-   * and 'complex' is defined as a macro.  See <complex.h>
-   */
-  double  x;	/* Real part */
-  double  y;	/* Imaginary part */
-};
-
-_CRTIMP double __cdecl _cabs (struct _complex);
-
-_CRTIMP double __cdecl _hypot (double, double);
-_CRTIMP double __cdecl _j0 (double);
-_CRTIMP double __cdecl _j1 (double);
-_CRTIMP double __cdecl _jn (int, double);
-_CRTIMP double __cdecl _y0 (double);
-_CRTIMP double __cdecl _y1 (double);
-_CRTIMP double __cdecl _yn (int, double);
-_CRTIMP int __cdecl _matherr (struct _exception *);
-
-/* These are also declared in MinGW's <float.h>; we need them
- * here as well to work around GCC build issues.
- */
-/* BEGIN FLOAT.H COPY */
-/*
- * IEEE recommended functions
- */
-_CRTIMP double __cdecl _chgsign (double);
-_CRTIMP double __cdecl _copysign (double, double);
-_CRTIMP double __cdecl _logb (double);
-_CRTIMP double __cdecl _nextafter (double, double);
-_CRTIMP double __cdecl _scalb (double, long);
-
-_CRTIMP int __cdecl _finite (double);
-_CRTIMP int __cdecl _fpclass (double);
-_CRTIMP int __cdecl _isnan (double);
-
-/* END FLOAT.H COPY */
-
-
-#ifndef _NO_OLDNAMES
-/* Non-underscored versions of non-ANSI functions.
- * These reside in liboldnames.a.
- */
-_CRTIMP double __cdecl j0 (double);
-_CRTIMP double __cdecl j1 (double);
-_CRTIMP double __cdecl jn (int, double);
-_CRTIMP double __cdecl y0 (double);
-_CRTIMP double __cdecl y1 (double);
-_CRTIMP double __cdecl yn (int, double);
-
-_CRTIMP double __cdecl chgsign (double);
-/*
- * scalb() is a GCC built-in.
- * Exclude this _scalb() stub; the semantics are incompatible
- * with the built-in implementation.
- *
-_CRTIMP double __cdecl scalb (double, long);
- *
- */
-_CRTIMP int __cdecl finite (double);
-_CRTIMP int __cdecl fpclass (double);
-
-#define FP_SNAN    _FPCLASS_SNAN
-#define FP_QNAN    _FPCLASS_QNAN
-#define FP_NINF    _FPCLASS_NINF
-#define FP_PINF    _FPCLASS_PINF
-#define FP_NDENORM _FPCLASS_ND
-#define FP_PDENORM _FPCLASS_PD
-#define FP_NZERO   _FPCLASS_NZ
-#define FP_PZERO   _FPCLASS_PZ
-#define FP_NNORM   _FPCLASS_NN
-#define FP_PNORM   _FPCLASS_PN
-
-#endif	/* !_NO_OLDNAMES */
-
-#if _WIN32_WINNT >= _WIN32_WINNT_WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL
-/*
- * This requires WinXP, or MSVCR70.DLL, or later.
- */
-_CRTIMP int __cdecl _set_SSE2_enable (int);
-
-#endif	/* >= WINXP || >= __MSVCR70_DLL */
-#endif	/* !__STRICT_ANSI__ */
-
-#if defined __cplusplus || defined _ISOC99_SOURCE
-
-# if __MINGW_GNUC_PREREQ(3, 3)
-#  define HUGE_VALF		__builtin_huge_valf()
-#  define HUGE_VALL		__builtin_huge_vall()
-#  define INFINITY		__builtin_inf()
-#  define NAN			__builtin_nan("")
-# else
-   extern const float		__INFF;
-   extern const long double	__INFL;
-   extern const double		__QNAN;
-
-#  define HUGE_VALF		__INFF
-#  define HUGE_VALL		__INFL
-#  define INFINITY		  HUGE_VALF
-#  define NAN			__QNAN
-
-# endif /* __MINGW_GNUC_PREREQ(3, 3) */
-
-#ifdef __FLT_EVAL_METHOD__
-/* Use the compiler's builtin definition for FLT_EVAL_METHOD
- * to establish appropriate float_t and double_t typedefs.
- */
-# if __FLT_EVAL_METHOD__ == 0
-   typedef float float_t;
-   typedef double double_t;
-
-# elif __FLT_EVAL_METHOD__ == 1
-   typedef double float_t;
-   typedef double double_t;
-
-# elif __FLT_EVAL_METHOD__ == 2
-   typedef long double float_t;
-   typedef long double double_t;
-
-# endif
-#else
- /* ix87 FPU default
-  */
-  typedef long double float_t;
-  typedef long double double_t;
-#endif
-
-/* 7.12.3.1
- * Return values for fpclassify.
- * These are based on Intel x87 fpu condition codes
- * in the high byte of status word and differ from
- * the return values for MS IEEE 754 extension _fpclass()
- */
-#define FP_NAN		0x0100
-#define FP_NORMAL	0x0400
-#define FP_INFINITE	(FP_NAN | FP_NORMAL)
-#define FP_ZERO		0x4000
-#define FP_SUBNORMAL	(FP_NORMAL | FP_ZERO)
-/* 0x0200 is signbit mask */
-
-/* We can't inline float or double, because we want to ensure
- * truncation to semantic type before classification; (a normal
- * long double value might become subnormal when converted to
- * double, and zero when converted to float.)
- */
-extern int __cdecl __fpclassifyf (float);
-extern int __cdecl __fpclassify (double);
-extern int __cdecl __fpclassifyl (long double);
-
-#ifndef __NO_INLINE__
-__CRT_INLINE int __cdecl __fpclassifyl (long double x){
-  unsigned short sw;
-  __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
-  return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
-#endif
-
-#define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x)	  \
-		       : sizeof (x) == sizeof (double) ? __fpclassify (x) \
-		       : __fpclassifyl (x))
-
-/* 7.12.3.2 */
-#define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
-
-/* 7.12.3.3 */
-#define isinf(x) (fpclassify(x) == FP_INFINITE)
-
-/* 7.12.3.4 */
-/* We don't need to worry about truncation here:
- * a NaN stays a NaN.
- */
-extern int __cdecl __isnan (double);
-extern int __cdecl __isnanf (float);
-extern int __cdecl __isnanl (long double);
-#ifndef __NO_INLINE__
-__CRT_INLINE int __cdecl __isnan (double _x)
-{
-  unsigned short sw;
-  __asm__ ("fxam;"
-	   "fstsw %%ax": "=a" (sw) : "t" (_x));
-  return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
-    == FP_NAN;
-}
-
-__CRT_INLINE int __cdecl __isnanf (float _x)
-{
-  unsigned short sw;
-  __asm__ ("fxam;"
-	    "fstsw %%ax": "=a" (sw) : "t" (_x));
-  return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
-    == FP_NAN;
-}
-
-__CRT_INLINE int __cdecl __isnanl (long double _x)
-{
-  unsigned short sw;
-  __asm__ ("fxam;"
-	    "fstsw %%ax": "=a" (sw) : "t" (_x));
-  return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
-    == FP_NAN;
-}
-#endif
-
-#define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x)	\
-		  : sizeof (x) == sizeof (double) ? __isnan (x)	\
-		  : __isnanl (x))
-
-/* 7.12.3.5 */
-#define isnormal(x) (fpclassify(x) == FP_NORMAL)
-
-/* 7.12.3.6 The signbit macro */
-extern int __cdecl __signbit (double);
-extern int __cdecl __signbitf (float);
-extern int __cdecl __signbitl (long double);
-#ifndef __NO_INLINE__
-__CRT_INLINE int __cdecl __signbit (double x) {
-  unsigned short stw;
-  __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
-  return (stw & 0x0200) != 0;
-}
-
-__CRT_INLINE int __cdecl __signbitf (float x) {
-  unsigned short stw;
-  __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
-  return (stw & 0x0200) != 0;
-}
-
-__CRT_INLINE int __cdecl __signbitl (long double x) {
-  unsigned short stw;
-  __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
-  return (stw & 0x0200) != 0;
-}
-#endif
-
-#define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x)	\
-		    : sizeof (x) == sizeof (double) ? __signbit (x)	\
-		    : __signbitl (x))
-
-/* 7.12.4 Trigonometric functions: double in C89
- */
-extern float __cdecl sinf (float);
-extern long double __cdecl sinl (long double);
-
-extern float __cdecl cosf (float);
-extern long double __cdecl cosl (long double);
-
-extern float __cdecl tanf (float);
-extern long double __cdecl tanl (long double);
-
-extern float __cdecl asinf (float);
-extern long double __cdecl asinl (long double);
-
-extern float __cdecl acosf (float);
-extern long double __cdecl acosl (long double);
-
-extern float __cdecl atanf (float);
-extern long double __cdecl atanl (long double);
-
-extern float __cdecl atan2f (float, float);
-extern long double __cdecl atan2l (long double, long double);
-
-/* 7.12.5 Hyperbolic functions: double in C89
- */
-extern float __cdecl sinhf (float);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl sinhf (float x)
-  {return (float) sinh (x);}
-#endif
-extern long double __cdecl sinhl (long double);
-
-extern float __cdecl coshf (float);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl coshf (float x)
-  {return (float) cosh (x);}
-#endif
-extern long double __cdecl coshl (long double);
-
-extern float __cdecl tanhf (float);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl tanhf (float x)
-  {return (float) tanh (x);}
-#endif
-extern long double __cdecl tanhl (long double);
-
-/* Inverse hyperbolic trig functions  */
-/* 7.12.5.1 */
-extern double __cdecl acosh (double);
-extern float __cdecl acoshf (float);
-extern long double __cdecl acoshl (long double);
-
-/* 7.12.5.2 */
-extern double __cdecl asinh (double);
-extern float __cdecl asinhf (float);
-extern long double __cdecl asinhl (long double);
-
-/* 7.12.5.3 */
-extern double __cdecl atanh (double);
-extern float __cdecl atanhf  (float);
-extern long double __cdecl atanhl (long double);
-
-/* Exponentials and logarithms  */
-/* 7.12.6.1 Double in C89 */
-extern float __cdecl expf (float);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl expf (float x)
-  {return (float) exp (x);}
-#endif
-extern long double __cdecl expl (long double);
-
-/* 7.12.6.2 */
-extern double __cdecl exp2(double);
-extern float __cdecl exp2f(float);
-extern long double __cdecl exp2l(long double);
-
-/* 7.12.6.3 The expm1 functions */
-/* TODO: These could be inlined */
-extern double __cdecl expm1(double);
-extern float __cdecl expm1f(float);
-extern long double __cdecl expm1l(long double);
-
-/* 7.12.6.4 Double in C89 */
-extern float __cdecl frexpf (float, int*);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl frexpf (float x, int* expn)
-  {return (float) frexp (x, expn);}
-#endif
-extern long double __cdecl frexpl (long double, int*);
-
-/* 7.12.6.5 */
-#define FP_ILOGB0 ((int)0x80000000)
-#define FP_ILOGBNAN ((int)0x80000000)
-extern int __cdecl ilogb (double);
-extern int __cdecl ilogbf (float);
-extern int __cdecl ilogbl (long double);
-
-/* 7.12.6.6  Double in C89 */
-extern float __cdecl ldexpf (float, int);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl ldexpf (float x, int expn)
-  {return (float) ldexp (x, expn);}
-#endif
-extern long double __cdecl ldexpl (long double, int);
-
-/* 7.12.6.7 Double in C89 */
-extern float __cdecl logf (float);
-extern long double __cdecl logl (long double);
-
-/* 7.12.6.8 Double in C89 */
-extern float __cdecl log10f (float);
-extern long double __cdecl log10l (long double);
-
-/* 7.12.6.9 */
-extern double __cdecl log1p(double);
-extern float __cdecl log1pf(float);
-extern long double __cdecl log1pl(long double);
-
-/* 7.12.6.10 */
-extern double __cdecl log2 (double);
-extern float __cdecl log2f (float);
-extern long double __cdecl log2l (long double);
-
-/* 7.12.6.11 */
-extern double __cdecl logb (double);
-extern float __cdecl logbf (float);
-extern long double __cdecl logbl (long double);
-
-/* Inline versions.  GCC-4.0+ can do a better fast-math optimization
- * with __builtins.
- */
-#ifndef __NO_INLINE__
-#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ )
-__CRT_INLINE double __cdecl logb (double x)
-{
-  double res;
-  __asm__ ("fxtract\n\t"
-       "fstp	%%st" : "=t" (res) : "0" (x));
-  return res;
-}
-
-__CRT_INLINE float __cdecl logbf (float x)
-{
-  float res;
-  __asm__ ("fxtract\n\t"
-       "fstp	%%st" : "=t" (res) : "0" (x));
-  return res;
-}
-
-__CRT_INLINE long double __cdecl logbl (long double x)
-{
-  long double res;
-  __asm__ ("fxtract\n\t"
-       "fstp	%%st" : "=t" (res) : "0" (x));
-  return res;
-}
-#endif /* !__FAST_MATH__ || !__MINGW_GNUC_PREREQ (4, 0) */
-#endif /* !__NO_INLINE__ */
-
-/* 7.12.6.12  Double in C89 */
-extern float __cdecl modff (float, float*);
-extern long double __cdecl modfl (long double, long double*);
-
-/* 7.12.6.13 */
-extern double __cdecl scalbn (double, int);
-extern float __cdecl scalbnf (float, int);
-extern long double __cdecl scalbnl (long double, int);
-
-extern double __cdecl scalbln (double, long);
-extern float __cdecl scalblnf (float, long);
-extern long double __cdecl scalblnl (long double, long);
-
-/* 7.12.7.1 */
-/* Implementations adapted from Cephes versions */
-extern double __cdecl cbrt (double);
-extern float __cdecl cbrtf (float);
-extern long double __cdecl cbrtl (long double);
-
-/* 7.12.7.2 The fabs functions: Double in C89 */
-extern  float __cdecl fabsf (float x);
-extern long double __cdecl fabsl (long double x);
-
-/* 7.12.7.3  */
-extern double __cdecl hypot (double, double); /* in libmoldname.a */
-extern float __cdecl hypotf (float, float);
-extern long double __cdecl hypotl (long double, long double);
-
-/* 7.12.7.4 The pow functions. Double in C89 */
-extern float __cdecl powf (float, float);
-#ifndef __NO_INLINE__
-__CRT_INLINE float __cdecl powf (float x, float y)
-  {return (float) pow (x, y);}
-#endif
-extern long double __cdecl powl (long double, long double);
-
-/* 7.12.7.5 The sqrt functions. Double in C89. */
-extern float __cdecl sqrtf (float);
-extern long double __cdecl sqrtl (long double);
-
-/* 7.12.8.1 The erf functions  */
-extern double __cdecl erf (double);
-extern float __cdecl erff (float);
-extern long double __cdecl erfl (long double);
-
-/* 7.12.8.2 The erfc functions  */
-extern double __cdecl erfc (double);
-extern float __cdecl erfcf (float);
-extern long double __cdecl erfcl (long double);
-
-/* 7.12.8.3 The lgamma functions */
-extern double __cdecl lgamma (double);
-extern float __cdecl lgammaf (float);
-extern long double __cdecl lgammal (long double);
-
-/* 7.12.8.4 The tgamma functions */
-extern double __cdecl tgamma (double);
-extern float __cdecl tgammaf (float);
-extern long double __cdecl tgammal (long double);
-
-/* 7.12.9.1 Double in C89 */
-extern float __cdecl ceilf (float);
-extern long double __cdecl ceill (long double);
-
-/* 7.12.9.2 Double in C89 */
-extern float __cdecl floorf (float);
-extern long double __cdecl floorl (long double);
-
-/* 7.12.9.3 */
-extern double __cdecl nearbyint ( double);
-extern float __cdecl nearbyintf (float);
-extern long double __cdecl nearbyintl (long double);
-
-/* 7.12.9.4 */
-/* round, using fpu control word settings */
-extern double __cdecl rint (double);
-extern float __cdecl rintf (float);
-extern long double __cdecl rintl (long double);
-
-/* 7.12.9.5 */
-extern long __cdecl lrint (double);
-extern long __cdecl lrintf (float);
-extern long __cdecl lrintl (long double);
-
-extern long long __cdecl llrint (double);
-extern long long __cdecl llrintf (float);
-extern long long __cdecl llrintl (long double);
-
-/* Inline versions of above.
- * GCC 4.0+ can do a better fast-math job with __builtins.
- */
-#ifndef __NO_INLINE__
-#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ )
-__CRT_INLINE double __cdecl rint (double x)
-{
-  double retval;
-  __asm__ ("frndint;": "=t" (retval) : "0" (x));
-  return retval;
-}
-
-__CRT_INLINE float __cdecl rintf (float x)
-{
-  float retval;
-  __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
-  return retval;
-}
-
-__CRT_INLINE long double __cdecl rintl (long double x)
-{
-  long double retval;
-  __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
-  return retval;
-}
-
-__CRT_INLINE long __cdecl lrint (double x)
-{
-  long retval;
-  __asm__ __volatile__
-    ("fistpl %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-
-__CRT_INLINE long __cdecl lrintf (float x)
-{
-  long retval;
-  __asm__ __volatile__
-    ("fistpl %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-
-__CRT_INLINE long __cdecl lrintl (long double x)
-{
-  long retval;
-  __asm__ __volatile__
-    ("fistpl %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-
-__CRT_INLINE long long __cdecl llrint (double x)
-{
-  long long retval;
-  __asm__ __volatile__
-    ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-
-__CRT_INLINE long long __cdecl llrintf (float x)
-{
-  long long retval;
-  __asm__ __volatile__
-    ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-
-__CRT_INLINE long long __cdecl llrintl (long double x)
-{
-  long long retval;
-  __asm__ __volatile__
-    ("fistpll %0"  : "=m" (retval) : "t" (x) : "st");
-  return retval;
-}
-#endif	/* !__FAST_MATH__ || !__MINGW_GNUC_PREREQ (4,0) */
-#endif	/* !__NO_INLINE__ */
-
-/* 7.12.9.6 */
-/* round away from zero, regardless of fpu control word settings */
-extern double __cdecl round (double);
-extern float __cdecl roundf (float);
-extern long double __cdecl roundl (long double);
-
-/* 7.12.9.7  */
-extern long __cdecl lround (double);
-extern long __cdecl lroundf (float);
-extern long __cdecl lroundl (long double);
-
-extern long long __cdecl llround (double);
-extern long long __cdecl llroundf (float);
-extern long long __cdecl llroundl (long double);
-
-/* 7.12.9.8 */
-/* round towards zero, regardless of fpu control word settings */
-extern double __cdecl trunc (double);
-extern float __cdecl truncf (float);
-extern long double __cdecl truncl (long double);
-
-/* 7.12.10.1 Double in C89 */
-extern float __cdecl fmodf (float, float);
-extern long double __cdecl fmodl (long double, long double);
-
-/* 7.12.10.2 */
-extern double __cdecl remainder (double, double);
-extern float __cdecl remainderf (float, float);
-extern long double __cdecl remainderl (long double, long double);
-
-/* 7.12.10.3 */
-extern double __cdecl remquo(double, double, int *);
-extern float __cdecl remquof(float, float, int *);
-extern long double __cdecl remquol(long double, long double, int *);
-
-/* 7.12.11.1 */
-extern double __cdecl copysign (double, double); /* in libmoldname.a */
-extern float __cdecl copysignf (float, float);
-extern long double __cdecl copysignl (long double, long double);
-
-/* 7.12.11.2 Return a NaN */
-extern double __cdecl nan(const char *tagp);
-extern float __cdecl nanf(const char *tagp);
-extern long double __cdecl nanl(const char *tagp);
-
-#ifndef __STRICT_ANSI__
-#define _nan()   nan("")
-#define _nanf()  nanf("")
-#define _nanl()  nanl("")
-#endif
-
-/* 7.12.11.3 */
-extern double __cdecl nextafter (double, double); /* in libmoldname.a */
-extern float __cdecl nextafterf (float, float);
-extern long double __cdecl nextafterl (long double, long double);
-
-/* 7.12.11.4 The nexttoward functions */
-extern double __cdecl nexttoward (double,  long double);
-extern float __cdecl nexttowardf (float,  long double);
-extern long double __cdecl nexttowardl (long double, long double);
-
-/* 7.12.12.1 */
-/*  x > y ? (x - y) : 0.0  */
-extern double __cdecl fdim (double x, double y);
-extern float __cdecl fdimf (float x, float y);
-extern long double __cdecl fdiml (long double x, long double y);
-
-/* fmax and fmin.
-   NaN arguments are treated as missing data: if one argument is a NaN
-   and the other numeric, then these functions choose the numeric
-   value. */
-
-/* 7.12.12.2 */
-extern double __cdecl fmax  (double, double);
-extern float __cdecl fmaxf (float, float);
-extern long double __cdecl fmaxl (long double, long double);
-
-/* 7.12.12.3 */
-extern double __cdecl fmin (double, double);
-extern float __cdecl fminf (float, float);
-extern long double __cdecl fminl (long double, long double);
-
-/* 7.12.13.1 */
-/* return x * y + z as a ternary op */
-extern double __cdecl fma (double, double, double);
-extern float __cdecl fmaf (float, float, float);
-extern long double __cdecl fmal (long double, long double, long double);
-
-
-/* 7.12.14
- * With these functions, comparisons involving quiet NaNs set the FP
- * condition code to "unordered".  The IEEE floating-point spec
- * dictates that the result of floating-point comparisons should be
- * false whenever a NaN is involved, with the exception of the != op,
- * which always returns true: yes, (NaN != NaN) is true).
- */
-#if __GNUC__ >= 3
-
-#define isgreater(x, y) __builtin_isgreater(x, y)
-#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
-#define isless(x, y) __builtin_isless(x, y)
-#define islessequal(x, y) __builtin_islessequal(x, y)
-#define islessgreater(x, y) __builtin_islessgreater(x, y)
-#define isunordered(x, y) __builtin_isunordered(x, y)
-
-#else	/* __GNUC__ < 3 */
-/*  helper  */
-extern int  __cdecl __fp_unordered_compare (long double, long double);
-#ifndef __NO_INLINE__
-__CRT_INLINE int  __cdecl
-__fp_unordered_compare (long double x, long double y){
-  unsigned short retval;
-  __asm__ ("fucom %%st(1);"
-	   "fnstsw;": "=a" (retval) : "t" (x), "u" (y));
-  return retval;
-}
-#endif	/* !__NO_INLINE__ */
-
-#define isgreater(x, y)       ((__fp_unordered_compare(x, y) & 0x4500) == 0)
-#define isless(x, y)          ((__fp_unordered_compare(y, x) & 0x4500) == 0)
-#define isgreaterequal(x, y)  ((__fp_unordered_compare(x, y) & FP_INFINITE) == 0)
-#define islessequal(x, y)     ((__fp_unordered_compare(y, x) & FP_INFINITE) == 0)
-#define islessgreater(x, y)   ((__fp_unordered_compare(x, y) & FP_SUBNORMAL) == 0)
-#define isunordered(x, y)     ((__fp_unordered_compare(x, y) & 0x4500) == 0x4500)
-
-#endif	/* __GNUC__ < 3 */
-#endif	/* __cplusplus || _ISOC99_SOURCE */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_MATH_H: $RCSfile: math.h,v $: end of file */
Index: Daodan/MinGW/include/mbctype.h
===================================================================
--- Daodan/MinGW/include/mbctype.h	(revision 1046)
+++ 	(revision )
@@ -1,97 +1,0 @@
-/*
- * mbctype.h
- *
- * Functions for testing multibyte character types and converting characters.
- *
- * This file is part of the Mingw32 package.
- *
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _MBCTYPE_H_
-#define _MBCTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* return values for _mbsbtype  and  _mbbtype in mbstring.h */
-#define _MBC_SINGLE 0
-#define _MBC_LEAD 1
-#define _MBC_TRAIL 2
-#define _MBC_ILLEGAL (-1)
-
-/*  args for setmbcp (in lieu of actual codepage)  */
-#define _MB_CP_SBCS 0
-#define _MB_CP_OEM (-2)
-#define _MB_CP_ANSI (-3)
-#define _MB_CP_LOCALE (-4)
-
-/* TODO: bit masks */
-/*
-#define _MS
-#define _MP
-#define _M1
-#define _M2
-#define _SBUP
-#define _SBLOW
-*/
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef	__STRICT_ANSI__
-
-_CRTIMP int __cdecl __MINGW_NOTHROW _setmbcp (int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _getmbcp (void);
-
-/* byte classification  */
-/* NB: Corresponding _ismbc* functions are in mbstring.h */
-
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbalpha (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbalnum (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbgraph (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbprint (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbpunct (unsigned int);
-
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkana (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkalnum (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkprint (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkpunct (unsigned int);
-
-
-/* these are also in mbstring.h */
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbblead (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbtrail (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbslead (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbstrail (const unsigned char*, const unsigned char*);
-
-#ifdef __DECLSPEC_SUPPORTED
-__MINGW_IMPORT unsigned char _mbctype[];
-__MINGW_IMPORT unsigned char _mbcasemap[];
-#endif
-
-/* TODO : _MBCS_ mappings go in tchar.h */
-
-#endif	/* Not strict ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _MCTYPE_H_ */
-
Index: Daodan/MinGW/include/mbstring.h
===================================================================
--- Daodan/MinGW/include/mbstring.h	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-/*
- * mbstring.h
- *
- * Protototypes for string functions supporting multibyte characters.
- *
- * This file is part of the Mingw32 package.
- *
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _MBSTRING_H_
-#define _MBSTRING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#define __need_size_t
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef	__STRICT_ANSI__
-
-/* character classification */
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalnum (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalpha (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcdigit (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcgraph (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcprint (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcpunct (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcspace (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbclower (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcupper (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbclegal (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcsymbol (unsigned int);
-
-
-/* also in mbctype.h */
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbblead (unsigned int );
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbtrail (unsigned int );
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbslead ( const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbstrail ( const unsigned char*, const unsigned char*);
-
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctolower (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctoupper (unsigned int);
-
-_CRTIMP void __cdecl __MINGW_NOTHROW _mbccpy (unsigned char*, const unsigned char*);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbclen (const unsigned char*);
-
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbbtombc (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctombb (unsigned int);
-
-/* Return value constants for these are defined in mbctype.h.  */
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbbtype (unsigned char, int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsbtype (const unsigned char*, size_t);
-
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbscpy (unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsncpy (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsset (unsigned char*, unsigned int);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsnset (unsigned char*, unsigned int, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsnbset (unsigned char*, unsigned int, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsdup (const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsrev (unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbscat (unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsncat (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsnbcat (unsigned char*, const unsigned char*, size_t);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbslen (const unsigned char*);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnbcnt (const unsigned char*, size_t);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnccnt (const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbschr (const unsigned char*, unsigned int);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsrchr (const unsigned char*, unsigned int);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsspn (const unsigned char*, const unsigned char*);
-_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbscspn (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsspnp (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbspbrk (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbscmp (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsicmp (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsncmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbscoll (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsicoll (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsncoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
-
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsinc (const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsninc (const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsdec (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbsnextc  (const unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbslwr (unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbsupr (unsigned char*);
-_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW  _mbstok (unsigned char*, const unsigned char*);
-
-/* Kanji */
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbchira (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbckata (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl0 (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl1 (unsigned int);
-_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl2 (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjistojms (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjmstojis (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctohira (unsigned int);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctokata (unsigned int);
-
-#endif	/* Not strict ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-#endif	/* Not _MBSTRING_H_ */
-
-
Index: Daodan/MinGW/include/mciavi.h
===================================================================
--- Daodan/MinGW/include/mciavi.h	(revision 1046)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#ifndef _MCIAVI_H
-#define _MCIAVI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MCI_MCIAVI_PLAY_WINDOW 0x1000000
-#define	MCI_MCIAVI_PLAY_FULLSCREEN 0x2000000
-#define MCI_MCIAVI_PLAY_FULLBY2	0x4000000
-#define MCI_AVI_STATUS_FRAMES_SKIPPED 0x8001
-#define MCI_AVI_STATUS_LAST_PLAY_SPEED	0x8002
-#define MCI_AVI_STATUS_AUDIO_BREAKS	0x8003
-#define MCI_AVI_SETVIDEO_DRAW_PROCEDURE	0x8000
-#define MCI_AVI_SETVIDEO_PALETTE_COLOR	0x8100
-#define MCI_AVI_SETVIDEO_PALETTE_HALFTONE 0x0000FFFF
-#define MCIERR_AVI_OLDAVIFORMAT	(MCIERR_CUSTOM_DRIVER_BASE+100)
-#define MCIERR_AVI_NOTINTERLEAVED	(MCIERR_CUSTOM_DRIVER_BASE+101)
-#define MCIERR_AVI_NODISPDIB	(MCIERR_CUSTOM_DRIVER_BASE+102)
-#define MCIERR_AVI_CANTPLAYFULLSCREEN	(MCIERR_CUSTOM_DRIVER_BASE+103)
-#define MCIERR_AVI_TOOBIGFORVGA	(MCIERR_CUSTOM_DRIVER_BASE+104)
-#define MCIERR_AVI_NOCOMPRESSOR (MCIERR_CUSTOM_DRIVER_BASE+105)
-#define MCIERR_AVI_DISPLAYERROR (MCIERR_CUSTOM_DRIVER_BASE+106)
-#define MCIERR_AVI_AUDIOERROR	(MCIERR_CUSTOM_DRIVER_BASE+107)
-#define MCIERR_AVI_BADPALETTE	(MCIERR_CUSTOM_DRIVER_BASE+108)
-#endif
Index: Daodan/MinGW/include/mcx.h
===================================================================
--- Daodan/MinGW/include/mcx.h	(revision 1046)
+++ 	(revision )
@@ -1,77 +1,0 @@
-#ifndef _MCX_H
-#define _MCX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DIALOPTION_BILLING 64
-#define DIALOPTION_QUIET 128
-#define DIALOPTION_DIALTONE 256
-#define MDMVOLFLAG_LOW	1
-#define MDMVOLFLAG_MEDIUM	2
-#define MDMVOLFLAG_HIGH	4
-#define MDMVOL_LOW	0
-#define MDMVOL_MEDIUM	1
-#define MDMVOL_HIGH	2
-#define MDMSPKRFLAG_OFF	1
-#define MDMSPKRFLAG_DIAL	2
-#define MDMSPKRFLAG_ON	4
-#define MDMSPKRFLAG_CALLSETUP	8
-#define MDMSPKR_OFF	0
-#define MDMSPKR_DIAL 1
-#define MDMSPKR_ON	2
-#define MDMSPKR_CALLSETUP	3
-#define MDM_COMPRESSION	1
-#define MDM_ERROR_CONTROL	2
-#define MDM_FORCED_EC	4
-#define MDM_CELLULAR	8
-#define MDM_FLOWCONTROL_HARD	16
-#define MDM_FLOWCONTROL_SOFT	32
-#define MDM_CCITT_OVERRIDE	64
-#define MDM_SPEED_ADJUST	128
-#define MDM_TONE_DIAL	256
-#define MDM_BLIND_DIAL	512
-#define MDM_V23_OVERRIDE	1024
-typedef struct _MODEMDEVCAPS {
-	DWORD dwActualSize;
-	DWORD dwRequiredSize;
-	DWORD dwDevSpecificOffset;
-	DWORD dwDevSpecificSize;
-	DWORD dwModemProviderVersion;
-	DWORD dwModemManufacturerOffset;
-	DWORD dwModemManufacturerSize;
-	DWORD dwModemModelOffset;
-	DWORD dwModemModelSize;
-	DWORD dwModemVersionOffset;
-	DWORD dwModemVersionSize;
-	DWORD dwDialOptions;
-	DWORD dwCallSetupFailTimer;
-	DWORD dwInactivityTimeout;
-	DWORD dwSpeakerVolume;
-	DWORD dwSpeakerMode;
-	DWORD dwModemOptions;
-	DWORD dwMaxDTERate;
-	DWORD dwMaxDCERate;
-	BYTE abVariablePortion[1];
-} MODEMDEVCAPS,*PMODEMDEVCAPS,*LPMODEMDEVCAPS;
-typedef struct _MODEMSETTINGS {
-	DWORD dwActualSize;
-	DWORD dwRequiredSize;
-	DWORD dwDevSpecificOffset;
-	DWORD dwDevSpecificSize;
-	DWORD dwCallSetupFailTimer;
-	DWORD dwInactivityTimeout;
-	DWORD dwSpeakerVolume;
-	DWORD dwSpeakerMode;
-	DWORD dwPreferredModemOptions;
-	DWORD dwNegotiatedModemOptions;
-	DWORD dwNegotiatedDCERate;
-	BYTE abVariablePortion[1];
-} MODEMSETTINGS,*PMODEMSETTINGS,*LPMODEMSETTINGS;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _MCX_H */
Index: Daodan/MinGW/include/mem.h
===================================================================
--- Daodan/MinGW/include/mem.h	(revision 1046)
+++ 	(revision )
@@ -1,6 +1,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * mem.h maps to string.h
- */
-#include <string.h>
Index: Daodan/MinGW/include/memory.h
===================================================================
--- Daodan/MinGW/include/memory.h	(revision 1046)
+++ 	(revision )
@@ -1,7 +1,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * memory.h maps to the standard string.h header.
- */
-
-#include	<string.h>
Index: Daodan/MinGW/include/mgm.h
===================================================================
--- Daodan/MinGW/include/mgm.h	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-#ifndef _MGM_H
-#define _MGM_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-#define MGM_JOIN_STATE_FLAG 0x00000001
-#define MGM_FORWARD_STATE_FLAG 0x00000002
-#define MGM_MFE_STATS_0 0x00000001
-#define MGM_MFE_STATS_1 0x00000002
-typedef enum _MGM_ENUM_TYPES {
-	ANY_SOURCE=0,
-	ALL_SOURCES
-} MGM_ENUM_TYPES;
-typedef struct _MGM_IF_ENTRY {
-	DWORD dwIfIndex;
-	DWORD dwIfNextHopAddr;
-	BOOL bIGMP;
-	BOOL bIsEnabled;
-} MGM_IF_ENTRY,*PMGM_IF_ENTRY;
-typedef DWORD(CALLBACK *PMGM_RPF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,PDWORD,PDWORD,PDWORD,DWORD,PBYTE,PBYTE);
-typedef DWORD(CALLBACK *PMGM_CREATION_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PMGM_IF_ENTRY);
-typedef DWORD(CALLBACK *PMGM_PRUNE_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,BOOL,PDWORD);
-typedef DWORD(CALLBACK *PMGM_JOIN_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,BOOL);
-typedef DWORD(CALLBACK *PMGM_WRONG_IF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,PBYTE);
-typedef DWORD(CALLBACK *PMGM_LOCAL_JOIN_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
-typedef DWORD(CALLBACK *PMGM_LOCAL_LEAVE_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
-typedef DWORD(CALLBACK *PMGM_DISABLE_IGMP_CALLBACK)(DWORD,DWORD);
-typedef DWORD(CALLBACK *PMGM_ENABLE_IGMP_CALLBACK)(DWORD,DWORD);
-typedef struct _ROUTING_PROTOCOL_CONFIG {
-	DWORD dwCallbackFlags;
-	PMGM_RPF_CALLBACK pfnRpfCallback;
-	PMGM_CREATION_ALERT_CALLBACK pfnCreationAlertCallback;
-	PMGM_PRUNE_ALERT_CALLBACK pfnPruneAlertCallback;
-	PMGM_JOIN_ALERT_CALLBACK pfnJoinAlertCallback;
-	PMGM_WRONG_IF_CALLBACK pfnWrongIfCallback;
-	PMGM_LOCAL_JOIN_CALLBACK pfnLocalJoinCallback;
-	PMGM_LOCAL_LEAVE_CALLBACK pfnLocalLeaveCallback;
-	PMGM_DISABLE_IGMP_CALLBACK pfnDisableIgmpCallback;
-	PMGM_ENABLE_IGMP_CALLBACK pfnEnableIgmpCallback;
-} ROUTING_PROTOCOL_CONFIG,*PROUTING_PROTOCOL_CONFIG;
-typedef struct _SOURCE_GROUP_ENTRY {
-	DWORD dwSourceAddr;
-	DWORD dwSourceMask;
-	DWORD dwGroupAddr;
-	DWORD dwGroupMask;
-} SOURCE_GROUP_ENTRY,*PSOURCE_GROUP_ENTRY;
-DWORD WINAPI MgmAddGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
-DWORD WINAPI MgmDeleteGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD);
-DWORD WINAPI MgmDeRegisterMProtocol(HANDLE);
-DWORD WINAPI MgmGetFirstMfe(PDWORD,PBYTE,PDWORD);
-DWORD WINAPI MgmGetFirstMfeStats(PDWORD,PBYTE,PDWORD,DWORD);
-DWORD WINAPI MgmGetMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE);
-DWORD WINAPI MgmGetMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,DWORD);
-DWORD WINAPI MgmGetNextMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD);
-DWORD WINAPI MgmGetNextMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD,DWORD);
-DWORD WINAPI MgmGetProtocolOnInterface(DWORD,DWORD,PDWORD,PDWORD);
-DWORD WINAPI MgmGroupEnumerationEnd(HANDLE);
-DWORD WINAPI MgmGroupEnumerationGetNext(HANDLE,PDWORD,PBYTE,PDWORD);
-DWORD WINAPI MgmGroupEnumerationStart(HANDLE,MGM_ENUM_TYPES,HANDLE*);
-DWORD WINAPI MgmRegisterMProtocol(PROUTING_PROTOCOL_CONFIG,DWORD,DWORD,HANDLE*);
-DWORD WINAPI MgmReleaseInterfaceOwnership(HANDLE,DWORD,DWORD);
-DWORD WINAPI MgmSetMfe(HANDLE,PMIB_IPMCAST_MFE);
-DWORD WINAPI MgmTakeInterfaceOwnership(HANDLE,DWORD,DWORD);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mgmtapi.h
===================================================================
--- Daodan/MinGW/include/mgmtapi.h	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/*
-  mgmtapi.h - Header file for the SNMP Management API
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References (2003-08-25):
-    http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _MGMTAPI_H
-#define _MGMTAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _SNMP_H
-#include <snmp.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SNMP_MGMTAPI_TIMEOUT	40
-#define SNMP_MGMTAPI_SELECT_FDERRORS	41
-#define SNMP_MGMTAPI_TRAP_ERRORS	42
-#define SNMP_MGMTAPI_TRAP_DUPINIT	43
-#define SNMP_MGMTAPI_NOTRAPS	44
-#define SNMP_MGMTAPI_AGAIN	45
-#define SNMP_MGMTAPI_INVALID_CTL	46
-#define SNMP_MGMTAPI_INVALID_SESSION	47
-#define SNMP_MGMTAPI_INVALID_BUFFER	48
-#define MGMCTL_SETAGENTPORT	1
-
-#ifndef RC_INVOKED
-
-typedef PVOID LPSNMP_MGR_SESSION;
-
-BOOL WINSNMPAPI SnmpMgrClose(LPSNMP_MGR_SESSION);
-BOOL WINSNMPAPI SnmpMgrCtl(LPSNMP_MGR_SESSION,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD);
-BOOL WINSNMPAPI SnmpMgrGetTrap(AsnObjectIdentifier*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnTimeticks*,SnmpVarBindList*);
-BOOL WINSNMPAPI SnmpMgrGetTrapEx(AsnObjectIdentifier*,AsnNetworkAddress*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnOctetString*,AsnTimeticks*,SnmpVarBindList*);
-BOOL WINSNMPAPI SnmpMgrOidToStr(AsnObjectIdentifier*,LPSTR*);
-LPSNMP_MGR_SESSION WINSNMPAPI SnmpMgrOpen(LPSTR,LPSTR,INT,INT);
-INT WINSNMPAPI SnmpMgrRequest(LPSNMP_MGR_SESSION,BYTE,SnmpVarBindList*,AsnInteger*,AsnInteger*);
-BOOL WINSNMPAPI SnmpMgrStrToOid(LPSTR,AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpMgrTrapListen(HANDLE*);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mlang.h
===================================================================
--- Daodan/MinGW/include/mlang.h	(revision 1046)
+++ 	(revision )
@@ -1,349 +1,0 @@
-#ifndef _MLANG_H
-#define _MLANG_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,1)
-
-#define MAX_MIMECP_NAME   64
-#define MAX_MIMECSET_NAME 50
-#define MAX_SCRIPT_NAME   48
-#define MAX_MIMEFACE_NAME 32
-#define MAX_RFC1766_NAME   6
-#define MAX_LOCALE_NAME   32
-
-typedef enum tagMIMECONTF {
-    MIMECONTF_MAILNEWS = 0x00000001,
-    MIMECONTF_BROWSER = 0x00000002,
-    MIMECONTF_MINIMAL = 0x00000004,
-    MIMECONTF_IMPORT = 0x00000008,
-    MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,
-    MIMECONTF_SAVABLE_BROWSER = 0x00000200,
-    MIMECONTF_EXPORT = 0x00000400,
-    MIMECONTF_PRIVCONVERTER = 0x00010000,
-    MIMECONTF_VALID = 0x00020000,
-    MIMECONTF_VALID_NLS = 0x00040000,
-    MIMECONTF_MIME_IE4 = 0x10000000,
-    MIMECONTF_MIME_LATEST = 0x20000000,
-    MIMECONTF_MIME_REGISTRY = 0x40000000
-} MIMECONTF;
-typedef enum tagMLCONVCHARF {
-    MLCONVCHARF_NONE = 0,
-    MLCONVCHARF_AUTODETECT = 1,
-    MLCONVCHARF_NCR_ENTITIZE = 2,
-    MLCONVCHARF_NAME_ENTITIZE = 4,
-    MLCONVCHARF_USEDEFCHAR = 8,
-    MLCONVCHARF_NOBESTFITCHARS = 16
-} MLCONVCHAR;
-typedef enum tagMLCPF {
-    MLDETECTF_MAILNEWS = 0x0001,
-    MLDETECTF_BROWSER = 0x0002,
-    MLDETECTF_VALID = 0x0004,
-    MLDETECTF_VALID_NLS = 0x0008,
-    MLDETECTF_PRESERVE_ORDER = 0x0010,
-    MLDETECTF_PREFERRED_ONLY = 0x0020,
-    MLDETECTF_FILTER_SPECIALCHAR = 0x0040
-} MLCP;
-typedef enum tagMLDETECTCP {
-    MLDETECTCP_NONE = 0,
-    MLDETECTCP_7BIT = 1,
-    MLDETECTCP_8BIT = 2,
-    MLDETECTCP_DBCS = 4,
-    MLDETECTCP_HTML = 8
-} MLDETECTCP;
-typedef enum tagSCRIPTFONTCONTF {
-    SCRIPTCONTF_FIXED_FONT = 0x00000001,
-    SCRIPTCONTF_PROPORTIONAL_FONT = 0x00000002,
-    SCRIPTCONTF_SCRIPT_USER = 0x00010000,
-    SCRIPTCONTF_SCRIPT_HIDE = 0x00020000,
-    SCRIPTCONTF_SCRIPT_SYSTEM = 0x00040000
-} SCRIPTFONTCONTF;
-typedef enum tagSCRIPTCONTF {
-    sidDefault,
-    sidMerge,
-    sidAsciiSym,
-    sidAsciiLatin,
-    sidLatin,
-    sidGreek,
-    sidCyrillic,
-    sidArmenian,
-    sidHebrew,
-    sidArabic,
-    sidDevanagari,
-    sidBengali,
-    sidGurmukhi,
-    sidGujarati,
-    sidOriya,
-    sidTamil,
-    sidTelugu,
-    sidKannada,
-    sidMalayalam,
-    sidThai,
-    sidLao,
-    sidTibetan,
-    sidGeorgian,
-    sidHangul,
-    sidKana,
-    sidBopomofo,
-    sidHan,
-    sidEthiopic,
-    sidCanSyllabic,
-    sidCherokee,
-    sidYi,
-    sidBraille,
-    sidRunic,
-    sidOgham,
-    sidSinhala,
-    sidSyriac,
-    sidBurmese,
-    sidKhmer,
-    sidThaana,
-    sidMongolian,
-    sidLim,
-    sidFEFirst = sidHangul,
-    sidFELast = sidHan
-} SCRIPTCONTF;
-
-typedef struct tagDetectEncodingInfo {
-    UINT nLangID;
-    UINT nCodePage;
-    INT nDocPercent;
-    INT nConfidence;
-} DetectEncodingInfo, *pDetectEncodingInfo;
-typedef struct tagMIMECPINFO {
-    DWORD dwFlags;
-    UINT uiCodePage;
-    UINT uiFamilyCodePage;
-    WCHAR wszDescription[MAX_MIMECP_NAME];
-    WCHAR wszWebCharset[MAX_MIMECSET_NAME];
-    WCHAR wszHeaderCharset[MAX_MIMECSET_NAME];
-    WCHAR wszBodyCharset[MAX_MIMECSET_NAME];
-    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
-    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
-    BYTE bGDICharset;
-} MIMECPINFO, *PMIMECPINFO;
-typedef struct tagMIMECSETINFO {
-    UINT uiCodePage;
-    UINT uiInternetEncoding;
-    WCHAR wszCharset[MAX_MIMECSET_NAME];
-} MIMECSETINFO, *PMIMECSETINFO;
-typedef struct tagRFC1766INFO {
-    LCID lcid;
-    WCHAR wszRfc1766[MAX_RFC1766_NAME];
-    WCHAR wszLocaleName[MAX_LOCALE_NAME];
-} RFC1766INFO, *PRFC1766INFO;
-typedef BYTE SCRIPT_ID;
-typedef struct tagSCRIPTINFO {
-    SCRIPT_ID ScriptId;
-    UINT uiCodePage;
-    WCHAR wszDescription[MAX_SCRIPT_NAME];
-    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
-    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
-} SCRIPTINFO, *PSCRIPTINFO;
-typedef struct tagUNICODERANGE {
-  WCHAR wcFrom;
-  WCHAR wcTo;
-} UNICODERANGE;
-
-typedef struct tagSCRIPTFONTINFO SCRIPTFONTINFO;
-
-EXTERN_C const IID IID_IEnumCodePage;
-#define INTERFACE IEnumCodePage
-DECLARE_INTERFACE_(IEnumCodePage,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(Clone)(THIS_ IEnumCodePage**) PURE;
-        STDMETHOD(Next)(THIS_ ULONG,PMIMECPINFO,ULONG*) PURE;
-        STDMETHOD(Reset)(THIS) PURE;
-        STDMETHOD(Skip)(THIS_ ULONG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IEnumRfc1766;
-#define INTERFACE IEnumRfc1766
-DECLARE_INTERFACE_(IEnumRfc1766,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(Clone)(THIS_ IEnumRfc1766**) PURE;
-        STDMETHOD(Next)(THIS_ ULONG,PRFC1766INFO,ULONG*) PURE;
-        STDMETHOD(Reset)(THIS) PURE;
-        STDMETHOD(Skip)(THIS_ ULONG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IEnumScript;
-#define INTERFACE IEnumScript
-DECLARE_INTERFACE_(IEnumScript,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(Clone)(THIS_ IEnumScript**) PURE;
-        STDMETHOD(Next)(THIS_ ULONG,PSCRIPTINFO,ULONG*) PURE;
-        STDMETHOD(Reset)(THIS) PURE;
-        STDMETHOD(Skip)(THIS_ ULONG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMLangCodePages;
-#define INTERFACE IMLangCodePages
-DECLARE_INTERFACE_(IMLangCodePages,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
-        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
-        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
-        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMLangConvertCharset;
-#define INTERFACE IMLangConvertCharset
-DECLARE_INTERFACE_(IMLangConvertCharset,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(Initialize)(THIS_ UINT,UINT,DWORD) PURE;
-        STDMETHOD(GetSourceCodePage)(THIS_ UINT*) PURE;
-        STDMETHOD(GetDestinationCodePage)(THIS_ UINT*) PURE;
-        STDMETHOD(GetProperty)(THIS_ DWORD*) PURE;
-        STDMETHOD(DoConversion)(THIS_ BYTE*,UINT*,BYTE*,UINT*) PURE;
-        STDMETHOD(DoConversionToUnicode)(THIS_ CHAR*,UINT*,WCHAR*,UINT*) PURE;
-        STDMETHOD(DoConversionFromUnicode)(THIS_ WCHAR*,UINT*,CHAR*,UINT*) PURE;
-};
-#undef INTERFACE
-EXTERN_C const CLSID CLSID_CMLangConvertCharset;
-
-EXTERN_C const IID IID_IMLangFontLink;
-#define INTERFACE IMLangFontLink
-DECLARE_INTERFACE_(IMLangFontLink,IMLangCodePages)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
-        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
-        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
-        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
-        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;
-        STDMETHOD(MapFont)(THIS_ HDC,DWORD,HFONT,HFONT*) PURE;
-        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;
-        STDMETHOD(ResetFontMapping)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMLangFontLink2;
-#define INTERFACE IMLangFontLink2
-DECLARE_INTERFACE_(IMLangFontLink2,IMLangCodePages)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;
-        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;
-        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;
-        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;
-        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;
-        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;
-        STDMETHOD(ResetFontMapping)(THIS) PURE;
-        STDMETHOD(MapFont)(THIS_ HDC,DWORD,WCHAR,HFONT*) PURE;
-        STDMETHOD(GetFontUnicodeRange)(THIS_ HDC,UINT*,UNICODERANGE*) PURE;
-        STDMETHOD(GetScriptFontInfo)(THIS_ SCRIPT_ID,DWORD,UINT*,SCRIPTFONTINFO*) PURE;
-        STDMETHOD(CodePageToScriptID)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMLangLineBreakConsole;
-#define INTERFACE IMLangLineBreakConsole
-DECLARE_INTERFACE_(IMLangLineBreakConsole,IMLangCodePages)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(BreakLineML)(THIS) PURE;
-        STDMETHOD(BreakLineW)(THIS_ LCID,const WCHAR*,long,long,long*,long*) PURE;
-        STDMETHOD(BreakLineA)(THIS_ LCID,UINT,const CHAR*,long,long,long*,long*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMultiLanguage;
-#define INTERFACE IMultiLanguage
-DECLARE_INTERFACE_(IMultiLanguage,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;
-        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;
-        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;
-        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;
-        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;
-        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;
-        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;
-        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;
-        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;
-        STDMETHOD(ConvertStringReset)(THIS) PURE;
-        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;
-        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;
-        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;
-        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;
-        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;
-};
-#undef INTERFACE
-EXTERN_C const CLSID CLSID_CMultiLanguage;
-
-EXTERN_C const IID IID_IMultiLanguage2;
-#define INTERFACE IMultiLanguage2
-DECLARE_INTERFACE_(IMultiLanguage2,IUnknown)
-{
-        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-        STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-        STDMETHOD_(ULONG,Release)(THIS) PURE;
-        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;
-        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;
-        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;
-        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;
-        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;
-        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;
-        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;
-        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;
-        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;
-        STDMETHOD(ConvertStringReset)(THIS) PURE;
-        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;
-        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;
-        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;
-        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;
-        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;
-        STDMETHOD(ConvertStringInIStream)(THIS_ DWORD*,DWORD,WCHAR*,DWORD,DWORD,IStream*,IStream*) PURE;
-        STDMETHOD(ConvertStringToUnicodeEx)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*,DWORD,WCHAR*) PURE;
-        STDMETHOD(ConvertStringFromUnicodeEx)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*,DWORD,WCHAR*) PURE;
-        STDMETHOD(DetectCodepageInIStream)(THIS_ DWORD,DWORD,IStream*,DetectEncodingInfo*,INT*) PURE;
-        STDMETHOD(DetectInputCodepage)(THIS_ DWORD,DWORD,CHAR*,INT*,DetectEncodingInfo*,INT*) PURE;
-        STDMETHOD(ValidateCodePage)(THIS) PURE;
-        STDMETHOD(GetCodePageDescription)(THIS_ UINT,LCID,LPWSTR,int) PURE;
-        STDMETHOD(IsCodePageInstallable)(THIS) PURE;
-        STDMETHOD(SetMimeDBSource)(THIS_ MIMECONTF) PURE;
-        STDMETHOD(GetNumberOfScripts)(THIS_ UINT*) PURE;
-        STDMETHOD(EnumScripts)(THIS_ DWORD,LANGID,IEnumScript**) PURE;
-};
-#undef INTERFACE
-
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mmreg.h
===================================================================
--- Daodan/MinGW/include/mmreg.h	(revision 1046)
+++ 	(revision )
@@ -1,226 +1,0 @@
-#ifndef _MMREG_H
-#define _MMREG_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _MMSYSTEM_H
-#include <mmsystem.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct mpeg1waveformat_tag {
-	WAVEFORMATEX wfx;
-	WORD fwHeadLayer;
-	DWORD dwHeadBitrate;
-	WORD fwHeadMode;
-	WORD fwHeadModeExt;
-	WORD wHeadEmphasis;
-	WORD fwHeadFlags;
-	DWORD dwPTSLow;
-	DWORD dwPTSHigh;
-} MPEG1WAVEFORMAT;
-#define ACM_MPEG_LAYER1 0x0001
-#define ACM_MPEG_LAYER2 0x0002
-#define ACM_MPEG_LAYER3 0x0004
-#define ACM_MPEG_STEREO 0x0001
-#define ACM_MPEG_JOINTSTEREO 0x0002
-#define ACM_MPEG_DUALCHANNEL 0x0004
-#define ACM_MPEG_SINGLECHANNEL 0x0008
-#define ACM_MPEG_PRIVATEBIT 0x0001
-#define ACM_MPEG_COPYRIGHT 0x0002
-#define ACM_MPEG_ORIGINALHOME 0x0004
-#define ACM_MPEG_PROTECTIONBIT 0x0008
-#define ACM_MPEG_ID_MPEG1 0x0010
-typedef struct {
-	WAVEFORMATEX Format;
-	union {
-		WORD wValidBitsPerSample;
-		WORD wSamplesPerBlock;
-		WORD wReserved;
-	} Samples;
-	DWORD dwChannelMask;
-	GUID SubFormat;
-} WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE;
-#define SPEAKER_FRONT_LEFT 0x1
-#define SPEAKER_FRONT_RIGHT 0x2
-#define SPEAKER_FRONT_CENTER 0x4
-#define SPEAKER_LOW_FREQUENCY 0x8
-#define SPEAKER_BACK_LEFT 0x10
-#define SPEAKER_BACK_RIGHT 0x20
-#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
-#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
-#define SPEAKER_BACK_CENTER 0x100
-#define SPEAKER_SIDE_LEFT 0x200
-#define SPEAKER_SIDE_RIGHT 0x400
-#define SPEAKER_TOP_CENTER 0x800
-#define SPEAKER_TOP_FRONT_LEFT 	0x1000
-#define SPEAKER_TOP_FRONT_CENTER 0x2000
-#define SPEAKER_TOP_FRONT_RIGHT 0x4000
-#define SPEAKER_TOP_BACK_LEFT 0x8000
-#define SPEAKER_TOP_BACK_CENTER 0x10000
-#define SPEAKER_TOP_BACK_RIGHT 0x20000
-
-/*msdn.microsoft.com/en-us/library/dd390710%28VS.85%29.aspx*/
-typedef struct mpeglayer3waveformat_tag {
-  WAVEFORMATEX wfx;
-  WORD         wID;
-  DWORD        fdwFlags;
-  WORD         nBlockSize;
-  WORD         nFramesPerBlock;
-  WORD         nCodecDelay;
-} MPEGLAYER3WAVEFORMAT, *LPMPEGLAYER3WAVEFORMAT;
-
-/* http://www.ietf.org/rfc/rfc2361.txt */
-#define WAVE_FORMAT_UNKNOWN                 0x0000
-#define WAVE_FORMAT_PCM                     0x0001
-#define WAVE_FORMAT_ADPCM                   0x0002
-#define WAVE_FORMAT_IEEE_FLOAT              0x0003
-#define WAVE_FORMAT_VSELP                   0x0004
-#define WAVE_FORMAT_IBM_CVSD                0x0005
-#define WAVE_FORMAT_ALAW                    0x0006
-#define WAVE_FORMAT_MULAW                   0x0007
-
-#define WAVE_FORMAT_OKI_ADPCM               0x0010
-#define WAVE_FORMAT_DVI_ADPCM               0x0011
-#define WAVE_FORMAT_MEDIASPACE_ADPCM        0x0012
-#define WAVE_FORMAT_SIERRA_ADPCM            0x0013
-#define WAVE_FORMAT_G723_ADPCM              0x0014
-#define WAVE_FORMAT_DIGIFIX                 0x0016
-#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM      0x0017
-#define WAVE_FORMAT_MEDIAVISION_ADPCM       0x0018
-#define WAVE_FORMAT_CU_CODEC                0x0019
-#define WAVE_FORMAT_YAMAHA_ADPCM            0x0020
-#define WAVE_FORMAT_SONARC                  0x0021
-#define WAVE_FORMAT_DSPGROUP_TRUESPEECH     0x0022
-#define WAVE_FORMAT_ECHOSC1                 0x0023
-#define WAVE_FORMAT_AUDIOFILE_AF36          0x0024
-#define WAVE_FORMAT_APTX                    0x0025
-#define WAVE_FORMAT_AUDIOFILE_AF10          0x0026
-#define WAVE_FORMAT_PROSODY_1612            0x0027
-#define WAVE_FORMAT_LRC                     0x0028
-
-#define WAVE_FORMAT_DOLBY_AC2               0x0030
-#define WAVE_FORMAT_GSM610                  0x0031
-#define WAVE_FORMAT_MSNAUDIO                0x0032
-#define WAVE_FORMAT_ANTEX_ADPCME            0x0033
-#define WAVE_FORMAT_CONTROL_RES_VQLPC       0x0034
-#define WAVE_FORMAT_DIGIREAL                0x0035
-#define WAVE_FORMAT_DIGIADPCM               0x0036
-#define WAVE_FORMAT_CONTROL_RES_CR10        0x0037
-#define WAVE_FORMAT_NMS_VBXADPCM            0x0038
-#define WAVE_FORMAT_ROLAND_RDAC             0x0039
-#define WAVE_FORMAT_ECHOSC3                 0x003A
-#define WAVE_FORMAT_ROCKWELL_ADPCM          0x003B
-#define WAVE_FORMAT_ROCKWELL_DIGITALK       0x003C
-#define WAVE_FORMAT_XEBEC                   0x003D
-
-#define WAVE_FORMAT_G721_ADPCM              0x0040
-#define WAVE_FORMAT_G728_CELP               0x0041
-#define WAVE_FORMAT_MSG723                  0x0042
-
-#define WAVE_FORMAT_MPEG                    0x0050
-
-#define WAVE_FORMAT_RT24                    0x0052
-#define WAVE_FORMAT_PAC                     0x0053
-
-#define WAVE_FORMAT_MPEGLAYER3              0x0055
-
-#define WAVE_FORMAT_LUCENT_G723             0x0059
-#define WAVE_FORMAT_CIRRUS                  0x0060
-#define WAVE_FORMAT_ESPCM                   0x0061
-#define WAVE_FORMAT_VOXWARE                 0x0062
-#define WAVE_FORMAT_CANOPUS_ATRAC           0x0063
-#define WAVE_FORMAT_G726_ADPCM              0x0064
-#define WAVE_FORMAT_G722_ADPCM              0x0065
-#define WAVE_FORMAT_DSAT                    0x0066
-#define WAVE_FORMAT_DSAT_DISPLAY            0x0067
-
-#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED    0x0069
-#define WAVE_FORMAT_VOXWARE_AC8             0x0070
-#define WAVE_FORMAT_VOXWARE_AC10            0x0071
-#define WAVE_FORMAT_VOXWARE_AC16            0x0072
-#define WAVE_FORMAT_VOXWARE_AC20            0x0073
-#define WAVE_FORMAT_VOXWARE_RT24            0x0074
-#define WAVE_FORMAT_VOXWARE_RT29            0x0075
-#define WAVE_FORMAT_VOXWARE_RT29HW          0x0076
-#define WAVE_FORMAT_VOXWARE_VR12            0x0077
-#define WAVE_FORMAT_VOXWARE_VR18            0x0078
-#define WAVE_FORMAT_VOXWARE_TQ40            0x0079
-#define WAVE_FORMAT_SOFTSOUND               0x0080
-#define WAVE_FORMAT_VOXWARE_TQ60            0x0081
-#define WAVE_FORMAT_MSRT24                  0x0082
-#define WAVE_FORMAT_G729A                   0x0083
-#define WAVE_FORMAT_MVI_MV12                0x0084
-#define WAVE_FORMAT_DF_G726                 0x0085
-#define WAVE_FORMAT_DF_GSM610               0x0086
-
-#define WAVE_FORMAT_ISIAUDIO                0x0088
-#define WAVE_FORMAT_ONLIVE                  0x0089
-
-#define WAVE_FORMAT_SBC24                   0x0091
-#define WAVE_FORMAT_DOLBY_AC3_SPDIF         0x0092
-
-#define WAVE_FORMAT_ZYXEL_ADPCM             0x0097
-#define WAVE_FORMAT_PHILIPS_LPCBB           0x0098
-#define WAVE_FORMAT_PACKED                  0x0099
-#define WAVE_FORMAT_RHETOREX_ADPCM          0x0100
-#define WAVE_FORMAT_IRAT                    0x0101
-#define WAVE_FORMAT_VIVO_G723               0x0111
-#define WAVE_FORMAT_VIVO_SIREN              0x0112
-#define WAVE_FORMAT_DIGITAL_G723            0x0113
-
-#define WAVE_FORMAT_CREATIVE_ADPCM          0x0200
-
-#define WAVE_FORMAT_CREATIVE_FASTSPEECH8    0x0202
-#define WAVE_FORMAT_CREATIVE_FASTSPEECH10   0x0203
-
-#define WAVE_FORMAT_QUARTERDECK             0x0220
-
-#define WAVE_FORMAT_FM_TOWNS_SND            0x0300
-
-#define WAVE_FORMAT_BTV_DIGITAL             0x0400
-
-#define WAVE_FORMAT_VME_VMPCM               0x0680
-
-#define WAVE_FORMAT_OLIGSM                  0x1000
-#define WAVE_FORMAT_OLIADPCM                0x1001
-#define WAVE_FORMAT_OLICELP                 0x1002
-#define WAVE_FORMAT_OLISBC                  0x1003
-#define WAVE_FORMAT_OLIOPR                  0x1004
-
-#define WAVE_FORMAT_LH_CODEC                0x1100
-
-#define WAVE_FORMAT_NORRIS                  0x1400
-#define WAVE_FORMAT_ISIAUDIO                0x1401
-
-#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
-
-#define WAVE_FORMAT_DVM                     0x2000
-
-/* http://msdn.microsoft.com/en-us/library/aa372553%28VS.85%29.aspx */
-#define WAVE_FORMAT_RAW_AAC1                0x00FF
-#define WAVE_FORMAT_MPEG_HEAAC              0x1610
-#define WAVE_FORMAT_MPEG_ADTS_AAC           0x1600
-#define WAVE_FORMAT_DRM                     0x0009
-#define WAVE_FORMAT_DTS                     0x0008
-#define WAVE_FORMAT_WMAVOICE9               0x000A
-#define WAVE_FORMAT_WMASPDIF                0x0164
-#define WAVE_FORMAT_WMAUDIO_LOSSLESS        0x0163
-#define WAVE_FORMAT_WMAUDIO2                0x0161
-#define WAVE_FORMAT_WMAUDIO3                0x0162
-
-/* http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx */
-#define WAVE_FORMAT_MPEG_LOAS               0x1602
-#define WAVE_FORMAT_RAW_SPORT               0x0240
-#define WAVE_FORMAT_ESST_AC3                0x0241
-#define WAVE_FORMAT_DTS2                    0x2001
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mmsystem.h
===================================================================
--- Daodan/MinGW/include/mmsystem.h	(revision 1046)
+++ 	(revision )
@@ -1,1943 +1,0 @@
-
-#ifndef _MMSYSTEM_H
-#define _MMSYSTEM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#pragma pack(push,1)
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define	WINMMAPI	DECLSPEC_IMPORT
-#define _loadds
-#define _huge
-#define MAXPNAMELEN 32
-#define MAXERRORLENGTH 256
-#define MAX_JOYSTICKOEMVXDNAME 260
-#define _MMRESULT_
-#define TIME_MS 1
-#define TIME_SAMPLES 2
-#define TIME_BYTES 4
-#define TIME_SMPTE 8
-#define TIME_MIDI 16
-#define TIME_TICKS 32
-#define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
-#ifndef mmioFOURCC
-#define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3)
-#endif
-#define MM_JOY1MOVE 0x3A0
-#define MM_JOY2MOVE 0x3A1
-#define MM_JOY1ZMOVE 0x3A2
-#define MM_JOY2ZMOVE 0x3A3
-#define MM_JOY1BUTTONDOWN 0x3B5
-#define MM_JOY2BUTTONDOWN 0x3B6
-#define MM_JOY1BUTTONUP 0x3B7
-#define MM_JOY2BUTTONUP 0x3B8
-#define MM_MCINOTIFY 0x3B9
-#define MM_WOM_OPEN 0x3BB
-#define MM_WOM_CLOSE 0x3BC
-#define MM_WOM_DONE 0x3BD
-#define MM_WIM_OPEN 0x3BE
-#define MM_WIM_CLOSE 0x3BF
-#define MM_WIM_DATA 0x3C0
-#define MM_MIM_OPEN 0x3C1
-#define MM_MIM_CLOSE 0x3C2
-#define MM_MIM_DATA 0x3C3
-#define MM_MIM_LONGDATA 0x3C4
-#define MM_MIM_ERROR 0x3C5
-#define MM_MIM_LONGERROR 0x3C6
-#define MM_MOM_OPEN 0x3C7
-#define MM_MOM_CLOSE 0x3C8
-#define MM_MOM_DONE 0x3C9
-#define MM_DRVM_OPEN 0x3D0
-#define MM_DRVM_CLOSE 0x3D1
-#define MM_DRVM_DATA 0x3D2
-#define MM_DRVM_ERROR 0x3D3
-#define MM_STREAM_OPEN	0x3D4
-#define MM_STREAM_CLOSE	0x3D5
-#define MM_STREAM_DONE	0x3D6
-#define MM_STREAM_ERROR	0x3D7
-#define MM_MOM_POSITIONCB 0x3CA
-#define MM_MCISIGNAL 0x3CB
-#define MM_MIM_MOREDATA 0x3CC
-#define MM_MIXM_LINE_CHANGE 0x3D0
-#define MM_MIXM_CONTROL_CHANGE 0x3D1
-#define MMSYSERR_BASE 0
-#define WAVERR_BASE 32
-#define MIDIERR_BASE 64
-#define TIMERR_BASE 96
-#define JOYERR_BASE 160
-#define MCIERR_BASE 256
-#define MIXERR_BASE 1024
-#define MCI_STRING_OFFSET 512
-#define MCI_VD_OFFSET 1024
-#define MCI_CD_OFFSET 1088
-#define MCI_WAVE_OFFSET 1152
-#define MCI_SEQ_OFFSET 1216
-#define MMSYSERR_NOERROR 0
-#define MMSYSERR_ERROR (MMSYSERR_BASE+1)
-#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE+2)
-#define MMSYSERR_NOTENABLED (MMSYSERR_BASE+3)
-#define MMSYSERR_ALLOCATED (MMSYSERR_BASE+4)
-#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE+5)
-#define MMSYSERR_NODRIVER (MMSYSERR_BASE+6)
-#define MMSYSERR_NOMEM (MMSYSERR_BASE+7)
-#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE+8)
-#define MMSYSERR_BADERRNUM (MMSYSERR_BASE+9)
-#define MMSYSERR_INVALFLAG (MMSYSERR_BASE+10)
-#define MMSYSERR_INVALPARAM (MMSYSERR_BASE+11)
-#define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE+12)
-#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13)
-#define MMSYSERR_BADDB (MMSYSERR_BASE+14)
-#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE+15)
-#define MMSYSERR_READERROR (MMSYSERR_BASE+16)
-#define MMSYSERR_WRITEERROR (MMSYSERR_BASE+17)
-#define MMSYSERR_DELETEERROR (MMSYSERR_BASE+18)
-#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE+19)
-#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE+20)
-#define MMSYSERR_LASTERROR (MMSYSERR_BASE+20)
-#define DRV_LOAD 1
-#define DRV_ENABLE 2
-#define DRV_OPEN 3
-#define DRV_CLOSE 4
-#define DRV_DISABLE 5
-#define DRV_FREE 6
-#define DRV_CONFIGURE 7
-#define DRV_QUERYCONFIGURE 8
-#define DRV_INSTALL 9
-#define DRV_REMOVE 10
-#define DRV_EXITSESSION 11
-#define DRV_POWER 15
-#define DRV_RESERVED 0x800
-#define DRV_USER 0x4000
-#define DRVCNF_CANCEL 0
-#define DRVCNF_OK 1
-#define DRVCNF_RESTART 2
-#define DRV_CANCEL DRVCNF_CANCEL
-#define DRV_OK DRVCNF_OK
-#define DRV_RESTART DRVCNF_RESTART
-#define DRV_MCI_FIRST DRV_RESERVED
-#define DRV_MCI_LAST (DRV_RESERVED+0xFFF)
-#define CALLBACK_TYPEMASK 0x70000
-#define CALLBACK_NULL 0
-#define CALLBACK_WINDOW 0x10000
-#define CALLBACK_TASK 0x20000
-#define CALLBACK_FUNCTION 0x30000
-#define CALLBACK_THREAD CALLBACK_TASK
-#define CALLBACK_EVENT 0x50000
-#define SND_SYNC 0
-#define SND_ASYNC 1
-#define SND_NODEFAULT 2
-#define SND_MEMORY 4
-#define SND_LOOP 8
-#define SND_NOSTOP 16
-#define SND_NOWAIT	0x2000
-#define SND_ALIAS 0x10000
-#define SND_ALIAS_ID	0x110000
-#define SND_FILENAME 0x20000
-#define SND_RESOURCE 0x40004
-#define SND_PURGE 0x40
-#define SND_APPLICATION 0x80
-#define SND_ALIAS_START	0
-#define	sndAlias(c0,c1)	(SND_ALIAS_START+((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)))
-#define SND_ALIAS_SYSTEMASTERISK sndAlias('S','*')
-#define SND_ALIAS_SYSTEMQUESTION sndAlias('S','?')
-#define SND_ALIAS_SYSTEMHAND sndAlias('S','H')
-#define SND_ALIAS_SYSTEMEXIT sndAlias('S','E')
-#define SND_ALIAS_SYSTEMSTART sndAlias('S','S')
-#define SND_ALIAS_SYSTEMWELCOME sndAlias('S','W')
-#define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S','!')
-#define SND_ALIAS_SYSTEMDEFAULT sndAlias('S','D')
-#define WAVERR_BADFORMAT (WAVERR_BASE + 0)
-#define WAVERR_STILLPLAYING (WAVERR_BASE + 1)
-#define WAVERR_UNPREPARED (WAVERR_BASE + 2)
-#define WAVERR_SYNC (WAVERR_BASE + 3)
-#define WAVERR_LASTERROR (WAVERR_BASE + 3)
-#define WOM_OPEN MM_WOM_OPEN
-#define WOM_CLOSE MM_WOM_CLOSE
-#define WOM_DONE MM_WOM_DONE
-#define WIM_OPEN MM_WIM_OPEN
-#define WIM_CLOSE MM_WIM_CLOSE
-#define WIM_DATA MM_WIM_DATA
-#define WAVE_MAPPER ((UINT)-1)
-#define WAVE_FORMAT_QUERY 1
-#define WAVE_ALLOWSYNC 2
-#define WAVE_MAPPED 4
-#define WAVE_FORMAT_DIRECT 8
-#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT)
-#define WHDR_DONE 1
-#define WHDR_PREPARED 2
-#define WHDR_BEGINLOOP 4
-#define WHDR_ENDLOOP 8
-#define WHDR_INQUEUE 16
-#define WAVECAPS_PITCH 1
-#define WAVECAPS_PLAYBACKRATE 2
-#define WAVECAPS_VOLUME 4
-#define WAVECAPS_LRVOLUME 8
-#define WAVECAPS_SYNC 16
-#define WAVECAPS_SAMPLEACCURATE 32
-#define WAVECAPS_DIRECTSOUND 64
-#define WAVE_INVALIDFORMAT 0
-#define WAVE_FORMAT_1M08 1
-#define WAVE_FORMAT_1S08 2
-#define WAVE_FORMAT_1M16 4
-#define WAVE_FORMAT_1S16 8
-#define WAVE_FORMAT_2M08 16
-#define WAVE_FORMAT_2S08 32
-#define WAVE_FORMAT_2M16 64
-#define WAVE_FORMAT_2S16 128
-#define WAVE_FORMAT_4M08 256
-#define WAVE_FORMAT_4S08 512
-#define WAVE_FORMAT_4M16 1024
-#define WAVE_FORMAT_4S16 2048
-#define WAVE_FORMAT_PCM 1
-#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
-#define MIDIERR_UNPREPARED MIDIERR_BASE
-#define MIDIERR_STILLPLAYING (MIDIERR_BASE+1)
-#define MIDIERR_NOMAP (MIDIERR_BASE+2)
-#define MIDIERR_NOTREADY (MIDIERR_BASE+3)
-#define MIDIERR_NODEVICE (MIDIERR_BASE+4)
-#define MIDIERR_INVALIDSETUP (MIDIERR_BASE+5)
-#define MIDIERR_BADOPENMODE (MIDIERR_BASE+6)
-#define MIDIERR_DONT_CONTINUE (MIDIERR_BASE+7)
-#define MIDIERR_LASTERROR (MIDIERR_BASE+7)
-#define MIDIPATCHSIZE 128
-#define MIM_OPEN MM_MIM_OPEN
-#define MIM_CLOSE MM_MIM_CLOSE
-#define MIM_DATA MM_MIM_DATA
-#define MIM_LONGDATA MM_MIM_LONGDATA
-#define MIM_ERROR MM_MIM_ERROR
-#define MIM_LONGERROR MM_MIM_LONGERROR
-#define MOM_OPEN MM_MOM_OPEN
-#define MOM_CLOSE MM_MOM_CLOSE
-#define MOM_DONE MM_MOM_DONE
-#define MIM_MOREDATA MM_MIM_MOREDATA
-#define MOM_POSITIONCB MM_MOM_POSITIONCB
-#define MIDIMAPPER ((UINT)-1)
-#define MIDI_MAPPER ((UINT)-1)
-#define MIDI_IO_STATUS 32
-#define MIDI_CACHE_ALL 1
-#define MIDI_CACHE_BESTFIT 2
-#define MIDI_CACHE_QUERY 3
-#define MIDI_UNCACHE 4
-#define MOD_MIDIPORT 1
-#define MOD_SYNTH 2
-#define MOD_SQSYNTH 3
-#define MOD_FMSYNTH 4
-#define MOD_MAPPER 5
-#define MIDICAPS_VOLUME 1
-#define MIDICAPS_LRVOLUME 2
-#define MIDICAPS_CACHE 4
-#define MIDICAPS_STREAM 8
-#define MHDR_DONE 1
-#define MHDR_PREPARED 2
-#define MHDR_INQUEUE 4
-#define MHDR_ISSTRM 8
-#define MEVT_F_SHORT 0
-#define MEVT_F_LONG 0x80000000
-#define MEVT_F_CALLBACK 0x40000000
-#define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF))
-#define MEVT_EVENTPARM(x) ((DWORD)((x)&0xFFFFFFL))
-#define MEVT_SHORTMSG 0
-#define MEVT_TEMPO 1
-#define MEVT_NOP 2
-#define MEVT_LONGMSG ((BYTE)0x80)
-#define MEVT_COMMENT ((BYTE)0x82)
-#define MEVT_VERSION ((BYTE)0x84)
-#define MIDISTRM_ERROR (-2)
-#define MIDIPROP_SET 0x80000000
-#define MIDIPROP_GET 0x40000000
-#define MIDIPROP_TIMEDIV 1
-#define MIDIPROP_TEMPO 2
-#define AUX_MAPPER ((UINT)-1)
-#define AUXCAPS_CDAUDIO 1
-#define AUXCAPS_AUXIN 2
-#define AUXCAPS_VOLUME 1
-#define AUXCAPS_LRVOLUME 2
-#define MIXER_SHORT_NAME_CHARS 16
-#define MIXER_LONG_NAME_CHARS 64
-#define MIXERR_INVALLINE MIXERR_BASE
-#define MIXERR_INVALCONTROL (MIXERR_BASE+1)
-#define MIXERR_INVALVALUE (MIXERR_BASE+2)
-#define MIXERR_LASTERROR (MIXERR_BASE+2)
-#define MIXER_OBJECTF_HANDLE 0x80000000
-#define MIXER_OBJECTF_MIXER 0
-#define MIXER_OBJECTF_HMIXER (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)
-#define MIXER_OBJECTF_WAVEOUT 0x10000000
-#define MIXER_OBJECTF_HWAVEOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)
-#define MIXER_OBJECTF_WAVEIN 0x20000000
-#define MIXER_OBJECTF_HWAVEIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)
-#define MIXER_OBJECTF_MIDIOUT 0x30000000
-#define MIXER_OBJECTF_HMIDIOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)
-#define MIXER_OBJECTF_MIDIIN 0x40000000
-#define MIXER_OBJECTF_HMIDIIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)
-#define MIXER_OBJECTF_AUX 0x50000000
-#define MIXERLINE_LINEF_ACTIVE 1
-#define MIXERLINE_LINEF_DISCONNECTED 0x8000
-#define MIXERLINE_LINEF_SOURCE 0x80000000
-#define MIXERLINE_COMPONENTTYPE_DST_FIRST 0
-#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED MIXERLINE_COMPONENTTYPE_DST_FIRST
-#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL (MIXERLINE_COMPONENTTYPE_DST_FIRST+1)
-#define MIXERLINE_COMPONENTTYPE_DST_LINE (MIXERLINE_COMPONENTTYPE_DST_FIRST+2)
-#define MIXERLINE_COMPONENTTYPE_DST_MONITOR (MIXERLINE_COMPONENTTYPE_DST_FIRST+3)
-#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (MIXERLINE_COMPONENTTYPE_DST_FIRST+4)
-#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST+5)
-#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE (MIXERLINE_COMPONENTTYPE_DST_FIRST+6)
-#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+7)
-#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_DST_LAST (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_SRC_FIRST 0x1000
-#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED MIXERLINE_COMPONENTTYPE_SRC_FIRST
-#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL (MIXERLINE_COMPONENTTYPE_SRC_FIRST+1)
-#define MIXERLINE_COMPONENTTYPE_SRC_LINE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+2)
-#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+3)
-#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+4)
-#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST+5)
-#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+6)
-#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+7)
-#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT (MIXERLINE_COMPONENTTYPE_SRC_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY (MIXERLINE_COMPONENTTYPE_SRC_FIRST+9)
-#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
-#define MIXERLINE_COMPONENTTYPE_SRC_LAST (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
-#define MIXERLINE_TARGETTYPE_UNDEFINED 0
-#define MIXERLINE_TARGETTYPE_WAVEOUT 1
-#define MIXERLINE_TARGETTYPE_WAVEIN 2
-#define MIXERLINE_TARGETTYPE_MIDIOUT 3
-#define MIXERLINE_TARGETTYPE_MIDIIN 4
-#define MIXERLINE_TARGETTYPE_AUX 5
-#define MIXER_GETLINEINFOF_DESTINATION 0
-#define MIXER_GETLINEINFOF_SOURCE 1
-#define MIXER_GETLINEINFOF_LINEID 2
-#define MIXER_GETLINEINFOF_COMPONENTTYPE 3
-#define MIXER_GETLINEINFOF_TARGETTYPE 4
-#define MIXER_GETLINEINFOF_QUERYMASK 15
-#define MIXERCONTROL_CONTROLF_UNIFORM 1
-#define MIXERCONTROL_CONTROLF_MULTIPLE 2
-#define MIXERCONTROL_CONTROLF_DISABLED 0x80000000
-#define MIXERCONTROL_CT_CLASS_MASK 0xF0000000
-#define MIXERCONTROL_CT_CLASS_CUSTOM 0
-#define MIXERCONTROL_CT_CLASS_METER 0x10000000
-#define MIXERCONTROL_CT_CLASS_SWITCH 0x20000000
-#define MIXERCONTROL_CT_CLASS_NUMBER 0x30000000
-#define MIXERCONTROL_CT_CLASS_SLIDER 0x40000000
-#define MIXERCONTROL_CT_CLASS_FADER 0x50000000
-#define MIXERCONTROL_CT_CLASS_TIME 0x60000000
-#define MIXERCONTROL_CT_CLASS_LIST 0x70000000
-#define MIXERCONTROL_CT_SUBCLASS_MASK 0xF000000
-#define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN 0
-#define MIXERCONTROL_CT_SC_SWITCH_BUTTON 0x1000000
-#define MIXERCONTROL_CT_SC_METER_POLLED 0
-#define MIXERCONTROL_CT_SC_TIME_MICROSECS 0
-#define MIXERCONTROL_CT_SC_TIME_MILLISECS 0x1000000
-#define MIXERCONTROL_CT_SC_LIST_SINGLE 0
-#define MIXERCONTROL_CT_SC_LIST_MULTIPLE 0x1000000
-#define MIXERCONTROL_CT_UNITS_MASK 0xFF0000
-#define MIXERCONTROL_CT_UNITS_CUSTOM 0
-#define MIXERCONTROL_CT_UNITS_BOOLEAN 0x10000
-#define MIXERCONTROL_CT_UNITS_SIGNED 0x20000
-#define MIXERCONTROL_CT_UNITS_UNSIGNED 0x30000
-#define MIXERCONTROL_CT_UNITS_DECIBELS 0x40000
-#define MIXERCONTROL_CT_UNITS_PERCENT 0x50000
-#define MIXERCONTROL_CONTROLTYPE_CUSTOM (MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM)
-#define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PEAKMETER (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1)
-#define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_BOOLEAN (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN+1)
-#define MIXERCONTROL_CONTROLTYPE_MUTE (MIXERCONTROL_CONTROLTYPE_BOOLEAN+2)
-#define MIXERCONTROL_CONTROLTYPE_MONO (MIXERCONTROL_CONTROLTYPE_BOOLEAN+3)
-#define MIXERCONTROL_CONTROLTYPE_LOUDNESS (MIXERCONTROL_CONTROLTYPE_BOOLEAN+4)
-#define MIXERCONTROL_CONTROLTYPE_STEREOENH (MIXERCONTROL_CONTROLTYPE_BOOLEAN+5)
-#define MIXERCONTROL_CONTROLTYPE_BUTTON (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_DECIBELS (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS)
-#define MIXERCONTROL_CONTROLTYPE_SIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_UNSIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PERCENT (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT)
-#define MIXERCONTROL_CONTROLTYPE_SLIDER (MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PAN (MIXERCONTROL_CONTROLTYPE_SLIDER+1)
-#define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN (MIXERCONTROL_CONTROLTYPE_SLIDER+2)
-#define MIXERCONTROL_CONTROLTYPE_FADER (MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_VOLUME (MIXERCONTROL_CONTROLTYPE_FADER+1)
-#define MIXERCONTROL_CONTROLTYPE_BASS (MIXERCONTROL_CONTROLTYPE_FADER+2)
-#define MIXERCONTROL_CONTROLTYPE_TREBLE (MIXERCONTROL_CONTROLTYPE_FADER+3)
-#define MIXERCONTROL_CONTROLTYPE_EQUALIZER (MIXERCONTROL_CONTROLTYPE_FADER+4)
-#define MIXERCONTROL_CONTROLTYPE_SINGLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_MUX (MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1)
-#define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_MIXER (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1)
-#define MIXERCONTROL_CONTROLTYPE_MICROTIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_MILLITIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXER_GETLINECONTROLSF_ALL 0
-#define MIXER_GETLINECONTROLSF_ONEBYID 1
-#define MIXER_GETLINECONTROLSF_ONEBYTYPE 2
-#define MIXER_GETLINECONTROLSF_QUERYMASK 15
-#define MIXER_GETCONTROLDETAILSF_VALUE 0
-#define MIXER_GETCONTROLDETAILSF_LISTTEXT 1
-#define MIXER_GETCONTROLDETAILSF_QUERYMASK 15
-#define MIXER_SETCONTROLDETAILSF_VALUE 0
-#define MIXER_SETCONTROLDETAILSF_CUSTOM 1
-#define MIXER_SETCONTROLDETAILSF_QUERYMASK 15
-#define TIMERR_NOERROR 0
-#define TIMERR_NOCANDO (TIMERR_BASE+1)
-#define TIMERR_STRUCT (TIMERR_BASE+33)
-#define TIME_ONESHOT 0
-#define TIME_PERIODIC 1
-#define TIME_CALLBACK_FUNCTION 0
-#define TIME_CALLBACK_EVENT_SET 16
-#define TIME_CALLBACK_EVENT_PULSE 32
-#if (WINVER >= 0x0501)
-#define TIME_KILL_SYNCHRONOUS 0x0100
-#endif
-#define JOYERR_NOERROR (0)
-#define JOYERR_PARMS (JOYERR_BASE+5)
-#define JOYERR_NOCANDO (JOYERR_BASE+6)
-#define JOYERR_UNPLUGGED (JOYERR_BASE+7)
-#define JOY_BUTTON1 1
-#define JOY_BUTTON2 2
-#define JOY_BUTTON3 4
-#define JOY_BUTTON4 8
-#define JOY_BUTTON1CHG 256
-#define JOY_BUTTON2CHG 512
-#define JOY_BUTTON3CHG 1024
-#define JOY_BUTTON4CHG 2048
-#define JOY_BUTTON5 257
-#define JOY_BUTTON6 513
-#define JOY_BUTTON7 1025
-#define JOY_BUTTON8 2049
-#define JOY_BUTTON9 256
-#define JOY_BUTTON10 512
-#define JOY_BUTTON11 1024
-#define JOY_BUTTON12 2048
-#define JOY_BUTTON13 4096
-#define JOY_BUTTON14 8192
-#define JOY_BUTTON15 16384
-#define JOY_BUTTON16 32768
-#define JOY_BUTTON17 65536
-#define JOY_BUTTON18 0x20000
-#define JOY_BUTTON19 0x40000
-#define JOY_BUTTON20 0x80000
-#define JOY_BUTTON21 0x100000
-#define JOY_BUTTON22 0x200000
-#define JOY_BUTTON23 0x400000
-#define JOY_BUTTON24 0x800000
-#define JOY_BUTTON25 0x1000000
-#define JOY_BUTTON26 0x2000000
-#define JOY_BUTTON27 0x4000000
-#define JOY_BUTTON28 0x8000000
-#define JOY_BUTTON29 0x10000000
-#define JOY_BUTTON30 0x20000000
-#define JOY_BUTTON31 0x40000000
-#define JOY_BUTTON32 0x80000000
-#define JOY_POVCENTERED	((WORD)-1)
-#define JOY_POVFORWARD	0
-#define JOY_POVRIGHT	9000
-#define JOY_POVBACKWARD	18000
-#define JOY_POVLEFT	27000
-#define JOY_RETURNX	1
-#define JOY_RETURNY	2
-#define JOY_RETURNZ	4l
-#define JOY_RETURNR	8
-#define JOY_RETURNU	16
-#define JOY_RETURNV	32
-#define JOY_RETURNPOV	64
-#define JOY_RETURNBUTTONS	128
-#define JOY_RETURNRAWDATA	256
-#define JOY_RETURNPOVCTS	512
-#define JOY_RETURNCENTERED	1024
-#define JOY_USEDEADZONE	2048
-#define JOY_RETURNALL	(JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS)
-#define JOY_CAL_READALWAYS	0x10000
-#define JOY_CAL_READXYONLY	0x20000
-#define JOY_CAL_READ3	0x40000
-#define JOY_CAL_READ4	0x80000
-#define JOY_CAL_READXONLY	0x100000
-#define JOY_CAL_READYONLY	0x200000
-#define JOY_CAL_READ5	0x400000
-#define JOY_CAL_READ6	0x800000
-#define JOY_CAL_READZONLY	0x1000000
-#define JOY_CAL_READRONLY	0x2000000
-#define JOY_CAL_READUONLY	0x4000000
-#define JOY_CAL_READVONLY	0x8000000
-#define JOYSTICKID1 0
-#define JOYSTICKID2 1
-#define JOYCAPS_HASZ	1
-#define JOYCAPS_HASR	2
-#define JOYCAPS_HASU	4
-#define JOYCAPS_HASV	8
-#define JOYCAPS_HASPOV	16
-#define JOYCAPS_POV4DIR	32
-#define JOYCAPS_POVCTS	64
-#define MMIOERR_BASE 256
-#define MMIOERR_FILENOTFOUND (MMIOERR_BASE+1)
-#define MMIOERR_OUTOFMEMORY (MMIOERR_BASE+2)
-#define MMIOERR_CANNOTOPEN (MMIOERR_BASE+3)
-#define MMIOERR_CANNOTCLOSE (MMIOERR_BASE+4)
-#define MMIOERR_CANNOTREAD (MMIOERR_BASE+5)
-#define MMIOERR_CANNOTWRITE (MMIOERR_BASE+6)
-#define MMIOERR_CANNOTSEEK (MMIOERR_BASE+7)
-#define MMIOERR_CANNOTEXPAND (MMIOERR_BASE+8)
-#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE+9)
-#define MMIOERR_UNBUFFERED (MMIOERR_BASE+10)
-#define MMIOERR_PATHNOTFOUND (MMIOERR_BASE+11)
-#define MMIOERR_ACCESSDENIED (MMIOERR_BASE+12)
-#define MMIOERR_SHARINGVIOLATION (MMIOERR_BASE+13)
-#define MMIOERR_NETWORKERROR (MMIOERR_BASE+14)
-#define MMIOERR_TOOMANYOPENFILES (MMIOERR_BASE+15)
-#define MMIOERR_INVALIDFILE (MMIOERR_BASE+16)
-#define CFSEPCHAR '+'
-#define MMIO_RWMODE 3
-#define MMIO_SHAREMODE 0x70
-#define MMIO_CREATE 0x1000
-#define MMIO_PARSE 256
-#define MMIO_DELETE 512
-#define MMIO_EXIST 0x4000
-#define MMIO_ALLOCBUF 0x10000
-#define MMIO_GETTEMP 0x20000
-#define MMIO_DIRTY 0x10000000
-#define MMIO_READ 0
-#define MMIO_WRITE 1
-#define MMIO_READWRITE 2
-#define MMIO_COMPAT 0
-#define MMIO_EXCLUSIVE 16
-#define MMIO_DENYWRITE 32
-#define MMIO_DENYREAD 0x30
-#define MMIO_DENYNONE 64
-#define MMIO_FHOPEN 16
-#define MMIO_EMPTYBUF 16
-#define MMIO_TOUPPER 16
-#define MMIO_INSTALLPROC 0x10000
-#define MMIO_GLOBALPROC 0x10000000
-#define MMIO_REMOVEPROC 0x20000
-#define MMIO_UNICODEPROC 0x1000000
-#define MMIO_FINDPROC 0x40000
-#define MMIO_FINDCHUNK 16
-#define MMIO_FINDRIFF 32
-#define MMIO_FINDLIST 64
-#define MMIO_CREATERIFF 32
-#define MMIO_CREATELIST 64
-#define MMIOM_READ MMIO_READ
-#define MMIOM_WRITE MMIO_WRITE
-#define MMIOM_SEEK 2
-#define MMIOM_OPEN 3
-#define MMIOM_CLOSE 4
-#define MMIOM_WRITEFLUSH 5
-#define MMIOM_RENAME 6
-#define MMIOM_USER 0x8000
-#define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F')
-#define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T')
-#define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ')
-#define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ')
-#define MMIO_DEFAULTBUFFER 8192
-#define MCIERR_INVALID_DEVICE_ID (MCIERR_BASE+1)
-#define MCIERR_UNRECOGNIZED_KEYWORD (MCIERR_BASE+3)
-#define MCIERR_UNRECOGNIZED_COMMAND (MCIERR_BASE+5)
-#define MCIERR_HARDWARE (MCIERR_BASE+6)
-#define MCIERR_INVALID_DEVICE_NAME (MCIERR_BASE+7)
-#define MCIERR_OUT_OF_MEMORY (MCIERR_BASE+8)
-#define MCIERR_DEVICE_OPEN (MCIERR_BASE+9)
-#define MCIERR_CANNOT_LOAD_DRIVER (MCIERR_BASE+10)
-#define MCIERR_MISSING_COMMAND_STRING (MCIERR_BASE+11)
-#define MCIERR_PARAM_OVERFLOW (MCIERR_BASE+12)
-#define MCIERR_MISSING_STRING_ARGUMENT (MCIERR_BASE+13)
-#define MCIERR_BAD_INTEGER (MCIERR_BASE+14)
-#define MCIERR_PARSER_INTERNAL (MCIERR_BASE+15)
-#define MCIERR_DRIVER_INTERNAL (MCIERR_BASE+16)
-#define MCIERR_MISSING_PARAMETER (MCIERR_BASE+17)
-#define MCIERR_UNSUPPORTED_FUNCTION (MCIERR_BASE+18)
-#define MCIERR_FILE_NOT_FOUND (MCIERR_BASE+19)
-#define MCIERR_DEVICE_NOT_READY (MCIERR_BASE+20)
-#define MCIERR_INTERNAL (MCIERR_BASE+21)
-#define MCIERR_DRIVER (MCIERR_BASE+22)
-#define MCIERR_CANNOT_USE_ALL (MCIERR_BASE+23)
-#define MCIERR_MULTIPLE (MCIERR_BASE+24)
-#define MCIERR_EXTENSION_NOT_FOUND (MCIERR_BASE+25)
-#define MCIERR_OUTOFRANGE (MCIERR_BASE+26)
-#define MCIERR_FLAGS_NOT_COMPATIBLE (MCIERR_BASE+28)
-#define MCIERR_FILE_NOT_SAVED (MCIERR_BASE+30)
-#define MCIERR_DEVICE_TYPE_REQUIRED (MCIERR_BASE+31)
-#define MCIERR_DEVICE_LOCKED (MCIERR_BASE+32)
-#define MCIERR_DUPLICATE_ALIAS (MCIERR_BASE+33)
-#define MCIERR_BAD_CONSTANT (MCIERR_BASE+34)
-#define MCIERR_MUST_USE_SHAREABLE (MCIERR_BASE+35)
-#define MCIERR_MISSING_DEVICE_NAME (MCIERR_BASE+36)
-#define MCIERR_BAD_TIME_FORMAT (MCIERR_BASE+37)
-#define MCIERR_NO_CLOSING_QUOTE (MCIERR_BASE+38)
-#define MCIERR_DUPLICATE_FLAGS (MCIERR_BASE+39)
-#define MCIERR_INVALID_FILE (MCIERR_BASE+40)
-#define MCIERR_NULL_PARAMETER_BLOCK (MCIERR_BASE+41)
-#define MCIERR_UNNAMED_RESOURCE (MCIERR_BASE+42)
-#define MCIERR_NEW_REQUIRES_ALIAS (MCIERR_BASE+43)
-#define MCIERR_NOTIFY_ON_AUTO_OPEN (MCIERR_BASE+44)
-#define MCIERR_NO_ELEMENT_ALLOWED (MCIERR_BASE+45)
-#define MCIERR_NONAPPLICABLE_FUNCTION (MCIERR_BASE+46)
-#define MCIERR_ILLEGAL_FOR_AUTO_OPEN (MCIERR_BASE+47)
-#define MCIERR_FILENAME_REQUIRED (MCIERR_BASE+48)
-#define MCIERR_EXTRA_CHARACTERS (MCIERR_BASE+49)
-#define MCIERR_DEVICE_NOT_INSTALLED (MCIERR_BASE+50)
-#define MCIERR_GET_CD (MCIERR_BASE+51)
-#define MCIERR_SET_CD (MCIERR_BASE+52)
-#define MCIERR_SET_DRIVE (MCIERR_BASE+53)
-#define MCIERR_DEVICE_LENGTH (MCIERR_BASE+54)
-#define MCIERR_DEVICE_ORD_LENGTH (MCIERR_BASE+55)
-#define MCIERR_NO_INTEGER (MCIERR_BASE+56)
-#define MCIERR_WAVE_OUTPUTSINUSE (MCIERR_BASE+64)
-#define MCIERR_WAVE_SETOUTPUTINUSE (MCIERR_BASE+65)
-#define MCIERR_WAVE_INPUTSINUSE (MCIERR_BASE+66)
-#define MCIERR_WAVE_SETINPUTINUSE (MCIERR_BASE+67)
-#define MCIERR_WAVE_OUTPUTUNSPECIFIED (MCIERR_BASE+68)
-#define MCIERR_WAVE_INPUTUNSPECIFIED (MCIERR_BASE+69)
-#define MCIERR_WAVE_OUTPUTSUNSUITABLE (MCIERR_BASE+70)
-#define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE+71)
-#define MCIERR_WAVE_INPUTSUNSUITABLE (MCIERR_BASE+72)
-#define MCIERR_WAVE_SETINPUTUNSUITABLE (MCIERR_BASE+73)
-#define MCIERR_SEQ_DIV_INCOMPATIBLE (MCIERR_BASE+80)
-#define MCIERR_SEQ_PORT_INUSE (MCIERR_BASE+81)
-#define MCIERR_SEQ_PORT_NONEXISTENT (MCIERR_BASE+82)
-#define MCIERR_SEQ_PORT_MAPNODEVICE (MCIERR_BASE+83)
-#define MCIERR_SEQ_PORT_MISCERROR (MCIERR_BASE+84)
-#define MCIERR_SEQ_TIMER (MCIERR_BASE+85)
-#define MCIERR_SEQ_PORTUNSPECIFIED (MCIERR_BASE+86)
-#define MCIERR_SEQ_NOMIDIPRESENT (MCIERR_BASE+87)
-#define MCIERR_NO_WINDOW (MCIERR_BASE+90)
-#define MCIERR_CREATEWINDOW (MCIERR_BASE+91)
-#define MCIERR_FILE_READ (MCIERR_BASE+92)
-#define MCIERR_FILE_WRITE (MCIERR_BASE+93)
-#define MCIERR_NO_IDENTITY (MCIERR_BASE+94)
-#define MCIERR_CUSTOM_DRIVER_BASE (MCIERR_BASE+256)
-#define MCI_FIRST DRV_MCI_FIRST
-#define MCI_OPEN 0x803
-#define MCI_CLOSE 0x804
-#define MCI_ESCAPE 0x805
-#define MCI_PLAY 0x806
-#define MCI_SEEK 0x807
-#define MCI_STOP 0x808
-#define MCI_PAUSE 0x809
-#define MCI_INFO 0x80A
-#define MCI_GETDEVCAPS 0x80B
-#define MCI_SPIN 0x80C
-#define MCI_SET 0x80D
-#define MCI_STEP 0x80E
-#define MCI_RECORD 0x80F
-#define MCI_SYSINFO 0x810
-#define MCI_BREAK 0x811
-#define MCI_SAVE 0x813
-#define MCI_STATUS 0x814
-#define MCI_CUE 0x830
-#define MCI_REALIZE 0x840
-#define MCI_WINDOW 0x841
-#define MCI_PUT 0x842
-#define MCI_WHERE 0x843
-#define MCI_FREEZE 0x844
-#define MCI_UNFREEZE 0x845
-#define MCI_LOAD 0x850
-#define MCI_CUT 0x851
-#define MCI_COPY 0x852
-#define MCI_PASTE 0x853
-#define MCI_UPDATE 0x854
-#define MCI_RESUME 0x855
-#define MCI_DELETE 0x856
-#define MCI_USER_MESSAGES (DRV_MCI_FIRST+0x400)
-#define MCI_LAST 0xFFF
-#define MCI_ALL_DEVICE_ID ((MCIDEVICEID)-1)
-#define MCI_DEVTYPE_VCR 513
-#define MCI_DEVTYPE_VIDEODISC 514
-#define MCI_DEVTYPE_OVERLAY 515
-#define MCI_DEVTYPE_CD_AUDIO 516
-#define MCI_DEVTYPE_DAT 517
-#define MCI_DEVTYPE_SCANNER 518
-#define MCI_DEVTYPE_ANIMATION 519
-#define MCI_DEVTYPE_DIGITAL_VIDEO 520
-#define MCI_DEVTYPE_OTHER 521
-#define MCI_DEVTYPE_WAVEFORM_AUDIO 522
-#define MCI_DEVTYPE_SEQUENCER 523
-#define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR
-#define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER
-#define MCI_DEVTYPE_FIRST_USER 0x1000
-#define MCI_MODE_NOT_READY (MCI_STRING_OFFSET+12)
-#define MCI_MODE_STOP (MCI_STRING_OFFSET+13)
-#define MCI_MODE_PLAY (MCI_STRING_OFFSET+14)
-#define MCI_MODE_RECORD (MCI_STRING_OFFSET+15)
-#define MCI_MODE_SEEK (MCI_STRING_OFFSET+16)
-#define MCI_MODE_PAUSE (MCI_STRING_OFFSET+17)
-#define MCI_MODE_OPEN (MCI_STRING_OFFSET+18)
-#define MCI_FORMAT_MILLISECONDS 0
-#define MCI_FORMAT_HMS 1
-#define MCI_FORMAT_MSF 2
-#define MCI_FORMAT_FRAMES 3
-#define MCI_FORMAT_SMPTE_24 4
-#define MCI_FORMAT_SMPTE_25 5
-#define MCI_FORMAT_SMPTE_30 6
-#define MCI_FORMAT_SMPTE_30DROP 7
-#define MCI_FORMAT_BYTES 8
-#define MCI_FORMAT_SAMPLES 9
-#define MCI_FORMAT_TMSF 10
-#define MCI_MSF_MINUTE(t) ((BYTE)(t))
-#define MCI_MSF_SECOND(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_MSF_FRAME(t) ((BYTE)((t)>>16))
-#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16)))
-#define MCI_TMSF_TRACK(t) ((BYTE)(t))
-#define MCI_TMSF_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_TMSF_SECOND(t) ((BYTE)((t)>>16))
-#define MCI_TMSF_FRAME(t) ((BYTE)((t)>>24))
-#define MCI_MAKE_TMSF(t,m,s,f) ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16)))
-#define MCI_HMS_HOUR(t) ((BYTE)(t))
-#define MCI_HMS_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_HMS_SECOND(t) ((BYTE)((t)>>16))
-#define MCI_MAKE_HMS(h,m,s) ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16)))
-#define MCI_NOTIFY_SUCCESSFUL 1
-#define MCI_NOTIFY_SUPERSEDED 2
-#define MCI_NOTIFY_ABORTED 4
-#define MCI_NOTIFY_FAILURE 8
-#define MCI_NOTIFY 1
-#define MCI_WAIT 2
-#define MCI_FROM 4
-#define MCI_TO 8
-#define MCI_TRACK 16
-#define MCI_OPEN_SHAREABLE 256
-#define MCI_OPEN_ELEMENT 512
-#define MCI_OPEN_ALIAS 1024
-#define MCI_OPEN_ELEMENT_ID 2048
-#define MCI_OPEN_TYPE_ID 0x1000
-#define MCI_OPEN_TYPE 0x2000
-#define MCI_SEEK_TO_START 256
-#define MCI_SEEK_TO_END 512
-#define MCI_STATUS_ITEM 256
-#define MCI_STATUS_START 512
-#define MCI_STATUS_LENGTH 1
-#define MCI_STATUS_POSITION 2
-#define MCI_STATUS_NUMBER_OF_TRACKS 3
-#define MCI_STATUS_MODE 4
-#define MCI_STATUS_MEDIA_PRESENT 5
-#define MCI_STATUS_TIME_FORMAT 6
-#define MCI_STATUS_READY 7
-#define MCI_STATUS_CURRENT_TRACK 8
-#define MCI_INFO_PRODUCT 256
-#define MCI_INFO_FILE 512
-#define MCI_INFO_MEDIA_UPC 1024
-#define MCI_INFO_MEDIA_IDENTITY 2048
-#define MCI_INFO_NAME 0x1000
-#define MCI_INFO_COPYRIGHT 0x2000
-#define MCI_GETDEVCAPS_ITEM 256
-#define MCI_GETDEVCAPS_CAN_RECORD 1
-#define MCI_GETDEVCAPS_HAS_AUDIO 2
-#define MCI_GETDEVCAPS_HAS_VIDEO 3
-#define MCI_GETDEVCAPS_DEVICE_TYPE 4
-#define MCI_GETDEVCAPS_USES_FILES 5
-#define MCI_GETDEVCAPS_COMPOUND_DEVICE 6
-#define MCI_GETDEVCAPS_CAN_EJECT 7
-#define MCI_GETDEVCAPS_CAN_PLAY 8
-#define MCI_GETDEVCAPS_CAN_SAVE 9
-#define MCI_SYSINFO_QUANTITY 256
-#define MCI_SYSINFO_OPEN 512
-#define MCI_SYSINFO_NAME 1024
-#define MCI_SYSINFO_INSTALLNAME 2048
-#define MCI_SET_DOOR_OPEN 256
-#define MCI_SET_DOOR_CLOSED 512
-#define MCI_SET_TIME_FORMAT 1024
-#define MCI_SET_AUDIO 2048
-#define MCI_SET_VIDEO 0x1000
-#define MCI_SET_ON 0x2000
-#define MCI_SET_OFF 0x4000
-#define MCI_SET_AUDIO_ALL 0
-#define MCI_SET_AUDIO_LEFT 1
-#define MCI_SET_AUDIO_RIGHT 2
-#define MCI_BREAK_KEY 256
-#define MCI_BREAK_HWND 512
-#define MCI_BREAK_OFF 1024
-#define MCI_RECORD_INSERT 256
-#define MCI_RECORD_OVERWRITE 512
-#define MCI_SAVE_FILE 256
-#define MCI_LOAD_FILE 256
-#define MCI_VD_MODE_PARK (MCI_VD_OFFSET+1)
-#define MCI_VD_MEDIA_CLV (MCI_VD_OFFSET+2)
-#define MCI_VD_MEDIA_CAV (MCI_VD_OFFSET+3)
-#define MCI_VD_MEDIA_OTHER (MCI_VD_OFFSET+4)
-#define MCI_VD_FORMAT_TRACK 0x4001
-#define MCI_VD_PLAY_REVERSE 0x10000
-#define MCI_VD_PLAY_FAST 0x20000
-#define MCI_VD_PLAY_SPEED 0x40000
-#define MCI_VD_PLAY_SCAN 0x80000
-#define MCI_VD_PLAY_SLOW 0x100000
-#define MCI_VD_SEEK_REVERSE 0x10000
-#define MCI_VD_STATUS_SPEED 0x4002
-#define MCI_VD_STATUS_FORWARD 0x4003
-#define MCI_VD_STATUS_MEDIA_TYPE 0x4004
-#define MCI_VD_STATUS_SIDE 0x4005
-#define MCI_VD_STATUS_DISC_SIZE 0x4006
-#define MCI_VD_GETDEVCAPS_CLV 0x10000
-#define MCI_VD_GETDEVCAPS_CAV 0x20000
-#define MCI_VD_SPIN_UP 0x10000
-#define MCI_VD_SPIN_DOWN 0x20000
-#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002
-#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003
-#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004
-#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005
-#define MCI_VD_STEP_FRAMES 0x10000
-#define MCI_VD_STEP_REVERSE 0x20000
-#define MCI_VD_ESCAPE_STRING 256
-#define MCI_CDA_STATUS_TYPE_TRACK 0x4001
-#define MCI_CDA_TRACK_AUDIO MCI_CD_OFFSET
-#define MCI_CDA_TRACK_OTHER (MCI_CD_OFFSET+1)
-#define MCI_WAVE_PCM MCI_WAVE_OFFSET
-#define MCI_WAVE_MAPPER (MCI_WAVE_OFFSET+1)
-#define MCI_WAVE_OPEN_BUFFER 0x10000
-#define MCI_WAVE_SET_FORMATTAG 0x10000
-#define MCI_WAVE_SET_CHANNELS 0x20000
-#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000
-#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000
-#define MCI_WAVE_SET_BLOCKALIGN 0x100000
-#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000
-#define MCI_WAVE_INPUT 0x400000
-#define MCI_WAVE_OUTPUT 0x800000
-#define MCI_WAVE_STATUS_FORMATTAG 0x4001
-#define MCI_WAVE_STATUS_CHANNELS 0x4002
-#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003
-#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004
-#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005
-#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006
-#define MCI_WAVE_STATUS_LEVEL 0x4007
-#define MCI_WAVE_SET_ANYINPUT 0x4000000
-#define MCI_WAVE_SET_ANYOUTPUT 0x8000000
-#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001
-#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002
-#define MCI_SEQ_DIV_PPQN MCI_SEQ_OFFSET
-#define MCI_SEQ_DIV_SMPTE_24 (MCI_SEQ_OFFSET+1)
-#define MCI_SEQ_DIV_SMPTE_25 (MCI_SEQ_OFFSET+2)
-#define MCI_SEQ_DIV_SMPTE_30DROP (MCI_SEQ_OFFSET+3)
-#define MCI_SEQ_DIV_SMPTE_30 (MCI_SEQ_OFFSET+4)
-#define MCI_SEQ_FORMAT_SONGPTR 0x4001
-#define MCI_SEQ_FILE 0x4002
-#define MCI_SEQ_MIDI 0x4003
-#define MCI_SEQ_SMPTE 0x4004
-#define MCI_SEQ_NONE 65533
-#define MCI_SEQ_MAPPER 65535
-#define MCI_SEQ_STATUS_TEMPO 0x4002
-#define MCI_SEQ_STATUS_PORT 0x4003
-#define MCI_SEQ_STATUS_SLAVE 0x4007
-#define MCI_SEQ_STATUS_MASTER 0x4008
-#define MCI_SEQ_STATUS_OFFSET 0x4009
-#define MCI_SEQ_STATUS_DIVTYPE 0x400A
-#define MCI_SEQ_STATUS_NAME 0x400B
-#define MCI_SEQ_STATUS_COPYRIGHT 0x400C
-#define MCI_SEQ_SET_TEMPO 0x10000
-#define MCI_SEQ_SET_PORT 0x20000
-#define MCI_SEQ_SET_SLAVE 0x40000
-#define MCI_SEQ_SET_MASTER 0x80000
-#define MCI_SEQ_SET_OFFSET 0x1000000
-#define MCI_ANIM_OPEN_WS 0x10000
-#define MCI_ANIM_OPEN_PARENT 0x20000
-#define MCI_ANIM_OPEN_NOSTATIC 0x40000
-#define MCI_ANIM_PLAY_SPEED 0x10000
-#define MCI_ANIM_PLAY_REVERSE 0x20000
-#define MCI_ANIM_PLAY_FAST 0x40000
-#define MCI_ANIM_PLAY_SLOW 0x80000
-#define MCI_ANIM_PLAY_SCAN 0x100000
-#define MCI_ANIM_STEP_REVERSE 0x10000
-#define MCI_ANIM_STEP_FRAMES 0x20000
-#define MCI_ANIM_STATUS_SPEED 0x4001
-#define MCI_ANIM_STATUS_FORWARD 0x4002
-#define MCI_ANIM_STATUS_HWND 0x4003
-#define MCI_ANIM_STATUS_HPAL 0x4004
-#define MCI_ANIM_STATUS_STRETCH 0x4005
-#define MCI_ANIM_INFO_TEXT 0x10000
-#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001
-#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002
-#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003
-#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004
-#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006
-#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007
-#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008
-#define MCI_ANIM_REALIZE_NORM 0x10000
-#define MCI_ANIM_REALIZE_BKGD 0x20000
-#define MCI_ANIM_WINDOW_HWND 0x10000
-#define MCI_ANIM_WINDOW_STATE 0x40000
-#define MCI_ANIM_WINDOW_TEXT 0x80000
-#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000
-#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000
-#define MCI_ANIM_WINDOW_DEFAULT 0xL
-#define MCI_ANIM_RECT 0x10000
-#define MCI_ANIM_PUT_SOURCE 0x20000
-#define MCI_ANIM_PUT_DESTINATION 0x40000
-#define MCI_ANIM_WHERE_SOURCE 0x20000
-#define MCI_ANIM_WHERE_DESTINATION 0x40000
-#define MCI_ANIM_UPDATE_HDC 0x20000
-#define MCI_OVLY_OPEN_WS 0x10000
-#define MCI_OVLY_OPEN_PARENT 0x20000
-#define MCI_OVLY_STATUS_HWND 0x4001
-#define MCI_OVLY_STATUS_STRETCH 0x4002
-#define MCI_OVLY_INFO_TEXT 0x10000
-#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001
-#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002
-#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003
-#define MCI_OVLY_WINDOW_HWND 0x10000
-#define MCI_OVLY_WINDOW_STATE 0x40000
-#define MCI_OVLY_WINDOW_TEXT 0x80000
-#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000
-#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000
-#define MCI_OVLY_WINDOW_DEFAULT 0xL
-#define MCI_OVLY_RECT 0x10000
-#define MCI_OVLY_PUT_SOURCE 0x20000
-#define MCI_OVLY_PUT_DESTINATION 0x40000
-#define MCI_OVLY_PUT_FRAME 0x80000
-#define MCI_OVLY_PUT_VIDEO 0x100000
-#define MCI_OVLY_WHERE_SOURCE 0x20000
-#define MCI_OVLY_WHERE_DESTINATION 0x40000
-#define MCI_OVLY_WHERE_FRAME 0x80000
-#define MCI_OVLY_WHERE_VIDEO 0x100000
-#define NEWTRANSPARENT 3
-#define QUERYROPSUPPORT 40
-#define SELECTDIB 41
-#define DIBINDEX(n) MAKELONG((n),0x10FF)
-#define SC_SCREENSAVE 0xF140
-#define CAPS1 94
-#define C1_TRANSPARENT 1
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-typedef DWORD MCIERROR;
-typedef UINT MCIDEVICEID;
-typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
-typedef UINT MMVERSION;
-typedef UINT MMRESULT;
-typedef struct mmtime_tag {
-	UINT wType;
-	union {
-		DWORD ms;
-		DWORD sample;
-		DWORD cb;
-		DWORD ticks;
-		struct {
-			BYTE hour;
-			BYTE min;
-			BYTE sec;
-			BYTE frame;
-			BYTE fps;
-			BYTE dummy;
-			BYTE pad[2];
-		} smpte;
-		struct {
-			DWORD songptrpos;
-		} midi;
-	} u;
-} MMTIME,*PMMTIME,*LPMMTIME;
-DECLARE_HANDLE(HDRVR);
-typedef struct tagDRVCONFIGINFO {
-	DWORD dwDCISize;
-	LPCWSTR lpszDCISectionName;
-	LPCWSTR lpszDCIAliasName;
-} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
-typedef struct DRVCONFIGINFOEX {
-	DWORD dwDCISize;
-	LPCWSTR lpszDCISectionName;
-	LPCWSTR lpszDCIAliasName;
-	DWORD dnDevNode;
-} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
-typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
-typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
-typedef DRVCALLBACK *LPDRVCALLBACK;
-typedef DRVCALLBACK *PDRVCALLBACK;
-DECLARE_HANDLE(HWAVE);
-DECLARE_HANDLE(HWAVEIN);
-DECLARE_HANDLE(HWAVEOUT);
-typedef HWAVEIN *LPHWAVEIN;
-typedef HWAVEOUT *LPHWAVEOUT;
-typedef DRVCALLBACK WAVECALLBACK;
-typedef WAVECALLBACK *LPWAVECALLBACK;
-typedef struct wavehdr_tag {
-	LPSTR lpData;
-	DWORD dwBufferLength;
-	DWORD dwBytesRecorded;
-	DWORD dwUser;
-	DWORD dwFlags;
-	DWORD dwLoops;
-	struct wavehdr_tag *lpNext;
-	DWORD reserved;
-} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
-typedef struct tagWAVEOUTCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	DWORD dwFormats;
-	WORD wChannels;
-	WORD wReserved1;
-	DWORD dwSupport;
-} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
-typedef struct tagWAVEOUTCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	DWORD dwFormats;
-	WORD wChannels;
-	WORD wReserved1;
-	DWORD dwSupport;
-} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
-typedef struct tagWAVEINCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	DWORD dwFormats;
-	WORD wChannels;
-	WORD wReserved1;
-} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
-typedef struct tagWAVEINCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	DWORD dwFormats;
-	WORD wChannels;
-	WORD wReserved1;
-} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
-typedef struct waveformat_tag {
-	WORD wFormatTag;
-	WORD nChannels;
-	DWORD nSamplesPerSec;
-	DWORD nAvgBytesPerSec;
-	WORD nBlockAlign;
-} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
-typedef struct pcmwaveformat_tag {
-	WAVEFORMAT wf;
-	WORD wBitsPerSample;
-} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
-#ifndef _LPCWAVEFORMATEX_DEFINED
-#define _LPCWAVEFORMATEX_DEFINED
-#define _WAVEFORMATEX_
-typedef struct tWAVEFORMATEX {
-	WORD wFormatTag;
-	WORD nChannels;
-	DWORD nSamplesPerSec;
-	DWORD nAvgBytesPerSec;
-	WORD nBlockAlign;
-	WORD wBitsPerSample;
-	WORD cbSize;
-} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
-typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
-#endif
-DECLARE_HANDLE(HMIDI);
-DECLARE_HANDLE(HMIDIIN);
-DECLARE_HANDLE(HMIDIOUT);
-DECLARE_HANDLE(HMIDISTRM);
-typedef HMIDI *LPHMIDI;
-typedef HMIDIIN *LPHMIDIIN;
-typedef HMIDIOUT *LPHMIDIOUT;
-typedef HMIDISTRM *LPHMIDISTRM;
-typedef DRVCALLBACK MIDICALLBACK;
-typedef MIDICALLBACK *LPMIDICALLBACK;
-typedef WORD PATCHARRAY[MIDIPATCHSIZE];
-typedef WORD *LPPATCHARRAY;
-typedef WORD KEYARRAY[MIDIPATCHSIZE];
-typedef WORD *LPKEYARRAY;
-typedef struct tagMIDIOUTCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	WORD wTechnology;
-	WORD wVoices;
-	WORD wNotes;
-	WORD wChannelMask;
-	DWORD dwSupport;
-} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
-typedef struct tagMIDIOUTCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	WORD wTechnology;
-	WORD wVoices;
-	WORD wNotes;
-	WORD wChannelMask;
-	DWORD dwSupport;
-} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
-typedef struct tagMIDIINCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	DWORD dwSupport;
-} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
-typedef struct tagMIDIINCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	DWORD dwSupport;
-} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
-typedef struct midihdr_tag {
-	LPSTR lpData;
-	DWORD dwBufferLength;
-	DWORD dwBytesRecorded;
-	DWORD dwUser;
-	DWORD dwFlags;
-	struct midihdr_tag *lpNext;
-	DWORD reserved;
-	DWORD dwOffset;
-	DWORD dwReserved[8];
-} MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
-typedef struct midievent_tag {
-	DWORD dwDeltaTime;
-	DWORD dwStreamID;
-	DWORD dwEvent;
-	DWORD dwParms[1];
-} MIDIEVENT;
-typedef struct midistrmbuffver_tag {
-	DWORD dwVersion;
-	DWORD dwMid;
-	DWORD dwOEMVersion;
-} MIDISTRMBUFFVER;
-typedef struct midiproptimediv_tag {
-	DWORD cbStruct;
-	DWORD dwTimeDiv;
-} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
-typedef struct midiproptempo_tag {
-	DWORD cbStruct;
-	DWORD dwTempo;
-} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
-typedef struct tagAUXCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	WORD wTechnology;
-	WORD wReserved1;
-	DWORD dwSupport;
-} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
-typedef struct tagAUXCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	WORD wTechnology;
-	WORD wReserved1;
-	DWORD dwSupport;
-} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
-DECLARE_HANDLE(HMIXEROBJ);
-typedef HMIXEROBJ *LPHMIXEROBJ;
-DECLARE_HANDLE(HMIXER);
-typedef HMIXER *LPHMIXER;
-typedef struct tagMIXERCAPSA {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	CHAR szPname[MAXPNAMELEN];
-	DWORD fdwSupport;
-	DWORD cDestinations;
-} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
-typedef struct tagMIXERCAPSW {
-	WORD wMid;
-	WORD wPid;
-	MMVERSION vDriverVersion;
-	WCHAR szPname[MAXPNAMELEN];
-	DWORD fdwSupport;
-	DWORD cDestinations;
-} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
-typedef struct tagMIXERLINEA {
-	DWORD cbStruct;
-	DWORD dwDestination;
-	DWORD dwSource;
-	DWORD dwLineID;
-	DWORD fdwLine;
-	DWORD dwUser;
-	DWORD dwComponentType;
-	DWORD cChannels;
-	DWORD cConnections;
-	DWORD cControls;
-	CHAR szShortName[MIXER_SHORT_NAME_CHARS];
-	CHAR szName[MIXER_LONG_NAME_CHARS];
-	struct {
-		DWORD dwType;
-		DWORD dwDeviceID;
-		WORD wMid;
-		WORD wPid;
-		MMVERSION vDriverVersion;
-		CHAR szPname[MAXPNAMELEN];
-	} Target;
-} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
-typedef struct tagMIXERLINEW {
-	DWORD cbStruct;
-	DWORD dwDestination;
-	DWORD dwSource;
-	DWORD dwLineID;
-	DWORD fdwLine;
-	DWORD dwUser;
-	DWORD dwComponentType;
-	DWORD cChannels;
-	DWORD cConnections;
-	DWORD cControls;
-	WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
-	WCHAR szName[MIXER_LONG_NAME_CHARS];
-	struct {
-		DWORD dwType;
-		DWORD dwDeviceID;
-		WORD wMid;
-		WORD wPid;
-		MMVERSION vDriverVersion;
-		WCHAR szPname[MAXPNAMELEN];
-	} Target;
-} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
-typedef struct tagMIXERCONTROLA {
-	DWORD cbStruct;
-	DWORD dwControlID;
-	DWORD dwControlType;
-	DWORD fdwControl;
-	DWORD cMultipleItems;
-	CHAR szShortName[MIXER_SHORT_NAME_CHARS];
-	CHAR szName[MIXER_LONG_NAME_CHARS];
-	union {
-		_ANONYMOUS_STRUCT struct {
-			LONG lMinimum;
-			LONG lMaximum;
-		}_STRUCT_NAME(s);
-		_ANONYMOUS_STRUCT struct {
-			DWORD dwMinimum;
-			DWORD dwMaximum;
-		}_STRUCT_NAME(s1);
-		DWORD dwReserved[6];
-	} Bounds;
-	union {
-		DWORD cSteps;
-		DWORD cbCustomData;
-		DWORD dwReserved[6];
-	} Metrics;
-} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
-typedef struct tagMIXERCONTROLW {
-	DWORD cbStruct;
-	DWORD dwControlID;
-	DWORD dwControlType;
-	DWORD fdwControl;
-	DWORD cMultipleItems;
-	WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
-	WCHAR szName[MIXER_LONG_NAME_CHARS];
-	union {
-		_ANONYMOUS_STRUCT struct {
-			LONG lMinimum;
-			LONG lMaximum;
-		}_STRUCT_NAME(s);
-		_ANONYMOUS_STRUCT struct {
-			DWORD dwMinimum;
-			DWORD dwMaximum;
-		}_STRUCT_NAME(s1);
-		DWORD dwReserved[6];
-	} Bounds;
-	union {
-		DWORD cSteps;
-		DWORD cbCustomData;
-		DWORD dwReserved[6];
-	} Metrics;
-} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
-typedef struct tagMIXERLINECONTROLSA {
-	DWORD cbStruct;
-	DWORD dwLineID;
-	_ANONYMOUS_UNION union {
-		DWORD dwControlID;
-		DWORD dwControlType;
-	} DUMMYUNIONNAME;
-	DWORD cControls;
-	DWORD cbmxctrl;
-	LPMIXERCONTROLA pamxctrl;
-} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
-typedef struct tagMIXERLINECONTROLSW {
-	DWORD cbStruct;
-	DWORD dwLineID;
-	_ANONYMOUS_UNION union {
-		DWORD dwControlID;
-		DWORD dwControlType;
-	} DUMMYUNIONNAME;
-	DWORD cControls;
-	DWORD cbmxctrl;
-	LPMIXERCONTROLW pamxctrl;
-} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
-typedef struct tMIXERCONTROLDETAILS {
-	DWORD cbStruct;
-	DWORD dwControlID;
-	DWORD cChannels;
-	_ANONYMOUS_UNION union {
-		HWND hwndOwner;
-		DWORD cMultipleItems;
-	} DUMMYUNIONNAME;
-	DWORD cbDetails;
-	PVOID paDetails;
-} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
-	DWORD dwParam1;
-	DWORD dwParam2;
-	CHAR szName[MIXER_LONG_NAME_CHARS];
-} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
-	DWORD dwParam1;
-	DWORD dwParam2;
-	WCHAR szName[MIXER_LONG_NAME_CHARS];
-} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
-typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
-	LONG fValue;
-} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
-typedef struct tMIXERCONTROLDETAILS_SIGNED {
-	LONG lValue;
-} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
-typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
-	DWORD dwValue;
-} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
-typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
-typedef TIMECALLBACK *LPTIMECALLBACK;
-typedef struct timecaps_tag {
-	UINT wPeriodMin;
-	UINT wPeriodMax;
-} TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
-typedef struct tagJOYCAPSA {
-	WORD wMid;
-	WORD wPid;
-	CHAR szPname[MAXPNAMELEN];
-	UINT wXmin;
-	UINT wXmax;
-	UINT wYmin;
-	UINT wYmax;
-	UINT wZmin;
-	UINT wZmax;
-	UINT wNumButtons;
-	UINT wPeriodMin;
-	UINT wPeriodMax;
-	UINT wRmin;
-	UINT wRmax;
-	UINT wUmin;
-	UINT wUmax;
-	UINT wVmin;
-	UINT wVmax;
-	UINT wCaps;
-	UINT wMaxAxes;
-	UINT wNumAxes;
-	UINT wMaxButtons;
-	CHAR szRegKey[MAXPNAMELEN];
-	CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
-typedef struct tagJOYCAPSW {
-	WORD wMid;
-	WORD wPid;
-	WCHAR szPname[MAXPNAMELEN];
-	UINT wXmin;
-	UINT wXmax;
-	UINT wYmin;
-	UINT wYmax;
-	UINT wZmin;
-	UINT wZmax;
-	UINT wNumButtons;
-	UINT wPeriodMin;
-	UINT wPeriodMax;
-	UINT wRmin;
-	UINT wRmax;
-	UINT wUmin;
-	UINT wUmax;
-	UINT wVmin;
-	UINT wVmax;
-	UINT wCaps;
-	UINT wMaxAxes;
-	UINT wNumAxes;
-	UINT wMaxButtons;
-	WCHAR szRegKey[MAXPNAMELEN];
-	WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
-typedef struct joyinfo_tag {
-	UINT wXpos;
-	UINT wYpos;
-	UINT wZpos;
-	UINT wButtons;
-} JOYINFO,*PJOYINFO,*LPJOYINFO;
-typedef struct joyinfoex_tag {
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwXpos;
-	DWORD dwYpos;
-	DWORD dwZpos;
-	DWORD dwRpos;
-	DWORD dwUpos;
-	DWORD dwVpos;
-	DWORD dwButtons;
-	DWORD dwButtonNumber;
-	DWORD dwPOV;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
-typedef DWORD FOURCC;
-typedef char *HPSTR;
-DECLARE_HANDLE(HMMIO);
-typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
-typedef MMIOPROC *LPMMIOPROC;
-typedef struct _MMIOINFO {
-	DWORD dwFlags;
-	FOURCC fccIOProc;
-	LPMMIOPROC pIOProc;
-	UINT wErrorRet;
-	HTASK htask;
-	LONG cchBuffer;
-	HPSTR pchBuffer;
-	HPSTR pchNext;
-	HPSTR pchEndRead;
-	HPSTR pchEndWrite;
-	LONG lBufOffset;
-	LONG lDiskOffset;
-	DWORD adwInfo[3];
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-	HMMIO hmmio;
-} MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
-typedef const MMIOINFO *LPCMMIOINFO;
-typedef struct _MMCKINFO {
-	FOURCC ckid;
-	DWORD cksize;
-	FOURCC fccType;
-	DWORD dwDataOffset;
-	DWORD dwFlags;
-} MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
-typedef const MMCKINFO *LPCMMCKINFO;
-typedef struct tagMCI_GENERIC_PARMS {
-	DWORD dwCallback;
-} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
-typedef struct tagMCI_OPEN_PARMSA {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCSTR lpstrDeviceType;
-	LPCSTR lpstrElementName;
-	LPCSTR lpstrAlias;
-} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
-typedef struct tagMCI_OPEN_PARMSW {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCWSTR lpstrDeviceType;
-	LPCWSTR lpstrElementName;
-	LPCWSTR lpstrAlias;
-} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
-typedef struct tagMCI_PLAY_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrom;
-	DWORD dwTo;
-} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
-typedef struct tagMCI_SEEK_PARMS {
-	DWORD dwCallback;
-	DWORD dwTo;
-} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
-typedef struct tagMCI_STATUS_PARMS {
-	DWORD dwCallback;
-	DWORD dwReturn;
-	DWORD dwItem;
-	DWORD dwTrack;
-} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
-typedef struct tagMCI_INFO_PARMSA {
-	DWORD dwCallback;
-	LPSTR lpstrReturn;
-	DWORD dwRetSize;
-} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
-typedef struct tagMCI_INFO_PARMSW {
-	DWORD dwCallback;
-	LPWSTR lpstrReturn;
-	DWORD dwRetSize;
-} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
-typedef struct tagMCI_GETDEVCAPS_PARMS {
-	DWORD dwCallback;
-	DWORD dwReturn;
-	DWORD dwItem;
-} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
-typedef struct tagMCI_SYSINFO_PARMSA {
-	DWORD dwCallback;
-	LPSTR lpstrReturn;
-	DWORD dwRetSize;
-	DWORD dwNumber;
-	UINT wDeviceType;
-} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
-typedef struct tagMCI_SYSINFO_PARMSW {
-	DWORD dwCallback;
-	LPWSTR lpstrReturn;
-	DWORD dwRetSize;
-	DWORD dwNumber;
-	UINT wDeviceType;
-} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
-typedef struct tagMCI_SET_PARMS {
-	DWORD dwCallback;
-	DWORD dwTimeFormat;
-	DWORD dwAudio;
-} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
-typedef struct tagMCI_BREAK_PARMS {
-	DWORD dwCallback;
-	int nVirtKey;
-	HWND hwndBreak;
-} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
-typedef struct tagMCI_SAVE_PARMSA {
-	DWORD dwCallback;
-	LPCSTR lpfilename;
-} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
-typedef struct tagMCI_SAVE_PARMSW {
-	DWORD dwCallback;
-	LPCWSTR lpfilename;
-} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
-typedef struct tagMCI_LOAD_PARMSA {
-	DWORD dwCallback;
-	LPCSTR lpfilename;
-} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
-typedef struct tagMCI_LOAD_PARMSW {
-	DWORD dwCallback;
-	LPCWSTR lpfilename;
-} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
-typedef struct tagMCI_RECORD_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrom;
-	DWORD dwTo;
-} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
-typedef struct tagMCI_VD_PLAY_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrom;
-	DWORD dwTo;
-	DWORD dwSpeed;
-} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
-typedef struct tagMCI_VD_STEP_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrames;
-} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
-typedef struct tagMCI_VD_ESCAPE_PARMSA {
-	DWORD dwCallback;
-	LPCSTR lpstrCommand;
-} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
-typedef struct tagMCI_VD_ESCAPE_PARMSW {
-	DWORD dwCallback;
-	LPCWSTR lpstrCommand;
-} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
-typedef struct tagMCI_WAVE_OPEN_PARMSA {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCSTR lpstrDeviceType;
-	LPCSTR lpstrElementName;
-	LPCSTR lpstrAlias;
-	DWORD dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
-typedef struct tagMCI_WAVE_OPEN_PARMSW {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCWSTR lpstrDeviceType;
-	LPCWSTR lpstrElementName;
-	LPCWSTR lpstrAlias;
-	DWORD dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
-typedef struct tagMCI_WAVE_DELETE_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrom;
-	DWORD dwTo;
-} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
-typedef struct tagMCI_WAVE_SET_PARMS {
-	DWORD dwCallback;
-	DWORD dwTimeFormat;
-	DWORD dwAudio;
-	UINT wInput;
-	UINT wOutput;
-	WORD wFormatTag;
-	WORD wReserved2;
-	WORD nChannels;
-	WORD wReserved3;
-	DWORD nSamplesPerSec;
-	DWORD nAvgBytesPerSec;
-	WORD nBlockAlign;
-	WORD wReserved4;
-	WORD wBitsPerSample;
-	WORD wReserved5;
-} MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS;
-
-LRESULT WINAPI CloseDriver(HDRVR,LONG,LONG);
-HDRVR WINAPI OpenDriver(LPCWSTR,LPCWSTR,LONG);
-LRESULT WINAPI SendDriverMessage(HDRVR,UINT,LONG,LONG);
-HMODULE WINAPI DrvGetModuleHandle(HDRVR);
-HMODULE WINAPI GetDriverModuleHandle(HDRVR);
-LRESULT WINAPI DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
-UINT WINAPI mmsystemGetVersion(void);
-#define OutputDebugStr OutputDebugString
-BOOL WINAPI sndPlaySoundA(LPCSTR,UINT);
-BOOL WINAPI sndPlaySoundW(LPCWSTR,UINT);
-BOOL WINAPI PlaySoundA(LPCSTR,HMODULE,DWORD);
-BOOL WINAPI PlaySoundW(LPCWSTR,HMODULE,DWORD);
-UINT WINAPI waveOutGetNumDevs(void);
-MMRESULT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
-MMRESULT WINAPI waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
-MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
-MMRESULT WINAPI waveOutClose(HWAVEOUT);
-MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutPause(HWAVEOUT);
-MMRESULT WINAPI waveOutRestart(HWAVEOUT);
-MMRESULT WINAPI waveOutReset(HWAVEOUT);
-MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT);
-MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
-MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT);
-MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
-UINT WINAPI waveInGetNumDevs(void);
-MMRESULT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
-MMRESULT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
-MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
-MMRESULT WINAPI waveInClose(HWAVEIN);
-MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInStart(HWAVEIN);
-MMRESULT WINAPI waveInStop(HWAVEIN);
-MMRESULT WINAPI waveInReset(HWAVEIN);
-MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
-MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT);
-MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
-UINT WINAPI midiOutGetNumDevs(void);
-MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiStreamClose(HMIDISTRM);
-MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
-MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
-MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiStreamPause(HMIDISTRM);
-MMRESULT WINAPI midiStreamRestart(HMIDISTRM);
-MMRESULT WINAPI midiStreamStop(HMIDISTRM);
-MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID);
-MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID);
-MMRESULT WINAPI midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
-MMRESULT WINAPI midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
-MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD);
-MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD);
-MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiOutClose(HMIDIOUT);
-MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD);
-MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutReset(HMIDIOUT);
-MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
-MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
-MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT);
-MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
-UINT WINAPI midiInGetNumDevs(void);
-MMRESULT WINAPI midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
-MMRESULT WINAPI midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
-MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiInClose(HMIDIIN);
-MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInStart(HMIDIIN);
-MMRESULT WINAPI midiInStop(HMIDIIN);
-MMRESULT WINAPI midiInReset(HMIDIIN);
-MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT);
-MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
-UINT WINAPI auxGetNumDevs(void);
-MMRESULT WINAPI auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
-MMRESULT WINAPI auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
-MMRESULT WINAPI auxSetVolume(UINT,DWORD);
-MMRESULT WINAPI auxGetVolume(UINT,PDWORD);
-MMRESULT WINAPI auxOutMessage(UINT,UINT,DWORD,DWORD);
-UINT WINAPI mixerGetNumDevs(void);
-MMRESULT WINAPI mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
-MMRESULT WINAPI mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
-MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI mixerClose(HMIXER);
-DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD,DWORD);
-MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
-MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
-MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
-MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
-MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
-MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT);
-DWORD WINAPI timeGetTime(void);
-MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
-MMRESULT WINAPI timeKillEvent(UINT);
-MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT);
-MMRESULT WINAPI timeBeginPeriod(UINT);
-MMRESULT WINAPI timeEndPeriod(UINT);
-UINT WINAPI joyGetNumDevs(void);
-MMRESULT WINAPI joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
-MMRESULT WINAPI joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
-MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
-MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
-MMRESULT WINAPI joyGetThreshold(UINT,LPUINT);
-MMRESULT WINAPI joyReleaseCapture(UINT);
-MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
-MMRESULT WINAPI joySetThreshold(UINT,UINT);
-FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT);
-FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT);
-LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
-LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
-HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
-HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioClose(HMMIO,UINT);
-LONG WINAPI mmioRead(HMMIO,HPSTR,LONG);
-LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG);
-LONG WINAPI mmioSeek(HMMIO,LONG,int);
-MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
-MMRESULT WINAPI mmioFlush(HMMIO,UINT);
-MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT);
-LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
-MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT);
-MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT);
-MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
-MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD);
-MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD);
-MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
-MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
-MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
-BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT);
-BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
-BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
-HTASK WINAPI mciGetCreatorTask(MCIDEVICEID);
-YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD);
-
-typedef struct tagMCI_SEQ_SET_PARMS {
-	DWORD dwCallback;
-	DWORD dwTimeFormat;
-	DWORD dwAudio;
-	DWORD dwTempo;
-	DWORD dwPort;
-	DWORD dwSlave;
-	DWORD dwMaster;
-	DWORD dwOffset;
-} MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS;
-typedef struct tagMCI_ANIM_OPEN_PARMSA {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCSTR lpstrDeviceType;
-	LPCSTR lpstrElementName;
-	LPCSTR lpstrAlias;
-	DWORD dwStyle;
-	HWND hWndParent;
-} MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA;
-typedef struct tagMCI_ANIM_OPEN_PARMSW {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCWSTR lpstrDeviceType;
-	LPCWSTR lpstrElementName;
-	LPCWSTR lpstrAlias;
-	DWORD dwStyle;
-	HWND hWndParent;
-} MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW;
-typedef struct tagMCI_ANIM_PLAY_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrom;
-	DWORD dwTo;
-	DWORD dwSpeed;
-} MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS;
-typedef struct tagMCI_ANIM_STEP_PARMS {
-	DWORD dwCallback;
-	DWORD dwFrames;
-} MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS;
-typedef struct tagMCI_ANIM_WINDOW_PARMSA {
-	DWORD dwCallback;
-	HWND hWnd;
-	UINT nCmdShow;
-	LPCSTR lpstrText;
-} MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA;
-typedef struct tagMCI_ANIM_WINDOW_PARMSW {
-	DWORD dwCallback;
-	HWND hWnd;
-	UINT nCmdShow;
-	LPCWSTR lpstrText;
-} MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW;
-typedef struct tagMCI_ANIM_RECT_PARMS {
-	DWORD dwCallback;
-#ifdef MCI_USE_OFFEXT
-	POINT ptOffset;
-	POINT ptExtent;
-#else
-	RECT rc;
-#endif
-} MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS;
-typedef struct tagMCI_ANIM_UPDATE_PARMS {
-	DWORD dwCallback;
-	RECT rc;
-	HDC hDC;
-} MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS;
-typedef struct tagMCI_OVLY_OPEN_PARMSA {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCSTR lpstrDeviceType;
-	LPCSTR lpstrElementName;
-	LPCSTR lpstrAlias;
-	DWORD dwStyle;
-	HWND hWndParent;
-} MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA;
-typedef struct tagMCI_OVLY_OPEN_PARMSW {
-	DWORD dwCallback;
-	MCIDEVICEID wDeviceID;
-	LPCWSTR lpstrDeviceType;
-	LPCWSTR lpstrElementName;
-	LPCWSTR lpstrAlias;
-	DWORD dwStyle;
-	HWND hWndParent;
-} MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW;
-typedef struct tagMCI_OVLY_WINDOW_PARMSA {
-	DWORD dwCallback;
-	HWND hWnd;
-	UINT nCmdShow;
-	LPCSTR lpstrText;
-} MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA;
-typedef struct tagMCI_OVLY_WINDOW_PARMSW {
-	DWORD dwCallback;
-	HWND hWnd;
-	UINT nCmdShow;
-	LPCWSTR lpstrText;
-} MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW;
-typedef struct tagMCI_OVLY_RECT_PARMS {
-	DWORD dwCallback;
-#ifdef MCI_USE_OFFEXT
-	POINT ptOffset;
-	POINT ptExtent;
-#else
-	RECT rc;
-#endif
-} MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS;
-typedef struct tagMCI_OVLY_SAVE_PARMSA {
-	DWORD dwCallback;
-	LPCSTR lpfilename;
-	RECT rc;
-} MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA;
-typedef struct tagMCI_OVLY_SAVE_PARMSW {
-	DWORD dwCallback;
-	LPCWSTR lpfilename;
-	RECT rc;
-} MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW;
-typedef struct tagMCI_OVLY_LOAD_PARMSA {
-	DWORD dwCallback;
-	LPCSTR lpfilename;
-	RECT rc;
-} MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA;
-typedef struct tagMCI_OVLY_LOAD_PARMSW {
-	DWORD dwCallback;
-	LPCWSTR lpfilename;
-	RECT rc;
-} MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW;
-
-#ifdef UNICODE
-typedef WAVEOUTCAPSW WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
-typedef WAVEINCAPSW WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
-typedef MIDIOUTCAPSW MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
-typedef MIDIINCAPSW MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
-typedef AUXCAPSW AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
-typedef MIXERCAPSW MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
-typedef MIXERLINEW MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
-typedef MIXERCONTROLW MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
-typedef MIXERLINECONTROLSW MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
-typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
-typedef JOYCAPSW JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
-typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
-typedef MCI_INFO_PARMSW MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
-typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
-typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
-typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
-typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
-typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
-typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
-typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
-typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
-typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
-typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
-#define sndPlaySound sndPlaySoundW
-#define PlaySound PlaySoundW
-#define waveOutGetDevCaps waveOutGetDevCapsW
-#define waveOutGetErrorText waveOutGetErrorTextW
-#define waveInGetDevCaps waveInGetDevCapsW
-#define waveInGetErrorText waveInGetErrorTextW
-#define midiOutGetDevCaps midiOutGetDevCapsW
-#define midiOutGetErrorText midiOutGetErrorTextW
-#define midiInGetDevCaps midiInGetDevCapsW
-#define midiInGetErrorText midiInGetErrorTextW
-#define auxGetDevCaps auxGetDevCapsW
-#define mixerGetDevCaps mixerGetDevCapsW
-#define mixerGetLineInfo mixerGetLineInfoW
-#define mixerGetLineControls mixerGetLineControlsW
-#define mixerGetControlDetails mixerGetControlDetailsW
-#define joyGetDevCaps joyGetDevCapsW
-#define mmioInstallIOProc mmioInstallIOProcW
-#define mmioStringToFOURCC mmioStringToFOURCCW
-#define mmioOpen mmioOpenW
-#define mmioRename mmioRenameW
-#define mciSendCommand mciSendCommandW
-#define mciSendString mciSendStringW
-#define mciGetDeviceID mciGetDeviceIDW
-#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW
-#define mciGetErrorString mciGetErrorStringW
-#else
-typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
-typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
-typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
-typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
-typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
-typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
-typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
-typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
-typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
-typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
-typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
-typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
-typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
-typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
-typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
-typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
-typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
-typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
-typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
-typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
-typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
-typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
-typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
-#define sndPlaySound sndPlaySoundA
-#define PlaySound PlaySoundA
-#define waveOutGetDevCaps waveOutGetDevCapsA
-#define waveOutGetErrorText waveOutGetErrorTextA
-#define waveInGetDevCaps waveInGetDevCapsA
-#define waveInGetErrorText waveInGetErrorTextA
-#define midiOutGetDevCaps midiOutGetDevCapsA
-#define midiOutGetErrorText midiOutGetErrorTextA
-#define midiInGetDevCaps midiInGetDevCapsA
-#define midiInGetErrorText midiInGetErrorTextA
-#define auxGetDevCaps auxGetDevCapsA
-#define mixerGetDevCaps mixerGetDevCapsA
-#define mixerGetLineInfo mixerGetLineInfoA
-#define mixerGetLineControls mixerGetLineControlsA
-#define mixerGetControlDetails mixerGetControlDetailsA
-#define joyGetDevCaps joyGetDevCapsA
-#define mmioInstallIOProc mmioInstallIOProcA
-#define mmioStringToFOURCC mmioStringToFOURCCA
-#define mmioOpen mmioOpenA
-#define mmioRename mmioRenameA
-#define mciSendCommand mciSendCommandA
-#define mciSendString mciSendStringA
-#define mciGetDeviceID mciGetDeviceIDA
-#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA
-#define mciGetErrorString mciGetErrorStringA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#pragma pack(pop)
-#endif
Index: Daodan/MinGW/include/mpegtype.h
===================================================================
--- Daodan/MinGW/include/mpegtype.h	(revision 1046)
+++ 	(revision )
@@ -1,29 +1,0 @@
-#ifndef _MPEGTYPE_H
-#define _MPEGTYPE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <strmif.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct tagAM_MPEGSTREAMTYPE {
-	DWORD dwStreamID;
-	DWORD dwReserved;
-	AM_MEDIA_TYPE mt;
-	BYTE bFormat[1];
-} AM_MPEGSTREAMTYPE;
-typedef struct tagAM_MPEGSYSTEMTYPE {
-	DWORD dwBitRate;
-	DWORD cStreams;
-	AM_MPEGSTREAMTYPE Streams[1];
-} AM_MPEGSYSTEMTYPE;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mprapi.h
===================================================================
--- Daodan/MinGW/include/mprapi.h	(revision 1046)
+++ 	(revision )
@@ -1,576 +1,0 @@
-/*
- * mprapi.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _MPRAPI_H
-#define _MPRAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <ras.h>
-#include <lmcons.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-/*--- Router Management Reference - Router Management Enumerated Types */
-typedef enum _ROUTER_CONNECTION_STATE {
-	ROUTER_IF_STATE_UNREACHABLE,
-	ROUTER_IF_STATE_DISCONNECTED,
-	ROUTER_IF_STATE_CONNECTING,
-	ROUTER_IF_STATE_CONNECTED
-} ROUTER_CONNECTION_STATE;
-typedef enum _ROUTER_INTERFACE_TYPE {
-	ROUTER_IF_TYPE_CLIENT,
-	ROUTER_IF_TYPE_HOME_ROUTER,
-	ROUTER_IF_TYPE_FULL_ROUTER,
-	ROUTER_IF_TYPE_DEDICATED,
-	ROUTER_IF_TYPE_INTERNAL,
-	ROUTER_IF_TYPE_LOOPBACK,
-	ROUTER_IF_TYPE_TUNNEL1,
-	ROUTER_IF_TYPE_DIALOUT
-} ROUTER_INTERFACE_TYPE;
-#define MPR_INTERFACE_ADMIN_DISABLED 0x00000002
-#define MPR_INTERFACE_CONNECTION_FAILURE 0x00000004
-#define MPR_INTERFACE_DIALOUT_HOURS_RESTRICTION 0x00000010
-#define MPR_INTERFACE_OUT_OF_RESOURCES 0x00000001
-#define MPR_INTERFACE_SERVICE_PAUSED 0x00000008
-#define MPR_INTERFACE_NO_MEDIA_SENSE 0x00000020
-#define MPR_INTERFACE_NO_DEVICE 0x00000040
-/*--- Router Management MIB Reference - Transport and Protocol Constants */
-#define PID_ATALK 0x00000029
-#define PID_IP 0x00000021
-#define PID_IPX 0x0000002B
-#define PID_NBF 0x0000003F
-/*--- Remote Access Service Administration Reference - RAS Administration Enumerated Types */
-typedef enum _RAS_HARDWARE_CONDITION {
-	RAS_HARDWARE_OPERATIONAL,
-	RAS_HARDWARE_FAILURE
-} RAS_HARDWARE_CONDITION;
-typedef enum _RAS_PORT_CONDITION {
-	RAS_PORT_NON_OPERATIONAL,
-	RAS_PORT_DISCONNECTED,
-	RAS_PORT_CALLING_BACK,
-	RAS_PORT_LISTENING,
-	RAS_PORT_AUTHENTICATING,
-	RAS_PORT_AUTHENTICATED,
-	RAS_PORT_INITIALIZING
-} RAS_PORT_CONDITION;
-/*--- Remote Access Service Administration Reference - RAS Administration Structures */
-#define ATADDRESSLEN 32
-typedef struct _PPP_ATCP_INFO {
-	DWORD dwError;
-	WCHAR wszAddress[ATADDRESSLEN+1];
-} PPP_ATCP_INFO;
-typedef struct _PPP_CCP_INFO {
-	DWORD dwError;
-	DWORD dwCompressionAlgorithm;
-	DWORD dwOptions;
-	DWORD dwRemoteCompressionAlgorithm;
-	DWORD dwRemoteOptions;
-} PPP_CCP_INFO;
-#define RASCCPCA_STAC 0x00000005
-#define RASCCPCA_MPPC 0x00000006
-#define PPP_CCP_COMPRESSION 0x00000001
-#define PPP_CCP_ENCRYPTION40BITOLD 0x00000010
-#define PPP_CCP_ENCRYPTION40BIT 0x00000020
-#define PPP_CCP_ENCRYPTION128BIT 0x00000040
-#define PPP_CCP_ENCRYPTION56BIT 0x00000080
-#define PPP_CCP_HISTORYLESS 0x01000000
-#define IPADDRESSLEN 15
-typedef struct _PPP_IPCP_INFO {
-	DWORD dwError;
-	WCHAR wszAddress[IPADDRESSLEN+1];
-	WCHAR wszRemoteAddress[IPADDRESSLEN+1];
-} PPP_IPCP_INFO;
-typedef struct _PPP_IPCP_INFO2 {
-	DWORD dwError;
-	WCHAR wszAddress[IPADDRESSLEN+1];
-	WCHAR wszRemoteAddress[IPADDRESSLEN+1];
-	DWORD dwOptions;
-	DWORD dwRemoteOptons;
-} PPP_IPCP_INFO2;
-#define IPXADDRESSLEN 22
-typedef struct _PPP_IPXCP_INFO {
-	DWORD dwError;
-	WCHAR wszAddress[IPXADDRESSLEN+1];
-} PPP_IPXCP_INFO;
-typedef struct _PPP_LCP_INFO {
-	DWORD dwError;
-	DWORD dwAuthenticationProtocol;
-	DWORD dwAuthenticationData;
-	DWORD dwRemoteAuthenticationProtocol;
-	DWORD dwRemoteAuthenticationData;
-	DWORD dwTerminateReason;
-	DWORD dwRemoteTerminateReason;
-	DWORD dwOptions;
-	DWORD dwRemoteOptions;
-	DWORD dwEapTypeId;
-	DWORD dwRemoteEapTypeId;
-} PPP_LCP_INFO;
-#define PPP_LCP_PAP 0x0000C023
-#define PPP_LCP_SPAP 0x0000C027
-#define PPP_LCP_CHAP 0x0000C223
-#define PPP_LCP_EAP 0x0000C227
-#define PPP_LCP_CHAP_MD5 0x00000005
-#define PPP_LCP_CHAP_MS 0x00000080
-#define PPP_LCP_CHAP_MSV2 0x00000081
-#define PPP_LCP_MULTILINK_FRAMING 0x00000001
-typedef struct _PPP_NBFCP_INFO {
-	DWORD dwError;
-	WCHAR wszWksta[NETBIOS_NAME_LEN+1];
-} PPP_NBFCP_INFO;
-typedef struct _PPP_INFO {
-	PPP_NBFCP_INFO nbf;
-	PPP_IPCP_INFO ip;
-	PPP_IPXCP_INFO ipx;
-	PPP_ATCP_INFO at;
-} PPP_INFO;
-typedef struct _PPP_INFO_2 {
-	PPP_NBFCP_INFO nbf;
-	PPP_IPCP_INFO2 ip;
-	PPP_IPXCP_INFO ipx;
-	PPP_ATCP_INFO at;
-	PPP_CCP_INFO ccp;
-	PPP_LCP_INFO lcp;
-} PPP_INFO_2;
-#define MAX_INTERFACE_NAME_LEN 256
-typedef struct _RAS_CONNECTION_0 {
-	HANDLE hConnection;
-	HANDLE hInterface;
-	DWORD dwConnectDuration;
-	ROUTER_INTERFACE_TYPE dwInterfaceType;
-	DWORD dwConnectionFlags;
-	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
-	WCHAR wszUserName[UNLEN+1];
-	WCHAR wszLogonDomain[DNLEN+1];
-	WCHAR wszRemoteComputer[NETBIOS_NAME_LEN+1];
-} RAS_CONNECTION_0,*PRAS_CONNECTION_0;
-#define RAS_FLAGS_PPP_CONNECTION 0x00000001
-#define RAS_FLAGS_MESSENGER_PRESENT 0x00000002
-#define RAS_FLAGS_RAS_CONNECTION 0x00000004
-#define RAS_FLAGS_QUARANTINE_PRESENT 0x00000008
-typedef struct RAS_CONNECTION_1 {
-	HANDLE hConnection;
-	HANDLE hInterface;
-	PPP_INFO PppInfo;
-	DWORD dwBytesXmited;
-	DWORD dwBytesRcved;
-	DWORD dwFramesXmited;
-	DWORD dwFramesRcved;
-	DWORD dwCrcErr;
-	DWORD dwTimeoutErr;
-	DWORD dwAlignmentErr;
-	DWORD dwHardwareOverrunErr;
-	DWORD dwFramingErr;
-	DWORD dwBufferOverrunErr;
-	DWORD dwCompressionRatioIn;
-	DWORD dwCompressionRatioOut;
-} RAS_CONNECTION_1,*PRAS_CONNECTION_1;
-typedef struct _RAS_CONNECTION_2 {
-	HANDLE hConnection;
-	WCHAR wszUserName[UNLEN+1];
-	ROUTER_INTERFACE_TYPE dwInterfaceType;
-	GUID guid;
-	PPP_INFO_2 PppInfo2;
-} RAS_CONNECTION_2,*PRAS_CONNECTION_2;
-#define MAX_PORT_NAME 16
-#define MAX_MEDIA_NAME 16
-#define MAX_DEVICE_NAME 128
-#define MAX_DEVICETYPE_NAME 16
-typedef struct _RAS_PORT_0 {
-	HANDLE hPort;
-	HANDLE hConnection;
-	RAS_PORT_CONDITION dwPortCondition;
-	DWORD dwTotalNumberOfCalls;
-	DWORD dwConnectDuration;
-	WCHAR wszPortName[MAX_PORT_NAME+1];
-	WCHAR wszMediaName[MAX_MEDIA_NAME+1];
-	WCHAR wszDeviceName[MAX_DEVICE_NAME+1];
-	WCHAR wszDeviceType[MAX_DEVICETYPE_NAME+1];
-} RAS_PORT_0,*PRAS_PORT_0;
-typedef struct _RAS_PORT_1 {
-	HANDLE hPort;
-	HANDLE hConnection;
-	RAS_HARDWARE_CONDITION dwHardwareCondition;
-	DWORD dwLineSpeed;
-	DWORD dwBytesXmited;
-	DWORD dwBytesRcved;
-	DWORD dwFramesXmited;
-	DWORD dwFramesRcved;
-	DWORD dwCrcErr;
-	DWORD dwTimeoutErr;
-	DWORD dwAlignmentErr;
-	DWORD dwHardwareOverrunErr;
-	DWORD dwFramingErr;
-	DWORD dwBufferOverrunErr;
-	DWORD dwCompressionRatioIn;
-	DWORD dwCompressionRatioOut;
-} RAS_PORT_1,*PRAS_PORT_1;
-#define MAX_PHONE_NUMBER_LEN 128
-typedef struct _RAS_USER_0 {
-	BYTE bfPrivilege;
-	WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
-} RAS_USER_0,*PRAS_USER_0;
-#define RASPRIV_NoCallback 0x01
-#define RASPRIV_AdminSetCallback 0x02
-#define RASPRIV_CallerSetCallback 0x04
-#define RASPRIV_DialinPrivilege 0x08
-#define RASPRIV_CallbackType 0x07
-typedef struct _RAS_USER_1 {
-	BYTE bfPrivilege;
-	WCHAR wszPhoneNumber[MAX_PHONE_NUMBER_LEN+1];
-	BYTE bfPrivilege2;
-} RAS_USER_1,*PRAS_USER_1;
-#define RASPRIV2_DialinPolicy 0x01
-/*--- Router Management Reference - Router Management Structures */
-typedef struct _MPR_CREDENTIALSEX_0 {
-	DWORD  dwSize;
-	LPBYTE lpbCredentialsInfo;
-} MPR_CREDENTIALSEX_0,*PMPR_CREDENTIALSEX_0;
-#if (_WIN32_WINNT >= 0x0502)
-typedef struct _MPR_CREDENTIALSEX_1 {
-	DWORD  dwSize;
-	LPBYTE lpbCredentialsInfo;
-} MPR_CREDENTIALSEX_1,*PMPR_CREDENTIALSEX_1;
-#endif
-#define MPR_MaxDeviceType RAS_MaxDeviceType
-#define MPR_MaxDeviceName RAS_MaxDeviceName
-#define MPR_MaxPadType RAS_MaxPadType
-#define MPR_MaxX25Address RAS_MaxX25Address
-#define MPR_MaxFacilities RAS_MaxFacilities
-#define MPR_MaxUserData RAS_MaxUserData
-#define MPR_MaxPhoneNumber RAS_MaxPhoneNumber
-typedef struct _MPR_DEVICE_0 {
-	WCHAR szDeviceType[MPR_MaxDeviceType+1];
-	WCHAR szDeviceName[MPR_MaxDeviceName+1];
-} MPR_DEVICE_0,*PMPR_DEVICE_0;
-typedef struct _MPR_DEVICE_1 {
-	WCHAR szDeviceType[MPR_MaxDeviceType+1];
-	WCHAR szDeviceName[MPR_MaxDeviceName+1];
-	WCHAR szLocalPhoneNumber[MPR_MaxPhoneNumber+1];
-	PWCHAR szAlternates;
-} MPR_DEVICE_1,*PMPR_DEVICE_1;
-#define MAX_TRANSPORT_NAME_LEN 40
-typedef struct _MPR_IFTRANSPORT_0 {
-	DWORD dwTransportId;
-	HANDLE hIfTransport;
-	WCHAR wszIfTransportName[MAX_TRANSPORT_NAME_LEN+1];
-} MPR_IFTRANSPORT_0,*PMPR_IFTRANSPORT_0;
-typedef struct _MPR_INTERFACE_0 {
-	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
-	HANDLE hInterface;
-	BOOL fEnabled;
-	ROUTER_INTERFACE_TYPE dwIfType;
-	ROUTER_CONNECTION_STATE dwConnectionState;
-	DWORD fUnReachabilityReasons;
-	DWORD dwLastError;
-} MPR_INTERFACE_0,*PMPR_INTERFACE_0;
-typedef struct _MPR_INTERFACE_1 {
-	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
-	HANDLE hInterface;
-	BOOL fEnabled;
-	ROUTER_INTERFACE_TYPE IfType;
-	ROUTER_CONNECTION_STATE dwConnectionState;
-	DWORD fUnReachabilityReasons;
-	DWORD dwLastError;
-	LPWSTR lpwsDialoutHoursRestriction;
-} MPR_INTERFACE_1,*PMPR_INTERFACE_1;
-typedef struct _MPR_INTERFACE_2 {
-	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
-	HANDLE hInterface;
-	BOOL fEnabled;
-	ROUTER_INTERFACE_TYPE dwIfType;
-	ROUTER_CONNECTION_STATE dwConnectionState;
-	DWORD fUnReachabilityReasons;
-	DWORD dwLastError;
-	DWORD dwfOptions;
-	WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber+1];
-	PWCHAR szAlternates;
-	DWORD ipaddr;
-	DWORD ipaddrDns;
-	DWORD ipaddrDnsAlt;
-	DWORD ipaddrWins;
-	DWORD ipaddrWinsAlt;
-	DWORD dwfNetProtocols;
-	WCHAR szDeviceType[MPR_MaxDeviceType+1];
-	WCHAR szDeviceName[MPR_MaxDeviceName+1];
-	WCHAR szX25PadType[MPR_MaxPadType+1];
-	WCHAR szX25Address[MPR_MaxX25Address+1];
-	WCHAR szX25Facilities[MPR_MaxFacilities+1];
-	WCHAR szX25UserData[MPR_MaxUserData+1];
-	DWORD dwChannels;
-	DWORD dwSubEntries;
-	DWORD dwDialMode;
-	DWORD dwDialExtraPercent;
-	DWORD dwDialExtraSampleSeconds;
-	DWORD dwHangUpExtraPercent;
-	DWORD dwHangUpExtraSampleSeconds;
-	DWORD dwIdleDisconnectSeconds;
-	DWORD dwType;
-	DWORD dwEncryptionType;
-	DWORD dwCustomAuthKey;
-	DWORD dwCustomAuthDataSize;
-	LPBYTE lpbCustomAuthData;
-	GUID guidId;
-	DWORD dwVpnStrategy;
-} MPR_INTERFACE_2,*PMPR_INTERFACE_2;
-#define MPRIO_SpecificIpAddr RASEO_SpecificIpAddr
-#define MPRIO_SpecificNameServers RASEO_SpecificNameServers
-#define MPRIO_IpHeaderCompression RASEO_IpHeaderCompression
-#define MPRIO_RemoteDefaultGateway RASEO_RemoteDefaultGateway
-#define MPRIO_DisableLcpExtensions RASEO_DisableLcpExtensions
-#define MPRIO_SwCompression RASEO_SwCompression
-#define MPRIO_RequireEncryptedPw RASEO_RequireEncryptedPw
-#define MPRIO_RequireMsEncryptedPw RASEO_RequireMsEncryptedPw
-#define MPRIO_RequireDataEncryption RASEO_RequireDataEncryption
-#define MPRIO_NetworkLogon RASEO_NetworkLogon
-#define MPRIO_UseLogonCredentials RASEO_UseLogonCredentials
-#define MPRIO_PromoteAlternates RASEO_PromoteAlternates
-#define MPRIO_SecureLocalFiles RASEO_SecureLocalFiles
-#define MPRIO_RequireEAP RASEO_RequireEAP
-#define MPRIO_RequirePAP RASEO_RequirePAP
-#define MPRIO_RequireSPAP RASEO_RequireSPAP
-#define MPRIO_SharedPhoneNumbers RASEO_SharedPhoneNumbers
-#define MPRIO_RequireCHAP RASEO_RequireCHAP
-#define MPRIO_RequireMsCHAP RASEO_RequireMsCHAP
-#define MPRIO_RequireMsCHAP2 RASEO_RequireMsCHAP2
-#define MPRNP_Ipx RASNP_Ipx
-#define MPRNP_Ip RASNP_Ip
-#define MPRDT_Modem RASDT_Modem
-#define MPRDT_Isdn RASDT_Isdn
-#define MPRDT_X25 RASDT_X25
-#define MPRDT_Vpn RASDT_Vpn
-#define MPRDT_Pad RASDT_Pad
-#define MPRDT_Generic RASDT_Generic
-#define MPRDT_Serial RASDT_Serial
-#define MPRDT_FrameRelay RASDT_FrameRelay
-#define MPRDT_Atm RASDT_Atm
-#define MPRDT_Sonet RASDT_Sonet
-#define MPRDT_SW56 RASDT_SW56
-#define MPRDT_Irda RASDT_Irda
-#define MPRDT_Parallel RASDT_Parallel
-#define MPRDM_DialAll RASEDM_DialAll
-#define MPRDM_DialAsNeeded RASEDM_DialAsNeeded
-#define MPRIDS_Disabled RASIDS_Disabled
-#define MPRIDS_UseGlobalValue RASIDS_UseGlobalValue
-#define MPRET_Phone RASET_Phone
-#define MPRET_Vpn RASET_Vpn
-#define MPRET_Direct RASET_Direct
-#define MPR_ET_None ET_None
-#define MPR_ET_Require ET_Require
-#define MPR_ET_RequireMax ET_RequireMax
-#define MPR_ET_Optional ET_Optional
-#define MPR_VS_Default VS_Default
-#define MPR_VS_PptpOnly VS_PptpOnly
-#define MPR_VS_PptpFirst VS_PptpFirst
-#define MPR_VS_L2tpOnly VS_L2tpOnly
-#define MPR_VS_L2tpFirst VS_L2tpFirst
-#if (_WIN32_WINNT>=0x0600)
-typedef struct _MPR_INTERFACE_3 {
-	WCHAR wszInterfaceName[MAX_INTERFACE_NAME_LEN+1];
-	HANDLE hInterface;
-	BOOL fEnabled;
-	ROUTER_INTERFACE_TYPE dwIfType;
-	ROUTER_CONNECTION_STATE dwConnectionState;
-	DWORD fUnReachabilityReasons;
-	DWORD dwLastError;
-	DWORD dwfOptions;
-	WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber+1];
-	PWCHAR szAlternates;
-	DWORD ipaddr;
-	DWORD ipaddrDns;
-	DWORD ipaddrDnsAlt;
-	DWORD ipaddrWins;
-	DWORD ipaddrWinsAlt;
-	DWORD dwfNetProtocols;
-	WCHAR szDeviceType[MPR_MaxDeviceType+1];
-	WCHAR szDeviceName[MPR_MaxDeviceName+1];
-	WCHAR szX25PadType[MPR_MaxPadType+1];
-	WCHAR szX25Address[MPR_MaxX25Address+1];
-	WCHAR szX25Facilities[MPR_MaxFacilities+1];
-	WCHAR szX25UserData[MPR_MaxUserData+1];
-	DWORD dwChannels;
-	DWORD dwSubEntries;
-	DWORD dwDialMode;
-	DWORD dwDialExtraPercent;
-	DWORD dwDialExtraSampleSeconds;
-	DWORD dwHangUpExtraPercent;
-	DWORD dwHangUpExtraSampleSeconds;
-	DWORD dwIdleDisconnectSeconds;
-	DWORD dwType;
-	DWORD dwEncryptionType;
-	DWORD dwCustomAuthKey;
-	DWORD dwCustomAuthDataSize;
-	LPBYTE lpbCustomAuthData;
-	GUID guidId;
-	DWORD dwVpnStrategy;
-	ULONG AddressCount;
-	IN6_ADDR ipv6addrDns;
-	IN6_ADDR ipv6addrDnsAlt;
-	IN6_ADDR* ipv6addr;
-} MPR_INTERFACE_3,*PMPR_INTERFACE_3;
-#endif
-typedef struct _MPR_SERVER_0 {
-	BOOL fLanOnlyMode;
-	DWORD dwUpTime;
-	DWORD dwTotalPorts;
-	DWORD dwPortsInUse;
-} MPR_SERVER_0,*PMPR_SERVER_0;
-#if (_WIN32_WINNT >= 0x0502)
-typedef struct _MPR_SERVER_1 {
-	DWORD dwNumPptpPorts;
-	DWORD dwPptpPortFlags;
-	DWORD dwNumL2tpPorts;
-	DWORD dwL2tpPortFlags;
-} MPR_SERVER_1,*PMPR_SERVER_1;
-#define MPR_ENABLE_RAS_ON_DEVICE 0x00000001
-#define MPR_ENABLE_ROUTING_ON_DEVICE 0x00000002
-#endif
-typedef struct _MPR_TRANSPORT_0 {
-	DWORD dwTransportId;
-	HANDLE hTransport;
-	WCHAR wszTransportName[MAX_TRANSPORT_NAME_LEN+1];
-} MPR_TRANSPORT_0,*PMPR_TRANSPORT_0;
-typedef HANDLE RAS_SERVER_HANDLE;
-typedef HANDLE MPR_SERVER_HANDLE;
-/*--- Remote Access Service Administration Reference - RAS Administration Functions */
-DWORD WINAPI MprAdminConnectionClearStats(RAS_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminConnectionEnum(RAS_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprAdminConnectionGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*);
-DWORD WINAPI MprAdminConnectionRemoveQuarantine(HANDLE,HANDLE,BOOL);
-DWORD WINAPI MprAdminPortClearStats(RAS_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminPortDisconnect(RAS_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminPortEnum(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprAdminPortGetInfo(RAS_SERVER_HANDLE,DWORD,HANDLE,LPBYTE);
-DWORD WINAPI MprAdminPortReset(RAS_SERVER_HANDLE,HANDLE);
-/*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS Admin DLL Functions */
-BOOL WINAPI MprAdminAcceptNewConnection(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
-BOOL WINAPI MprAdminAcceptNewConnection2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
-BOOL WINAPI MprAdminAcceptNewLink(RAS_PORT_0*,RAS_PORT_1*);
-#if (_WIN32_WINNT >= 0x0600)
-BOOL WINAPI MprAdminAcceptReauthentication(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*,RAS_CONNECTION_3*);
-#endif
-void WINAPI MprAdminConnectionHangupNotification(RAS_CONNECTION_0*,RAS_CONNECTION_1*);
-void WINAPI MprAdminConnectionHangupNotification2(RAS_CONNECTION_0*,RAS_CONNECTION_1*,RAS_CONNECTION_2*);
-DWORD WINAPI MprAdminGetIpAddressForUser(WCHAR*,WCHAR*,DWORD*,BOOL*);
-#if (_WIN32_WINNT >= 0x0502)
-DWORD WINAPI MprAdminInitializeDll(void);
-DWORD WINAPI MprAdminTerminateDll(void);
-#endif
-void WINAPI MprAdminLinkHangupNotification(RAS_PORT_0*,RAS_PORT_1*);
-void WINAPI MprAdminReleaseIpAddress(WCHAR*,WCHAR*,DWORD*);
-/*--- Remote Access Service Administration Reference - RAS Administration Functions - RAS User Administration Functions */
-DWORD WINAPI MprAdminGetPDCServer(const WCHAR*,const WCHAR*,LPWSTR);
-DWORD WINAPI MprAdminSendUserMessage(MPR_SERVER_HANDLE,HANDLE,LPWSTR);
-DWORD WINAPI MprAdminUserGetInfo(const WCHAR*,const WCHAR*,DWORD,LPBYTE);
-DWORD WINAPI MprAdminUserSetInfo(const WCHAR*,const WCHAR*,DWORD,const LPBYTE);
-/*--- Router Management Reference - Router Administration Functions */
-DWORD WINAPI MprAdminBufferFree(LPVOID);
-DWORD WINAPI MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminEstablishDomainRasServer(PWCHAR,PWCHAR,BOOL);
-DWORD WINAPI MprAdminGetErrorString(DWORD,LPWSTR*);
-DWORD WINAPI MprAdminInterfaceConnect(MPR_SERVER_HANDLE,HANDLE,HANDLE,BOOL);
-DWORD WINAPI MprAdminInterfaceCreate(MPR_SERVER_HANDLE,DWORD,LPBYTE,HANDLE*);
-DWORD WINAPI MprAdminInterfaceDelete(MPR_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE*);
-DWORD WINAPI MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,DWORD,LPBYTE);
-DWORD WINAPI MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminInterfaceEnum(MPR_SERVER_HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprAdminInterfaceGetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
-DWORD WINAPI MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE,LPWSTR,HANDLE*,BOOL);
-DWORD WINAPI MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
-DWORD WINAPI MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE,HANDLE,DWORD,LPDWORD);
-DWORD WINAPI MprAdminInterfaceSetCredentials(LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR);
-DWORD WINAPI MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
-DWORD WINAPI MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
-DWORD WINAPI MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE,HANDLE,DWORD);
-DWORD WINAPI MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE,DWORD);
-DWORD WINAPI MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE,HANDLE,DWORD,HANDLE);
-DWORD WINAPI MprAdminIsDomainRasServer(PWCHAR,PWCHAR,PBOOL);
-BOOL WINAPI MprAdminIsServiceRunning(LPWSTR);
-DWORD WINAPI MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE,HANDLE);
-DWORD WINAPI MprAdminServerConnect(LPWSTR,MPR_SERVER_HANDLE*);
-void WINAPI MprAdminServerDisconnect(MPR_SERVER_HANDLE);
-DWORD WINAPI MprAdminServerGetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
-DWORD WINAPI MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE,HANDLE,DWORD,LPBYTE*);
-DWORD WINAPI MprAdminServerGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*);
-DWORD WINAPI MprAdminServerSetCredentials(MPR_SERVER_HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprAdminServerSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprAdminTransportCreate(MPR_SERVER_HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
-DWORD WINAPI MprAdminTransportGetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD);
-DWORD WINAPI MprAdminTransportSetInfo(MPR_SERVER_HANDLE,DWORD,LPBYTE,DWORD,LPBYTE,DWORD);
-/*--- Router Management Reference - Router Configuration Functions */
-DWORD WINAPI MprConfigBufferFree(LPVOID);
-DWORD WINAPI MprConfigGetFriendlyName(HANDLE,PWCHAR,PWCHAR,DWORD);
-DWORD WINAPI MprConfigGetGuidName(HANDLE,PWCHAR,PWCHAR,DWORD);
-DWORD WINAPI MprConfigInterfaceCreate(HANDLE,DWORD,LPBYTE,HANDLE*);
-DWORD WINAPI MprConfigInterfaceDelete(HANDLE,HANDLE);
-DWORD WINAPI MprConfigInterfaceEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprConfigInterfaceGetHandle(HANDLE,LPWSTR,HANDLE*);
-DWORD WINAPI MprConfigInterfaceGetInfo(HANDLE,HANDLE,DWORD,LPBYTE*,LPDWORD);
-DWORD WINAPI MprConfigInterfaceSetInfo(HANDLE,HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprConfigInterfaceTransportAdd(HANDLE,HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,HANDLE*);
-DWORD WINAPI MprConfigInterfaceTransportEnum(HANDLE,HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprConfigInterfaceTransportGetHandle(HANDLE,HANDLE,DWORD,HANDLE*);
-DWORD WINAPI MprConfigInterfaceTransportGetInfo(HANDLE,HANDLE,HANDLE,LPBYTE*,LPDWORD);
-DWORD WINAPI MprConfigInterfaceTransportRemove(HANDLE,HANDLE,HANDLE);
-DWORD WINAPI MprConfigInterfaceTransportSetInfo(HANDLE,HANDLE,HANDLE,LPBYTE,DWORD);
-DWORD WINAPI MprConfigServerBackup(HANDLE,LPWSTR);
-DWORD WINAPI MprConfigServerConnect(LPWSTR,HANDLE*);
-void WINAPI MprConfigServerDisconnect(HANDLE);
-DWORD WINAPI MprConfigServerGetInfo(HANDLE,DWORD,LPBYTE*);
-DWORD WINAPI MprConfigServerInstall(DWORD,PVOID);
-DWORD WINAPI MprConfigServerRestore(HANDLE,LPWSTR);
-DWORD WINAPI MprConfigServerSetInfo(HANDLE,DWORD,LPBYTE);
-DWORD WINAPI MprConfigTransportCreate(HANDLE,DWORD,LPWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR,HANDLE);
-DWORD WINAPI MprConfigTransportDelete(HANDLE,HANDLE);
-DWORD WINAPI MprConfigTransportEnum(HANDLE,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,LPDWORD);
-DWORD WINAPI MprConfigTransportGetHandle(HANDLE,DWORD,HANDLE*);
-DWORD WINAPI MprConfigTransportGetInfo(HANDLE,HANDLE,LPBYTE*,LPDWORD,LPBYTE*,LPDWORD,LPWSTR*);
-DWORD WINAPI MprConfigTransportSetInfo(HANDLE,HANDLE,LPBYTE,DWORD,LPBYTE,DWORD,LPWSTR);
-/*--- Router Management Reference - Information Header Functions */
-DWORD WINAPI MprInfoBlockAdd(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
-DWORD WINAPI MprInfoBlockFind(LPVOID,DWORD,LPDWORD,LPDWORD,LPBYTE*);
-DWORD WINAPI MprInfoBlockQuerySize(LPVOID);
-DWORD WINAPI MprInfoBlockRemove(LPVOID,DWORD,LPVOID*);
-DWORD WINAPI MprInfoBlockSet(LPVOID,DWORD,DWORD,DWORD,LPBYTE,LPVOID*);
-DWORD WINAPI MprInfoCreate(DWORD,LPVOID*);
-DWORD WINAPI MprInfoDelete(LPVOID);
-DWORD WINAPI MprInfoDuplicate(LPVOID,LPVOID*);
-DWORD WINAPI MprInfoRemoveAll(LPVOID,LPVOID*);
-/*--- Router Management MIB Reference - Router Management MIB Functions */
-typedef HANDLE MIB_SERVER_HANDLE;
-DWORD WINAPI MprAdminMIBBufferFree(LPVOID);
-DWORD WINAPI MprAdminMIBEntryCreate(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
-DWORD WINAPI MprAdminMIBEntryDelete(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
-DWORD WINAPI MprAdminMIBEntryGet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
-DWORD WINAPI MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
-DWORD WINAPI MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
-DWORD WINAPI MprAdminMIBEntrySet(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD);
-DWORD WINAPI MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE,DWORD,DWORD,LPVOID,DWORD,LPVOID*,LPDWORD);
-DWORD WINAPI MprAdminMIBServerConnect(LPWSTR,MIB_SERVER_HANDLE*);
-void WINAPI MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE);
-DWORD WINAPI MprAdminMIBSetTrapInfo(DWORD,DWORD,HANDLE,LPVOID,DWORD,LPVOID*,LPDWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/mq.h
===================================================================
--- Daodan/MinGW/include/mq.h	(revision 1046)
+++ 	(revision )
@@ -1,534 +1,0 @@
-#ifndef _MQ_H
-#define _MQ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PROPID_Q_INSTANCE 101
-#define PROPID_Q_TYPE 102
-#define PROPID_Q_PATHNAME 103
-#define PROPID_Q_JOURNAL 104
-#define PROPID_Q_QUOTA 105
-#define PROPID_Q_BASEPRIORITY 106
-#define PROPID_Q_JOURNAL_QUOTA 107
-#define PROPID_Q_LABEL 108
-#define PROPID_Q_CREATE_TIME 109
-#define PROPID_Q_MODIFY_TIME 110
-#define PROPID_Q_AUTHENTICATE 111
-#define PROPID_Q_PRIV_LEVEL 112
-#define PROPID_Q_TRANSACTION 113
-#define PROPID_Q_PATHNAME_DNS 124
-#define PROPID_Q_MULTICAST_ADDRESS 125
-#define PROPID_Q_ADS_PATH 126
-#define MQ_TRANSACTIONAL_NONE 0
-#define MQ_TRANSACTIONAL 1
-#define MQ_AUTHENTICATE_NONE 0
-#define MQ_AUTHENTICATE 1
-#define MQ_PRIV_LEVEL_NONE 0
-#define MQ_PRIV_LEVEL_OPTIONAL 1
-#define MQ_PRIV_LEVEL_BODY 2
-/*#define PROPID_M_ABORT_COUNT*/
-#define PROPID_M_CLASS 1
-#define PROPID_M_MSGID 2
-#define PROPID_M_CORRELATIONID 3
-#define PROPID_M_PRIORITY 4
-#define PROPID_M_DELIVERY 5
-#define PROPID_M_ACKNOWLEDGE 6
-#define PROPID_M_JOURNAL 7
-#define PROPID_M_APPSPECIFIC 8
-#define PROPID_M_BODY 9
-#define PROPID_M_BODY_SIZE 10
-#define PROPID_M_LABEL 11
-#define PROPID_M_LABEL_LEN 12
-#define PROPID_M_TIME_TO_REACH_QUEUE 13
-#define PROPID_M_TIME_TO_BE_RECEIVED 14
-#define PROPID_M_RESP_QUEUE 15
-#define PROPID_M_RESP_QUEUE_LEN 16
-#define PROPID_M_ADMIN_QUEUE 17
-#define PROPID_M_ADMIN_QUEUE_LEN 18
-#define PROPID_M_VERSION 19
-#define PROPID_M_SENDERID 20
-#define PROPID_M_SENDERID_LEN 21
-#define PROPID_M_SENDERID_TYPE 22
-#define PROPID_M_PRIV_LEVEL 23
-#define PROPID_M_AUTH_LEVEL 24
-#define PROPID_M_AUTHENTICATED 25
-#define PROPID_M_HASH_ALG 26
-#define PROPID_M_ENCRYPTION_ALG 27
-#define PROPID_M_SENDER_CERT 28
-#define PROPID_M_SENDER_CERT_LEN 29
-#define PROPID_M_SRC_MACHINE_ID 30
-#define PROPID_M_SENTTIME 31
-#define PROPID_M_ARRIVEDTIME 32
-#define PROPID_M_DEST_QUEUE 33
-#define PROPID_M_DEST_QUEUE_LEN 34
-#define PROPID_M_EXTENSION 35
-#define PROPID_M_EXTENSION_LEN 36
-#define PROPID_M_SECURITY_CONTEXT 37
-#define PROPID_M_CONNECTOR_TYPE 38
-#define PROPID_M_XACT_STATUS_QUEUE 39
-#define PROPID_M_XACT_STATUS_QUEUE_LEN 40
-#define PROPID_M_TRACE 41
-#define PROPID_M_BODY_TYPE 42
-#define PROPID_M_DEST_SYMM_KEY 43
-#define PROPID_M_DEST_SYMM_KEY_LEN 44
-#define PROPID_M_SIGNATURE 45
-#define PROPID_M_SIGNATURE_LEN 46
-#define PROPID_M_PROV_TYPE 47
-#define PROPID_M_PROV_NAME 48
-#define PROPID_M_PROV_NAME_LEN 49
-#define PROPID_M_FIRST_IN_XACT 50
-#define PROPID_M_LAST_IN_XACT 51
-#define PROPID_M_XACTID 52
-#define PROPID_M_AUTHENTICATED_EX 53
-#if (_WIN32_WINNT >= 0x0501)
-#define PROPID_M_RESP_FORMAT_NAME 54
-#define PROPID_M_RESP_FORMAT_NAME_LEN 55
-#define PROPID_M_DEST_FORMAT_NAME 58
-#define PROPID_M_DEST_FORMAT_NAME_LEN 59
-#define PROPID_M_LOOKUPID 60
-#define PROPID_M_SOAP_ENVELOPE 61
-#define PROPID_M_SOAP_ENVELOPE_LEN 62
-#define PROPID_M_COMPOUND_MESSAGE 63
-#define PROPID_M_COMPOUND_MESSAGE_SIZE 64
-#define PROPID_M_SOAP_HEADER 65
-#define PROPID_M_SOAP_BODY 66
-#endif
-/*#define PROPID_M_TOTAL_ABORT_COUNT*/
-#define PROPID_M_CORRELATIONID_SIZE 20
-#define PROPID_M_MSGID_SIZE 20
-#define PROPID_M_XACTID_SIZE 20
-#define MQMSG_DELIVERY_EXPRESS 0
-#define MQMSG_DELIVERY_RECOVERABLE 1
-#define MQMSG_JOURNAL_NONE 0
-#define MQMSG_DEADLETTER 1
-#define MQMSG_JOURNAL 2
-#define MQMSG_TRACE_NONE 0
-#define MQMSG_SEND_ROUTE_TO_REPORT_QUEUE 1
-#define MQMSG_SENDERID_TYPE_NONE 0
-#define MQMSG_SENDERID_TYPE_SID 1
-#define MQMSG_NOT_FIRST_IN_XACT 0
-#define MQMSG_FIRST_IN_XACT 1
-#define MQMSG_NOT_LAST_IN_XACT 0
-#define MQMSG_LAST_IN_XACT 1
-#define MQMSG_PRIV_LEVEL_NONE 0
-/*#define MQMSG_PRIV_LEVEL_BODY*/
-#define MQMSG_PRIV_LEVEL_BODY_BASE 1
-#define MQMSG_PRIV_LEVEL_BODY_ENHANCED 3
-#define MQMSG_AUTHENTICATION_NOT_REQUESTED 0
-#define MQMSG_AUTHENTICATION_REQUESTED 1
-#define MQMSG_AUTHENTICATION_REQUESTED_EX 3
-#define MQMSG_AUTH_LEVEL_NONE 0
-#define MQMSG_AUTH_LEVEL_ALWAYS 1
-#define MQMSG_AUTH_LEVEL_MSMQ10 2
-#define MQMSG_AUTH_LEVEL_MSMQ20 4
-#define MQMSG_AUTH_LEVEL_SIG10 2
-#define MQMSG_AUTH_LEVEL_SIG20 4
-#define MQMSG_AUTH_LEVEL_SIG30 8
-#define MQMSG_AUTHENTICATED_SIG10 1
-#define MQMSG_AUTHENTICATED_SIG20 3
-#define MQMSG_AUTHENTICATED_SIG30 5
-#define MQMSG_AUTHENTICATED_SIGXML 9
-#define PROPID_MGMT_MSMQ_ACTIVEQUEUES 1
-#define PROPID_MGMT_MSMQ_PRIVATEQ 2
-#define PROPID_MGMT_MSMQ_DSSERVER 3
-#define PROPID_MGMT_MSMQ_CONNECTED 4
-#define PROPID_MGMT_MSMQ_TYPE 5
-#define PROPID_MGMT_MSMQ_BYTES_IN_ALL_QUEUES 6
-#define PROPID_MGMT_QUEUE_PATHNAME 1
-#define PROPID_MGMT_QUEUE_FORMATNAME 2
-#define PROPID_MGMT_QUEUE_TYPE 3
-#define PROPID_MGMT_QUEUE_LOCATION 4
-#define PROPID_MGMT_QUEUE_XACT 5
-#define PROPID_MGMT_QUEUE_FOREIGN 6
-#define PROPID_MGMT_QUEUE_MESSAGE_COUNT 7
-#define PROPID_MGMT_QUEUE_BYTES_IN_QUEUE 8
-#define PROPID_MGMT_QUEUE_JOURNAL_MESSAGE_COUNT 9
-#define PROPID_MGMT_QUEUE_BYTES_IN_JOURNAL 10
-#define PROPID_MGMT_QUEUE_STATE 11
-#define PROPID_MGMT_QUEUE_NEXTHOPS 12
-#define PROPID_MGMT_QUEUE_EOD_LAST_ACK 13
-#define PROPID_MGMT_QUEUE_EOD_LAST_ACK_TIME 14
-#define PROPID_MGMT_QUEUE_EOD_LAST_ACK_COUNT 15
-#define PROPID_MGMT_QUEUE_EOD_FIRST_NON_ACK 16
-#define PROPID_MGMT_QUEUE_EOD_LAST_NON_ACK 17
-#define PROPID_MGMT_QUEUE_EOD_NEXT_SEQ 18
-#define PROPID_MGMT_QUEUE_EOD_NO_READ_COUNT 19
-#define PROPID_MGMT_QUEUE_EOD_NO_ACK_COUNT 20
-#define PROPID_MGMT_QUEUE_EOD_RESEND_TIME 21
-#define PROPID_MGMT_QUEUE_EOD_RESEND_INTERVAL 22
-#define PROPID_MGMT_QUEUE_EOD_RESEND_COUNT 23
-#define PROPID_MGMT_QUEUE_EOD_SOURCE_INFO 24
-/*#define PROPID_MGMT_QUEUE_SUBQUEUE_COUNT*/
-/*#define PROPID_MGMT_QUEUE_SUBQUEUE_NAMES*/
-#define PROPID_PC_VERSION 5801
-#define PROPID_PC_DS_ENABLED 5802
-#define PROPID_QM_SITE_ID 201
-#define PROPID_QM_MACHINE_ID 202
-#define PROPID_QM_PATHNAME 203
-#define PROPID_QM_CONNECTION 204
-#define PROPID_QM_ENCRYPTION_PK 205
-#define PROPID_QM_ENCRYPTION_PK_BASE 231
-#define PROPID_QM_ENCRYPTION_PK_ENHANCED 232
-#define PROPID_QM_PATHNAME_DNS 233
-#define MQ_OK 0x00000000
-#define MQ_INFORMATION_PROPERTY 0x400E0001
-#define MQ_INFORMATION_ILLEGAL_PROPERTY 0x400E0002
-#define MQ_INFORMATION_PROPERTY_IGNORED 0x400E0003
-#define MQ_INFORMATION_UNSUPPORTED_PROPERTY 0x400E0004
-#define MQ_INFORMATION_DUPLICATE_PROPERTY 0x400E0005
-#define MQ_INFORMATION_OPERATION_PENDING 0x400E0006
-#define MQ_INFORMATION_FORMATNAME_BUFFER_TOO_SMALL 0x400E0009
-#define MQ_INFORMATION_INTERNAL_USER_CERT_EXIST 0x400E000A
-#define MQ_INFORMATION_OWNER_IGNORED 0x400E000B
-#define MQ_ERROR 0xC00E0001
-#define MQ_ERROR_PROPERTY 0xC00E0002
-#define MQ_ERROR_QUEUE_NOT_FOUND 0xC00E0003
-#define MQ_ERROR_QUEUE_NOT_ACTIVE 0xC00E0004
-#define MQ_ERROR_QUEUE_EXISTS 0xC00E0005
-#define MQ_ERROR_INVALID_PARAMETER 0xC00E0006
-#define MQ_ERROR_INVALID_HANDLE 0xC00E0007
-#define MQ_ERROR_OPERATION_CANCELLED0xC00E0008
-#define MQ_ERROR_SHARING_VIOLATION 0xC00E0009
-#define MQ_ERROR_SERVICE_NOT_AVAILABLE 0xC00E000B
-#define MQ_ERROR_MACHINE_NOT_FOUND 0xC00E000D
-#define MQ_ERROR_ILLEGAL_SORT 0xC00E0010
-#define MQ_ERROR_ILLEGAL_USER 0xC00E0011
-#define MQ_ERROR_NO_DS 0xC00E0013
-#define MQ_ERROR_ILLEGAL_QUEUE_PATHNAME 0xC00E0014
-#define MQ_ERROR_ILLEGAL_PROPERTY_VALUE 0xC00E0018
-#define MQ_ERROR_ILLEGAL_PROPERTY_VT 0xC00E0019
-#define MQ_ERROR_BUFFER_OVERFLOW 0xC00E001A
-#define MQ_ERROR_IO_TIMEOUT 0xC00E001B
-#define MQ_ERROR_ILLEGAL_CURSOR_ACTION 0xC00E001C
-#define MQ_ERROR_MESSAGE_ALREADY_RECEIVED 0xC00E001D
-#define MQ_ERROR_ILLEGAL_FORMATNAME 0xC00E001E
-#define MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL 0xC00E001F
-#define MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION 0xC00E0020
-#define MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR 0xC00E0021
-#define MQ_ERROR_SENDERID_BUFFER_TOO_SMALL 0xC00E0022
-#define MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL 0xC00E0023
-#define MQ_ERROR_CANNOT_IMPERSONATE_CLIENT 0xC00E0024
-#define MQ_ERROR_ACCESS_DENIED 0xC00E0025
-#define MQ_ERROR_PRIVILEGE_NOT_HELD 0xC00E0026
-#define MQ_ERROR_INSUFFICIENT_RESOURCES 0xC00E0027
-#define MQ_ERROR_USER_BUFFER_TOO_SMALL 0xC00E0028
-#define MQ_ERROR_MESSAGE_STORAGE_FAILED 0xC00E002A
-#define MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL 0xC00E002B
-#define MQ_ERROR_INVALID_CERTIFICATE 0xC00E002C
-#define MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE 0xC00E002D
-#define MQ_ERROR_INTERNAL_USER_CERT_EXIST 0xC00E002E
-#define MQ_ERROR_NO_INTERNAL_USER_CERT 0xC00E002F
-#define MQ_ERROR_CORRUPTED_SECURITY_DATA 0xC00E0030
-#define MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE 0xC00E0031
-#define MQ_ERROR_COMPUTER_DOES_NOT_SUPPORT_ENCRYPTION 0xC00E0033
-#define MQ_ERROR_BAD_SECURITY_CONTEXT 0xC00E0035
-#define MQ_ERROR_COULD_NOT_GET_USER_SID 0xC00E0036
-#define MQ_ERROR_COULD_NOT_GET_ACCOUNT_INFO 0xC00E0037
-#define MQ_ERROR_ILLEGAL_MQCOLUMNS 0xC00E0038
-#define MQ_ERROR_ILLEGAL_PROPID 0xC00E0039
-#define MQ_ERROR_ILLEGAL_RELATION 0xC00E003A
-#define MQ_ERROR_ILLEGAL_PROPERTY_SIZE 0xC00E003B
-#define MQ_ERROR_ILLEGAL_RESTRICTION_PROPID 0xC00E003C
-#define MQ_ERROR_ILLEGAL_MQQUEUEPROPS 0xC00E003D
-#define MQ_ERROR_PROPERTY_NOTALLOWED 0xC00E003E
-#define MQ_ERROR_INSUFFICIENT_PROPERTIES 0xC00E003F
-#define MQ_ERROR_MACHINE_EXISTS 0xC00E0040
-#define MQ_ERROR_ILLEGAL_MQQMPROPS 0xC00E0041
-#define MQ_ERROR_DS_IS_FULL 0xC00E0042
-#define MQ_ERROR_DS_ERROR 0xC00E0043
-#define MQ_ERROR_INVALID_OWNER 0xC00E0044
-#define MQ_ERROR_UNSUPPORTED_ACCESS_MODE 0xC00E0045
-#define MQ_ERROR_RESULT_BUFFER_TOO_SMALL 0xC00E0046
-#define MQ_ERROR_DELETE_CN_IN_USE 0xC00E0048
-#define MQ_ERROR_NO_RESPONSE_FROM_OBJECT_SERVER 0xC00E0049
-#define MQ_ERROR_OBJECT_SERVER_NOT_AVAILABLE 0xC00E004A
-#define MQ_ERROR_QUEUE_NOT_AVAILABLE 0xC00E004B
-#define MQ_ERROR_DTC_CONNECT 0xC00E004C
-#define MQ_ERROR_TRANSACTION_IMPORT 0xC00E004E
-#define MQ_ERROR_TRANSACTION_USAGE 0xC00E0050
-#define MQ_ERROR_TRANSACTION_SEQUENCE 0xC00E0051
-#define MQ_ERROR_MISSING_CONNECTOR_TYPE 0xC00E0055
-#define MQ_ERROR_STALE_HANDLE 0xC00E0056
-#define MQ_ERROR_TRANSACTION_ENLIST 0xC00E0058
-#define MQ_ERROR_QUEUE_DELETED 0xC00E005A
-#define MQ_ERROR_ILLEGAL_CONTEXT 0xC00E005B
-#define MQ_ERROR_ILLEGAL_SORT_PROPID 0xC00E005C
-#define MQ_ERROR_LABEL_TOO_LONG 0xC00E005D
-#define MQ_ERROR_LABEL_BUFFER_TOO_SMALL 0xC00E005E
-#define MQ_ERROR_MQIS_SERVER_EMPTY 0xC00E005F
-#define MQ_ERROR_MQIS_READONLY_MODE 0xC00E0060
-#define MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL 0xC00E0061
-#define MQ_ERROR_SIGNATURE_BUFFER_TOO_SMALL 0xC00E0062
-#define MQ_ERROR_PROV_NAME_BUFFER_TOO_SMALL 0xC00E0063
-#define MQ_ERROR_ILLEGAL_OPERATION 0xC00E0064
-#define MQ_ERROR_WRITE_NOT_ALLOWED 0xC00E0065
-#define MQ_ERROR_WKS_CANT_SERVE_CLIENT 0xC00E0066
-#define MQ_ERROR_DEPEND_WKS_LICENSE_OVERFLOW 0xC00E0067
-#define MQ_CORRUPTED_QUEUE_WAS_DELETED 0xC00E0068
-#define MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE 0xC00E0069
-#define MQ_ERROR_UNSUPPORTED_OPERATION 0xC00E006A
-#define MQ_ERROR_ENCRYPTION_PROVIDER_NOT_SUPPORTED 0xC00E006B
-#define MQ_ERROR_CANNOT_SET_CRYPTO_SEC_DESCR 0xC00E006C
-#define MQ_ERROR_CERTIFICATE_NOT_PROVIDED 0xC00E006D
-#define MQ_ERROR_Q_DNS_PROPERTY_NOT_SUPPORTED 0xC00E006E
-#define MQ_ERROR_CANNOT_CREATE_CERT_STORE 0xC00E006F
-#define MQ_ERROR_CANNOT_OPEN_CERT_STORE 0xC00E0070
-#define MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION 0xC00E0071
-#define MQ_ERROR_CANNOT_GRANT_ADD_GUID 0xC00E0072
-#define MQ_ERROR_CANNOT_LOAD_MSMQOCM 0xC00E0073
-#define MQ_ERROR_NO_ENTRY_POINT_MSMQOCM 0xC00E0074
-#define MQ_ERROR_NO_MSMQ_SERVERS_ON_DC 0xC00E0075
-#define MQ_ERROR_CANNOT_JOIN_DOMAIN 0xC00E0076
-#define MQ_ERROR_CANNOT_CREATE_ON_GC 0xC00E0077
-#define MQ_ERROR_GUID_NOT_MATCHING 0xC00E0078
-#define MQ_ERROR_PUBLIC_KEY_NOT_FOUND 0xC00E0079
-#define MQ_ERROR_PUBLIC_KEY_DOES_NOT_EXIST 0xC00E007A
-#define MQ_ERROR_ILLEGAL_MQPRIVATEPROPS 0xC00E007B
-#define MQ_ERROR_NO_GC_IN_DOMAIN 0xC00E007C
-#define MQ_ERROR_NO_MSMQ_SERVERS_ON_GC 0xC00E007D
-#define MQ_ERROR_CANNOT_GET_DN 0xC00E007E
-#define MQ_ERROR_CANNOT_HASH_DATA_EX 0xC00E007F
-#define MQ_ERROR_CANNOT_SIGN_DATA_EX 0xC00E0080
-#define MQ_ERROR_CANNOT_CREATE_HASH_EX 0xC00E0081
-#define MQ_ERROR_FAIL_VERIFY_SIGNATURE_EX 0xC00E0082
-#define MQ_ERROR_CANNOT_DELETE_PSC_OBJECTS 0xC00E0083
-#define MQ_ERROR_NO_MQUSER_OU 0xC00E0084
-#define MQ_ERROR_CANNOT_LOAD_MQAD 0xC00E0085
-#define MQ_ERROR_CANNOT_LOAD_MQDSSRV 0xC00E0086
-#define MQ_ERROR_PROPERTIES_CONFLICT 0xC00E0087
-#define MQ_ERROR_MESSAGE_NOT_FOUND 0xC00E0088
-#define MQ_ERROR_CANT_RESOLVE_SITES 0xC00E0089
-#define MQ_ERROR_NOT_SUPPORTED_BY_DEPENDENT_CLIENTS 0xC00E008A
-#define MQ_ERROR_OPERATION_NOT_SUPPORTED_BY_REMOTE_COMPUTER 0xC00E008B
-#define MQ_ERROR_NOT_A_CORRECT_OBJECT_CLASS 0xC00E008C
-#define MQ_ERROR_MULTI_SORT_KEYS 0xC00E008D
-#define MQ_ERROR_GC_NEEDED 0xC00E008E
-#define MQ_ERROR_DS_BIND_ROOT_FOREST 0xC00E008F
-#define MQ_ERROR_DS_LOCAL_USER 0xC00E0090
-#define MQ_ERROR_Q_ADS_PROPERTY_NOT_SUPPORTED 0xC00E0091
-#define MQ_ERROR_BAD_XML_FORMAT 0xC00E0092
-#define MQ_ERROR_UNSUPPORTED_CLASS xC00E0093
-#define MQ_ERROR_UNINITIALIZED_OBJECT 0xC00E0094
-#define MQ_ERROR_CANNOT_CREATE_PSC_OBJECTS 0xC00E0095
-#define MQ_ERROR_CANNOT_UPDATE_PSC_OBJECTS 0xC00E0096
-#define MQSEC_DELETE_MESSAGE 0x00000001
-#define MQSEC_PEEK_MESSAGE 0x00000002
-#define MQSEC_WRITE_MESSAGE 0x00000004
-#define MQSEC_DELETE_JOURNAL_MESSAGE 0x00000008
-#define MQSEC_SET_QUEUE_PROPERTIES 0x00000010
-#define MQSEC_GET_QUEUE_PROPERTIES 0x00000020
-#define MQSEC_DELETE_QUEUE 0x00010000
-#define MQSEC_GET_QUEUE_PERMISSIONS 0x00020000
-#define MQSEC_CHANGE_QUEUE_PERMISSIONS 0x00040000
-#define MQSEC_TAKE_QUEUE_OWNERSHIP 0x00080000
-#define MQSEC_RECEIVE_MESSAGE (MQSEC_DELETE_MESSAGE|MQSEC_PEEK_MESSAGE)
-#define MQSEC_RECEIVE_JOURNAL_MESSAGE (MQSEC_DELETE_JOURNAL_MESSAGE|MQSEC_PEEK_MESSAGE)
-#define MQSEC_QUEUE_GENERIC_READ (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE)
-#define MQSEC_QUEUE_GENERIC_WRITE (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_WRITE_MESSAGE)
-#define MQSEC_QUEUE_GENERIC_ALL (MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE|MQSEC_WRITE_MESSAGE|MQSEC_SET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PROPERTIES|MQSEC_DELETE_QUEUE|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_CHANGE_QUEUE_PERMISSIONS|MQSEC_TAKE_QUEUE_OWNERSHIP)
-#define MSMQ_CONNECTED L"CONNECTED"
-#define MSMQ_DISCONNECTED L"DISCONNECTED"
-#define MQ_RECEIVE_ACCESS 0x00000001
-#define MQ_SEND_ACCESS 0x00000002
-#define MQ_PEEK_ACCESS 0x00000020
-#define MQ_ADMIN_ACCESS 0x00000080
-#define MQ_DENY_NONE 0x00000000
-#define MQ_DENY_RECEIVE_SHARE 0x00000001
-#define MQ_ACTION_RECEIVE 0x00000000
-#define MQ_ACTION_PEEK_CURRENT 0x80000000
-#define MQ_ACTION_PEEK_NEXT 0x80000001
-/*#define MQ_NO_TRANSACTION*/
-/*#define MQ_MTS_TRANSACTION*/
-/*#define MQ_SINGLE_MESSAGE*/
-/*#define MQ_XA_TRANSACTION*/
-#if (_WIN32_WINNT >= 0x0501)
-#define MQ_LOOKUP_PEEK_CURRENT 0x40000010
-#define MQ_LOOKUP_PEEK_NEXT 0x40000011
-#define MQ_LOOKUP_PEEK_PREV 0x40000012
-#define MQ_LOOKUP_PEEK_FIRST 0x40000014
-#define MQ_LOOKUP_PEEK_LAST 0x40000018
-#define MQ_LOOKUP_RECEIVE_CURRENT 0x40000020
-#define MQ_LOOKUP_RECEIVE_NEXT 0x40000021
-#define MQ_LOOKUP_RECEIVE_PREV 0x40000022
-#define MQ_LOOKUP_RECEIVE_FIRST 0x40000024
-#define MQ_LOOKUP_RECEIVE_LAST 0x40000028
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define MQCERT_REGISTER_ALWAYS 0x00000001
-#define MQCERT_REGISTER_IF_NOT_EXIST 0x00000002
-#endif
-#define PRLT 0
-#define PRLE 1
-#define PRGT 2
-#define PRGE 3
-#define PREQ 4
-#define PRNE 5
-#define MQ_MIN_PRIORITY 0
-#define MQ_MAX_PRIORITY 7
-#define MQ_DEFAULT_PRIORITY 3
-#define QUERY_SORTASCEND 0
-#define QUERY_SORTDESCEND 1
-
-typedef struct tagMQCOLUMNSET {
-	ULONG cCol;
-	PROPID *aCol;
-} MQCOLUMNSET;
-typedef PROPID MGMTPROPID;
-typedef struct tagMQMGMTPROPS {
-	DWORD cProp;
-	MGMTPROPID *aPropID;
-	MQPROPVARIANT *aPropVar;
-	HRESULT *aStatus;
-} MQMGMTPROPS;
-typedef PROPID MSGPROPID;
-typedef struct tagMQMSGPROPS {
-	DWORD cProp;
-	MSGPROPID *aPropID;
-	MQPROPVARIANT *aPropVar;
-	HRESULT *aStatus;
-} MQMSGPROPS;
-typedef PROPID QMPROPID;
-typedef struct tagMQPRIVATEPROPS {
-	DWORD cProp;
-	QMPROPID *aPropID;
-	MQPROPVARIANT *aPropVar;
-	HRESULT *aStatus;
-} MQPRIVATEPROPS;
-typedef struct tagMQPROPERTYRESTRICTION {
-	ULONG rel;
-	PROPID prop;
-	MQPROPVARIANT prval;
-} MQPROPERTYRESTRICTION;
-typedef struct tagMQQMPROPS {
-	DWORD cProp;
-	QMPROPID *aPropID;
-	MQPROPVARIANT *aPropVar;
-	HRESULT *aStatus;
-} MQQMPROPS;
-typedef PROPID QUEUEPROPID;
-typedef struct tagMQQUEUEPROPS {
-	DWORD cProp;
-	QUEUEPROPID *aPropID;
-	MQPROPVARIANT *aPropVar;
-	HRESULT *aStatus;
-} MQQUEUEPROPS;
-typedef struct tagMQRESTRICTION {
-	ULONG cRes;
-	MQPROPERTYRESTRICTION *paPropRes;
-} MQRESTRICTION;
-typedef struct tagMQSORTKEY {
-	PROPID propColumn;
-	ULONG dwOrder;
-} MQSORTKEY;
-typedef struct tagMQSORTSET {
-	ULONG cCol;
-	MQSORTKEY *aCol;
-} MQSORTSET;
-typedef struct tagMQPROPVARIANT {
-	VARTYPE vt;
-	WORD wReserved1;
-	WORD wReserved2;
-	WORD wReserved3;
-	union {
-		UCHAR bVal;
-		SHORT iVal;
-		USHORT uiVal;
-		VARIANT_BOOL boolVal;
-		LONG lVal;
-		ULONG ulVal;
-		ULARGE_INTEGER uhVal;
-		SCODE scode;
-		DATE date;
-		CLSID _RPC_FAR *puuid;
-		BLOB blob;
-		LPOLESTR bstrVal;
-		LPSTR pszVal;
-		LPWSTR pwszVal;
-		CAUB caub;
-		CAI cai;
-		CAUI caui;
-		CABOOL cabool;
-		CAL cal;
-		CAUL caul;
-		CACLSID cauuid;
-		CABSTR cabstr;
-		CALPWSTR calpwstr;
-		CAPROPVARIANT capropvar;
-	};                      
-} MQPROPVARIANT;
-typedef struct tagSEQUENCE_INFO {
-	LONGLONG SeqID;
-	ULONG SeqNo; 
-	ULONG PrevNo;
-} SEQUENCE_INFO;
-typedef HANDLE QUEUEHANDLE;
-typedef VOID (*PMQRECEIVECALLBACK)(VOID);
-
-#if (_WIN32_WINNT >= 0x0501)
-HRESULT WINAPI MQADsPathToFormatName(LPCWSTR,LPWSTR,LPDWORD);
-#endif
-HRESULT WINAPI MQBeginTransaction(ITransaction **);
-HRESULT WINAPI MQCloseCursor(HANDLE);
-HRESULT WINAPI MQCloseQueue(QUEUEHANDLE);
-HRESULT WINAPI MQCreateCursor(QUEUEHANDLE,PHANDLE);
-HRESULT WINAPI MQCreateQueue(PSECURITY_DESCRIPTOR,MQQUEUEPROPS *,LPWSTR,LPDWORD);
-HRESULT WINAPI MQDeleteQueue(LPCWSTR);
-VOID WINAPI MQFreeMemory(PVOID);
-VOID WINAPI MQFreeSecurityContext(HANDLE);
-HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);
-#if (_WIN32_WINNT >= 0x0500)
-HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);
-HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);
-#endif
-HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);
-HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
-HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);
-HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);
-HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);
-HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);
-HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);
-HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
-HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);
-#if (_WIN32_WINNT >= 0x0500)
-HRESULT WINAPI MQGetSecurityContextEx(LPVOID,DWORD,HANDLE *);
-#endif
-HRESULT WINAPI MQHandleToFormatName(QUEUEHANDLE,LPWSTR,LPDWORD);
-HRESULT WINAPI MQInstanceToFormatName(GUID *,LPWSTR,LPDWORD);
-HRESULT WINAPI MQLocateBegin(LPCWSTR,MQRESTRICTION *,MQCOLUMNSET *,MQSORTSET *,PHANDLE);
-HRESULT WINAPI MQLocateEnd(HANDLE);
-HRESULT WINAPI MQLocateNext(HANDLE,DWORD *,MQPROPVARIANT[]);
-#if (_WIN32_WINNT >= 0x0600)
-HRESULT WINAPI MQMarkMessageRejected(QUEUEHANDLE,ULONGLONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-HRESULT WINAPI MQMgmtAction(LPCWSTR,LPCWSTR,LPCWSTR);
-HRESULT WINAPI MQMgmtGetInfo(LPCWSTR,LPCWSTR,MQMGMTPROPS *);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-HRESULT WINAPI MQMoveMessage(QUEUEHANDLE,QUEUEHANDLE,ULONGLONG,ITransaction *);
-#endif
-HRESULT WINAPI MQOpenQueue(LPCWSTR,DWORD,DWORD,QUEUEHANDLE *);
-HRESULT WINAPI MQPathNameToFormatName(LPCWSTR,LPWSTR,LPDWORD);
-#if (_WIN32_WINNT >= 0x0501)
-HRESULT WINAPI MQPurgeQueue(QUEUEHANDLE);
-#endif
-HRESULT WINAPI MQReceiveMessage(QUEUEHANDLE,DWORD,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,HANDLE,ITransaction *);
-#if (_WIN32_WINNT >= 0x0501)
-HRESULT WINAPI MQReceiveMessageByLookupId(QUEUEHANDLE,ULONGLONG,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,ITransaction *);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-HRESULT WINAPI MQRegisterCertificate(DWORD,PVOID,DWORD);
-#endif
-HRESULT WINAPI MQSendMessage(QUEUEHANDLE,MQMSGPROPS *,ITransaction *);
-HRESULT WINAPI MQSetQueueProperties(LPCWSTR,MQQUEUEPROPS *);
-HRESULT WINAPI MQSetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/msacm.h
===================================================================
--- Daodan/MinGW/include/msacm.h	(revision 1046)
+++ 	(revision )
@@ -1,255 +1,0 @@
-/*author: Adrian Sandor
-  written for MinGW*/
-#ifndef _MSACM_H
-#define _MSACM_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-DECLARE_HANDLE(HACMDRIVERID);
-typedef HACMDRIVERID *PHACMDRIVERID;
-typedef HACMDRIVERID *LPHACMDRIVERID;
-DECLARE_HANDLE(HACMDRIVER);
-typedef HACMDRIVER *PHACMDRIVER;
-typedef HACMDRIVER *LPHACMDRIVER;
-DECLARE_HANDLE(HACMSTREAM);
-typedef HACMSTREAM *PHACMSTREAM;
-typedef HACMSTREAM *LPHACMSTREAM;
-DECLARE_HANDLE(HACMOBJ);
-typedef HACMOBJ *PHACMOBJ;
-typedef HACMOBJ *LPHACMOBJ;
-
-/*found through experimentation*/
-#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
-#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
-#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
-#define ACMDRIVERDETAILS_LICENSING_CHARS 128
-
-/*I don't know the right values for these macros*/
-#define ACMFORMATDETAILS_FORMAT_CHARS 256
-#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 256
-#define ACMDRIVERDETAILS_FEATURES_CHARS 256
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatdetails_str.asp*/
-typedef struct {
-	DWORD          cbStruct;
-	DWORD          dwFormatIndex;
-	DWORD          dwFormatTag;
-	DWORD          fdwSupport;
-	LPWAVEFORMATEX pwfx;
-	DWORD          cbwfx;
-	char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
-typedef struct {
-	DWORD          cbStruct;
-	DWORD          dwFormatIndex;
-	DWORD          dwFormatTag;
-	DWORD          fdwSupport;
-	LPWAVEFORMATEX pwfx;
-	DWORD          cbwfx;
-	WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
-
-/*msdn.microsoft.com/en-us/library/dd742926%28VS.85%29.aspx*/
-typedef struct {
-  DWORD     cbStruct;
-  DWORD     fdwStatus;
-  DWORD_PTR dwUser;
-  LPBYTE    pbSrc;
-  DWORD     cbSrcLength;
-  DWORD     cbSrcLengthUsed;
-  DWORD_PTR dwSrcUser;
-  LPBYTE    pbDst;
-  DWORD     cbDstLength;
-  DWORD     cbDstLengthUsed;
-  DWORD_PTR dwDstUser;
-  DWORD     dwReservedDriver[10];
-} ACMSTREAMHEADER, *LPACMSTREAMHEADER;
-
-/*msdn.microsoft.com/en-us/library/dd757711%28v=VS.85%29.aspx*/
-typedef struct {
-  DWORD cbStruct;
-  DWORD dwFilterTag;
-  DWORD fdwFilter;
-  DWORD dwReserved[5];
-} WAVEFILTER, *LPWAVEFILTER;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagdetails_str.asp*/
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFormatTagIndex;
-	DWORD dwFormatTag;
-	DWORD cbFormatSize;
-	DWORD fdwSupport;
-	DWORD cStandardFormats;
-	char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
-typedef struct {
-	DWORD cbStruct;
-	DWORD dwFormatTagIndex;
-	DWORD dwFormatTag;
-	DWORD cbFormatSize;
-	DWORD fdwSupport;
-	DWORD cStandardFormats;
-	WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp*/
-typedef struct {
-	DWORD  cbStruct;
-	FOURCC fccType;
-	FOURCC fccComp;
-	WORD   wMid;
-	WORD   wPid;
-	DWORD  vdwACM;
-	DWORD  vdwDriver;
-	DWORD  fdwSupport;
-	DWORD  cFormatTags;
-	DWORD  cFilterTags;
-	HICON  hicon;
-	char  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
-	char  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
-	char  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
-	char  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
-	char  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
-typedef struct {
-	DWORD  cbStruct;
-	FOURCC fccType;
-	FOURCC fccComp;
-	WORD   wMid;
-	WORD   wPid;
-	DWORD  vdwACM;
-	DWORD  vdwDriver;
-	DWORD  fdwSupport;
-	DWORD  cFormatTags;
-	DWORD  cFilterTags;
-	HICON  hicon;
-	WCHAR  szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
-	WCHAR  szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
-	WCHAR  szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
-	WCHAR  szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
-	WCHAR  szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMFORMATENUMCBA) (
-	HACMDRIVERID        hadid,
-	LPACMFORMATDETAILSA pafd,
-	DWORD_PTR           dwInstance,
-	DWORD               fdwSupport
-);
-typedef BOOL (CALLBACK *ACMFORMATENUMCBW) (
-	HACMDRIVERID        hadid,
-	LPACMFORMATDETAILSW pafd,
-	DWORD_PTR           dwInstance,
-	DWORD               fdwSupport
-);
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA) (
-	HACMDRIVERID           hadid,
-	LPACMFORMATTAGDETAILSA paftd,
-	DWORD_PTR              dwInstance,
-	DWORD                  fdwSupport
-);
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW) (
-	HACMDRIVERID           hadid,
-	LPACMFORMATTAGDETAILSW paftd,
-	DWORD_PTR              dwInstance,
-	DWORD                  fdwSupport
-);
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMDRIVERENUMCB) (
-	HACMDRIVERID hadid,
-	DWORD_PTR    dwInstance,
-	DWORD        fdwSupport
-);
-
-/*and now the functions...*/
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriveropen.asp*/
-MMRESULT WINAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenum.asp*/
-MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenum.asp*/
-MMRESULT WINAPI acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-MMRESULT WINAPI acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-
-/*msdn.microsoft.com/en-us/library/dd742885%28VS.85%29.aspx*/
-MMRESULT WINAPI acmDriverAddA(LPHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd);
-MMRESULT WINAPI acmDriverAddW(LPHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd);
-
-/*msdn.microsoft.com/en-us/library/dd742897%28v=VS.85%29.aspx*/
-MMRESULT WINAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove);
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverclose.asp*/
-MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails.asp*/
-MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, DWORD fdwDetails);
-MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, DWORD fdwDetails);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenum.asp*/
-MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-MMRESULT WINAPI acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-
-/*msdn.microsoft.com/en-us/library/dd742922(VS.85).aspx*/
-MMRESULT WINAPI acmMetrics(HACMOBJ hao, UINT uMetric, LPVOID pMetric);
-
-/*msdn.microsoft.com/en-us/library/dd742928%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamOpen(LPHACMSTREAM phas, HACMDRIVER had, LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, LPWAVEFILTER pwfltr, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen);
-
-/*msdn.microsoft.com/en-us/library/dd742931%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize);
-
-/*msdn.microsoft.com/en-us/library/dd742929%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwPrepare);
-
-/*msdn.microsoft.com/en-us/library/dd742932%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwUnprepare);
-
-/*msdn.microsoft.com/en-us/library/dd742930%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamReset(HACMSTREAM has, DWORD fdwReset);
-
-/*msdn.microsoft.com/en-us/library/dd742923%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose);
-
-/*msdn.microsoft.com/en-us/library/dd742924%28VS.85%29.aspx*/
-MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, LPACMSTREAMHEADER pash, DWORD fdwConvert);
-
-#ifdef UNICODE
-
-typedef ACMFORMATDETAILSW ACMFORMATDETAILS, *LPACMFORMATDETAILS;
-typedef ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
-typedef ACMDRIVERDETAILSW ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
-typedef ACMFORMATENUMCBW ACMFORMATENUMCB;
-typedef ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;
-#define acmFormatEnum acmFormatEnumW
-#define acmDriverDetails acmDriverDetailsW
-#define acmFormatTagEnum acmFormatTagEnumW
-#define acmDriverAdd acmDriverAddW
-
-#else /*ifdef UNICODE*/
-
-typedef ACMFORMATDETAILSA ACMFORMATDETAILS, *LPACMFORMATDETAILS;
-typedef ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
-typedef ACMDRIVERDETAILSA ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
-typedef ACMFORMATENUMCBA ACMFORMATENUMCB;
-typedef ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;
-#define acmFormatEnum acmFormatEnumA
-#define acmDriverDetails acmDriverDetailsA
-#define acmFormatTagEnum acmFormatTagEnumA
-#define acmDriverAdd acmDriverAddA
-
-#endif /*ifdef UNICODE*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/include/mshtml.h
===================================================================
--- Daodan/MinGW/include/mshtml.h	(revision 1046)
+++ 	(revision )
@@ -1,704 +1,0 @@
-#ifndef _MSHTML_H
-#define _MSHTML_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef _COM_interface IHTMLElementCollection *LPHTMLELEMENTCOLLECTION;
-typedef _COM_interface IHTMLElement *LPHTMLELEMENT;
-typedef _COM_interface IHTMLSelectionObject *LPHTMLSELECTIONOBJECT;
-typedef _COM_interface IHTMLFramesCollection *LPHTMLFRAMESCOLLECTION;
-typedef _COM_interface IHTMLLocation *LPHTMLLOCATION;
-typedef _COM_interface IHTMLWindow2 *LPHTMLWINDOW2;
-typedef _COM_interface IHTMLStyleSheetsCollection *LPHTMLSTYLESHEETSCOLLECTION;
-typedef _COM_interface IHTMLStyleSheet *LPHTMLSTYLESHEET;
-typedef _COM_interface IHTMLStyle *LPHTMLSTYLE;
-typedef _COM_interface IHTMLFiltersCollection *LPHTMLFILTERSCOLLECTION;
-typedef _COM_interface IHTMLLinkElement *LPHTMLLINKELEMENT;
-typedef _COM_interface IHTMLImgElement *LPHTMLIMGELEMENT;
-typedef _COM_interface IHTMLImageElementFactory *LPHTMLIMAGEELEMENTFACTORY;
-typedef _COM_interface IHTMLEventObj *LPHTMLEVENTOBJ;
-typedef _COM_interface IHTMLScreen *LPHTMLSCREEN;
-typedef _COM_interface IHTMLOptionElementFactory *LPHTMLOPTIONELEMENTFACTORY;
-typedef _COM_interface IOmHistory *LPOMHISTORY;
-typedef _COM_interface IOmNavigator *LPOMNAVIGATOR;
-
-EXTERN_C const IID IID_IHTMLLinkElement;
-#define INTERFACE IHTMLLinkElement
-DECLARE_INTERFACE_(IHTMLLinkElement,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_href)(THIS_ BSTR) PURE;
-	STDMETHOD(get_href)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_rel)(THIS_ BSTR) PURE;
-	STDMETHOD(get_rel)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_rev)(THIS_ BSTR) PURE;
-	STDMETHOD(get_rev)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_type)(THIS_ BSTR) PURE;
-	STDMETHOD(get_type)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_styleSheet)(THIS_ LPHTMLSTYLESHEET*) PURE;
-	STDMETHOD(put_disabled)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_disabled)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_media)(THIS_ BSTR) PURE;
-	STDMETHOD(get_media)(THIS_ BSTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLImgElement;
-#define INTERFACE IHTMLImgElement
-DECLARE_INTERFACE_(IHTMLImgElement,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_isMap)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_isMap)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_useMap)(THIS_ BSTR) PURE;
-	STDMETHOD(get_useMap)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_mimeType)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileSize)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileCreatedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileModifiedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileUpdatedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_protocol)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_href)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_nameProp)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_border)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_border)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_vspace)(THIS_ long) PURE;
-	STDMETHOD(get_vspace)(THIS_ long*) PURE;
-	STDMETHOD(put_hspace)(THIS_ long) PURE;
-	STDMETHOD(get_hspace)(THIS_ long*) PURE;
-	STDMETHOD(put_alt)(THIS_ BSTR) PURE;
-	STDMETHOD(get_alt)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_src)(THIS_ BSTR) PURE;
-	STDMETHOD(get_src)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_lowsrc)(THIS_ BSTR) PURE;
-	STDMETHOD(get_lowsrc)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_vrml)(THIS_ BSTR) PURE;
-	STDMETHOD(get_vrml)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_dynsrc)(THIS_ BSTR) PURE;
-	STDMETHOD(get_dynsrc)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_complete)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_loop)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_loop)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_align)(THIS_ BSTR) PURE;
-	STDMETHOD(get_align)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onabort)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onabort)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_name)(THIS_ BSTR) PURE;
-	STDMETHOD(get_name)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_width)(THIS_ long) PURE;
-	STDMETHOD(get_width)(THIS_ long*) PURE;
-	STDMETHOD(put_height)(THIS_ long) PURE;
-	STDMETHOD(get_height)(THIS_ long*) PURE;
-	STDMETHOD(put_start)(THIS_ BSTR) PURE;
-	STDMETHOD(get_start)(THIS_ BSTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLElementCollection;
-#define INTERFACE IHTMLElementCollection
-DECLARE_INTERFACE_(IHTMLElementCollection,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(toString)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_length)(THIS_ long) PURE;
-	STDMETHOD(get_length)(THIS_ long*) PURE;
-	STDMETHOD(get__newEnum)(THIS_ IUnknown**) PURE;
-	STDMETHOD(item)(THIS_ VARIANT,VARIANT,IDispatch**) PURE;
-	STDMETHOD(tags)(THIS_ VARIANT,IDispatch**) PURE;
-};
-#undef INTERFACE
-
-
-EXTERN_C const IID IID_IHTMLDocument;
-#define INTERFACE IHTMLDocument
-DECLARE_INTERFACE_(IHTMLDocument,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLDocument2;
-#define INTERFACE IHTMLDocument2
-DECLARE_INTERFACE_(IHTMLDocument2,IHTMLDocument)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
-
-	STDMETHOD(get_all)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_body)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(get_activeElement)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(get_images)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_applets)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_links)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_forms)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_anchors)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(put_title)(THIS_ BSTR) PURE;
-	STDMETHOD(get_title)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_scripts)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(put_designMode)(THIS_ BSTR) PURE;
-	STDMETHOD(get_designMode)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_selection)(THIS_ LPHTMLSELECTIONOBJECT*) PURE;
-	STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_frames)(THIS_ LPHTMLFRAMESCOLLECTION*) PURE;
-	STDMETHOD(get_embeds)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(get_plugins)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
-	STDMETHOD(put_alinkColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_alinkColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_bgColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_bgColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_fgColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_fgColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_linkColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_linkColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_vlinkColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_vlinkColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_referrer)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_location)(THIS_ LPHTMLLOCATION*) PURE;
-	STDMETHOD(get_lastModified)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_URL)(THIS_ BSTR) PURE;
-	STDMETHOD(get_URL)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_domain)(THIS_ BSTR) PURE;
-	STDMETHOD(get_domain)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_cookie)(THIS_ BSTR) PURE;
-	STDMETHOD(get_cookie)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_expands)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_expands)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_charset)(THIS_ BSTR) PURE;
-	STDMETHOD(get_charset)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_defaultCharset)(THIS_ BSTR) PURE;
-	STDMETHOD(get_defaultCharset)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_mimeType)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileSize)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileCreatedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileModifiedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_fileUpdatedDate)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_security)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_protocol)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_nameProp)(THIS_ BSTR*) PURE;
-	STDMETHOD(write)(THIS_ SAFEARRAY*) PURE;
-	STDMETHOD(writeln)(THIS_ SAFEARRAY*) PURE;
-	STDMETHOD(open)(THIS_ BSTR,VARIANT,VARIANT,VARIANT,IDispatch**) PURE;
-	STDMETHOD(close)(THIS) PURE;
-	STDMETHOD(clear)(THIS) PURE;
-	STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
-	STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
-	STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
-	STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(createElement)(THIS_ BSTR,LPHTMLELEMENT*) PURE;
-	STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
-	STDMETHOD(elementFromPoint)(THIS_ long,long,LPHTMLELEMENT*) PURE;
-	STDMETHOD(get_parentWindow)(THIS_ LPHTMLWINDOW2*) PURE;
-	STDMETHOD(get_styleSheets)(THIS_ LPHTMLSTYLESHEETSCOLLECTION*) PURE;
-	STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(toString)(THIS_ BSTR*) PURE;
-	STDMETHOD(createStyleSheet)(THIS_ BSTR,long,LPHTMLSTYLESHEET*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLSelectionObject;
-#define INTERFACE IHTMLSelectionObject
-DECLARE_INTERFACE_(IHTMLSelectionObject,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(createRange)(THIS_ IDispatch**) PURE;
-	STDMETHOD(empty)(THIS) PURE;
-	STDMETHOD(clear)(THIS) PURE;
-	STDMETHOD(get_type)(THIS_ BSTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLTxtRange;
-#define INTERFACE IHTMLTxtRange
-DECLARE_INTERFACE_(IHTMLTxtRange,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(get_htmlText)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_text)(THIS_ BSTR) PURE;
-	STDMETHOD(get_text)(THIS_ BSTR*) PURE;
-	STDMETHOD(parentElement)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(duplicate)(THIS_ IHTMLTxtRange**) PURE;
-	STDMETHOD(inRange)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
-	STDMETHOD(isEqual)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
-	STDMETHOD(scrollIntoView)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(collapse)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(expand)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(move)(THIS_ BSTR,long,long*) PURE;
-	STDMETHOD(moveStart)(THIS_ BSTR,long,long*) PURE;
-	STDMETHOD(moveEnd)(THIS_ BSTR,long,long*) PURE;
-	STDMETHOD(select)(THIS) PURE;
-	STDMETHOD(pasteHTML)(THIS_ BSTR) PURE;
-	STDMETHOD(moveToElementText)(THIS_ LPHTMLELEMENT) PURE;
-	STDMETHOD(setEndPoint)(THIS_ BSTR,IHTMLTxtRange*) PURE;
-	STDMETHOD(compareEndPoints)(THIS_ BSTR,IHTMLTxtRange*,long*) PURE;
-	STDMETHOD(findText)(THIS_ BSTR,long,long,VARIANT_BOOL*) PURE;
-	STDMETHOD(moveToPoint)(THIS_ long,long) PURE;
-	STDMETHOD(getBookmark)(THIS_ BSTR*) PURE;
-	STDMETHOD(moveToBookbark)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
-	STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
-	STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
-	STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLElement;
-#define INTERFACE IHTMLElement
-DECLARE_INTERFACE_(IHTMLElement,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(setAttribute)(THIS_ BSTR,VARIANT,long) PURE;
-	STDMETHOD(getAttribute)(THIS_ BSTR,long,VARIANT*) PURE;
-	STDMETHOD(removeAttribute)(THIS_ BSTR,long,VARIANT_BOOL*) PURE;
-	STDMETHOD(put_className)(THIS_ BSTR) PURE;
-	STDMETHOD(get_className)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_id)(THIS_ BSTR) PURE;
-	STDMETHOD(get_id)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_tagName)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_parentElement)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(get_style)(THIS_ LPHTMLSTYLE*) PURE;
-	STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_document)(THIS_ IDispatch**) PURE;
-	STDMETHOD(put_title)(THIS_ BSTR) PURE;
-	STDMETHOD(get_title)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_language)(THIS_ BSTR) PURE;
-	STDMETHOD(get_language)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
-	STDMETHOD(scrollIntoView)(THIS_ VARIANT) PURE;
-	STDMETHOD(contains)(THIS_ LPHTMLELEMENT,VARIANT_BOOL*) PURE;
-	STDMETHOD(get_source3Index)(THIS_ long*) PURE;
-	STDMETHOD(get_recordNumber)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_lang)(THIS_ BSTR) PURE;
-	STDMETHOD(get_lang)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_offsetLeft)(THIS_ long*) PURE;
-	STDMETHOD(get_offsetTop)(THIS_ long*) PURE;
-	STDMETHOD(get_offsetWidth)(THIS_ long*) PURE;
-	STDMETHOD(get_offsetHeight)(THIS_ long*) PURE;
-	STDMETHOD(get_offsetParent)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(put_innerHTML)(THIS_ BSTR) PURE;
-	STDMETHOD(get_innerHTML)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_innerText)(THIS_ BSTR) PURE;
-	STDMETHOD(get_innerText)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_outerHTML)(THIS_ BSTR) PURE;
-	STDMETHOD(get_outerHTML)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_outerText)(THIS_ BSTR) PURE;
-	STDMETHOD(get_outerText)(THIS_ BSTR*) PURE;
-	STDMETHOD(insertAdjacentHTML)(THIS_ BSTR,BSTR) PURE;
-	STDMETHOD(insertAdjacentText)(THIS_ BSTR,BSTR) PURE;
-	STDMETHOD(get_parentTextEdit)(THIS_ LPHTMLELEMENT*) PURE;
-	STDMETHOD(isTextEdit)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(click)(THIS) PURE;
-	STDMETHOD(get_filters)(THIS_ LPHTMLFILTERSCOLLECTION*) PURE;
-	STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
-	STDMETHOD(toString)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondatasetchanged)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondatasetchanged)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondataavailable)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondataavailable)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_ondatasetcomplete)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_ondatasetcomplete)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onfilterchange)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onfilterchange)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_children)(THIS_ IDispatch**) PURE;
-	STDMETHOD(get_all)(THIS_ IDispatch**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLFramesCollection2;
-#define INTERFACE IHTMLFramesCollection2
-DECLARE_INTERFACE_(IHTMLFramesCollection2,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-    STDMETHOD(item)(THIS_ VARIANT*,VARIANT*) PURE;
-    STDMETHOD(get_length)(THIS_ long*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLWindow2;
-#define INTERFACE IHTMLWindow2
-DECLARE_INTERFACE_(IHTMLWindow2,IHTMLFramesCollection2)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-	STDMETHOD(item)(THIS_ VARIANT*,VARIANT*) PURE;
-	STDMETHOD(get_length)(THIS_ long*) PURE;
-
-	STDMETHOD(get_frames)(THIS_ IHTMLFramesCollection2**) PURE;
-	STDMETHOD(put_defaultStatus)(THIS_ BSTR) PURE;
-	STDMETHOD(get_defaultStatus)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_status)(THIS_ BSTR) PURE;
-	STDMETHOD(get_status)(THIS_ BSTR*) PURE;
-	STDMETHOD(setTimeout)(THIS_ BSTR,long,VARIANT*,long*) PURE;
-	STDMETHOD(clearTimeout)(THIS_ long) PURE;
-	STDMETHOD(alert)(THIS_ BSTR) PURE;
-	STDMETHOD(confirm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-	STDMETHOD(prompt)(THIS_ BSTR,BSTR,VARIANT*) PURE;
-	STDMETHOD(get_Image)(THIS_ LPHTMLIMAGEELEMENTFACTORY*) PURE;
-	STDMETHOD(get_location)(THIS_ LPHTMLLOCATION*) PURE;
-	STDMETHOD(get_history)(THIS_ LPOMHISTORY*) PURE;
-	STDMETHOD(close)(THIS) PURE;
-	STDMETHOD(put_opener)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_opener)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_navigator)(THIS_ LPOMNAVIGATOR*) PURE;
-	STDMETHOD(put_name)(THIS_ BSTR) PURE;
-	STDMETHOD(get_name)(THIS_ BSTR*) PURE;
-	STDMETHOD(get_parent)(THIS_ LPHTMLWINDOW2*) PURE;
-	STDMETHOD(open)(THIS_ BSTR,BSTR,BSTR,VARIANT_BOOL,LPHTMLWINDOW2*) PURE;
-	STDMETHOD(get_self)(THIS_ LPHTMLWINDOW2*) PURE;
-	STDMETHOD(get_top)(THIS_ LPHTMLWINDOW2*) PURE;
-	STDMETHOD(get_window)(THIS_ LPHTMLWINDOW2*) PURE;
-	STDMETHOD(navigate)(THIS_ BSTR) PURE;
-	STDMETHOD(put_onfocus)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onfocus)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onblur)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onblur)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onbeforeunload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onbeforeunload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onunload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onunload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onresize)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onresize)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onscroll)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onscroll)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_document)(THIS_ IHTMLDocument2**) PURE;
-	STDMETHOD(get_event)(THIS_ LPHTMLEVENTOBJ*) PURE;
-	STDMETHOD(get__newEnum)(THIS_ IUnknown**) PURE;
-	STDMETHOD(showModalDialog)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*) PURE;
-	STDMETHOD(showHelp)(THIS_ BSTR,VARIANT,BSTR) PURE;
-	STDMETHOD(get_screen)(THIS_ LPHTMLSCREEN*) PURE;
-	STDMETHOD(get_Option)(THIS_ LPHTMLOPTIONELEMENTFACTORY*) PURE;
-	STDMETHOD(focus)(THIS) PURE;
-	STDMETHOD(get_closed)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(blur)(THIS) PURE;
-	STDMETHOD(scroll)(THIS_ long,long) PURE;
-	STDMETHOD(get_clientInformation)(THIS_ LPOMNAVIGATOR*) PURE;
-	STDMETHOD(setInterval)(THIS_ BSTR,long,VARIANT*,long*) PURE;
-	STDMETHOD(clearInterval)(THIS_ long) PURE;
-	STDMETHOD(put_offscreenBuffering)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_offscreenBuffering)(THIS_ VARIANT*) PURE;
-	STDMETHOD(execScript)(THIS_ BSTR,BSTR,VARIANT*) PURE;
-	STDMETHOD(toString)(THIS_ BSTR*) PURE;
-	STDMETHOD(scrollBy)(THIS_ long,long) PURE;
-	STDMETHOD(scrollTo)(THIS_ long,long) PURE;
-	STDMETHOD(moveTo)(THIS_ long,long) PURE;
-	STDMETHOD(moveBy)(THIS_ long,long) PURE;
-	STDMETHOD(resizeTo)(THIS_ long,long) PURE;
-	STDMETHOD(resizeBy)(THIS_ long,long) PURE;
-	STDMETHOD(get_external)(THIS_ IDispatch**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLFrameBase;
-#define INTERFACE IHTMLFrameBase
-DECLARE_INTERFACE_(IHTMLFrameBase,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_src)(THIS_ BSTR) PURE;
-	STDMETHOD(get_src)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_name)(THIS_ BSTR) PURE;
-	STDMETHOD(get_name)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_border)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_border)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_frameBorder)(THIS_ BSTR) PURE;
-	STDMETHOD(get_frameBorder)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_frameSpacing)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_frameSpacing)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_marginWidth)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_marginWidth)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_marginHeight)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_marginHeight)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_noResize)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_noResize)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_scrolling)(THIS_ BSTR) PURE;
-	STDMETHOD(get_scrolling)(THIS_ BSTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLFrameBase2;
-#define INTERFACE IHTMLFrameBase2
-DECLARE_INTERFACE_(IHTMLFrameBase2,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(get_contentWindow)(THIS_ IHTMLWindow2 **) PURE;
-	STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
-	STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_allowTransparency)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_allowTransparency)(THIS_ VARIANT_BOOL*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLFrameBase3;
-#define INTERFACE IHTMLFrameBase3
-DECLARE_INTERFACE_(IHTMLFrameBase3,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_longDesc)(THIS_ BSTR) PURE;
-	STDMETHOD(get_longDesc)(THIS_ BSTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLBodyElement;
-#define INTERFACE IHTMLBodyElement
-DECLARE_INTERFACE_(IHTMLBodyElement,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_background)(THIS_ BSTR) PURE;
-	STDMETHOD(get_background)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_bgProperties)(THIS_ BSTR) PURE;
-	STDMETHOD(get_bgProperties)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_leftMargin)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_leftMargin)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_topMargin)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_topMargin)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_rightMargin)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_rightMargin)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_bottomMargin)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_bottomMargin)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_noWrap)(THIS_ VARIANT_BOOL) PURE;
-	STDMETHOD(get_noWrap)(THIS_ VARIANT_BOOL*) PURE;
-	STDMETHOD(put_bgColor)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_bgColor)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_text)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_text)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_link)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_link)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_vLink)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_vLink)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_aLink)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_aLink)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onunload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onunload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_scroll)(THIS_ BSTR) PURE;
-	STDMETHOD(get_scroll)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_onselect)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onselect)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onbeforeunload)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onbeforeunload)(THIS_ VARIANT*) PURE;
-	STDMETHOD(createTextRange)(THIS_ IHTMLTxtRange**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IHTMLBodyElement2;
-#define INTERFACE IHTMLBodyElement2
-DECLARE_INTERFACE_(IHTMLBodyElement2,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-	STDMETHOD(put_onbeforeprint)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onbeforeprint)(THIS_ VARIANT*) PURE;
-	STDMETHOD(put_onafterprint)(THIS_ VARIANT) PURE;
-	STDMETHOD(get_onafterprint)(THIS_ VARIANT*) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/msvcrtver.h
===================================================================
--- Daodan/MinGW/include/msvcrtver.h	(revision 1046)
+++ 	(revision )
@@ -1,83 +1,0 @@
-/*
- * msvcrtver.h
- *
- * Macros for identification of specific versions of MSVC runtime
- * libraries, which may be substituted for MSVCRT.DLL
- *
- * $Id: msvcrtver.h,v 6d8ad2c4dde7 2015/06/19 11:43:28 keithmarshall $
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * 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 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.
- *
- */
-#ifndef _MSVCRTVER_H
-#define _MSVCRTVER_H
-#pragma GCC system_header
-
-/* When it is intended to link an application with any one of the
- * MSVC version specific MSVCRxx.DLL libraries, rather than with the
- * OS default MSVCRT.DLL, the particular substitute MSVCRxx.DLL may
- * be specified as any one of the following...
- */
-#define __MSVCR60_DLL		0x0600
-#define __MSVCR61_DLL		0x0601
-#define __MSVCR70_DLL		0x0700
-#define __MSVCR71_DLL		0x0701
-#define __MSVCR80_DLL		0x0800
-#define __MSVCR90_DLL		0x0900
-#define __MSVCR100_DLL		0x1000
-#define __MSVCR110_DLL		0x1100
-#define __MSVCR120_DLL		0x1200
-
-#ifndef __MSVCRT_VERSION__
-/* This may be set, when the intent is to link with any of the above
- * non-freely distributable MSVCRxx.DLL libraries, rather than with the
- * pseudo-free MSVCRT.DLL provided as an OS component.  High byte is the
- * major version number, low byte is the minor; however, users are advised
- * to use custom GCC specs files to set this, while also substituting the
- * appropriate library in place of MSVCRT.DLL, rather than to simply set
- * it directly.
- *
- * It should be noted that __MSVCRT_VERSION__ is NOT a good indicator of
- * evolving MSVCRT.DLL features; that is better accomplished by using the
- * NTDDI_VERSION setting from the Windows API.  Thus, users of MSVCRT.DLL
- * should NOT set __MSVCRT_VERSION__, leaving us to establish a default,
- * equivalent to MSVCR60.DLL, which seems reasonably well aligned with
- * the feature set of the earliest MSVCRT.DLL version we support.
- */
-# define __MSVCRT_VERSION__  __MSVCR60_DLL
-#endif
-
-/* This is an exception to the normal rule, that all mingwrt system
- * header files should include _mingw.h, since inclusion of _mingw.h
- * itself will cause this file to be included.  Thus, we recommend
- * that this file should not be included directly, but we do not
- * forbid doing so; however, in this event...
- */
-#ifndef __MINGW_H
-/* ...we must ensure that _mingw.h has also been included.
- */
-# include <_mingw.h>
-#endif
-
-#endif /* !_MSVCRTVER_H: $RCSfile: msvcrtver.h,v $: end of file */
Index: Daodan/MinGW/include/mswsock.h
===================================================================
--- Daodan/MinGW/include/mswsock.h	(revision 1046)
+++ 	(revision )
@@ -1,113 +1,0 @@
-/*
- * mswsock.h
- * MS-specific extensions to Windows Sockets, exported from mswsock.dll.
- * These functions are N/A on Windows9x.
- *
- * This file is part of a free library for the Win32 API.
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _MSWSOCK_H
-#define _MSWSOCK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SO_CONNDATA	0x7000
-#define SO_CONNOPT	0x7001
-#define SO_DISCDATA	0x7002
-#define SO_DISCOPT	0x7003
-#define SO_CONNDATALEN	0x7004
-#define SO_CONNOPTLEN	0x7005
-#define SO_DISCDATALEN	0x7006
-#define SO_DISCOPTLEN	0x7007
-#define SO_OPENTYPE	0x7008
-#define SO_SYNCHRONOUS_ALERT	0x10
-#define SO_SYNCHRONOUS_NONALERT	0x20
-#define SO_MAXDG	0x7009
-#define SO_MAXPATHDG	0x700A
-#define SO_UPDATE_ACCEPT_CONTEXT	0x700B
-#define SO_CONNECT_TIME	0x700C
-#define TCP_BSDURGENT	0x7000
-
-#define TF_DISCONNECT   1
-#define TF_REUSE_SOCKET 2
-#define TF_WRITE_BEHIND 4
-#define TF_USE_DEFAULT_WORKER   0
-#define TF_USE_SYSTEM_THREAD    16
-#define TF_USE_KERNEL_APC   32
-
-typedef struct _TRANSMIT_FILE_BUFFERS {
-	PVOID Head;
-	DWORD HeadLength;
-	PVOID Tail;
-	DWORD TailLength;
-} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS;
-
-int PASCAL WSARecvEx(SOCKET,char*,int,int*);
-BOOL PASCAL TransmitFile(SOCKET,HANDLE,DWORD,DWORD,LPOVERLAPPED,LPTRANSMIT_FILE_BUFFERS,DWORD);
-BOOL PASCAL AcceptEx(SOCKET,SOCKET,PVOID,DWORD,DWORD,DWORD,LPDWORD,LPOVERLAPPED);
-VOID PASCAL GetAcceptExSockaddrs(PVOID,DWORD,DWORD,DWORD,struct sockaddr**, LPINT, struct sockaddr**, LPINT);
-
-#ifdef _WINSOCK2_H /* These require the winsock2 interface.  */
-
-#define TP_ELEMENT_FILE		1
-#define TP_ELEMENT_MEMORY	2
-#define TP_ELEMENT_EOP		4
-
-typedef struct _TRANSMIT_PACKETS_ELEMENT {
-	ULONG dwElFlags;
-	ULONG cLength;
-	_ANONYMOUS_UNION
-	union {
-		struct {
-			LARGE_INTEGER	nFileOffset;
-			HANDLE		hFile;
-		};
-		PVOID	pBuffer;
-	};
-} TRANSMIT_PACKETS_ELEMENT;
-
-typedef struct _WSAMSG {
-	LPSOCKADDR	name;
-	INT		namelen;
-	LPWSABUF	lpBuffers;
-	DWORD		dwBufferCount;
-	WSABUF		Control;
-	DWORD		dwFlags;
-} WSAMSG, *PWSAMSG, *LPWSAMSG;
-
-
-/* According to MSDN docs, the WSAMSG.Control buffer starts with a
-   cmsghdr header of the following form.  See also RFC 2292. */
-
-typedef struct wsacmsghdr {
-	UINT	cmsg_len;
-	INT	cmsg_level;
- 	INT	cmsg_type;
-	/* followed by UCHAR cmsg_data[]; */
-} WSACMSGHDR;
-
-/* TODO: Standard Posix.1g macros as per RFC 2292, with WSA_uglification. */
-#if 0
-#define WSA_CMSG_FIRSTHDR(mhdr)
-#define WSA_CMSG_NXTHDR(mhdr, cmsg)
-#define WSA_CMSG_SPACE(length)
-#define WSA_CMSG_LEN(length)
-#endif
-
-BOOL PASCAL DisconnectEx(SOCKET,LPOVERLAPPED,DWORD,DWORD);
-int PASCAL WSARecvMsg(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-
-#endif /* _WINSOCK2_H */
-
-#ifdef __cplusplus
-}
-#endif
-#endif  /*  _MSWSOCK_H */
-
Index: Daodan/MinGW/include/nb30.h
===================================================================
--- Daodan/MinGW/include/nb30.h	(revision 1046)
+++ 	(revision )
@@ -1,186 +1,0 @@
-#ifndef _NB30_H
-#define _NB30_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define NCBNAMSZ 16
-#define MAX_LANA 254
-#define NAME_FLAGS_MASK 0x87
-#define GROUP_NAME 0x80
-#define UNIQUE_NAME 0x00
-#define REGISTERING 0x00
-#define REGISTERED 0x04
-#define DEREGISTERED 0x05
-#define DUPLICATE 0x06
-#define DUPLICATE_DEREG 0x07
-#define LISTEN_OUTSTANDING 0x01
-#define CALL_PENDING 0x02
-#define SESSION_ESTABLISHED 0x03
-#define HANGUP_PENDING 0x04
-#define HANGUP_COMPLETE 0x05
-#define SESSION_ABORTED 0x06
-#define ALL_TRANSPORTS "M\0\0\0"
-#define MS_NBF "MNBF"
-#define NCBCALL 0x10
-#define NCBLISTEN 0x11
-#define NCBHANGUP 0x12
-#define NCBSEND 0x14
-#define NCBRECV 0x15
-#define NCBRECVANY 0x16
-#define NCBCHAINSEND 0x17
-#define NCBDGSEND 0x20
-#define NCBDGRECV 0x21
-#define NCBDGSENDBC 0x22
-#define NCBDGRECVBC 0x23
-#define NCBADDNAME 0x30
-#define NCBDELNAME 0x31
-#define NCBRESET 0x32
-#define NCBASTAT 0x33
-#define NCBSSTAT 0x34
-#define NCBCANCEL 0x35
-#define NCBADDGRNAME 0x36
-#define NCBENUM 0x37
-#define NCBUNLINK 0x70
-#define NCBSENDNA 0x71
-#define NCBCHAINSENDNA 0x72
-#define NCBLANSTALERT 0x73
-#define NCBACTION 0x77
-#define NCBFINDNAME 0x78
-#define NCBTRACE 0x79
-#define ASYNCH 0x80
-#define NRC_GOODRET 0x00
-#define NRC_BUFLEN 0x01
-#define NRC_ILLCMD 0x03
-#define NRC_CMDTMO 0x05
-#define NRC_INCOMP 0x06
-#define NRC_BADDR 0x07
-#define NRC_SNUMOUT 0x08
-#define NRC_NORES 0x09
-#define NRC_SCLOSED 0x0a
-#define NRC_CMDCAN 0x0b
-#define NRC_DUPNAME 0x0d
-#define NRC_NAMTFUL 0x0e
-#define NRC_ACTSES 0x0f
-#define NRC_LOCTFUL 0x11
-#define NRC_REMTFUL 0x12
-#define NRC_ILLNN 0x13
-#define NRC_NOCALL 0x14
-#define NRC_NOWILD 0x15
-#define NRC_INUSE 0x16
-#define NRC_NAMERR 0x17
-#define NRC_SABORT 0x18
-#define NRC_NAMCONF 0x19
-#define NRC_IFBUSY 0x21
-#define NRC_TOOMANY 0x22
-#define NRC_BRIDGE 0x23
-#define NRC_CANOCCR 0x24
-#define NRC_CANCEL 0x26
-#define NRC_DUPENV 0x30
-#define NRC_ENVNOTDEF 0x34
-#define NRC_OSRESNOTAV 0x35
-#define NRC_MAXAPPS 0x36
-#define NRC_NOSAPS 0x37
-#define NRC_NORESOURCES 0x38
-#define NRC_INVADDRESS 0x39
-#define NRC_INVDDID 0x3B
-#define NRC_LOCKFAIL 0x3C
-#define NRC_OPENERR 0x3f
-#define NRC_SYSTEM 0x40
-#define NRC_PENDING 0xff
-#define NCB_POST void CALLBACK
-typedef struct _ACTION_HEADER {
-	ULONG transport_id;
-	USHORT action_code;
-	USHORT reserved;
-} ACTION_HEADER,*PACTION_HEADER;
-typedef struct _ADAPTER_STATUS {
-	UCHAR adapter_address[6];
-	UCHAR rev_major;
-	UCHAR reserved0;
-	UCHAR adapter_type;
-	UCHAR rev_minor;
-	WORD duration;
-	WORD frmr_recv;
-	WORD frmr_xmit;
-	WORD iframe_recv_err;
-	WORD xmit_aborts;
-	DWORD xmit_success;
-	DWORD recv_success;
-	WORD iframe_xmit_err;
-	WORD recv_buff_unavail;
-	WORD t1_timeouts;
-	WORD ti_timeouts;
-	DWORD reserved1;
-	WORD free_ncbs;
-	WORD max_cfg_ncbs;
-	WORD max_ncbs;
-	WORD xmit_buf_unavail;
-	WORD max_dgram_size;
-	WORD pending_sess;
-	WORD max_cfg_sess;
-	WORD max_sess;
-	WORD max_sess_pkt_size;
-	WORD name_count;
-} ADAPTER_STATUS,*PADAPTER_STATUS;
-typedef struct _FIND_NAME_BUFFER {
-	UCHAR length;
-	UCHAR access_control;
-	UCHAR frame_control;
-	UCHAR destination_addr[6];
-	UCHAR source_addr[6];
-	UCHAR routing_info[18];
-} FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
-typedef struct _FIND_NAME_HEADER {
-	WORD node_count;
-	UCHAR reserved;
-	UCHAR unique_group;
-} FIND_NAME_HEADER,*PFIND_NAME_HEADER;
-typedef struct _LANA_ENUM {
-	UCHAR length;
-	UCHAR lana[MAX_LANA+1];
-} LANA_ENUM,*PLANA_ENUM;
-typedef struct _NAME_BUFFER {
-	UCHAR name[NCBNAMSZ];
-	UCHAR name_num;
-	UCHAR name_flags;
-} NAME_BUFFER,*PNAME_BUFFER;
-typedef struct _NCB {
-	UCHAR ncb_command;
-	UCHAR ncb_retcode;
-	UCHAR ncb_lsn;
-	UCHAR ncb_num;
-	PUCHAR ncb_buffer;
-	WORD ncb_length;
-	UCHAR ncb_callname[NCBNAMSZ];
-	UCHAR ncb_name[NCBNAMSZ];
-	UCHAR ncb_rto;
-	UCHAR ncb_sto;
-	void (CALLBACK *ncb_post)(struct _NCB*);
-	UCHAR ncb_lana_num;
-	UCHAR ncb_cmd_cplt;
-	UCHAR ncb_reserve[10];
-	HANDLE ncb_event;
-} NCB,*PNCB;
-typedef struct _SESSION_BUFFER {
-	UCHAR lsn;
-	UCHAR state;
-	UCHAR local_name[NCBNAMSZ];
-	UCHAR remote_name[NCBNAMSZ];
-	UCHAR rcvs_outstanding;
-	UCHAR sends_outstanding;
-} SESSION_BUFFER,*PSESSION_BUFFER;
-typedef struct _SESSION_HEADER {
-	UCHAR sess_name;
-	UCHAR num_sess;
-	UCHAR rcv_dg_outstanding;
-	UCHAR rcv_any_outstanding;
-} SESSION_HEADER,*PSESSION_HEADER;
-UCHAR WINAPI Netbios(PNCB);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/nddeapi.h
===================================================================
--- Daodan/MinGW/include/nddeapi.h	(revision 1046)
+++ 	(revision )
@@ -1,133 +1,0 @@
-#ifndef _NDDEAPI_H
-#define _NDDEAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef CNLEN /* also in lmcons.h */
-#define CNLEN 15
-#define UNCLEN (CNLEN + 2)
-#endif
-#define SEP_CHAR ','
-#define BAR_CHAR "|"
-#define SEP_WCHAR L','
-#define BAR_WCHAR L"|"
-#define NDDE_NO_ERROR 0
-#define NDDE_ACCESS_DENIED 1
-#define NDDE_BUF_TOO_SMALL 2
-#define NDDE_ERROR_MORE_DATA 3
-#define NDDE_INVALID_SERVER 4
-#define NDDE_INVALID_SHARE 5
-#define NDDE_INVALID_PARAMETER 6
-#define NDDE_INVALID_LEVEL 7
-#define NDDE_INVALID_PASSWORD 8
-#define NDDE_INVALID_ITEMNAME 9
-#define NDDE_INVALID_TOPIC 10
-#define NDDE_INTERNAL_ERROR 11
-#define NDDE_OUT_OF_MEMORY 12
-#define NDDE_INVALID_APPNAME 13
-#define NDDE_NOT_IMPLEMENTED 14
-#define NDDE_SHARE_ALREADY_EXIST 15
-#define NDDE_SHARE_NOT_EXIST 16
-#define NDDE_INVALID_FILENAME 17
-#define NDDE_NOT_RUNNING 18
-#define NDDE_INVALID_WINDOW 19
-#define NDDE_INVALID_SESSION 20
-#define NDDE_INVALID_ITEM_LIST 21
-#define NDDE_SHARE_DATA_CORRUPTED 22
-#define NDDE_REGISTRY_ERROR 23
-#define NDDE_CANT_ACCESS_SERVER 24
-#define NDDE_INVALID_SPECIAL_COMMAND 25
-#define NDDE_INVALID_SECURITY_DESC 26
-#define NDDE_TRUST_SHARE_FAIL 27
-#define MAX_NDDESHARENAME 256
-#define MAX_DOMAINNAME 15
-#define MAX_USERNAME 15
-#define MAX_APPNAME 255
-#define MAX_TOPICNAME 255
-#define MAX_ITEMNAME 255
-#define NDDEF_NOPASSWORDPROMPT 0x0001
-#define NDDEF_NOCACHELOOKUP 0x0002
-#define NDDEF_STRIP_NDDE 0x0004
-#define SHARE_TYPE_OLD 0x01
-#define SHARE_TYPE_NEW 0x02
-#define SHARE_TYPE_STATIC 0x04
-#define NDDE_TRUST_SHARE_START 0x80000000L
-#define NDDE_TRUST_SHARE_INIT 0x40000000L
-#define NDDE_TRUST_SHARE_DEL 0x20000000L
-#define NDDE_TRUST_CMD_SHOW 0x10000000L
-#define NDDE_CMD_SHOW_MASK 0x0000FFFFL
-struct NDdeShareInfo_tag {
-	LONG lRevision;
-	LPTSTR lpszShareName;
-	LONG lShareType;
-	LPTSTR lpszAppTopicList;
-	LONG fSharedFlag;
-	LONG fService;
-	LONG fStartAppFlag;
-	LONG nCmdShow;
-	LONG qModifyId[2];
-	LONG cNumItems;
-	LPTSTR lpszItemList;
-} NDDESHAREINFO,*PNDDESHAREINFO;
-
-UINT WINAPI NDdeGetErrorStringA(UINT,LPSTR,DWORD);
-UINT WINAPI NDdeGetErrorStringW(UINT,LPWSTR,DWORD);
-UINT WINAPI NDdeGetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-UINT WINAPI NDdeGetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-UINT WINAPI NDdeGetTrustedShareA(LPSTR,LPSTR,PDWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeGetTrustedShareW(LPWSTR,LPWSTR,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI NDdeIsValidShareNameA(LPSTR);
-BOOL WINAPI NDdeIsValidShareNameW(LPWSTR);
-BOOL WINAPI NDdeIsValidAppTopicListA(LPSTR);
-BOOL WINAPI NDdeIsValidAppTopicListW(LPWSTR);
-UINT WINAPI NDdeSetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-UINT WINAPI NDdeSetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-UINT WINAPI NDdeSetTrustedShareA(LPSTR,LPSTR,DWORD);
-UINT WINAPI NDdeSetTrustedShareW(LPWSTR,LPWSTR,DWORD);
-UINT WINAPI NDdeShareAddA(LPSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD);
-UINT WINAPI NDdeShareAddW(LPWSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD);
-UINT WINAPI NDdeShareDelA(LPSTR,LPSTR,UINT);
-UINT WINAPI NDdeShareDelW(LPWSTR,LPWSTR,UINT);
-UINT WINAPI NDdeShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeShareGetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,PDWORD,PWORD);
-UINT WINAPI NDdeShareGetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,PDWORD,PWORD);
-UINT WINAPI NDdeShareSetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,WORD);
-UINT WINAPI NDdeShareSetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,WORD);
-UINT WINAPI NDdeTrustedShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeTrustedShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-#ifdef UNICODE
-#define NDdeShareAdd NDdeShareAddW
-#define NDdeShareDel NDdeShareDelW
-#define NDdeSetShareSecurity NDdeSetShareSecurityW
-#define NDdeGetShareSecurity NDdeGetShareSecurityW
-#define NDdeShareEnum NDdeShareEnumW
-#define NDdeShareGetInfo NDdeShareGetInfoW
-#define NDdeShareSetInfo NDdeShareSetInfoW
-#define NDdeGetErrorString NDdeGetErrorStringW
-#define NDdeSetTrustedShare NDdeSetTrustedShareW
-#define NDdeGetTrustedShare NDdeGetTrustedShareW
-#define NDdeTrustedShareEnum NDdeTrustedShareEnumW
-#else
-#define NDdeShareAdd NDdeShareAddA
-#define NDdeShareDel NDdeShareDelA
-#define NDdeSetShareSecurity NDdeSetShareSecurityA
-#define NDdeGetShareSecurity NDdeGetShareSecurityA
-#define NDdeShareEnum NDdeShareEnumA
-#define NDdeShareGetInfo NDdeShareGetInfoA
-#define NDdeShareSetInfo NDdeShareSetInfoA
-#define NDdeGetErrorString NDdeGetErrorStringA
-#define NDdeIsValidShareName NDdeIsValidShareNameA
-#define NDdeIsValidAppTopicList NDdeIsValidAppTopicListA
-#define NDdeSetTrustedShare NDdeSetTrustedShareA
-#define NDdeGetTrustedShare NDdeGetTrustedShareA
-#define NDdeTrustedShareEnum NDdeTrustedShareEnumA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/nspapi.h
===================================================================
--- Daodan/MinGW/include/nspapi.h	(revision 1046)
+++ 	(revision )
@@ -1,126 +1,0 @@
-#ifndef _NSPAPI_H
-#define _NSPAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NS_ALL		0
-
-#define NS_SAP		1
-#define NS_NDS		2
-#define NS_PEER_BROWSE	3
-
-#define NS_TCPIP_LOCAL	10
-#define NS_TCPIP_HOSTS	11
-#define NS_DNS		12
-#define NS_NETBT	13
-#define NS_WINS		14
-
-#define NS_NBP		20
-
-#define NS_MS		30
-#define NS_STDA		31
-#define NS_NTDS		32
-
-#define NS_X500		40
-#define NS_NIS		41
-#define NS_NISPLUS	42
-
-#define NS_WRQ		50
-
-#define SERVICE_REGISTER	1
-#define SERVICE_DEREGISTER	2
-#define SERVICE_FLUSH		3
-#define SERVICE_FLAG_HARD	0x00000002
-
-#ifndef RC_INVOKED
-
-#if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */
-#ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */
-#define __CSADDR_T_DEFINED
-typedef struct _SOCKET_ADDRESS {
-	LPSOCKADDR lpSockaddr;
-	INT iSockaddrLength;
-} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
-typedef struct _CSADDR_INFO {
-	SOCKET_ADDRESS LocalAddr;
-	SOCKET_ADDRESS RemoteAddr;
-	INT iSocketType;
-	INT iProtocol;
-} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
-#endif
-#endif
-
-#ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
-	ULONG	cbSize;
-	BYTE	*pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-
-typedef struct _SERVICE_ADDRESS {
-	DWORD dwAddressType;
-	DWORD dwAddressFlags;
-	DWORD dwAddressLength;
-	DWORD dwPrincipalLength;
-	BYTE *lpAddress;
-	BYTE *lpPrincipal;
-} SERVICE_ADDRESS;
-typedef struct _SERVICE_ADDRESSES {
-	DWORD dwAddressCount;
-	SERVICE_ADDRESS Addresses[1];
-} SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
-typedef struct _SERVICE_INFOA {
-	LPGUID lpServiceType;
-	LPSTR lpServiceName;
-	LPSTR lpComment;
-	LPSTR lpLocale;
-	DWORD dwDisplayHint;
-	DWORD dwVersion;
-	DWORD dwTime;
-	LPSTR lpMachineName;
-	LPSERVICE_ADDRESSES lpServiceAddress;
-	BLOB ServiceSpecificInfo;
-} SERVICE_INFOA, *LPSERVICE_INFOA;
-typedef struct _SERVICE_INFOW {
-	LPGUID lpServiceType;
-	LPWSTR lpServiceName;
-	LPWSTR lpComment;
-	LPWSTR lpLocale;
-	DWORD dwDisplayHint;
-	DWORD dwVersion;
-	DWORD dwTime;
-	LPWSTR lpMachineName;
-	LPSERVICE_ADDRESSES lpServiceAddress;
-	BLOB ServiceSpecificInfo;
-} SERVICE_INFOW, *LPSERVICE_INFOW;
-
-typedef void *LPSERVICE_ASYNC_INFO;
-INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
-INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOW,LPSERVICE_ASYNC_INFO,LPDWORD);
-INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPSTR,LPDWORD);
-INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPWSTR,LPDWORD);
-
-#ifdef UNICODE
-typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO;
-#define _SERVICE_INFO SERVICE_INFOW
-#define SetService SetServiceW
-#define GetAddressByName GetAddressByNameW
-#else
-typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO;
-#define _SERVICE_INFO SERVICE_INFOA
-#define SetService SetServiceA
-#define GetAddressByName GetAddressByNameA
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _NSPAPI_H */
Index: Daodan/MinGW/include/ntdef.h
===================================================================
--- Daodan/MinGW/include/ntdef.h	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-#ifndef _NTDEF_H
-#define _NTDEF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define NTAPI __stdcall
-#define OBJ_INHERIT 2L
-#define OBJ_PERMANENT 16L
-#define OBJ_EXCLUSIVE 32L
-#define OBJ_CASE_INSENSITIVE 64L
-#define OBJ_OPENIF 128L
-#define OBJ_OPENLINK 256L
-#define OBJ_VALID_ATTRIBUTES 498L
-#define InitializeObjectAttributes(p,n,a,r,s) { \
-  (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
-  (p)->RootDirectory = (r); \
-  (p)->Attributes = (a); \
-  (p)->ObjectName = (n); \
-  (p)->SecurityDescriptor = (s); \
-  (p)->SecurityQualityOfService = NULL; \
-}
-#ifndef NT_SUCCESS
-#define NT_SUCCESS(x) ((x)>=0)
-#define STATUS_SUCCESS ((NTSTATUS)0)
-#endif
-#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PWSTR  Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef const UNICODE_STRING* PCUNICODE_STRING;
-typedef struct _STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PCHAR  Buffer;
-} STRING, *PSTRING;
-#endif
-typedef STRING ANSI_STRING;
-typedef PSTRING PANSI_STRING;
-typedef STRING OEM_STRING;
-typedef PSTRING POEM_STRING;
-typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
-typedef enum _SECTION_INHERIT {
-  ViewShare = 1,
-  ViewUnmap = 2
-} SECTION_INHERIT;
-#if !defined(_NTSECAPI_H)
-typedef struct _OBJECT_ATTRIBUTES {
-  ULONG Length;
-  HANDLE RootDirectory;
-  PUNICODE_STRING ObjectName;
-  ULONG Attributes;
-  PVOID SecurityDescriptor;
-  PVOID SecurityQualityOfService;
-} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
-#endif
-#endif /* _NTDEF_H */
Index: Daodan/MinGW/include/ntdll.h
===================================================================
--- Daodan/MinGW/include/ntdll.h	(revision 1046)
+++ 	(revision )
@@ -1,15 +1,0 @@
-#ifndef _NTDLL_H
-#define _NTDLL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum _SHUTDOWN_ACTION {
-     ShutdownNoReboot,
-     ShutdownReboot,
-     ShutdownPowerOff
- } SHUTDOWN_ACTION;
-
-DWORD WINAPI NtShutdownSystem (SHUTDOWN_ACTION Action);
-
-#endif /* _NTDLL_H */
Index: Daodan/MinGW/include/ntdsapi.h
===================================================================
--- Daodan/MinGW/include/ntdsapi.h	(revision 1046)
+++ 	(revision )
@@ -1,115 +1,0 @@
-/*
- * ntdsapi.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _NTDSAPI_H
-#define _NTDSAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Enumerations */
-#if (_WIN32_WINNT >= 0x0501)
-typedef enum _DS_MANGLE_FOR {
-	DS_MANGLE_UNKNOWN = 0,
-	DS_MANGLE_OBJECT_RDN_FOR_DELETION = 1,
-	DS_MANGLE_OBJECT_RDN_FOR_NAME_CONFLICT = 2
-} DS_MANGLE_FOR;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum {
-	DS_NAME_NO_ERROR = 0,
-	DS_NAME_ERROR_RESOLVING = 1,
-	DS_NAME_ERROR_NOT_FOUND = 2,
-	DS_NAME_ERROR_NOT_UNIQUE = 3,
-	DS_NAME_ERROR_NO_MAPPING = 4,
-	DS_NAME_ERROR_DOMAIN_ONLY = 5,
-	DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6,
-	DS_NAME_ERROR_TRUST_REFERRAL = 7
-} DS_NAME_ERROR;
-typedef enum {
-	DS_NAME_NO_FLAGS = 0x0,
-	DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
-	DS_NAME_FLAG_EVAL_AT_DC = 0x2,
-	DS_NAME_FLAG_GCVERIFY = 0x4,
-	DS_NAME_FLAG_TRUST_REFERRAL = 0x8
-} DS_NAME_FLAGS;
-typedef enum {
-	DS_UNKNOWN_NAME = 0,
-	DS_FQDN_1779_NAME = 1,
-	DS_NT4_ACCOUNT_NAME = 2,
-	DS_DISPLAY_NAME = 3,
-	DS_UNIQUE_ID_NAME = 6,
-	DS_CANONICAL_NAME = 7,
-	DS_USER_PRINCIPAL_NAME = 8,
-	DS_CANONICAL_NAME_EX = 9,
-	DS_SERVICE_PRINCIPAL_NAME = 10,
-	DS_SID_OR_SID_HISTORY_NAME = 11,
-	DS_DNS_DOMAIN_NAME = 12
-} DS_NAME_FORMAT;
-typedef enum _DS_REPL_INFO_TYPE {
-	DS_REPL_INFO_NEIGHBORS = 0,
-	DS_REPL_INFO_CURSORS_FOR_NC = 1,
-	DS_REPL_INFO_METADATA_FOR_OBJ = 2,
-	DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES = 3,
-	DS_REPL_INFO_KCC_DSA_LINK_FAILURES = 4,
-	DS_REPL_INFO_PENDING_OPS = 5,
-	DS_REPL_INFO_METADATA_FOR_ATTR_VALUE = 6,
-	DS_REPL_INFO_CURSORS_2_FOR_NC = 7,
-	DS_REPL_INFO_CURSORS_3_FOR_NC = 8,
-	DS_REPL_INFO_METADATA_2_FOR_OBJ = 9,
-	DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE = 10
-} DS_REPL_INFO_TYPE;
-typedef enum {
-	DS_REPL_OP_TYPE_SYNC = 0,
-	DS_REPL_OP_TYPE_ADD,
-	DS_REPL_OP_TYPE_DELETE,
-	DS_REPL_OP_TYPE_MODIFY,
-	DS_REPL_OP_TYPE_UPDATE_REFS
-} DS_REPL_OP_TYPE;
-typedef enum {
-	DS_REPSYNCALL_WIN32_ERROR_CONTACTING_SERVER = 0,
-	DS_REPSYNCALL_WIN32_ERROR_REPLICATING = 1,
-	DS_REPSYNCALL_SERVER_UNREACHABLE = 2
-} DS_REPSYNCALL_ERROR;
-typedef enum {
-	DS_REPSYNCALL_EVENT_ERROR = 0,
-	DS_REPSYNCALL_EVENT_SYNC_STARTED = 1,
-	DS_REPSYNCALL_EVENT_SYNC_COMPLETED = 2,
-	DS_REPSYNCALL_EVENT_FINISHED = 3
-} DS_REPSYNCALL_EVENT;
-typedef enum {
-	DS_SPN_DNS_HOST = 0,
-	DS_SPN_DN_HOST = 1,
-	DS_SPN_NB_HOST = 2,
-	DS_SPN_DOMAIN = 3,
-	DS_SPN_NB_DOMAIN = 4,
-	DS_SPN_SERVICE = 5
-} DS_SPN_NAME_TYPE;
-typedef enum {
-	DS_SPN_ADD_SPN_OP = 0,
-	DS_SPN_REPLACE_SPN_OP = 1,
-	DS_SPN_DELETE_SPN_OP = 2
-} DS_SPN_WRITE_OP;
-
-
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ntdsbcli.h
===================================================================
--- Daodan/MinGW/include/ntdsbcli.h	(revision 1046)
+++ 	(revision )
@@ -1,45 +1,0 @@
-/*
- * ntdsbcli.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _NTDSBCLI_H
-#define _NTDSBCLI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Directory Backup Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct {
-	LPSTR szDatabaseName;
-	LPSTR szNewDatabaseName;
-} EDB_RSTMAPA,*PEDB_RSTMAPA;
-typedef struct {
-	LPWSTR szDatabaseName;
-	LPWSTR szNewDatabaseName;
-} EDB_RSTMAPW,*PEDB_RSTMAPW;
-#ifdef UNICODE
-typedef EDB_RSTMAPW EDB_RSTMAP,*PEDB_RSTMAP;
-#else
-typedef EDB_RSTMAPA EDB_RSTMAP,*PEDB_RSTMAP;
-#endif
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ntldap.h
===================================================================
--- Daodan/MinGW/include/ntldap.h	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-/*
-  ntldap.h - Header file for the Windows LDAP API Extensions
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References:
-    Lightweight Directory Access Protocol Reference
-    http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _NTLDAP_H
-#define _NTLDAP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define LDAP_SERVER_ASQ_OID	"1.2.840.113556.1.4.1504"
-#define LDAP_SERVER_ASQ_OID_W	L"1.2.840.113556.1.4.1504"
-#define LDAP_SERVER_DIRSYNC_OID	"1.2.840.113556.1.4.841"
-#define LDAP_SERVER_DIRSYNC_OID_W	L"1.2.840.113556.1.4.841"
-#define LDAP_SERVER_SD_FLAGS_OID	"1.2.840.113556.1.4.801"
-#define LDAP_SERVER_SD_FLAGS_OID_W	L"1.2.840.113556.1.4.801"
-#define LDAP_SERVER_FAST_BIND_OID	"1.2.840.113556.1.4.1781"
-#define LDAP_SERVER_FAST_BIND_OID_W	L"1.2.840.113556.1.4.1781"
-#define LDAP_MATCHING_RULE_BIT_OR	"1.2.840.113556.1.4.804"
-#define LDAP_MATCHING_RULE_BIT_OR_W	L"1.2.840.113556.1.4.804"
-#define LDAP_MATCHING_RULE_BIT_AND	"1.2.840.113556.1.4.803"
-#define LDAP_MATCHING_RULE_BIT_AND_W	L"1.2.840.113556.1.4.803"
-#define LDAP_SERVER_EXTENDED_DN_OID	"1.2.840.113556.1.4.529"
-#define LDAP_SERVER_EXTENDED_DN_OID_W	L"1.2.840.113556.1.4.529"
-#define LDAP_SERVER_LAZY_COMMIT_OID	"1.2.840.113556.1.4.619"
-#define LDAP_SERVER_LAZY_COMMIT_OID_W	L"1.2.840.113556.1.4.619"
-#define LDAP_SERVER_TREE_DELETE_OID	"1.2.840.113556.1.4.805"
-#define LDAP_SERVER_TREE_DELETE_OID_W	L"1.2.840.113556.1.4.805"
-#define LDAP_SERVER_VERIFY_NAME_OID	"1.2.840.113556.1.4.1338"
-#define LDAP_SERVER_VERIFY_NAME_OID_W	L"1.2.840.113556.1.4.1338"
-#define LDAP_SERVER_SHOW_DELETED_OID	"1.2.840.113556.1.4.417"
-#define LDAP_SERVER_SHOW_DELETED_OID_W	L"1.2.840.113556.1.4.417"
-#define LDAP_SERVER_NOTIFICATION_OID	"1.2.840.113556.1.4.528"
-#define LDAP_SERVER_NOTIFICATION_OID_W	L"1.2.840.113556.1.4.528"
-#define LDAP_SERVER_DOMAIN_SCOPE_OID	"1.2.840.113556.1.4.1339"
-#define LDAP_SERVER_DOMAIN_SCOPE_OID_W	L"1.2.840.113556.1.4.1339"
-#define LDAP_CAP_ACTIVE_DIRECTORY_OID	"1.2.840.113556.1.4.800"
-#define LDAP_CAP_ACTIVE_DIRECTORY_OID_W	L"1.2.840.113556.1.4.800"
-#define LDAP_SERVER_SEARCH_OPTIONS_OID	"1.2.840.113556.1.4.1340"
-#define LDAP_SERVER_SEARCH_OPTIONS_OID_W	L"1.2.840.113556.1.4.1340"
-#define LDAP_CAP_ACTIVE_DIRECTORY_V51_OID	"1.2.840.113556.1.4.1670"
-#define LDAP_CAP_ACTIVE_DIRECTORY_V51_OID_W	L"1.2.840.113556.1.4.1670"
-#define LDAP_SERVER_PERMISSIVE_MODIFY_OID	"1.2.840.113556.1.4.1413"
-#define LDAP_SERVER_PERMISSIVE_MODIFY_OID_W	L"1.2.840.113556.1.4.1413"
-#define LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID	"1.2.840.113556.1.4.521"
-#define LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID_W	L"1.2.840.113556.1.4.521"
-#define SERVER_SEARCH_FLAG_DOMAIN_SCOPE	1
-#define SERVER_SEARCH_FLAG_PHANTOM_ROOT	2
-
-#endif /*  _NTLDAP_H */
Index: Daodan/MinGW/include/ntsecapi.h
===================================================================
--- Daodan/MinGW/include/ntsecapi.h	(revision 1046)
+++ 	(revision )
@@ -1,612 +1,0 @@
-#ifndef _NTSECAPI_H
-#define _NTSECAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define KERB_WRAP_NO_ENCRYPT 0x80000001
-#define LOGON_GUEST 1
-#define LOGON_NOENCRYPTION 2
-#define LOGON_CACHED_ACCOUNT 4
-#define LOGON_USED_LM_PASSWORD 8
-#define LOGON_EXTRA_SIDS 32
-#define LOGON_SUBAUTH_SESSION_KEY 64
-#define LOGON_SERVER_TRUST_ACCOUNT 128
-#define LOGON_NTLMV2_ENABLED 256
-#define LOGON_RESOURCE_GROUPS 512
-#define LOGON_PROFILE_PATH_RETURNED 1024
-#define LOGON_GRACE_LOGON 16777216
-#define LSA_MODE_PASSWORD_PROTECTED 1
-#define LSA_MODE_INDIVIDUAL_ACCOUNTS 2
-#define LSA_MODE_MANDATORY_ACCESS 3
-#define LSA_MODE_LOG_FULL 4
-#define LSA_SUCCESS(x) ((LONG)(x)>=0)
-#define MICROSOFT_KERBEROS_NAME_A "Kerberos"
-#define MICROSOFT_KERBEROS_NAME_W L"Kerberos"
-#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT 32
-#define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 2048
-#define MSV1_0_CHALLENGE_LENGTH 8
-#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED 2
-#define MSV1_0_CRED_LM_PRESENT 1
-#define MSV1_0_CRED_NT_PRESENT 2
-#define MSV1_0_CRED_VERSION 0
-#define MSV1_0_DONT_TRY_GUEST_ACCOUNT 16
-#define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8
-#define MSV1_0_MAX_NTLM3_LIFE 1800
-#define MSV1_0_MAX_AVL_SIZE 64000
-#define MSV1_0_MNS_LOGON 16777216
-#define MSV1_0_NTLM3_RESPONSE_LENGTH 16
-#define MSV1_0_NTLM3_OWF_LENGTH 16
-#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE)-MSV1_0_NTLM3_RESPONSE_LENGTH)
-#define MSV1_0_OWF_PASSWORD_LENGTH 16
-#define MSV1_0_PACKAGE_NAME "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
-#define MSV1_0_PACKAGE_NAMEW L"MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
-#define MSV1_0_PACKAGE_NAMEW_LENGTH sizeof(MSV1_0_PACKAGE_NAMEW)-sizeof(WCHAR)
-#define MSV1_0_RETURN_USER_PARAMETERS 8
-#define MSV1_0_RETURN_PASSWORD_EXPIRY 64
-#define MSV1_0_RETURN_PROFILE_PATH 512
-#define MSV1_0_SUBAUTHENTICATION_DLL_EX 1048576
-#define MSV1_0_SUBAUTHENTICATION_DLL 0xff000000
-#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24
-#define MSV1_0_SUBAUTHENTICATION_DLL_RAS 2
-#define MSV1_0_SUBAUTHENTICATION_DLL_IIS 132
-#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xff000000
-#define MSV1_0_SUBAUTHENTICATION_KEY "System\\CurrentControlSet\\Control\\Lsa\\MSV1_0"
-#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
-#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY 256
-#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY 1024
-#define MSV1_0_UPDATE_LOGON_STATISTICS 4
-#define MSV1_0_USE_CLIENT_CHALLENGE 128
-#define MSV1_0_USER_SESSION_KEY_LENGTH 16
-#define POLICY_VIEW_LOCAL_INFORMATION 1
-#define POLICY_VIEW_AUDIT_INFORMATION 2
-#define POLICY_GET_PRIVATE_INFORMATION 4
-#define POLICY_TRUST_ADMIN 8
-#define POLICY_CREATE_ACCOUNT 16
-#define POLICY_CREATE_SECRET 32
-#define POLICY_CREATE_PRIVILEGE 64
-#define POLICY_SET_DEFAULT_QUOTA_LIMITS 128
-#define POLICY_SET_AUDIT_REQUIREMENTS 256
-#define POLICY_AUDIT_LOG_ADMIN 512
-#define POLICY_SERVER_ADMIN 1024
-#define POLICY_LOOKUP_NAMES 2048
-#define POLICY_READ (STANDARD_RIGHTS_READ|6)
-#define POLICY_WRITE (STANDARD_RIGHTS_WRITE|2040)
-#define POLICY_EXECUTE (STANDARD_RIGHTS_EXECUTE|2049)
-#define POLICY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|4095)
-#define POLICY_AUDIT_EVENT_UNCHANGED 0
-#define POLICY_AUDIT_EVENT_SUCCESS 1
-#define POLICY_AUDIT_EVENT_FAILURE 2
-#define POLICY_AUDIT_EVENT_NONE 4
-#define POLICY_AUDIT_EVENT_MASK 7
-#define POLICY_LOCATION_LOCAL 1
-#define POLICY_LOCATION_DS 2
-#define POLICY_MACHINE_POLICY_LOCAL 0
-#define POLICY_MACHINE_POLICY_DEFAULTED 1
-#define POLICY_MACHINE_POLICY_EXPLICIT 2
-#define POLICY_MACHINE_POLICY_UNKNOWN 0xFFFFFFFF
-#define POLICY_QOS_SCHANEL_REQUIRED 1
-#define POLICY_QOS_OUTBOUND_INTEGRITY 2
-#define POLICY_QOS_OUTBOUND_CONFIDENTIALITY 4
-#define POLICY_QOS_INBOUND_INTEGREITY 8
-#define POLICY_QOS_INBOUND_CONFIDENTIALITY 16
-#define POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE 32
-#define POLICY_QOS_RAS_SERVER_ALLOWED 64
-#define POLICY_QOS_DHCP_SERVER_ALLOWD 128
-#define POLICY_KERBEROS_FORWARDABLE 1
-#define POLICY_KERBEROS_PROXYABLE 2
-#define POLICY_KERBEROS_RENEWABLE 4
-#define POLICY_KERBEROS_POSTDATEABLE 8
-#define SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE "PasswordChangeNotify"
-#define SAM_INIT_NOTIFICATION_ROUTINE "InitializeChangeNotify"
-#define SAM_PASSWORD_FILTER_ROUTINE "PasswordFilter"
-#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")
-#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")
-#define SE_BATCH_LOGON_NAME TEXT("SeBatchLogonRight")
-#define SE_SERVICE_LOGON_NAME TEXT("SeServiceLogonRight")
-#define TRUST_ATTRIBUTE_NON_TRANSITIVE 1
-#define TRUST_ATTRIBUTE_UPLEVEL_ONLY 2
-#define TRUST_ATTRIBUTE_TREE_PARENT 4194304
-#define TRUST_ATTRIBUTES_VALID  -16580609
-#define TRUST_AUTH_TYPE_NONE 0
-#define TRUST_AUTH_TYPE_NT4OWF 1
-#define TRUST_AUTH_TYPE_CLEAR 2
-#define TRUST_DIRECTION_DISABLED 0
-#define TRUST_DIRECTION_INBOUND 1
-#define TRUST_DIRECTION_OUTBOUND 2
-#define TRUST_DIRECTION_BIDIRECTIONAL 3
-#define TRUST_TYPE_DOWNLEVEL 1
-#define TRUST_TYPE_UPLEVEL 2
-#define TRUST_TYPE_MIT 3
-#define TRUST_TYPE_DCE 4
-#if !defined(_NTDEF_H) && !defined(_SUBAUTH_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef const UNICODE_STRING* PCUNICODE_STRING;
-typedef struct _STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PCHAR Buffer;
-} STRING, *PSTRING;
-#endif
-typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
-typedef STRING LSA_STRING, *PLSA_STRING;
-typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
-  MsV1_0InteractiveLogon = 2,
-  MsV1_0Lm20Logon,
-  MsV1_0NetworkLogon,
-  MsV1_0SubAuthLogon,
-  MsV1_0WorkstationUnlockLogon = 7
-} MSV1_0_LOGON_SUBMIT_TYPE, *PMSV1_0_LOGON_SUBMIT_TYPE;
-typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {
-  MsV1_0InteractiveProfile = 2,
-  MsV1_0Lm20LogonProfile,
-  MsV1_0SmartCardProfile
-} MSV1_0_PROFILE_BUFFER_TYPE, *PMSV1_0_PROFILE_BUFFER_TYPE;
-typedef enum {
-  MsvAvEOL,
-  MsvAvNbComputerName,
-  MsvAvNbDomainName,
-  MsvAvDnsComputerName,
-  MsvAvDnsDomainName
-} MSV1_0_AVID;
-typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
-  MsV1_0Lm20ChallengeRequest = 0,
-  MsV1_0Lm20GetChallengeResponse,
-  MsV1_0EnumerateUsers,
-  MsV1_0GetUserInfo,
-  MsV1_0ReLogonUsers,
-  MsV1_0ChangePassword,
-  MsV1_0ChangeCachedPassword,
-  MsV1_0GenericPassthrough,
-  MsV1_0CacheLogon,
-  MsV1_0SubAuth,
-  MsV1_0DeriveCredential,
-  MsV1_0CacheLookup
-} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
-typedef enum _POLICY_LSA_SERVER_ROLE {
-  PolicyServerRoleBackup = 2,
-  PolicyServerRolePrimary
-} POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;
-typedef enum _POLICY_SERVER_ENABLE_STATE {
-  PolicyServerEnabled = 2,
-  PolicyServerDisabled
-} POLICY_SERVER_ENABLE_STATE, *PPOLICY_SERVER_ENABLE_STATE;
-typedef enum _POLICY_INFORMATION_CLASS {
-  PolicyAuditLogInformation = 1,
-  PolicyAuditEventsInformation,
-  PolicyPrimaryDomainInformation,
-  PolicyPdAccountInformation,
-  PolicyAccountDomainInformation,
-  PolicyLsaServerRoleInformation,
-  PolicyReplicaSourceInformation,
-  PolicyDefaultQuotaInformation,
-  PolicyModificationInformation,
-  PolicyAuditFullSetInformation,
-  PolicyAuditFullQueryInformation,
-  PolicyDnsDomainInformation,
-  PolicyEfsInformation
-} POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
-typedef enum _POLICY_AUDIT_EVENT_TYPE {
-  AuditCategorySystem,
-  AuditCategoryLogon,
-  AuditCategoryObjectAccess,
-  AuditCategoryPrivilegeUse,
-  AuditCategoryDetailedTracking,
-  AuditCategoryPolicyChange,
-  AuditCategoryAccountManagement,
-  AuditCategoryDirectoryServiceAccess,
-  AuditCategoryAccountLogon
-} POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE;
-typedef enum _POLICY_LOCAL_INFORMATION_CLASS {
-  PolicyLocalAuditEventsInformation = 1,
-  PolicyLocalPdAccountInformation,
-  PolicyLocalAccountDomainInformation,
-  PolicyLocalLsaServerRoleInformation,
-  PolicyLocalReplicaSourceInformation,
-  PolicyLocalModificationInformation,
-  PolicyLocalAuditFullSetInformation,
-  PolicyLocalAuditFullQueryInformation,
-  PolicyLocalDnsDomainInformation,
-  PolicyLocalIPSecReferenceInformation,
-  PolicyLocalMachinePasswordInformation,
-  PolicyLocalQualityOfServiceInformation,
-  PolicyLocalPolicyLocationInformation
-} POLICY_LOCAL_INFORMATION_CLASS, *PPOLICY_LOCAL_INFORMATION_CLASS;
-typedef enum _POLICY_DOMAIN_INFORMATION_CLASS {
-  PolicyDomainIPSecReferenceInformation = 1,
-  PolicyDomainQualityOfServiceInformation,
-  PolicyDomainEfsInformation,
-  PolicyDomainPublicKeyInformation,
-  PolicyDomainPasswordPolicyInformation,
-  PolicyDomainLockoutInformation,
-  PolicyDomainKerberosTicketInformation
-} POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS;
-typedef enum _SECURITY_LOGON_TYPE {
-  Interactive = 2,
-  Network,
-  Batch,
-  Service,
-  Proxy,
-  Unlock
-} SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
-typedef enum _TRUSTED_INFORMATION_CLASS {
-  TrustedDomainNameInformation = 1,
-  TrustedControllersInformation,
-  TrustedPosixOffsetInformation,
-  TrustedPasswordInformation,
-  TrustedDomainInformationBasic,
-  TrustedDomainInformationEx,
-  TrustedDomainAuthInformation,
-  TrustedDomainFullInformation
-} TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
-typedef struct _DOMAIN_PASSWORD_INFORMATION {
-  USHORT MinPasswordLength;
-  USHORT PasswordHistoryLength;
-  ULONG PasswordProperties;
-  LARGE_INTEGER MaxPasswordAge;
-  LARGE_INTEGER MinPasswordAge;
-} DOMAIN_PASSWORD_INFORMATION, *PDOMAIN_PASSWORD_INFORMATION;
-typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;
-typedef struct _LSA_ENUMERATION_INFORMATION {
-  PSID Sid;
-} LSA_ENUMERATION_INFORMATION, *PLSA_ENUMERATION_INFORMATION;
-typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
-#if !defined(_NTDEF_H)
-typedef struct _LSA_OBJECT_ATTRIBUTES {
-  ULONG Length;
-  HANDLE RootDirectory;
-  PLSA_UNICODE_STRING ObjectName;
-  ULONG Attributes;
-  PVOID SecurityDescriptor;
-  PVOID SecurityQualityOfService;
-} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
-#endif
-typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
-typedef struct _LSA_TRUST_INFORMATION {
-  LSA_UNICODE_STRING Name;
-  PSID Sid;
-} LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;
-typedef struct _LSA_REFERENCED_DOMAIN_LIST {
-  ULONG Entries;
-  PLSA_TRUST_INFORMATION Domains;
-} LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST;
-typedef struct _LSA_TRANSLATED_SID {
-  SID_NAME_USE Use;
-  ULONG RelativeId;
-  LONG DomainIndex;
-} LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
-typedef struct _LSA_TRANSLATED_NAME {
-  SID_NAME_USE Use;
-  LSA_UNICODE_STRING Name;
-  LONG DomainIndex;
-} LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;
-typedef struct _MSV1_0_INTERACTIVE_LOGON {
-  MSV1_0_LOGON_SUBMIT_TYPE MessageType;
-  UNICODE_STRING LogonDomainName;
-  UNICODE_STRING UserName;
-  UNICODE_STRING Password;
-} MSV1_0_INTERACTIVE_LOGON, *PMSV1_0_INTERACTIVE_LOGON;
-typedef struct _MSV1_0_INTERACTIVE_PROFILE {
-  MSV1_0_PROFILE_BUFFER_TYPE MessageType;
-  USHORT LogonCount;
-  USHORT BadPasswordCount;
-  LARGE_INTEGER LogonTime;
-  LARGE_INTEGER LogoffTime;
-  LARGE_INTEGER KickOffTime;
-  LARGE_INTEGER PasswordLastSet;
-  LARGE_INTEGER PasswordCanChange;
-  LARGE_INTEGER PasswordMustChange;
-  UNICODE_STRING LogonScript;
-  UNICODE_STRING HomeDirectory;
-  UNICODE_STRING FullName;
-  UNICODE_STRING ProfilePath;
-  UNICODE_STRING HomeDirectoryDrive;
-  UNICODE_STRING LogonServer;
-  ULONG UserFlags;
-} MSV1_0_INTERACTIVE_PROFILE, *PMSV1_0_INTERACTIVE_PROFILE;
-typedef struct _MSV1_0_LM20_LOGON {
-  MSV1_0_LOGON_SUBMIT_TYPE MessageType;
-  UNICODE_STRING LogonDomainName;
-  UNICODE_STRING UserName;
-  UNICODE_STRING Workstation;
-  UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
-  STRING CaseSensitiveChallengeResponse;
-  STRING CaseInsensitiveChallengeResponse;
-  ULONG ParameterControl;
-} MSV1_0_LM20_LOGON, * PMSV1_0_LM20_LOGON;
-typedef struct _MSV1_0_SUBAUTH_LOGON{ /* W2K only */
-  MSV1_0_LOGON_SUBMIT_TYPE MessageType;
-  UNICODE_STRING LogonDomainName;
-  UNICODE_STRING UserName;
-  UNICODE_STRING Workstation;
-  UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
-  STRING AuthenticationInfo1;
-  STRING AuthenticationInfo2;
-  ULONG ParameterControl;
-  ULONG SubAuthPackageId;
-} MSV1_0_SUBAUTH_LOGON, * PMSV1_0_SUBAUTH_LOGON;
-typedef struct _MSV1_0_LM20_LOGON_PROFILE {
-  MSV1_0_PROFILE_BUFFER_TYPE MessageType;
-  LARGE_INTEGER KickOffTime;
-  LARGE_INTEGER LogoffTime;
-  ULONG UserFlags;
-  UCHAR UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH];
-  UNICODE_STRING LogonDomainName;
-  UCHAR LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
-  UNICODE_STRING LogonServer;
-  UNICODE_STRING UserParameters;
-} MSV1_0_LM20_LOGON_PROFILE, * PMSV1_0_LM20_LOGON_PROFILE;
-typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
-  ULONG Version;
-  ULONG Flags;
-  UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
-  UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
-} MSV1_0_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
-typedef struct _MSV1_0_NTLM3_RESPONSE {
-  UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
-  UCHAR RespType;
-  UCHAR HiRespType;
-  USHORT Flags;
-  ULONG MsgWord;
-  ULONGLONG TimeStamp;
-  UCHAR ChallengeFromClient[MSV1_0_CHALLENGE_LENGTH];
-  ULONG AvPairsOff;
-  UCHAR Buffer[1];
-} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
-typedef struct  _MSV1_0_AV_PAIR {
-  USHORT AvId;
-  USHORT AvLen;
-} MSV1_0_AV_PAIR, *PMSV1_0_AV_PAIR;
-typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  UNICODE_STRING DomainName;
-  UNICODE_STRING AccountName;
-  UNICODE_STRING OldPassword;
-  UNICODE_STRING NewPassword;
-  BOOLEAN Impersonating;
-} MSV1_0_CHANGEPASSWORD_REQUEST, *PMSV1_0_CHANGEPASSWORD_REQUEST;
-typedef struct _MSV1_0_CHANGEPASSWORD_RESPONSE {
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  BOOLEAN PasswordInfoValid;
-  DOMAIN_PASSWORD_INFORMATION DomainPasswordInfo;
-} MSV1_0_CHANGEPASSWORD_RESPONSE, *PMSV1_0_CHANGEPASSWORD_RESPONSE;
-typedef struct _MSV1_0_SUBAUTH_REQUEST{
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  ULONG SubAuthPackageId;
-  ULONG SubAuthInfoLength;
-  PUCHAR SubAuthSubmitBuffer;
-} MSV1_0_SUBAUTH_REQUEST, *PMSV1_0_SUBAUTH_REQUEST;
-typedef struct _MSV1_0_SUBAUTH_RESPONSE{
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  ULONG SubAuthInfoLength;
-  PUCHAR SubAuthReturnBuffer;
-} MSV1_0_SUBAUTH_RESPONSE, *PMSV1_0_SUBAUTH_RESPONSE;
-#define MSV1_0_DERIVECRED_TYPE_SHA1 0
-typedef struct _MSV1_0_DERIVECRED_REQUEST {
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  LUID LogonId;
-  ULONG DeriveCredType;
-  ULONG DeriveCredInfoLength;
-  UCHAR DeriveCredSubmitBuffer[1];
-} MSV1_0_DERIVECRED_REQUEST, *PMSV1_0_DERIVECRED_REQUEST;
-typedef struct _MSV1_0_DERIVECRED_RESPONSE {
-  MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
-  ULONG DeriveCredInfoLength;
-  UCHAR DeriveCredReturnBuffer[1];
-} MSV1_0_DERIVECRED_RESPONSE, *PMSV1_0_DERIVECRED_RESPONSE;
-typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
-typedef struct _POLICY_PRIVILEGE_DEFINITION {
-  LSA_UNICODE_STRING Name;
-  LUID LocalValue;
-} POLICY_PRIVILEGE_DEFINITION, *PPOLICY_PRIVILEGE_DEFINITION;
-typedef struct _POLICY_AUDIT_LOG_INFO {
-  ULONG AuditLogPercentFull;
-  ULONG MaximumLogSize;
-  LARGE_INTEGER AuditRetentionPeriod;
-  BOOLEAN AuditLogFullShutdownInProgress;
-  LARGE_INTEGER TimeToShutdown;
-  ULONG NextAuditRecordId;
-} POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO;
-typedef struct _POLICY_AUDIT_EVENTS_INFO {
-  BOOLEAN AuditingMode;
-  PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
-  ULONG MaximumAuditEventCount;
-} POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
-typedef struct _POLICY_ACCOUNT_DOMAIN_INFO {
-  LSA_UNICODE_STRING DomainName;
-  PSID DomainSid;
-} POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
-typedef struct _POLICY_PRIMARY_DOMAIN_INFO {
-  LSA_UNICODE_STRING Name;
-  PSID Sid;
-} POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
-typedef struct _POLICY_DNS_DOMAIN_INFO {
-  LSA_UNICODE_STRING Name;
-  LSA_UNICODE_STRING DnsDomainName;
-  LSA_UNICODE_STRING DnsForestName;
-  GUID DomainGuid;
-  PSID Sid;
-} POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
-typedef struct _POLICY_PD_ACCOUNT_INFO {
-  LSA_UNICODE_STRING Name;
-} POLICY_PD_ACCOUNT_INFO, *PPOLICY_PD_ACCOUNT_INFO;
-typedef struct _POLICY_LSA_SERVER_ROLE_INFO {
-  POLICY_LSA_SERVER_ROLE LsaServerRole;
-} POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
-typedef struct _POLICY_REPLICA_SOURCE_INFO {
-  LSA_UNICODE_STRING ReplicaSource;
-  LSA_UNICODE_STRING ReplicaAccountName;
-} POLICY_REPLICA_SOURCE_INFO, *PPOLICY_REPLICA_SOURCE_INFO;
-typedef struct _POLICY_DEFAULT_QUOTA_INFO {
-  QUOTA_LIMITS QuotaLimits;
-} POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO;
-typedef struct _POLICY_MODIFICATION_INFO {
-  LARGE_INTEGER ModifiedId;
-  LARGE_INTEGER DatabaseCreationTime;
-} POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
-typedef struct _POLICY_AUDIT_FULL_SET_INFO {
-  BOOLEAN ShutDownOnFull;
-} POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO;
-typedef struct _POLICY_AUDIT_FULL_QUERY_INFO {
-  BOOLEAN ShutDownOnFull;
-  BOOLEAN LogIsFull;
-} POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO;
-typedef struct _POLICY_EFS_INFO {
-  ULONG InfoLength;
-  PUCHAR EfsBlob;
-} POLICY_EFS_INFO, *PPOLICY_EFS_INFO;
-typedef struct _POLICY_LOCAL_IPSEC_REFERENCE_INFO {
-  LSA_UNICODE_STRING ObjectPath;
-} POLICY_LOCAL_IPSEC_REFERENCE_INFO, *PPOLICY_LOCAL_IPSEC_REFERENCE_INFO;
-typedef struct _POLICY_LOCAL_MACHINE_PASSWORD_INFO {
-  LARGE_INTEGER PasswordChangeInterval;
-} POLICY_LOCAL_MACHINE_PASSWORD_INFO, *PPOLICY_LOCAL_MACHINE_PASSWORD_INFO;
-typedef struct _POLICY_LOCAL_POLICY_LOCATION_INFO {
-  ULONG PolicyLocation;
-} POLICY_LOCAL_POLICY_LOCATION_INFO, *PPOLICY_LOCAL_POLICY_LOCATION_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO {
-  ULONG QualityOfService;
-} POLICY_LOCAL_QUALITY_OF_SERVICE_INFO, *PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_DOMAIN_PUBLIC_KEY_INFO {
-  ULONG InfoLength;
-  PUCHAR PublicKeyInfo;
-} POLICY_DOMAIN_PUBLIC_KEY_INFO, *PPOLICY_DOMAIN_PUBLIC_KEY_INFO;
-typedef struct _POLICY_DOMAIN_LOCKOUT_INFO {
-  LARGE_INTEGER LockoutDuration;
-  LARGE_INTEGER LockoutObservationWindow;
-  USHORT LockoutThreshold;
-} POLICY_DOMAIN_LOCKOUT_INFO, *PPOLICY_DOMAIN_LOCKOUT_INFO;
-typedef struct _POLICY_DOMAIN_PASSWORD_INFO {
-  USHORT MinPasswordLength;
-  USHORT PasswordHistoryLength;
-  ULONG PasswordProperties;
-  LARGE_INTEGER MaxPasswordAge;
-  LARGE_INTEGER MinPasswordAge;
-} POLICY_DOMAIN_PASSWORD_INFO, *PPOLICY_DOMAIN_PASSWORD_INFO;
-typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO {
-  ULONG AuthenticationOptions;
-  LARGE_INTEGER MinTicketAge;
-  LARGE_INTEGER MaxTicketAge;
-  LARGE_INTEGER MaxRenewAge;
-  LARGE_INTEGER ProxyLifetime;
-  LARGE_INTEGER ForceLogoff;
-} POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
-typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
-typedef struct _TRUSTED_DOMAIN_NAME_INFO {
-  LSA_UNICODE_STRING Name;
-} TRUSTED_DOMAIN_NAME_INFO, *PTRUSTED_DOMAIN_NAME_INFO;
-typedef struct _TRUSTED_CONTROLLERS_INFO {
-  ULONG Entries;
-  PLSA_UNICODE_STRING Names;
-} TRUSTED_CONTROLLERS_INFO, *PTRUSTED_CONTROLLERS_INFO;
-typedef struct _TRUSTED_POSIX_OFFSET_INFO {
-  ULONG Offset;
-} TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO;
-typedef struct _TRUSTED_PASSWORD_INFO {
-  LSA_UNICODE_STRING Password;
-  LSA_UNICODE_STRING OldPassword;
-} TRUSTED_PASSWORD_INFO, *PTRUSTED_PASSWORD_INFO;
-typedef  LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC;
-typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC;
-typedef struct _TRUSTED_DOMAIN_INFORMATION_EX {
-  LSA_UNICODE_STRING Name;
-  LSA_UNICODE_STRING FlatName;
-  PSID Sid;
-  ULONG TrustDirection;
-  ULONG TrustType;
-  ULONG TrustAttributes;
-} TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX;
-typedef struct _LSA_AUTH_INFORMATION {
-  LARGE_INTEGER LastUpdateTime;
-  ULONG AuthType;
-  ULONG AuthInfoLength;
-  PUCHAR AuthInfo;
-} LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION;
-typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION {
-  ULONG IncomingAuthInfos;
-  PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
-  PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
-  ULONG OutgoingAuthInfos;
-  PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
-  PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
-} TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION;
-typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
-  TRUSTED_DOMAIN_INFORMATION_EX Information;
-  TRUSTED_POSIX_OFFSET_INFO PosixOffset;
-  TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
-} TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
-NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
-NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
-                            PULONG,PNTSTATUS);
-NTSTATUS NTAPI LsaClose(LSA_HANDLE);
-NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
-NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
-                            PTRUSTED_DOMAIN_INFORMATION_EX,
-                            PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
-                            PLSA_HANDLE);
-NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
-NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
-NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
-NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
-                            PVOID*,PULONG);
-NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
-                            PVOID*,ULONG,PULONG);
-NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
-                            TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG);
-NTSTATUS NTAPI LsaFreeMemory(PVOID);
-NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
-NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,
-                            ULONG,PTOKEN_GROUPS,PTOKEN_SOURCE,PVOID*,PULONG,
-                            PLUID,PHANDLE,PQUOTA_LIMITS,PNTSTATUS);
-NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
-NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,
-                            PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID*);
-NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID*,
-                            PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_NAME*);
-ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
-NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
-                            ACCESS_MASK,PLSA_HANDLE);
-NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
-                            POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryLocalInformationPolicy(LSA_HANDLE,
-                            POLICY_LOCAL_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryTrustedDomainInfo(LSA_HANDLE,PSID,
-                            TRUSTED_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
-                            TRUSTED_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaRegisterLogonProcess(PLSA_STRING,PHANDLE,PLSA_OPERATIONAL_MODE);
-NTSTATUS NTAPI LsaRemoveAccountRights(LSA_HANDLE,PSID,BOOLEAN,
-                            PLSA_UNICODE_STRING,ULONG);
-NTSTATUS NTAPI LsaRetrievePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
-                            PLSA_UNICODE_STRING*);
-NTSTATUS NTAPI LsaSetDomainInformationPolicy(LSA_HANDLE,
-                            POLICY_DOMAIN_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS, PVOID);
-NTSTATUS NTAPI LsaSetLocalInformationPolicy(LSA_HANDLE,
-                            POLICY_LOCAL_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetTrustedDomainInformation(LSA_HANDLE,PSID,
-                            TRUSTED_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
-                            TRUSTED_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
-                            PLSA_UNICODE_STRING);
-typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
-                            ULONG,PUNICODE_STRING);
-typedef BOOLEAN (*PSAM_INIT_NOTIFICATION_ROUTINE)(void);
-typedef BOOLEAN (*PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
-                            PUNICODE_STRING,BOOLEAN);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _NTSECAPI_H */
Index: Daodan/MinGW/include/ntsecpkg.h
===================================================================
--- Daodan/MinGW/include/ntsecpkg.h	(revision 1046)
+++ 	(revision )
@@ -1,431 +1,0 @@
-#ifndef _NTSECPKG_H
-#define _NTSECPKG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include "windef.h"
-#include "ntsecapi.h"
-#include "security.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ISC_REQ_DELEGATE 1
-#define ISC_REQ_MUTUAL_AUTH 2
-#define ISC_REQ_REPLAY_DETECT 4
-#define ISC_REQ_SEQUENCE_DETECT 8
-#define ISC_REQ_CONFIDENTIALITY  16
-#define ISC_REQ_USE_SESSION_KEY 32
-#define ISC_REQ_PROMPT_FOR_CREDS 64
-#define ISC_REQ_USE_SUPPLIED_CREDS  128
-#define ISC_REQ_ALLOCATE_MEMORY 256
-#define ISC_REQ_USE_DCE_STYLE 512
-#define ISC_REQ_DATAGRAM 1024
-#define ISC_REQ_CONNECTION 2048
-#define ISC_REQ_EXTENDED_ERROR 16384
-#define ISC_REQ_STREAM 32768
-#define ISC_REQ_INTEGRITY 65536
-#define ISC_REQ_MANUAL_CRED_VALIDATION 524288
-#define ISC_REQ_HTTP  268435456
-
-#define ISC_RET_EXTENDED_ERROR 16384
-
-#define ASC_REQ_DELEGATE 1
-#define ASC_REQ_MUTUAL_AUTH 2
-#define ASC_REQ_REPLAY_DETECT 4
-#define ASC_REQ_SEQUENCE_DETECT 8
-#define ASC_REQ_CONFIDENTIALITY 16
-#define ASC_REQ_USE_SESSION_KEY 32
-#define ASC_REQ_ALLOCATE_MEMORY 256
-#define ASC_REQ_USE_DCE_STYLE 512
-#define ASC_REQ_DATAGRAM 1024
-#define ASC_REQ_CONNECTION 2048
-#define ASC_REQ_EXTENDED_ERROR 32768
-#define ASC_REQ_STREAM 65536
-#define ASC_REQ_INTEGRITY 131072
-
-#define SECURITY_NATIVE_DREP  16
-#define SECURITY_NETWORK_DREP 0
-
-#define SECPKG_STATE_ENCRYPTION_PERMITTED               0x01
-#define SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED        0x02
-#define SECPKG_STATE_DOMAIN_CONTROLLER                  0x04
-#define SECPKG_STATE_WORKSTATION                        0x08
-#define SECPKG_STATE_STANDALONE                         0x10
-
-/* enum definitions for Secure Service Provider/Authentication Packages */
-typedef enum _LSA_TOKEN_INFORMATION_TYPE {
-	LsaTokenInformationNull,
-	LsaTokenInformationV1
-} LSA_TOKEN_INFORMATION_TYPE, *PLSA_TOKEN_INFORMATION_TYPE;
-typedef enum _SECPKG_EXTENDED_INFORMATION_CLASS
-{
-	SecpkgGssInfo = 1,
-	SecpkgContextThunks,
-	SecpkgMutualAuthLevel,
-	SecpkgMaxInfo
-} SECPKG_EXTENDED_INFORMATION_CLASS;
-typedef enum _SECPKG_NAME_TYPE {
-	SecNameSamCompatible,
-	SecNameAlternateId,
-	SecNameFlat,
-	SecNameDN
-} SECPKG_NAME_TYPE;
-
-/* struct definitions for SSP/AP */
-typedef struct _SECPKG_PRIMARY_CRED {
-	LUID LogonId;
-	UNICODE_STRING DownlevelName;
-	UNICODE_STRING DomainName;
-	UNICODE_STRING Password;
-	UNICODE_STRING OldPassword;
-	PSID UserSid;
-	ULONG Flags;
-	UNICODE_STRING DnsDomainName;
-	UNICODE_STRING Upn;
-	UNICODE_STRING LogonServer;
-	UNICODE_STRING Spare1;
-	UNICODE_STRING Spare2;
-	UNICODE_STRING Spare3;
-	UNICODE_STRING Spare4;
-} SECPKG_PRIMARY_CRED, *PSECPKG_PRIMARY_CRED;
-typedef struct _SECPKG_SUPPLEMENTAL_CRED {
-	UNICODE_STRING PackageName;
-	ULONG CredentialSize;
-	PUCHAR Credentials;
-} SECPKG_SUPPLEMENTAL_CRED, *PSECPKG_SUPPLEMENTAL_CRED;
-typedef struct _SECPKG_SUPPLEMENTAL_CRED_ARRAY {
-	ULONG CredentialCount;
-	SECPKG_SUPPLEMENTAL_CRED Credentials[1];
-} SECPKG_SUPPLEMENTAL_CRED_ARRAY, *PSECPKG_SUPPLEMENTAL_CRED_ARRAY;
-typedef struct _SECPKG_PARAMETERS {
-	ULONG Version;
-	ULONG MachineState;
-	ULONG SetupMode;
-	PSID DomainSid;
-	UNICODE_STRING DomainName;
-	UNICODE_STRING DnsDomainName;
-	GUID DomainGuid;
-} SECPKG_PARAMETERS, *PSECPKG_PARAMETERS,
-  SECPKG_EVENT_DOMAIN_CHANGE, *PSECPKG_EVENT_DOMAIN_CHANGE;
-typedef struct _SECPKG_CLIENT_INFO {
-  LUID LogonId;
-  ULONG ProcessID;
-  ULONG ThreadID;
-  BOOLEAN HasTcbPrivilege;
-  BOOLEAN Impersonating;
-  BOOLEAN Restricted;
-} SECPKG_CLIENT_INFO,
- *PSECPKG_CLIENT_INFO;
-typedef struct _SECURITY_USER_DATA {
-	SECURITY_STRING UserName;
-	SECURITY_STRING LogonDomainName;
-	SECURITY_STRING LogonServer;
-	PSID pSid;
-} SECURITY_USER_DATA, *PSECURITY_USER_DATA,
-  SecurityUserData, *PSecurityUserData;
-typedef struct _SECPKG_GSS_INFO {
-	ULONG EncodedIdLength;
-	UCHAR EncodedId[4];
-} SECPKG_GSS_INFO, *PSECPKG_GSS_INFO;
-typedef struct _SECPKG_CONTEXT_THUNKS {
-	ULONG InfoLevelCount;
-	ULONG Levels[1];
-} SECPKG_CONTEXT_THUNKS, *PSECPKG_CONTEXT_THUNKS;
-typedef struct _SECPKG_MUTUAL_AUTH_LEVEL {
-	ULONG MutualAuthLevel;
-} SECPKG_MUTUAL_AUTH_LEVEL, *PSECPKG_MUTUAL_AUTH_LEVEL;
-typedef struct _SECPKG_CALL_INFO {
-	ULONG ProcessId;
-	ULONG ThreadId;
-	ULONG Attributes;
-	ULONG CallCount;
-} SECPKG_CALL_INFO, *PSECPKG_CALL_INFO;
-typedef struct _SECPKG_EXTENDED_INFORMATION {
-	SECPKG_EXTENDED_INFORMATION_CLASS Class;
-	union {
-		SECPKG_GSS_INFO GssInfo;
-		SECPKG_CONTEXT_THUNKS ContextThunks;
-		SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel;
-	} Info;
-} SECPKG_EXTENDED_INFORMATION, *PSECPKG_EXTENDED_INFORMATION;
-
-/* callbacks implemented by SSP/AP dlls and called by the LSA */
-typedef VOID (NTAPI *PLSA_CALLBACK_FUNCTION)(ULONG_PTR, ULONG_PTR, PSecBuffer,
- PSecBuffer);
-
-/* misc typedefs used in the below prototypes */
-typedef PVOID *PLSA_CLIENT_REQUEST;
-typedef ULONG LSA_SEC_HANDLE, *PLSA_SEC_HANDLE;
-typedef LPTHREAD_START_ROUTINE SEC_THREAD_START;
-typedef PSECURITY_ATTRIBUTES SEC_ATTRS;
-
-/* functions used by SSP/AP obtainable by dispatch tables */
-typedef NTSTATUS (NTAPI *PLSA_REGISTER_CALLBACK)(ULONG, PLSA_CALLBACK_FUNCTION);
-typedef NTSTATUS (NTAPI *PLSA_CREATE_LOGON_SESSION)(PLUID);
-typedef NTSTATUS (NTAPI *PLSA_DELETE_LOGON_SESSION)(PLUID);
-typedef NTSTATUS (NTAPI *PLSA_ADD_CREDENTIAL)(PLUID, ULONG, PLSA_STRING,
- PLSA_STRING);
-typedef NTSTATUS (NTAPI *PLSA_GET_CREDENTIALS)(PLUID, ULONG, PULONG, BOOLEAN,
- PLSA_STRING, PULONG, PLSA_STRING);
-typedef NTSTATUS (NTAPI *PLSA_DELETE_CREDENTIAL)(PLUID, ULONG, PLSA_STRING);
-typedef PVOID (NTAPI *PLSA_ALLOCATE_LSA_HEAP)(ULONG);
-typedef VOID (NTAPI *PLSA_FREE_LSA_HEAP)(PVOID);
-typedef NTSTATUS (NTAPI *PLSA_ALLOCATE_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST,
- ULONG, PVOID*);
-typedef NTSTATUS (NTAPI *PLSA_FREE_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, PVOID);
-typedef NTSTATUS (NTAPI *PLSA_COPY_TO_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, ULONG,
- PVOID, PVOID);
-typedef NTSTATUS (NTAPI *PLSA_COPY_FROM_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST,
- ULONG, PVOID, PVOID);
-typedef NTSTATUS (NTAPI *PLSA_IMPERSONATE_CLIENT)(void);
-typedef NTSTATUS (NTAPI *PLSA_UNLOAD_PACKAGE)(void);
-typedef NTSTATUS (NTAPI *PLSA_DUPLICATE_HANDLE)(HANDLE, PHANDLE);
-typedef NTSTATUS (NTAPI *PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS)(PLUID, ULONG,
- PVOID, BOOLEAN);
-typedef HANDLE (NTAPI *PLSA_CREATE_THREAD)(SEC_ATTRS, ULONG, SEC_THREAD_START,
- PVOID, ULONG, PULONG);
-typedef NTSTATUS (NTAPI *PLSA_GET_CLIENT_INFO)(PSECPKG_CLIENT_INFO);
-typedef HANDLE (NTAPI *PLSA_REGISTER_NOTIFICATION)(SEC_THREAD_START, PVOID,
- ULONG, ULONG, ULONG, ULONG, HANDLE);
-typedef NTSTATUS (NTAPI *PLSA_CANCEL_NOTIFICATION)(HANDLE);
-typedef NTSTATUS (NTAPI *PLSA_MAP_BUFFER)(PSecBuffer, PSecBuffer);
-typedef NTSTATUS (NTAPI *PLSA_CREATE_TOKEN)(PLUID, PTOKEN_SOURCE,
- SECURITY_LOGON_TYPE, SECURITY_IMPERSONATION_LEVEL, LSA_TOKEN_INFORMATION_TYPE,
- PVOID, PTOKEN_GROUPS, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING,
- PUNICODE_STRING, PHANDLE, PNTSTATUS);
-typedef VOID (NTAPI *PLSA_AUDIT_LOGON)(NTSTATUS, NTSTATUS, PUNICODE_STRING,
- PUNICODE_STRING, PUNICODE_STRING, OPTIONAL PSID, SECURITY_LOGON_TYPE,
- PTOKEN_SOURCE, PLUID);
-typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG,
- PVOID*, PULONG, PNTSTATUS);
-typedef VOID (NTAPI *PLSA_FREE_LSA_HEAP)(PVOID);
-typedef BOOLEAN (NTAPI *PLSA_GET_CALL_INFO)(PSECPKG_CALL_INFO);
-typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGEEX)(PUNICODE_STRING, PVOID, PVOID,
- ULONG, PVOID*, PULONG, PNTSTATUS);
-typedef PVOID (NTAPI *PLSA_CREATE_SHARED_MEMORY)(ULONG, ULONG);
-typedef PVOID (NTAPI *PLSA_ALLOCATE_SHARED_MEMORY)(PVOID, ULONG);
-typedef VOID (NTAPI *PLSA_FREE_SHARED_MEMORY)(PVOID, PVOID);
-typedef BOOLEAN (NTAPI *PLSA_DELETE_SHARED_MEMORY)(PVOID);
-typedef NTSTATUS (NTAPI *PLSA_OPEN_SAM_USER)(PSECURITY_STRING, SECPKG_NAME_TYPE,
- PSECURITY_STRING, BOOLEAN, ULONG, PVOID*);
-typedef NTSTATUS (NTAPI *PLSA_GET_USER_CREDENTIALS)(PVOID, PVOID *, PULONG,
- PVOID *, PULONG);
-typedef NTSTATUS (NTAPI *PLSA_GET_USER_AUTH_DATA)(PVOID, PUCHAR *, PULONG);
-typedef NTSTATUS (NTAPI *PLSA_CLOSE_SAM_USER)(PVOID);
-typedef NTSTATUS (NTAPI *PLSA_CONVERT_AUTH_DATA_TO_TOKEN)(PVOID, ULONG,
- SECURITY_IMPERSONATION_LEVEL, PTOKEN_SOURCE, SECURITY_LOGON_TYPE,
- PUNICODE_STRING, PHANDLE, PLUID, PUNICODE_STRING, PNTSTATUS);
-typedef NTSTATUS (NTAPI *PLSA_CLIENT_CALLBACK)(PCHAR, ULONG_PTR, ULONG_PTR,
- PSecBuffer, PSecBuffer);
-typedef NTSTATUS (NTAPI *PLSA_UPDATE_PRIMARY_CREDENTIALS)(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY);
-typedef NTSTATUS (NTAPI *PLSA_GET_AUTH_DATA_FOR_USER)(PSECURITY_STRING,
- SECPKG_NAME_TYPE, PSECURITY_STRING, PUCHAR *, PULONG, PUNICODE_STRING);
-typedef NTSTATUS (NTAPI *PLSA_CRACK_SINGLE_NAME)(ULONG, BOOLEAN,
- PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING,
- PULONG);
-typedef NTSTATUS (NTAPI *PLSA_AUDIT_ACCOUNT_LOGON)(ULONG, BOOLEAN,
- PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS);
-typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID,
- PVOID, ULONG, PVOID*, PULONG, PNTSTATUS);
-
-/* Dispatch tables of functions used by SSP/AP */
-typedef struct SECPKG_DLL_FUNCTIONS {
-	PLSA_ALLOCATE_LSA_HEAP AllocateHeap;
-	PLSA_FREE_LSA_HEAP FreeHeap;
-	PLSA_REGISTER_CALLBACK RegisterCallback;
-} SECPKG_DLL_FUNCTIONS,
- *PSECPKG_DLL_FUNCTIONS;
-typedef struct LSA_DISPATCH_TABLE {
-	PLSA_CREATE_LOGON_SESSION CreateLogonSession;
-	PLSA_DELETE_LOGON_SESSION DeleteLogonSession;
-	PLSA_ADD_CREDENTIAL AddCredential;
-	PLSA_GET_CREDENTIALS GetCredentials;
-	PLSA_DELETE_CREDENTIAL DeleteCredential;
-	PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap;
-	PLSA_FREE_LSA_HEAP FreeLsaHeap;
-	PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer;
-	PLSA_FREE_CLIENT_BUFFER FreeClientBuffer;
-	PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer;
-	PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer;
-} LSA_DISPATCH_TABLE,
- *PLSA_DISPATCH_TABLE;
-typedef struct _LSA_SECPKG_FUNCTION_TABLE {
-	PLSA_CREATE_LOGON_SESSION CreateLogonSession;
-	PLSA_DELETE_LOGON_SESSION DeleteLogonSession;
-	PLSA_ADD_CREDENTIAL AddCredential;
-	PLSA_GET_CREDENTIALS GetCredentials;
-	PLSA_DELETE_CREDENTIAL DeleteCredential;
-	PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap;
-	PLSA_FREE_LSA_HEAP FreeLsaHeap;
-	PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer;
-	PLSA_FREE_CLIENT_BUFFER FreeClientBuffer;
-	PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer;
-	PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer;
-	PLSA_IMPERSONATE_CLIENT ImpersonateClient;
-	PLSA_UNLOAD_PACKAGE UnloadPackage;
-	PLSA_DUPLICATE_HANDLE DuplicateHandle;
-	PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials;
-	PLSA_CREATE_THREAD CreateThread;
-	PLSA_GET_CLIENT_INFO GetClientInfo;
-	PLSA_REGISTER_NOTIFICATION RegisterNotification;
-	PLSA_CANCEL_NOTIFICATION CancelNotification;
-	PLSA_MAP_BUFFER MapBuffer;
-	PLSA_CREATE_TOKEN CreateToken;
-	PLSA_AUDIT_LOGON AuditLogon;
-	PLSA_CALL_PACKAGE CallPackage;
-	PLSA_FREE_LSA_HEAP FreeReturnBuffer;
-	PLSA_GET_CALL_INFO GetCallInfo;
-	PLSA_CALL_PACKAGEEX CallPackageEx;
-	PLSA_CREATE_SHARED_MEMORY CreateSharedMemory;
-	PLSA_ALLOCATE_SHARED_MEMORY AllocateSharedMemory;
-	PLSA_FREE_SHARED_MEMORY FreeSharedMemory;
-	PLSA_DELETE_SHARED_MEMORY DeleteSharedMemory;
-	PLSA_OPEN_SAM_USER OpenSamUser;
-	PLSA_GET_USER_CREDENTIALS GetUserCredentials;
-	PLSA_GET_USER_AUTH_DATA GetUserAuthData;
-	PLSA_CLOSE_SAM_USER CloseSamUser;
-	PLSA_CONVERT_AUTH_DATA_TO_TOKEN ConvertAuthDataToToken;
-	PLSA_CLIENT_CALLBACK ClientCallback;
-	PLSA_UPDATE_PRIMARY_CREDENTIALS UpdateCredentials;
-	PLSA_GET_AUTH_DATA_FOR_USER GetAuthDataForUser;
-	PLSA_CRACK_SINGLE_NAME CrackSingleName;
-	PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon;
-	PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough;
-} LSA_SECPKG_FUNCTION_TABLE,
- *PLSA_SECPKG_FUNCTION_TABLE;
-
-/* functions implemented by SSP/AP obtainable by dispatch tables */
-typedef NTSTATUS (NTAPI *PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE,
- PLSA_STRING, PLSA_STRING, PLSA_STRING *);
-typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER)(LPWSTR, LPWSTR, LPWSTR, LPWSTR,
- DWORD, DWORD, PHANDLE);
-typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG,
- PVOID *, PULONG, PNTSTATUS);
-typedef VOID (NTAPI *PLSA_AP_LOGON_TERMINATED)(PLUID);
-typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE_UNTRUSTED)(PLSA_CLIENT_REQUEST,
- PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS);
-typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING,
- PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS);
-typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER_EX)(PLSA_CLIENT_REQUEST,
- SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS,
- PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *,
- PUNICODE_STRING *);
-typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER_EX2)(PLSA_CLIENT_REQUEST,
- SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS,
- PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *,
- PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *);
-typedef NTSTATUS (SpInitializeFn)(ULONG_PTR, PSECPKG_PARAMETERS,
- PLSA_SECPKG_FUNCTION_TABLE);
-typedef NTSTATUS (NTAPI SpShutDownFn)(void);
-typedef NTSTATUS (NTAPI SpGetInfoFn)(PSecPkgInfoW);
-typedef NTSTATUS (NTAPI SpAcceptCredentialsFn)(SECURITY_LOGON_TYPE,
- PUNICODE_STRING, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED);
-typedef NTSTATUS (NTAPI SpAcquireCredentialsHandleFn)(PUNICODE_STRING, ULONG,
- PLUID, PVOID, PVOID, PVOID, PLSA_SEC_HANDLE, PTimeStamp);
-typedef NTSTATUS (NTAPI SpQueryCredentialsAttributesFn)(LSA_SEC_HANDLE, ULONG,
- PVOID);
-typedef NTSTATUS (NTAPI SpFreeCredentialsHandleFn)(LSA_SEC_HANDLE);
-typedef NTSTATUS (NTAPI SpSaveCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
-typedef NTSTATUS (NTAPI SpGetCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
-typedef NTSTATUS (NTAPI SpDeleteCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
-typedef NTSTATUS (NTAPI SpInitLsaModeContextFn)(LSA_SEC_HANDLE, LSA_SEC_HANDLE,
- PUNICODE_STRING, ULONG, ULONG, PSecBufferDesc, PLSA_SEC_HANDLE, PSecBufferDesc,
- PULONG, PTimeStamp, PBOOLEAN, PSecBuffer);
-typedef NTSTATUS (NTAPI SpAcceptLsaModeContextFn)(LSA_SEC_HANDLE,
- LSA_SEC_HANDLE, PSecBufferDesc, ULONG, ULONG, PLSA_SEC_HANDLE, PSecBufferDesc,
- PULONG, PTimeStamp, PBOOLEAN, PSecBuffer);
-typedef NTSTATUS (NTAPI SpDeleteContextFn)(LSA_SEC_HANDLE);
-typedef NTSTATUS (NTAPI SpApplyControlTokenFn)(LSA_SEC_HANDLE, PSecBufferDesc);
-typedef NTSTATUS (NTAPI SpGetUserInfoFn)(PLUID, ULONG, PSecurityUserData *);
-typedef NTSTATUS (NTAPI SpGetExtendedInformationFn)(
- SECPKG_EXTENDED_INFORMATION_CLASS, PSECPKG_EXTENDED_INFORMATION *);
-typedef NTSTATUS (NTAPI SpQueryContextAttributesFn)(LSA_SEC_HANDLE, ULONG,
- PVOID);
-typedef NTSTATUS (NTAPI SpAddCredentialsFn)(LSA_SEC_HANDLE, PUNICODE_STRING,
- PUNICODE_STRING, ULONG, PVOID, PVOID, PVOID, PTimeStamp);
-typedef NTSTATUS (NTAPI SpSetExtendedInformationFn)(
- SECPKG_EXTENDED_INFORMATION_CLASS, PSECPKG_EXTENDED_INFORMATION);
-typedef NTSTATUS (NTAPI SpInstanceInitFn)(ULONG, PSECPKG_DLL_FUNCTIONS,
- PVOID *);
-typedef NTSTATUS (NTAPI SpInitUserModeContextFn)(LSA_SEC_HANDLE, PSecBuffer);
-typedef NTSTATUS (NTAPI SpMakeSignatureFn)(LSA_SEC_HANDLE, ULONG,
- PSecBufferDesc, ULONG);
-typedef NTSTATUS (NTAPI SpVerifySignatureFn)(LSA_SEC_HANDLE, PSecBufferDesc,
- ULONG, PULONG);
-typedef NTSTATUS (NTAPI SpSealMessageFn)(LSA_SEC_HANDLE, ULONG, PSecBufferDesc,
- ULONG);
-typedef NTSTATUS (NTAPI SpUnsealMessageFn)(LSA_SEC_HANDLE, PSecBufferDesc,
- ULONG, PULONG);
-typedef NTSTATUS (NTAPI SpGetContextTokenFn)(LSA_SEC_HANDLE, PHANDLE);
-typedef NTSTATUS (NTAPI SpCompleteAuthTokenFn)(LSA_SEC_HANDLE, PSecBufferDesc);
-typedef NTSTATUS (NTAPI SpFormatCredentialsFn)(PSecBuffer, PSecBuffer);
-typedef NTSTATUS (NTAPI SpMarshallSupplementalCredsFn)(ULONG, PUCHAR, PULONG,
- PVOID *);
-typedef NTSTATUS (NTAPI SpExportSecurityContextFn)(LSA_SEC_HANDLE, ULONG,
- PSecBuffer, PHANDLE);
-typedef NTSTATUS (NTAPI SpImportSecurityContextFn)(PSecBuffer, HANDLE,
- PLSA_SEC_HANDLE);
-
-/* Dispatch tables of functions implemented by SSP/AP */
-typedef struct SECPKG_FUNCTION_TABLE {
-	PLSA_AP_INITIALIZE_PACKAGE InitializePackage;
-	PLSA_AP_LOGON_USER LogonUser;
-	PLSA_AP_CALL_PACKAGE CallPackage;
-	PLSA_AP_LOGON_TERMINATED LogonTerminated;
-	PLSA_AP_CALL_PACKAGE_UNTRUSTED CallPackageUntrusted;
-	PLSA_AP_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough;
-	PLSA_AP_LOGON_USER_EX LogonUserEx;
-	PLSA_AP_LOGON_USER_EX2 LogonUserEx2;
-	SpInitializeFn *Initialize;
-	SpShutDownFn *Shutdown;
-	SpGetInfoFn *GetInfo;
-	SpAcceptCredentialsFn *AcceptCredentials;
-	SpAcquireCredentialsHandleFn *AcquireCredentialsHandle;
-	SpQueryCredentialsAttributesFn *QueryCredentialsAttributes;
-	SpFreeCredentialsHandleFn *FreeCredentialsHandle;
-	SpSaveCredentialsFn *SaveCredentials;
-	SpGetCredentialsFn *GetCredentials;
-	SpDeleteCredentialsFn *DeleteCredentials;
-	SpInitLsaModeContextFn *InitLsaModeContext;
-	SpAcceptLsaModeContextFn *AcceptLsaModeContext;
-	SpDeleteContextFn *DeleteContext;
-	SpApplyControlTokenFn *ApplyControlToken;
-	SpGetUserInfoFn *GetUserInfo;
-	SpGetExtendedInformationFn *GetExtendedInformation;
-	SpQueryContextAttributesFn *QueryContextAttributes;
-	SpAddCredentialsFn *AddCredentials;
-	SpSetExtendedInformationFn *SetExtendedInformation;
-} SECPKG_FUNCTION_TABLE,
- *PSECPKG_FUNCTION_TABLE;
-
-typedef struct SECPKG_USER_FUNCTION_TABLE {
-	SpInstanceInitFn *InstanceInit;
-	SpInitUserModeContextFn *InitUserModeContext;
-	SpMakeSignatureFn *MakeSignature;
-	SpVerifySignatureFn *VerifySignature;
-	SpSealMessageFn *SealMessage;
-	SpUnsealMessageFn *UnsealMessage;
-	SpGetContextTokenFn *GetContextToken;
-	SpQueryContextAttributesFn *QueryContextAttributes;
-	SpCompleteAuthTokenFn *CompleteAuthToken;
-	SpDeleteContextFn *DeleteUserModeContext;
-	SpFormatCredentialsFn *FormatCredentials;
-	SpMarshallSupplementalCredsFn *MarshallSupplementalCreds;
-	SpExportSecurityContextFn *ExportContext;
-	SpImportSecurityContextFn *ImportContext;
-} SECPKG_USER_FUNCTION_TABLE,
- *PSECPKG_USER_FUNCTION_TABLE;
-
-/* Entry points to SSP/AP */
-typedef NTSTATUS (NTAPI *SpLsaModeInitializeFn)(ULONG, PULONG,
- PSECPKG_FUNCTION_TABLE *, PULONG);
-typedef NTSTATUS (WINAPI *SpUserModeInitializeFn)(ULONG, PULONG,
- PSECPKG_USER_FUNCTION_TABLE *, PULONG);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _NTSECPKG_H */
Index: Daodan/MinGW/include/oaidl.h
===================================================================
--- Daodan/MinGW/include/oaidl.h	(revision 1046)
+++ 	(revision )
@@ -1,778 +1,0 @@
-#ifndef _OAIDL_H
-#define _OAIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifdef NONAMELESSUNION
-#define __VARIANT_NAME_1 n1
-#define __VARIANT_NAME_2 n2
-#define __VARIANT_NAME_3 n3
-#define __VARIANT_NAME_4 n4
-#else
-#define __tagVARIANT
-#define __VARIANT_NAME_1
-#define __VARIANT_NAME_2
-#define __VARIANT_NAME_3
-#define __VARIANT_NAME_4
-#endif
-#define DISPID_UNKNOWN (-1)
-#define DISPID_VALUE (0)
-#define DISPID_PROPERTYPUT (-3)
-#define DISPID_NEWENUM (-4)
-#define DISPID_EVALUATE (-5)
-#define DISPID_CONSTRUCTOR (-6)
-#define DISPID_DESTRUCTOR (-7)
-#define DISPID_COLLECT (-8)
-#define FADF_AUTO (1)
-#define FADF_STATIC (2)
-#define FADF_EMBEDDED (4)
-#define FADF_FIXEDSIZE (16)
-#define FADF_RECORD (32)
-#define FADF_HAVEIID (64)
-#define FADF_HAVEVARTYPE (128)
-#define FADF_BSTR (256)
-#define FADF_UNKNOWN (512)
-#define FADF_DISPATCH (1024)
-#define FADF_VARIANT (2048)
-#define FADF_RESERVED (0xf0e8)
-#define FADF_DATADELETED (0x1000)
-#define FADF_CREATEVECTOR (0x2000)
-#define PARAMFLAG_NONE (0)
-#define PARAMFLAG_FIN (1)
-#define PARAMFLAG_FOUT (2)
-#define PARAMFLAG_FLCID (4)
-#define PARAMFLAG_FRETVAL (8)
-#define PARAMFLAG_FOPT (16)
-#define PARAMFLAG_FHASDEFAULT (32)
-#define IDLFLAG_NONE PARAMFLAG_NONE
-#define IDLFLAG_FIN PARAMFLAG_FIN
-#define IDLFLAG_FOUT PARAMFLAG_FOUT
-#define IDLFLAG_FLCID PARAMFLAG_FLCID
-#define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL
-#define IMPLTYPEFLAG_FDEFAULT 1
-#define IMPLTYPEFLAG_FSOURCE 2
-#define IMPLTYPEFLAG_FRESTRICTED 4
-#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
-
-typedef _COM_interface ITypeLib *LPTYPELIB;
-typedef _COM_interface ITypeLib2 *LPTYPELIB2;
-typedef _COM_interface ICreateTypeInfo *LPCREATETYPEINFO;
-typedef _COM_interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
-typedef _COM_interface ICreateTypeLib *LPCREATETYPELIB;
-typedef _COM_interface ICreateTypeLib2 *LPCREATETYPELIB2;
-typedef _COM_interface ITypeComp *LPTYPECOMP;
-typedef _COM_interface ITypeInfo *LPTYPEINFO;
-typedef _COM_interface ITypeInfo2 *LPTYPEINFO2;
-typedef _COM_interface IErrorInfo *LPERRORINFO;
-typedef _COM_interface IDispatch *LPDISPATCH;
-typedef _COM_interface IEnumVARIANT *LPENUMVARIANT;
-typedef _COM_interface ICreateErrorInfo *LPCREATEERRORINFO;
-typedef _COM_interface ISupportErrorInfo *LPSUPPORTERRORINFO;
-typedef _COM_interface IRecordInfo *LPRECORDINFO;
-
-extern const IID IID_ITypeLib;
-extern const IID IID_ITypeLib2;
-extern const IID IID_ICreateTypeInfo;
-extern const IID IID_ICreateTypeInfo2;
-extern const IID IID_ICreateTypeLib;
-extern const IID IID_ICreateTypeLib2;
-extern const IID IID_ITypeInfo;
-extern const IID IID_ITypeInfo2;
-extern const IID IID_IErrorInfo;
-extern const IID IID_IDispatch;
-extern const IID IID_IEnumVARIANT;
-extern const IID IID_ICreateErrorInfo;
-extern const IID IID_ISupportErrorInfo;
-extern const IID IID_IRecordInfo;
-extern const IID IID_ITypeMarshal;
-
-typedef enum tagSYSKIND {
-	SYS_WIN16,SYS_WIN32,SYS_MAC
-} SYSKIND;
-typedef enum tagLIBFLAGS {
-	LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4,
-	LIBFLAG_FHASDISKIMAGE=8
-} LIBFLAGS;
-typedef struct tagTLIBATTR {
-	GUID guid;
-	LCID lcid;
-	SYSKIND syskind;
-	WORD wMajorVerNum;
-	WORD wMinorVerNum;
-	WORD wLibFlags;
-} TLIBATTR,*LPTLIBATTR;
-typedef CY CURRENCY;
-typedef struct tagSAFEARRAYBOUND {
-	ULONG cElements;
-	LONG lLbound;
-}SAFEARRAYBOUND,*LPSAFEARRAYBOUND;
-typedef struct _wireSAFEARR_BSTR
-{
-	ULONG Size;
-	wireBSTR *aBstr;
-}SAFEARR_BSTR;
-typedef struct _wireSAFEARR_UNKNOWN {
-	ULONG Size;
-	IUnknown **apUnknown;
-}SAFEARR_UNKNOWN;
-typedef struct _wireSAFEARR_DISPATCH {
-	ULONG Size;
-	LPDISPATCH *apDispatch;
-}SAFEARR_DISPATCH;
-typedef struct _wireSAFEARR_VARIANT {
-	ULONG Size;
-	struct _wireVARIANT *aVariant;
-}SAFEARR_VARIANT;
-typedef enum tagSF_TYPE {
-	SF_ERROR=VT_ERROR,
-	SF_I1=VT_I1,
-	SF_I2=VT_I2,
-	SF_I4=VT_I4,
-	SF_I8=VT_I8,
-	SF_BSTR=VT_BSTR,
-	SF_UNKNOWN=VT_UNKNOWN,
-	SF_DISPATCH=VT_DISPATCH,
-	SF_VARIANT=VT_VARIANT
-}SF_TYPE;
-typedef struct _wireBRECORD  {
-	ULONG fFlags;
-	ULONG clSize;
-	LPRECORDINFO* pRecInfo;
-	byte* pRecord;
-} *wireBRECORD;
-typedef struct _wireSAFEARR_BRECORD {
-    ULONG Size;
-    wireBRECORD* aRecord;
-    } SAFEARR_BRECORD;
-typedef struct _wireSAFEARR_HAVEIID {
-	ULONG Size;
-	IUnknown** apUnknown;
-	IID iid;
-	} SAFEARR_HAVEIID;
-typedef struct _wireSAFEARRAY_UNION {
-	ULONG sfType;
-	union {
-		SAFEARR_BSTR BstrStr;
-		SAFEARR_UNKNOWN UnknownStr;
-		SAFEARR_DISPATCH DispatchStr;
-		SAFEARR_VARIANT VariantStr;
-		SAFEARR_BRECORD RecordStr;
-		SAFEARR_HAVEIID HaveIidStr;
-		BYTE_SIZEDARR ByteStr;
-		WORD_SIZEDARR WordStr;
-		DWORD_SIZEDARR LongStr;
-		HYPER_SIZEDARR HyperStr;
-	}u;
-}SAFEARRAYUNION;
-typedef struct _wireSAFEARRAY {
-	USHORT cDims;
-	USHORT fFeatures;
-	ULONG cbElements;
-	ULONG cLocks;
-	SAFEARRAYUNION uArrayStructs;
-	SAFEARRAYBOUND rgsabound[1];
-}*wireSAFEARRAY;
-typedef wireSAFEARRAY *wirePSAFEARRAY;
-typedef struct tagSAFEARRAY {
-	USHORT cDims;
-	USHORT fFeatures;
-	ULONG cbElements;
-	ULONG cLocks;
-	PVOID pvData;
-	SAFEARRAYBOUND rgsabound[1];
-}SAFEARRAY,*LPSAFEARRAY;
-#if defined (__GNUC__) && !defined (NONAMELESSUNION)
-__extension__   /* no named members  */
-#endif
-typedef struct tagVARIANT {
-  _ANONYMOUS_UNION union {
-	struct __tagVARIANT {
-	VARTYPE vt;
-	WORD wReserved1;
-	WORD wReserved2;
-	WORD wReserved3;
-	_ANONYMOUS_UNION union {
-		long lVal;
-		LONGLONG llVal;
-		unsigned char bVal;
-		short iVal;
-		float fltVal;
-		double dblVal;
-		VARIANT_BOOL  boolVal;
-		SCODE scode;
-		CY cyVal;
-		DATE date;
-		BSTR bstrVal;
-		IUnknown *punkVal;
-		LPDISPATCH pdispVal;
-		SAFEARRAY *parray;
-		unsigned char *pbVal;
-		short *piVal;
-		long *plVal;
-		LONGLONG  * pllVal;
-		float *pfltVal;
-		double *pdblVal;
-		VARIANT_BOOL *pboolVal;
-		_VARIANT_BOOL  *pbool;
-		SCODE *pscode;
-		CY *pcyVal;
-		DATE *pdate;
-		BSTR *pbstrVal;
-		IUnknown **ppunkVal;
-		LPDISPATCH *ppdispVal;
-		SAFEARRAY **pparray;
-		struct tagVARIANT *pvarVal;
-		void *byref;
-		CHAR cVal;
-		USHORT uiVal;
-		ULONG ulVal;
-		ULONGLONG ullVal;
-		INT intVal;
-		UINT uintVal;
-		DECIMAL *pdecVal;
-		CHAR  *pcVal;
-		USHORT  *puiVal;
-		ULONG  *pulVal;
-		ULONGLONG * pullVal;
-		INT  *pintVal;
-		UINT  *puintVal;
-		_ANONYMOUS_STRUCT struct {
-			PVOID pvRecord;
-			struct IRecordInfo *pRecInfo;
-		} __VARIANT_NAME_4;
-	} __VARIANT_NAME_3;
-    } __VARIANT_NAME_2;
-    DECIMAL decVal;
-  } __VARIANT_NAME_1;
-} VARIANT,*LPVARIANT;
-typedef VARIANT VARIANTARG;
-typedef VARIANT *LPVARIANTARG;
-typedef struct _wireVARIANT {
-	DWORD clSize;
-	DWORD rpcReserved;
-	USHORT vt;
-	USHORT wReserved1;
-	USHORT wReserved2;
-	USHORT wReserved3;
-	_ANONYMOUS_UNION union {
-		LONG lVal;
-		LONGLONG llVal;
-		BYTE bVal;
-		SHORT iVal;
-		FLOAT fltVal;
-		DOUBLE dblVal;
-		VARIANT_BOOL boolVal;
-		SCODE scode;
-		CY cyVal;
-		DATE date;
-		wireBSTR bstrVal;
-		IUnknown *punkVal;
-		LPDISPATCH pdispVal;
-		wirePSAFEARRAY parray;
-		wireBRECORD brecVal;
-		BYTE *pbVal;
-		SHORT *piVal;
-		LONG *plVal;
-		FLOAT *pfltVal;
-		DOUBLE *pdblVal;
-		VARIANT_BOOL *pboolVal;
-		SCODE *pscode;
-		CY *pcyVal;
-		DATE *pdate;
-		wireBSTR *pbstrVal;
-		IUnknown **ppunkVal;
-		LPDISPATCH *ppdispVal;
-		wirePSAFEARRAY *pparray;
-		struct _wireVARIANT *pvarVal;
-		CHAR cVal;
-		USHORT uiVal;
-		ULONG ulVal;
-		ULONGLONG ullVal;
-		INT intVal;
-		UINT uintVal;
-		DECIMAL decVal;
-		DECIMAL *pdecVal;
-		CHAR *pcVal;
-		USHORT *puiVal;
-		ULONG *pulVal;
-		INT *pintVal;
-		UINT *puintVal;
-	} DUMMYUNIONNAME;
-} *wireVARIANT;
-typedef LONG DISPID;
-typedef DISPID MEMBERID;
-typedef DWORD HREFTYPE;
-typedef enum tagTYPEKIND {
-	TKIND_ENUM,TKIND_RECORD,TKIND_MODULE,TKIND_INTERFACE,TKIND_DISPATCH,
-	TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX
-}TYPEKIND;
-typedef struct tagTYPEDESC {
-	_ANONYMOUS_UNION union {
-		struct tagTYPEDESC *lptdesc;
-		struct tagARRAYDESC *lpadesc;
-		HREFTYPE hreftype;
-	} DUMMYUNIONNAME;
-	VARTYPE vt;
-}TYPEDESC;
-typedef struct tagARRAYDESC {
-	TYPEDESC tdescElem;
-	USHORT cDims;
-	SAFEARRAYBOUND rgbounds[1];
-}ARRAYDESC;
-typedef struct tagPARAMDESCEX {
-	ULONG cBytes;
-	VARIANTARG varDefaultValue;
-}PARAMDESCEX,*LPPARAMDESCEX;
-typedef struct tagPARAMDESC {
-	LPPARAMDESCEX pparamdescex;
-	USHORT wParamFlags;
-}PARAMDESC,*LPPARAMDESC;
-typedef struct tagIDLDESC {
-	ULONG dwReserved;
-	USHORT wIDLFlags;
-}IDLDESC,*LPIDLDESC;
-typedef struct tagELEMDESC {
-	TYPEDESC tdesc;
-	_ANONYMOUS_UNION union {
-		IDLDESC idldesc;
-		PARAMDESC paramdesc;
-	} DUMMYUNIONNAME;
-} ELEMDESC,*LPELEMDESC;
-typedef struct tagTYPEATTR {
-	GUID guid;
-	LCID lcid;
-	DWORD dwReserved;
-	MEMBERID memidConstructor;
-	MEMBERID memidDestructor;
-	LPOLESTR lpstrSchema;
-	ULONG cbSizeInstance;
-	TYPEKIND typekind;
-	WORD cFuncs;
-	WORD cVars;
-	WORD cImplTypes;
-	WORD cbSizeVft;
-	WORD cbAlignment;
-	WORD wTypeFlags;
-	WORD wMajorVerNum;
-	WORD wMinorVerNum;
-	TYPEDESC tdescAlias;
-	IDLDESC idldescType;
-}TYPEATTR,*LPTYPEATTR;
-typedef struct tagDISPPARAMS {
-	VARIANTARG *rgvarg;
-	DISPID *rgdispidNamedArgs;
-	UINT cArgs;
-	UINT cNamedArgs;
-}DISPPARAMS;
-typedef struct tagEXCEPINFO {
-	WORD wCode;
-	WORD wReserved;
-	BSTR bstrSource;
-	BSTR bstrDescription;
-	BSTR bstrHelpFile;
-	DWORD dwHelpContext;
-	PVOID pvReserved;
-	HRESULT(__stdcall * pfnDeferredFillIn)(struct tagEXCEPINFO*);
-	SCODE scode;
-} EXCEPINFO,*LPEXCEPINFO;
-typedef enum tagCALLCONV {
-	CC_FASTCALL,CC_CDECL,CC_MSCPASCAL,CC_PASCAL=CC_MSCPASCAL,
-	CC_MACPASCAL,CC_STDCALL,CC_FPFASTCALL,CC_SYSCALL,CC_MPWCDECL,
-	CC_MPWPASCAL,CC_MAX=CC_MPWPASCAL
-}CALLCONV;
-typedef enum tagFUNCKIND {
-	FUNC_VIRTUAL,FUNC_PUREVIRTUAL,FUNC_NONVIRTUAL,
-	FUNC_STATIC,FUNC_DISPATCH
-}FUNCKIND;
-typedef enum tagINVOKEKIND {
-	INVOKE_FUNC=1,INVOKE_PROPERTYGET,INVOKE_PROPERTYPUT=4,
-	INVOKE_PROPERTYPUTREF=8
-}INVOKEKIND;
-typedef struct tagFUNCDESC {
-	MEMBERID memid;
-	SCODE *lprgscode;
-	ELEMDESC *lprgelemdescParam;
-	FUNCKIND funckind;
-	INVOKEKIND invkind;
-	CALLCONV callconv;
-	SHORT cParams;
-	SHORT cParamsOpt;
-	SHORT oVft;
-	SHORT cScodes;
-	ELEMDESC elemdescFunc;
-	WORD wFuncFlags;
-}FUNCDESC,*LPFUNCDESC;
-typedef enum tagVARKIND {
-	VAR_PERINSTANCE,VAR_STATIC,VAR_CONST,VAR_DISPATCH
-} VARKIND;
-typedef struct tagVARDESC {
-	MEMBERID memid;
-	LPOLESTR lpstrSchema;
-	_ANONYMOUS_UNION union {
-		ULONG oInst;
-		VARIANT *lpvarValue;
-	} DUMMYUNIONNAME;
-	ELEMDESC elemdescVar;
-	WORD wVarFlags;
-	VARKIND varkind;
-} VARDESC,*LPVARDESC;
-typedef enum tagTYPEFLAGS {
-	TYPEFLAG_FAPPOBJECT=1,TYPEFLAG_FCANCREATE=2,TYPEFLAG_FLICENSED=4,
-	TYPEFLAG_FPREDECLID=8,TYPEFLAG_FHIDDEN=16,TYPEFLAG_FCONTROL=32,
-	TYPEFLAG_FDUAL=64,TYPEFLAG_FNONEXTENSIBLE=128,
-	TYPEFLAG_FOLEAUTOMATION=256,TYPEFLAG_FRESTRICTED=512,
-	TYPEFLAG_FAGGREGATABLE=1024,TYPEFLAG_FREPLACEABLE=2048,
-	TYPEFLAG_FDISPATCHABLE=4096,TYPEFLAG_FREVERSEBIND=8192
-} TYPEFLAGS;
-typedef enum tagFUNCFLAGS {
-	FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4,
-	FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32,
-	FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256,
-	FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048,
-	FUNCFLAG_FIMMEDIATEBIND=4096
-} FUNCFLAGS;
-typedef enum tagVARFLAGS {
-	VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8,
-	VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128,
-	VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024,
-	VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096
-} VARFLAGS;
-typedef struct tagCLEANLOCALSTORAGE {
-	IUnknown *pInterface;
-	PVOID pStorage;
-	DWORD flags;
-} CLEANLOCALSTORAGE;
-typedef struct tagCUSTDATAITEM {
-	GUID guid;
-	VARIANTARG varValue;
-} CUSTDATAITEM,*LPCUSTDATAITEM;
-typedef struct tagCUSTDATA {
-	DWORD cCustData;
-	LPCUSTDATAITEM prgCustData;
-} CUSTDATA,*LPCUSTDATA;
-
-typedef enum tagDESCKIND {
-        DESCKIND_NONE=0,DESCKIND_FUNCDESC=DESCKIND_NONE+1,
-        DESCKIND_VARDESC=DESCKIND_FUNCDESC+1,DESCKIND_TYPECOMP=DESCKIND_VARDESC+1,
-        DESCKIND_IMPLICITAPPOBJ=DESCKIND_TYPECOMP+1,
-        DESCKIND_MAX=DESCKIND_IMPLICITAPPOBJ+1
-} DESCKIND;
-
-typedef union tagBINDPTR {
-        LPFUNCDESC lpfuncdesc;
-        LPVARDESC lpvardesc;
-        LPTYPECOMP lptcomp;
-} BINDPTR,*LPBINDPTR;
-
-#define INTERFACE IDispatch
-DECLARE_INTERFACE_(IDispatch,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDispatch_Release(p) (p)->lpVtbl->Release(p)
-#define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-#endif
-
-#define INTERFACE IEnumVARIANT
-DECLARE_INTERFACE_(IEnumVARIANT,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,VARIANT*,ULONG*) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ IEnumVARIANT**) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE ITypeComp
-DECLARE_INTERFACE_(ITypeComp,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Bind)(THIS_ LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPBINDPTR) PURE;
-	STDMETHOD(BindType)(THIS_ LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE ITypeInfo
-DECLARE_INTERFACE_(ITypeInfo,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
-	STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
-	STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
-	STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
-	STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
-	STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
-	STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
-	STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-	STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
-	STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
-	STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
-	STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
-	STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
-	STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
-	STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
-	STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
-	STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
-#define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
-#define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
-#define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
-#define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
-#define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
-#define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
-#define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
-#define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
-#define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
-#define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
-#define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
-#define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
-#define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
-#define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
-#define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
-#define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
-#define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
-#define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
-#define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
-#endif
-
-#define INTERFACE ITypeInfo2
-DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
-	STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
-	STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
-	STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
-	STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
-	STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
-	STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
-	STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-	STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
-	STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
-	STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
-	STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
-	STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
-	STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
-	STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
-	STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
-	STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
-	STDMETHOD(GetTypeKind)(THIS_ TYPEKIND*) PURE;
-	STDMETHOD(GetTypeFlags)(THIS_ ULONG*) PURE;
-	STDMETHOD(GetFuncIndexOfMemId)(THIS_ MEMBERID,INVOKEKIND,UINT*) PURE;
-	STDMETHOD(GetVarIndexOfMemId)(THIS_ MEMBERID,UINT*) PURE;
-	STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetFuncCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetParamCustData)(THIS_ UINT,UINT,REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetVarCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetImplTypeCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetDocumentation2)(THIS_ MEMBERID,LCID,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
-	STDMETHOD(GetAllFuncCustData)(THIS_ UINT,CUSTDATA*) PURE;
-	STDMETHOD(GetAllParamCustData)(THIS_ UINT,UINT,CUSTDATA*) PURE;
-	STDMETHOD(GetAllVarCustData)(THIS_ UINT,CUSTDATA*) PURE;
-	STDMETHOD(GetAllImplTypeCustData)(THIS_ UINT,CUSTDATA*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE ITypeLib
-DECLARE_INTERFACE_(ITypeLib,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
-	STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
-	STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
-	STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
-	STDMETHOD(GetTypeComp)(THIS_ ITypeComp**) PURE;
-	STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
-	STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
-	STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE ITypeLib2
-DECLARE_INTERFACE_(ITypeLib2,ITypeLib)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
-	STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
-	STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
-	STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
-	STDMETHOD(GetTypeComp)(THIS_ ITypeComp**) PURE;
-	STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
-	STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
-	STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
-	STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
-	STDMETHOD(GetLibStatistics)(THIS_ ULONG*,ULONG*) PURE;
-	STDMETHOD(GetDocumentation2)(THIS_ INT,LCID,BSTR*,DWORD*,BSTR*) PURE;
-	STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IErrorInfo;
-#define INTERFACE IErrorInfo
-DECLARE_INTERFACE_(IErrorInfo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetGUID)(THIS_ GUID*) PURE;
-	STDMETHOD(GetSource)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetHelpFile)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IErrorInfo_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IErrorInfo_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IErrorInfo_Release(T) (T)->lpVtbl->Release(T)
-#define IErrorInfo_GetGUID(T,a) (T)->lpVtbl->GetGUID(T,a)
-#define IErrorInfo_GetSource(T,a) (T)->lpVtbl->GetSource(T,a)
-#define IErrorInfo_GetDescription(T,a) (T)->lpVtbl->GetDescription(T,a)
-#define IErrorInfo_GetHelpFile(T,a) (T)->lpVtbl->GetHelpFile(T,a)
-#define IErrorInfo_GetHelpContext(T,a) (T)->lpVtbl->GetHelpContext(T,a)
-#endif
-
-EXTERN_C const IID IID_ICreateErrorInfo;
-#define INTERFACE ICreateErrorInfo
-DECLARE_INTERFACE_(ICreateErrorInfo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*)PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetGUID)(THIS_ REFGUID) PURE;
-	STDMETHOD(SetSource)(THIS_ LPOLESTR) PURE;
-	STDMETHOD(SetDescription)(THIS_ LPOLESTR) PURE;
-	STDMETHOD(SetHelpFile)(THIS_ LPOLESTR) PURE;
-	STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_ISupportErrorInfo;
-#define INTERFACE ISupportErrorInfo
-DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRecordInfo;
-#define INTERFACE IRecordInfo
-DECLARE_INTERFACE_(IRecordInfo, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(RecordInit)(THIS_ PVOID) PURE;
-	STDMETHOD(RecordClear)(THIS_ PVOID) PURE;
-	STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE;
-	STDMETHOD(GetGuid)(THIS_ GUID*) PURE;
-	STDMETHOD(GetName)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetSize)(THIS_ ULONG*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE;
-	STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE;
-	STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE;
-	STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE;
-	STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE;
-	STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE;
-	STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo*) PURE;
-	STDMETHOD_(PVOID,RecordCreate)(THIS) PURE;
-	STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE;
-	STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
-#define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
-#define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
-#define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
-#define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
-#define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
-#define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
-#define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
-#define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
-#define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
-#define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
-#define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
-#define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
-#define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
-#define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
-#define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
-#define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
-#endif
-
-EXTERN_C const IID IID_ITypeMarshal;
-#define INTERFACE ITypeMarshal
-DECLARE_INTERFACE_(ITypeMarshal, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Size)(THIS_ PVOID,DWORD,PVOID,ULONG*) PURE;
-	STDMETHOD(Marshal)(THIS_ PVOID,DWORD,PVOID,ULONG,BYTE*,ULONG*) PURE;
-	STDMETHOD(Unmarshal)(THIS_ PVOID,DWORD,ULONG,BYTE*,ULONG*) PURE;
-	STDMETHOD(Free)(THIS_ PVOID) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/objbase.h
===================================================================
--- Daodan/MinGW/include/objbase.h	(revision 1046)
+++ 	(revision )
@@ -1,203 +1,0 @@
-/* Include here to prevent circular dependencies if windows.h
-   not already included */
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef _OBJBASE_H
-#define _OBJBASE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <stdlib.h>
-#pragma pack(push,8)
-#include <basetyps.h>
-
-#define WINOLEAPI STDAPI
-#define WINOLEAPI_(type) STDAPI_(type)
-#define FARSTRUCT
-#define HUGEP
-#define LISet32(li,v) ((li).HighPart=(v)<0?-1:0,(li).LowPart=(v))
-#define ULISet32(li,v) ((li).HighPart=0,(li).LowPart=(v))
-#define CLSCTX_ALL (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER)
-#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER)
-#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER)
-#define MARSHALINTERFACE_MIN 500
-#define CWCSTORAGENAME 32
-#define STGM_DIRECT 0
-#define STGM_TRANSACTED 0x10000L
-#define STGM_SIMPLE 0x8000000L
-#define STGM_READ 0
-#define STGM_WRITE 1
-#define STGM_READWRITE 2
-#define STGM_SHARE_DENY_NONE 0x40
-#define STGM_SHARE_DENY_READ 0x30
-#define STGM_SHARE_DENY_WRITE 0x20
-#define STGM_SHARE_EXCLUSIVE 0x10
-#define STGM_PRIORITY 0x40000L
-#define STGM_DELETEONRELEASE 0x4000000
-#define STGM_NOSCRATCH 0x100000
-#define STGM_CREATE 0x1000
-#define STGM_CONVERT 0x20000
-#define STGM_NOSNAPSHOT 0x200000
-#define STGM_FAILIFTHERE 0
-#define CWCSTORAGENAME 32
-#define ASYNC_MODE_COMPATIBILITY	1
-#define ASYNC_MODE_DEFAULT	0
-#define STGTY_REPEAT	256
-#define STG_TOEND	0xFFFFFFFF
-#define STG_LAYOUT_SEQUENTIAL	0
-#define STG_LAYOUT_INTERLEAVED	1
-#define COM_RIGHTS_EXECUTE 1
-#define COM_RIGHTS_SAFE_FOR_SCRIPTING 2
-#define STGOPTIONS_VERSION 2
-typedef enum tagSTGFMT {
-	STGFMT_STORAGE = 0,
-	STGFMT_FILE = 3,
-	STGFMT_ANY = 4,
-	STGFMT_DOCFILE = 5
-} STGFMT;
-typedef struct tagSTGOPTIONS {
-	USHORT usVersion;
-	USHORT reserved;
-	ULONG ulSectorSize;
-	const WCHAR *pwcsTemplateFile;
-} STGOPTIONS;
-typedef enum tagREGCLS {
-	REGCLS_SINGLEUSE = 0,
-	REGCLS_MULTIPLEUSE = 1,
-	REGCLS_MULTI_SEPARATE = 2
-} REGCLS;
-#include <wtypes.h>
-#include <unknwn.h>
-#include <objidl.h>
-
-#ifdef __cplusplus
-inline BOOL IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
-	{ return !memcmp(&rguid1, &rguid2, sizeof(GUID)); }
-inline BOOL operator==(const GUID& guidOne, const GUID& guidOther)
-	{ return !memcmp(&guidOne,&guidOther,sizeof(GUID)); }
-inline BOOL operator!=(const GUID& g1, const GUID& g2)
-	{ return !(g1 == g2); }
-#else
-#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
-#endif
-#define IsEqualIID(id1,id2) IsEqualGUID(id1,id2)
-#define IsEqualCLSID(id1,id2) IsEqualGUID(id1,id2)
-#include <cguid.h>
-
-typedef enum tagCOINIT {
-	COINIT_APARTMENTTHREADED	= 0x2,
-	COINIT_MULTITHREADED		= 0x0,
-	COINIT_DISABLE_OLE1DDE		= 0x4,
-	COINIT_SPEED_OVER_MEMORY	= 0x8
-} COINIT;
-typedef enum tagSTDMSHLFLAGS {
-    SMEXF_SERVER  = 0x01,
-    SMEXF_HANDLER = 0x02
-} STDMSHLFLAGS;
-
-WINOLEAPI_(DWORD) CoBuildVersion(void);
-WINOLEAPI CoInitialize(PVOID);
-WINOLEAPI CoInitializeEx(LPVOID,DWORD);
-WINOLEAPI_(void) CoUninitialize(void);
-WINOLEAPI CoGetMalloc(DWORD,LPMALLOC*);
-WINOLEAPI_(DWORD) CoGetCurrentProcess(void);
-WINOLEAPI CoRegisterMallocSpy(LPMALLOCSPY);
-WINOLEAPI CoRevokeMallocSpy(void);
-WINOLEAPI CoCreateStandardMalloc(DWORD,IMalloc**);
-#ifdef DBG
-WINOLEAPI_(ULONG) DebugCoGetRpcFault(void);
-WINOLEAPI_(void) DebugCoSetRpcFault(ULONG);
-#endif
-WINOLEAPI CoGetClassObject(REFCLSID,DWORD,COSERVERINFO*,REFIID,PVOID*);
-WINOLEAPI CoRegisterClassObject(REFCLSID,LPUNKNOWN,DWORD,DWORD,PDWORD);
-WINOLEAPI CoRevokeClassObject(DWORD);
-WINOLEAPI CoGetMarshalSizeMax(ULONG*,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD);
-WINOLEAPI CoMarshalInterface(LPSTREAM,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD);
-WINOLEAPI CoUnmarshalInterface(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI CoMarshalHresult(LPSTREAM,HRESULT);
-WINOLEAPI CoUnmarshalHresult(LPSTREAM,HRESULT*);
-WINOLEAPI CoReleaseMarshalData(LPSTREAM);
-WINOLEAPI CoDisconnectObject(LPUNKNOWN,DWORD);
-WINOLEAPI CoLockObjectExternal(LPUNKNOWN,BOOL,BOOL);
-WINOLEAPI CoGetStandardMarshal(REFIID,LPUNKNOWN,DWORD,PVOID,DWORD,LPMARSHAL*);
-WINOLEAPI CoGetStdMarshalEx(LPUNKNOWN,DWORD,LPUNKNOWN*);
-WINOLEAPI_(BOOL) CoIsHandlerConnected(LPUNKNOWN);
-WINOLEAPI_(BOOL) CoHasStrongExternalConnections(LPUNKNOWN);
-WINOLEAPI CoMarshalInterThreadInterfaceInStream(REFIID,LPUNKNOWN,LPSTREAM*);
-WINOLEAPI CoGetInterfaceAndReleaseStream(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI CoCreateFreeThreadedMarshaler(LPUNKNOWN,LPUNKNOWN*);
-WINOLEAPI_(HINSTANCE) CoLoadLibrary(LPOLESTR,BOOL);
-WINOLEAPI_(void) CoFreeLibrary(HINSTANCE);
-WINOLEAPI_(void) CoFreeAllLibraries(void);
-WINOLEAPI_(void) CoFreeUnusedLibraries(void);
-WINOLEAPI CoCreateInstance(REFCLSID,LPUNKNOWN,DWORD,REFIID,PVOID*);
-WINOLEAPI CoCreateInstanceEx(REFCLSID,IUnknown*,DWORD,COSERVERINFO*,DWORD,MULTI_QI*);
-WINOLEAPI StringFromCLSID(REFCLSID,LPOLESTR*);
-WINOLEAPI CLSIDFromString(LPOLESTR,LPCLSID);
-WINOLEAPI StringFromIID(REFIID,LPOLESTR*);
-WINOLEAPI IIDFromString(LPOLESTR,LPIID);
-WINOLEAPI_(BOOL) CoIsOle1Class(REFCLSID);
-WINOLEAPI ProgIDFromCLSID(REFCLSID,LPOLESTR*);
-WINOLEAPI CLSIDFromProgID(LPCOLESTR,LPCLSID);
-WINOLEAPI_(int) StringFromGUID2(REFGUID,LPOLESTR,int);
-WINOLEAPI CoCreateGuid(GUID*);
-WINOLEAPI_(BOOL) CoFileTimeToDosDateTime(FILETIME*,LPWORD,LPWORD);
-WINOLEAPI_(BOOL) CoDosDateTimeToFileTime(WORD,WORD,FILETIME*);
-WINOLEAPI CoFileTimeNow(FILETIME*);
-WINOLEAPI CoRegisterMessageFilter(LPMESSAGEFILTER,LPMESSAGEFILTER*);
-WINOLEAPI CoGetTreatAsClass(REFCLSID,LPCLSID);
-WINOLEAPI CoTreatAsClass(REFCLSID,REFCLSID);
-typedef HRESULT (STDAPICALLTYPE *LPFNGETCLASSOBJECT)(REFCLSID,REFIID,PVOID*);
-typedef HRESULT (STDAPICALLTYPE *LPFNCANUNLOADNOW)(void);
-STDAPI DllGetClassObject(REFCLSID,REFIID,PVOID*);
-STDAPI DllCanUnloadNow(void);
-WINOLEAPI_(PVOID) CoTaskMemAlloc(ULONG);
-WINOLEAPI_(PVOID) CoTaskMemRealloc(PVOID,ULONG);
-WINOLEAPI_(void) CoTaskMemFree(PVOID);
-WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
-WINOLEAPI CreateDataCache(LPUNKNOWN,REFCLSID,REFIID,PVOID*);
-WINOLEAPI StgCreateDocfile(const OLECHAR*,DWORD,DWORD,IStorage**);
-WINOLEAPI StgCreateDocfileOnILockBytes(ILockBytes*,DWORD,DWORD,IStorage**);
-WINOLEAPI StgOpenStorage(const OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-WINOLEAPI StgOpenStorageOnILockBytes(ILockBytes*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-WINOLEAPI StgIsStorageFile(const OLECHAR*);
-WINOLEAPI StgIsStorageILockBytes(ILockBytes*);
-WINOLEAPI StgSetTimes(OLECHAR const*,FILETIME const*,FILETIME const*,FILETIME const*);
-WINOLEAPI StgCreateStorageEx(const WCHAR*,DWORD,DWORD,DWORD,STGOPTIONS*,void*,REFIID,void**);
-WINOLEAPI StgOpenStorageEx(const WCHAR*,DWORD,DWORD,DWORD,STGOPTIONS*,void*,REFIID,void**);
-WINOLEAPI BindMoniker(LPMONIKER,DWORD,REFIID,PVOID*);
-WINOLEAPI CoGetObject(LPCWSTR,BIND_OPTS*,REFIID,void**);
-WINOLEAPI MkParseDisplayName(LPBC,LPCOLESTR,ULONG*,LPMONIKER*);
-WINOLEAPI MonikerRelativePathTo(LPMONIKER,LPMONIKER,LPMONIKER*,BOOL);
-WINOLEAPI MonikerCommonPrefixWith(LPMONIKER,LPMONIKER,LPMONIKER*);
-WINOLEAPI CreateBindCtx(DWORD,LPBC*);
-WINOLEAPI CreateGenericComposite(LPMONIKER,LPMONIKER,LPMONIKER*);
-WINOLEAPI GetClassFile (LPCOLESTR,CLSID*);
-WINOLEAPI CreateFileMoniker(LPCOLESTR,LPMONIKER*);
-WINOLEAPI CreateItemMoniker(LPCOLESTR,LPCOLESTR,LPMONIKER*);
-WINOLEAPI CreateAntiMoniker(LPMONIKER*);
-WINOLEAPI CreatePointerMoniker(LPUNKNOWN,LPMONIKER*);
-WINOLEAPI GetRunningObjectTable(DWORD,LPRUNNINGOBJECTTABLE*);
-WINOLEAPI CoInitializeSecurity(PSECURITY_DESCRIPTOR,LONG,SOLE_AUTHENTICATION_SERVICE*, void*,DWORD,DWORD,void*,DWORD,void*);
-WINOLEAPI CoGetCallContext(REFIID,void**);
-WINOLEAPI CoQueryProxyBlanket(IUnknown*, DWORD*,DWORD*,OLECHAR**,DWORD*,DWORD*,RPC_AUTH_IDENTITY_HANDLE*,DWORD*);
-WINOLEAPI CoSetProxyBlanket(IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE, DWORD);
-WINOLEAPI CoCopyProxy(IUnknown*,IUnknown**);
-WINOLEAPI CoQueryClientBlanket(DWORD*,DWORD*,OLECHAR**, DWORD*,DWORD*,RPC_AUTHZ_HANDLE*,DWORD*);
-WINOLEAPI CoImpersonateClient(void);
-WINOLEAPI CoRevertToSelf(void);
-WINOLEAPI CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**);
-WINOLEAPI CoSwitchCallContext(IUnknown*,IUnknown**);
-WINOLEAPI CoGetInstanceFromFile(COSERVERINFO*, CLSID*,IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,MULTI_QI*);
-WINOLEAPI CoGetInstanceFromIStorage(COSERVERINFO*,CLSID*, IUnknown*,DWORD,struct IStorage*, DWORD,MULTI_QI*);
-WINOLEAPI_(ULONG) CoAddRefServerProcess(void);
-WINOLEAPI_(ULONG) CoReleaseServerProcess(void);
-WINOLEAPI CoResumeClassObjects(void);
-WINOLEAPI CoSuspendClassObjects(void);
-WINOLEAPI CoGetPSClsid(REFIID,CLSID*);
-WINOLEAPI CoRegisterPSClsid(REFIID,REFCLSID);
-
-#pragma pack(pop)
-#endif
Index: Daodan/MinGW/include/objfwd.h
===================================================================
--- Daodan/MinGW/include/objfwd.h	(revision 1046)
+++ 	(revision )
@@ -1,57 +1,0 @@
-#ifndef _OBJFWD_H
-#define _OBJFWD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <basetyps.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef _COM_interface IMoniker *LPMONIKER;
-typedef _COM_interface IStream *LPSTREAM;
-typedef _COM_interface IMarshal *LPMARSHAL;
-typedef _COM_interface IMalloc *LPMALLOC;
-typedef _COM_interface IMallocSpy *LPMALLOCSPY;
-typedef _COM_interface IMessageFilter *LPMESSAGEFILTER;
-typedef _COM_interface IPersist *LPPERSIST;
-typedef _COM_interface IPersistStream *LPPERSISTSTREAM;
-typedef _COM_interface IRunningObjectTable *LPRUNNINGOBJECTTABLE;
-typedef _COM_interface IBindCtx *LPBINDCTX,*LPBC;
-typedef _COM_interface IAdviseSink *LPADVISESINK;
-typedef _COM_interface IAdviseSink2 *LPADVISESINK2;
-typedef _COM_interface IDataObject *LPDATAOBJECT;
-typedef _COM_interface IDataAdviseHolder *LPDATAADVISEHOLDER;
-typedef _COM_interface IEnumMoniker *LPENUMMONIKER;
-typedef _COM_interface IEnumFORMATETC *LPENUMFORMATETC;
-typedef _COM_interface IEnumSTATDATA *LPENUMSTATDATA;
-typedef _COM_interface IEnumSTATSTG *LPENUMSTATSTG;
-typedef _COM_interface IEnumSTATPROPSTG LPENUMSTATPROPSTG;
-typedef _COM_interface IEnumString *LPENUMSTRING;
-typedef _COM_interface IEnumUnknown *LPENUMUNKNOWN;
-typedef _COM_interface IStorage *LPSTORAGE;
-typedef _COM_interface IPersistStorage *LPPERSISTSTORAGE;
-typedef _COM_interface ILockBytes *LPLOCKBYTES;
-typedef _COM_interface IStdMarshalInfo *LPSTDMARSHALINFO;
-typedef _COM_interface IExternalConnection *LPEXTERNALCONNECTION;
-typedef _COM_interface IRunnableObject *LPRUNNABLEOBJECT;
-typedef _COM_interface IROTData *LPROTDATA;
-typedef _COM_interface IPersistFile *LPPERSISTFILE;
-typedef _COM_interface IRootStorage *LPROOTSTORAGE;
-typedef _COM_interface IRpcChannelBuffer *LPRPCCHANNELBUFFER;
-typedef _COM_interface IRpcProxyBuffer *LPRPCPROXYBUFFER;
-typedef _COM_interface IRpcStubBuffer *LPRPCSTUBBUFFER;
-typedef _COM_interface IPropertyStorage *LPPROPERTYSTORAGE;
-typedef _COM_interface IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
-typedef _COM_interface IPropertySetStorage *LPPROPERTYSETSTORAGE;
-typedef _COM_interface IClientSecurity *LPCLIENTSECURITY;
-typedef _COM_interface IServerSecurity *LPSERVERSECURITY;
-typedef _COM_interface IClassActivator *LPCLASSACTIVATOR;
-typedef _COM_interface IFillLockBytes *LPFILLLOCKBYTES;
-typedef _COM_interface IProgressNotify *LPPROGRESSNOTIFY;
-typedef _COM_interface ILayoutStorage *LPLAYOUTSTORAGE;
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/objidl.h
===================================================================
--- Daodan/MinGW/include/objidl.h	(revision 1046)
+++ 	(revision )
@@ -1,1771 +1,0 @@
-#ifndef _OBJIDL_H
-#define _OBJIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <objfwd.h>
-
-#define PIDSI_TITLE		0x00000002
-#define PIDSI_SUBJECT		0x00000003
-#define PIDSI_AUTHOR		0x00000004
-#define PIDSI_KEYWORDS		0x00000005
-#define PIDSI_COMMENTS		0x00000006
-#define PIDSI_TEMPLATE		0x00000007
-#define PIDSI_LASTAUTHOR	0x00000008
-#define PIDSI_REVNUMBER		0x00000009
-#define PIDSI_EDITTIME		0x0000000A
-#define PIDSI_LASTPRINTED	0x0000000B
-#define PIDSI_CREATE_DTM	0x0000000C
-#define PIDSI_LASTSAVE_DTM	0x0000000D
-#define PIDSI_PAGECOUNT		0x0000000E
-#define PIDSI_WORDCOUNT		0x0000000F
-#define PIDSI_CHARCOUNT		0x00000010
-#define PIDSI_THUMBNAIL		0x00000011
-#define PIDSI_APPNAME		0x00000012
-#define PIDSI_DOC_SECURITY	0x00000013
-#define PIDDSI_CATEGORY		0x00000002
-#define PIDDSI_PRESFORMAT	0x00000003
-#define PIDDSI_BYTECOUNT	0x00000004
-#define PIDDSI_LINECOUNT	0x00000005
-#define PIDDSI_PARCOUNT		0x00000006
-#define PIDDSI_SLIDECOUNT	0x00000007
-#define PIDDSI_NOTECOUNT	0x00000008
-#define PIDDSI_HIDDENCOUNT	0x00000009
-#define PIDDSI_MMCLIPCOUNT	0x0000000A
-#define PIDDSI_SCALE		0x0000000B
-#define PIDDSI_HEADINGPAIR	0x0000000C
-#define PIDDSI_DOCPARTS		0x0000000D
-#define PIDDSI_MANAGER		0x0000000E
-#define PIDDSI_COMPANY		0x0000000F
-#define PIDDSI_LINKSDIRTY	0x00000010
-#define PRSPEC_INVALID	0xFFFFFFFF
-#define PRSPEC_LPWSTR	0x00000000
-#define PRSPEC_PROPID	0x00000001
-
-typedef struct  tagSTATSTG {
-	LPOLESTR pwcsName;
-	DWORD type;
-	ULARGE_INTEGER cbSize;
-	FILETIME mtime;
-	FILETIME ctime;
-	FILETIME atime;
-	DWORD grfMode;
-	DWORD grfLocksSupported;
-	CLSID clsid;
-	DWORD grfStateBits;
-	DWORD reserved;
-} STATSTG;
-typedef enum tagSTGTY {
-	STGTY_STORAGE=1,
-	STGTY_STREAM,
-	STGTY_LOCKBYTES,
-	STGTY_PROPERTY
-} STGTY;
-typedef enum tagSTREAM_SEEK {
-	STREAM_SEEK_SET,
-	STREAM_SEEK_CUR,
-	STREAM_SEEK_END
-} STREAM_SEEK;
-typedef struct tagINTERFACEINFO {
-	LPUNKNOWN pUnk;
-	IID iid;
-	WORD wMethod;
-} INTERFACEINFO,*LPINTERFACEINFO;
-typedef enum tagCALLTYPE {
-	CALLTYPE_TOPLEVEL=1,
-	CALLTYPE_NESTED,
-	CALLTYPE_ASYNC,
-	CALLTYPE_TOPLEVEL_CALLPENDING,
-	CALLTYPE_ASYNC_CALLPENDING
-} CALLTYPE;
-typedef enum tagPENDINGTYPE {
-	PENDINGTYPE_TOPLEVEL=1,
-	PENDINGTYPE_NESTED
-} PENDINGTYPE;
-typedef enum tagPENDINGMSG {
-	PENDINGMSG_CANCELCALL=0,
-	PENDINGMSG_WAITNOPROCESS,
-	PENDINGMSG_WAITDEFPROCESS
-} PENDINGMSG;
-typedef OLECHAR **SNB;
-typedef enum tagDATADIR	{
-	DATADIR_GET=1,
-	DATADIR_SET
-} DATADIR;
-typedef WORD CLIPFORMAT,*LPCLIPFORMAT;
-typedef struct tagDVTARGETDEVICE {
-	DWORD tdSize;
-	WORD tdDriverNameOffset;
-	WORD tdDeviceNameOffset;
-	WORD tdPortNameOffset;
-	WORD tdExtDevmodeOffset;
-	BYTE tdData[1];
-} DVTARGETDEVICE;
-typedef struct tagFORMATETC {
-	CLIPFORMAT cfFormat;
-	DVTARGETDEVICE*ptd;
-	DWORD dwAspect;
-	LONG lindex;
-	DWORD tymed;
-} FORMATETC,*LPFORMATETC;
-typedef struct tagRemSTGMEDIUM {
-	DWORD tymed;
-	DWORD dwHandleType;
-	ULONG pData;
-	unsigned long pUnkForRelease;
-	unsigned long cbData;
-	BYTE data[1];
-} RemSTGMEDIUM;
-typedef struct tagHLITEM {
-	ULONG uHLID;
-	LPWSTR pwzFriendlyName;
-} HLITEM;
-typedef struct tagSTATDATA {
-	FORMATETC formatetc;
-	DWORD grfAdvf;
-	struct IAdviseSink *pAdvSink;
-	DWORD dwConnection;
-} STATDATA;
-typedef struct tagSTATPROPSETSTG {
-	FMTID fmtid;
-	CLSID clsid;
-	DWORD grfFlags;
-	FILETIME mtime;
-	FILETIME ctime;
-	FILETIME atime;
-} STATPROPSETSTG;
-typedef enum tagEXTCONN {
-	EXTCONN_STRONG=1,
-	EXTCONN_WEAK=2,
-	EXTCONN_CALLABLE=4
-} EXTCONN;
-typedef struct tagMULTI_QI {
-	const IID *pIID;
-	IUnknown *pItf;
-	HRESULT	hr;
-} MULTI_QI;
-typedef struct _AUTH_IDENTITY {
-	USHORT *User;
-	ULONG UserLength;
-	USHORT *Domain;
-	ULONG DomainLength;
-	USHORT *Password;
-	ULONG PasswordLength;
-	ULONG Flags;
-} AUTH_IDENTITY;
-typedef struct _COAUTHINFO{
-	DWORD dwAuthnSvc;
-	DWORD dwAuthzSvc;
-	LPWSTR pwszServerPrincName;
-	DWORD dwAuthnLevel;
-	DWORD dwImpersonationLevel;
-	AUTH_IDENTITY *pAuthIdentityData;
-	DWORD dwCapabilities;
-} COAUTHINFO;
-typedef struct  _COSERVERINFO {
-	DWORD dwReserved1;
-	LPWSTR pwszName;
-	COAUTHINFO *pAuthInfo;
-	DWORD dwReserved2;
-} COSERVERINFO;
-typedef struct tagBIND_OPTS {
-	DWORD cbStruct;
-	DWORD grfFlags;
-	DWORD grfMode;
-	DWORD dwTickCountDeadline;
-} BIND_OPTS,*LPBIND_OPTS;
-typedef struct tagBIND_OPTS2 {
-	DWORD cbStruct;
-	DWORD grfFlags;
-	DWORD grfMode;
-	DWORD dwTickCountDeadline;
-	DWORD dwTrackFlags;
-	DWORD dwClassContext;
-	LCID locale;
-	COSERVERINFO *pServerInfo;
-} BIND_OPTS2,*LPBIND_OPTS2;
-typedef enum tagBIND_FLAGS {
-	BIND_MAYBOTHERUSER=1,
-	BIND_JUSTTESTEXISTENCE
-} BIND_FLAGS;
-typedef struct tagSTGMEDIUM {
-	DWORD tymed;
-	_ANONYMOUS_UNION union {
-		HBITMAP hBitmap;
-		PVOID hMetaFilePict;
-		HENHMETAFILE hEnhMetaFile;
-		HGLOBAL hGlobal;
-		LPWSTR lpszFileName;
-		LPSTREAM pstm;
-		LPSTORAGE pstg;
-	} DUMMYUNIONNAME;
-	LPUNKNOWN pUnkForRelease;
-} STGMEDIUM,*LPSTGMEDIUM;
-typedef enum tagLOCKTYPE {
-	LOCK_WRITE=1,
-	LOCK_EXCLUSIVE=2,
-	LOCK_ONLYONCE=4
-} LOCKTYPE;
-typedef unsigned long RPCOLEDATAREP;
-typedef struct  tagRPCOLEMESSAGE {
-	PVOID reserved1;
-	RPCOLEDATAREP dataRepresentation;
-	PVOID Buffer;
-	ULONG cbBuffer;
-	ULONG iMethod;
-	PVOID reserved2[5];
-	ULONG rpcFlags;
-} RPCOLEMESSAGE, *PRPCOLEMESSAGE;
-typedef enum tagMKSYS {
-	MKSYS_NONE,
-	MKSYS_GENERICCOMPOSITE,
-	MKSYS_FILEMONIKER,
-	MKSYS_ANTIMONIKER,
-	MKSYS_ITEMMONIKER,
-	MKSYS_POINTERMONIKER
-} MKSYS;
-typedef enum tagMKREDUCE {
-	MKRREDUCE_ALL,
-	MKRREDUCE_ONE=196608,
-	MKRREDUCE_TOUSER=131072,
-	MKRREDUCE_THROUGHUSER=65536
-} MKRREDUCE;
-typedef struct tagRemSNB {
-	unsigned long ulCntStr;
-	unsigned long ulCntChar;
-	OLECHAR rgString[1];
-} RemSNB;
-typedef enum tagADVF {
-	ADVF_NODATA=1,ADVF_PRIMEFIRST=2,ADVF_ONLYONCE=4,ADVF_DATAONSTOP=64,
-	ADVFCACHE_NOHANDLER=8,ADVFCACHE_FORCEBUILTIN=16,ADVFCACHE_ONSAVE=32
-} ADVF;
-typedef enum tagTYMED {
-	TYMED_HGLOBAL=1,TYMED_FILE=2,TYMED_ISTREAM=4,TYMED_ISTORAGE=8,
-	TYMED_GDI=16,TYMED_MFPICT=32,TYMED_ENHMF=64,TYMED_NULL=0
-} TYMED;
-typedef enum tagSERVERCALL {
-	SERVERCALL_ISHANDLED,SERVERCALL_REJECTED,SERVERCALL_RETRYLATER
-} SERVERCALL;
-typedef struct tagCAUB {
-	ULONG cElems;
-	unsigned char *pElems;
-}CAUB;
-typedef struct tagCAI {
-	ULONG cElems;
-	short *pElems;
-}CAI;
-typedef struct tagCAUI {
-	ULONG cElems;
-	USHORT *pElems;
-}CAUI;
-typedef struct tagCAL {
-	ULONG cElems;
-	long *pElems;
-}CAL;
-typedef struct tagCAUL {
-	ULONG cElems;
-	ULONG *pElems;
-}CAUL;
-typedef struct tagCAFLT {
-	ULONG cElems;
-	float *pElems;
-}CAFLT;
-typedef struct tagCADBL {
-	ULONG cElems;
-	double *pElems;
-}CADBL;
-typedef struct tagCACY {
-	ULONG cElems;
-	CY *pElems;
-}CACY;
-typedef struct tagCADATE {
-	ULONG cElems;
-	DATE *pElems;
-}CADATE;
-typedef struct tagCABSTR {
-	ULONG cElems;
-	BSTR  *pElems;
-}CABSTR;
-typedef struct tagCABSTRBLOB {
-	ULONG cElems;
-	BSTRBLOB *pElems;
-}CABSTRBLOB;
-typedef struct tagCABOOL {
-	ULONG cElems;
-	VARIANT_BOOL *pElems;
-}CABOOL;
-typedef struct tagCASCODE {
-	ULONG cElems;
-	SCODE *pElems;
-}CASCODE;
-typedef struct tagCAH {
-	ULONG cElems;
-	LARGE_INTEGER *pElems;
-}CAH;
-typedef struct tagCAUH {
-	ULONG cElems;
-	ULARGE_INTEGER *pElems;
-}CAUH;
-typedef struct tagCALPSTR {
-	ULONG cElems;
-	LPSTR *pElems;
-}CALPSTR;
-typedef struct tagCALPWSTR {
-	ULONG cElems;
-	LPWSTR *pElems;
-}CALPWSTR;
-typedef struct tagCAFILETIME {
-	ULONG cElems;
-	FILETIME *pElems;
-}CAFILETIME;
-typedef struct tagCACLIPDATA {
-	ULONG cElems;
-	CLIPDATA *pElems;
-}CACLIPDATA;
-typedef struct tagCACLSID {
-	ULONG cElems;
-	CLSID *pElems;
-}CACLSID;
-typedef struct tagPROPVARIANT *LPPROPVARIANT;
-typedef struct tagCAPROPVARIANT {
-	ULONG cElems;
-	LPPROPVARIANT pElems;
-}CAPROPVARIANT;
-typedef struct tagPROPVARIANT {
-	VARTYPE vt;
-	WORD wReserved1;
-	WORD wReserved2;
-	WORD wReserved3;
-	_ANONYMOUS_UNION union {
-		CHAR cVal;
-		UCHAR bVal;
-		short iVal;
-		USHORT uiVal;
-		VARIANT_BOOL boolVal;
-#if 0
-/* bool is a standard type in C++, and a standard macro expanding
-   to the _Bool type in C99 (see stdbool.h) */
-		_VARIANT_BOOL bool;
-#endif
-		long lVal;
-		ULONG ulVal;
-		float fltVal;
-		SCODE scode;
-		LARGE_INTEGER hVal;
-		ULARGE_INTEGER uhVal;
-		double dblVal;
-		CY cyVal;
-		DATE date;
-		FILETIME filetime;
-		CLSID *puuid;
-		BLOB blob;
-		CLIPDATA *pclipdata;
-		LPSTREAM pStream;
-		LPSTORAGE pStorage;
-		BSTR bstrVal;
-		BSTRBLOB bstrblobVal;
-		LPSTR pszVal;
-		LPWSTR pwszVal;
-		CAUB caub;
-		CAI cai;
-		CAUI caui;
-		CABOOL cabool;
-		CAL cal;
-		CAUL caul;
-		CAFLT caflt;
-		CASCODE cascode;
-		CAH cah;
-		CAUH cauh;
-		CADBL cadbl;
-		CACY cacy;
-		CADATE cadate;
-		CAFILETIME cafiletime;
-		CACLSID cauuid;
-		CACLIPDATA caclipdata;
-		CABSTR cabstr;
-		CABSTRBLOB cabstrblob;
-		CALPSTR calpstr;
-		CALPWSTR calpwstr;
-		CAPROPVARIANT capropvar;
-	} DUMMYUNIONNAME;
-} PROPVARIANT;
-typedef struct tagPROPSPEC {
-	ULONG ulKind;
-	_ANONYMOUS_UNION union {
-		PROPID propid;
-		LPOLESTR lpwstr;
-	} DUMMYUNIONNAME;
-}PROPSPEC;
-typedef struct  tagSTATPROPSTG {
-	LPOLESTR lpwstrName;
-	PROPID propid;
-	VARTYPE vt;
-} STATPROPSTG;
-typedef enum PROPSETFLAG {
-	PROPSETFLAG_DEFAULT,PROPSETFLAG_NONSIMPLE,PROPSETFLAG_ANSI,
-	PROPSETFLAG_UNBUFFERED=4
-} PROPSETFLAG;
-typedef struct tagSTORAGELAYOUT {
-	DWORD LayoutType;
-	OLECHAR* pwcsElementName;
-	LARGE_INTEGER cOffset;
-	LARGE_INTEGER cBytes;
-} STORAGELAYOUT;
-typedef struct tagSOLE_AUTHENTICATION_SERVICE {
-    DWORD dwAuthnSvc;
-    DWORD dwAuthzSvc;
-    OLECHAR *pPrincipalName;
-    HRESULT hr;
-} SOLE_AUTHENTICATION_SERVICE;
-#define COLE_DEFAULT_PRINCIPAL ( ( OLECHAR* )-1 )
-typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
-	EOAC_NONE = 0,
-	EOAC_MUTUAL_AUTH = 0x1,
-	EOAC_STATIC_CLOAKING = 0x20,
-	EOAC_DYNAMIC_CLOAKING = 0x40,
-	EOAC_ANY_AUTHORITY = 0x80,
-	EOAC_MAKE_FULLSIC = 0x100,
-	EOAC_DEFAULT = 0x800,
-	EOAC_SECURE_REFS = 0x2,
-	EOAC_ACCESS_CONTROL = 0x4,
-	EOAC_APPID = 0x8,
-	EOAC_DYNAMIC = 0x10,
-	EOAC_REQUIRE_FULLSIC = 0x200,
-	EOAC_AUTO_IMPERSONATE = 0x400,
-	EOAC_NO_CUSTOM_MARSHAL = 0x2000,
-	EOAC_DISABLE_AAA = 0x1000
-} EOLE_AUTHENTICATION_CAPABILITIES;
-typedef struct tagSOLE_AUTHENTICATION_INFO {
-    DWORD dwAuthnSvc;
-    DWORD dwAuthzSvc;
-    void* pAuthInfo;
-} SOLE_AUTHENTICATION_INFO;
-#define COLE_DEFAULT_AUTHINFO ( ( void* )-1 )
-typedef struct tagSOLE_AUTHENTICATION_LIST {
-    DWORD cAuthInfo;
-    SOLE_AUTHENTICATION_INFO* aAuthInfo;
-} SOLE_AUTHENTICATION_LIST;
-
-EXTERN_C const FMTID FMTID_SummaryInformation;
-EXTERN_C const FMTID FMTID_DocSummaryInformation;
-EXTERN_C const FMTID FMTID_UserDefinedProperties;
-
-DECLARE_ENUMERATOR(FORMATETC);
-DECLARE_ENUMERATOR(HLITEM);
-DECLARE_ENUMERATOR(STATDATA);
-DECLARE_ENUMERATOR(STATPROPSETSTG);
-DECLARE_ENUMERATOR(STATPROPSTG);
-DECLARE_ENUMERATOR(STATSTG);
-DECLARE_ENUMERATOR_(IEnumString,LPOLESTR);
-DECLARE_ENUMERATOR_(IEnumMoniker,_COM_interface IMoniker*);
-DECLARE_ENUMERATOR_(IEnumUnknown,IUnknown*);
-
-EXTERN_C const IID IID_ISequentialStream;
-#define INTERFACE ISequentialStream
-DECLARE_INTERFACE_(ISequentialStream,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE;
-	STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IStream;
-#define INTERFACE IStream
-DECLARE_INTERFACE_(IStream,ISequentialStream)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE;
-	STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE;
-	STDMETHOD(Seek)(THIS_ LARGE_INTEGER,DWORD,ULARGE_INTEGER*) PURE;
-	STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE;
-	STDMETHOD(CopyTo)(THIS_ IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*) PURE;
-	STDMETHOD(Commit)(THIS_ DWORD) PURE;
-	STDMETHOD(Revert)(THIS) PURE;
-	STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
-	STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
-	STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
-	STDMETHOD(Clone)(THIS_ LPSTREAM*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMarshal;
-#define INTERFACE IMarshal
-DECLARE_INTERFACE_(IMarshal,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetUnmarshalClass) (THIS_ REFIID,PVOID,DWORD,PVOID,DWORD,CLSID*) PURE;
-	STDMETHOD(GetMarshalSizeMax) (THIS_ REFIID,PVOID,DWORD,PVOID,PDWORD,ULONG*) PURE;
-	STDMETHOD(MarshalInterface) (THIS_ IStream*,REFIID,PVOID,DWORD,PVOID,DWORD) PURE;
-	STDMETHOD(UnmarshalInterface) (THIS_ IStream*,REFIID,void**) PURE;
-	STDMETHOD(ReleaseMarshalData) (THIS_ IStream*) PURE;
-	STDMETHOD(DisconnectObject) (THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IStdMarshalInfo;
-#define INTERFACE IStdMarshalInfo
-DECLARE_INTERFACE_(IStdMarshalInfo,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassForHandler)(THIS_ DWORD,PVOID,CLSID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMalloc;
-#define INTERFACE IMalloc
-DECLARE_INTERFACE_(IMalloc,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(void*,Alloc)(THIS_ ULONG) PURE;
-	STDMETHOD_(void*,Realloc)(THIS_ void*,ULONG) PURE;
-	STDMETHOD_(void,Free)(THIS_ void*) PURE;
-	STDMETHOD_(ULONG,GetSize)(THIS_ void*) PURE;
-	STDMETHOD_(int,DidAlloc)(THIS_ void*) PURE;
-	STDMETHOD_(void,HeapMinimize)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMallocSpy;
-#define INTERFACE IMallocSpy
-DECLARE_INTERFACE_(IMallocSpy,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG) PURE;
-	STDMETHOD_(void*,PostAlloc)(THIS_ void*) PURE;
-	STDMETHOD_(void*,PreFree)(THIS_ void*,BOOL) PURE;
-	STDMETHOD_(void,PostFree)(THIS_ BOOL) PURE;
-	STDMETHOD_(ULONG,PreRealloc)(THIS_ void*,ULONG,void**,BOOL) PURE;
-	STDMETHOD_(void*,PostRealloc)(THIS_ void*,BOOL) PURE;
-	STDMETHOD_(void*,PreGetSize)(THIS_ void*,BOOL) PURE;
-	STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG,BOOL) PURE;
-	STDMETHOD_(void*,PreDidAlloc)(THIS_ void*,BOOL) PURE;
-	STDMETHOD_(int,PostDidAlloc)(THIS_ void*,BOOL,int) PURE;
-	STDMETHOD_(void,PreHeapMinimize)(THIS) PURE;
-	STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMessageFilter;
-#define INTERFACE IMessageFilter
-DECLARE_INTERFACE_(IMessageFilter,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD,HTASK,DWORD,LPINTERFACEINFO) PURE;
-	STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK,DWORD,DWORD) PURE;
-	STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK,DWORD,DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPersist;
-#define INTERFACE IPersist
-DECLARE_INTERFACE_(IPersist,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPersistStream;
-#define INTERFACE IPersistStream
-DECLARE_INTERFACE_(IPersistStream,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ IStream*) PURE;
-	STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE;
-	STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRunningObjectTable;
-#define INTERFACE IRunningObjectTable
-DECLARE_INTERFACE_(IRunningObjectTable,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Register)(THIS_ DWORD,LPUNKNOWN,LPMONIKER,PDWORD) PURE;
-	STDMETHOD(Revoke)(THIS_ DWORD) PURE;
-	STDMETHOD(IsRunning)(THIS_ LPMONIKER) PURE;
-	STDMETHOD(GetObject)(THIS_ LPMONIKER,LPUNKNOWN*) PURE;
-	STDMETHOD(NoteChangeTime)(THIS_ DWORD,LPFILETIME) PURE;
-	STDMETHOD(GetTimeOfLastChange)(THIS_ LPMONIKER,LPFILETIME) PURE;
-	STDMETHOD(EnumRunning)(THIS_ IEnumMoniker**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IBindCtx;
-#define INTERFACE IBindCtx
-DECLARE_INTERFACE_(IBindCtx,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(RegisterObjectBound)(THIS_ LPUNKNOWN) PURE;
-	STDMETHOD(RevokeObjectBound)(THIS_ LPUNKNOWN) PURE;
-	STDMETHOD(ReleaseBoundObjects)(THIS) PURE;
-	STDMETHOD(SetBindOptions)(THIS_ LPBIND_OPTS) PURE;
-	STDMETHOD(GetBindOptions)(THIS_ LPBIND_OPTS) PURE;
-	STDMETHOD(GetRunningObjectTable)(THIS_ IRunningObjectTable**) PURE;
-	STDMETHOD(RegisterObjectParam)(THIS_ LPOLESTR,IUnknown*) PURE;
-	STDMETHOD(GetObjectParam)(THIS_ LPOLESTR,IUnknown**) PURE;
-	STDMETHOD(EnumObjectParam)(THIS_ IEnumString**) PURE;
-	STDMETHOD(RevokeObjectParam)(THIS_ LPOLESTR) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IMoniker;
-#define INTERFACE IMoniker
-DECLARE_INTERFACE_(IMoniker,IPersistStream)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ IStream*) PURE;
-	STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE;
-	STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
-	STDMETHOD(BindToObject)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE;
-	STDMETHOD(BindToStorage)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE;
-	STDMETHOD(Reduce)(THIS_ IBindCtx*,DWORD,IMoniker**,IMoniker**) PURE;
-	STDMETHOD(ComposeWith)(THIS_ IMoniker*,BOOL,IMoniker**) PURE;
-	STDMETHOD(Enum)(THIS_ BOOL,IEnumMoniker**) PURE;
-	STDMETHOD(IsEqual)(THIS_ IMoniker*) PURE;
-	STDMETHOD(Hash)(THIS_ PDWORD) PURE;
-	STDMETHOD(IsRunning)(THIS_ IBindCtx*,IMoniker*,IMoniker*) PURE;
-	STDMETHOD(GetTimeOfLastChange)(THIS_ IBindCtx*,IMoniker*,LPFILETIME) PURE;
-	STDMETHOD(Inverse)(THIS_ IMoniker**) PURE;
-	STDMETHOD(CommonPrefixWith)(THIS_ IMoniker*,IMoniker**) PURE;
-	STDMETHOD(RelativePathTo)(THIS_ IMoniker*,IMoniker**) PURE;
-	STDMETHOD(GetDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR*) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR,ULONG*,IMoniker**) PURE;
-	STDMETHOD(IsSystemMoniker)(THIS_ PDWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPersistStorage;
-#define INTERFACE IPersistStorage
-DECLARE_INTERFACE_(IPersistStorage,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(InitNew)(THIS_ LPSTORAGE) PURE;
-	STDMETHOD(Load)(THIS_ LPSTORAGE) PURE;
-	STDMETHOD(Save)(THIS_ LPSTORAGE,BOOL) PURE;
-	STDMETHOD(SaveCompleted)(THIS_ LPSTORAGE) PURE;
-	STDMETHOD(HandsOffStorage)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPersistFile;
-#define INTERFACE IPersistFile
-DECLARE_INTERFACE_(IPersistFile,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ LPCOLESTR,DWORD) PURE;
-	STDMETHOD(Save)(THIS_ LPCOLESTR,BOOL) PURE;
-	STDMETHOD(SaveCompleted)(THIS_ LPCOLESTR) PURE;
-	STDMETHOD(GetCurFile)(THIS_ LPOLESTR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IAdviseSink;
-#define INTERFACE IAdviseSink
-DECLARE_INTERFACE_(IAdviseSink,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
-	STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
-	STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
-	STDMETHOD_(void,OnSave)(THIS) PURE;
-	STDMETHOD_(void,OnClose)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IAdviseSink2;
-#define INTERFACE IAdviseSink2
-DECLARE_INTERFACE_(IAdviseSink2,IAdviseSink)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
-	STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
-	STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
-	STDMETHOD_(void,OnSave)(THIS) PURE;
-	STDMETHOD_(void,OnClose)(THIS) PURE;
-	STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker*);
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IDataObject;
-#define INTERFACE IDataObject
-DECLARE_INTERFACE_(IDataObject,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetData)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
-	STDMETHOD(GetDataHere)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
-	STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
-	STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
-	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
-	STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
-	STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
-	STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IDataAdviseHolder;
-#define INTERFACE IDataAdviseHolder
-DECLARE_INTERFACE_(IDataAdviseHolder,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Advise)(THIS_ IDataObject*,FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
-	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA**) PURE;
-	STDMETHOD(SendOnDataChange)(THIS_ IDataObject*,DWORD,DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IStorage;
-#define INTERFACE IStorage
-DECLARE_INTERFACE_(IStorage,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CreateStream)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStream**) PURE;
-	STDMETHOD(OpenStream)(THIS_ LPCWSTR,PVOID,DWORD,DWORD,IStream**) PURE;
-	STDMETHOD(CreateStorage)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStorage**) PURE;
-	STDMETHOD(OpenStorage)(THIS_ LPCWSTR,IStorage*,DWORD,SNB,DWORD,IStorage**) PURE;
-	STDMETHOD(CopyTo)(THIS_ DWORD,IID const*,SNB,IStorage*) PURE;
-	STDMETHOD(MoveElementTo)(THIS_ LPCWSTR,IStorage*,LPCWSTR,DWORD) PURE;
-	STDMETHOD(Commit)(THIS_ DWORD) PURE;
-	STDMETHOD(Revert)(THIS) PURE;
-	STDMETHOD(EnumElements)(THIS_ DWORD,PVOID,DWORD,IEnumSTATSTG**) PURE;
-	STDMETHOD(DestroyElement)(THIS_ LPCWSTR) PURE;
-	STDMETHOD(RenameElement)(THIS_ LPCWSTR,LPCWSTR) PURE;
-	STDMETHOD(SetElementTimes)(THIS_ LPCWSTR,FILETIME const*,FILETIME const*,FILETIME const*) PURE;
-	STDMETHOD(SetClass)(THIS_ REFCLSID) PURE;
-	STDMETHOD(SetStateBits)(THIS_ DWORD,DWORD) PURE;
-	STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRootStorage;
-#define INTERFACE IRootStorage
-DECLARE_INTERFACE_(IRootStorage,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SwitchToFile)(THIS_ LPOLESTR) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRpcChannelBuffer;
-#define INTERFACE IRpcChannelBuffer
-DECLARE_INTERFACE_(IRpcChannelBuffer,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetBuffer)(THIS_ RPCOLEMESSAGE*,REFIID) PURE;
-	STDMETHOD(SendReceive)(THIS_ RPCOLEMESSAGE*,PULONG) PURE;
-	STDMETHOD(FreeBuffer)(THIS_ RPCOLEMESSAGE*) PURE;
-	STDMETHOD(GetDestCtx)(THIS_ PDWORD,PVOID*) PURE;
-	STDMETHOD(IsConnected)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRpcProxyBuffer;
-#define INTERFACE IRpcProxyBuffer
-DECLARE_INTERFACE_(IRpcProxyBuffer,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Connect)(THIS_ IRpcChannelBuffer*) PURE;
-	STDMETHOD_(void,Disconnect)(THIS) PURE;
-
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRpcStubBuffer;
-#define INTERFACE IRpcStubBuffer
-DECLARE_INTERFACE_(IRpcStubBuffer,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Connect)(THIS_ LPUNKNOWN) PURE;
-	STDMETHOD_(void,Disconnect)(THIS) PURE;
-	STDMETHOD(Invoke)(THIS_ RPCOLEMESSAGE*,LPRPCSTUBBUFFER) PURE;
-	STDMETHOD_(LPRPCSTUBBUFFER,IsIIDSupported)(THIS_ REFIID) PURE;
-	STDMETHOD_(ULONG,CountRefs)(THIS) PURE;
-	STDMETHOD(DebugServerQueryInterface)(THIS_ PVOID*) PURE;
-	STDMETHOD(DebugServerRelease)(THIS_ PVOID) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPSFactoryBuffer;
-#define INTERFACE IPSFactoryBuffer
-DECLARE_INTERFACE_(IPSFactoryBuffer,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CreateProxy)(THIS_ LPUNKNOWN,REFIID,LPRPCPROXYBUFFER*,PVOID*) PURE;
-	STDMETHOD(CreateStub)(THIS_ REFIID,LPUNKNOWN,LPRPCSTUBBUFFER*) PURE;
-};
-#undef INTERFACE
-typedef _COM_interface IPSFactoryBuffer *LPPSFACTORYBUFFER;
-
-EXTERN_C const IID IID_ILockBytes;
-#define INTERFACE ILockBytes
-DECLARE_INTERFACE_(ILockBytes,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER,PVOID,ULONG,ULONG*) PURE;
-	STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER,PCVOID,ULONG,ULONG*) PURE;
-	STDMETHOD(Flush)(THIS) PURE;
-	STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE;
-	STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
-	STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
-	STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IExternalConnection;
-#define INTERFACE IExternalConnection
-DECLARE_INTERFACE_(IExternalConnection,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD,DWORD) PURE;
-	STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD,DWORD,BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IRunnableObject;
-#define INTERFACE IRunnableObject
-DECLARE_INTERFACE_(IRunnableObject,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetRunningClass)(THIS_ LPCLSID) PURE;
-	STDMETHOD(Run)(THIS_ LPBC) PURE;
-	STDMETHOD_(BOOL,IsRunning)(THIS) PURE;
-	STDMETHOD(LockRunning)(THIS_ BOOL,BOOL) PURE;
-	STDMETHOD(SetContainedObject)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IROTData;
-#define INTERFACE IROTData
-DECLARE_INTERFACE_(IROTData,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetComparisonData)(THIS_ PVOID,ULONG,PULONG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IChannelHook;
-#define INTERFACE IChannelHook
-DECLARE_INTERFACE_(IChannelHook,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID,REFIID,PULONG) PURE;
-	STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID) PURE;
-	STDMETHOD_(void,ClientNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD,HRESULT) PURE;
-	STDMETHOD_(void,ServerNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD) PURE;
-	STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID,REFIID,HRESULT,PULONG) PURE;
-	STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID,HRESULT) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyStorage;
-#define INTERFACE IPropertyStorage
-DECLARE_INTERFACE_(IPropertyStorage,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ReadMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*) PURE;
-	STDMETHOD(WriteMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*,PROPID) PURE;
-	STDMETHOD(DeleteMultiple)(THIS_ ULONG,PROPSPEC const*) PURE;
-	STDMETHOD(ReadPropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR*) PURE;
-	STDMETHOD(WritePropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR const*) PURE;
-	STDMETHOD(DeletePropertyNames)(THIS_ ULONG,PROPID const*) PURE;
-	STDMETHOD(SetClass)(THIS_ REFCLSID) PURE;
-	STDMETHOD(Commit)(THIS_ DWORD) PURE;
-	STDMETHOD(Revert)(THIS) PURE;
-	STDMETHOD(Enum)(THIS_ IEnumSTATPROPSTG**) PURE;
-	STDMETHOD(Stat)(THIS_ STATPROPSTG*) PURE;
-	STDMETHOD(SetTimes)(THIS_ FILETIME const*,FILETIME const*,FILETIME const*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertySetStorage;
-#define INTERFACE IPropertySetStorage
-DECLARE_INTERFACE_(IPropertySetStorage,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Create)(THIS_ REFFMTID,CLSID*,DWORD,DWORD,LPPROPERTYSTORAGE*) PURE;
-	STDMETHOD(Open)(THIS_ REFFMTID,DWORD,LPPROPERTYSTORAGE*) PURE;
-	STDMETHOD(Delete)(THIS_ REFFMTID) PURE;
-	STDMETHOD(Enum)(THIS_ IEnumSTATPROPSETSTG**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IClientSecurity;
-#define INTERFACE IClientSecurity
-DECLARE_INTERFACE_(IClientSecurity,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryBlanket)(THIS_ PVOID,PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTH_IDENTITY_HANDLE**,PDWORD*) PURE;
-	STDMETHOD(SetBlanket)(THIS_ PVOID,DWORD,DWORD,LPWSTR,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE*,DWORD) PURE;
-	STDMETHOD(CopyProxy)(THIS_ LPUNKNOWN,LPUNKNOWN*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IServerSecurity;
-#define INTERFACE IServerSecurity
-DECLARE_INTERFACE_(IServerSecurity,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryBlanket)(THIS_ PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTHZ_HANDLE*,PDWORD*) PURE;
-	STDMETHOD(ImpersonateClient)(THIS) PURE;
-	STDMETHOD(RevertToSelf)(THIS) PURE;
-	STDMETHOD(IsImpersonating)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IClassActivator;
-#define INTERFACE IClassActivator
-DECLARE_INTERFACE_(IClassActivator,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassObject)(THIS_ REFCLSID,DWORD,LCID,REFIID,PVOID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IFillLockBytes;
-#define INTERFACE IFillLockBytes
-DECLARE_INTERFACE_(IFillLockBytes,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(FillAppend)(THIS_ void const*,ULONG,PULONG) PURE;
-	STDMETHOD(FillAt)(THIS_ ULARGE_INTEGER,void const*,ULONG,PULONG) PURE;
-	STDMETHOD(SetFillSize)(THIS_ ULARGE_INTEGER) PURE;
-	STDMETHOD(Terminate)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IProgressNotify;
-#define INTERFACE IProgressNotify
-DECLARE_INTERFACE_(IProgressNotify,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnProgress)(THIS_ DWORD,DWORD,BOOL,BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_ILayoutStorage;
-#define INTERFACE ILayoutStorage
-DECLARE_INTERFACE_(ILayoutStorage,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(LayoutScript)(THIS_ STORAGELAYOUT*,DWORD,DWORD) PURE;
-	STDMETHOD(BeginMonitor)(THIS) PURE;
-	STDMETHOD(EndMonitor)(THIS) PURE;
-	STDMETHOD(ReLayoutDocfile)(THIS_ OLECHAR*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IGlobalInterfaceTable;
-#define INTERFACE IGlobalInterfaceTable
-DECLARE_INTERFACE_(IGlobalInterfaceTable,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(RegisterInterfaceInGlobal)(THIS_ IUnknown*,REFIID,DWORD*) PURE;
-	STDMETHOD(RevokeInterfaceFromGlobal)(THIS_ DWORD) PURE;
-	STDMETHOD(GetInterfaceFromGlobal)(THIS_ DWORD,REFIID,void**) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IGlobalInterfaceTable_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IGlobalInterfaceTable_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IGlobalInterfaceTable_Release(T) (T)->lpVtbl->Release(T)
-#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(T,a,b,c) (T)->lpVtbl->RegisterInterfaceInGlobal(T,a,b,c)
-#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(T,a) (T)->lpVtbl->RevokeInterfaceFromGlobal(T,a)
-#define IGlobalInterfaceTable_GetInterfaceFromGlobal(T,a,b,c) (T)->lpVtbl->GetInterfaceFromGlobal(T,a,b,c)
-#endif
-
-HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,CLSID*);
-void STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,DWORD*);
-void STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_MarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void*,DWORD,void*,DWORD);
-void STDMETHODCALLTYPE IMarshal_MarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void**);
-void STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Proxy(IMarshal*,IStream*);
-void STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_DisconnectObject_Proxy(IMarshal*,DWORD);
-void STDMETHODCALLTYPE IMarshal_DisconnectObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMalloc_Alloc_Proxy(IMalloc*,ULONG);
-void STDMETHODCALLTYPE IMalloc_Alloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMalloc_Realloc_Proxy(IMalloc*,void*,ULONG);
-void STDMETHODCALLTYPE IMalloc_Realloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMalloc_Free_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_Free_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMalloc_GetSize_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_GetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-int STDMETHODCALLTYPE IMalloc_DidAlloc_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_DidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMalloc_HeapMinimize_Proxy(IMalloc*);
-void STDMETHODCALLTYPE IMalloc_HeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PreAlloc_Proxy(IMallocSpy*,ULONG cbRequest);
-void STDMETHODCALLTYPE IMallocSpy_PreAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PostAlloc_Proxy(IMallocSpy*,void*);
-void STDMETHODCALLTYPE IMallocSpy_PostAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreFree_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PostFree_Proxy(IMallocSpy*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PreRealloc_Proxy(IMallocSpy*,void*,ULONG,void**,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PostRealloc_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreGetSize_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PostGetSize_Proxy(IMallocSpy*,ULONG,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-int STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Proxy(IMallocSpy*,void*,BOOL,int);
-void STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy* );
-void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy*);
-void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo*,DWORD,void*,CLSID*);
-void STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IExternalConnection_AddConnection_Proxy(IExternalConnection*,DWORD,DWORD);
-void STDMETHODCALLTYPE IExternalConnection_AddConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Proxy(IExternalConnection*,DWORD,DWORD,BOOL);
-void STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-void STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(IEnumUnknown*,ULONG);
-void STDMETHODCALLTYPE IEnumUnknown_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(IEnumUnknown* );
-void STDMETHODCALLTYPE IEnumUnknown_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(IEnumUnknown*,IEnumUnknown**);
-void STDMETHODCALLTYPE IEnumUnknown_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(IBindCtx*,IUnknown*punk);
-void STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*_pRpcChannelBuffer,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(IBindCtx*,IUnknown*punk);
-void STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx*);
-void STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_SetBindOptions_Proxy(IBindCtx*,BIND_OPTS*);
-void STDMETHODCALLTYPE IBindCtx_SetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetBindOptions_Proxy(IBindCtx*,BIND_OPTS*pbindopts);
-void STDMETHODCALLTYPE IBindCtx_GetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(IBindCtx*,IRunningObjectTable**);
-void STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown*);
-void STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown**);
-void STDMETHODCALLTYPE IBindCtx_GetObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(IBindCtx*,IEnumString**);
-void STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(IBindCtx*,LPCSTR);
-void STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-void STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(IEnumMoniker*,ULONG);
-void STDMETHODCALLTYPE IEnumMoniker_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(IEnumMoniker*);
-void STDMETHODCALLTYPE IEnumMoniker_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(IEnumMoniker*,IEnumMoniker**);
-void STDMETHODCALLTYPE IEnumMoniker_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Proxy(IRunnableObject*,LPCLSID);
-void STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_Run_Proxy(IRunnableObject*,LPBINDCTX);
-void STDMETHODCALLTYPE IRunnableObject_Run_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-BOOL STDMETHODCALLTYPE IRunnableObject_IsRunning_Proxy(IRunnableObject*);
-void STDMETHODCALLTYPE IRunnableObject_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_LockRunning_Proxy(IRunnableObject*,BOOL,BOOL);
-void STDMETHODCALLTYPE IRunnableObject_LockRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Proxy(IRunnableObject*,BOOL);
-void STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(IRunningObjectTable*,DWORD,IUnknown*,IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IRunningObjectTable_Register_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(IRunningObjectTable*,DWORD);
-void STDMETHODCALLTYPE IRunningObjectTable_Revoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable*,IMoniker*);
-void STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(IRunningObjectTable*,IMoniker*,IUnknown**);
-void STDMETHODCALLTYPE IRunningObjectTable_GetObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable*,DWORD,FILETIME*);
-void STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable*,IMoniker*,FILETIME*);
-void STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable*,IEnumMoniker**);
-void STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(IPersist*,CLSID*);
-void STDMETHODCALLTYPE IPersist_GetClassID_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(IPersistStream*);
-void STDMETHODCALLTYPE IPersistStream_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(IPersistStream*,IStream*);
-void STDMETHODCALLTYPE IPersistStream_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(IPersistStream*,IStream*,BOOL);
-void STDMETHODCALLTYPE IPersistStream_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(IPersistStream*,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IPersistStream_GetSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-void STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-void STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(IMoniker*,IBindCtx*,DWORD,IMoniker**,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_Reduce_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(IMoniker*,IMoniker*,BOOL,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_ComposeWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(IMoniker*,BOOL,IEnumMoniker**);
-void STDMETHODCALLTYPE IMoniker_Enum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(IMoniker*,IMoniker*);
-void STDMETHODCALLTYPE IMoniker_IsEqual_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IMoniker_Hash_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(IMoniker*,IBindCtx*,IMoniker*,IMoniker*);
-void STDMETHODCALLTYPE IMoniker_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(IMoniker*,IBindCtx*,IMoniker*,FILETIME*);
-void STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_Inverse_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(IMoniker*,IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(IMoniker*,IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_RelativePathTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR*);
-void STDMETHODCALLTYPE IMoniker_GetDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR,ULONG*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_ParseDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IROTData_GetComparisonData_Proxy(IROTData*,BYTE*,ULONG cbMax,ULONG*);
-void STDMETHODCALLTYPE IROTData_GetComparisonData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(IEnumString*,ULONG,LPCSTR*rgelt,ULONG*);
-void STDMETHODCALLTYPE IEnumString_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(IEnumString*,ULONG);
-void STDMETHODCALLTYPE IEnumString_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(IEnumString*);
-void STDMETHODCALLTYPE IEnumString_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(IEnumString*,IEnumString**);
-void STDMETHODCALLTYPE IEnumString_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteRead_Proxy(IStream*,BYTE*,ULONG,ULONG*);
-void STDMETHODCALLTYPE IStream_RemoteRead_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteWrite_Proxy(IStream*,BYTE*pv,ULONG,ULONG*);
-void STDMETHODCALLTYPE IStream_RemoteWrite_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IStream_RemoteSeek_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(IStream*,ULARGE_INTEGER);
-void STDMETHODCALLTYPE IStream_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IStream_RemoteCopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(IStream*,DWORD);
-void STDMETHODCALLTYPE IStream_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(IStream*);
-void STDMETHODCALLTYPE IStream_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE IStream_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE IStream_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(IStream*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE IStream_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(IStream*,IStream**);
-void STDMETHODCALLTYPE IStream_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-void STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG*,ULONG celt);
-void STDMETHODCALLTYPE IEnumSTATSTG_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG*);
-void STDMETHODCALLTYPE IEnumSTATSTG_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG*,IEnumSTATSTG**);
-void STDMETHODCALLTYPE IEnumSTATSTG_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStream**);
-void STDMETHODCALLTYPE IStorage_CreateStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(IStorage*,const OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream**);
-void STDMETHODCALLTYPE IStorage_RemoteOpenStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStorage**);
-void STDMETHODCALLTYPE IStorage_CreateStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(IStorage*,OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-void STDMETHODCALLTYPE IStorage_OpenStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(IStorage*,DWORD,const IID*,SNB,IStorage*);
-void STDMETHODCALLTYPE IStorage_CopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(IStorage*,const OLECHAR*,IStorage*,const OLECHAR*,DWORD);
-void STDMETHODCALLTYPE IStorage_MoveElementTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(IStorage*,DWORD);
-void STDMETHODCALLTYPE IStorage_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(IStorage*);
-void STDMETHODCALLTYPE IStorage_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**);
-void STDMETHODCALLTYPE IStorage_RemoteEnumElements_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(IStorage*,OLECHAR*);
-void STDMETHODCALLTYPE IStorage_DestroyElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(IStorage*,const OLECHAR*,const OLECHAR*);
-void STDMETHODCALLTYPE IStorage_RenameElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(IStorage*,const OLECHAR*,const FILETIME*,const FILETIME*,const FILETIME*);
-void STDMETHODCALLTYPE IStorage_SetElementTimes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(IStorage*,REFCLSID);
-void STDMETHODCALLTYPE IStorage_SetClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(IStorage*,DWORD,DWORD);
-void STDMETHODCALLTYPE IStorage_SetStateBits_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(IStorage*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE IStorage_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_IsDirty_Proxy(IPersistFile*);
-void STDMETHODCALLTYPE IPersistFile_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_Load_Proxy(IPersistFile*,LPCOLESTR,DWORD);
-void STDMETHODCALLTYPE IPersistFile_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_Save_Proxy(IPersistFile*,LPCOLESTR pszFileName,BOOL);
-void STDMETHODCALLTYPE IPersistFile_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_SaveCompleted_Proxy(IPersistFile*,LPCOLESTR);
-void STDMETHODCALLTYPE IPersistFile_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_GetCurFile_Proxy(IPersistFile*,LPCSTR*);
-void STDMETHODCALLTYPE IPersistFile_GetCurFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_IsDirty_Proxy(IPersistStorage*);
-void STDMETHODCALLTYPE IPersistStorage_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_InitNew_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_InitNew_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_Load_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_Save_Proxy(IPersistStorage*,IStorage*,BOOL);
-void STDMETHODCALLTYPE IPersistStorage_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Proxy(IPersistStorage*);
-void STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-void STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*pv,ULONG,ULONG*);
-void STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_Flush_Proxy(ILockBytes*);
-void STDMETHODCALLTYPE ILockBytes_Flush_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_SetSize_Proxy(ILockBytes*,ULARGE_INTEGER);
-void STDMETHODCALLTYPE ILockBytes_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_LockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE ILockBytes_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_UnlockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE ILockBytes_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_Stat_Proxy(ILockBytes*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE ILockBytes_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-void STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC*,ULONG);
-void STDMETHODCALLTYPE IEnumFORMATETC_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC*);
-void STDMETHODCALLTYPE IEnumFORMATETC_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC*,IEnumFORMATETC**);
-void STDMETHODCALLTYPE IEnumFORMATETC_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Stub(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-void STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA*,ULONG);
-void STDMETHODCALLTYPE IEnumSTATDATA_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA*);
-void STDMETHODCALLTYPE IEnumSTATDATA_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IEnumSTATDATA_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Stub(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-HRESULT STDMETHODCALLTYPE IRootStorage_SwitchToFile_Proxy(IRootStorage*,LPCSTR);
-void STDMETHODCALLTYPE IRootStorage_SwitchToFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Proxy(IAdviseSink*,FORMATETC*,STGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Stub(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Proxy(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Stub(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_OnRename_Proxy(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_OnRename_Stub(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_OnSave_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_OnSave_Stub(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_OnClose_Proxy(IAdviseSink*);
-HRESULT STDMETHODCALLTYPE IAdviseSink_OnClose_Stub(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2*,IMoniker*);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-void STDMETHODCALLTYPE IDataObject_RemoteGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-void STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(IDataObject*,FORMATETC*);
-void STDMETHODCALLTYPE IDataObject_QueryGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject*,FORMATETC*,FORMATETC*);
-void STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL);
-void STDMETHODCALLTYPE IDataObject_RemoteSetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(IDataObject*,DWORD,IEnumFORMATETC**);
-void STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*);
-void STDMETHODCALLTYPE IDataObject_DAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(IDataObject*,DWORD);
-void STDMETHODCALLTYPE IDataObject_DUnadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(IDataObject*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IDataObject_EnumDAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_GetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*);
-HRESULT STDMETHODCALLTYPE IDataObject_GetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*);
-HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-HRESULT STDMETHODCALLTYPE IDataObject_SetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*,BOOL);
-HRESULT STDMETHODCALLTYPE IDataObject_SetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder*,IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*);
-void STDMETHODCALLTYPE IDataAdviseHolder_Advise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder*,DWORD);
-void STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder*,IDataObject*,DWORD,DWORD);
-void STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Proxy(IMessageFilter*,DWORD,HTASK,DWORD,LPINTERFACEINFO);
-void STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter*,HTASK,DWORD,DWORD);
-void STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_MessagePending_Proxy(IMessageFilter*,HTASK,DWORD,DWORD);
-void STDMETHODCALLTYPE IMessageFilter_MessagePending_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,REFIID);
-void STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,ULONG*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer*,DWORD*,void**);
-void STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer*,IRpcChannelBuffer*pRpcChannelBuffer);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer*);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer*,IUnknown*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-IRpcStubBuffer*STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer*,REFIID);
-void STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer*,void**);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer*,void*);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer*,IUnknown*,REFIID,IRpcProxyBuffer**,void**);
-void STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer*,REFIID,IUnknown*,IRpcStubBuffer**);
-void STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE SNB_to_xmit(SNB*,RemSNB**);
-void STDMETHODCALLTYPE SNB_from_xmit(RemSNB*,SNB*);
-void STDMETHODCALLTYPE SNB_free_inst(SNB*);
-void STDMETHODCALLTYPE SNB_free_xmit(RemSNB*);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Stub(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Stub(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IEnumString_Next_Proxy(IEnumString*,ULONG,LPCSTR*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumString_Next_Stub(IEnumString*,ULONG,LPCSTR*,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Read_Proxy(IStream*,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Read_Stub(IStream*,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Write_Proxy(IStream*,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Write_Stub(IStream*,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Seek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_Seek_Stub(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_CopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_CopyTo_Stub(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Stub(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Proxy(IStorage*,OLECHAR*,void*,DWORD,DWORD,IStream**);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Stub(IStorage*,OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream** );
-HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Proxy(IStorage*,DWORD,void*,DWORD,IEnumSTATSTG**);
-HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Stub(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**);
-HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,const void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define IMarshal_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMarshal_Release(This) (This)->lpVtbl->Release(This)
-#define IMarshal_GetUnmarshalClass(T,r,pv,dw,pvD,m,pC) (T)->lpVtbl->GetUnmarshalClass(T,r,pv,dw,pvD,m,pC)
-#define IMarshal_GetMarshalSizeMax(T,r,pv,dw,pD,m,p) (T)->lpVtbl->GetMarshalSizeMax(T,r,pv,dw,pD,m,p)
-#define IMarshal_MarshalInterface(T,p,r,pv,dw,pvD,m) (T)->lpVtbl->MarshalInterface(T,p,r,pv,dw,pv,m)
-#define IMarshal_UnmarshalInterface(T,p,r,pp) (T)->lpVtbl->UnmarshalInterface(T,p,r,pp)
-#define IMarshal_ReleaseMarshalData(T,p) (T)->lpVtbl->ReleaseMarshalData(T,p)
-#define IMarshal_DisconnectObject(T,d) (T)->lpVtbl->DisconnectObject(T,d)
-#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMalloc_Release(This) (This)->lpVtbl->Release(This)
-#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
-#define IMalloc_Realloc(This,pv,cb)	(This)->lpVtbl->Realloc(This,pv,cb)
-#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
-#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
-#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
-#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
-#define IMallocSpy_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IMallocSpy_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
-#define IMallocSpy_PreAlloc(T,c) (T)->lpVtbl->PreAlloc(T,c)
-#define IMallocSpy_PostAlloc(This,p) (This)->lpVtbl->PostAlloc(This,p)
-#define IMallocSpy_PreFree(This,p,f) (This)->lpVtbl->PreFree(This,p,f)
-#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
-#define IMallocSpy_PreRealloc(T,p,c,pp,f) (T)->lpVtbl->PreRealloc(T,p,c,pp,f)
-#define IMallocSpy_PostRealloc(T,p,f) (T)->lpVtbl->PostRealloc(T,p,f)
-#define IMallocSpy_PreGetSize(This,p,f)	(This)->lpVtbl->PreGetSize(This,p,f)
-#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
-#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
-#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
-#define IMallocSpy_PreHeapMinimize(T) (T)->lpVtbl->PreHeapMinimize(T)
-#define IMallocSpy_PostHeapMinimize(T) (T)->lpVtbl->PostHeapMinimize(T)
-#define IStdMarshalInfo_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p)
-#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
-#define IStdMarshalInfo_GetClassForHandler(This,D,p,C) (This)->lpVtbl->GetClassForHandler(This,D,p,C)
-#define IExternalConnection_QueryInterface(This,riid,ppvObject)	(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
-#define IExternalConnection_AddConnection(T,e,r) (T)->lpVtbl->AddConnection(T,e,r)
-#define IExternalConnection_ReleaseConnection(This,e,r,f) (This)->lpVtbl->ReleaseConnection(This,e,r,f)
-#define IEnumUnknown_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumUnknown_Next(This,celt,rgelt,p) (This)->lpVtbl->Next(This,celt,rgelt,p)
-#define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumUnknown_Clone(This,ppenum)	 (This)->lpVtbl->Clone(This,ppenum)
-#define IBindCtx_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IBindCtx_Release(This)	(This)->lpVtbl->Release(This)
-#define IBindCtx_RegisterObjectBound(T,p) (T)->lpVtbl->RegisterObjectBound(T,p)
-#define IBindCtx_RevokeObjectBound(T,p)	(T)->lpVtbl->RevokeObjectBound(T,p)
-#define IBindCtx_ReleaseBoundObjects(T) (T)->lpVtbl->ReleaseBoundObjects(T)
-#define IBindCtx_SetBindOptions(T,p) (T)->lpVtbl->SetBindOptions(T,p)
-#define IBindCtx_GetBindOptions(This,pbindopts)	(This)->lpVtbl->GetBindOptions(This,pbindopts)
-#define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
-#define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
-#define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
-#define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
-#define IBindCtx_RevokeObjectParam(This,pszKey)	(This)->lpVtbl->RevokeObjectParam(This,pszKey)
-#define IEnumMoniker_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumMoniker_Next(This,celt,rgelt,pceltFetched)	(This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRunnableObject_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IRunnableObject_Release(This)	(This)->lpVtbl->Release(This)
-#define IRunnableObject_GetRunningClass(This,lpClsid)	(This)->lpVtbl->GetRunningClass(This,lpClsid)
-#define IRunnableObject_Run(This,pbc)	(This)->lpVtbl->Run(This,pbc)
-#define IRunnableObject_IsRunning(This)	(This)->lpVtbl->IsRunning(This)
-#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
-#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
-#define IRunningObjectTable_QueryInterface(This,riid,ppvObject)	(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
-#define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
-#define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
-#define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
-#define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
-#define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
-#define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
-#define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
-#define IPersist_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IPersist_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IPersist_Release(This)	(This)->lpVtbl->Release(This)
-#define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistStream_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IPersistStream_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IPersistStream_Release(This)	(This)->lpVtbl->Release(This)
-#define IPersistStream_GetClassID(T,p) (T)->lpVtbl->GetClassID(T,p)
-#define IPersistStream_IsDirty(This)	(This)->lpVtbl->IsDirty(This)
-#define IPersistStream_Load(This,pStm)	(This)->lpVtbl->Load(This,pStm)
-#define IPersistStream_Save(T,p,f) (T)->lpVtbl->Save(T,p,f)
-#define IPersistStream_GetSizeMax(T,p) (T)->lpVtbl->GetSizeMax(T,p)
-#define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMoniker_Release(This)	(This)->lpVtbl->Release(This)
-#define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IMoniker_IsDirty(This)	(This)->lpVtbl->IsDirty(This)
-#define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
-#define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
-#define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
-#define IMoniker_BindToObject(T,p,pm,r,pp) (T)->lpVtbl->BindToObject(T,p,pm,r,pp)
-#define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
-#define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)	(This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
-#define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
-#define IMoniker_Enum(T,f,pp) (T)->lpVtbl->Enum(T,f,pp)
-#define IMoniker_IsEqual(This,p) (This)->lpVtbl->IsEqual(This,p)
-#define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
-#define IMoniker_IsRunning(T,pbc,Left,N) (T)->lpVtbl->IsRunning(T,pbc,Left,N)
-#define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
-#define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
-#define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
-#define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
-#define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
-#define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
-#define IMoniker_IsSystemMoniker(This,pdwMksys)	(This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
-#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IROTData_Release(This) (This)->lpVtbl->Release(This)
-#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
-#define IEnumString_QueryInterface(This,riid,ppvObject)	(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumString_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumString_Reset(This)	(This)->lpVtbl->Reset(This)
-#define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IStream_Release(This) (This)->lpVtbl->Release(This)
-#define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
-#define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
-#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
-#define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
-#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	(This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
-#define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
-#define IStream_Revert(This) (This)->lpVtbl->Revert(This)
-#define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
-#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
-#define IStream_Stat(This,pstatstg,grfStatFlag)	(This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
-#define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
-#define IEnumSTATSTG_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumSTATSTG_Next(T,c,r,p) (T)->lpVtbl->Next(T,c,r,p)
-#define IEnumSTATSTG_Skip(This,celt)	(This)->lpVtbl->Skip(This,celt)
-#define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumSTATSTG_Clone(This,ppenum)	 (This)->lpVtbl->Clone(This,ppenum)
-#define IStorage_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IStorage_AddRef(This)	 (This)->lpVtbl->AddRef(This)
-#define IStorage_Release(This)	 (This)->lpVtbl->Release(This)
-#define IStorage_CreateStream(T,p,g,r1,r2,pp) (T)->lpVtbl->CreateStream(T,p,g,r1,r2,pp)
-#define IStorage_OpenStream(T,p,r1,g,r2,pp) (T)->lpVtbl->OpenStream(T,p,r1,g,r2,pp)
-#define IStorage_CreateStorage(T,p,g,d,r2,pp) (T)->lpVtbl->CreateStorage(T,p,g,d,r2,pp)
-#define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
-#define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
-#define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
-#define IStorage_Commit(This,g) (This)->lpVtbl->Commit(This,g)
-#define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
-#define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
-#define IStorage_DestroyElement(This,pwcsName)	(This)->lpVtbl->DestroyElement(This,pwcsName)
-#define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
-#define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
-#define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
-#define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
-#define IStorage_Stat(This,p,g) (This)->lpVtbl->Stat(This,p,g)
-#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistFile_GetClassID(This,pClassID)	(This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
-#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
-#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
-#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
-#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
-#define IPersistStorage_Load(This,pStg)	(This)->lpVtbl->Load(This,pStg)
-#define IPersistStorage_Save(This,pStgSave,fSameAsLoad)	(This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
-#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
-#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
-#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ILockBytes_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
-#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
-#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
-#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
-#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
-#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
-#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
-#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
-#define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IRootStorage_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRootStorage_Release(This)	 (This)->lpVtbl->Release(This)
-#define IRootStorage_SwitchToFile(This,pszFile)	 (This)->lpVtbl->SwitchToFile(This,pszFile)
-#define IAdviseSink_QueryInterface(This,riid,ppvObject)	(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
-#define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
-#define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
-#define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
-#define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
-#define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
-#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
-#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
-#define IAdviseSink2_OnViewChange(This,dwAspect,lindex)	(This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
-#define IAdviseSink2_OnRename(This,pmk)	(This)->lpVtbl->OnRename(This,pmk)
-#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
-#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
-#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
-#define IDataObject_QueryInterface(This,riid,ppvObject)	(This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDataObject_Release(This) (This)->lpVtbl->Release(This)
-#define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
-#define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
-#define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
-#define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
-#define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
-#define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
-#define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
-#define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
-#define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
-#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDataAdviseHolder_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IDataAdviseHolder_Release(This)	(This)->lpVtbl->Release(This)
-#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
-#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
-#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise)	(This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
-#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
-#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMessageFilter_AddRef(This)	 (This)->lpVtbl->AddRef(This)
-#define IMessageFilter_Release(This)	 (This)->lpVtbl->Release(This)
-#define IMessageFilter_HandleInComingCall(T,d,h,dw,lp) (T)->lpVtbl->HandleInComingCall(T,d,h,dw,lp)
-#define IMessageFilter_RetryRejectedCall(s,C,T,R) (s)->lpVtbl->RetryRejectedCall(s,C,T,R)
-#define IMessageFilter_MessagePending(s,C,T,P) (s)->lpVtbl->MessagePending(This,C,T,P)
-#define IRpcChannelBuffer_QueryInterface(T,r,p)	(T)->lpVtbl->QueryInterface(T,r,p)
-#define IRpcChannelBuffer_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IRpcChannelBuffer_Release(This)	(This)->lpVtbl->Release(This)
-#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid)	(This)->lpVtbl->GetBuffer(This,pMessage,riid)
-#define IRpcChannelBuffer_SendReceive(T,p,pS) (T)->lpVtbl->SendReceive(T,p,pS)
-#define IRpcChannelBuffer_FreeBuffer(T,p) (T)->lpVtbl->FreeBuffer(T,p)
-#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
-#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
-#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
-#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer)	(This)->lpVtbl->Connect(This,pRpcChannelBuffer)
-#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
-#define IRpcStubBuffer_QueryInterface(T,r,pp) (T)->lpVtbl->QueryInterface(T,r,pp)
-#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRpcStubBuffer_Release(This)	(This)->lpVtbl->Release(This)
-#define IRpcStubBuffer_Connect(This,p)	 (This)->lpVtbl->Connect(This,p)
-#define IRpcStubBuffer_Disconnect(This)	 (This)->lpVtbl->Disconnect(This)
-#define IRpcStubBuffer_Invoke(T,_prpcmsg,_p)	 (T)->lpVtbl->Invoke(T,_prpcmsg,_p)
-#define IRpcStubBuffer_IsIIDSupported(T,d) (T)->lpVtbl->IsIIDSupported(T,d)
-#define IRpcStubBuffer_CountRefs(This)	 (This)->lpVtbl->CountRefs(This)
-#define IRpcStubBuffer_DebugServerQueryInterface(T,p) (T)->lpVtbl->DebugServerQueryInterface(T,p)
-#define IRpcStubBuffer_DebugServerRelease(T,p) (T)->lpVtbl->DebugServerRelease(T,p)
-#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPSFactoryBuffer_AddRef(This)	(This)->lpVtbl->AddRef(This)
-#define IPSFactoryBuffer_Release(This)	(This)->lpVtbl->Release(This)
-#define IPSFactoryBuffer_CreateProxy(T,U,r,P,p) (T)->lpVtbl->CreateProxy(T,U,r,P,p)
-#define IPSFactoryBuffer_CreateStub(T,r,U,p) (T)->lpVtbl->CreateStub(T,r,U,p)
-#define IClassActivator_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IClassActivator_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IClassActivator_Release(T) (T)->lpVtbl->Release(T)
-#define IClassActivator_GetClassObject(T,a,b,c,d,e) (T)->lpVtbl->GetClassObject(T,a,b,c,d,e)
-#endif /* COBJMACROS */
-
-#endif
Index: Daodan/MinGW/include/objsafe.h
===================================================================
--- Daodan/MinGW/include/objsafe.h	(revision 1046)
+++ 	(revision )
@@ -1,26 +1,0 @@
-#ifndef _OBJSAFE_H
-#define _OBJSAFE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define INTERFACESAFE_FOR_UNTRUSTED_CALLER 0x00000001
-#define INTERFACESAFE_FOR_UNTRUSTED_DATA 0x00000002
-
-EXTERN_C const IID IID_IObjectSafety;
-#define INTERFACE IObjectSafety
-DECLARE_INTERFACE_(IObjectSafety,IUnknown)
-{
-	STDMETHOD(GetInterfaceSafetyOptions)(THIS_ REFIID,DWORD*,DWORD*) PURE;
-	STDMETHOD(SetInterfaceSafetyOptions)(THIS_ REFIID,DWORD,DWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/objsel.h
===================================================================
--- Daodan/MinGW/include/objsel.h	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-/*
- * objsel.h - Active Directory
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _OBJSEL_H
-#define _OBJSEL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Active Directory Reference - Active Directory Structures - Object Picker Dialog Box Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _DS_SELECTION {
-	PWSTR pwzName;
-	PWSTR pwzADsPath;
-	PWSTR pwzClass;
-	PWSTR pwzUPN;
-	VARIANT *pvarFetchedAttributes;
-	ULONG flScopeType;
-} DS_SELECTION,*PDS_SELECTION;
-typedef struct _DS_SELECTION_LIST {
-	ULONG cItems;
-	ULONG cFetchedAttributes;
-	DS_SELECTION aDsSelection[ANYSIZE_ARRAY];
-} DS_SELECTION_LIST,*PDS_SELECTION_LIST;
-
-typedef struct _DSOP_UPLEVEL_FILTER_FLAGS {
-	ULONG flBothModes;
-	ULONG flMixedModeOnly;
-	ULONG flNativeModeOnly;
-} DSOP_UPLEVEL_FILTER_FLAGS;
-#define DSOP_FILTER_INCLUDE_ADVANCED_VIEW 0x00000001
-#define DSOP_FILTER_USERS 0x00000002
-#define DSOP_FILTER_BUILTIN_GROUPS 0x00000004
-#define DSOP_FILTER_WELL_KNOWN_PRINCIPALS 0x00000008
-#define DSOP_FILTER_UNIVERSAL_GROUPS_DL 0x00000010
-#define DSOP_FILTER_UNIVERSAL_GROUPS_SE 0x00000020
-#define DSOP_FILTER_GLOBAL_GROUPS_DL 0x00000040
-#define DSOP_FILTER_GLOBAL_GROUPS_SE 0x00000080
-#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL 0x00000100
-#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE 0x00000200
-#define DSOP_FILTER_CONTACTS 0x00000400
-#define DSOP_FILTER_COMPUTERS 0x00000800
-typedef struct _DSOP_FILTER_FLAGS {
-	DSOP_UPLEVEL_FILTER_FLAGS Uplevel;
-	ULONG flDownlevel;
-} DSOP_FILTER_FLAGS;
-#define DSOP_DOWNLEVEL_FILTER_USERS 0x80000001
-#define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS 0x80000002
-#define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS 0x80000004
-#define DSOP_DOWNLEVEL_FILTER_COMPUTERS 0x80000008
-#define DSOP_DOWNLEVEL_FILTER_WORLD 0x80000010
-#define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER 0x80000020
-#define DSOP_DOWNLEVEL_FILTER_ANONYMOUS 0x80000040
-#define DSOP_DOWNLEVEL_FILTER_BATCH 0x80000080
-#define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER 0x80000100
-#define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP 0x80000200
-#define DSOP_DOWNLEVEL_FILTER_DIALUP 0x80000400
-#define DSOP_DOWNLEVEL_FILTER_INTERACTIVE 0x80000800
-#define DSOP_DOWNLEVEL_FILTER_NETWORK 0x80001000
-#define DSOP_DOWNLEVEL_FILTER_SERVICE 0x80002000
-#define DSOP_DOWNLEVEL_FILTER_SYSTEM 0x80004000
-#define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS 0x80008000
-#define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER 0x80010000
-#define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS 0x80020000
-#define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE 0x80040000
-#define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE 0x80080000
-#define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON 0x80100000
-typedef struct _DSOP_SCOPE_INIT_INFO {
-	ULONG cbSize;
-	ULONG flType;
-	ULONG flScope;
-	DSOP_FILTER_FLAGS FilterFlags;
-	PCWSTR pwzDcName;
-	PCWSTR pwzADsPath;
-	HRESULT hr;
-} DSOP_SCOPE_INIT_INFO,*PDSOP_SCOPE_INIT_INFO,*PCDSOP_SCOPE_INIT_INFO;
-#define DSOP_SCOPE_TYPE_TARGET_COMPUTER 0x00000001
-#define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 0x00000002
-#define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN 0x00000004
-#define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 0x00000008
-#define DSOP_SCOPE_TYPE_GLOBAL_CATALOG 0x00000010
-#define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN 0x00000020
-#define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN 0x00000040
-#define DSOP_SCOPE_TYPE_WORKGROUP 0x00000080
-#define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE 0x00000100
-#define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE 0x00000200
-typedef struct _DSOP_INIT_INFO {
-	ULONG cbSize;
-	PCWSTR pwzTargetComputer;
-	ULONG cDsScopeInfos;
-	PDSOP_SCOPE_INIT_INFO aDsScopeInfos;
-	ULONG flOptions;
-	ULONG cAttributesToFetch;
-	PCWSTR* apwzAttributeNames;
-} DSOP_INIT_INFO,*PDSOP_INIT_INFO;
-#define DSOP_FLAG_MULTISELECT 0x00000001
-#define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ocidl.h
===================================================================
--- Daodan/MinGW/include/ocidl.h	(revision 1046)
+++ 	(revision )
@@ -1,856 +1,0 @@
-#ifndef _OCIDL_H
-#define _OCIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-
-typedef _COM_interface IErrorLog *LPERRORLOG;
-typedef _COM_interface IPropertyBag *LPPROPERTYBAG;
-typedef _COM_interface IPropertyBag2 *LPPROPERTYBAG2;
-typedef _COM_interface IEnumConnections *LPENUMCONNECTIONS;
-typedef _COM_interface IConnectionPoint *LPCONNECTIONPOINT;
-typedef _COM_interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
-typedef _COM_interface IPropertyPageSite *LPPROPERTYPAGESITE;
-typedef _COM_interface IFont *LPFONT;
-typedef _COM_interface IFontDisp *LPFONTDISP;
-typedef _COM_interface IOleUndoManager *LPOLEUNDOMANAGER;
-
-#ifndef OLE2ANSI
-typedef TEXTMETRICW TEXTMETRICOLE;
-#else
-typedef TEXTMETRIC TEXTMETRICOLE;
-#endif
-typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
-typedef DWORD OLE_COLOR;
-typedef UINT OLE_HANDLE;
-typedef long OLE_XPOS_HIMETRIC;
-typedef long OLE_YPOS_HIMETRIC;
-typedef long OLE_XSIZE_HIMETRIC;
-typedef long OLE_YSIZE_HIMETRIC;
-
-typedef enum tagREADYSTATE {
-	READYSTATE_UNINITIALIZED = 0,
-	READYSTATE_LOADING = 1,
-	READYSTATE_LOADED = 2,
-	READYSTATE_INTERACTIVE = 3,
-	READYSTATE_COMPLETE = 4
-} READYSTATE;
-typedef enum tagPROPBAG2_TYPE {
-	PROPBAG2_TYPE_UNDEFINED	= 0,
-	PROPBAG2_TYPE_DATA = 1,
-	PROPBAG2_TYPE_URL = 2,
-	PROPBAG2_TYPE_OBJECT = 3,
-	PROPBAG2_TYPE_STREAM = 4,
-	PROPBAG2_TYPE_STORAGE = 5,
-	PROPBAG2_TYPE_MONIKER = 6
-} PROPBAG2_TYPE;
-typedef struct tagPROPBAG2
-{
-	DWORD dwType;
-	VARTYPE vt;
-	CLIPFORMAT cfType;
-	DWORD dwHint;
-	LPOLESTR pstrName;
-	CLSID clsid;
-} PROPBAG2;
-typedef enum tagQACONTAINERFLAGS
-{
-	QACONTAINER_SHOWHATCHING = 1,
-	QACONTAINER_SHOWGRABHANDLES = 2,
-	QACONTAINER_USERMODE = 4,
-	QACONTAINER_DISPLAYASDEFAULT = 8,
-	QACONTAINER_UIDEAD = 16,
-	QACONTAINER_AUTOCLIP = 32,
-	QACONTAINER_MESSAGEREFLECT = 64,
-	QACONTAINER_SUPPORTSMNEMONICS = 128
-} QACONTAINERFLAGS;
-typedef struct tagQACONTAINER
-{
-	ULONG cbSize;
-	_COM_interface IOleClientSite *pClientSite;
-	_COM_interface IAdviseSinkEx *pAdviseSink;
-	_COM_interface IPropertyNotifySink *pPropertyNotifySink;
-	IUnknown *pUnkEventSink;
-	DWORD dwAmbientFlags;
-	OLE_COLOR colorFore;
-	OLE_COLOR colorBack;
-	_COM_interface IFont *pFont;
-	_COM_interface IOleUndoManager *pUndoMgr;
-	DWORD dwAppearance;
-	LONG lcid;
-	HPALETTE hpal;
-	_COM_interface IBindHost *pBindHost;
-	_COM_interface IOleControlSite *pOleControlSite;
-	_COM_interface IServiceProvider *pServiceProvider;
-} QACONTAINER;
-typedef struct tagQACONTROL
-{
-	ULONG cbSize;
-	DWORD dwMiscStatus;
-	DWORD dwViewStatus;
-	DWORD dwEventCookie;
-	DWORD dwPropNotifyCookie;
-	DWORD dwPointerActivationPolicy;
-} QACONTROL;
-typedef struct tagPOINTF {
-	float x;
-	float y;
-} POINTF,*LPPOINTF;
-typedef struct tagCONTROLINFO {
-	ULONG cb;
-	HACCEL hAccel;
-	USHORT cAccel;
-	DWORD dwFlags;
-} CONTROLINFO,*LPCONTROLINFO;
-typedef struct tagCONNECTDATA {
-	LPUNKNOWN pUnk;
-	DWORD dwCookie;
-} CONNECTDATA,*LPCONNECTDATA;
-typedef struct tagLICINFO {
-	long cbLicInfo;
-	BOOL fRuntimeKeyAvail;
-	BOOL fLicVerified;
-} LICINFO,*LPLICINFO;
-typedef struct tagCAUUID {
-	ULONG cElems;
-	GUID *pElems;
-} CAUUID,*LPCAUUID;
-typedef struct tagCALPOLESTR {
-	ULONG cElems;
-	LPOLESTR *pElems;
-} CALPOLESTR,*LPCALPOLESTR;
-typedef struct tagCADWORD {
-	ULONG cElems;
-	DWORD *pElems;
-} CADWORD,*LPCADWORD;
-typedef struct tagPROPPAGEINFO {
-	ULONG cb;
-	LPOLESTR pszTitle;
-	SIZE size;
-	LPOLESTR pszDocString;
-	LPOLESTR pszHelpFile;
-	DWORD dwHelpContext;
-} PROPPAGEINFO,*LPPROPPAGEINFO;
-
-EXTERN_C const IID IID_IOleControl;
-#define INTERFACE IOleControl
-DECLARE_INTERFACE_(IOleControl,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE;
-	STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE;
-	STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE;
-	STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleControlSite;
-#define INTERFACE IOleControlSite
-DECLARE_INTERFACE_(IOleControlSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnControlInfoChanged)(THIS) PURE;
-	STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE;
-	STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE;
-	STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE;
-	STDMETHOD(OnFocus)(THIS_ BOOL) PURE;
-	STDMETHOD(ShowPropertyFrame)(THIS) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleControlSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleControlSite_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleControlSite_Release(T) (T)->lpVtbl->Release(T)
-#define IOleControlSite_OnControlInfoChanged(T) (T)->lpVtbl->OnControlInfoChanged(T)
-#define IOleControlSite_LockInPlaceActive(T,a) (T)->lpVtbl->LockInPlaceActive(T,a)
-#define IOleControlSite_GetExtendedControl(T,a) (T)->lpVtbl->GetExtendedControl(T,a)
-#define IOleControlSite_TransformCoords(T,a,b,c) (T)->lpVtbl->TransformCoords(T,a,b,c)
-#define IOleControlSite_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
-#define IOleControlSite_OnFocus(T,a) (T)->lpVtbl->OnFocus(T,a)
-#define IOleControlSite_ShowPropertyFrame(T) (T)->lpVtbl->ShowPropertyFrame(T)
-#endif
-
-EXTERN_C const IID IID_ISimpleFrameSite;
-#define INTERFACE ISimpleFrameSite
-DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE;
-	STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IErrorLog;
-#define INTERFACE IErrorLog
-DECLARE_INTERFACE_(IErrorLog,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyBag;
-#define INTERFACE IPropertyBag
-DECLARE_INTERFACE_(IPropertyBag,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
-	STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPropertyBag_Release(T) (T)->lpVtbl->Release(T)
-#define IPropertyBag_Read(T,a,b,c) (T)->lpVtbl->Read(T,a,b,c)
-#define IPropertyBag_Write(T,a,b) (T)->lpVtbl->Write(T,a,b)
-#endif
-
-EXTERN_C const IID IID_IPropertyBag2;
-#define INTERFACE IPropertyBag2
-DECLARE_INTERFACE_(IPropertyBag2,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE;
-	STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE;
-	STDMETHOD(CountProperties)(THIS_ ULONG*) PURE;
-	STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE;
-	STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
-#define IPropertyBag2_Read(T,a,b,c,d,e) (T)->lpVtbl->Read(T,a,b,c,d,e)
-#define IPropertyBag2_Write(T,a,b,c) (T)->lpVtbl->Write(T,a,b,c)
-#define IPropertyBag2_CountProperties(T,a) (T)->lpVtbl->CountProperties(T,a)
-#define IPropertyBag2_GetPropertyInfo(T,a,b,c,d) (T)->lpVtbl->GetPropertyInfo(T,a,b,c,d)
-#define IPropertyBag2_LoadObject(T,a,b,c,d) (T)->lpVtbl->LoadObject(T,a,b,c,d)
-#endif
-
-EXTERN_C const IID IID_IPersistPropertyBag;
-#define INTERFACE IPersistPropertyBag
-DECLARE_INTERFACE_(IPersistPropertyBag,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(InitNew)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE;
-	STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPersistPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistPropertyBag_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistPropertyBag_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistPropertyBag_InitNew(T) (T)->lpVtbl->InitNew(T)
-#define IPersistPropertyBag_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
-#define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IPersistPropertyBag2;
-#define INTERFACE IPersistPropertyBag2
-DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(InitNew)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE;
-	STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T)
-#define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
-#define IPersistPropertyBag2_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
-#define IPersistPropertyBag2_IsDirty(T) (T)->lpVtbl->IsDirty(T)
-#endif
-
-EXTERN_C const IID IID_IPersistStreamInit;
-#define INTERFACE IPersistStreamInit
-DECLARE_INTERFACE_(IPersistStreamInit,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ LPSTREAM) PURE;
-	STDMETHOD(Save)(THIS_ LPSTREAM,BOOL) PURE;
-	STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
-	STDMETHOD(InitNew)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPersistMemory;
-#define INTERFACE IPersistMemory
-DECLARE_INTERFACE_(IPersistMemory,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(IsDirty)(THIS) PURE;
-	STDMETHOD(Load)(THIS_ PVOID,ULONG) PURE;
-	STDMETHOD(Save)(THIS_ PVOID,BOOL,ULONG) PURE;
-	STDMETHOD(GetSizeMax)(THIS_ PULONG) PURE;
-	STDMETHOD(InitNew)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyNotifySink;
-#define INTERFACE IPropertyNotifySink
-DECLARE_INTERFACE_(IPropertyNotifySink,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnChanged)(THIS_ DISPID) PURE;
-	STDMETHOD(OnRequestEdit)(THIS_ DISPID) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPropertyNotifySink_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPropertyNotifySink_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPropertyNotifySink_Release(T) (T)->lpVtbl->Release(T)
-#define IPropertyNotifySink_OnChanged(T,a) (T)->lpVtbl->OnChanged(T,a)
-#define IPropertyNotifySink_OnRequestEdit(T,a) (T)->lpVtbl->OnRequestEdit(T,a)
-#endif
-
-EXTERN_C const IID IID_IProvideClassInfo;
-#define INTERFACE IProvideClassInfo
-DECLARE_INTERFACE_(IProvideClassInfo,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IProvideClassInfo2;
-#define INTERFACE IProvideClassInfo2
-DECLARE_INTERFACE_(IProvideClassInfo2,IProvideClassInfo)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
-	STDMETHOD(GetGUID)(THIS_ DWORD,GUID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IConnectionPointContainer;
-#define INTERFACE IConnectionPointContainer
-DECLARE_INTERFACE_(IConnectionPointContainer,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(EnumConnectionPoints)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
-	STDMETHOD(FindConnectionPoint)(THIS_ REFIID,LPCONNECTIONPOINT*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IConnectionPointContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IConnectionPointContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IConnectionPointContainer_Release(T) (T)->lpVtbl->Release(T)
-#define IConnectionPointContainer_EnumConnectionPoints(T,a) (T)->lpVtbl->EnumConnectionPoints(T,a)
-#define IConnectionPointContainer_FindConnectionPoint(T,a,b) (T)->lpVtbl->FindConnectionPoint(T,a,b)
-#endif
-
-EXTERN_C const IID IID_IEnumConnectionPoints;
-#define INTERFACE IEnumConnectionPoints
-DECLARE_INTERFACE_(IEnumConnectionPoints,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,LPCONNECTIONPOINT*,ULONG*) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IConnectionPoint;
-#define INTERFACE IConnectionPoint
-DECLARE_INTERFACE_(IConnectionPoint,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetConnectionInterface)(THIS_ IID*) PURE;
-	STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer**) PURE;
-	STDMETHOD(Advise)(THIS_ LPUNKNOWN,PDWORD) PURE;
-	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumConnections)(THIS_ LPENUMCONNECTIONS*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IConnectionPoint_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IConnectionPoint_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IConnectionPoint_Release(T) (T)->lpVtbl->Release(T)
-#define IConnectionPoint_GetConnectionInterface(T,a) (T)->lpVtbl->GetConnectionInterface(T,a)
-#define IConnectionPoint_GetConnectionPointContainer(T,a) (T)->lpVtbl->GetConnectionPointContainer(T,a)
-#define IConnectionPoint_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IConnectionPoint_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IConnectionPoint_EnumConnections(T,a) (T)->lpVtbl->EnumConnections(T,a)
-#endif
-
-EXTERN_C const IID IID_IEnumConnections;
-#define INTERFACE IEnumConnections
-DECLARE_INTERFACE_(IEnumConnections,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,LPCONNECTDATA,PULONG) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONS*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IEnumConnections_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IEnumConnections_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IEnumConnections_Release(T) (T)->lpVtbl->Release(T)
-#define IEnumConnections_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
-#define IEnumConnections_Skip(T,a) (T)->lpVtbl->Skip(T,a)
-#define IEnumConnections_Reset(T) (T)->lpVtbl->Reset(T)
-#define IEnumConnections_Clone(T,a) (T)->lpVtbl->Clone(T,a)
-#endif
-
-EXTERN_C const IID IID_IClassFactory2;
-#define INTERFACE IClassFactory2
-DECLARE_INTERFACE_(IClassFactory2,IClassFactory)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
-	STDMETHOD(LockServer)(THIS_ BOOL) PURE;
-	STDMETHOD(GetLicInfo)(THIS_ LPLICINFO) PURE;
-	STDMETHOD(RequestLicKey)(THIS_ DWORD,BSTR*) PURE;
-	STDMETHOD(CreateInstanceLic)(THIS_ LPUNKNOWN,LPUNKNOWN,REFIID,BSTR,PVOID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_ISpecifyPropertyPages;
-#define INTERFACE ISpecifyPropertyPages
-DECLARE_INTERFACE_(ISpecifyPropertyPages,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetPages)(THIS_ CAUUID*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPerPropertyBrowsing;
-#define INTERFACE IPerPropertyBrowsing
-DECLARE_INTERFACE_(IPerPropertyBrowsing,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetDisplayString)(THIS_ DISPID,BSTR*) PURE;
-	STDMETHOD(MapPropertyToPage)(THIS_ DISPID,LPCLSID) PURE;
-	STDMETHOD(GetPredefinedStrings)(THIS_ DISPID,CALPOLESTR*,CADWORD*) PURE;
-	STDMETHOD(GetPredefinedValue)(THIS_ DISPID,DWORD,VARIANT*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyPageSite;
-#define INTERFACE IPropertyPageSite
-DECLARE_INTERFACE_(IPropertyPageSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnStatusChange)(THIS_ DWORD) PURE;
-	STDMETHOD(GetLocaleID)(THIS_ LCID*) PURE;
-	STDMETHOD(GetPageContainer)(THIS_ LPUNKNOWN*) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyPage;
-#define INTERFACE IPropertyPage
-DECLARE_INTERFACE_(IPropertyPage,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
-	STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
-	STDMETHOD(Deactivate)(THIS) PURE;
-	STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
-	STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
-	STDMETHOD(Show)(THIS_ UINT) PURE;
-	STDMETHOD(Move)(THIS_ LPCRECT) PURE;
-	STDMETHOD(IsPageDirty)(THIS) PURE;
-	STDMETHOD(Apply)(THIS) PURE;
-	STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPropertyPage2;
-#define INTERFACE IPropertyPage2
-DECLARE_INTERFACE_(IPropertyPage2,IPropertyPage)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
-	STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
-	STDMETHOD(Deactivate)(THIS) PURE;
-	STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
-	STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
-	STDMETHOD(Show)(THIS_ UINT) PURE;
-	STDMETHOD(Move)(THIS_ LPCRECT) PURE;
-	STDMETHOD(IsPageDirty)(THIS) PURE;
-	STDMETHOD(Apply)(THIS) PURE;
-	STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-	STDMETHOD(EditProperty)(THIS_ DISPID) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IFont;
-#define INTERFACE IFont
-DECLARE_INTERFACE_(IFont,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
-	STDMETHOD(put_Name)(THIS_ BSTR) PURE;
-	STDMETHOD(get_Size)(THIS_ CY*) PURE;
-	STDMETHOD(put_Size)(THIS_ CY) PURE;
-	STDMETHOD(get_Bold)(THIS_ BOOL*) PURE;
-	STDMETHOD(put_Bold)(THIS_ BOOL) PURE;
-	STDMETHOD(get_Italic)(THIS_ BOOL*) PURE;
-	STDMETHOD(put_Italic)(THIS_ BOOL) PURE;
-	STDMETHOD(get_Underline)(THIS_ BOOL*) PURE;
-	STDMETHOD(put_Underline)(THIS_ BOOL) PURE;
-	STDMETHOD(get_Strikethrough)(THIS_ BOOL*) PURE;
-	STDMETHOD(put_Strikethrough)(THIS_ BOOL) PURE;
-	STDMETHOD(get_Weight)(THIS_ short*) PURE;
-	STDMETHOD(put_Weight)(THIS_ short) PURE;
-	STDMETHOD(get_Charset)(THIS_ short*) PURE;
-	STDMETHOD(put_Charset)(THIS_ short) PURE;
-	STDMETHOD(get_hFont)(THIS_ HFONT*) PURE;
-	STDMETHOD(Clone)(THIS_ IFont**) PURE;
-	STDMETHOD(IsEqual)(THIS_ IFont*) PURE;
-	STDMETHOD(SetRatio)(THIS_ long,long) PURE;
-	STDMETHOD(QueryTextMetrics)(THIS_ LPTEXTMETRICOLE) PURE;
-	STDMETHOD(AddRefHfont)(THIS_ HFONT) PURE;
-	STDMETHOD(ReleaseHfont)(THIS_ HFONT) PURE;
-	STDMETHOD(SetHdc)(THIS_ HDC) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IFontDisp;
-#define INTERFACE IFontDisp
-DECLARE_INTERFACE_(IFontDisp,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPicture;
-#define INTERFACE IPicture
-DECLARE_INTERFACE_(IPicture,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(get_Handle)(THIS_ OLE_HANDLE*) PURE;
-	STDMETHOD(get_hPal)(THIS_ OLE_HANDLE*) PURE;
-	STDMETHOD(get_Type)(THIS_ short*) PURE;
-	STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC*) PURE;
-	STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC*) PURE;
-	STDMETHOD(Render)(THIS_ HDC,long,long,long,long,OLE_XPOS_HIMETRIC,OLE_YPOS_HIMETRIC,OLE_XSIZE_HIMETRIC,OLE_YSIZE_HIMETRIC,LPCRECT) PURE;
-	STDMETHOD(set_hPal)(THIS_ OLE_HANDLE) PURE;
-	STDMETHOD(get_CurDC)(THIS_ HDC*) PURE;
-	STDMETHOD(SelectPicture)(THIS_ HDC,HDC*,OLE_HANDLE*) PURE;
-	STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL*) PURE;
-	STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL) PURE;
-	STDMETHOD(PictureChanged)(THIS) PURE;
-	STDMETHOD(SaveAsFile)(THIS_ LPSTREAM,BOOL,LONG*) PURE;
-	STDMETHOD(get_Attributes)(THIS_ PDWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IPicture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IPicture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IPicture_Release(p) (p)->lpVtbl->Release(p)
-#define IPicture_get_Handle(p,a) (p)->lpVtbl->get_Handle(p,a)
-#define IPicture_get_hPal(p,a) (p)->lpVtbl->get_hPal(p,a)
-#define IPicture_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
-#define IPicture_get_Width(p,a) (p)->lpVtbl->get_Width(p,a)
-#define IPicture_get_Height(p,a) (p)->lpVtbl->get_Height(p,a)
-#define IPicture_Render(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Render(p,a,b,c,d,e,f,g,h,i,j)
-#define IPicture_set_hPal(p,a) (p)->lpVtbl->set_hPal(p,a)
-#define IPicture_get_CurDC(p,a) (p)->lpVtbl->get_CurDC(p,a)
-#define IPicture_SelectPicture(p,a,b,c) (p)->lpVtbl->SelectPicture(p,a,b,c)
-#define IPicture_get_KeepOriginalFormat(p,a) (p)->lpVtbl->get_KeepOriginalFormat(p,a)
-#define IPicture_put_KeepOriginalFormat(p,a) (p)->lpVtbl->put_KeepOriginalFormat(p,a)
-#define IPicture_PictureChanged(p) (p)->lpVtbl->PictureChanged(p)
-#define IPicture_SaveAsFile(p,a,b,c) (p)->lpVtbl->SaveAsFile(p,a,b,c)
-#define IPicture_get_Attributes(p,a) (p)->lpVtbl->get_Attributes(p,a)
-#endif
-
-EXTERN_C const IID IID_IPictureDisp;
-#define INTERFACE IPictureDisp
-DECLARE_INTERFACE_(IPictureDisp,IDispatch)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-	STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-	STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-	STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleInPlaceSiteEx;
-#define INTERFACE IOleInPlaceSiteEx
-DECLARE_INTERFACE_(IOleInPlaceSiteEx,IOleInPlaceSite)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnUIActivate)(THIS) PURE;
-	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
-	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
-	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
-	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
-	STDMETHOD(DiscardUndoState)(THIS) PURE;
-	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
-	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
-	STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
-	STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
-	STDMETHOD(RequestUIActivate)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IObjectWithSite;
-#define INTERFACE IObjectWithSite
-DECLARE_INTERFACE_(IObjectWithSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetSite)(THIS_ IUnknown*) PURE;
-	STDMETHOD(GetSite)(THIS_ REFIID, void**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleInPlaceSiteWindowless;
-#define INTERFACE IOleInPlaceSiteWindowless
-DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnUIActivate)(THIS) PURE;
-	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
-	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
-	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
-	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
-	STDMETHOD(DiscardUndoState)(THIS) PURE;
-	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
-	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
-
-	STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
-	STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
-	STDMETHOD(RequestUIActivate)(THIS) PURE;
-
-	STDMETHOD(CanWindowlessActivate)(THIS) PURE;
-	STDMETHOD(GetCapture)(THIS) PURE;
-	STDMETHOD(SetCapture)(THIS_ BOOL) PURE;
-	STDMETHOD(GetFocus)(THIS) PURE;
-	STDMETHOD(SetFocus)(THIS_ BOOL) PURE;
-	STDMETHOD(GetDC)(THIS_ LPCRECT,DWORD,HDC*) PURE;
-	STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
-	STDMETHOD(InvalidateRect)(THIS_ LPCRECT,BOOL) PURE;
-	STDMETHOD(InvalidateRgn)(THIS_ HRGN,BOOL) PURE;
-	STDMETHOD(ScrollRect)(THIS_ INT,INT,LPCRECT,LPCRECT) PURE;
-	STDMETHOD(AdjustRect)(THIS_ LPCRECT) PURE;
-	STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IAdviseSinkEx;
-#define INTERFACE IAdviseSinkEx
-DECLARE_INTERFACE_(IAdviseSinkEx,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
-	STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
-	STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
-	STDMETHOD_(void,OnSave)(THIS) PURE;
-	STDMETHOD_(void,OnClose)(THIS) PURE;
-	STDMETHOD(OnViewStatusChange)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IPointerInactive;
-#define INTERFACE IPointerInactive
-DECLARE_INTERFACE_(IPointerInactive,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetActivationPolicy)(THIS_ DWORD*) PURE;
-	STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT,LONG,LONG,DWORD) PURE;
-	STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT,LONG,LONG,DWORD,BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleUndoUnit;
-#define INTERFACE IOleUndoUnit
-DECLARE_INTERFACE_(IOleUndoUnit,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
-	STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
-	STDMETHOD(OnNextAdd)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleParentUndoUnit;
-#define INTERFACE IOleParentUndoUnit
-DECLARE_INTERFACE_(IOleParentUndoUnit,IOleUndoUnit)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
-	STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
-	STDMETHOD(OnNextAdd)(THIS) PURE;
-	STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
-	STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
-	STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(FindUnit)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(GetParentState)(THIS_ DWORD*) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IEnumOleUndoUnits;
-#define INTERFACE IEnumOleUndoUnits
-DECLARE_INTERFACE_(IEnumOleUndoUnits,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Next)(THIS_ ULONG,IOleUndoUnit**,ULONG*) PURE;
-	STDMETHOD(Skip)(THIS_ ULONG) PURE;
-	STDMETHOD(Reset)(THIS) PURE;
-	STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits**) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleUndoManager;
-#define INTERFACE IOleUndoManager
-DECLARE_INTERFACE_(IOleUndoManager,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
-	STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
-	STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(GetOpenParentState)(THIS_ DWORD*) PURE;
-	STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(UndoTo)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(RedoTo)(THIS_ IOleUndoUnit*) PURE;
-	STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits**) PURE;
-	STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits**) PURE;
-	STDMETHOD(GetLastUndoDescription)(THIS_ BSTR*) PURE;
-	STDMETHOD(GetLastRedoDescription)(THIS_ BSTR*) PURE;
-	STDMETHOD(Enable)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IQuickActivate;
-#define INTERFACE IQuickActivate
-DECLARE_INTERFACE_(IQuickActivate,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QuickActivate)(THIS_ QACONTAINER*,QACONTROL*) PURE;
-	STDMETHOD(SetContentExtent)(THIS_ LPSIZEL) PURE;
-	STDMETHOD(GetContentExtent)(THIS_ LPSIZEL) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/odbcinst.h
===================================================================
--- Daodan/MinGW/include/odbcinst.h	(revision 1046)
+++ 	(revision )
@@ -1,148 +1,0 @@
-#ifndef _ODBCINST_H
-#define _ODBCINST_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#include <sql.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ODBCVER
-#define ODBCVER 0x0351
-#endif
-#define INSTAPI __stdcall
-#define  ODBC_ADD_DSN     1
-#define  ODBC_CONFIG_DSN  2
-#define  ODBC_REMOVE_DSN  3
-#if (ODBCVER >= 0x0250)
-#define ODBC_ADD_SYS_DSN 4
-#define ODBC_CONFIG_SYS_DSN 5
-#define ODBC_REMOVE_SYS_DSN 6
-#define ODBC_INSTALL_INQUIRY 1
-#define ODBC_INSTALL_COMPLETE 2
-#define ODBC_INSTALL_DRIVER 1
-#define ODBC_REMOVE_DRIVER 2
-#define ODBC_CONFIG_DRIVER 3
-#define ODBC_CONFIG_DRIVER_MAX 100
-#endif /* (ODBCVER >= 0x0250) */
-#if (ODBCVER >= 0x0300)
-#define ODBC_REMOVE_DEFAULT_DSN 7
-#define ODBC_BOTH_DSN 0
-#define ODBC_USER_DSN 1
-#define ODBC_SYSTEM_DSN 2
-#define ODBC_ERROR_GENERAL_ERR 1
-#define ODBC_ERROR_INVALID_BUFF_LEN 2
-#define ODBC_ERROR_INVALID_HWND 3
-#define ODBC_ERROR_INVALID_STR 4
-#define ODBC_ERROR_INVALID_REQUEST_TYPE 5
-#define ODBC_ERROR_COMPONENT_NOT_FOUND 6
-#define ODBC_ERROR_INVALID_NAME 7
-#define ODBC_ERROR_INVALID_KEYWORD_VALUE 8
-#define ODBC_ERROR_INVALID_DSN 9
-#define ODBC_ERROR_INVALID_INF 10
-#define ODBC_ERROR_REQUEST_FAILED 11
-#define ODBC_ERROR_INVALID_PATH 12
-#define ODBC_ERROR_LOAD_LIB_FAILED 13
-#define ODBC_ERROR_INVALID_PARAM_SEQUENCE 14
-#define ODBC_ERROR_INVALID_LOG_FILE 15
-#define ODBC_ERROR_USER_CANCELED 16
-#define ODBC_ERROR_USAGE_UPDATE_FAILED 17
-#define ODBC_ERROR_CREATE_DSN_FAILED 18
-#define ODBC_ERROR_WRITING_SYSINFO_FAILED 19
-#define ODBC_ERROR_REMOVE_DSN_FAILED 20
-#define ODBC_ERROR_OUT_OF_MEM 21
-#define ODBC_ERROR_OUTPUT_STRING_TRUNCATED 22
-#endif /* ODBCVER >= 0x0300 */
-
-#ifndef RC_INVOKED
-BOOL INSTAPI ConfigDSN(HWND,WORD,LPCSTR,LPCSTR);
-BOOL INSTAPI ConfigDSNW(HWND,WORD,LPCWSTR,LPCWSTR);
-BOOL INSTAPI ConfigTranslator(HWND,DWORD*);
-BOOL INSTAPI SQLConfigDataSource(HWND,WORD,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLConfigDataSourceW(HWND,WORD,LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLCreateDataSource(HWND,LPCSTR);
-BOOL INSTAPI SQLCreateDataSourceW(HWND,LPCWSTR);
-BOOL INSTAPI SQLGetAvailableDrivers(LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetAvailableDriversW(LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetInstalledDrivers(LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetInstalledDriversW(LPWSTR,WORD,WORD*);
-int INSTAPI SQLGetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR);
-int INSTAPI SQLGetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR);
-BOOL INSTAPI SQLGetTranslator(HWND,LPSTR,WORD,WORD*,LPSTR,WORD,WORD*,DWORD*);
-BOOL INSTAPI SQLGetTranslatorW(HWND,LPWSTR,WORD,WORD*,LPWSTR,WORD,WORD*,DWORD*);
-BOOL INSTAPI SQLInstallDriver(LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverManager(LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverManagerW(LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallODBC(HWND,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLInstallODBCW(HWND,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLManageDataSources(HWND);
-BOOL INSTAPI SQLRemoveDefaultDataSource(void);
-BOOL INSTAPI SQLRemoveDSNFromIni(LPCSTR);
-BOOL INSTAPI SQLRemoveDSNFromIniW(LPCWSTR);
-BOOL INSTAPI SQLValidDSN(LPCSTR);
-BOOL INSTAPI SQLValidDSNW(LPCWSTR);
-BOOL INSTAPI SQLWriteDSNToIni(LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWriteDSNToIniW(LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-#if(ODBCVER >= 0x0250)
-BOOL INSTAPI ConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI ConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallTranslator(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallTranslatorW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLRemoveDriver(LPCSTR,BOOL,LPDWORD);
-BOOL INSTAPI SQLRemoveDriverManager(LPDWORD);
-BOOL INSTAPI SQLRemoveDriverW(LPCWSTR,BOOL,LPDWORD);
-BOOL INSTAPI SQLRemoveTranslator(LPCSTR,LPDWORD);
-BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR,LPDWORD);
-#endif /* ODBCVER >= 0x0250 */
-#if (ODBCVER >= 0x0300)
-BOOL INSTAPI SQLGetConfigMode(UWORD*);
-BOOL INSTAPI SQLInstallDriverEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallDriverExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-SQLRETURN INSTAPI SQLInstallerError(WORD,DWORD*,LPSTR,WORD,WORD*);
-SQLRETURN INSTAPI SQLInstallerErrorW(WORD,DWORD*,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallTranslatorEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallTranslatorExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-SQLRETURN INSTAPI SQLPostInstallerError(DWORD,LPCSTR);
-SQLRETURN INSTAPI SQLPostInstallerErrorW(DWORD,LPCWSTR);
-BOOL INSTAPI SQLReadFileDSN(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLReadFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLSetConfigMode(UWORD);
-BOOL INSTAPI SQLWriteFileDSN(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-#endif /* ODBCVER >= 0x0300 */
-
-#if defined (UNICODE) && !defined (SQL_NOUNICODEMAP)
-#define SQLConfigDataSource SQLConfigDataSourceW
-#define SQLConfigDriver SQLConfigDriverW
-#define SQLCreateDataSource SQLCreateDataSourceW
-#define SQLGetAvailableDrivers SQLGetAvailableDriversW
-#define SQLGetInstalledDrivers SQLGetInstalledDriversW
-#define SQLGetPrivateProfileString SQLGetPrivateProfileStringW
-#define SQLGetTranslator SQLGetTranslatorW
-#define SQLInstallDriver SQLInstallDriverW
-#define SQLInstallDriverEx SQLInstallDriverExW
-#define SQLInstallDriverManager SQLInstallDriverManagerW
-#define SQLInstallerError SQLInstallerErrorW
-#define SQLInstallODBC SQLInstallODBCW
-#define SQLInstallTranslator SQLInstallTranslatorW
-#define SQLInstallTranslatorEx SQLInstallTranslatorExW
-#define SQLPostInstallerError SQLPostInstallerErrorW
-#define SQLReadFileDSN SQLReadFileDSNW
-#define SQLRemoveDriver SQLRemoveDriverW
-#define SQLRemoveDSNFromIni SQLRemoveDSNFromIniW
-#define SQLRemoveTranslator SQLRemoveTranslatorW
-#define SQLValidDSN SQLValidDSNW
-#define SQLWriteDSNToIni SQLWriteDSNToIniW
-#define SQLWriteFileDSN SQLWriteFileDSNW
-#define SQLWritePrivateProfileString SQLWritePrivateProfileStringW
-#endif /* UNICODE && !SQL_NOUNICODEMAP */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif /* _ODBCINST_H */
Index: Daodan/MinGW/include/ole.h
===================================================================
--- Daodan/MinGW/include/ole.h	(revision 1046)
+++ 	(revision )
@@ -1,308 +1,0 @@
-#ifndef _OLE_H
-#define _OLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifdef STRICT
-#define OLE_LPCSTR LPCSTR
-#define OLE_CONST const
-#else
-#define OLE_LPCSTR LPSTR
-#define OLE_CONST
-#endif
-#define LRESULT LONG
-#define HGLOBAL HANDLE
-#define OT_LINK 1L
-#define OT_EMBEDDED 2L
-#define OT_STATIC 3L
-#define OLEVERB_PRIMARY 0
-#define OF_SET 1
-#define OF_GET 2
-#define OF_HANDLER 4
-
-typedef struct _OLETARGETDEVICE {
-	USHORT otdDeviceNameOffset;
-	USHORT otdDriverNameOffset;
-	USHORT otdPortNameOffset;
-	USHORT otdExtDevmodeOffset;
-	USHORT otdExtDevmodeSize;
-	USHORT otdEnvironmentOffset;
-	USHORT otdEnvironmentSize;
-	BYTE otdData[1];
-} OLETARGETDEVICE;
-typedef OLETARGETDEVICE *LPOLETARGETDEVICE;
-typedef enum {
-OLE_OK,
-OLE_WAIT_FOR_RELEASE,
-OLE_BUSY,
-OLE_ERROR_PROTECT_ONLY,
-OLE_ERROR_MEMORY,
-OLE_ERROR_STREAM,
-OLE_ERROR_STATIC,
-OLE_ERROR_BLANK,
-OLE_ERROR_DRAW,
-OLE_ERROR_METAFILE,
-OLE_ERROR_ABORT,
-OLE_ERROR_CLIPBOARD,
-OLE_ERROR_FORMAT,
-OLE_ERROR_OBJECT,
-OLE_ERROR_OPTION,
-OLE_ERROR_PROTOCOL,
-OLE_ERROR_ADDRESS,
-OLE_ERROR_NOT_EQUAL,
-OLE_ERROR_HANDLE,
-OLE_ERROR_GENERIC,
-OLE_ERROR_CLASS,
-OLE_ERROR_SYNTAX,
-OLE_ERROR_DATATYPE,
-OLE_ERROR_PALETTE,
-OLE_ERROR_NOT_LINK,
-OLE_ERROR_NOT_EMPTY,
-OLE_ERROR_SIZE,
-OLE_ERROR_DRIVE,
-OLE_ERROR_NETWORK,
-OLE_ERROR_NAME,
-OLE_ERROR_TEMPLATE,
-OLE_ERROR_NEW,
-OLE_ERROR_EDIT,
-OLE_ERROR_OPEN,
-OLE_ERROR_NOT_OPEN,
-OLE_ERROR_LAUNCH,
-OLE_ERROR_COMM,
-OLE_ERROR_TERMINATE,
-OLE_ERROR_COMMAND,
-OLE_ERROR_SHOW,
-OLE_ERROR_DOVERB,
-OLE_ERROR_ADVISE_NATIVE,
-OLE_ERROR_ADVISE_PICT,
-OLE_ERROR_ADVISE_RENAME,
-OLE_ERROR_POKE_NATIVE,
-OLE_ERROR_REQUEST_NATIVE,
-OLE_ERROR_REQUEST_PICT,
-OLE_ERROR_SERVER_BLOCKED,
-OLE_ERROR_REGISTRATION,
-OLE_ERROR_ALREADY_REGISTERED,
-OLE_ERROR_TASK,
-OLE_ERROR_OUTOFDATE,
-OLE_ERROR_CANT_UPDATE_CLIENT,
-OLE_ERROR_UPDATE,
-OLE_ERROR_SETDATA_FORMAT,
-OLE_ERROR_STATIC_FROM_OTHER_OS,
-OLE_ERROR_FILE_VER,
-OLE_WARN_DELETE_DATA = 1000
-} OLESTATUS;
-typedef enum {
-	OLE_CHANGED,
-	OLE_SAVED,
-	OLE_CLOSED,
-	OLE_RENAMED,
-	OLE_QUERY_PAINT,
-	OLE_RELEASE,
-	OLE_QUERY_RETRY
-} OLE_NOTIFICATION;
-typedef enum {
-	OLE_NONE,
-	OLE_DELETE,
-	OLE_LNKPASTE,
-	OLE_EMBPASTE,
-	OLE_SHOW,
-	OLE_RUN,
-	OLE_ACTIVATE,
-	OLE_UPDATE,
-	OLE_CLOSE,
-	OLE_RECONNECT,
-	OLE_SETUPDATEOPTIONS,
-	OLE_SERVERUNLAUNCH,
-	OLE_LOADFROMSTREAM,
-	OLE_SETDATA,
-	OLE_REQUESTDATA,
-	OLE_OTHER,
-	OLE_CREATE,
-	OLE_CREATEFROMTEMPLATE,
-	OLE_CREATELINKFROMFILE,
-	OLE_COPYFROMLNK,
-	OLE_CREATEFROMFILE,
-	OLE_CREATEINVISIBLE
-} OLE_RELEASE_METHOD;
-typedef enum {
-	olerender_none,
-	olerender_draw,
-	olerender_format
-	} OLEOPT_RENDER;
-typedef WORD OLECLIPFORMAT;
-typedef enum {
-	oleupdate_always,
-	oleupdate_onsave,
-#ifdef OLE_INTERNAL
-	oleupdate_oncall,
-	oleupdate_onclose
-#else
-	oleupdate_oncall
-#endif
-} OLEOPT_UPDATE;
-typedef HANDLE HOBJECT;
-typedef LONG LHSERVER;
-typedef LONG LHCLIENTDOC;
-typedef LONG LHSERVERDOC;
-typedef struct _OLEOBJECT *LPOLEOBJECT;
-typedef struct _OLESTREAM *LPOLESTREAM;
-typedef struct _OLECLIENT *LPOLECLIENT;
-typedef struct _OLEOBJECTVTBL {
-	void *(CALLBACK* QueryProtocol)(LPOLEOBJECT,OLE_LPCSTR);
-	OLESTATUS (CALLBACK* Release)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* Show)(LPOLEOBJECT,BOOL);
-	OLESTATUS (CALLBACK* DoVerb)(LPOLEOBJECT,UINT,BOOL,BOOL);
-	OLESTATUS (CALLBACK* GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
-	OLESTATUS (CALLBACK* SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
-	OLESTATUS (CALLBACK* SetTargetDevice)(LPOLEOBJECT,HGLOBAL);
-	OLESTATUS (CALLBACK* SetBounds)(LPOLEOBJECT,OLE_CONST RECT*);
-	OLECLIPFORMAT (CALLBACK* EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
-	OLESTATUS (CALLBACK* SetColorScheme)(LPOLEOBJECT,OLE_CONST LOGPALETTE*);
-#ifndef SERVERONLY
-	OLESTATUS (CALLBACK* Delete)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* SetHostNames)(LPOLEOBJECT,OLE_LPCSTR,OLE_LPCSTR);
-	OLESTATUS (CALLBACK* SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
-	OLESTATUS (CALLBACK* Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
-	OLESTATUS (CALLBACK* CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
-	OLESTATUS (CALLBACK* Equal)(LPOLEOBJECT,LPOLEOBJECT);
-	OLESTATUS (CALLBACK* CopyToClipboard)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* Draw)(LPOLEOBJECT,HDC,OLE_CONST RECT*,OLE_CONST RECT*,HDC);
-	OLESTATUS (CALLBACK* Activate)(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,OLE_CONST RECT*);
-	OLESTATUS (CALLBACK* Execute)(LPOLEOBJECT,HGLOBAL,UINT);
-	OLESTATUS (CALLBACK* Close)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* Update)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* Reconnect)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* ObjectConvert)(LPOLEOBJECT,OLE_LPCSTR,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
-	OLESTATUS (CALLBACK* GetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE*);
-	OLESTATUS (CALLBACK* SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
-	OLESTATUS (CALLBACK* Rename)(LPOLEOBJECT,OLE_LPCSTR);
-	OLESTATUS (CALLBACK* QueryName)(LPOLEOBJECT,LPSTR,UINT*);
-	OLESTATUS (CALLBACK* QueryType)(LPOLEOBJECT,LONG*);
-	OLESTATUS (CALLBACK* QueryBounds)(LPOLEOBJECT,RECT*);
-	OLESTATUS (CALLBACK* QuerySize)(LPOLEOBJECT,DWORD*);
-	OLESTATUS (CALLBACK* QueryOpen)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* QueryOutOfDate)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* QueryReleaseStatus)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* QueryReleaseError)(LPOLEOBJECT);
-	OLE_RELEASE_METHOD (CALLBACK* QueryReleaseMethod)(LPOLEOBJECT);
-	OLESTATUS (CALLBACK* RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
-	OLESTATUS (CALLBACK* ObjectLong)(LPOLEOBJECT,UINT,LONG*);
-	OLESTATUS (CALLBACK* ChangeData)(LPOLEOBJECT,HANDLE,LPOLECLIENT,BOOL);
-#endif
-} OLEOBJECTVTBL;
-typedef OLEOBJECTVTBL*LPOLEOBJECTVTBL;
-#ifndef OLE_INTERNAL
-typedef struct _OLEOBJECT { LPOLEOBJECTVTBL lpvtbl; } OLEOBJECT;
-#endif
-typedef struct _OLECLIENTVTBL { int (CALLBACK* CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT); } OLECLIENTVTBL;
-typedef OLECLIENTVTBL *LPOLECLIENTVTBL;
-typedef struct _OLECLIENT { LPOLECLIENTVTBL lpvtbl; } OLECLIENT;
-typedef struct _OLESTREAMVTBL {
-	DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD);
-	DWORD (CALLBACK* Put)(LPOLESTREAM,OLE_CONST void*,DWORD);
-} OLESTREAMVTBL;
-typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
-typedef struct _OLESTREAM { LPOLESTREAMVTBL lpstbl; } OLESTREAM;
-typedef enum {
-	OLE_SERVER_MULTI,
-	OLE_SERVER_SINGLE
-} OLE_SERVER_USE;
-typedef struct _OLESERVER *LPOLESERVER;
-typedef struct _OLESERVERDOC *LPOLESERVERDOC;
-typedef struct _OLESERVERVTBL {
-	OLESTATUS (CALLBACK* Open)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,LPOLESERVERDOC*);
-	OLESTATUS (CALLBACK* Create)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
-	OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
-	OLESTATUS (CALLBACK* Edit)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
-	OLESTATUS (CALLBACK* Exit)(LPOLESERVER);
-	OLESTATUS (CALLBACK* Release)(LPOLESERVER);
-	OLESTATUS (CALLBACK* Execute)(LPOLESERVER,HGLOBAL);
-} OLESERVERVTBL;
-typedef OLESERVERVTBL *LPOLESERVERVTBL;
-typedef struct _OLESERVER { LPOLESERVERVTBL lpvtbl; } OLESERVER;
-typedef struct _OLESERVERDOCVTBL {
-	OLESTATUS (CALLBACK* Save)(LPOLESERVERDOC);
-	OLESTATUS (CALLBACK* Close)(LPOLESERVERDOC);
-	OLESTATUS (CALLBACK* SetHostNames)(LPOLESERVERDOC,OLE_LPCSTR,OLE_LPCSTR);
-	OLESTATUS (CALLBACK* SetDocDimensions)(LPOLESERVERDOC,OLE_CONST RECT*);
-	OLESTATUS (CALLBACK* GetObject)(LPOLESERVERDOC,OLE_LPCSTR,LPOLEOBJECT*,LPOLECLIENT);
-	OLESTATUS (CALLBACK* Release)(LPOLESERVERDOC);
-	OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC,OLE_CONST LOGPALETTE*);
-	OLESTATUS (CALLBACK* Execute)(LPOLESERVERDOC,HGLOBAL);
-} OLESERVERDOCVTBL;
-typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL;
-typedef struct _OLESERVERDOC { LPOLESERVERDOCVTBL lpvtbl; } OLESERVERDOC;
-OLESTATUS WINAPI OleDelete(LPOLEOBJECT);
-OLESTATUS WINAPI OleRelease(LPOLEOBJECT);
-OLESTATUS WINAPI OleSaveToStream(LPOLEOBJECT,LPOLESTREAM);
-OLESTATUS WINAPI OleEqual(LPOLEOBJECT,LPOLEOBJECT );
-OLESTATUS WINAPI OleCopyToClipboard(LPOLEOBJECT);
-OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT,LPCSTR,LPCSTR);
-OLESTATUS WINAPI OleSetTargetDevice(LPOLEOBJECT,HGLOBAL);
-OLESTATUS WINAPI OleSetBounds(LPOLEOBJECT,LPCRECT);
-OLESTATUS WINAPI OleSetColorScheme(LPOLEOBJECT,const LOGPALETTE*);
-OLESTATUS WINAPI OleQueryBounds(LPOLEOBJECT,RECT*);
-OLESTATUS WINAPI OleQuerySize(LPOLEOBJECT,DWORD*);
-OLESTATUS WINAPI OleDraw(LPOLEOBJECT,HDC,LPCRECT,LPCRECT,HDC);
-OLESTATUS WINAPI OleQueryOpen(LPOLEOBJECT);
-OLESTATUS WINAPI OleActivate(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,LPCRECT);
-OLESTATUS WINAPI OleExecute(LPOLEOBJECT,HGLOBAL,UINT);
-OLESTATUS WINAPI OleClose(LPOLEOBJECT);
-OLESTATUS WINAPI OleUpdate(LPOLEOBJECT);
-OLESTATUS WINAPI OleReconnect(LPOLEOBJECT);
-OLESTATUS WINAPI OleGetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE*);
-OLESTATUS WINAPI OleSetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE);
-WINAPI void *OleQueryProtocol(LPOLEOBJECT,LPCSTR);
-OLESTATUS WINAPI OleQueryReleaseStatus(LPOLEOBJECT);
-OLESTATUS WINAPI OleQueryReleaseError(LPOLEOBJECT);
-OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT);
-OLESTATUS WINAPI OleQueryType(LPOLEOBJECT,LONG*);
-DWORD WINAPI OleQueryClientVersion(void);
-DWORD WINAPI OleQueryServerVersion(void);
-OLECLIPFORMAT WINAPI OleEnumFormats(LPOLEOBJECT,OLECLIPFORMAT);
-OLESTATUS WINAPI OleGetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
-OLESTATUS WINAPI OleSetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
-OLESTATUS WINAPI OleQueryOutOfDate(LPOLEOBJECT);
-OLESTATUS WINAPI OleRequestData(LPOLEOBJECT,OLECLIPFORMAT);
-OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateLinkFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateLinkFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleLoadFromStream(LPOLESTREAM,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleCreate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateInvisible(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT,BOOL);
-OLESTATUS WINAPI OleCreateFromTemplate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleClone(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleCopyFromLink(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleObjectConvert(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleRename(LPOLEOBJECT,LPCSTR);
-OLESTATUS WINAPI OleQueryName(LPOLEOBJECT,LPSTR,UINT*);
-OLESTATUS WINAPI OleRevokeObject(LPOLECLIENT);
-BOOL WINAPI OleIsDcMeta(HDC);
-OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR,LPCSTR,LONG,LHCLIENTDOC*);
-OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC,LPCSTR);
-OLESTATUS WINAPI OleRevertClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleEnumObjects(LHCLIENTDOC,LPOLEOBJECT*);
-OLESTATUS WINAPI OleRegisterServer(LPCSTR,LPOLESERVER,LHSERVER*,HINSTANCE,OLE_SERVER_USE);
-OLESTATUS WINAPI OleRevokeServer(LHSERVER);
-OLESTATUS WINAPI OleBlockServer(LHSERVER);
-OLESTATUS WINAPI OleUnblockServer(LHSERVER,BOOL*);
-OLESTATUS WINAPI OleLockServer(LPOLEOBJECT,LHSERVER*);
-OLESTATUS WINAPI OleUnlockServer(LHSERVER);
-OLESTATUS WINAPI OleRegisterServerDoc(LHSERVER,LPCSTR,LPOLESERVERDOC,LHSERVERDOC*);
-OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC);
-OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC,LPCSTR);
-OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC);
-OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/ole2.h
===================================================================
--- Daodan/MinGW/include/ole2.h	(revision 1046)
+++ 	(revision )
@@ -1,110 +1,0 @@
-#ifndef _OLE2_H
-#define _OLE2_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,8)
-#include <winerror.h>
-#include <objbase.h>
-#include <olectlid.h>
-#include <oleauto.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define E_DRAW VIEW_E_DRAW
-#define DATA_E_FORMATETC DV_E_FORMATETC
-#define OLEIVERB_PRIMARY (0L)
-#define OLEIVERB_SHOW (-1L)
-#define OLEIVERB_OPEN (-2L)
-#define OLEIVERB_HIDE (-3L)
-#define OLEIVERB_UIACTIVATE (-4L)
-#define OLEIVERB_INPLACEACTIVATE (-5L)
-#define OLEIVERB_DISCARDUNDOSTATE (-6L)
-#define EMBDHLP_INPROC_HANDLER 0x0000L
-#define EMBDHLP_INPROC_SERVER 0x0001L
-#define EMBDHLP_CREATENOW 0x00000000L
-#define EMBDHLP_DELAYCREATE 0x00010000L
-#include <oleidl.h>
-
-typedef struct _OLESTREAMVTBL *LPOLESTREAMVTBL;
-typedef struct _OLESTREAM {
-	LPOLESTREAMVTBL lpstbl;
-} OLESTREAM,*LPOLESTREAM;
-typedef struct _OLESTREAMVTBL {
-	DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD);
-	DWORD (CALLBACK* Put)(LPOLESTREAM,const void*,DWORD);
-} OLESTREAMVTBL;
-
-WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
-WINOLEAPI_(DWORD) OleBuildVersion(void);
-WINOLEAPI ReadClassStg(LPSTORAGE,CLSID*);
-WINOLEAPI WriteClassStg(LPSTORAGE,REFCLSID);
-WINOLEAPI ReadClassStm(LPSTREAM,CLSID*);
-WINOLEAPI WriteClassStm(LPSTREAM,REFCLSID);
-WINOLEAPI WriteFmtUserTypeStg(LPSTORAGE,CLIPFORMAT,LPOLESTR);
-WINOLEAPI ReadFmtUserTypeStg(LPSTORAGE,CLIPFORMAT*,LPOLESTR*);
-WINOLEAPI OleInitialize(PVOID);
-WINOLEAPI_(void) OleUninitialize(void);
-WINOLEAPI OleQueryLinkFromData(LPDATAOBJECT);
-WINOLEAPI OleQueryCreateFromData(LPDATAOBJECT);
-WINOLEAPI OleCreate(REFCLSID,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLinkFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateStaticFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLink(LPMONIKER,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLinkToFile(LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateFromFile(REFCLSID,LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleLoad(LPSTORAGE,REFIID,LPOLECLIENTSITE,PVOID*);
-WINOLEAPI OleSave(LPPERSISTSTORAGE,LPSTORAGE,BOOL);
-WINOLEAPI OleLoadFromStream(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI OleSaveToStream(LPPERSISTSTREAM,LPSTREAM);
-WINOLEAPI OleSetContainedObject(LPUNKNOWN,BOOL);
-WINOLEAPI OleNoteObjectVisible(LPUNKNOWN,BOOL);
-WINOLEAPI RegisterDragDrop(HWND,LPDROPTARGET);
-WINOLEAPI RevokeDragDrop(HWND);
-WINOLEAPI DoDragDrop(LPDATAOBJECT,LPDROPSOURCE,DWORD,PDWORD);
-WINOLEAPI OleSetClipboard(LPDATAOBJECT);
-WINOLEAPI OleGetClipboard(LPDATAOBJECT*);
-WINOLEAPI OleFlushClipboard(void);
-WINOLEAPI OleIsCurrentClipboard(LPDATAOBJECT);
-WINOLEAPI_(HOLEMENU) OleCreateMenuDescriptor(HMENU,LPOLEMENUGROUPWIDTHS);
-WINOLEAPI OleSetMenuDescriptor(HOLEMENU,HWND,HWND,LPOLEINPLACEFRAME,LPOLEINPLACEACTIVEOBJECT);
-WINOLEAPI OleDestroyMenuDescriptor(HOLEMENU);
-WINOLEAPI OleTranslateAccelerator(LPOLEINPLACEFRAME,LPOLEINPLACEFRAMEINFO,LPMSG);
-WINOLEAPI_(HANDLE) OleDuplicateData(HANDLE,CLIPFORMAT,UINT);
-WINOLEAPI OleDraw(LPUNKNOWN,DWORD,HDC,LPCRECT);
-WINOLEAPI OleRun(LPUNKNOWN);
-WINOLEAPI_(BOOL) OleIsRunning(LPOLEOBJECT);
-WINOLEAPI OleLockRunning(LPUNKNOWN,BOOL,BOOL);
-WINOLEAPI_(void) ReleaseStgMedium(LPSTGMEDIUM);
-WINOLEAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER*);
-WINOLEAPI OleCreateDefaultHandler(REFCLSID,LPUNKNOWN,REFIID,PVOID*);
-WINOLEAPI OleCreateEmbeddingHelper(REFCLSID,LPUNKNOWN,DWORD,LPCLASSFACTORY,REFIID,PVOID*);
-WINOLEAPI_(BOOL) IsAccelerator(HACCEL,int,LPMSG,WORD*);
-WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR,BOOL);
-WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID,LPOLESTR,BOOL);
-WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON,LPOLESTR,LPOLESTR,UINT);
-WINOLEAPI OleRegGetUserType(REFCLSID,DWORD,LPOLESTR*);
-WINOLEAPI OleRegGetMiscStatus(REFCLSID,DWORD,DWORD*);
-WINOLEAPI OleRegEnumFormatEtc (REFCLSID,DWORD,LPENUMFORMATETC*);
-WINOLEAPI OleRegEnumVerbs (REFCLSID,LPENUMOLEVERB*);
-WINOLEAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM,LPSTORAGE,const DVTARGETDEVICE*);
-WINOLEAPI OleConvertIStorageToOLESTREAM(LPSTORAGE,LPOLESTREAM);
-WINOLEAPI GetHGlobalFromILockBytes(LPLOCKBYTES,HGLOBAL*);
-WINOLEAPI CreateILockBytesOnHGlobal(HGLOBAL,BOOL,LPLOCKBYTES*);
-WINOLEAPI GetHGlobalFromStream(LPSTREAM,HGLOBAL*);
-WINOLEAPI CreateStreamOnHGlobal(HGLOBAL,BOOL,LPSTREAM*);
-WINOLEAPI OleDoAutoConvert(LPSTORAGE,LPCLSID);
-WINOLEAPI OleGetAutoConvert(REFCLSID,LPCLSID);
-WINOLEAPI OleSetAutoConvert(REFCLSID,REFCLSID);
-WINOLEAPI GetConvertStg(LPSTORAGE);
-WINOLEAPI SetConvertStg(LPSTORAGE,BOOL);
-WINOLEAPI OleConvertIStorageToOLESTREAMEx(LPSTORAGE,CLIPFORMAT,LONG,LONG,DWORD,LPSTGMEDIUM,LPOLESTREAM);
-WINOLEAPI OleConvertOLESTREAMToIStorageEx(LPOLESTREAM,LPSTORAGE,CLIPFORMAT*,LONG*,LONG*,DWORD*,LPSTGMEDIUM);
-#ifdef __cplusplus
-}
-#endif
-#pragma pack(pop)
-#endif
Index: Daodan/MinGW/include/ole2ver.h
===================================================================
--- Daodan/MinGW/include/ole2ver.h	(revision 1046)
+++ 	(revision )
@@ -1,8 +1,0 @@
-#ifndef _OLE2VER_H
-#define _OLE2VER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#define rmm 23
-#define rup 639
-#endif
Index: Daodan/MinGW/include/oleacc.h
===================================================================
--- Daodan/MinGW/include/oleacc.h	(revision 1046)
+++ 	(revision )
@@ -1,223 +1,0 @@
-#ifndef _OLEACC_H
-#define _OLEACC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DISPID_ACC_PARENT                   (-5000)
-#define DISPID_ACC_CHILDCOUNT               (-5001)
-#define DISPID_ACC_CHILD                    (-5002)
-
-#define DISPID_ACC_NAME                     (-5003)
-#define DISPID_ACC_VALUE                    (-5004)
-#define DISPID_ACC_DESCRIPTION              (-5005)
-#define DISPID_ACC_ROLE                     (-5006)
-#define DISPID_ACC_STATE                    (-5007)
-#define DISPID_ACC_HELP                     (-5008)
-#define DISPID_ACC_HELPTOPIC                (-5009)
-#define DISPID_ACC_KEYBOARDSHORTCUT         (-5010)
-#define DISPID_ACC_FOCUS                    (-5011)
-#define DISPID_ACC_SELECTION                (-5012)
-#define DISPID_ACC_DEFAULTACTION            (-5013)
-
-#define DISPID_ACC_SELECT                   (-5014)
-#define DISPID_ACC_LOCATION                 (-5015)
-#define DISPID_ACC_NAVIGATE                 (-5016)
-#define DISPID_ACC_HITTEST                  (-5017)
-#define DISPID_ACC_DODEFAULTACTION          (-5018)
-
-#define NAVDIR_DOWN 2
-#define NAVDIR_FIRSTCHILD 7
-#define NAVDIR_LASTCHILD 8
-#define NAVDIR_LEFT 3
-#define NAVDIR_NEXT 5
-#define NAVDIR_PREVIOUS 6
-#define NAVDIR_RIGHT 4
-#define NAVDIR_UP 1
-
-#define ROLE_SYSTEM_ALERT 8
-#define ROLE_SYSTEM_ANIMATION 54
-#define ROLE_SYSTEM_APPLICATION 14
-#define ROLE_SYSTEM_BORDER 19
-#define ROLE_SYSTEM_BUTTONDROPDOWN  56
-#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58
-#define ROLE_SYSTEM_BUTTONMENU 57
-#define ROLE_SYSTEM_CARET 7
-#define ROLE_SYSTEM_CELL 29
-#define ROLE_SYSTEM_CHARACTER 32
-#define ROLE_SYSTEM_CHART 17
-#define ROLE_SYSTEM_CHECKBUTTON 44
-#define ROLE_SYSTEM_CLIENT 10
-#define ROLE_SYSTEM_CLOCK 61
-#define ROLE_SYSTEM_COLUMN 27
-#define ROLE_SYSTEM_COLUMNHEADER 25
-#define ROLE_SYSTEM_COMBOBOX 46
-#define ROLE_SYSTEM_CURSOR 6
-#define ROLE_SYSTEM_DIAGRAM 53
-#define ROLE_SYSTEM_DIAL 49
-#define ROLE_SYSTEM_DIALOG 18
-#define ROLE_SYSTEM_DOCUMENT 15
-#define ROLE_SYSTEM_DROPLIST 47
-#define ROLE_SYSTEM_EQUATION 55
-#define ROLE_SYSTEM_GRAPHIC 40
-#define ROLE_SYSTEM_GRIP 4
-#define ROLE_SYSTEM_GROUPING 20
-#define ROLE_SYSTEM_HELPBALLOON 31
-#define ROLE_SYSTEM_HOTKEYFIELD 50
-#define ROLE_SYSTEM_INDICATOR 39
-#define ROLE_SYSTEM_LINK 30
-#define ROLE_SYSTEM_LIST 33
-#define ROLE_SYSTEM_LISTITEM 34
-#define ROLE_SYSTEM_MENUBAR 2
-#define ROLE_SYSTEM_MENUITEM 12
-#define ROLE_SYSTEM_MENUPOPUP 11
-#define ROLE_SYSTEM_OUTLINE 35
-#define ROLE_SYSTEM_OUTLINEITEM 36
-#define ROLE_SYSTEM_PAGETAB 37
-#define ROLE_SYSTEM_PAGETABLIST 60
-#define ROLE_SYSTEM_PANE 16
-#define ROLE_SYSTEM_PROGRESSBAR 48
-#define ROLE_SYSTEM_PROPERTYPAGE 38
-#define ROLE_SYSTEM_PUSHBUTTON 43
-#define ROLE_SYSTEM_RADIOBUTTON 45
-#define ROLE_SYSTEM_ROW 28
-#define ROLE_SYSTEM_ROWHEADER 26
-#define ROLE_SYSTEM_SCROLLBAR 3
-#define ROLE_SYSTEM_SEPARATOR 21
-#define ROLE_SYSTEM_SLIDER 51
-#define ROLE_SYSTEM_SOUND 5
-#define ROLE_SYSTEM_SPINBUTTON 52
-#define ROLE_SYSTEM_STATICTEXT 41
-#define ROLE_SYSTEM_STATUSBAR 23
-#define ROLE_SYSTEM_TABLE 24
-#define ROLE_SYSTEM_TEXT 42
-#define ROLE_SYSTEM_TITLEBAR 1
-#define ROLE_SYSTEM_TOOLBAR 22
-#define ROLE_SYSTEM_TOOLTIP 13
-#define ROLE_SYSTEM_WHITESPACE 59
-#define ROLE_SYSTEM_WINDOW 9
-
-#define STATE_SYSTEM_UNAVAILABLE 0x00000001
-#define STATE_SYSTEM_SELECTED 0x00000002
-#define STATE_SYSTEM_FOCUSED 0x00000004
-#define STATE_SYSTEM_PRESSED 0x00000008
-#define STATE_SYSTEM_CHECKED 0x00000010
-#define STATE_SYSTEM_MIXED 0x00000020
-#define STATE_SYSTEM_READONLY 0x00000040
-#define STATE_SYSTEM_HOTTRACKED 0x00000080
-#define STATE_SYSTEM_DEFAULT 0x00000100
-#define STATE_SYSTEM_EXPANDED 0x00000200
-#define STATE_SYSTEM_COLLAPSED 0x00000400
-#define STATE_SYSTEM_BUSY 0x00000800
-#define STATE_SYSTEM_FLOATING 0x00001000
-#define STATE_SYSTEM_MARQUEED 0x00002000
-#define STATE_SYSTEM_ANIMATED 0x00004000
-#define STATE_SYSTEM_INVISIBLE 0x00008000
-#define STATE_SYSTEM_OFFSCREEN 0x00010000
-#define STATE_SYSTEM_SIZEABLE 0x00020000
-#define STATE_SYSTEM_MOVEABLE 0x00040000
-#define STATE_SYSTEM_SELFVOICING 0x00080000
-#define STATE_SYSTEM_FOCUSABLE 0x00100000
-#define STATE_SYSTEM_SELECTABLE 0x00200000
-#define STATE_SYSTEM_LINKED 0x00400000
-#define STATE_SYSTEM_TRAVERSED 0x00800000
-#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
-#define STATE_SYSTEM_EXTSELECTABLE 0x02000000
-#define STATE_SYSTEM_ALERT_LOW 0x04000000
-#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
-#define STATE_SYSTEM_ALERT_HIGH 0x10000000
-#define STATE_SYSTEM_VALID 0x1fffffff
-/* http://opensource.adobe.com/wiki/display/flexsdk/Accessibility+for+Spark+Components */
-#define STATE_SYSTEM_NORMAL 0x00000000
-#define STATE_SYSTEM_PROTECTED 0x20000000
-#define STATE_SYSTEM_HASPOPUP 0x40000000
-
-typedef enum tagSELFLAG
-{
-  SELFLAG_NONE = 0,
-  SELFLAG_TAKEFOCUS = 1,
-  SELFLAG_TAKESELECTION = 2,
-  SELFLAG_EXTENDSELECTION = 4,
-  SELFLAG_ADDSELECTION = 8,
-  SELFLAG_REMOVESELECTION = 16
-} SELFLAG;
-
-#define SELFLAG_VALID	0x0000001F
-
-/* DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
-/* DEFINE_GUID(IID_IAccessible,     0x618736e0, 0x3c3d,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
-EXTERN_C const IID LIBID_Accessibility;
-EXTERN_C const IID IID_IAccessible;
-
-#define INTERFACE IAccessible
-DECLARE_INTERFACE_(IAccessible, IDispatch)
-{
-    STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
-    STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
-    STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
-    STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
-    STDMETHOD(get_accParent)(THIS_ IDispatch**) PURE;
-    STDMETHOD(get_accChildCount)(THIS_ long*) PURE;
-    STDMETHOD(get_accChild)(THIS_ VARIANT, IDispatch **) PURE;
-    STDMETHOD(get_accName)(THIS_ VARIANT, BSTR*) PURE;
-    STDMETHOD(get_accValue)(THIS_ VARIANT, BSTR*) PURE;
-    STDMETHOD(get_accDescription)(THIS_ VARIANT, BSTR*) PURE;
-    STDMETHOD(get_accRole)(THIS_ VARIANT, VARIANT*) PURE;
-    STDMETHOD(get_accState)(THIS_ VARIANT, VARIANT*) PURE;
-    STDMETHOD(get_accHelp)(THIS_ VARIANT, BSTR*) PURE;
-    STDMETHOD(get_accHelpTopic)(THIS_ BSTR*, VARIANT, long*) PURE;
-    STDMETHOD(get_accKeyboardShortcut)(THIS_ VARIANT, BSTR*) PURE;
-    STDMETHOD(get_accFocus)(THIS_ VARIANT*) PURE;
-    STDMETHOD(get_accSelection)(THIS_ VARIANT*) PURE;
-    STDMETHOD(get_accDefaultAction)(THIS_ VARIANT, BSTR*) PURE;
-
-    STDMETHOD(accSelect)(THIS_ long, VARIANT) PURE;
-    STDMETHOD(accLocation)(THIS_ long*, long*, long*, long*, VARIANT) PURE;
-    STDMETHOD(accNavigate)(THIS_ long, VARIANT, VARIANT*) PURE;
-    STDMETHOD(accHitTest)(THIS_ long, long, VARIANT*) PURE;
-    STDMETHOD(accDoDefaultAction)(THIS_ VARIANT) PURE;
-
-    STDMETHOD(put_accName)(THIS_ VARIANT, BSTR) PURE;
-    STDMETHOD(put_accValue)(THIS_ VARIANT, BSTR) PURE;
-};
-#undef INTERFACE
-typedef IAccessible* LPACCESSIBLE;
-
-STDAPI AccessibleChildren(IAccessible*,LONG,LONG,VARIANT*,LONG*);
-STDAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible**,VARIANT*);
-STDAPI AccessibleObjectFromPoint(POINT,IAccessible**,VARIANT*);
-STDAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void**);
-STDAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void**);
-STDAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void**);
-STDAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void**);
-void WINAPI GetOleaccVersionInfo(DWORD*,DWORD*);
-UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);
-UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);
-UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);
-UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);
-LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);
-STDAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void**);
-STDAPI WindowFromAccessibleObject(IAccessible*,HWND*);
-
-#ifdef UNICODE
-#define CreateStdAccessibleProxy CreateStdAccessibleProxyW
-#define GetRoleText GetRoleTextW
-#define GetStateText GetStateTextW
-#else
-#define CreateStdAccessibleProxy CreateStdAccessibleProxyA
-#define GetRoleText GetRoleTextA
-#define GetStateText GetStateTextA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _OLEACC_H */
Index: Daodan/MinGW/include/oleauto.h
===================================================================
--- Daodan/MinGW/include/oleauto.h	(revision 1046)
+++ 	(revision )
@@ -1,656 +1,0 @@
-#ifndef _OLEAUTO_H
-#define _OLEAUTO_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,8)
-#define WINOLEAUTAPI STDAPI
-#define WINOLEAUTAPI_(type) STDAPI_(type)
-#define STDOLE_MAJORVERNUM 1
-#define STDOLE_MINORVERNUM 0
-#define STDOLE_LCID 0
-
-#define VARIANT_NOVALUEPROP 0x01
-#define VARIANT_ALPHABOOL 0x02
-#define VARIANT_NOUSEOVERRIDE 0x04
-#define VARIANT_LOCALBOOL 0x08
-
-#define VAR_TIMEVALUEONLY 0x0001
-#define VAR_DATEVALUEONLY 0x0002
-#define VAR_VALIDDATE 0x0004
-#define VAR_CALENDAR_HIJRI 0x0008
-#define VAR_LOCALBOOL 0x0010
-#define VAR_FORMAT_NOSUBSTITUTE 0x0020
-#define VAR_FOURDIGITYEARS 0x0040
-#define VAR_CALENDAR_THAI 0x0080
-#define VAR_CALENDAR_GREGORIAN 0x0100
-
-#define MEMBERID_NIL DISPID_UNKNOWN
-#define ID_DEFAULTINST (-2)
-#define DISPATCH_METHOD 1
-#define DISPATCH_PROPERTYGET 2
-#define DISPATCH_PROPERTYPUT 4
-#define DISPATCH_PROPERTYPUTREF 8
-#define LHashValOfName(l,n) LHashValOfNameSys(SYS_WIN32,l,n)
-#define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h)))
-#define IsHashValCompatible(h1,h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2))))
-#define ACTIVEOBJECT_STRONG 0
-#define ACTIVEOBJECT_WEAK 1
-#ifdef NONAMELESSUNION
-#define V_UNION(X,Y) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.Y)
-#define V_VT(X) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.vt)
-#else
-#define V_UNION(X,Y) ((X)->Y)
-#define V_VT(X) ((X)->vt)
-#endif
-#define V_BOOL(X) V_UNION(X,boolVal)
-#define V_ISBYREF(X) (V_VT(X)&VT_BYREF)
-#define V_ISARRAY(X) (V_VT(X)&VT_ARRAY)
-#define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR)
-#define V_NONE(X) V_I2(X)
-#define V_UI1(X) V_UNION(X,bVal)
-#define V_UI1REF(X) V_UNION(X,pbVal)
-#define V_I2(X) V_UNION(X,iVal)
-#define V_UI2(X) V_UNION(X,uiVal)
-#define V_I2REF(X) V_UNION(X,piVal)
-#define V_I4(X) V_UNION(X,lVal)
-#define V_UI4(X) V_UNION(X,ulVal)
-#define V_I4REF(X) V_UNION(X,plVal)
-#define V_UI4REF(X) V_UNION(X,pulVal)
-#define V_I8(X) V_UNION(X,llVal)
-#define V_UI8(X) V_UNION(X,ullVal)
-#define V_I8REF(X) V_UNION(X,pllVal)
-#define V_UI8REF(X) V_UNION(X,pullVal)
-#define V_R4(X) V_UNION(X,fltVal)
-#define V_R4REF(X) V_UNION(X,pfltVal)
-#define V_R8(X) V_UNION(X,dblVal)
-#define V_R8REF(X) V_UNION(X,pdblVal)
-#define V_CY(X) V_UNION(X,cyVal)
-#define V_CYREF(X) V_UNION(X,pcyVal)
-#define V_DATE(X) V_UNION(X,date)
-#define V_DATEREF(X) V_UNION(X,pdate)
-#define V_BSTR(X) V_UNION(X,bstrVal)
-#define V_BSTRREF(X) V_UNION(X,pbstrVal)
-#define V_DISPATCH(X) V_UNION(X,pdispVal)
-#define V_DISPATCHREF(X) V_UNION(X,ppdispVal)
-#define V_ERROR(X) V_UNION(X,scode)
-#define V_ERRORREF(X) V_UNION(X,pscode)
-#define V_BOOLREF(X) V_UNION(X,pboolVal)
-#define V_UNKNOWN(X) V_UNION(X,punkVal)
-#define V_UNKNOWNREF(X) V_UNION(X,ppunkVal)
-#define V_VARIANTREF(X) V_UNION(X,pvarVal)
-#define V_LPSTR(X) V_UNION(X,pszVal)
-#define V_LPSTRREF(X) V_UNION(X,ppszVal)
-#define V_LPWSTR(X) V_UNION(X,pwszVal)
-#define V_LPWSTRREF(X) V_UNION(X,ppwszVal)
-#define V_FILETIME(X) V_UNION(X,filetime)
-#define V_FILETIMEREF(X) V_UNION(X,pfiletime)
-#define V_BLOB(X) V_UNION(X,blob)
-#define V_UUID(X) V_UNION(X,puuid)
-#define V_CLSID(X) V_UNION(X,puuid)
-#define V_ARRAY(X) V_UNION(X,parray)
-#define V_ARRAYREF(X) V_UNION(X,pparray)
-#define V_BYREF(X) V_UNION(X,byref)
-#if defined(NONAMELESSUNION)
-#define V_DECIMAL(X) ((X)->__VARIANT_NAME_1.decVal)
-#else
-#define V_DECIMAL(X) ((X)->decVal)
-#endif
-#define V_DECIMALREF(X) V_UNION(X,pdecVal)
-#define V_I1(X) V_UNION(X,cVal)
-
-#ifdef _WIN64
-#define V_INT_PTR(X) V_I8(X)
-#define V_UINT_PTR(X) V_UI8(X)
-#define V_INT_PTRREF(X) V_I8REF(X)
-#define V_UINT_PTRREF(X) V_UI8REF(X)
-#else
-#define V_INT_PTR(X) V_I4(X)
-#define V_UINT_PTR(X) V_UI4(X)
-#define V_INT_PTRREF(X) V_I4REF(X)
-#define V_UINT_PTRREF(X) V_UI4REF(X)
-#endif
-
-#define VARCMP_LT 0
-#define VARCMP_EQ 1
-#define VARCMP_GT 2
-#define VARCMP_NULL 3
-
-#define LOCALE_USE_NLS 0x10000000
-
-#define VARIANT_NOUSEROVERRIDE 0x04
-#define VARIANT_CALENDAR_HIJRI 0x08
-#define VARIANT_CALENDAR_THAI 0x20
-#define VARIANT_CALENDAR_GREGORIAN 0x40
-#define VARIANT_USE_NLS 0x80
-
-#define NUMPRS_LEADING_WHITE 0x00001
-#define NUMPRS_TRAILING_WHITE 0x00002
-#define NUMPRS_LEADING_PLUS 0x00004
-#define NUMPRS_TRAILING_PLUS 0x00008
-#define NUMPRS_LEADING_MINUS 0x00010
-#define NUMPRS_TRAILING_MINUS 0x00020
-#define NUMPRS_HEX_OCT 0x00040
-#define NUMPRS_PARENS 0x00080
-#define NUMPRS_DECIMAL 0x00100
-#define NUMPRS_THOUSANDS 0x00200
-#define NUMPRS_CURRENCY 0x00400
-#define NUMPRS_EXPONENT 0x00800
-#define NUMPRS_USE_ALL 0x01000
-#define NUMPRS_STD 0x01FFF
-#define NUMPRS_NEG 0x10000
-#define NUMPRS_INEXACT 0x20000
-
-#define VTBIT_I1 (1<<VT_I1)
-#define VTBIT_UI1 (1<<VT_UI1)
-#define VTBIT_I2 (1<<VT_I2)
-#define VTBIT_UI2 (1<<VT_UI2)
-#define VTBIT_I4 (1<<VT_I4)
-#define VTBIT_UI4 (1<<VT_UI4)
-#define VTBIT_I8 (1<<VT_I8)
-#define VTBIT_UI8 (1<<VT_UI8)
-#define VTBIT_R4 (1<<VT_R4)
-#define VTBIT_R8 (1<<VT_R8)
-#define VTBIT_CY (1<<VT_CY)
-#define VTBIT_DECIMAL (1<<VT_DECIMAL)
-
-#include <oaidl.h>
-
-typedef enum tagREGKIND {
-	REGKIND_DEFAULT,
-	REGKIND_REGISTER,
-	REGKIND_NONE
-} REGKIND;
-typedef struct tagPARAMDATA {
-	OLECHAR *szName;
-	VARTYPE vt;
-} PARAMDATA,*LPPARAMDATA;
-typedef struct tagMETHODDATA {
-	OLECHAR *szName;
-	PARAMDATA *ppdata;
-	DISPID dispid;
-	UINT iMeth;
-	CALLCONV cc;
-	UINT cArgs;
-	WORD wFlags;
-	VARTYPE vtReturn;
-} METHODDATA,*LPMETHODDATA;
-typedef struct tagINTERFACEDATA {
-	METHODDATA *pmethdata;
-	UINT cMembers;
-} INTERFACEDATA,*LPINTERFACEDATA;
-
-typedef struct {
-	SYSTEMTIME st;
-	USHORT wDayOfYear;
-} UDATE;
-
-typedef struct {
-	int cDig;
-	unsigned long dwInFlags;
-	unsigned long dwOutFlags;
-	int cchUsed;
-	int nBaseShift;
-	int nPwr10;
-} NUMPARSE;
-
-WINOLEAUTAPI_(BSTR) SysAllocString(const OLECHAR*);
-WINOLEAUTAPI_(int) SysReAllocString(BSTR*,const OLECHAR*);
-WINOLEAUTAPI_(BSTR) SysAllocStringLen(const OLECHAR*,unsigned int);
-WINOLEAUTAPI_(int) SysReAllocStringLen(BSTR*,const OLECHAR*,unsigned int);
-WINOLEAUTAPI_(void) SysFreeString(BSTR);
-WINOLEAUTAPI_(unsigned int) SysStringLen(BSTR);
-WINOLEAUTAPI_(unsigned int) SysStringByteLen(BSTR);
-WINOLEAUTAPI_(BSTR) SysAllocStringByteLen(const char*,unsigned int);
-WINOLEAUTAPI_(int) DosDateTimeToVariantTime(unsigned short,unsigned short,double*);
-WINOLEAUTAPI_(int) VariantTimeToDosDateTime(double,unsigned short*,unsigned short*);
-WINOLEAUTAPI_(int) VariantTimeToSystemTime(double,LPSYSTEMTIME);
-WINOLEAUTAPI_(int) SystemTimeToVariantTime(LPSYSTEMTIME, double*);
-WINOLEAUTAPI VarDateFromUdate(UDATE*,ULONG,DATE*);
-WINOLEAUTAPI VarDateFromUdateEx(UDATE*,LCID,ULONG,DATE*);
-WINOLEAUTAPI VarUdateFromDate(DATE,ULONG,UDATE*);
-WINOLEAUTAPI SafeArrayAllocDescriptor(unsigned int,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayAllocData(SAFEARRAY*);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreate(VARTYPE,unsigned int,SAFEARRAYBOUND*);
-WINOLEAUTAPI SafeArrayDestroyDescriptor(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayDestroyData(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayDestroy(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*);
-WINOLEAUTAPI_(unsigned int) SafeArrayGetDim(SAFEARRAY*);
-WINOLEAUTAPI_(unsigned int) SafeArrayGetElemsize(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayGetUBound(SAFEARRAY*,unsigned int,long*);
-WINOLEAUTAPI SafeArrayGetLBound(SAFEARRAY*,unsigned int,long*);
-WINOLEAUTAPI SafeArrayLock(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayUnlock(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayAccessData(SAFEARRAY*,void**);
-WINOLEAUTAPI SafeArrayUnaccessData(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayGetElement(SAFEARRAY*,long*,void*);
-WINOLEAUTAPI SafeArrayPutElement(SAFEARRAY*,long*,void*);
-WINOLEAUTAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayPtrOfIndex(SAFEARRAY*,long*,void**);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVector(VARTYPE,LONG,ULONG);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVectorEx(VARTYPE,LONG,ULONG,LPVOID);
-WINOLEAUTAPI SafeArrayAllocDescriptorEx(VARTYPE,UINT,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayGetVartype(SAFEARRAY*,VARTYPE*);
-WINOLEAUTAPI SafeArraySetRecordInfo(SAFEARRAY*,IRecordInfo*);
-WINOLEAUTAPI SafeArrayGetRecordInfo(SAFEARRAY*,IRecordInfo**);
-WINOLEAUTAPI SafeArraySetIID(SAFEARRAY*,REFGUID);
-WINOLEAUTAPI SafeArrayGetIID(SAFEARRAY*,GUID*);
-WINOLEAUTAPI_(void) VariantInit(VARIANTARG*);
-WINOLEAUTAPI VariantClear(VARIANTARG*);
-WINOLEAUTAPI VariantCopy(VARIANTARG*,VARIANTARG*);
-WINOLEAUTAPI VariantCopyInd(VARIANT*,VARIANTARG*);
-WINOLEAUTAPI VariantChangeType(VARIANTARG*,VARIANTARG*,unsigned short,VARTYPE);
-WINOLEAUTAPI VariantChangeTypeEx(VARIANTARG*,VARIANTARG*,LCID,unsigned short,VARTYPE);
-WINOLEAUTAPI VarUI1FromI2(short,unsigned char*);
-WINOLEAUTAPI VarUI1FromI4(long,unsigned char*);
-WINOLEAUTAPI VarUI1FromR4(float,unsigned char*);
-WINOLEAUTAPI VarUI1FromR8(double,unsigned char*);
-WINOLEAUTAPI VarUI1FromCy(CY,unsigned char*);
-WINOLEAUTAPI VarUI1FromDate(DATE,unsigned char*);
-WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,unsigned long,unsigned char*);
-WINOLEAUTAPI VarUI1FromDisp(LPDISPATCH,LCID,unsigned char*);
-WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,unsigned char*);
-WINOLEAUTAPI VarI2FromUI1(unsigned char,short*);
-WINOLEAUTAPI VarI2FromI4(long,short*);
-WINOLEAUTAPI VarI2FromR4(float,short*);
-WINOLEAUTAPI VarI2FromR8(double,short*);
-WINOLEAUTAPI VarI2FromCy(CY cyIn,short*);
-WINOLEAUTAPI VarI2FromDate(DATE,short*);
-WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,unsigned long,short*);
-WINOLEAUTAPI VarI2FromDisp(LPDISPATCH,LCID,short*);
-WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,short*);
-WINOLEAUTAPI VarI4FromUI1(unsigned char,long*);
-WINOLEAUTAPI VarI4FromI2(short,long*);
-WINOLEAUTAPI VarI4FromR4(float,long*);
-WINOLEAUTAPI VarI4FromR8(double,long*);
-WINOLEAUTAPI VarI4FromCy(CY,long*);
-WINOLEAUTAPI VarI4FromDate(DATE,long*);
-WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,unsigned long,long*);
-WINOLEAUTAPI VarI4FromDisp(LPDISPATCH,LCID,long*);
-WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,long*);
-WINOLEAUTAPI VarR4FromUI1(unsigned char,float*);
-WINOLEAUTAPI VarR4FromI2(short,float*);
-WINOLEAUTAPI VarR4FromI4(long,float*);
-WINOLEAUTAPI VarR4FromR8(double,float*);
-WINOLEAUTAPI VarR4FromCy(CY,float*);
-WINOLEAUTAPI VarR4FromDate(DATE,float*);
-WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,unsigned long,float*);
-WINOLEAUTAPI VarR4FromDisp(LPDISPATCH,LCID,float*);
-WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,float*);
-WINOLEAUTAPI VarR8FromUI1(unsigned char,double*);
-WINOLEAUTAPI VarR8FromI2(short,double*);
-WINOLEAUTAPI VarR8FromI4(long,double*);
-WINOLEAUTAPI VarR8FromR4(float,double*);
-WINOLEAUTAPI VarR8FromCy(CY,double*);
-WINOLEAUTAPI VarR8FromDate(DATE,double*);
-WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,unsigned long,double*);
-WINOLEAUTAPI VarR8FromDisp(LPDISPATCH,LCID,double*);
-WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*);
-WINOLEAUTAPI VarR8FromDec(DECIMAL*,double*);
-WINOLEAUTAPI VarDateFromUI1(unsigned char,DATE*);
-WINOLEAUTAPI VarDateFromI2(short,DATE*);
-WINOLEAUTAPI VarDateFromI4(long,DATE*);
-WINOLEAUTAPI VarDateFromR4(float,DATE*);
-WINOLEAUTAPI VarDateFromR8(double,DATE*);
-WINOLEAUTAPI VarDateFromCy(CY,DATE*);
-WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,unsigned long,DATE*);
-WINOLEAUTAPI VarDateFromDisp(LPDISPATCH,LCID,DATE*);
-WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*);
-WINOLEAUTAPI VarCyFromUI1(unsigned char,CY*);
-WINOLEAUTAPI VarCyFromI2(short,CY*);
-WINOLEAUTAPI VarCyFromI4(long,CY*);
-WINOLEAUTAPI VarCyFromR4(float,CY*);
-WINOLEAUTAPI VarCyFromR8(double,CY*);
-WINOLEAUTAPI VarCyFromDate(DATE,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,unsigned long,CY*);
-WINOLEAUTAPI VarCyFromDisp(LPDISPATCH,LCID,CY*);
-WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*);
-WINOLEAUTAPI VarBstrFromUI1(unsigned char,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromI2(short,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromI4(long,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromR4(float,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromR8(double,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromCy(CY,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromDate(DATE,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromDisp(LPDISPATCH,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBoolFromUI1(unsigned char,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI2(short,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI4(long,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR4(float,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR8(double,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,unsigned long,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDisp(LPDISPATCH,LCID,VARIANT_BOOL*);
-WINOLEAUTAPI VarDecFromR8(double,DECIMAL*);
-WINOLEAUTAPI_(ULONG) LHashValOfNameSysA(SYSKIND,LCID,const char*);
-WINOLEAUTAPI_(ULONG) LHashValOfNameSys(SYSKIND,LCID,const OLECHAR*);
-WINOLEAUTAPI LoadTypeLib(const OLECHAR*,LPTYPELIB*);
-WINOLEAUTAPI LoadTypeLibEx(LPCOLESTR,REGKIND,LPTYPELIB*);
-WINOLEAUTAPI LoadRegTypeLib(REFGUID,WORD,WORD,LCID,LPTYPELIB*);
-WINOLEAUTAPI QueryPathOfRegTypeLib(REFGUID,unsigned short,unsigned short,LCID,LPBSTR);
-WINOLEAUTAPI RegisterTypeLib(LPTYPELIB,OLECHAR*,OLECHAR*);
-WINOLEAUTAPI UnRegisterTypeLib(REFGUID,WORD,WORD,LCID,SYSKIND);
-WINOLEAUTAPI CreateTypeLib(SYSKIND,const OLECHAR*,LPCREATETYPELIB*);
-WINOLEAUTAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*);
-WINOLEAUTAPI DispGetIDsOfNames(LPTYPEINFO,OLECHAR**,UINT,DISPID*);
-WINOLEAUTAPI DispInvoke(void*,LPTYPEINFO,DISPID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);
-WINOLEAUTAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,LPTYPEINFO*);
-WINOLEAUTAPI CreateStdDispatch(IUnknown*,void*,LPTYPEINFO,IUnknown**);
-WINOLEAUTAPI RegisterActiveObject(IUnknown*,REFCLSID,DWORD,DWORD*);
-WINOLEAUTAPI RevokeActiveObject(DWORD,void*);
-WINOLEAUTAPI GetActiveObject(REFCLSID,void*,IUnknown**);
-WINOLEAUTAPI SetErrorInfo(unsigned long,LPERRORINFO);
-WINOLEAUTAPI GetErrorInfo(unsigned long,LPERRORINFO*);
-WINOLEAUTAPI CreateErrorInfo(LPCREATEERRORINFO*);
-WINOLEAUTAPI_(unsigned long) OaBuildVersion(void);
-WINOLEAUTAPI VectorFromBstr (BSTR, SAFEARRAY **);
-WINOLEAUTAPI BstrFromVector (SAFEARRAY *, BSTR *);
-WINOLEAUTAPI VarParseNumFromStr(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*);
-WINOLEAUTAPI VarNumFromParseNum(NUMPARSE*,BYTE*,ULONG,VARIANT*);
-WINOLEAUTAPI_(HRESULT) GetRecordInfoFromTypeInfo (ITypeInfo*,IRecordInfo**);
-WINOLEAUTAPI_(HRESULT) GetRecordInfoFromGuids (REFGUID,ULONG,ULONG,LCID,REFGUID,IRecordInfo**);
-
-WINOLEAUTAPI VarAdd(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarSub(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarMul(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarDiv(LPVARIANT, LPVARIANT, LPVARIANT);
-
-WINOLEAUTAPI VarUI1FromI2(SHORT,BYTE*);
-WINOLEAUTAPI VarUI1FromI4(LONG,BYTE*);
-WINOLEAUTAPI VarUI1FromI8(LONG64,BYTE*);
-WINOLEAUTAPI VarUI1FromR4(FLOAT,BYTE*);
-WINOLEAUTAPI VarUI1FromR8(DOUBLE,BYTE*);
-WINOLEAUTAPI VarUI1FromDate(DATE,BYTE*);
-WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,BYTE*);
-WINOLEAUTAPI VarUI1FromI1(signed char,BYTE*);
-WINOLEAUTAPI VarUI1FromUI2(USHORT,BYTE*);
-WINOLEAUTAPI VarUI1FromUI4(ULONG,BYTE*);
-WINOLEAUTAPI VarUI1FromUI8(ULONG64,BYTE*);
-WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,ULONG,BYTE*);
-WINOLEAUTAPI VarUI1FromCy(CY,BYTE*);
-WINOLEAUTAPI VarUI1FromDec(DECIMAL*,BYTE*);
-WINOLEAUTAPI VarUI1FromDisp(IDispatch*,LCID,BYTE*);
-
-WINOLEAUTAPI VarI2FromUI1(BYTE,SHORT*);
-WINOLEAUTAPI VarI2FromI4(LONG,SHORT*);
-WINOLEAUTAPI VarI2FromI8(LONG64,SHORT*);
-WINOLEAUTAPI VarI2FromR4(FLOAT,SHORT*);
-WINOLEAUTAPI VarI2FromR8(DOUBLE,SHORT*);
-WINOLEAUTAPI VarI2FromDate(DATE,SHORT*);
-WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,SHORT*);
-WINOLEAUTAPI VarI2FromI1(signed char,SHORT*);
-WINOLEAUTAPI VarI2FromUI2(USHORT,SHORT*);
-WINOLEAUTAPI VarI2FromUI4(ULONG,SHORT*);
-WINOLEAUTAPI VarI2FromUI8(ULONG64,SHORT*);
-WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,ULONG,SHORT*);
-WINOLEAUTAPI VarI2FromCy(CY,SHORT*);
-WINOLEAUTAPI VarI2FromDec(DECIMAL*,SHORT*);
-WINOLEAUTAPI VarI2FromDisp(IDispatch*,LCID,SHORT*);
-
-WINOLEAUTAPI VarI4FromUI1(BYTE,LONG*);
-WINOLEAUTAPI VarI4FromI2(SHORT,LONG*);
-WINOLEAUTAPI VarI4FromI8(LONG64,LONG*);
-WINOLEAUTAPI VarI4FromR4(FLOAT,LONG*);
-WINOLEAUTAPI VarI4FromR8(DOUBLE,LONG*);
-WINOLEAUTAPI VarI4FromDate(DATE,LONG*);
-WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,LONG*);
-WINOLEAUTAPI VarI4FromI1(signed char,LONG*);
-WINOLEAUTAPI VarI4FromUI2(USHORT,LONG*);
-WINOLEAUTAPI VarI4FromUI4(ULONG,LONG*);
-WINOLEAUTAPI VarI4FromUI8(ULONG64,LONG*);
-WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,ULONG,LONG*);
-WINOLEAUTAPI VarI4FromCy(CY,LONG*);
-WINOLEAUTAPI VarI4FromDec(DECIMAL*,LONG*);
-WINOLEAUTAPI VarI4FromDisp(IDispatch*,LCID,LONG*);
-
-WINOLEAUTAPI VarI8FromUI1(BYTE,LONG64*);
-WINOLEAUTAPI VarI8FromI2(SHORT,LONG64*);
-WINOLEAUTAPI VarI8FromI4(LONG,LONG64*);
-WINOLEAUTAPI VarI8FromR4(FLOAT,LONG64*);
-WINOLEAUTAPI VarI8FromR8(DOUBLE,LONG64*);
-WINOLEAUTAPI VarI8FromDate(DATE,LONG64*);
-WINOLEAUTAPI VarI8FromStr(OLECHAR*,LCID,ULONG,LONG64*);
-WINOLEAUTAPI VarI8FromBool(VARIANT_BOOL,LONG64*);
-WINOLEAUTAPI VarI8FromI1(signed char,LONG64*);
-WINOLEAUTAPI VarI8FromUI2(USHORT,LONG64*);
-WINOLEAUTAPI VarI8FromUI4(ULONG,LONG64*);
-WINOLEAUTAPI VarI8FromUI8(ULONG64,LONG64*);
-WINOLEAUTAPI VarI8FromDec(DECIMAL *pdecIn,LONG64*);
-WINOLEAUTAPI VarI8FromInt(INT intIn,LONG64*);
-WINOLEAUTAPI VarI8FromCy(CY,LONG64*);
-WINOLEAUTAPI VarI8FromDisp(IDispatch*,LCID,LONG64*);
-
-WINOLEAUTAPI VarR4FromUI1(BYTE,FLOAT*);
-WINOLEAUTAPI VarR4FromI2(SHORT,FLOAT*);
-WINOLEAUTAPI VarR4FromI4(LONG,FLOAT*);
-WINOLEAUTAPI VarR4FromI8(LONG64,FLOAT*);
-WINOLEAUTAPI VarR4FromR8(DOUBLE,FLOAT*);
-WINOLEAUTAPI VarR4FromDate(DATE,FLOAT*);
-WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,FLOAT*);
-WINOLEAUTAPI VarR4FromI1(signed char,FLOAT*);
-WINOLEAUTAPI VarR4FromUI2(USHORT,FLOAT*);
-WINOLEAUTAPI VarR4FromUI4(ULONG,FLOAT*);
-WINOLEAUTAPI VarR4FromUI8(ULONG64,FLOAT*);
-WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,ULONG,FLOAT*);
-WINOLEAUTAPI VarR4FromCy(CY,FLOAT*);
-WINOLEAUTAPI VarR4FromDec(DECIMAL*,FLOAT*);
-WINOLEAUTAPI VarR4FromDisp(IDispatch*,LCID,FLOAT*);
-
-WINOLEAUTAPI VarR8FromUI1(BYTE,double*);
-WINOLEAUTAPI VarR8FromI2(SHORT,double*);
-WINOLEAUTAPI VarR8FromI4(LONG,double*);
-WINOLEAUTAPI VarR8FromI8(LONG64,double*);
-WINOLEAUTAPI VarR8FromR4(FLOAT,double*);
-WINOLEAUTAPI VarR8FromDate(DATE,double*);
-WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*);
-WINOLEAUTAPI VarR8FromI1(signed char,double*);
-WINOLEAUTAPI VarR8FromUI2(USHORT,double*);
-WINOLEAUTAPI VarR8FromUI4(ULONG,double*);
-WINOLEAUTAPI VarR8FromUI8(ULONG64,double*);
-WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,ULONG,double*);
-WINOLEAUTAPI VarR8FromCy(CY,double*);
-WINOLEAUTAPI VarR8FromDec(DECIMAL*,double*);
-WINOLEAUTAPI VarR8FromDisp(IDispatch*,LCID,double*);
-
-WINOLEAUTAPI VarDateFromUI1(BYTE,DATE*);
-WINOLEAUTAPI VarDateFromI2(SHORT,DATE*);
-WINOLEAUTAPI VarDateFromI4(LONG,DATE*);
-WINOLEAUTAPI VarDateFromI8(LONG64,DATE*);
-WINOLEAUTAPI VarDateFromR4(FLOAT,DATE*);
-WINOLEAUTAPI VarDateFromR8(DOUBLE,DATE*);
-WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,ULONG,DATE*);
-WINOLEAUTAPI VarDateFromI1(signed char,DATE*);
-WINOLEAUTAPI VarDateFromUI2(USHORT,DATE*);
-WINOLEAUTAPI VarDateFromUI4(ULONG,DATE*);
-WINOLEAUTAPI VarDateFromUI8(ULONG64,DATE*);
-WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*);
-WINOLEAUTAPI VarDateFromCy(CY,DATE*);
-WINOLEAUTAPI VarDateFromDec(DECIMAL*,DATE*);
-WINOLEAUTAPI VarDateFromDisp(IDispatch*,LCID,DATE*);
-
-WINOLEAUTAPI VarCyFromUI1(BYTE,CY*);
-WINOLEAUTAPI VarCyFromI2(SHORT sIn,CY*);
-WINOLEAUTAPI VarCyFromI4(LONG,CY*);
-WINOLEAUTAPI VarCyFromI8(LONG64,CY*);
-WINOLEAUTAPI VarCyFromR4(FLOAT,CY*);
-WINOLEAUTAPI VarCyFromR8(DOUBLE,CY*);
-WINOLEAUTAPI VarCyFromDate(DATE,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
-WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*);
-WINOLEAUTAPI VarCyFromI1(signed char,CY*);
-WINOLEAUTAPI VarCyFromUI2(USHORT,CY*);
-WINOLEAUTAPI VarCyFromUI4(ULONG,CY*);
-WINOLEAUTAPI VarCyFromUI8(ULONG64,CY*);
-WINOLEAUTAPI VarCyFromDec(DECIMAL*,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
-WINOLEAUTAPI VarCyFromDisp(IDispatch*,LCID,CY*);
-
-WINOLEAUTAPI VarBstrFromUI1(BYTE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI2(SHORT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI4(LONG,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI8(LONG64,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromR4(FLOAT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromR8(DOUBLE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDate(DATE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI1(signed char,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI2(USHORT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI8(ULONG64,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI4(ULONG,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromCy(CY,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDec(DECIMAL*,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDisp(IDispatch*,LCID,ULONG,BSTR*);
-
-WINOLEAUTAPI VarBoolFromUI1(BYTE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI2(SHORT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI4(LONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI8(LONG64,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR4(FLOAT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR8(DOUBLE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,ULONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI1(signed char,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI2(USHORT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI4(ULONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI8(ULONG64,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDec(DECIMAL*,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDisp(IDispatch*,LCID,VARIANT_BOOL*);
-
-WINOLEAUTAPI VarI1FromUI1(BYTE,signed char*);
-WINOLEAUTAPI VarI1FromI2(SHORT,signed char*);
-WINOLEAUTAPI VarI1FromI4(LONG,signed char*);
-WINOLEAUTAPI VarI1FromI8(LONG64,signed char*);
-WINOLEAUTAPI VarI1FromR4(FLOAT,signed char*);
-WINOLEAUTAPI VarI1FromR8(DOUBLE,signed char*);
-WINOLEAUTAPI VarI1FromDate(DATE,signed char*);
-WINOLEAUTAPI VarI1FromStr(OLECHAR*,LCID,ULONG,signed char*);
-WINOLEAUTAPI VarI1FromBool(VARIANT_BOOL,signed char*);
-WINOLEAUTAPI VarI1FromUI2(USHORT,signed char*);
-WINOLEAUTAPI VarI1FromUI4(ULONG,signed char*);
-WINOLEAUTAPI VarI1FromUI8(ULONG64,signed char*);
-WINOLEAUTAPI VarI1FromCy(CY,signed char*);
-WINOLEAUTAPI VarI1FromDec(DECIMAL*,signed char*);
-WINOLEAUTAPI VarI1FromDisp(IDispatch*,LCID,signed char*);
-
-WINOLEAUTAPI VarUI2FromUI1(BYTE,USHORT*);
-WINOLEAUTAPI VarUI2FromI2(SHORT,USHORT*);
-WINOLEAUTAPI VarUI2FromI4(LONG,USHORT*);
-WINOLEAUTAPI VarUI2FromI8(LONG64,USHORT*);
-WINOLEAUTAPI VarUI2FromR4(FLOAT,USHORT*);
-WINOLEAUTAPI VarUI2FromR8(DOUBLE,USHORT*);
-WINOLEAUTAPI VarUI2FromDate(DATE,USHORT*);
-WINOLEAUTAPI VarUI2FromStr(OLECHAR*,LCID,ULONG,USHORT*);
-WINOLEAUTAPI VarUI2FromBool(VARIANT_BOOL,USHORT*);
-WINOLEAUTAPI VarUI2FromI1(signed char,USHORT*);
-WINOLEAUTAPI VarUI2FromUI4(ULONG,USHORT*);
-WINOLEAUTAPI VarUI2FromUI8(ULONG64,USHORT*);
-WINOLEAUTAPI VarUI2FromCy(CY,USHORT*);
-WINOLEAUTAPI VarUI2FromDec(DECIMAL*,USHORT*);
-WINOLEAUTAPI VarUI2FromDisp(IDispatch*,LCID,USHORT*);
-
-WINOLEAUTAPI VarUI4FromStr(OLECHAR*,LCID,ULONG,ULONG*);
-WINOLEAUTAPI VarUI4FromUI1(BYTE,ULONG*);
-WINOLEAUTAPI VarUI4FromI2(SHORT,ULONG*);
-WINOLEAUTAPI VarUI4FromI4(LONG,ULONG*);
-WINOLEAUTAPI VarUI4FromI8(LONG64,ULONG*);
-WINOLEAUTAPI VarUI4FromR4(FLOAT,ULONG*);
-WINOLEAUTAPI VarUI4FromR8(DOUBLE,ULONG*);
-WINOLEAUTAPI VarUI4FromDate(DATE,ULONG*);
-WINOLEAUTAPI VarUI4FromBool(VARIANT_BOOL,ULONG*);
-WINOLEAUTAPI VarUI4FromI1(signed char,ULONG*);
-WINOLEAUTAPI VarUI4FromUI2(USHORT,ULONG*);
-WINOLEAUTAPI VarUI4FromUI8(ULONG64,ULONG*);
-WINOLEAUTAPI VarUI4FromCy(CY,ULONG*);
-WINOLEAUTAPI VarUI4FromDec(DECIMAL*,ULONG*);
-WINOLEAUTAPI VarUI4FromDisp(IDispatch*,LCID,ULONG*);
-
-WINOLEAUTAPI VarUI8FromUI1(BYTE,ULONG64*);
-WINOLEAUTAPI VarUI8FromI2(SHORT,ULONG64*);
-WINOLEAUTAPI VarUI8FromI4(LONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromI8(LONG64,ULONG64*);
-WINOLEAUTAPI VarUI8FromR4(FLOAT,ULONG64*);
-WINOLEAUTAPI VarUI8FromR8(DOUBLE,ULONG64*);
-WINOLEAUTAPI VarUI8FromDate(DATE,ULONG64*);
-WINOLEAUTAPI VarUI8FromStr(OLECHAR*,LCID,ULONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromBool(VARIANT_BOOL,ULONG64*);
-WINOLEAUTAPI VarUI8FromI1(signed char,ULONG64*);
-WINOLEAUTAPI VarUI8FromUI2(USHORT,ULONG64*);
-WINOLEAUTAPI VarUI8FromUI4(ULONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromDec(DECIMAL*,ULONG64*);
-WINOLEAUTAPI VarUI8FromInt(INT,ULONG64*);
-WINOLEAUTAPI VarUI8FromCy(CY,ULONG64*);
-WINOLEAUTAPI VarUI8FromDisp(IDispatch*,LCID,ULONG64*);
-
-WINOLEAUTAPI VarDecFromUI1(BYTE,DECIMAL*);
-WINOLEAUTAPI VarDecFromI2(SHORT,DECIMAL*);
-WINOLEAUTAPI VarDecFromI4(LONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromI8(LONG64,DECIMAL*);
-WINOLEAUTAPI VarDecFromR4(FLOAT,DECIMAL*);
-WINOLEAUTAPI VarDecFromR8(DOUBLE,DECIMAL*);
-WINOLEAUTAPI VarDecFromDate(DATE,DECIMAL*);
-WINOLEAUTAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromBool(VARIANT_BOOL,DECIMAL*);
-WINOLEAUTAPI VarDecFromI1(signed char,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI2(USHORT,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI4(ULONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI8(ULONG64,DECIMAL*);
-WINOLEAUTAPI VarDecFromCy(CY,DECIMAL*);
-WINOLEAUTAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*);
-
-WINOLEAUTAPI VarDecNeg(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarR4CmpR8(float,double);
-WINOLEAUTAPI VarR8Pow(double,double,double*);
-WINOLEAUTAPI VarR8Round(double,int,double*);
-WINOLEAUTAPI VarDecAbs(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecCmp(const DECIMAL*,const DECIMAL*);
-WINOLEAUTAPI VarDecCmpR8(const DECIMAL*,DOUBLE);
-WINOLEAUTAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecFix(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecInt(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecRound(const DECIMAL*,int,DECIMAL*);
-WINOLEAUTAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarCyAbs(const CY,CY*);
-WINOLEAUTAPI VarCyAdd(const CY,const CY,CY*);
-WINOLEAUTAPI VarCyCmp(const CY,const CY);
-WINOLEAUTAPI VarCyCmpR8(const CY,DOUBLE);
-WINOLEAUTAPI VarCyFix(const CY,CY*);
-WINOLEAUTAPI VarCyInt(const CY,CY*);
-WINOLEAUTAPI VarCyMul(const CY,CY,CY*);
-WINOLEAUTAPI VarCyMulI4(const CY,LONG,CY*);
-WINOLEAUTAPI VarCyMulI8(const CY,LONG64,CY*);
-WINOLEAUTAPI VarCyNeg(const CY,CY*);
-WINOLEAUTAPI VarCyRound(const CY,INT,CY*);
-WINOLEAUTAPI VarCySub(const CY,const CY,CY*);
-WINOLEAUTAPI VarAdd(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarAnd(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarCat(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarDiv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarEqv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarIdiv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarImp(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarMod(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarMul(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarOr(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarPow(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarSub(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarXor(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarAbs(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarFix(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarInt(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarNeg(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarNot(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarRound(LPVARIANT,int,LPVARIANT);
-WINOLEAUTAPI VarCmp(LPVARIANT,LPVARIANT,LCID,ULONG);
-WINOLEAUTAPI VarBstrCmp(BSTR,BSTR,LCID,ULONG);
-WINOLEAUTAPI VarBstrCat(BSTR,BSTR,BSTR*);
-
-#pragma pack(pop)
-
-#endif
Index: Daodan/MinGW/include/olectl.h
===================================================================
--- Daodan/MinGW/include/olectl.h	(revision 1046)
+++ 	(revision )
@@ -1,323 +1,0 @@
-#ifndef _OLECTL_H
-#define _OLECTL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ocidl.h>
-#include <olectlid.h>
-
-#define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n)
-#define CTL_E_ILLEGALFUNCTIONCALL STD_CTL_SCODE(5)
-#define CTL_E_OVERFLOW STD_CTL_SCODE(6)
-#define CTL_E_OUTOFMEMORY STD_CTL_SCODE(7)
-#define CTL_E_DIVISIONBYZERO STD_CTL_SCODE(11)
-#define CTL_E_OUTOFSTRINGSPACE STD_CTL_SCODE(14)
-#define CTL_E_OUTOFSTACKSPACE STD_CTL_SCODE(28)
-#define CTL_E_BADFILENAMEORNUMBER STD_CTL_SCODE(52)
-#define CTL_E_FILENOTFOUND STD_CTL_SCODE(53)
-#define CTL_E_BADFILEMODE STD_CTL_SCODE(54)
-#define CTL_E_FILEALREADYOPEN STD_CTL_SCODE(55)
-#define CTL_E_DEVICEIOERROR STD_CTL_SCODE(57)
-#define CTL_E_FILEALREADYEXISTS STD_CTL_SCODE(58)
-#define CTL_E_BADRECORDLENGTH STD_CTL_SCODE(59)
-#define CTL_E_DISKFULL STD_CTL_SCODE(61)
-#define CTL_E_BADRECORDNUMBER STD_CTL_SCODE(63)
-#define CTL_E_BADFILENAME STD_CTL_SCODE(64)
-#define CTL_E_TOOMANYFILES STD_CTL_SCODE(67)
-#define CTL_E_DEVICEUNAVAILABLE STD_CTL_SCODE(68)
-#define CTL_E_PERMISSIONDENIED STD_CTL_SCODE(70)
-#define CTL_E_DISKNOTREADY STD_CTL_SCODE(71)
-#define CTL_E_PATHFILEACCESSERROR STD_CTL_SCODE(75)
-#define CTL_E_PATHNOTFOUND STD_CTL_SCODE(76)
-#define CTL_E_INVALIDPATTERNSTRING STD_CTL_SCODE(93)
-#define CTL_E_INVALIDUSEOFNULL STD_CTL_SCODE(94)
-#define CTL_E_INVALIDFILEFORMAT STD_CTL_SCODE(321)
-#define CTL_E_INVALIDPROPERTYVALUE STD_CTL_SCODE(380)
-#define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381)
-#define CTL_E_SETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(382)
-#define CTL_E_SETNOTSUPPORTED STD_CTL_SCODE(383)
-#define CTL_E_NEEDPROPERTYARRAYINDEX STD_CTL_SCODE(385)
-#define CTL_E_SETNOTPERMITTED STD_CTL_SCODE(387)
-#define CTL_E_GETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(393)
-#define CTL_E_GETNOTSUPPORTED STD_CTL_SCODE(394)
-#define CTL_E_PROPERTYNOTFOUND STD_CTL_SCODE(422)
-#define CTL_E_INVALIDCLIPBOARDFORMAT STD_CTL_SCODE(460)
-#define CTL_E_INVALIDPICTURE STD_CTL_SCODE(481)
-#define CTL_E_PRINTERERROR STD_CTL_SCODE(482)
-#define CTL_E_CANTSAVEFILETOTEMP STD_CTL_SCODE(735)
-#define CTL_E_SEARCHTEXTNOTFOUND STD_CTL_SCODE(744)
-#define CTL_E_REPLACEMENTSTOOLONG STD_CTL_SCODE(746)
-#define CUSTOM_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n)
-#define CTL_E_CUSTOM_FIRST CUSTOM_CTL_SCODE(600)
-#define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2)
-#define CONNECT_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define CONNECT_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define CONNECT_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define CONNECT_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define CONNECT_E_NOCONNECTION (CONNECT_E_FIRST+0)
-#define CONNECT_E_ADVISELIMIT (CONNECT_E_FIRST+1)
-#define CONNECT_E_CANNOTCONNECT (CONNECT_E_FIRST+2)
-#define CONNECT_E_OVERRIDDEN (CONNECT_E_FIRST+3)
-#define SELFREG_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define SELFREG_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define SELFREG_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define SELFREG_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define SELFREG_E_TYPELIB (SELFREG_E_FIRST+0)
-#define SELFREG_E_CLASS (SELFREG_E_FIRST+1)
-#define PERPROP_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define PERPROP_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define PERPROP_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define PERPROP_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define PERPROP_E_NOPAGEAVAILABLE PERPROP_E_FIRST
-#define OLEMISC_RECOMPOSEONRESIZE 0x1
-#define OLEMISC_ONLYICONIC 0x2
-#define OLEMISC_INSERTNOTREPLACE 0x4
-#define OLEMISC_STATIC 0x8
-#define OLEMISC_CANTLINKINSIDE 0x10
-#define OLEMISC_CANLINKBYOLE1 0x20
-#define OLEMISC_ISLINKOBJECT 0x40
-#define OLEMISC_INSIDEOUT 0x80
-#define OLEMISC_ACTIVATEWHENVISIBLE 0x100
-#define OLEMISC_RENDERINGISDEVICEINDEPENDENT 0x200
-#define OLEMISC_INVISIBLEATRUNTIME 0x400
-#define OLEMISC_ALWAYSRUN 0x800
-#define OLEMISC_ACTSLIKEBUTTON 0x1000
-#define OLEMISC_ACTSLIKELABEL 0x2000
-#define OLEMISC_NOUIACTIVATE 0x4000
-#define OLEMISC_ALIGNABLE 0x8000
-#define OLEMISC_SIMPLEFRAME 0x10000
-#define OLEMISC_SETCLIENTSITEFIRST 0x20000
-#define OLEMISC_IMEMODE 0x40000
-#define OLEMISC_IGNOREACTIVATEWHENVISIBLE 0x80000
-#define OLEMISC_WANTSTOMENUMERGE 0x100000
-#define OLEMISC_SUPPORTSMULTILEVELUNDO 0x200000
-#define OLEIVERB_PROPERTIES (-7)
-#define VT_STREAMED_PROPSET 73
-#define VT_STORED_PROPSET 74
-#define VT_BLOB_PROPSET 75
-#define VT_VERBOSE_ENUM	76
-#define VT_COLOR VT_I4
-#define VT_XPOS_PIXELS VT_I4
-#define VT_YPOS_PIXELS VT_I4
-#define VT_XSIZE_PIXELS VT_I4
-#define VT_YSIZE_PIXELS VT_I4
-#define VT_XPOS_HIMETRIC VT_I4
-#define VT_YPOS_HIMETRIC VT_I4
-#define VT_XSIZE_HIMETRIC VT_I4
-#define VT_YSIZE_HIMETRIC VT_I4
-#define VT_TRISTATE VT_I2
-#define VT_OPTEXCLUSIVE VT_BOOL
-#define VT_FONT VT_DISPATCH
-#define VT_PICTURE VT_DISPATCH
-#define VT_HANDLE VT_I4
-#define OCM__BASE (WM_USER+0x1c00)
-#define OCM_COMMAND (OCM__BASE+WM_COMMAND)
-#define OCM_CTLCOLORBTN (OCM__BASE+WM_CTLCOLORBTN)
-#define OCM_CTLCOLOREDIT (OCM__BASE+WM_CTLCOLOREDIT)
-#define OCM_CTLCOLORDLG (OCM__BASE+WM_CTLCOLORDLG)
-#define OCM_CTLCOLORLISTBOX (OCM__BASE+WM_CTLCOLORLISTBOX)
-#define OCM_CTLCOLORMSGBOX (OCM__BASE+WM_CTLCOLORMSGBOX)
-#define OCM_CTLCOLORSCROLLBAR (OCM__BASE+WM_CTLCOLORSCROLLBAR)
-#define OCM_CTLCOLORSTATIC (OCM__BASE+WM_CTLCOLORSTATIC)
-#define OCM_DRAWITEM (OCM__BASE+WM_DRAWITEM)
-#define OCM_MEASUREITEM (OCM__BASE+WM_MEASUREITEM)
-#define OCM_DELETEITEM (OCM__BASE+WM_DELETEITEM)
-#define OCM_VKEYTOITEM (OCM__BASE+WM_VKEYTOITEM)
-#define OCM_CHARTOITEM (OCM__BASE+WM_CHARTOITEM)
-#define OCM_COMPAREITEM (OCM__BASE+WM_COMPAREITEM)
-#define OCM_HSCROLL (OCM__BASE+WM_HSCROLL)
-#define OCM_VSCROLL (OCM__BASE+WM_VSCROLL)
-#define OCM_PARENTNOTIFY (OCM__BASE+WM_PARENTNOTIFY)
-#define OCM_NOTIFY (OCM__BASE+WM_NOTIFY)
-#define CTRLINFO_EATS_RETURN 1
-#define CTRLINFO_EATS_ESCAPE 2
-#define XFORMCOORDS_POSITION 1
-#define XFORMCOORDS_SIZE 2
-#define XFORMCOORDS_HIMETRICTOCONTAINER 4
-#define XFORMCOORDS_CONTAINERTOHIMETRIC 8
-#define GUIDKIND_DEFAULT_SOURCE_DISP_IID 1
-#define PROPPAGESTATUS_DIRTY 1
-#define PROPPAGESTATUS_VALIDATE 2
-#define FONTSIZE(n) {n##0000,0}
-#define PICTURE_SCALABLE 1
-#define PICTURE_TRANSPARENT 2
-#define PICTYPE_UNINITIALIZED (-1)
-#define PICTYPE_NONE	0
-#define PICTYPE_BITMAP	1
-#define PICTYPE_METAFILE	2
-#define PICTYPE_ICON	3
-#define PICTYPE_ENHMETAFILE	4
-#define DISPID_AUTOSIZE (-500)
-#define DISPID_BACKCOLOR (-501)
-#define DISPID_BACKSTYLE (-502)
-#define DISPID_BORDERCOLOR (-503)
-#define DISPID_BORDERSTYLE (-504)
-#define DISPID_BORDERWIDTH (-505)
-#define DISPID_DRAWMODE (-507)
-#define DISPID_DRAWSTYLE (-508)
-#define DISPID_DRAWWIDTH (-509)
-#define DISPID_FILLCOLOR (-510)
-#define DISPID_FILLSTYLE (-511)
-#define DISPID_FONT (-512)
-#define DISPID_FORECOLOR (-513)
-#define DISPID_ENABLED (-514)
-#define DISPID_HWND (-515)
-#define DISPID_TABSTOP (-516)
-#define DISPID_TEXT (-517)
-#define DISPID_CAPTION (-518)
-#define DISPID_BORDERVISIBLE (-519)
-#define DISPID_APPEARANCE	(-520)
-#define DISPID_MOUSEPOINTER	(-521)
-#define DISPID_MOUSEICON	(-522)
-#define DISPID_PICTURE	(-523)
-#define DISPID_VALID	(-524)
-#define DISPID_REFRESH (-550)
-#define DISPID_DOCLICK (-551)
-#define DISPID_ABOUTBOX (-552)
-#define DISPID_CLICK (-600)
-#define DISPID_DBLCLICK (-601)
-#define DISPID_KEYDOWN (-602)
-#define DISPID_KEYPRESS (-603)
-#define DISPID_KEYUP (-604)
-#define DISPID_MOUSEDOWN (-605)
-#define DISPID_MOUSEMOVE (-606)
-#define DISPID_MOUSEUP (-607)
-#define DISPID_ERROREVENT (-608)
-#define DISPID_AMBIENT_BACKCOLOR (-701)
-#define DISPID_AMBIENT_DISPLAYNAME (-702)
-#define DISPID_AMBIENT_FONT (-703)
-#define DISPID_AMBIENT_FORECOLOR (-704)
-#define DISPID_AMBIENT_LOCALEID (-705)
-#define DISPID_AMBIENT_MESSAGEREFLECT (-706)
-#define DISPID_AMBIENT_SCALEUNITS (-707)
-#define DISPID_AMBIENT_TEXTALIGN (-708)
-#define DISPID_AMBIENT_USERMODE (-709)
-#define DISPID_AMBIENT_UIDEAD (-710)
-#define DISPID_AMBIENT_SHOWGRABHANDLES (-711)
-#define DISPID_AMBIENT_SHOWHATCHING (-712)
-#define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
-#define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
-#define DISPID_AMBIENT_AUTOCLIP (-715)
-#define DISPID_AMBIENT_APPEARANCE	(-716)
-#define DISPID_AMBIENT_CODEPAGE	(-725)
-#define DISPID_AMBIENT_PALETTE	(-726)
-#define DISPID_AMBIENT_CHARSET	(-727)
-#define DISPID_AMBIENT_RIGHTTOLEFT	(-732)
-#define DISPID_AMBIENT_TOPTOBOTTOM	(-733)
-
-#define DISPID_FONT_NAME 0
-#define DISPID_FONT_SIZE 2
-#define DISPID_FONT_BOLD 3
-#define DISPID_FONT_ITALIC 4
-#define DISPID_FONT_UNDER 5
-#define DISPID_FONT_STRIKE 6
-#define DISPID_FONT_WEIGHT 7
-#define DISPID_FONT_CHARSET 8
-#define DISPID_PICT_HANDLE 0
-#define DISPID_PICT_HPAL 2
-#define DISPID_PICT_TYPE 3
-#define DISPID_PICT_WIDTH 4
-#define DISPID_PICT_HEIGHT 5
-#define DISPID_PICT_RENDER 6
-
-typedef _COM_interface IOleControl *LPOLECONTROL;
-typedef _COM_interface IOleControlSite *LPOLECONTROLSITE;
-typedef _COM_interface ISimpleFrameSite *LPSIMPLEFRAMESITE;
-typedef _COM_interface IPersistPropertyBag *LPPERSISTPROPERTYBAG;
-typedef _COM_interface IPersistStreamInit *LPPERSISTSTREAMINIT;
-typedef _COM_interface IPersistMemory *LPPERSISTMEMORY;
-typedef _COM_interface IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
-typedef _COM_interface IProvideClassInfo *LPPROVIDECLASSINFO;
-typedef _COM_interface IProvideClassInfo2 *LPPROVIDECLASSINFO2;
-typedef _COM_interface IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
-typedef _COM_interface IClassFactory2 *LPCLASSFACTORY2;
-typedef _COM_interface ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
-typedef _COM_interface IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
-typedef _COM_interface IPropertyPage *LPPROPERTYPAGE;
-typedef _COM_interface IPropertyPage2 *LPPROPERTYPAGE2;
-
-typedef _COM_interface IPicture *LPPICTURE;
-typedef _COM_interface IPictureDisp *LPPICTUREDISP;
-typedef long OLE_XPOS_PIXELS;
-typedef long OLE_YPOS_PIXELS;
-typedef long OLE_XSIZE_PIXELS;
-typedef long OLE_YSIZE_PIXELS;
-typedef float OLE_XPOS_CONTAINER;
-typedef float OLE_YPOS_CONTAINER;
-typedef float OLE_XSIZE_CONTAINER;
-
-typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
-typedef VARIANT_BOOL OLE_CANCELBOOL;
-typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
-
-#pragma pack(push,8)
-typedef enum { triUnchecked,triChecked1,triGray } OLE_TRISTATE;
-typedef struct tagOCPFIPARAMS {
-	ULONG cbStructSize;
-	HWND hWndOwner;
-	int x;
-	int y;
-	LPCOLESTR lpszCaption;
-	ULONG cObjects;
-	LPUNKNOWN *lplpUnk;
-	ULONG cPages;
-	CLSID *lpPages;
-	LCID lcid;
-	DISPID dispidInitialProperty;
-} OCPFIPARAMS,*LPOCPFIPARAMS;
-typedef struct tagFONTDESC {
-	UINT cbSizeofstruct;
-	LPOLESTR lpstrName;
-	CY cySize;
-	SHORT sWeight;
-	SHORT sCharset;
-	BOOL fItalic;
-	BOOL fUnderline;
-	BOOL fStrikethrough;
-} FONTDESC,*LPFONTDESC;
-typedef struct tagPICTDESC {
-	UINT cbSizeofstruct;
-	UINT picType;
-	_ANONYMOUS_UNION union {
-		struct {
-			HBITMAP hbitmap;
-			HPALETTE hpal;
-		} bmp;
-		struct {
-			HMETAFILE hmeta;
-			int xExt;
-			int yExt;
-		} wmf;
-		struct {
-			HICON hicon;
-		} icon;
-		struct {
-			HENHMETAFILE hemf;
-		} emf;
-	} DUMMYUNIONNAME;
-} PICTDESC,*LPPICTDESC;
-#pragma pack(pop)
-
-STDAPI DllRegisterServer(void);
-STDAPI DllUnregisterServer(void);
-STDAPI OleCreateFontIndirect(LPFONTDESC,REFIID,PVOID*);
-STDAPI OleCreatePictureIndirect(LPPICTDESC,REFIID,BOOL,PVOID*);
-STDAPI OleCreatePropertyFrame(HWND,UINT,UINT,LPCOLESTR,ULONG,LPUNKNOWN*,ULONG,LPCLSID,LCID,DWORD,PVOID);
-STDAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS);
-STDAPI_(HCURSOR) OleIconToCursor(HINSTANCE,HICON);
-STDAPI OleLoadPicture(LPSTREAM,LONG,BOOL,REFIID,PVOID*);
-STDAPI OleLoadPictureEx(LPSTREAM,LONG,BOOL,REFIID,DWORD,DWORD,DWORD,LPVOID*);
-STDAPI OleLoadPicturePath(LPOLESTR,LPUNKNOWN,DWORD,OLE_COLOR,REFIID,LPVOID*);
-STDAPI OleLoadPictureFile(VARIANT,LPDISPATCH*);
-STDAPI OleLoadPictureFileEx(VARIANT,DWORD,DWORD,DWORD,LPDISPATCH*);
-STDAPI OleSavePictureFile(LPDISPATCH,BSTR);
-STDAPI OleTranslateColor(OLE_COLOR,HPALETTE,COLORREF*);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/olectlid.h
===================================================================
--- Daodan/MinGW/include/olectlid.h	(revision 1046)
+++ 	(revision )
@@ -1,114 +1,0 @@
-#ifndef _OLECTLID_H
-#define _OLECTLID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern const GUID IID_IDispatch;
-extern const GUID IID_IPropertyNotifySink;
-extern const GUID IID_IClassFactory2;
-extern const GUID IID_IProvideClassInfo;
-extern const GUID IID_IProvideClassInfo2;
-extern const GUID IID_IConnectionPointContainer;
-extern const GUID IID_IEnumConnectionPoints;
-extern const GUID IID_IConnectionPoint;
-extern const GUID IID_IEnumConnections;
-extern const GUID IID_IOleControl;
-extern const GUID IID_IOleControlSite;
-extern const GUID IID_ISimpleFrameSite;
-extern const GUID IID_IPersistStreamInit;
-extern const GUID IID_IPersistMemory;
-extern const GUID IID_IPersistPropertyBag;
-extern const GUID IID_IPropertyBag;
-extern const GUID IID_IErrorLog;
-extern const GUID IID_IPropertyFrame;
-extern const GUID IID_ISpecifyPropertyPages;
-extern const GUID IID_IPerPropertyBrowsing;
-extern const GUID IID_IPropertyPageSite;
-extern const GUID IID_IPropertyPage;
-extern const GUID IID_IPropertyPage2;
-extern const GUID CLSID_CFontPropPage;
-extern const GUID CLSID_CColorPropPage;
-extern const GUID CLSID_CPicturePropPage;
-extern const GUID CLSID_PersistPropset;
-extern const GUID CLSID_ConvertVBX;
-extern const GUID CLSID_StdFont;
-extern const GUID CLSID_StdPicture;
-extern const GUID IID_IFont;
-extern const GUID IID_IFontDisp;
-extern const GUID IID_IPicture;
-extern const GUID IID_IPictureDisp;
-extern const GUID GUID_HIMETRIC;
-extern const GUID GUID_COLOR;
-extern const GUID GUID_XPOSPIXEL;
-extern const GUID GUID_YPOSPIXEL;
-extern const GUID GUID_XSIZEPIXEL;
-extern const GUID GUID_YSIZEPIXEL;
-extern const GUID GUID_XPOS;
-extern const GUID GUID_YPOS;
-extern const GUID GUID_XSIZE;
-extern const GUID GUID_YSIZE;
-extern const GUID GUID_TRISTATE;
-extern const GUID GUID_OPTIONVALUEEXCLUSIVE;
-extern const GUID GUID_CHECKVALUEEXCLUSIVE;
-extern const GUID GUID_FONTNAME;
-extern const GUID GUID_FONTSIZE;
-extern const GUID GUID_FONTBOLD;
-extern const GUID GUID_FONTITALIC;
-extern const GUID GUID_FONTUNDERSCORE;
-extern const GUID GUID_FONTSTRIKETHROUGH;
-extern const GUID GUID_HANDLE;
-extern const GUID IID_IEnumUnknown;
-extern const GUID IID_IEnumString;
-extern const GUID IID_IEnumMoniker;
-extern const GUID IID_IEnumFORMATETC;
-extern const GUID IID_IEnumOLEVERB;
-extern const GUID IID_IEnumSTATDATA;
-extern const GUID IID_IEnumSTATSTG;
-extern const GUID IID_IEnumGeneric;
-extern const GUID IID_IEnumHolder;
-extern const GUID IID_IEnumCallback;
-extern const GUID IID_IPersistStream;
-extern const GUID IID_IPersistStorage;
-extern const GUID IID_IPersistFile;
-extern const GUID IID_IPersist;
-extern const GUID IID_IViewObject;
-extern const GUID IID_IDataObject;
-extern const GUID IID_IAdviseSink;
-extern const GUID IID_IDataAdviseHolder;
-extern const GUID IID_IOleAdviseHolder;
-extern const GUID IID_IOleObject;
-extern const GUID IID_IOleInPlaceObject;
-extern const GUID IID_IOleWindow;
-extern const GUID IID_IOleInPlaceUIWindow;
-extern const GUID IID_IOleInPlaceFrame;
-extern const GUID IID_IOleInPlaceActiveObject;
-extern const GUID IID_IOleClientSite;
-extern const GUID IID_IOleInPlaceSite;
-extern const GUID IID_IParseDisplayName;
-extern const GUID IID_IOleContainer;
-extern const GUID IID_IOleItemContainer;
-extern const GUID IID_IOleLink;
-extern const GUID IID_IOleCache;
-extern const GUID IID_IOleManager;
-extern const GUID IID_IOlePresObj;
-extern const GUID IID_IDropSource;
-extern const GUID IID_IDropTarget;
-extern const GUID IID_IDebug;
-extern const GUID IID_IDebugStream;
-extern const GUID IID_IAdviseSink2;
-extern const GUID IID_IRunnableObject;
-extern const GUID IID_IViewObject2;
-extern const GUID IID_IOleCache2;
-extern const GUID IID_IOleCacheControl;
-extern const GUID CLSID_Picture_Metafile;
-extern const GUID CLSID_Picture_Dib;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/oledlg.h
===================================================================
--- Daodan/MinGW/include/oledlg.h	(revision 1046)
+++ 	(revision )
@@ -1,935 +1,0 @@
-#ifndef _OLEDLG_H
-#define _OLEDLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <windows.h>
-#include <shellapi.h>
-#include <commdlg.h>
-#include <ole2.h>
-#include <string.h>
-/* #include <tchar.h> */
-#include <dlgs.h>
-#include <prsht.h>
-#define PS_MAXLINKTYPES 8
-#define OLESTDDELIM TEXT("\\")
-#define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP")
-#define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG")
-#define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE")
-#define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON")
-#define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG")
-#define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT")
-#define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE")
-#define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL")
-#define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN")
-#define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG")
-#define IDC_OLEUIHELP 99
-#define IDC_IO_CREATENEW 2100
-#define IDC_IO_CREATEFROMFILE 2101
-#define IDC_IO_LINKFILE 2102
-#define IDC_IO_OBJECTTYPELIST 2103
-#define IDC_IO_DISPLAYASICON 2104
-#define IDC_IO_CHANGEICON 2105
-#define IDC_IO_FILE 2106
-#define IDC_IO_FILEDISPLAY 2107
-#define IDC_IO_RESULTIMAGE 2108
-#define IDC_IO_RESULTTEXT 2109
-#define IDC_IO_ICONDISPLAY 2110
-#define IDC_IO_OBJECTTYPETEXT 2111
-#define IDC_IO_FILETEXT 2112
-#define IDC_IO_FILETYPE 2113
-#define IDC_IO_INSERTCONTROL 2114
-#define IDC_IO_ADDCONTROL 2115
-#define IDC_IO_CONTROLTYPELIST 2116
-#define IDC_PS_PASTE 500
-#define IDC_PS_PASTELINK 501
-#define IDC_PS_SOURCETEXT 502
-#define IDC_PS_PASTELIST 503
-#define IDC_PS_PASTELINKLIST 504
-#define IDC_PS_DISPLAYLIST 505
-#define IDC_PS_DISPLAYASICON 506
-#define IDC_PS_ICONDISPLAY 507
-#define IDC_PS_CHANGEICON 508
-#define IDC_PS_RESULTIMAGE 509
-#define IDC_PS_RESULTTEXT 510
-#define IDC_CI_GROUP 120
-#define IDC_CI_CURRENT 121
-#define IDC_CI_CURRENTICON 122
-#define IDC_CI_DEFAULT 123
-#define IDC_CI_DEFAULTICON 124
-#define IDC_CI_FROMFILE 125
-#define IDC_CI_FROMFILEEDIT 126
-#define IDC_CI_ICONLIST 127
-#define IDC_CI_LABEL 128
-#define IDC_CI_LABELEDIT 129
-#define IDC_CI_BROWSE 130
-#define IDC_CI_ICONDISPLAY 131
-#define IDC_CV_OBJECTTYPE 150
-#define IDC_CV_DISPLAYASICON 152
-#define IDC_CV_CHANGEICON 153
-#define IDC_CV_ACTIVATELIST 154
-#define IDC_CV_CONVERTTO 155
-#define IDC_CV_ACTIVATEAS 156
-#define IDC_CV_RESULTTEXT 157
-#define IDC_CV_CONVERTLIST 158
-#define IDC_CV_ICONDISPLAY 165
-#define IDC_EL_CHANGESOURCE 201
-#define IDC_EL_AUTOMATIC 202
-#define IDC_EL_CANCELLINK 209
-#define IDC_EL_UPDATENOW 210
-#define IDC_EL_OPENSOURCE 211
-#define IDC_EL_MANUAL 212
-#define IDC_EL_LINKSOURCE 216
-#define IDC_EL_LINKTYPE 217
-#define IDC_EL_LINKSLISTBOX 206
-#define IDC_EL_COL1 220
-#define IDC_EL_COL2 221
-#define IDC_EL_COL3 222
-#define IDC_BZ_RETRY 600
-#define IDC_BZ_ICON 601
-#define IDC_BZ_MESSAGE1 602
-#define IDC_BZ_SWITCHTO 604
-#define IDC_UL_METER 1029
-#define IDC_UL_STOP 1030
-#define IDC_UL_PERCENT 1031
-#define IDC_UL_PROGRESS 1032
-#define IDC_PU_LINKS 900
-#define IDC_PU_TEXT 901
-#define IDC_PU_CONVERT 902
-#define IDC_PU_ICON 908
-#define IDC_GP_OBJECTNAME 1009
-#define IDC_GP_OBJECTTYPE 1010
-#define IDC_GP_OBJECTSIZE 1011
-#define IDC_GP_CONVERT 1013
-#define IDC_GP_OBJECTICON 1014
-#define IDC_GP_OBJECTLOCATION 1022
-#define IDC_VP_PERCENT 1000
-#define IDC_VP_CHANGEICON 1001
-#define IDC_VP_EDITABLE 1002
-#define IDC_VP_ASICON 1003
-#define IDC_VP_RELATIVE 1005
-#define IDC_VP_SPIN 1006
-#define IDC_VP_SCALETXT 1034
-#define IDC_VP_ICONDISPLAY 1021
-#define IDC_VP_RESULTIMAGE 1033
-#define IDC_LP_OPENSOURCE 1006
-#define IDC_LP_UPDATENOW 1007
-#define IDC_LP_BREAKLINK 1008
-#define IDC_LP_LINKSOURCE 1012
-#define IDC_LP_CHANGESOURCE 1015
-#define IDC_LP_AUTOMATIC 1016
-#define IDC_LP_MANUAL 1017
-#define IDC_LP_DATE 1018
-#define IDC_LP_TIME 1019
-#define IDD_INSERTOBJECT 1000
-#define IDD_CHANGEICON 1001
-#define IDD_CONVERT 1002
-#define IDD_PASTESPECIAL 1003
-#define IDD_EDITLINKS 1004
-#define IDD_BUSY 1006
-#define IDD_UPDATELINKS 1007
-#define IDD_CHANGESOURCE 1009
-#define IDD_INSERTFILEBROWSE 1010
-#define IDD_CHANGEICONBROWSE 1011
-#define IDD_CONVERTONLY 1012
-#define IDD_CHANGESOURCE4 1013
-#define IDD_GNRLPROPS 1100
-#define IDD_VIEWPROPS 1101
-#define IDD_LINKPROPS 1102
-#define IDD_CANNOTUPDATELINK 1008
-#define IDD_LINKSOURCEUNAVAILABLE 1020
-#define IDD_SERVERNOTFOUND 1023
-#define IDD_OUTOFMEMORY 1024
-#define IDD_SERVERNOTREGW 1021
-#define IDD_LINKTYPECHANGEDW 1022
-#define IDD_SERVERNOTREGA 1025
-#define IDD_LINKTYPECHANGEDA 1026
-#define ID_BROWSE_CHANGEICON 1
-#define ID_BROWSE_INSERTFILE 2
-#define ID_BROWSE_ADDCONTROL 3
-#define ID_BROWSE_CHANGESOURCE 4
-#define OLEUI_FALSE 0
-#define OLEUI_SUCCESS 1
-#define OLEUI_OK 1
-#define OLEUI_CANCEL 2
-#define OLEUI_ERR_STANDARDMIN 100
-#define OLEUI_ERR_STRUCTURENULL 101
-#define OLEUI_ERR_STRUCTUREINVALID 102
-#define OLEUI_ERR_CBSTRUCTINCORRECT 103
-#define OLEUI_ERR_HWNDOWNERINVALID 104
-#define OLEUI_ERR_LPSZCAPTIONINVALID 105
-#define OLEUI_ERR_LPFNHOOKINVALID 106
-#define OLEUI_ERR_HINSTANCEINVALID 107
-#define OLEUI_ERR_LPSZTEMPLATEINVALID 108
-#define OLEUI_ERR_HRESOURCEINVALID 109
-#define OLEUI_ERR_FINDTEMPLATEFAILURE 110
-#define OLEUI_ERR_LOADTEMPLATEFAILURE 111
-#define OLEUI_ERR_DIALOGFAILURE 112
-#define OLEUI_ERR_LOCALMEMALLOC 113
-#define OLEUI_ERR_GLOBALMEMALLOC 114
-#define OLEUI_ERR_LOADSTRING 115
-#define OLEUI_ERR_OLEMEMALLOC 116
-#define OLEUI_ERR_STANDARDMAX 116
-#define OPF_OBJECTISLINK 1
-#define OPF_NOFILLDEFAULT 2
-#define OPF_SHOWHELP 4
-#define OPF_DISABLECONVERT 8
-#define OLEUI_OPERR_SUBPROPNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7)
-#define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8)
-#define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9)
-#define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10)
-#define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11)
-#define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12)
-#define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13)
-#define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14)
-#define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15)
-#define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16)
-#define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17)
-#define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18)
-#define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19)
-#define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20)
-#define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21)
-#define OLEUI_QUERY_GETCLASSID 65280
-#define OLEUI_QUERY_LINKBROKEN 65281
-#define IOF_SHOWHELP 1
-#define IOF_SELECTCREATENEW 2
-#define IOF_SELECTCREATEFROMFILE 4
-#define IOF_CHECKLINK 8
-#define IOF_CHECKDISPLAYASICON 16
-#define IOF_CREATENEWOBJECT 32
-#define IOF_CREATEFILEOBJECT 64
-#define IOF_CREATELINKOBJECT 128
-#define IOF_DISABLELINK 256
-#define IOF_VERIFYSERVERSEXIST 512
-#define IOF_DISABLEDISPLAYASICON 1024
-#define IOF_HIDECHANGEICON 2048
-#define IOF_SHOWINSERTCONTROL 4096
-#define IOF_SELECTCREATECONTROL 8192
-#define OLEUI_IOERR_LPSZFILEINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7)
-#define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8)
-#define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9)
-#define PSF_SHOWHELP 1
-#define PSF_SELECTPASTE 2
-#define PSF_SELECTPASTELINK 4
-#define PSF_CHECKDISPLAYASICON 8
-#define PSF_DISABLEDISPLAYASICON 16
-#define PSF_HIDECHANGEICON 32
-#define PSF_STAYONCLIPBOARDCHANGE 64
-#define PSF_NOREFRESHDATAOBJECT 128
-#define OLEUI_IOERR_SRCDATAOBJECTINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_ELERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define ELF_SHOWHELP 1
-#define ELF_DISABLEUPDATENOW 2
-#define ELF_DISABLEOPENSOURCE 4
-#define ELF_DISABLECHANGESOURCE 8
-#define ELF_DISABLECANCELLINK 16
-#define CIF_SHOWHELP 1
-#define CIF_SELECTCURRENT 2
-#define CIF_SELECTDEFAULT 4
-#define CIF_SELECTFROMFILE 8
-#define CIF_USEICONEXE 16
-#define OLEUI_CIERR_MUSTHAVECLSID OLEUI_ERR_STANDARDMAX
-#define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define CF_SHOWHELPBUTTON 1
-#define CF_SETCONVERTDEFAULT 2
-#define CF_SETACTIVATEDEFAULT 4
-#define CF_SELECTCONVERTTO 8
-#define CF_SELECTACTIVATEAS 16
-#define CF_DISABLEDISPLAYASICON 32
-#define CF_DISABLEACTIVATEAS 64
-#define CF_HIDECHANGEICON 128
-#define CF_CONVERTONLY 256
-#define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define BZ_DISABLECANCELBUTTON 1
-#define BZ_DISABLESWITCHTOBUTTON 2
-#define BZ_DISABLERETRYBUTTON 4
-#define BZ_NOTRESPONDINGDIALOG 8
-#define OLEUI_BZERR_HTASKINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
-#define CSF_SHOWHELP 1
-#define CSF_VALIDSOURCE 2
-#define CSF_ONLYGETSOURCE 4
-#define CSF_EXPLORER 8
-#define OLEUI_CSERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+7)
-#define VPF_SELECTRELATIVE 1
-#define VPF_DISABLERELATIVE 2
-#define VPF_DISABLESCALE 4
-
-#ifndef RC_INVOKED
-#pragma pack(push, 8)
-typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
-typedef struct tagOLEUIINSERTOBJECTW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	CLSID clsid;
-	LPWSTR lpszFile;
-	UINT cchFile;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-	IID iid;
-	DWORD oleRender;
-	LPFORMATETC lpFormatEtc;
-	LPOLECLIENTSITE lpIOleClientSite;
-	LPSTORAGE lpIStorage;
-	PVOID *ppvObj;
-	SCODE sc;
-	HGLOBAL hMetaPict;
-} OLEUIINSERTOBJECTW,*POLEUIINSERTOBJECTW,*LPOLEUIINSERTOBJECTW;
-typedef struct tagOLEUIINSERTOBJECTA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	CLSID clsid;
-	LPSTR lpszFile;
-	UINT cchFile;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-	IID iid;
-	DWORD oleRender;
-	LPFORMATETC lpFormatEtc;
-	LPOLECLIENTSITE lpIOleClientSite;
-	LPSTORAGE lpIStorage;
-	PVOID *ppvObj;
-	SCODE sc;
-	HGLOBAL hMetaPict;
-} OLEUIINSERTOBJECTA,*POLEUIINSERTOBJECTA,*LPOLEUIINSERTOBJECTA;
-STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
-STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
-typedef enum tagOLEUIPASTEFLAG {
-	OLEUIPASTE_PASTEONLY,
-	OLEUIPASTE_LINKTYPE1,
-	OLEUIPASTE_LINKTYPE2,
-	OLEUIPASTE_LINKTYPE3=4,
-	OLEUIPASTE_LINKTYPE4=8,
-	OLEUIPASTE_LINKTYPE5=16,
-	OLEUIPASTE_LINKTYPE6=32,
-	OLEUIPASTE_LINKTYPE7=64,
-	OLEUIPASTE_LINKTYPE8=128,
-	OLEUIPASTE_PASTE=512,
-	OLEUIPASTE_LINKANYTYPE=1024,
-	OLEUIPASTE_ENABLEICON=2048
-} OLEUIPASTEFLAG;
-typedef struct tagOLEUIPASTEENTRYW {
-	FORMATETC fmtetc;
-	LPCWSTR lpstrFormatName;
-	LPCWSTR lpstrResultText;
-	DWORD dwFlags;
-	DWORD dwScratchSpace;
-} OLEUIPASTEENTRYW,*POLEUIPASTEENTRYW,*LPOLEUIPASTEENTRYW;
-typedef struct tagOLEUIPASTEENTRYA {
-	FORMATETC fmtetc;
-	LPCSTR lpstrFormatName;
-	LPCSTR lpstrResultText;
-	DWORD dwFlags;
-	DWORD dwScratchSpace;
-} OLEUIPASTEENTRYA,*POLEUIPASTEENTRYA,*LPOLEUIPASTEENTRYA;
-typedef struct tagOLEUIPASTESPECIALW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	LPDATAOBJECT lpSrcDataObj;
-	LPOLEUIPASTEENTRYW arrPasteEntries;
-	int cPasteEntries;
-	UINT *arrLinkTypes;
-	int cLinkTypes;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-	int nSelectedIndex;
-	BOOL fLink;
-	HGLOBAL hMetaPict;
-	SIZEL sizel;
-} OLEUIPASTESPECIALW,*POLEUIPASTESPECIALW,*LPOLEUIPASTESPECIALW;
-typedef struct tagOLEUIPASTESPECIALA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	LPDATAOBJECT lpSrcDataObj;
-	LPOLEUIPASTEENTRYA arrPasteEntries;
-	int cPasteEntries;
-	UINT *arrLinkTypes;
-	int cLinkTypes;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-	int nSelectedIndex;
-	BOOL fLink;
-	HGLOBAL hMetaPict;
-	SIZEL sizel;
-} OLEUIPASTESPECIALA,*POLEUIPASTESPECIALA,*LPOLEUIPASTESPECIALA;
-#define INTERFACE IOleUILinkContainerW
-DECLARE_INTERFACE_(IOleUILinkContainerW, IUnknown)
-{
-	STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-	STDMETHOD_(ULONG,Release) (THIS) PURE;
-	STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
-	STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE;
-	STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE;
-	STDMETHOD(SetLinkSource) (THIS_ DWORD, LPWSTR,ULONG,PULONG,BOOL) PURE;
-	STDMETHOD(GetLinkSource) (THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE;
-	STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE;
-	STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE;
-	STDMETHOD(CancelLink) (THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-typedef IOleUILinkContainerW *LPOLEUILINKCONTAINERW;
-#define INTERFACE IOleUILinkContainerA
-DECLARE_INTERFACE_(IOleUILinkContainerA, IUnknown)
-{
-	STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-	STDMETHOD_(ULONG,Release) (THIS) PURE;
-	STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD) PURE;
-	STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE;
-	STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE;
-	STDMETHOD(SetLinkSource) (THIS_ DWORD, LPSTR,ULONG,PULONG,BOOL) PURE;
-	STDMETHOD(GetLinkSource) (THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE;
-	STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE;
-	STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE;
-	STDMETHOD(CancelLink) (THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-typedef IOleUILinkContainerA *LPOLEUILINKCONTAINERA;
-typedef struct tagOLEUIEDITLINKSW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	LPOLEUILINKCONTAINERW lpOleUILinkContainer;
-} OLEUIEDITLINKSW,*POLEUIEDITLINKSW,*LPOLEUIEDITLINKSW;
-typedef struct tagOLEUIEDITLINKSA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	LPOLEUILINKCONTAINERA lpOleUILinkContainer;
-} OLEUIEDITLINKSA,*POLEUIEDITLINKSA,*LPOLEUIEDITLINKSA;
-typedef struct tagOLEUICHANGEICONW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	HGLOBAL hMetaPict;
-	CLSID clsid;
-	WCHAR szIconExe[MAX_PATH];
-	int cchIconExe;
-} OLEUICHANGEICONW,*POLEUICHANGEICONW,*LPOLEUICHANGEICONW;
-typedef struct tagOLEUICHANGEICONA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	HGLOBAL hMetaPict;
-	CLSID clsid;
-	CHAR szIconExe[MAX_PATH];
-	int cchIconExe;
-} OLEUICHANGEICONA,*POLEUICHANGEICONA,*LPOLEUICHANGEICONA;
-typedef struct tagOLEUICONVERTW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	CLSID clsid;
-	CLSID clsidConvertDefault;
-	CLSID clsidActivateDefault;
-	CLSID clsidNew;
-	DWORD dvAspect;
-	WORD wFormat;
-	BOOL fIsLinkedObject;
-	HGLOBAL hMetaPict;
-	LPWSTR lpszUserType;
-	BOOL fObjectsIconChanged;
-	LPWSTR lpszDefLabel;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-} OLEUICONVERTW,*POLEUICONVERTW,*LPOLEUICONVERTW;
-typedef struct tagOLEUICONVERTA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	CLSID clsid;
-	CLSID clsidConvertDefault;
-	CLSID clsidActivateDefault;
-	CLSID clsidNew;
-	DWORD dvAspect;
-	WORD wFormat;
-	BOOL fIsLinkedObject;
-	HGLOBAL hMetaPict;
-	LPSTR lpszUserType;
-	BOOL fObjectsIconChanged;
-	LPSTR lpszDefLabel;
-	UINT cClsidExclude;
-	LPCLSID lpClsidExclude;
-} OLEUICONVERTA,*POLEUICONVERTA,*LPOLEUICONVERTA;
-typedef struct tagOLEUIBUSYW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	HTASK hTask;
-	HWND *lphWndDialog;
-} OLEUIBUSYW,*POLEUIBUSYW,*LPOLEUIBUSYW;
-typedef struct tagOLEUIBUSYA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	HTASK hTask;
-	HWND *lphWndDialog;
-} OLEUIBUSYA,*POLEUIBUSYA,*LPOLEUIBUSYA;
-typedef struct tagOLEUICHANGESOURCEW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCWSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCWSTR lpszTemplate;
-	HRSRC hResource;
-	OPENFILENAMEW* lpOFN;
-	DWORD dwReserved1[4];
-	LPOLEUILINKCONTAINERW lpOleUILinkContainer;
-	DWORD dwLink;
-	LPWSTR lpszDisplayName;
-	ULONG nFileLength;
-	LPWSTR lpszFrom;
-	LPWSTR lpszTo;
-} OLEUICHANGESOURCEW,*POLEUICHANGESOURCEW,*LPOLEUICHANGESOURCEW;
-typedef struct tagOLEUICHANGESOURCEA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	HWND hWndOwner;
-	LPCSTR lpszCaption;
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	HINSTANCE hInstance;
-	LPCSTR lpszTemplate;
-	HRSRC hResource;
-	OPENFILENAMEA *lpOFN;
-	DWORD dwReserved1[4];
-	LPOLEUILINKCONTAINERA lpOleUILinkContainer;
-	DWORD dwLink;
-	LPSTR lpszDisplayName;
-	ULONG nFileLength;
-	LPSTR lpszFrom;
-	LPSTR lpszTo;
-} OLEUICHANGESOURCEA,*POLEUICHANGESOURCEA,*LPOLEUICHANGESOURCEA;
-#define INTERFACE IOleUIObjInfoW
-DECLARE_INTERFACE_(IOleUIObjInfoW, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPWSTR*,LPWSTR*,LPWSTR*,LPWSTR*) PURE;
-	STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE;
-	STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE;
-	STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE;
-	STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE;
-};
-#undef INTERFACE
-typedef IOleUIObjInfoW *LPOLEUIOBJINFOW;
-#define INTERFACE IOleUIObjInfoA
-DECLARE_INTERFACE_(IOleUIObjInfoA, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPSTR*,LPSTR*,LPSTR*,LPSTR*) PURE;
-	STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE;
-	STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE;
-	STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE;
-	STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE;
-};
-#undef INTERFACE
-typedef IOleUIObjInfoA *LPOLEUIOBJINFOA;
-#define INTERFACE IOleUILinkInfoW
-DECLARE_INTERFACE_(IOleUILinkInfoW, IOleUILinkContainerW)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE;
-	STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE;
-	STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE;
-	STDMETHOD(SetLinkSource)(THIS_ DWORD,LPWSTR,ULONG,PULONG,BOOL) PURE;
-	STDMETHOD(GetLinkSource)(THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE;
-	STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE;
-	STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE;
-	STDMETHOD(CancelLink)(THIS_ DWORD) PURE;
-	STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE;
-};
-#undef INTERFACE
-typedef IOleUILinkInfoW *LPOLEUILINKINFOW;
-#define INTERFACE IOleUILinkInfoA
-DECLARE_INTERFACE_(IOleUILinkInfoA, IOleUILinkContainerA)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE;
-	STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE;
-	STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE;
-	STDMETHOD(SetLinkSource)(THIS_ DWORD,LPSTR,ULONG,PULONG,BOOL) PURE;
-	STDMETHOD(GetLinkSource)(THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE;
-	STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE;
-	STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE;
-	STDMETHOD(CancelLink)(THIS_ DWORD) PURE;
-	STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE;
-};
-#undef INTERFACE
-typedef IOleUILinkInfoA* LPOLEUILINKINFOA;
-struct tagOLEUIOBJECTPROPSW;
-struct tagOLEUIOBJECTPROPSA;
-typedef struct tagOLEUIGNRLPROPSW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSW* lpOP;
-} OLEUIGNRLPROPSW,*POLEUIGNRLPROPSW,*LPOLEUIGNRLPROPSW;
-typedef struct tagOLEUIGNRLPROPSA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSA* lpOP;
-} OLEUIGNRLPROPSA,*POLEUIGNRLPROPSA,*LPOLEUIGNRLPROPSA;
-typedef struct tagOLEUIVIEWPROPSW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSW* lpOP;
-	int nScaleMin;
-	int nScaleMax;
-} OLEUIVIEWPROPSW,*POLEUIVIEWPROPSW,*LPOLEUIVIEWPROPSW;
-typedef struct tagOLEUIVIEWPROPSA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSA *lpOP;
-	int nScaleMin;
-	int nScaleMax;
-} OLEUIVIEWPROPSA,*POLEUIVIEWPROPSA,*LPOLEUIVIEWPROPSA;
-typedef struct tagOLEUILINKPROPSW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSW *lpOP;
-} OLEUILINKPROPSW, *POLEUILINKPROPSW,* LPOLEUILINKPROPSW;
-typedef struct tagOLEUILINKPROPSA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	DWORD dwReserved1[2];
-	LPFNOLEUIHOOK lpfnHook;
-	LPARAM lCustData;
-	DWORD dwReserved2[3];
-	struct tagOLEUIOBJECTPROPSA* lpOP;
-} OLEUILINKPROPSA,*POLEUILINKPROPSA,*LPOLEUILINKPROPSA;
-typedef struct tagOLEUIOBJECTPROPSW {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	LPPROPSHEETHEADERW lpPS;
-	DWORD dwObject;
-	LPOLEUIOBJINFOW lpObjInfo;
-	DWORD dwLink;
-	LPOLEUILINKINFOW lpLinkInfo;
-	LPOLEUIGNRLPROPSW lpGP;
-	LPOLEUIVIEWPROPSW lpVP;
-	LPOLEUILINKPROPSW lpLP;
-} OLEUIOBJECTPROPSW,*POLEUIOBJECTPROPSW,*LPOLEUIOBJECTPROPSW;
-typedef struct tagOLEUIOBJECTPROPSA {
-	DWORD cbStruct;
-	DWORD dwFlags;
-	LPPROPSHEETHEADERA lpPS;
-	DWORD dwObject;
-	LPOLEUIOBJINFOA lpObjInfo;
-	DWORD dwLink;
-	LPOLEUILINKINFOA lpLinkInfo;
-	LPOLEUIGNRLPROPSA lpGP;
-	LPOLEUIVIEWPROPSA lpVP;
-	LPOLEUILINKPROPSA lpLP;
-} OLEUIOBJECTPROPSA,*POLEUIOBJECTPROPSA,*LPOLEUIOBJECTPROPSA;
-
-STDAPI_(BOOL) OleUIAddVerbMenuW(LPOLEOBJECT,LPCWSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*);
-STDAPI_(BOOL) OleUIAddVerbMenuA(LPOLEOBJECT,LPCSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*);
-STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW);
-STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA);
-STDAPI_(BOOL) OleUICanConvertOrActivateAs(REFCLSID,BOOL,WORD);
-STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW);
-STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA);
-STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
-STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
-STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW);
-STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA);
-STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW);
-STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA);
-STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
-STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
-STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW);
-STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA);
-int OleUIPromptUserW(int,HWND,...);
-int OleUIPromptUserA(int,HWND,...);
-STDAPI_(BOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW,HWND,LPWSTR,int);
-STDAPI_(BOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA,HWND,LPSTR,int);
-
-#ifdef UNICODE
-#define IDD_SERVERNOTREG IDD_SERVERNOTREGW
-#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDW
-#define OleUIUpdateLinks OleUIUpdateLinksW
-#define OleUIAddVerbMenu OleUIAddVerbMenuW
-#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSW
-#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSW
-#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSW
-#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSW
-#define OleUIObjectProperties OleUIObjectPropertiesW
-#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTW
-#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTW
-#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTW
-#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTW
-#define OleUIInsertObject OleUIInsertObjectW
-#define OleUIPromptUser OleUIPromptUserW
-#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYW
-#define OLEUIPASTEENTRY OLEUIPASTEENTRYW
-#define POLEUIPASTEENTRY POLEUIPASTEENTRYW
-#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYW
-#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALW
-#define OLEUIPASTESPECIAL OLEUIPASTESPECIALW
-#define POLEUIPASTESPECIAL POLEUIPASTESPECIALW
-#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALW
-#define OleUIPasteSpecial OleUIPasteSpecialW
-#define IOleUILinkContainer IOleUILinkContainerW
-#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERW
-#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSW
-#define OLEUIEDITLINKS OLEUIEDITLINKSW
-#define POLEUIEDITLINKS POLEUIEDITLINKSW
-#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSW
-#define OleUIEditLinks OleUIEditLinksW
-#define tagOLEUICHANGEICON tagOLEUICHANGEICONW
-#define OLEUICHANGEICON OLEUICHANGEICONW
-#define POLEUICHANGEICON POLEUICHANGEICONW
-#define LPOLEUICHANGEICON LPOLEUICHANGEICONW
-#define OleUIChangeIcon OleUIChangeIconW
-#define tagOLEUICONVERT tagOLEUICONVERTW
-#define OLEUICONVERT OLEUICONVERTW
-#define POLEUICONVERT POLEUICONVERTW
-#define LPOLEUICONVERT LPOLEUICONVERTW
-#define OleUIConvert OleUIConvertW
-#define tagOLEUIBUSY tagOLEUIBUSYW
-#define OLEUIBUSY OLEUIBUSYW
-#define POLEUIBUSY POLEUIBUSYW
-#define LPOLEUIBUSY LPOLEUIBUSYW
-#define OleUIBusy OleUIBusyW
-#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEW
-#define OLEUICHANGESOURCE OLEUICHANGESOURCEW
-#define POLEUICHANGESOURCE POLEUICHANGESOURCEW
-#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEW
-#define OleUIChangeSource OleUIChangeSourceW
-#define IOleUIObjInfo IOleUIObjInfoW
-#define LPOLEUIOBJINFO LPOLEUIOBJINFOW
-#define IOleUILinkInfo IOleUILinkInfoW
-#define IOleUILinkInfoVtbl IOleUILinkInfoWVtbl
-#define LPOLEUILINKINFO LPOLEUILINKINFOW
-#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSW
-#define OLEUIGNRLPROPS OLEUIGNRLPROPSW
-#define POLEUIGNRLPROPS POLEUIGNRLPROPSW
-#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSW
-#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSW
-#define OLEUIVIEWPROPS OLEUIVIEWPROPSW
-#define POLEUIVIEWPROPS POLEUIVIEWPROPSW
-#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSW
-#define tagOLEUILINKPROPS tagOLEUILINKPROPSW
-#define OLEUILINKPROPS OLEUILINKPROPSW
-#define POLEUILINKPROPS POLEUILINKPROPSW
-#define LPOLEUILINKPROPS LPOLEUILINKPROPSW
-#else
-#define IDD_SERVERNOTREG IDD_SERVERNOTREGA
-#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDA
-#define OleUIUpdateLinks OleUIUpdateLinksA
-#define OleUIAddVerbMenu OleUIAddVerbMenuA
-#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSA
-#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSA
-#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSA
-#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSA
-#define OleUIObjectProperties OleUIObjectPropertiesA
-#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTA
-#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTA
-#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTA
-#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTA
-#define OleUIInsertObject OleUIInsertObjectA
-#define OleUIPromptUser OleUIPromptUserA
-#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYA
-#define OLEUIPASTEENTRY OLEUIPASTEENTRYA
-#define POLEUIPASTEENTRY POLEUIPASTEENTRYA
-#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYA
-#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALA
-#define OLEUIPASTESPECIAL OLEUIPASTESPECIALA
-#define POLEUIPASTESPECIAL POLEUIPASTESPECIALA
-#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALA
-#define OleUIPasteSpecial OleUIPasteSpecialA
-#define IOleUILinkContainer IOleUILinkContainerA
-#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERA
-#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSA
-#define OLEUIEDITLINKS OLEUIEDITLINKSA
-#define POLEUIEDITLINKS POLEUIEDITLINKSA
-#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSA
-#define OleUIEditLinks OleUIEditLinksA
-#define tagOLEUICHANGEICON tagOLEUICHANGEICONA
-#define OLEUICHANGEICON OLEUICHANGEICONA
-#define POLEUICHANGEICON POLEUICHANGEICONA
-#define LPOLEUICHANGEICON LPOLEUICHANGEICONA
-#define OleUIChangeIcon OleUIChangeIconA
-#define tagOLEUICONVERT tagOLEUICONVERTA
-#define OLEUICONVERT OLEUICONVERTA
-#define POLEUICONVERT POLEUICONVERTA
-#define LPOLEUICONVERT LPOLEUICONVERTA
-#define OleUIConvert OleUIConvertA
-#define tagOLEUIBUSY tagOLEUIBUSYA
-#define OLEUIBUSY OLEUIBUSYA
-#define POLEUIBUSY POLEUIBUSYA
-#define LPOLEUIBUSY LPOLEUIBUSYA
-#define OleUIBusy OleUIBusyA
-#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEA
-#define OLEUICHANGESOURCE OLEUICHANGESOURCEA
-#define POLEUICHANGESOURCE POLEUICHANGESOURCEA
-#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEA
-#define OleUIChangeSource OleUIChangeSourceA
-#define IOleUIObjInfo IOleUIObjInfoA
-#define LPOLEUIOBJINFO LPOLEUIOBJINFOA
-#define IOleUILinkInfo IOleUILinkInfoA
-#define IOleUILinkInfoVtbl IOleUILinkInfoAVtbl
-#define LPOLEUILINKINFO LPOLEUILINKINFOA
-#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSA
-#define OLEUIGNRLPROPS OLEUIGNRLPROPSA
-#define POLEUIGNRLPROPS POLEUIGNRLPROPSA
-#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSA
-#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSA
-#define OLEUIVIEWPROPS OLEUIVIEWPROPSA
-#define POLEUIVIEWPROPS POLEUIVIEWPROPSA
-#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSA
-#define tagOLEUILINKPROPS tagOLEUILINKPROPSA
-#define OLEUILINKPROPS OLEUILINKPROPSA
-#define POLEUILINKPROPS POLEUILINKPROPSA
-#define LPOLEUILINKPROPS LPOLEUILINKPROPSA
-#endif
-#pragma pack(pop)
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/oleidl.h
===================================================================
--- Daodan/MinGW/include/oleidl.h	(revision 1046)
+++ 	(revision )
@@ -1,575 +1,0 @@
-#ifndef _OLEIDL_H
-#define _OLEIDL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <objfwd.h>
-
-#define MK_ALT	32
-
-typedef _COM_interface IParseDisplayName *LPPARSEDISPLAYNAME;
-typedef _COM_interface IOleContainer *LPOLECONTAINER;
-typedef _COM_interface IOleClientSite *LPOLECLIENTSITE;
-typedef _COM_interface IOleObject *LPOLEOBJECT;
-typedef _COM_interface IDropTarget *LPDROPTARGET;
-typedef _COM_interface IDropSource *LPDROPSOURCE;
-typedef _COM_interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
-typedef _COM_interface IEnumOLEVERB *LPENUMOLEVERB;
-typedef _COM_interface IOleWindow *LPOLEWINDOW;
-typedef _COM_interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
-typedef _COM_interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
-typedef _COM_interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
-typedef _COM_interface IOleAdviseHolder *LPOLEADVISEHOLDER;
-typedef _COM_interface IViewObject *LPVIEWOBJECT;
-typedef _COM_interface IViewObject2 *LPVIEWOBJECT2;
-typedef _COM_interface IOleCache *LPOLECACHE;
-typedef _COM_interface IOleCache2 *LPOLECACHE2;
-typedef _COM_interface IOleCacheControl *LPOLECACHECONTROL;
-
-typedef enum tagBINDSPEED
-{
-	BINDSPEED_INDEFINITE=1,
-	BINDSPEED_MODERATE,
-	BINDSPEED_IMMEDIATE
-} BINDSPEED;
-typedef enum tagOLEWHICHMK {
-	OLEWHICHMK_CONTAINER=1,
-	OLEWHICHMK_OBJREL,
-	OLEWHICHMK_OBJFULL
-} OLEWHICHMK;
-typedef enum tagOLEGETMONIKER {
-	OLEGETMONIKER_ONLYIFTHERE=1,
-	OLEGETMONIKER_FORCEASSIGN,
-	OLEGETMONIKER_UNASSIGN,
-	OLEGETMONIKER_TEMPFORUSER
-} OLEGETMONIKER;
-typedef enum tagUSERCLASSTYPE {
-	USERCLASSTYPE_FULL=1,
-	USERCLASSTYPE_SHORT,
-	USERCLASSTYPE_APPNAME
-} USERCLASSTYPE;
-
-#ifdef __GNUC__
-__extension__  /* IS0 C says enums limited to range of int */
-#endif
-typedef enum tagDROPEFFECT {
-	DROPEFFECT_NONE=0,
-	DROPEFFECT_COPY=1,
-	DROPEFFECT_MOVE=2,
-	DROPEFFECT_LINK=4,
-	DROPEFFECT_SCROLL=0x80000000
-} DROPEFFECT;
-typedef struct tagOleMenuGroupWidths {
-	LONG width[6];
-} OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
-typedef HGLOBAL HOLEMENU;
-typedef enum tagOLECLOSE {
-	OLECLOSE_SAVEIFDIRTY,
-	OLECLOSE_NOSAVE,
-	OLECLOSE_PROMPTSAVE
-} OLECLOSE;
-typedef struct tagOLEVERB {
-	LONG lVerb;
-	LPWSTR lpszVerbName;
-	DWORD fuFlags;
-	DWORD grfAttribs;
-} OLEVERB,*LPOLEVERB;
-typedef RECT BORDERWIDTHS;
-typedef LPRECT LPBORDERWIDTHS;
-typedef LPCRECT LPCBORDERWIDTHS;
-typedef struct tagOIFI {
-	UINT cb;
-	BOOL fMDIApp;
-	HWND hwndFrame;
-	HACCEL haccel;
-	UINT cAccelEntries;
-}OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
-
-DECLARE_ENUMERATOR(OLEVERB);
-typedef IEnumOLEVERB IEnumOleVerb;
-
-EXTERN_C const IID IID_IParseDisplayName;
-#define INTERFACE IParseDisplayName
-DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
-#define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
-#endif
-
-EXTERN_C const IID IID_IOleContainer;
-#define INTERFACE IOleContainer
-DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
-	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
-	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleItemContainer;
-#define INTERFACE IOleItemContainer
-DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
-	STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
-	STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
-	STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
-	STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
-	STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
-#define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
-#define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
-#define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
-#define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
-#define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
-#define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleClientSite;
-#define INTERFACE IOleClientSite
-DECLARE_INTERFACE_(IOleClientSite,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SaveObject)(THIS) PURE;
-	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
-	STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
-	STDMETHOD(ShowObject)(THIS) PURE;
-	STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
-	STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
-#define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
-#define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
-#define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
-#define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
-#define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
-#define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
-#endif
-
-EXTERN_C const IID IID_IOleObject;
-#define INTERFACE IOleObject
-DECLARE_INTERFACE_(IOleObject,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
-	STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
-	STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
-	STDMETHOD(Close)(THIS_ DWORD) PURE;
-	STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
-	STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
-	STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
-	STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
-	STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
-	STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
-	STDMETHOD(Update)(THIS) PURE;
-	STDMETHOD(IsUpToDate)(THIS) PURE;
-	STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
-	STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
-	STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
-	STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
-	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
-	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
-	STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
-	STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleObject_Release(T) (T)->lpVtbl->Release(T)
-#define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
-#define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
-#define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
-#define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
-#define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
-#define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
-#define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
-#define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
-#define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
-#define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
-#define IOleObject_Update(T) (T)->lpVtbl->Update(T)
-#define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
-#define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
-#define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
-#define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
-#define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
-#define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
-#define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
-#define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleWindow;
-#define INTERFACE IOleWindow
-DECLARE_INTERFACE_(IOleWindow,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
-#define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleInPlaceUIWindow;
-#define INTERFACE IOleInPlaceUIWindow
-DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
-	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
-	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
-	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleInPlaceObject;
-#define INTERFACE IOleInPlaceObject
-DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(InPlaceDeactivate)(THIS) PURE;
-	STDMETHOD(UIDeactivate)(THIS) PURE;
-	STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
-	STDMETHOD(ReactivateAndUndo)(THIS) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleInPlaceActiveObject;
-#define INTERFACE IOleInPlaceActiveObject
-DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-	STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
-	STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
-	STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
-	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleInPlaceFrame;
-#define INTERFACE IOleInPlaceFrame
-DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
-	STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
-	STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
-	STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
-	STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
-	STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
-	STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
-	STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
-	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-	STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
-#define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
-#define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
-#define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
-#define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
-#define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
-#define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
-#define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
-#define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
-#define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
-#define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
-#endif
-
-EXTERN_C const IID IID_IOleInPlaceSite;
-#define INTERFACE IOleInPlaceSite
-DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(CanInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnInPlaceActivate)(THIS) PURE;
-	STDMETHOD(OnUIActivate)(THIS) PURE;
-	STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
-	STDMETHOD(Scroll)(THIS_ SIZE) PURE;
-	STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
-	STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
-	STDMETHOD(DiscardUndoState)(THIS) PURE;
-	STDMETHOD(DeactivateAndUndo)(THIS) PURE;
-	STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
-};
-#undef INTERFACE
-
-EXTERN_C const IID IID_IOleAdviseHolder;
-#define INTERFACE IOleAdviseHolder
-DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
-	STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
-	STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
-	STDMETHOD(SendOnSave)(THIS) PURE;
-	STDMETHOD(SendOnClose)(THIS) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
-#define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
-#define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
-#define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
-#define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
-#endif
-
-EXTERN_C const IID IID_IDropSource;
-#define INTERFACE IDropSource
-DECLARE_INTERFACE_(IDropSource,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
-	STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IDropSource_Release(T) (T)->lpVtbl->Release(T)
-#define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
-#define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
-#endif
-
-EXTERN_C const IID IID_IDropTarget;
-#define INTERFACE IDropTarget
-DECLARE_INTERFACE_(IDropTarget,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
-	STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
-	STDMETHOD(DragLeave)(THIS) PURE;
-	STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
-#define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
-#define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
-#define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
-#define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
-#endif
-
-typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
-EXTERN_C const IID IID_IViewObject;
-#define INTERFACE IViewObject
-DECLARE_INTERFACE_(IViewObject,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
-	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
-	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
-	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
-	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
-	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IViewObject_Release(T) (T)->lpVtbl->Release(T)
-#define IViewObject_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
-#define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
-#define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
-#define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
-#define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
-#define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IViewObject2;
-#define INTERFACE IViewObject2
-DECLARE_INTERFACE_(IViewObject2,IViewObject)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
-	STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
-	STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
-	STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
-	STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
-	STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
-	STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
-#define IViewObject2_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
-#define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
-#define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
-#define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
-#define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
-#define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
-#define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
-#endif
-
-EXTERN_C const IID IID_IOleCache;
-#define INTERFACE IOleCache
-DECLARE_INTERFACE_(IOleCache,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
-	STDMETHOD(Uncache)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**);
-	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT);
-	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL);
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleCache_Release(T) (T)->lpVtbl->Release(T)
-#define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
-#define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
-#define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
-#define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
-#define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IOleCache2;
-#define INTERFACE IOleCache2
-DECLARE_INTERFACE_(IOleCache2,IOleCache)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
-	STDMETHOD(Uncache)(THIS_ DWORD) PURE;
-	STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE;
-	STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE;
-	STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
-	STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE;
-	STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
-#define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
-#define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
-#define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
-#define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
-#define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
-#define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
-#define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleCacheControl;
-#define INTERFACE IOleCacheControl
-DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
-	STDMETHOD(OnStop)(THIS) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
Index: Daodan/MinGW/include/pbt.h
===================================================================
--- Daodan/MinGW/include/pbt.h	(revision 1046)
+++ 	(revision )
@@ -1,24 +1,0 @@
-#ifndef _PBT_H
-#define _PBT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/* Also in winuser.h  */
-#define PBT_APMQUERYSUSPEND 0
-#define PBT_APMQUERYSTANDBY 1
-#define PBT_APMQUERYSUSPENDFAILED 2
-#define PBT_APMQUERYSTANDBYFAILED 3
-#define PBT_APMSUSPEND 4
-#define PBT_APMSTANDBY 5
-#define PBT_APMRESUMECRITICAL 6
-#define PBT_APMRESUMESUSPEND 7
-#define PBT_APMRESUMESTANDBY 8
-#define PBT_APMBATTERYLOW 9
-#define PBT_APMPOWERSTATUSCHANGE 10
-#define PBT_APMOEMEVENT 11
-#define PBT_APMRESUMEAUTOMATIC 18
-
-#define PBTF_APMRESUMEFROMFAILURE 1
-
-#endif
Index: Daodan/MinGW/include/poppack.h
===================================================================
--- Daodan/MinGW/include/poppack.h	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#ifndef RC_INVOKED
-#pragma pack(pop)
-#endif
Index: Daodan/MinGW/include/powrprof.h
===================================================================
--- Daodan/MinGW/include/powrprof.h	(revision 1046)
+++ 	(revision )
@@ -1,120 +1,0 @@
-#ifndef _POWRPROF_H
-#define _POWRPROF_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EnableMultiBatteryDisplay 2
-#define EnablePasswordLogon 4
-#define EnableSysTrayBatteryMeter 1
-#define EnableWakeOnRing 8
-#define EnableVideoDimDisplay 16
-#define NEWSCHEME (UINT)-1
-
-#ifndef RC_INVOKED
-#include <ntdef.h>  /* for NTSTATUS */
-typedef struct _GLOBAL_MACHINE_POWER_POLICY{
-   ULONG Revision;
-   SYSTEM_POWER_STATE LidOpenWakeAc;
-   SYSTEM_POWER_STATE LidOpenWakeDc;
-   ULONG BroadcastCapacityResolution;
-} GLOBAL_MACHINE_POWER_POLICY, *PGLOBAL_MACHINE_POWER_POLICY;
-typedef struct _GLOBAL_USER_POWER_POLICY{
-   ULONG Revision;
-   POWER_ACTION_POLICY PowerButtonAc;
-   POWER_ACTION_POLICY PowerButtonDc;
-   POWER_ACTION_POLICY SleepButtonAc;
-   POWER_ACTION_POLICY SleepButtonDc;
-   POWER_ACTION_POLICY LidCloseAc;
-   POWER_ACTION_POLICY LidCloseDc;
-   SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
-   ULONG GlobalFlags;
-} GLOBAL_USER_POWER_POLICY, *PGLOBAL_USER_POWER_POLICY;
-typedef struct _GLOBAL_POWER_POLICY{
-   GLOBAL_USER_POWER_POLICY user;
-   GLOBAL_MACHINE_POWER_POLICY mach;
-} GLOBAL_POWER_POLICY, *PGLOBAL_POWER_POLICY;
-typedef struct _MACHINE_POWER_POLICY{
-   ULONG Revision;
-   SYSTEM_POWER_STATE MinSleepAc;
-   SYSTEM_POWER_STATE MinSleepDc;
-   SYSTEM_POWER_STATE ReducedLatencySleepAc;
-   SYSTEM_POWER_STATE ReducedLatencySleepDc;
-   ULONG DozeTimeoutAc;
-   ULONG DozeTimeoutDc;
-   ULONG DozeS4TimeoutAc;
-   ULONG DozeS4TimeoutDc;
-   UCHAR MinThrottleAc;
-   UCHAR MinThrottleDc;
-   UCHAR pad1[2];
-   POWER_ACTION_POLICY OverThrottledAc;
-   POWER_ACTION_POLICY OverThrottledDc;
-} MACHINE_POWER_POLICY, *PMACHINE_POWER_POLICY;
-typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
-   ULONG Revision;
-   PROCESSOR_POWER_POLICY ProcessorPolicyAc;
-   PROCESSOR_POWER_POLICY ProcessorPolicyDc;
-} MACHINE_PROCESSOR_POWER_POLICY, *PMACHINE_PROCESSOR_POWER_POLICY;
-typedef struct _USER_POWER_POLICY{
-   ULONG Revision;
-   POWER_ACTION_POLICY IdleAc;
-   POWER_ACTION_POLICY IdleDc;
-   ULONG IdleTimeoutAc;
-   ULONG IdleTimeoutDc;
-   UCHAR IdleSensitivityAc;
-   UCHAR IdleSensitivityDc;
-   UCHAR ThrottlePolicyAc;
-   UCHAR ThrottlePolicyDc;
-   SYSTEM_POWER_STATE MaxSleepAc;
-   SYSTEM_POWER_STATE MaxSleepDc;
-   ULONG Reserved[2];
-   ULONG VideoTimeoutAc;
-   ULONG VideoTimeoutDc;
-   ULONG SpindownTimeoutAc;
-   ULONG SpindownTimeoutDc;
-   BOOLEAN OptimizeForPowerAc;
-   BOOLEAN OptimizeForPowerDc;
-   UCHAR FanThrottleToleranceAc;
-   UCHAR FanThrottleToleranceDc;
-   UCHAR ForcedThrottleAc;
-   UCHAR ForcedThrottleDc;
-} USER_POWER_POLICY, *PUSER_POWER_POLICY;
-typedef struct _POWER_POLICY{
-   USER_POWER_POLICY user;
-   MACHINE_POWER_POLICY mach;
-} POWER_POLICY, *PPOWER_POLICY;
-typedef BOOLEAN (CALLBACK* PWRSCHEMESENUMPROC)(UINT, DWORD, LPTSTR, DWORD, LPTSTR, PPOWER_POLICY, LPARAM);
-typedef BOOLEAN (CALLBACK* PFNNTINITIATEPWRACTION)(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN);
-NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG);
-BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
-BOOLEAN WINAPI DeletePwrScheme(UINT);
-BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM);
-BOOLEAN WINAPI GetActivePwrScheme(PUINT);
-BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
-BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT, PUINT);
-BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
-BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
-BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
-BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
-BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
-BOOLEAN WINAPI ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
-BOOLEAN WINAPI ReadPwrScheme(UINT, PPOWER_POLICY);
-BOOLEAN WINAPI SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN);
-BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
-BOOLEAN WINAPI WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
-BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI WritePwrScheme(PUINT, LPTSTR, LPTSTR, PPOWER_POLICY);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _POWRPROF_H */
Index: Daodan/MinGW/include/process.h
===================================================================
--- Daodan/MinGW/include/process.h	(revision 1046)
+++ 	(revision )
@@ -1,293 +1,0 @@
-/*
- * process.h
- *
- * Declarations of functions for spawning child processes.
- *
- * $Id: process.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2001, 2003-2004, 2007-2008, 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, 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.
- *
- */
-#ifndef _PROCESS_H
-#pragma GCC system_header
-
-/* Defer defining the normal _PROCESS_H multiple inclusion guard macro,
- * to facilitate selective inclusion by <wchar.h>, (in which case we do
- * not wish to define it).
- */
-#ifndef __WCHAR_H_SOURCED__
-#define _PROCESS_H
-
-/* All MinGW headers must include <_mingw.h>; do so here, assuming
- * that <wchar.h> will have already taken care of it, for the case
- * of selective inclusion.
- */
-#include <_mingw.h>
-
-/* This gives us more than we really need, but it gets us _pid_t
- * (and its pid_t equivalent), which we do need.
- */
-#include <sys/types.h>
-
-/* Constants for cwait actions; obsolete for Win32.
- */
-#define _WAIT_CHILD		0
-#define _WAIT_GRANDCHILD	1
-
-#ifndef _NO_OLDNAMES
-#define WAIT_CHILD		_WAIT_CHILD
-#define WAIT_GRANDCHILD 	_WAIT_GRANDCHILD
-#endif	/* !_NO_OLDNAMES */
-#endif	/* !__WCHAR_H_SOURCED__ */
-
-/* Mode constants for spawn() functions.
- */
-#define _P_WAIT 		0
-#define _P_NOWAIT		1
-#define _P_OVERLAY		2
-#define _OLD_P_OVERLAY		_P_OVERLAY
-#define _P_NOWAITO		3
-#define _P_DETACH		4
-
-#ifndef _NO_OLDNAMES
-#define P_WAIT			_P_WAIT
-#define P_NOWAIT		_P_NOWAIT
-#define P_OVERLAY		_P_OVERLAY
-#define OLD_P_OVERLAY		_OLD_P_OVERLAY
-#define P_NOWAITO		_P_NOWAITO
-#define P_DETACH		_P_DETACH
-#endif	/* !_NO_OLDNAMES */
-
-#ifndef RC_INVOKED
-
-/* 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"; (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"
-
-_BEGIN_C_DECLS
-
-#ifdef _PROCESS_H
-_CRTIMP __cdecl __MINGW_NOTHROW  void _cexit (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  void _c_exit (void);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _cwait (int *, _pid_t, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  _pid_t _getpid (void);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execl (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execle (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execlp (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execlpe (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execv (const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execve (const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execvp (const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _execvpe (const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnl (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnle (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnlp (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnlpe (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnv (int, const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnve (int, const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnvp (int, const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _spawnvpe (int, const char *, const char * const *, const char * const *);
-
-/* Thread initiation and termination functions.
- *
- * NOTE: Apparently _endthread() calls CloseHandle() on the handle of the
- * thread, creating a potential for race conditions, if you are not careful.
- * Basically, you MUST ensure that NOTHING attempts to do ANYTHING with the
- * thread handle after the thread calls _endthread(), or returns from the
- * thread function.
- *
- * NOTE: No old names for these functions.  Use the underscore.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned long _beginthread (void (*)(void *), unsigned, void *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  void _endthread (void);
-
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned long _beginthreadex
-(void *, unsigned, unsigned (__stdcall *) (void *), void *, unsigned, unsigned *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  void _endthreadex (unsigned);
-#endif
-
-#ifndef _NO_OLDNAMES
-/* Functions named without the leading underscore, for portability.
- * These functions live in liboldnames.a.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int cwait (int *, pid_t, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  pid_t getpid (void);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execl (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execle (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execlp (const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execlpe (const char *, const char *,...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execv (const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execve (const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execvp (const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t execvpe (const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnl (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnle (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnlp (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnlpe (int, const char *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnv (int, const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnve (int, const char *, const char * const *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnvp (int, const char *, const char * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t spawnvpe (int, const char *, const char * const *, const char * const *);
-
-#endif	/* !_NO_OLDNAMES */
-#endif	/* _PROCESS_H */
-
-#if ! (defined _PROCESS_H && defined _WCHAR_H)
-/* Wide character variations of the exec() and spawn() functions are
- * declared both when <process.h> is included directly, and when it is
- * selectively included by <wchar.h>; however, if both _PROCESS_H and
- * _WCHAR_H are defined, by the time we get to here, then this must be
- * the direct inclusion case, and these have already been declared as
- * a result of selective inclusion; there is no need to declare them
- * a second time.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexecl (const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexecle (const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexeclp (const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexeclpe (const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexecv (const wchar_t *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  intptr_t _wexecve
-(const wchar_t *, const wchar_t * const *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wexecvp (const wchar_t *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  intptr_t _wexecvpe
-(const wchar_t *, const wchar_t * const *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnl (int, const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnle (int, const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnlp (int, const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnlpe (int, const wchar_t *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnv (int, const wchar_t *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  intptr_t _wspawnve
-(int, const wchar_t *, const wchar_t * const *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-intptr_t _wspawnvp (int, const wchar_t *, const wchar_t * const *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW intptr_t _wspawnvpe
-(int, const wchar_t *, const wchar_t * const *, const wchar_t * const *);
-
-#endif	/* ! (_PROCESS_H && _WCHAR_H) */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_PROCESS_H: $RCSfile: process.h,v $: end of file */
Index: Daodan/MinGW/include/profil.h
===================================================================
--- Daodan/MinGW/include/profil.h	(revision 1046)
+++ 	(revision )
@@ -1,51 +1,0 @@
-/* profil.h: gprof profiling header file
-
-   Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-/* profiling frequency.  (No larger than 1000) */
-#define PROF_HZ			100
-
-/* convert an addr to an index */
-#define PROFIDX(pc, base, scale)	\
-  ({									\
-    size_t i = (pc - base) / 2;				\
-    if (sizeof (unsigned long long int) > sizeof (size_t))		\
-      i = (unsigned long long int) i * scale / 65536;			\
-    else								\
-      i = i / 65536 * scale + i % 65536 * scale / 65536;		\
-    i;									\
-  })
-
-/* convert an index into an address */
-#define PROFADDR(idx, base, scale)		\
-  ((base)					\
-   + ((((unsigned long long)(idx) << 16)	\
-       / (unsigned long long)(scale)) << 1))
-
-/* convert a bin size into a scale */
-#define PROFSCALE(range, bins)		(((bins) << 16) / ((range) >> 1))
-
-typedef void *_WINHANDLE;
-
-struct profinfo {
-    _WINHANDLE targthr;			/* thread to profile */
-    _WINHANDLE profthr;			/* profiling thread */
-    u_short *counter;			/* profiling counters */
-    u_long lowpc, highpc;		/* range to be profiled */
-    u_int scale;			/* scale value of bins */
-};
-
-int profile_ctl(struct profinfo *, char *, size_t, u_long, u_int);
-int profil(char *, size_t, u_long, u_int);
-
Index: Daodan/MinGW/include/profile.h
===================================================================
--- Daodan/MinGW/include/profile.h	(revision 1046)
+++ 	(revision )
@@ -1,83 +1,0 @@
-/*	$NetBSD: profile.h,v 1.6 1995/03/28 18:17:08 jtc Exp $	*/
-
-/*
- * Copyright (c) 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)profile.h	8.1 (Berkeley) 6/11/93
- */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-/* If compiler doesn't inline, at least avoid passing args on the stack. */
-#define _MCOUNT_CALL __attribute__ ((regparm (2)))
-#define _MCOUNT_DECL static __inline__  void _MCOUNT_CALL _mcount
-
-/* FIXME: This works, but it would be cleaner to convert mcount into an
-   assembler stub that calls an extern  _mcount.
-   Older versions of GCC (pre-4.1) will still fail with regparm since the
-   compiler used %edx to store an unneeded counter variable.  */
-
-#define	MCOUNT \
-void									\
-mcount()								\
-{									\
-	u_long selfpc, frompcindex;					\
-	/*								\
-	 * Save registers, since this may be called from		\
-	 * the prologue of a regparm function.				\
-	 */								\
-	__asm __volatile__ ("pushl %eax\n\t"				\
-			    "pushl %ecx\n\t"				\
-		 	    "pushl %edx");				\
-	/*								\
-	 * find the return address for mcount,				\
-	 * and the return address for mcount's caller.			\
-	 *								\
-	 * selfpc = pc pushed by mcount call				\
-	 */								\
-	/* __asm  ("movl 4(%%ebp),%0" : "=r" (selfpc));	*/		\
-	selfpc = (u_long) __builtin_return_address (0);			\
-	/*								\
-	 * frompcindex = pc pushed by call into self.			\
-	 */								\
-	/*  __asm ("movl (%%ebp),%0;movl 4(%0),%0" : "=r" (frompcindex)); */  \
-	frompcindex = (u_long) __builtin_return_address (1);		\
-	_mcount(frompcindex, selfpc);					\
-	/*								\
-	 * Restore registers.						\
-	 */								\
-	__asm __volatile__ ("popl %edx\n\t"				\
-			    "popl %ecx\n\t"				\
-			    "popl %eax");				\
-}
Index: Daodan/MinGW/include/prsht.h
===================================================================
--- Daodan/MinGW/include/prsht.h	(revision 1046)
+++ 	(revision )
@@ -1,320 +1,0 @@
-#ifndef _PRSHT_H
-#define _PRSHT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#ifndef POSTMSG
-#ifdef __cplusplus
-#define POSTMSG ::PostMessage
-#else
-#define POSTMSG PostMessage
-#endif
-#endif /* ifndef POSTMSG */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXPROPPAGES	100
-#define PSP_DEFAULT	0
-#define PSP_DLGINDIRECT	1
-#define PSP_USEHICON	2
-#define PSP_USEICONID	4
-#define PSP_USETITLE	8
-#define PSP_RTLREADING	16
-#define PSP_HASHELP	32
-#define PSP_USEREFPARENT	64
-#define PSP_USECALLBACK	128
-#define PSP_PREMATURE	1024
-#if (_WIN32_IE >= 0x0400)
-#define PSP_HIDEHEADER	2048
-#define PSP_USEHEADERTITLE	4096
-#define PSP_USEHEADERSUBTITLE	8192
-#endif
-#define PSPCB_RELEASE	1
-#define PSPCB_CREATE	2
-#define PSH_DEFAULT	0
-#define PSH_PROPTITLE	1
-#define PSH_USEHICON	2
-#define PSH_USEICONID	4
-#define PSH_PROPSHEETPAGE	8
-#define PSH_WIZARDHASFINISH	16
-#define PSH_WIZARD	32
-#define PSH_USEPSTARTPAGE	64
-#define PSH_NOAPPLYNOW	128
-#define PSH_USECALLBACK	256
-#define PSH_HASHELP	512
-#define PSH_MODELESS	1024
-#define PSH_RTLREADING	2048
-#define PSH_WIZARDCONTEXTHELP	4096
-#if (_WIN32_IE >= 0x0400)
-#define PSH_WATERMARK	32768
-#define PSH_USEHBMWATERMARK	65536
-#define PSH_USEHPLWATERMARK	131072
-#define PSH_STRETCHWATERMARK	262144
-#define PSH_HEADER	524288
-#define PSH_USEHBMHEADER	1048576
-#define PSH_USEPAGELANG	2097152
-#if (_WIN32_IE < 0x0500)
-#define PSH_WIZARD97	0x00002000
-#else
-#define PSH_WIZARD97	0x01000000
-#endif
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0500)
-#define PSH_WIZARD_LITE	0x400000
-#define PSH_NOCONTEXTHELP	0x2000000
-#endif
-#define PSCB_INITIALIZED	1
-#define PSCB_PRECREATE	2
-#define PSM_GETTABCONTROL	1140
-#define PSM_GETCURRENTPAGEHWND	1142
-#define PSM_ISDIALOGMESSAGE	1141
-#define PSM_PRESSBUTTON	1137
-#define PSM_SETCURSELID	1138
-#define PSM_SETFINISHTEXTW	1145
-#define PSM_SETFINISHTEXTA	1139
-#define PSN_FIRST	(-200)
-#define PSN_LAST	(-299)
-#define PSN_APPLY	(-202)
-#define PSN_HELP	(-205)
-#define PSN_KILLACTIVE	(-201)
-#define PSN_QUERYCANCEL	(-209)
-#define PSN_RESET	(-203)
-#define PSN_SETACTIVE	(-200)
-#define PSN_WIZBACK	(-206)
-#define PSN_WIZFINISH	(-208)
-#define PSN_WIZNEXT	(-207)
-#define PSNRET_NOERROR	0
-#define PSNRET_INVALID	1
-#define PSNRET_INVALID_NOCHANGEPAGE	2
-#define ID_PSRESTARTWINDOWS	2
-#define ID_PSREBOOTSYSTEM 	3
-#define WIZ_CXDLG	276
-#define WIZ_CYDLG	140
-#define WIZ_CXBMP	80
-#define WIZ_BODYX	92
-#define WIZ_BODYCX	184
-#define PROP_SM_CXDLG	212
-#define PROP_SM_CYDLG	188
-#define PROP_MED_CXDLG	227
-#define PROP_MED_CYDLG	215
-#define PROP_LG_CXDLG	252
-#define PROP_LG_CYDLG	218
-#define PSBTN_MAX	6
-#define PSBTN_BACK	0
-#define PSBTN_NEXT	1
-#define PSBTN_FINISH	2
-#define PSBTN_OK	3
-#define PSBTN_APPLYNOW	4
-#define PSBTN_CANCEL	5
-#define PSBTN_HELP	6
-#define PSWIZB_BACK	1
-#define PSWIZB_NEXT	2
-#define PSWIZB_FINISH	4
-#define PSWIZB_DISABLEDFINISH	8
-#define PSM_SETWIZBUTTONS	(WM_USER+112)
-#define PSM_APPLY	(WM_USER+110)
-#define PSM_UNCHANGED	(WM_USER+109)
-#define PSM_QUERYSIBLINGS	(WM_USER+108)
-#define PSM_CANCELTOCLOSE	(WM_USER+107)
-#define PSM_REBOOTSYSTEM	(WM_USER+106)
-#define PSM_RESTARTWINDOWS	(WM_USER+105)
-#define PSM_CHANGED	(WM_USER+104)
-#define PSM_ADDPAGE	(WM_USER+103)
-#define PSM_REMOVEPAGE	(WM_USER+102)
-#define PSM_SETCURSEL	(WM_USER+101)
-#define PSM_SETTITLEA	(WM_USER+111)
-#define PSM_SETTITLEW	(WM_USER+120)
-
-#ifndef RC_INVOKED
-
-#pragma pack(push,8)
-typedef struct _PROPSHEETPAGEA {
-	DWORD	dwSize;
-	DWORD	dwFlags;
-	HINSTANCE	hInstance;
-	_ANONYMOUS_UNION union {
-		LPCSTR	pszTemplate;
-		LPCDLGTEMPLATE	pResource;
-	} DUMMYUNIONNAME;
-	_ANONYMOUS_UNION union {
-		HICON hIcon;
-		LPCSTR pszIcon;
-	} DUMMYUNIONNAME2;
-	LPCSTR	pszTitle;
-	DLGPROC	pfnDlgProc;
-	LPARAM	lParam;
-	UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*);
-	UINT *pcRefParent;
-#if (_WIN32_IE >= 0x0400)
-	LPCSTR pszHeaderTitle;
-	LPCSTR pszHeaderSubTitle;
-#endif
-} PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
-typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
-typedef struct _PROPSHEETPAGEW {
-	DWORD	dwSize;
-	DWORD	dwFlags;
-	HINSTANCE	hInstance;
-	_ANONYMOUS_UNION union {
-		LPCWSTR	pszTemplate;
-		LPCDLGTEMPLATE	pResource;
-	} DUMMYUNIONNAME;
-	_ANONYMOUS_UNION union {
-		HICON hIcon;
-		LPCWSTR pszIcon;
-	} DUMMYUNIONNAME2;
-	LPCWSTR	pszTitle;
-	DLGPROC	pfnDlgProc;
-	LPARAM	lParam;
-	UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*);
-	UINT *pcRefParent;
-#if (_WIN32_IE >= 0x0400)
-	LPCWSTR pszHeaderTitle;
-	LPCWSTR pszHeaderSubTitle;
-#endif
-} PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
-typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
-typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
-typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
-typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
-DECLARE_HANDLE(HPROPSHEETPAGE);
-typedef struct _PROPSHEETHEADERA {
-	DWORD	dwSize;
-	DWORD	dwFlags;
-	HWND	hwndParent;
-	HINSTANCE	hInstance;
-	_ANONYMOUS_UNION union {
-		HICON	hIcon;
-		LPCSTR	pszIcon;
-	}DUMMYUNIONNAME;
-	LPCSTR	pszCaption;
-	UINT	nPages;
-	_ANONYMOUS_UNION union {
-		UINT	nStartPage;
-		LPCSTR	pStartPage;
-	}DUMMYUNIONNAME2;
-	_ANONYMOUS_UNION union {
-		LPCPROPSHEETPAGEA ppsp;
-		HPROPSHEETPAGE *phpage;
-	}DUMMYUNIONNAME3;
-	PFNPROPSHEETCALLBACK pfnCallback;
-#if (_WIN32_IE >= 0x0400)
-	_ANONYMOUS_UNION union {
-		HBITMAP hbmWatermark;
-		LPCSTR pszbmWatermark;
-	} DUMMYUNIONNAME4;
-	HPALETTE hplWatermark;
-	_ANONYMOUS_UNION union {
-		HBITMAP hbmHeader;
-		LPCSTR pszbmHeader;
-	} DUMMYUNIONNAME5;
-#endif
-} PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
-typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
-typedef struct _PROPSHEETHEADERW {
-	DWORD	dwSize;
-	DWORD	dwFlags;
-	HWND	hwndParent;
-	HINSTANCE	hInstance;
-	_ANONYMOUS_UNION union {
-		HICON	hIcon;
-		LPCWSTR	pszIcon;
-	}DUMMYUNIONNAME;
-	LPCWSTR	pszCaption;
-	UINT	nPages;
-	_ANONYMOUS_UNION union {
-		UINT	nStartPage;
-		LPCWSTR	pStartPage;
-	}DUMMYUNIONNAME2;
-	_ANONYMOUS_UNION union {
-		LPCPROPSHEETPAGEW ppsp;
-		HPROPSHEETPAGE *phpage;
-	}DUMMYUNIONNAME3;
-	PFNPROPSHEETCALLBACK pfnCallback;
-#if (_WIN32_IE >= 0x0400)
-	_ANONYMOUS_UNION union {
-		HBITMAP hbmWatermark;
-		LPCWSTR pszbmWatermark;
-	} DUMMYUNIONNAME4;
-	HPALETTE hplWatermark;
-	_ANONYMOUS_UNION union {
-		HBITMAP hbmHeader;
-		LPCWSTR pszbmHeader;
-	} DUMMYUNIONNAME5;
-#endif
-} PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
-typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
-typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
-typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
-typedef struct _PSHNOTIFY {
-	NMHDR hdr;
-	LPARAM lParam;
-} PSHNOTIFY,*LPPSHNOTIFY;
-
-#pragma pack(pop)
-
-HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA);
-HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW);
-BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
-int WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
-int WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
-#define PropSheet_AddPage(d,p) SNDMSG(d,PSM_ADDPAGE,0,(LPARAM)p)
-#define PropSheet_Apply(d) SNDMSG(d,PSM_APPLY,0,0)
-#define PropSheet_CancelToClose(d) POSTMSG(d,PSM_CANCELTOCLOSE,0,0)
-#define PropSheet_Changed(d,w) SNDMSG(d,PSM_CHANGED,(WPARAM)w,0)
-#define PropSheet_GetCurrentPageHwnd(d) (HWND)SNDMSG(d,PSM_GETCURRENTPAGEHWND,0,0)
-#define PropSheet_GetTabControl(d) (HWND)SNDMSG(d,PSM_GETTABCONTROL,0,0)
-#define PropSheet_IsDialogMessage(d,m) (BOOL)SNDMSG(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
-#define PropSheet_PressButton(d,i) POSTMSG(d,PSM_PRESSBUTTON,i,0)
-#define PropSheet_QuerySiblings(d,w,l) SNDMSG(d,PSM_QUERYSIBLINGS,w,l)
-#define PropSheet_RebootSystem(d) SNDMSG(d,PSM_REBOOTSYSTEM,0,0)
-#define PropSheet_RemovePage(d,i,p) SNDMSG(d,PSM_REMOVEPAGE,i,(LPARAM)p)
-#define PropSheet_RestartWindows(d) SNDMSG(d,PSM_RESTARTWINDOWS,0,0)
-#define PropSheet_SetCurSel(d,p,i) SNDMSG(d,PSM_SETCURSEL,i,(LPARAM)p)
-#define PropSheet_SetCurSelByID(d,i) SNDMSG(d,PSM_SETCURSELID,0,i)
-#define PropSheet_SetFinishText(d,s) SNDMSG(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
-#define PropSheet_SetTitle(d,w,s) SNDMSG(d,PSM_SETTITLE,w,(LPARAM)s)
-#define PropSheet_SetWizButtons(d,f) POSTMSG(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
-#define PropSheet_UnChanged(d,w) SNDMSG(d,PSM_UNCHANGED,(WPARAM)w,0)
-#endif
-
-#ifdef UNICODE
-#define LPFNPSPCALLBACK	LPFNPSPCALLBACKW
-#define PROPSHEETPAGE	PROPSHEETPAGEW
-#define LPPROPSHEETPAGE	LPPROPSHEETPAGEW
-#define LPCPROPSHEETPAGE	LPCPROPSHEETPAGEW
-#define PROPSHEETHEADER	PROPSHEETHEADERW
-#define LPPROPSHEETHEADER	LPPROPSHEETHEADERW
-#define LPCPROPSHEETHEADER	LPCPROPSHEETHEADERW
-#define PSM_SETTITLE PSM_SETTITLEW
-#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
-#define CreatePropertySheetPage CreatePropertySheetPageW
-#define PropertySheet PropertySheetW
-#else
-#define LPFNPSPCALLBACK	LPFNPSPCALLBACKA
-#define PROPSHEETPAGE	PROPSHEETPAGEA
-#define LPPROPSHEETPAGE	LPPROPSHEETPAGEA
-#define LPCPROPSHEETPAGE	LPCPROPSHEETPAGEA
-#define PROPSHEETHEADER	PROPSHEETHEADERA
-#define LPPROPSHEETHEADER	LPPROPSHEETHEADERA
-#define LPCPROPSHEETHEADER	LPCPROPSHEETHEADERA
-#define PSM_SETTITLE PSM_SETTITLEA
-#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
-#define CreatePropertySheetPage CreatePropertySheetPageA
-#define PropertySheet PropertySheetA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/psapi.h
===================================================================
--- Daodan/MinGW/include/psapi.h	(revision 1046)
+++ 	(revision )
@@ -1,153 +1,0 @@
-/*
-	psapi.h - Include file for PSAPI.DLL APIs
-
-	Written by Mumit Khan <khan@nanotech.wisc.edu>
-
-	This file is part of a free library for the Win32 API.
-
-	NOTE: This strictly does not belong in the Win32 API since it's
-	really part of Platform SDK. However,GDB needs it and we might
-	as well provide it here.
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-#ifndef _PSAPI_H
-#define _PSAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef RC_INVOKED
-
-typedef struct _MODULEINFO {
-	LPVOID lpBaseOfDll;
-	DWORD SizeOfImage;
-	LPVOID EntryPoint;
-} MODULEINFO,*LPMODULEINFO;
-
-typedef struct _PSAPI_WS_WATCH_INFORMATION {
-	LPVOID FaultingPc;
-	LPVOID FaultingVa;
-} PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION;
-
-typedef struct _PROCESS_MEMORY_COUNTERS {
-	DWORD cb;
-	DWORD PageFaultCount;
-	DWORD PeakWorkingSetSize;
-	DWORD WorkingSetSize;
-	DWORD QuotaPeakPagedPoolUsage;
-	DWORD QuotaPagedPoolUsage;
-	DWORD QuotaPeakNonPagedPoolUsage;
-	DWORD QuotaNonPagedPoolUsage;
-	DWORD PagefileUsage;
-	DWORD PeakPagefileUsage;
-} PROCESS_MEMORY_COUNTERS,*PPROCESS_MEMORY_COUNTERS;
-
-typedef struct _PROCESS_MEMORY_COUNTERS_EX {
-	DWORD cb;
-	DWORD PageFaultCount;
-	DWORD PeakWorkingSetSize;
-	DWORD WorkingSetSize;
-	DWORD QuotaPeakPagedPoolUsage;
-	DWORD QuotaPagedPoolUsage;
-	DWORD QuotaPeakNonPagedPoolUsage;
-	DWORD QuotaNonPagedPoolUsage;
-	DWORD PagefileUsage;
-	DWORD PeakPagefileUsage;
-	DWORD PrivateUsage;
-} PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX;
-
-typedef struct _PERFORMANCE_INFORMATION {
-  DWORD cb;
-  DWORD CommitTotal;
-  DWORD CommitLimit;
-  DWORD CommitPeak;
-  DWORD PhysicalTotal;
-  DWORD PhysicalAvailable;
-  DWORD SystemCache;
-  DWORD KernelTotal;
-  DWORD KernelPaged;
-  DWORD KernelNonpaged;
-  DWORD PageSize;
-  DWORD HandleCount;
-  DWORD ProcessCount;
-  DWORD ThreadCount;
-} PERFORMANCE_INFORMATION, *PPERFORMANCE_INFORMATION;
-
-typedef union _PSAPI_WORKING_SET_BLOCK {
-  ULONG_PTR Flags;
-  struct {
-    ULONG_PTR Protection  :5;
-    ULONG_PTR ShareCount  :3;
-    ULONG_PTR Shared  :1;
-    ULONG_PTR Reserved  :3;
-    ULONG_PTR VirtualPage  :20;
-  } ;
-} PSAPI_WORKING_SET_BLOCK, *PPSAPI_WORKING_SET_BLOCK;
-
-typedef struct _PSAPI_WORKING_SET_INFORMATION {
-  ULONG_PTR               NumberOfEntries;
-  PSAPI_WORKING_SET_BLOCK WorkingSetInfo[1];
-} PSAPI_WORKING_SET_INFORMATION, *PPSAPI_WORKING_SET_INFORMATION;
-
-/* Grouped by application,not in alphabetical order. */
-BOOL WINAPI EnumProcesses(DWORD *,DWORD,DWORD *);
-BOOL WINAPI EnumProcessModules(HANDLE,HMODULE *,DWORD,LPDWORD);
-DWORD WINAPI GetModuleBaseNameA(HANDLE,HMODULE,LPSTR,DWORD);
-DWORD WINAPI GetModuleBaseNameW(HANDLE,HMODULE,LPWSTR,DWORD);
-DWORD WINAPI GetModuleFileNameExA(HANDLE,HMODULE,LPSTR,DWORD);
-DWORD WINAPI GetModuleFileNameExW(HANDLE,HMODULE,LPWSTR,DWORD);
-BOOL WINAPI GetModuleInformation(HANDLE,HMODULE,LPMODULEINFO,DWORD);
-BOOL WINAPI EmptyWorkingSet(HANDLE);
-BOOL WINAPI QueryWorkingSet(HANDLE,PVOID,DWORD);
-BOOL WINAPI InitializeProcessForWsWatch(HANDLE);
-BOOL WINAPI GetWsChanges(HANDLE,PPSAPI_WS_WATCH_INFORMATION,DWORD);
-DWORD WINAPI GetMappedFileNameW(HANDLE,LPVOID,LPWSTR,DWORD);
-DWORD WINAPI GetMappedFileNameA(HANDLE,LPVOID,LPSTR,DWORD);
-BOOL WINAPI EnumDeviceDrivers(LPVOID *,DWORD,LPDWORD);
-DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID,LPSTR,DWORD);
-DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID,LPWSTR,DWORD);
-DWORD WINAPI GetDeviceDriverFileNameA(LPVOID,LPSTR,DWORD);
-DWORD WINAPI GetDeviceDriverFileNameW(LPVOID,LPWSTR,DWORD);
-BOOL WINAPI GetProcessMemoryInfo(HANDLE,PPROCESS_MEMORY_COUNTERS,DWORD);
-BOOL WINAPI GetPerformanceInfo(PPERFORMANCE_INFORMATION,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-DWORD WINAPI GetProcessImageFileNameA(HANDLE,LPSTR,DWORD);
-DWORD WINAPI GetProcessImageFileNameW(HANDLE,LPWSTR,DWORD);
-#endif
-
-#endif /* not RC_INVOKED */
-
-#ifdef UNICODE
-#define GetModuleBaseName GetModuleBaseNameW
-#define GetModuleFileNameEx GetModuleFileNameExW
-#define GetMappedFileName GetMappedFileNameW
-#define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
-#define GetDeviceDriverFileName GetDeviceDriverFileNameW
-#if (_WIN32_WINNT >= 0x0501)
-#define GetProcessImageFileName GetProcessImageFileNameW
-#endif
-#else
-#define GetModuleBaseName GetModuleBaseNameA
-#define GetModuleFileNameEx GetModuleFileNameExA
-#define GetMappedFileName GetMappedFileNameA
-#define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
-#define GetDeviceDriverFileName GetDeviceDriverFileNameA
-#if (_WIN32_WINNT >= 0x0501)
-#define GetProcessImageFileName GetProcessImageFileNameA
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PSAPI_H */
-
Index: Daodan/MinGW/include/pshpack1.h
===================================================================
--- Daodan/MinGW/include/pshpack1.h	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,1)
-#endif
Index: Daodan/MinGW/include/pshpack2.h
===================================================================
--- Daodan/MinGW/include/pshpack2.h	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,2)
-#endif
Index: Daodan/MinGW/include/pshpack4.h
===================================================================
--- Daodan/MinGW/include/pshpack4.h	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,4)
-#endif
Index: Daodan/MinGW/include/pshpack8.h
===================================================================
--- Daodan/MinGW/include/pshpack8.h	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,8)
-#endif
Index: Daodan/MinGW/include/pthread.h
===================================================================
--- Daodan/MinGW/include/pthread.h	(revision 1046)
+++ 	(revision )
@@ -1,1142 +1,0 @@
-/*
- * pthread.h
- *
- * This is an implementation of the threads API of the Single Unix Specification.
- *
- * --------------------------------------------------------------------------
- *
- *      Pthreads-win32 - POSIX Threads Library for Win32
- *      Copyright(C) 1998 John E. Bossom
- *      Copyright(C) 1999,2013 Pthreads-win32 contributors
- *
- *      Homepage1: http://sourceware.org/pthreads-win32/
- *      Homepage2: http://sourceforge.net/projects/pthreads4w/
- *
- *      The current list of contributors is contained
- *      in the file CONTRIBUTORS included with the source
- *      code distribution. The list can also be seen at the
- *      following World Wide Web location:
- *      http://sources.redhat.com/pthreads-win32/contributors.html
- *
- *      This library is free software; you can redistribute it and/or
- *      modify it under the terms of the GNU Lesser General Public
- *      License as published by the Free Software Foundation; either
- *      version 2 of the License, or (at your option) any later version.
- *
- *      This library is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *      Lesser General Public License for more details.
- *
- *      You should have received a copy of the GNU Lesser General Public
- *      License along with this library in the file COPYING.LIB;
- *      if not, write to the Free Software Foundation, Inc.,
- *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-#ifndef _PTHREAD_H
-#define _PTHREAD_H
-
-/* There are three implementations of cancel cleanup.
- * Note that pthread.h is included in both application
- * compilation units and also internally for the library.
- * The code here and within the library aims to work
- * for all reasonable combinations of environments.
- *
- * The three implementations are:
- *
- *   WIN32 SEH
- *   C
- *   C++
- *
- * Please note that exiting a push/pop block via
- * "return", "exit", "break", or "continue" will
- * lead to different behaviour amongst applications
- * depending upon whether the library was built
- * using SEH, C++, or C. For example, a library built
- * with SEH will call the cleanup routine, while both
- * C++ and C built versions will not.
- */
-
-/* Define defaults for cleanup code.
- * Note: Unless the build explicitly defines one of the following, then
- * we default to standard C style cleanup. This style uses setjmp/longjmp
- * in the cancellation and thread exit implementations and therefore won't
- * do stack unwinding if linked to applications that have it (e.g.
- * C++ apps). This is currently consistent with most/all commercial Unix
- * POSIX threads implementations.
- */
-#if !defined(__CLEANUP_SEH) && !defined(__CLEANUP_CXX) && !defined(__CLEANUP_C)
-# define __CLEANUP_C
-#endif
-
-#if defined(__CLEANUP_SEH) && (!defined(_MSC_VER) && !defined(__PTW32_RC_MSC))
-#error ERROR [__FILE__, line __LINE__]: SEH is not supported for this compiler.
-#endif
-
-#include <_ptw32.h>
-
-/*
- * Stop here if we are being included by the resource compiler.
- */
-#if !defined(RC_INVOKED)
-
-#undef  __PTW32_LEVEL
-#undef  __PTW32_LEVEL_MAX
-#define __PTW32_LEVEL_MAX  3
-
-#if _POSIX_C_SOURCE >= 200112L			/* POSIX.1-2001 and later */
-# define __PTW32_LEVEL  __PTW32_LEVEL_MAX	/* include everything     */
-
-#elif defined INCLUDE_NP			/* earlier than POSIX.1-2001, but... */
-# define __PTW32_LEVEL  2			/* include non-portable extensions   */
-
-#elif _POSIX_C_SOURCE >= 199309L		/* POSIX.1-1993           */
-# define __PTW32_LEVEL  1 			/* include 1b, 1c, and 1d */
-
-#elif defined _POSIX_SOURCE			/* early POSIX     */
-# define __PTW32_LEVEL  0			/* minimal support */
-
-#else						/* unspecified support level */
-# define __PTW32_LEVEL  __PTW32_LEVEL_MAX	/* include everything anyway */
-#endif
-
-/* -------------------------------------------------------------
- *
- * Module: pthread.h
- *
- * Purpose:
- *      Provides an implementation of PThreads based upon the
- *      standard:
- *
- *              POSIX 1003.1-2001
- *  and
- *    The Single Unix Specification version 3
- *
- *    (these two are equivalent)
- *
- *      in order to enhance code portability between Windows,
- *  various commercial Unix implementations, and Linux.
- *
- *      See the ANNOUNCE file for a full list of conforming
- *      routines and defined constants, and a list of missing
- *      routines and constants not defined in this implementation.
- *
- * Authors:
- *      There have been many contributors to this library.
- *      The initial implementation was contributed by
- *      John Bossom, and several others have provided major
- *      sections or revisions of parts of the implementation.
- *      Often significant effort has been contributed to
- *      find and fix important bugs and other problems to
- *      improve the reliability of the library, which sometimes
- *      is not reflected in the amount of code which changed as
- *      result.
- *      As much as possible, the contributors are acknowledged
- *      in the ChangeLog file in the source code distribution
- *      where their changes are noted in detail.
- *
- *      Contributors are listed in the CONTRIBUTORS file.
- *
- *      As usual, all bouquets go to the contributors, and all
- *      brickbats go to the project maintainer.
- *
- * Maintainer:
- *      The code base for this project is coordinated and
- *      eventually pre-tested, packaged, and made available by
- *
- *              Ross Johnson <rpj@callisto.canberra.edu.au>
- *
- * QA Testers:
- *      Ultimately, the library is tested in the real world by
- *      a host of competent and demanding scientists and
- *      engineers who report bugs and/or provide solutions
- *      which are then fixed or incorporated into subsequent
- *      versions of the library. Each time a bug is fixed, a
- *      test case is written to prove the fix and ensure
- *      that later changes to the code don't reintroduce the
- *      same error. The number of test cases is slowly growing
- *      and therefore so is the code reliability.
- *
- * Compliance:
- *      See the file ANNOUNCE for the list of implemented
- *      and not-implemented routines and defined options.
- *      Of course, these are all defined is this file as well.
- *
- * Web site:
- *      The source code and other information about this library
- *      are available from
- *
- *              http://sources.redhat.com/pthreads-win32/
- *
- * -------------------------------------------------------------
- */
-enum
-{ /* Boolean values to make us independent of system includes. */
-  PTW32_FALSE = 0,
-  PTW32_TRUE = (! PTW32_FALSE)
-};
-
-#include <time.h>
-#include <sched.h>
-
-/* -------------------------------------------------------------
- *
- * POSIX 1003.1-2001 Options
- * =========================
- *
- * Options are normally set in <unistd.h>, which is not provided
- * with pthreads-win32.
- *
- * For conformance with the Single Unix Specification (version 3), all of the
- * options below are defined, and have a value of either -1 (not supported)
- * or yyyymm[dd]L (supported).
- *
- * These options can neither be left undefined nor have a value of 0, because
- * either indicates that sysconf(), which is not implemented, may be used at
- * runtime to check the status of the option.
- *
- * _POSIX_THREADS (== 20080912L)
- *                      If == 20080912L, you can use threads
- *
- * _POSIX_THREAD_ATTR_STACKSIZE (== 200809L)
- *                      If == 200809L, you can control the size of a thread's
- *                      stack
- *                              pthread_attr_getstacksize
- *                              pthread_attr_setstacksize
- *
- * _POSIX_THREAD_ATTR_STACKADDR (== -1)
- *                      If == 200809L, you can allocate and control a thread's
- *                      stack. If not supported, the following functions
- *                      will return ENOSYS, indicating they are not
- *                      supported:
- *                              pthread_attr_getstackaddr
- *                              pthread_attr_setstackaddr
- *
- * _POSIX_THREAD_PRIORITY_SCHEDULING (== -1)
- *                      If == 200112L, you can use realtime scheduling.
- *                      This option indicates that the behaviour of some
- *                      implemented functions conforms to the additional TPS
- *                      requirements in the standard. E.g. rwlocks favour
- *                      writers over readers when threads have equal priority.
- *
- * _POSIX_THREAD_PRIO_INHERIT (== -1)
- *                      If == 200809L, you can create priority inheritance
- *                      mutexes.
- *                              pthread_mutexattr_getprotocol +
- *                              pthread_mutexattr_setprotocol +
- *
- * _POSIX_THREAD_PRIO_PROTECT (== -1)
- *                      If == 200809L, you can create priority ceiling mutexes
- *                      Indicates the availability of:
- *                              pthread_mutex_getprioceiling
- *                              pthread_mutex_setprioceiling
- *                              pthread_mutexattr_getprioceiling
- *                              pthread_mutexattr_getprotocol     +
- *                              pthread_mutexattr_setprioceiling
- *                              pthread_mutexattr_setprotocol     +
- *
- * _POSIX_THREAD_PROCESS_SHARED (== -1)
- *                      If set, you can create mutexes and condition
- *                      variables that can be shared with another
- *                      process.If set, indicates the availability
- *                      of:
- *                              pthread_mutexattr_getpshared
- *                              pthread_mutexattr_setpshared
- *                              pthread_condattr_getpshared
- *                              pthread_condattr_setpshared
- *
- * _POSIX_THREAD_SAFE_FUNCTIONS (== 200809L)
- *                      If == 200809L you can use the special *_r library
- *                      functions that provide thread-safe behaviour
- *
- * _POSIX_READER_WRITER_LOCKS (== 200809L)
- *                      If == 200809L, you can use read/write locks
- *
- * _POSIX_SPIN_LOCKS (== 200809L)
- *                      If == 200809L, you can use spin locks
- *
- * _POSIX_BARRIERS (== 200809L)
- *                      If == 200809L, you can use barriers
- *
- * _POSIX_ROBUST_MUTEXES (== 200809L)
- *                      If == 200809L, you can use robust mutexes
- *                      Officially this should also imply
- *                      _POSIX_THREAD_PROCESS_SHARED != -1 however
- *                      not here yet.
- *
- * -------------------------------------------------------------
- */
-/* POSIX Options
- */
-#undef  _POSIX_THREADS
-#define _POSIX_THREADS  200809L
-
-#undef  _POSIX_READER_WRITER_LOCKS
-#define _POSIX_READER_WRITER_LOCKS  200809L
-
-#undef  _POSIX_SPIN_LOCKS
-#define _POSIX_SPIN_LOCKS  200809L
-
-#undef  _POSIX_BARRIERS
-#define _POSIX_BARRIERS  200809L
-
-#undef  _POSIX_THREAD_SAFE_FUNCTIONS
-#define _POSIX_THREAD_SAFE_FUNCTIONS  200809L
-
-#undef  _POSIX_THREAD_ATTR_STACKSIZE
-#define _POSIX_THREAD_ATTR_STACKSIZE  200809L
-
-#undef  _POSIX_ROBUST_MUTEXES
-#define _POSIX_ROBUST_MUTEXES  200809L
-
-/* The following options are not supported
- */
-#undef  _POSIX_THREAD_ATTR_STACKADDR
-#define _POSIX_THREAD_ATTR_STACKADDR  -1
-
-#undef  _POSIX_THREAD_PRIO_INHERIT
-#define _POSIX_THREAD_PRIO_INHERIT  -1
-
-#undef  _POSIX_THREAD_PRIO_PROTECT
-#define _POSIX_THREAD_PRIO_PROTECT  -1
-
-/* TPS is not fully supported.  */
-#undef  _POSIX_THREAD_PRIORITY_SCHEDULING
-#define _POSIX_THREAD_PRIORITY_SCHEDULING  -1
-
-#undef  _POSIX_THREAD_PROCESS_SHARED
-#define _POSIX_THREAD_PROCESS_SHARED  -1
-
-
-/* POSIX 1003.1-2001 Limits
- * ===========================
- *
- * These limits are normally set in <limits.h>, which is not provided with
- * pthreads-win32.
- *
- * PTHREAD_DESTRUCTOR_ITERATIONS
- *                      Maximum number of attempts to destroy
- *                      a thread's thread-specific data on
- *                      termination (must be at least 4)
- *
- * PTHREAD_KEYS_MAX
- *                      Maximum number of thread-specific data keys
- *                      available per process (must be at least 128)
- *
- * PTHREAD_STACK_MIN
- *                      Minimum supported stack size for a thread
- *
- * PTHREAD_THREADS_MAX
- *                      Maximum number of threads supported per
- *                      process (must be at least 64).
- *
- * SEM_NSEMS_MAX
- *                      The maximum number of semaphores a process can have.
- *                      (must be at least 256)
- *
- * SEM_VALUE_MAX
- *                      The maximum value a semaphore can have.
- *                      (must be at least 32767)
- *
- */
-#undef  _POSIX_THREAD_DESTRUCTOR_ITERATIONS
-#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS     4
-
-#undef  PTHREAD_DESTRUCTOR_ITERATIONS
-#define PTHREAD_DESTRUCTOR_ITERATIONS           _POSIX_THREAD_DESTRUCTOR_ITERATIONS
-
-#undef  _POSIX_THREAD_KEYS_MAX
-#define _POSIX_THREAD_KEYS_MAX                  128
-
-#undef  PTHREAD_KEYS_MAX
-#define PTHREAD_KEYS_MAX                        _POSIX_THREAD_KEYS_MAX
-
-#undef  PTHREAD_STACK_MIN
-#define PTHREAD_STACK_MIN                       0
-
-#undef  _POSIX_THREAD_THREADS_MAX
-#define _POSIX_THREAD_THREADS_MAX               64
-
-/* Arbitrary value */
-#undef  PTHREAD_THREADS_MAX
-#define PTHREAD_THREADS_MAX                     2019
-
-#undef  _POSIX_SEM_NSEMS_MAX
-#define _POSIX_SEM_NSEMS_MAX                    256
-
-/* Arbitrary value */
-#undef  SEM_NSEMS_MAX
-#define SEM_NSEMS_MAX                           1024
-
-#undef  _POSIX_SEM_VALUE_MAX
-#define _POSIX_SEM_VALUE_MAX                    32767
-
-#undef  SEM_VALUE_MAX
-#define SEM_VALUE_MAX                           INT_MAX
-
-
-#if defined(_UWIN) && __PTW32_LEVEL >= __PTW32_LEVEL_MAX
-#   include     <sys/types.h>
-#else
-/* Generic handle type - intended to provide the lifetime-uniqueness that
- * a simple pointer can't. It should scale for either
- * 32 or 64 bit systems.
- *
- * The constraint with this approach is that applications must
- * strictly comply with POSIX, e.g. not assume scalar type, only
- * compare pthread_t using the API function pthread_equal(), etc.
- *
- * Applications can use the element 'p' to compare, e.g. for sorting,
- * but it will be up to the application to determine if handles are
- * live or dead, or resurrected for an entirely new/different thread.
- */
-typedef struct
-{ void * p;                   /* Pointer to actual object */
-#if __PTW32_VERSION_MAJOR > 2
-  size_t x;                   /* Extra information - reuse count etc */
-#else
-  unsigned int x;             /* Extra information - reuse count etc */
-#endif
-} ptw32_handle_t;
-
-typedef ptw32_handle_t pthread_t;
-typedef struct pthread_attr_t_ * pthread_attr_t;
-typedef struct pthread_once_t_ pthread_once_t;
-typedef struct pthread_key_t_ * pthread_key_t;
-typedef struct pthread_mutex_t_ * pthread_mutex_t;
-typedef struct pthread_mutexattr_t_ * pthread_mutexattr_t;
-typedef struct pthread_cond_t_ * pthread_cond_t;
-typedef struct pthread_condattr_t_ * pthread_condattr_t;
-#endif
-
-typedef struct pthread_rwlock_t_ * pthread_rwlock_t;
-typedef struct pthread_rwlockattr_t_ * pthread_rwlockattr_t;
-typedef struct pthread_spinlock_t_ * pthread_spinlock_t;
-typedef struct pthread_barrier_t_ * pthread_barrier_t;
-typedef struct pthread_barrierattr_t_ * pthread_barrierattr_t;
-
-/* ====================
- * ====================
- * POSIX Threads
- * ====================
- * ====================
- */
-
-enum
-{ /* pthread_attr_{get,set}detachstate
-   */
-  PTHREAD_CREATE_JOINABLE       = 0,  /* Default */
-  PTHREAD_CREATE_DETACHED       = 1,
-  /*
-   * pthread_attr_{get,set}inheritsched
-   */
-  PTHREAD_INHERIT_SCHED         = 0,
-  PTHREAD_EXPLICIT_SCHED        = 1,  /* Default */
-  /*
-   * pthread_{get,set}scope
-   */
-  PTHREAD_SCOPE_PROCESS         = 0,
-  PTHREAD_SCOPE_SYSTEM          = 1,  /* Default */
-  /*
-   * pthread_setcancelstate paramters
-   */
-  PTHREAD_CANCEL_ENABLE         = 0,  /* Default */
-  PTHREAD_CANCEL_DISABLE        = 1,
-  /*
-   * pthread_setcanceltype parameters
-   */
-  PTHREAD_CANCEL_ASYNCHRONOUS   = 0,
-  PTHREAD_CANCEL_DEFERRED       = 1,  /* Default */
-  /*
-   * pthread_mutexattr_{get,set}pshared
-   * pthread_condattr_{get,set}pshared
-   */
-  PTHREAD_PROCESS_PRIVATE       = 0,
-  PTHREAD_PROCESS_SHARED        = 1,
-  /*
-   * pthread_mutexattr_{get,set}robust
-   */
-  PTHREAD_MUTEX_STALLED         = 0,  /* Default */
-  PTHREAD_MUTEX_ROBUST          = 1,
-  /*
-   * pthread_barrier_wait
-   */
-  PTHREAD_BARRIER_SERIAL_THREAD = -1
-};
-
-/* ====================
- * ====================
- * cancellation
- * ====================
- * ====================
- */
-#define PTHREAD_CANCELED       ((void *)(size_t) -1)
-
-
-/* ====================
- * ====================
- * Once Key
- * ====================
- * ====================
- */
-#if __PTW32_VERSION_MAJOR > 2
-
-#define PTHREAD_ONCE_INIT       { PTW32_FALSE, 0 }
-
-struct pthread_once_t_
-{
-  void *       lock;		/* MCS lock */
-  int          done;    	/* indicates if user function has been executed */
-};
-
-#else
-
-#define PTHREAD_ONCE_INIT       { PTW32_FALSE, 0, 0, 0 }
-
-struct pthread_once_t_
-{
-  int          done;       	/* indicates if user function has been executed */
-  void *       lock;		/* MCS lock */
-  int          reserved1;
-  int          reserved2;
-};
-
-#endif
-
-
-/* ====================
- * ====================
- * Object initialisers
- * ====================
- * ====================
- */
-#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t)(size_t) -1)
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER ((pthread_mutex_t)(size_t) -2)
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER ((pthread_mutex_t)(size_t) -3)
-
-/* Compatibility with LinuxThreads
- */
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP PTHREAD_RECURSIVE_MUTEX_INITIALIZER
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP PTHREAD_ERRORCHECK_MUTEX_INITIALIZER
-#define PTHREAD_COND_INITIALIZER ((pthread_cond_t)(size_t) -1)
-#define PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t)(size_t) -1)
-#define PTHREAD_SPINLOCK_INITIALIZER ((pthread_spinlock_t)(size_t) -1)
-
-
-/* Mutex types.
- */
-enum
-{ /* Compatibility with LinuxThreads */
-  PTHREAD_MUTEX_FAST_NP,
-  PTHREAD_MUTEX_RECURSIVE_NP,
-  PTHREAD_MUTEX_ERRORCHECK_NP,
-  PTHREAD_MUTEX_TIMED_NP = PTHREAD_MUTEX_FAST_NP,
-  PTHREAD_MUTEX_ADAPTIVE_NP = PTHREAD_MUTEX_FAST_NP,
-  /* For compatibility with POSIX */
-  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_FAST_NP,
-  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
-  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
-  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
-};
-
-
-typedef struct ptw32_cleanup_t ptw32_cleanup_t;
-
-#if defined(_MSC_VER)
-/* Disable MSVC 'anachronism used' warning */
-#pragma warning( disable : 4229 )
-#endif
-
-typedef void (* __PTW32_CDECL ptw32_cleanup_callback_t)(void *);
-
-#if defined(_MSC_VER)
-#pragma warning( default : 4229 )
-#endif
-
-struct ptw32_cleanup_t
-{
-  ptw32_cleanup_callback_t routine;
-  void *arg;
-  struct ptw32_cleanup_t *prev;
-};
-
-#if defined(__CLEANUP_SEH)
-        /* WIN32 SEH version of cancel cleanup.
-         */
-
-#define pthread_cleanup_push( _rout, _arg ) \
-        { \
-            ptw32_cleanup_t     _cleanup; \
-            \
-        _cleanup.routine        = (ptw32_cleanup_callback_t)(_rout); \
-            _cleanup.arg        = (_arg); \
-            __try \
-              { \
-
-#define pthread_cleanup_pop( _execute ) \
-              } \
-            __finally \
-                { \
-                    if( _execute || AbnormalTermination()) \
-                      { \
-                          (*(_cleanup.routine))( _cleanup.arg ); \
-                      } \
-                } \
-        }
-
-#else /* !__CLEANUP_SEH */
-
-#if defined(__CLEANUP_C)
-        /* C implementation of PThreads cancel cleanup
-         */
-
-#define pthread_cleanup_push( _rout, _arg ) \
-        { \
-            ptw32_cleanup_t     _cleanup; \
-            \
-            ptw32_push_cleanup( &_cleanup, (ptw32_cleanup_callback_t) (_rout), (_arg) ); \
-
-#define pthread_cleanup_pop( _execute ) \
-            (void) ptw32_pop_cleanup( _execute ); \
-        }
-
-#else /* !__CLEANUP_C */
-
-#if defined(__CLEANUP_CXX)
-        /* C++ version of cancel cleanup.
-         * - John E. Bossom.
-         */
-        class PThreadCleanup {
-          /*
-           * PThreadCleanup
-           *
-           * Purpose
-           *      This class is a C++ helper class that is
-           *      used to implement pthread_cleanup_push/
-           *      pthread_cleanup_pop.
-           *      The destructor of this class automatically
-           *      pops the pushed cleanup routine regardless
-           *      of how the code exits the scope
-           *      (i.e. such as by an exception)
-           */
-      ptw32_cleanup_callback_t cleanUpRout;
-          void    *       obj;
-          int             executeIt;
-
-        public:
-          PThreadCleanup() :
-            cleanUpRout( 0 ),
-            obj( 0 ),
-            executeIt( 0 )
-            /*
-             * No cleanup performed
-             */
-            {
-            }
-
-          PThreadCleanup(
-             ptw32_cleanup_callback_t routine,
-                         void    *       arg ) :
-            cleanUpRout( routine ),
-            obj( arg ),
-            executeIt( 1 )
-            /*
-             * Registers a cleanup routine for 'arg'
-             */
-            {
-            }
-
-          ~PThreadCleanup()
-            {
-              if ( executeIt && ((void *) cleanUpRout != (void *) 0) )
-                {
-                  (void) (*cleanUpRout)( obj );
-                }
-            }
-
-          void execute( int exec )
-            {
-              executeIt = exec;
-            }
-        };
-
-        /* C++ implementation of PThreads cancel cleanup;
-         * This implementation takes advantage of a helper
-         * class who's destructor automatically calls the
-         * cleanup routine if we exit our scope weirdly
-         */
-#define pthread_cleanup_push( _rout, _arg ) \
-        { \
-            PThreadCleanup  cleanup((ptw32_cleanup_callback_t)(_rout), \
-                                    (void *) (_arg) );
-
-#define pthread_cleanup_pop( _execute ) \
-            cleanup.execute( _execute ); \
-        }
-
-#else
-
-#error ERROR [__FILE__, line __LINE__]: Cleanup type undefined.
-
-#endif /* __CLEANUP_CXX */
-#endif /* __CLEANUP_C */
-#endif /* __CLEANUP_SEH */
-
-
-/*
- * ===============
- * ===============
- * Methods
- * ===============
- * ===============
- */
-
-__PTW32_BEGIN_C_DECLS
-
-/* PThread Attribute Functions
- */
-__PTW32_DECLSPEC int pthread_attr_init (pthread_attr_t *);
-__PTW32_DECLSPEC int pthread_attr_destroy (pthread_attr_t *);
-
-__PTW32_DECLSPEC int pthread_attr_getaffinity_np
-(const pthread_attr_t *, size_t, cpu_set_t *);
-
-__PTW32_DECLSPEC int pthread_attr_getdetachstate (const pthread_attr_t *, int *);
-__PTW32_DECLSPEC int pthread_attr_getstackaddr (const pthread_attr_t *, void **);
-
-__PTW32_DECLSPEC int pthread_attr_getstacksize (const pthread_attr_t *, size_t *);
-
-__PTW32_DECLSPEC int pthread_attr_setaffinity_np
-(pthread_attr_t *, size_t, const cpu_set_t *);
-
-__PTW32_DECLSPEC int pthread_attr_setdetachstate (pthread_attr_t *, int); 
-__PTW32_DECLSPEC int pthread_attr_setstackaddr (pthread_attr_t *, void *); 
-__PTW32_DECLSPEC int pthread_attr_setstacksize (pthread_attr_t *, size_t);
-
-__PTW32_DECLSPEC int pthread_attr_getschedparam
-(const pthread_attr_t *, struct sched_param *);
-
-__PTW32_DECLSPEC int pthread_attr_setschedparam
-(pthread_attr_t *, const struct sched_param *);
-
-__PTW32_DECLSPEC int pthread_attr_setschedpolicy (pthread_attr_t *, int);
-__PTW32_DECLSPEC int pthread_attr_getschedpolicy (const pthread_attr_t *, int *);
-__PTW32_DECLSPEC int pthread_attr_setinheritsched (pthread_attr_t *, int);
-
-__PTW32_DECLSPEC int pthread_attr_getinheritsched
-(const pthread_attr_t *, int * inheritsched);
-
-__PTW32_DECLSPEC int pthread_attr_setscope (pthread_attr_t *, int); 
-__PTW32_DECLSPEC int pthread_attr_getscope (const pthread_attr_t *, int *);
-
-/* PThread Functions
- */
-__PTW32_DECLSPEC int pthread_create
-(pthread_t *, const pthread_attr_t *, void *(__PTW32_CDECL *)(void *), void *);
-
-__PTW32_DECLSPEC int pthread_detach (pthread_t); 
-__PTW32_DECLSPEC int pthread_equal (pthread_t, pthread_t); 
-__PTW32_DECLSPEC void pthread_exit (void *); 
-__PTW32_DECLSPEC int pthread_join (pthread_t, void **); 
-__PTW32_DECLSPEC pthread_t pthread_self (void); 
-__PTW32_DECLSPEC int pthread_cancel (pthread_t); 
-__PTW32_DECLSPEC int pthread_setcancelstate (int, int *); 
-__PTW32_DECLSPEC int pthread_setcanceltype (int, int *); 
-__PTW32_DECLSPEC void pthread_testcancel (void);
-
-__PTW32_DECLSPEC int pthread_once
-(pthread_once_t *, void (__PTW32_CDECL *)(void));
-
-#if __PTW32_LEVEL >= __PTW32_LEVEL_MAX
-__PTW32_DECLSPEC ptw32_cleanup_t * ptw32_pop_cleanup (int);
-
-__PTW32_DECLSPEC void ptw32_push_cleanup
-(ptw32_cleanup_t *, ptw32_cleanup_callback_t, void *);
-
-#endif /* __PTW32_LEVEL >= __PTW32_LEVEL_MAX */
-
-/* Thread Specific Data Functions
- */
-__PTW32_DECLSPEC int pthread_key_create
-(pthread_key_t *, void (__PTW32_CDECL *)(void *));
-
-__PTW32_DECLSPEC int pthread_key_delete (pthread_key_t);
-__PTW32_DECLSPEC int pthread_setspecific (pthread_key_t, const void *); 
-__PTW32_DECLSPEC void * pthread_getspecific (pthread_key_t);
-
-
-/* Mutex Attribute Functions
- */
-__PTW32_DECLSPEC int pthread_mutexattr_init (pthread_mutexattr_t *);
-__PTW32_DECLSPEC int pthread_mutexattr_destroy (pthread_mutexattr_t *);
-
-__PTW32_DECLSPEC int pthread_mutexattr_getpshared
-(const pthread_mutexattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_mutexattr_setpshared (pthread_mutexattr_t *, int);
-__PTW32_DECLSPEC int pthread_mutexattr_settype (pthread_mutexattr_t *, int);
-
-__PTW32_DECLSPEC int pthread_mutexattr_gettype
-(const pthread_mutexattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_mutexattr_setrobust (pthread_mutexattr_t *, int);
-
-__PTW32_DECLSPEC int pthread_mutexattr_getrobust
-( const pthread_mutexattr_t *, int *);
-
-/* Barrier Attribute Functions
- */
-__PTW32_DECLSPEC int pthread_barrierattr_init (pthread_barrierattr_t *);
-__PTW32_DECLSPEC int pthread_barrierattr_destroy (pthread_barrierattr_t *);
-
-__PTW32_DECLSPEC int pthread_barrierattr_getpshared
-(const pthread_barrierattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_barrierattr_setpshared
-(pthread_barrierattr_t *, int);
-
-/* Mutex Functions
- */
-__PTW32_DECLSPEC int pthread_mutex_init
-(pthread_mutex_t *, const pthread_mutexattr_t *);
-
-__PTW32_DECLSPEC int pthread_mutex_destroy (pthread_mutex_t *);
-__PTW32_DECLSPEC int pthread_mutex_lock (pthread_mutex_t *);
-
-__PTW32_DECLSPEC int pthread_mutex_timedlock
-(pthread_mutex_t *, const struct timespec *);
-
-__PTW32_DECLSPEC int pthread_mutex_trylock (pthread_mutex_t *);
-__PTW32_DECLSPEC int pthread_mutex_unlock (pthread_mutex_t *);
-__PTW32_DECLSPEC int pthread_mutex_consistent (pthread_mutex_t *);
-
-/* Spinlock Functions
- */
-__PTW32_DECLSPEC int pthread_spin_init (pthread_spinlock_t *, int);
-__PTW32_DECLSPEC int pthread_spin_destroy (pthread_spinlock_t *);
-__PTW32_DECLSPEC int pthread_spin_lock (pthread_spinlock_t *);
-__PTW32_DECLSPEC int pthread_spin_trylock (pthread_spinlock_t *);
-__PTW32_DECLSPEC int pthread_spin_unlock (pthread_spinlock_t *);
-
-/* Barrier Functions
- */
-__PTW32_DECLSPEC int pthread_barrier_init
-(pthread_barrier_t *, const pthread_barrierattr_t *, unsigned int);
-
-__PTW32_DECLSPEC int pthread_barrier_destroy (pthread_barrier_t *);
-__PTW32_DECLSPEC int pthread_barrier_wait (pthread_barrier_t *);
-
-/* Condition Variable Attribute Functions
- */
-__PTW32_DECLSPEC int pthread_condattr_init (pthread_condattr_t *);
-__PTW32_DECLSPEC int pthread_condattr_destroy (pthread_condattr_t *);
-
-__PTW32_DECLSPEC int pthread_condattr_getpshared
-(const pthread_condattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_condattr_setpshared (pthread_condattr_t *, int);
-
-/* Condition Variable Functions
- */
-__PTW32_DECLSPEC int pthread_cond_init
-(pthread_cond_t *, const pthread_condattr_t *);
-
-__PTW32_DECLSPEC int pthread_cond_destroy (pthread_cond_t * cond);
-__PTW32_DECLSPEC int pthread_cond_wait (pthread_cond_t *, pthread_mutex_t *);
-
-__PTW32_DECLSPEC int pthread_cond_timedwait
-(pthread_cond_t *, pthread_mutex_t *, const struct timespec *);
-
-__PTW32_DECLSPEC int pthread_cond_signal (pthread_cond_t *);
-__PTW32_DECLSPEC int pthread_cond_broadcast (pthread_cond_t *);
-
-/* Scheduling
- */
-__PTW32_DECLSPEC int pthread_setschedparam
-(pthread_t, int, const struct sched_param *);
-
-__PTW32_DECLSPEC int pthread_getschedparam
-(pthread_t, int *, struct sched_param *);
-
-__PTW32_DECLSPEC int pthread_setconcurrency (int);
-__PTW32_DECLSPEC int pthread_getconcurrency (void);
-
-/* Read-Write Lock Functions
- */
-__PTW32_DECLSPEC int pthread_rwlock_init
-(pthread_rwlock_t *, const pthread_rwlockattr_t *);
-
-__PTW32_DECLSPEC int pthread_rwlock_destroy (pthread_rwlock_t *);
-__PTW32_DECLSPEC int pthread_rwlock_tryrdlock (pthread_rwlock_t *);
-__PTW32_DECLSPEC int pthread_rwlock_trywrlock (pthread_rwlock_t *);
-__PTW32_DECLSPEC int pthread_rwlock_rdlock (pthread_rwlock_t *);
-
-__PTW32_DECLSPEC int pthread_rwlock_timedrdlock
-(pthread_rwlock_t *, const struct timespec *);
-
-__PTW32_DECLSPEC int pthread_rwlock_wrlock (pthread_rwlock_t *);
-__PTW32_DECLSPEC int pthread_rwlock_timedwrlock
-(pthread_rwlock_t *, const struct timespec *);
-
-__PTW32_DECLSPEC int pthread_rwlock_unlock (pthread_rwlock_t *lock);
-__PTW32_DECLSPEC int pthread_rwlockattr_init (pthread_rwlockattr_t *);
-__PTW32_DECLSPEC int pthread_rwlockattr_destroy (pthread_rwlockattr_t *);
-
-__PTW32_DECLSPEC int pthread_rwlockattr_getpshared
-(const pthread_rwlockattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_rwlockattr_setpshared
-(pthread_rwlockattr_t *, int);
-
-#if __PTW32_LEVEL >= __PTW32_LEVEL_MAX - 1
-
-/* Signal Functions. Should be defined in <signal.h> but MSVC and MinGW32
- * already have signal.h that don't define these.
- */
-__PTW32_DECLSPEC int pthread_kill (pthread_t, int);
-
-/* Non-portable functions
- */
-
-/* Compatibility with Linux.
- */
-__PTW32_DECLSPEC int pthread_mutexattr_setkind_np (pthread_mutexattr_t *, int);
-__PTW32_DECLSPEC int pthread_mutexattr_getkind_np (pthread_mutexattr_t *, int *);
-
-__PTW32_DECLSPEC int pthread_timedjoin_np
-(pthread_t, void **, const struct timespec *);
-
-__PTW32_DECLSPEC int pthread_tryjoin_np (pthread_t, void **);
-
-__PTW32_DECLSPEC int pthread_setaffinity_np
-(pthread_t, size_t, const cpu_set_t *);
-
-__PTW32_DECLSPEC int pthread_getaffinity_np (pthread_t, size_t, cpu_set_t *);
-
-/* Possibly supported by other POSIX threads implementations
- */
-__PTW32_DECLSPEC int pthread_delay_np (struct timespec *);
-__PTW32_DECLSPEC int pthread_num_processors_np (void);
-__PTW32_DECLSPEC unsigned __int64 pthread_getunique_np (pthread_t);
-
-/* Useful if an application wants to statically link
- * the lib rather than load the DLL at run-time.
- */
-__PTW32_DECLSPEC int pthread_win32_process_attach_np (void);
-__PTW32_DECLSPEC int pthread_win32_process_detach_np (void);
-__PTW32_DECLSPEC int pthread_win32_thread_attach_np (void);
-__PTW32_DECLSPEC int pthread_win32_thread_detach_np (void);
-
-/* Returns the first parameter "abstime" modified to represent the current system time.
- * If "relative" is not NULL it represents an interval to add to "abstime".
- */
-__PTW32_DECLSPEC struct timespec *pthread_win32_getabstime_np
-( struct timespec *, const struct timespec *);
-
-/* Features that are auto-detected at load/run time.
- */
-__PTW32_DECLSPEC int pthread_win32_test_features_np (int);
-enum ptw32_features
-{
-  PTW32_SYSTEM_INTERLOCKED_COMPARE_EXCHANGE = 0x0001,	/* System provides it. */
-  PTW32_ALERTABLE_ASYNC_CANCEL              = 0x0002	/* Can cancel blocked threads. */
-};
-
-/* Register a system time change with the library.
- * Causes the library to perform various functions
- * in response to the change. Should be called whenever
- * the application's top level window receives a
- * WM_TIMECHANGE message. It can be passed directly to
- * pthread_create() as a new thread if desired.
- */
-__PTW32_DECLSPEC void *pthread_timechange_handler_np (void *);
-
-#endif /* __PTW32_LEVEL >= __PTW32_LEVEL_MAX - 1 */
-
-#if __PTW32_LEVEL >= __PTW32_LEVEL_MAX
-
-/* Returns the Win32 HANDLE for the POSIX thread.
- */
-__PTW32_DECLSPEC void *pthread_getw32threadhandle_np (pthread_t);
-/*
- * Returns the win32 thread ID for POSIX thread.
- */
-__PTW32_DECLSPEC unsigned long pthread_getw32threadid_np (pthread_t);
-
-/* Sets the POSIX thread name. If _MSC_VER is defined the name should be displayed by
- * the MSVS debugger.
- */
-#if defined(_PTW32_COMPATIBILITY_BSD) || defined(_PTW32_COMPATIBILITY_TRU64)
-#define PTHREAD_MAX_NAMELEN_NP 16
-__PTW32_DECLSPEC int pthread_setname_np (pthread_t, const char *, void *);
-__PTW32_DECLSPEC int pthread_attr_setname_np (pthread_attr_t *, const char *, void *);
-#else
-__PTW32_DECLSPEC int pthread_setname_np (pthread_t, const char *);
-__PTW32_DECLSPEC int pthread_attr_setname_np (pthread_attr_t *, const char *);
-#endif
-
-__PTW32_DECLSPEC int pthread_getname_np (pthread_t, char *, int);
-__PTW32_DECLSPEC int pthread_attr_getname_np (pthread_attr_t *, char *, int);
-
-
-/* Protected Methods
- *
- * This function blocks until the given WIN32 handle
- * is signalled or pthread_cancel had been called.
- * This function allows the caller to hook into the
- * PThreads cancel mechanism. It is implemented using
- *
- *              WaitForMultipleObjects
- *
- * on 'waitHandle' and a manually reset WIN32 Event
- * used to implement pthread_cancel. The 'timeout'
- * argument to TimedWait is simply passed to
- * WaitForMultipleObjects.
- */
-__PTW32_DECLSPEC int pthreadCancelableWait (void *);
-__PTW32_DECLSPEC int pthreadCancelableTimedWait (void *, unsigned long);
-
-#endif /* __PTW32_LEVEL >= __PTW32_LEVEL_MAX */
-
-/* Declare a thread-safe errno for Open Watcom
- * (note: this has not been tested in a long time)
- */
-#if defined(__WATCOMC__) && !defined(errno)
-# if defined(_MT) || defined(_DLL)
-   __declspec(dllimport) extern int * __cdecl _errno (void);
-#  define errno (*_errno())
-# endif
-#endif
-
-/* If pthreads-win32 is compiled as a DLL with MSVC, and
- * both it and the application are linked against the static
- * C runtime (i.e. with the /MT compiler flag), then the
- * application will not see the same C runtime globals as
- * the library. These include the errno variable, and the
- * termination routine called by terminate(). For details,
- * refer to the following links:
- *
- * http://support.microsoft.com/kb/94248
- * (Section 4: Problems Encountered When Using Multiple CRT Libraries)
- *
- * http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b4500c0d-1b69-40c7-9ef5-08da1025b5bf
- *
- * When pthreads-win32 is built with __PTW32_USES_SEPARATE_CRT
- * defined, the following features are enabled:
- *
- * (1) In addition to setting the errno variable when errors
- * occur, the library will also call SetLastError() with the
- * same value. The application can then use GetLastError()
- * to obtain the value of errno. (This pair of routines are
- * in kernel32.dll, and so are not affected by the use of
- * multiple CRT libraries.)
- *
- * (2) When C++ or SEH cleanup is used, the library defines
- * a function pthread_win32_set_terminate_np(), which can be
- * used to set the termination routine that should be called
- * when an unhandled exception occurs in a thread function
- * (or otherwise inside the library).
- *
- * Note: "_DLL" implies the /MD compiler flag.
- */
-#if defined(_MSC_VER) && !defined(_DLL) && !defined(_PTW32_STATIC_LIB)
-# define __PTW32_USES_SEPARATE_CRT
-#endif
-
-#if defined(__PTW32_USES_SEPARATE_CRT) && (defined(__CLEANUP_CXX) || defined(__CLEANUP_SEH))
-typedef void (*ptw32_terminate_handler)();
-__PTW32_DECLSPEC ptw32_terminate_handler pthread_win32_set_terminate_np
-(ptw32_terminate_handler);
-#endif
-
-/* Some compiler environments don't define some things.
- */
-#if defined(__BORLANDC__)
-# define _ftime ftime
-# define _timeb timeb
-#endif
-
-#if defined(__cplusplus)
-
-/* Internal exceptions
- */
-class ptw32_exception {};
-class ptw32_exception_cancel : public ptw32_exception {};
-class ptw32_exception_exit   : public ptw32_exception {};
-
-#endif
-
-#if __PTW32_LEVEL >= __PTW32_LEVEL_MAX
-
-/* FIXME: This is only required if the library was built using SEH */
-/*
- * Get internal SEH tag
- */
-__PTW32_DECLSPEC unsigned long ptw32_get_exception_services_code (void);
-
-#endif /* __PTW32_LEVEL >= __PTW32_LEVEL_MAX */
-
-#if !defined(__PTW32_BUILD)
-
-#if defined(__CLEANUP_SEH)
-
-/* Redefine the SEH __except keyword to ensure that applications
- * propagate our internal exceptions up to the library's internal handlers.
- */
-#define __except( E ) \
-        __except( ( GetExceptionCode() == ptw32_get_exception_services_code() ) \
-                 ? EXCEPTION_CONTINUE_SEARCH : ( E ) )
-
-#endif /* __CLEANUP_SEH */
-
-#if defined(__CLEANUP_CXX)
-
-/* Redefine the C++ catch keyword to ensure that applications
- * propagate our internal exceptions up to the library's internal handlers.
- */
-#if defined(_MSC_VER)
- /* WARNING: Replace any 'catch( ... )' with 'PtW32CatchAll'
-  * if you want Pthread-Win32 cancellation and pthread_exit to work.
-  */
-#if !defined(PtW32NoCatchWarn)
-
-#pragma message("Specify \"/DPtW32NoCatchWarn\" compiler flag to skip this message.")
-#pragma message("------------------------------------------------------------------")
-#pragma message("When compiling applications with MSVC++ and C++ exception handling:")
-#pragma message("  Replace any 'catch( ... )' in routines called from POSIX threads")
-#pragma message("  with 'PtW32CatchAll' or 'CATCHALL' if you want POSIX thread")
-#pragma message("  cancellation and pthread_exit to work. For example:")
-#pragma message("")
-#pragma message("    #if defined(PtW32CatchAll)")
-#pragma message("      PtW32CatchAll")
-#pragma message("    #else")
-#pragma message("      catch(...)")
-#pragma message("    #endif")
-#pragma message("        {")
-#pragma message("          /* Catchall block processing */")
-#pragma message("        }")
-#pragma message("------------------------------------------------------------------")
-
-#endif
-
-#define PtW32CatchAll \
-        catch( ptw32_exception & ) { throw; } \
-        catch( ... )
-
-#else /* _MSC_VER */
-
-#define catch( E ) \
-        catch( ptw32_exception & ) { throw; } \
-        catch( E )
-
-#endif /* _MSC_VER */
-#endif /* __CLEANUP_CXX */
-#endif /* ! __PTW32_BUILD */
-
-__PTW32_END_C_DECLS
-
-#undef __PTW32_LEVEL
-#undef __PTW32_LEVEL_MAX
-
-#endif /* ! RC_INVOKED */
-#endif /* !_PTHREAD_H */
Index: Daodan/MinGW/include/ptw32_errno.h
===================================================================
--- Daodan/MinGW/include/ptw32_errno.h	(revision 1046)
+++ 	(revision )
@@ -1,186 +1,0 @@
-/*
- * Module: ptw32_errno.h
- *
- * Purpose:
- *      Provides a replacement for <errno.h>, with supplementary
- *      definitions for platforms which already provide their own
- *      implementation, or a complete substitute for WinCE.
- *
- * --------------------------------------------------------------------------
- *
- *      Pthreads-win32 - POSIX Threads Library for Win32
- *      Copyright(C) 1998 John E. Bossom
- *      Copyright(C) 1999-2012, 2016, Pthreads-win32 contributors
- *
- *      Homepage1: http://sourceware.org/pthreads-win32/
- *      Homepage2: http://sourceforge.net/projects/pthreads4w/
- *
- *      The current list of contributors is contained
- *      in the file CONTRIBUTORS included with the source
- *      code distribution. The list can also be seen at the
- *      following World Wide Web location:
- *      http://sources.redhat.com/pthreads-win32/contributors.html
- *
- *      This library is free software; you can redistribute it and/or
- *      modify it under the terms of the GNU Lesser General Public
- *      License as published by the Free Software Foundation; either
- *      version 2 of the License, or (at your option) any later version.
- *
- *      This library is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *      Lesser General Public License for more details.
- *
- *      You should have received a copy of the GNU Lesser General Public
- *      License along with this library in the file COPYING.LIB;
- *      if not, write to the Free Software Foundation, Inc.,
- *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
- */
-#ifndef _PTW32_ERRNO_H
-#define _PTW32_ERRNO_H
-
-/* We must ensure that the core pthreads-win32 definitions are
- * read in.
- */
-#include <_ptw32.h>
-
-#if HAVE_ERRNO_H || !(defined(_WIN32_WCE) || defined(UNDER_CE))
-/* Most Win32 platforms, except for WinCE, provide their own <errno.h>,
- * so, when not compiling for WinCE, or its presence has been explicitly
- * detected during project configuration, use it.
- */
-# include <errno.h>
-
-#else
-/* Compiling for WinCE: we must furnish a replacement; these error codes
- * are abstracted from MinGW.org's <errno.h>
- */
-#define EPERM		1	/* Operation not permitted */
-#define ENOFILE 	2	/* No such file or directory */
-#define ENOENT		2
-#define ESRCH		3	/* No such process */
-#define EINTR		4	/* Interrupted function call */
-#define EIO		5	/* Input/output error */
-#define ENXIO		6	/* No such device or address */
-#define E2BIG		7	/* Arg list too long */
-#define ENOEXEC 	8	/* Exec format error */
-#define EBADF		9	/* Bad file descriptor */
-#define ECHILD		10	/* No child processes */
-#define EAGAIN		11	/* Resource temporarily unavailable */
-#define ENOMEM		12	/* Not enough space */
-#define EACCES		13	/* Permission denied */
-#define EFAULT		14	/* Bad address */
-/* 15 - Unknown Error */
-#define EBUSY		16	/* strerror reports "Resource device" */
-#define EEXIST		17	/* File exists */
-#define EXDEV		18	/* Improper link (cross-device link?) */
-#define ENODEV		19	/* No such device */
-#define ENOTDIR 	20	/* Not a directory */
-#define EISDIR		21	/* Is a directory */
-#define EINVAL		22	/* Invalid argument */
-#define ENFILE		23	/* Too many open files in system */
-#define EMFILE		24	/* Too many open files */
-#define ENOTTY		25	/* Inappropriate I/O control operation */
-/* 26 - Unknown Error */
-#define EFBIG		27	/* File too large */
-#define ENOSPC		28	/* No space left on device */
-#define ESPIPE		29	/* Invalid seek (seek on a pipe?) */
-#define EROFS		30	/* Read-only file system */
-#define EMLINK		31	/* Too many links */
-#define EPIPE		32	/* Broken pipe */
-#define EDOM		33	/* Domain error (math functions) */
-#define ERANGE		34	/* Result too large (possibly too small) */
-/* 35 - Unknown Error */
-#define EDEADLOCK	36	/* Resource deadlock avoided (non-Cyg) */
-#define EDEADLK 	36
-/* 37 - Unknown Error */
-#define ENAMETOOLONG	38	/* Filename too long (91 in Cyg?) */
-#define ENOLCK		39	/* No locks available (46 in Cyg?) */
-#define ENOSYS		40	/* Function not implemented (88 in Cyg?) */
-#define ENOTEMPTY	41	/* Directory not empty (90 in Cyg?) */
-#define EILSEQ		42	/* Illegal byte sequence */
-
-#ifndef RC_INVOKED
-
-__PTW32_BEGIN_C_DECLS
-/* Definition of errno.  For _doserrno, sys_nerr, and * sys_errlist,
- * see stdlib.h.  (FIXME: this represents the implementation which is
- * provided by MSVCRT.DLL, on all regular Windows Desktop and Server
- * platforms; we may need to provide a replacement implementation,
- * which will be suitable for WinCE).
- */
-__declspec(dllimport) int __cdecl *_errno(void);
-#define errno (*_errno())
-
-__PTW32_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* ! HAVE_ERRNO_H */
-
-/* Regardless of whether or not the target platform provides its own
- * <errno.h>, we depend on several error codes which may not have been
- * defined; ensure that we provide fall-back definitions.
- */
-#define __PTW32_DEFINE_ERRNO(__CODE__)  (__PTW32_ERRNO_BASE__+__CODE__)
-
-#if __PTW32_VERSION_MAJOR > 2
-# define __PTW32_ERRNO_BASE__	   (1000 - 42)
-#else
-/* FIXME: This matches the original pthreads-win32 v2 definitions,
- * but creates a conflict between EOWNERDEAD and EILSEQ.
- */
-# define __PTW32_ERRNO_BASE__	   0
-#endif
-
-/* POSIX.1-2008 robust mutex support.
- */
-#define __PTW32_EOWNERDEAD	 __PTW32_DEFINE_ERRNO( 42 )
-#define __PTW32_ENOTRECOVERABLE  __PTW32_DEFINE_ERRNO( 43 )
-
-#ifndef EOWNERDEAD
-#define EOWNERDEAD		 __PTW32_EOWNERDEAD
-#endif
-
-#ifndef ENOTRECOVERABLE
-#define ENOTRECOVERABLE 	 __PTW32_ENOTRECOVERABLE
-#endif
-
-#if !defined(EDEADLK)
-/* This is the standard name, prescribed by POSIX.1.  MinGW.org's
- * <errno.h> already defines it, but some other platforms may not.
- */
-# if defined(EDEADLOCK)
-#  define EDEADLK  EDEADLOCK	/* Some older MS tools defined it thus... */
-# else
-#  define EDEADLK  36		/* ...while MinGW.org defines both thus. */
-# endif
-#endif
-
-#if !defined(ENOTSUP)
-# define ENOTSUP   48		/* This is the value in Solaris. */
-#endif
-
-#if !defined(ENOSYS)
-# define ENOSYS   140		/* Semi-arbitrary value */
-#endif
-
-#if !defined(ETIMEDOUT)
-/* Not normally defined in Win32 <errno.h>, but at one time it may
- * have been defined in <winsock.h>; this seems to be no longer the
- * case, but WSAETIMEDOUT may offer a suitable substitute.
- *
- * FIXME: this may be incompatible with any application which wants
- * to use <winsock2.h>
- */
-# include <winsock.h>
-# if !defined(ETIMEDOUT)
-#  if defined(WSAETIMEDOUT)
-#   define ETIMEDOUT  WSAETIMEDOUT
-#  else
-#   define ETIMEDOUT  10060	/* This is the value of WSAETIMEDOUT in winsock.h. */
-#  endif
-# endif
-#endif
-
-#endif	/* ! _PTW32_ERRNO_H_ */
Index: Daodan/MinGW/include/qedit.h
===================================================================
--- Daodan/MinGW/include/qedit.h	(revision 1046)
+++ 	(revision )
@@ -1,70 +1,0 @@
-#ifndef _QEDIT_H
-#define _QEDIT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef _STRMIF_H
-#include <strmif.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - Constants and GUIDs - Error and Success Codes */
-#define S_WARN_OUTPUTRESET 0x00009DD4
-#define E_NOTINTREE 0x80040400
-#define E_RENDER_ENGINE_IS_BROKEN 0x80040401
-#define E_MUST_INIT_RENDERER 0x80040402
-#define E_NOTDETERMINED 0x80040403
-#define E_NO_TIMELINE 0x80040404
-/*--- DirectShow Editing Services - C++ Reference - Structures */
-typedef struct {
-	BSTR Name;
-	DISPID dispID;
-	LONG nValues;
-} DEXTER_PARAM;
-typedef struct {
-	VARIANT v;
-	REFERENCE_TIME rt;
-	DWORD dwInterp;
-} DEXTER_VALUE;
-typedef struct _SCompFmt0 {
-	long nFormatId;
-	AM_MEDIA_TYPE MediaType;
-} SCompFmt0;
-/*--- DirectShow Editing Services - C++ Reference - Enumerated Types */
-typedef enum {
-	DEXTERF_BOUNDING = -1,
-	DEXTERF_EXACTLY_AT = 0,
-	DEXTERF_FORWARDS = 1
-} DEXTERF_TRACK_SEARCH_FLAGS;
-typedef enum {
-	TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
-	TIMELINE_MAJOR_TYPE_TRACK = 2,
-	TIMELINE_MAJOR_TYPE_SOURCE = 4,
-	TIMELINE_MAJOR_TYPE_TRANSITION = 8,
-	TIMELINE_MAJOR_TYPE_EFFECT = 16,
-	TIMELINE_MAJOR_TYPE_GROUP = 128
-} TIMELINE_MAJOR_TYPE;
-/*--- DirectShow Editing Services - C++ Reference - Constants */
-#define CONNECTF_DYNAMIC_NONE 0x00
-#define CONNECTF_DYNAMIC_SOURCES 0x01
-#define CONNECTF_DYNAMIC_EFFECTS 0x02
-#define SFN_VALIDATEF_CHECK 0x01
-#define SFN_VALIDATEF_POPUP 0x02
-#define SFN_VALIDATEF_TELLME 0x04
-#define SFN_VALIDATEF_REPLACE 0x08
-#define SFN_VALIDATEF_USELOCAL 0x10
-#define SFN_VALIDATEF_NOFIND 0x20
-#define SFN_VALIDATEF_IGNOREMUTED 0x40
-#define RESIZEF_STRETCH 0
-#define RESIZEF_CROP 1
-#define RESIZEF_PRESERVEASPECTRATIO 2
-#define RESIZEF_PRESERVEASPECTRATIO_NOLETTERBOX 3
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rapi.h
===================================================================
--- Daodan/MinGW/include/rapi.h	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/* rapi.h - main header file for the RAPI API
-
-        NOTE: This strictly does not belong in the Win32 API since it's
-        really part of Platform SDK.
-
-*/
-
-#ifndef _RAPI_H
-#define _RAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef struct IRAPIStream
-{
-  struct IRAPIStreamVtbl * lpVtbl;
-} IRAPIStream;
-
-typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
-
-typedef enum tagRAPISTREAMFLAG
-{
-  STREAM_TIMEOUT_READ
-} RAPISTREAMFLAG;
-
-struct IRAPIStreamVtbl
-{
-  HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
-  HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
-};
-
-typedef  HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream	*);
-
-typedef struct _RAPIINIT
-{
-  DWORD cbSize;
-  HANDLE heRapiInit;
-  HRESULT hrRapiInit;
-} RAPIINIT;
-
-STDAPI CeRapiInit (void);
-STDAPI CeRapiInitEx (RAPIINIT*);
-STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
-			       BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-STDAPI CeRapiUninit (void);
-
-STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
-STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
-STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
-STDAPI_(DWORD) CeGetLastError (void);
-STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
-STDAPI_(BOOL) CeCloseHandle (HANDLE);
-
-#endif /* _RAPI_H */
Index: Daodan/MinGW/include/ras.h
===================================================================
--- Daodan/MinGW/include/ras.h	(revision 1046)
+++ 	(revision )
@@ -1,997 +1,0 @@
-#ifndef _RAS_H
-#define _RAS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-#ifndef _LMCONS_H
-#include <lmcons.h>
-#endif
-
-/* TODO
-include <basetsd.h> from winnt.h so that this typedef is not necessary
-*/
-#ifndef _BASETSD_H
-typedef unsigned long ULONG_PTR, *PULONG_PTR;
-#endif
-
-#include <pshpack4.h>
-
-#define RAS_MaxDeviceType     16
-#define RAS_MaxPhoneNumber    128
-#define RAS_MaxIpAddress      15
-#define RAS_MaxIpxAddress     21
-#define RAS_MaxEntryName      256
-#define RAS_MaxDeviceName     128
-#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
-#define RAS_MaxAreaCode       10
-#define RAS_MaxPadType        32
-#define RAS_MaxX25Address     200
-#define RAS_MaxFacilities     200
-#define RAS_MaxUserData       200
-#define RAS_MaxReplyMessage   1024
-#define RAS_MaxDnsSuffix      256
-#define RDEOPT_UsePrefixSuffix           0x00000001
-#define RDEOPT_PausedStates              0x00000002
-#define RDEOPT_IgnoreModemSpeaker        0x00000004
-#define RDEOPT_SetModemSpeaker           0x00000008
-#define RDEOPT_IgnoreSoftwareCompression 0x00000010
-#define RDEOPT_SetSoftwareCompression    0x00000020
-#define RDEOPT_DisableConnectedUI        0x00000040
-#define RDEOPT_DisableReconnectUI        0x00000080
-#define RDEOPT_DisableReconnect          0x00000100
-#define RDEOPT_NoUser                    0x00000200
-#define RDEOPT_PauseOnScript             0x00000400
-#define RDEOPT_Router                    0x00000800
-#define REN_User                         0x00000000
-#define REN_AllUsers                     0x00000001
-#define VS_Default		                0
-#define VS_PptpOnly	                    1
-#define VS_PptpFirst	                2
-#define VS_L2tpOnly 	                3
-#define VS_L2tpFirst	                4
-#define RASDIALEVENT                    "RasDialEvent"
-#define WM_RASDIALEVENT                 0xCCCD
-#define RASEO_UseCountryAndAreaCodes    0x00000001
-#define RASEO_SpecificIpAddr            0x00000002
-#define RASEO_SpecificNameServers       0x00000004
-#define RASEO_IpHeaderCompression       0x00000008
-#define RASEO_RemoteDefaultGateway      0x00000010
-#define RASEO_DisableLcpExtensions      0x00000020
-#define RASEO_TerminalBeforeDial        0x00000040
-#define RASEO_TerminalAfterDial         0x00000080
-#define RASEO_ModemLights               0x00000100
-#define RASEO_SwCompression             0x00000200
-#define RASEO_RequireEncryptedPw        0x00000400
-#define RASEO_RequireMsEncryptedPw      0x00000800
-#define RASEO_RequireDataEncryption     0x00001000
-#define RASEO_NetworkLogon              0x00002000
-#define RASEO_UseLogonCredentials       0x00004000
-#define RASEO_PromoteAlternates         0x00008000
-#if (WINVER >= 0x501)
-#define RASEO2_SecureFileAndPrint       0x00000001
-#define RASEO2_SecureClientForMSNet     0x00000002
-#define RASEO2_DontNegotiateMultilink   0x00000004
-#define RASEO2_DontUseRasCredentials    0x00000008
-#define RASEO2_UsePreSharedKey          0x00000010
-#define RASEO2_Internet                 0x00000020
-#define RASEO2_DisableNbtOverIP         0x00000040
-#define RASEO2_UseGlobalDeviceSettings  0x00000080
-#define RASEO2_ReconnectIfDropped       0x00000100
-#define RASEO2_SharePhoneNumbers        0x00000200
-#endif
-#define RASNP_NetBEUI                   0x00000001
-#define RASNP_Ipx                       0x00000002
-#define RASNP_Ip                        0x00000004
-#define RASFP_Ppp                       0x00000001
-#define RASFP_Slip                      0x00000002
-#define RASFP_Ras                       0x00000004
-#define RASDT_Modem                     TEXT("modem")
-#define RASDT_Isdn                      TEXT("isdn")
-#define RASDT_X25                       TEXT("x25")
-#define RASDT_Vpn                       TEXT("vpn")
-#define RASDT_Pad                       TEXT("pad")
-#define RASDT_Generic                   TEXT("GENERIC")
-#define RASDT_Serial        		TEXT("SERIAL")
-#define RASDT_FrameRelay                TEXT("FRAMERELAY")
-#define RASDT_Atm                       TEXT("ATM")
-#define RASDT_Sonet                     TEXT("SONET")
-#define RASDT_SW56                      TEXT("SW56")
-#define RASDT_Irda                      TEXT("IRDA")
-#define RASDT_Parallel                  TEXT("PARALLEL")
-#define RASET_Phone     1
-#define RASET_Vpn       2
-#define RASET_Direct    3
-#define RASET_Internet  4
-#if (WINVER >= 0x401)
-#define RASEO_SecureLocalFiles  0x00010000
-#define RASCN_Connection        0x00000001
-#define RASCN_Disconnection     0x00000002
-#define RASCN_BandwidthAdded    0x00000004
-#define RASCN_BandwidthRemoved  0x00000008
-#define RASEDM_DialAll          1
-#define RASEDM_DialAsNeeded     2
-#define RASIDS_Disabled         0xffffffff
-#define RASIDS_UseGlobalValue   0
-#define RASADFLG_PositionDlg    0x00000001
-#define RASCM_UserName       0x00000001
-#define RASCM_Password       0x00000002
-#define RASCM_Domain         0x00000004
-#define RASADP_DisableConnectionQuery   0
-#define RASADP_LoginSessionDisable      1
-#define RASADP_SavedAddressesLimit      2
-#define RASADP_FailedConnectionTimeout  3
-#define RASADP_ConnectionQueryTimeout   4
-#endif  /* (WINVER >= 0x401) */
-#if (WINVER >= 0x500)
-#define RDEOPT_CustomDial   0x00001000
-#define RASLCPAP_PAP        0xC023
-#define RASLCPAP_SPAP       0xC027
-#define RASLCPAP_CHAP       0xC223
-#define RASLCPAP_EAP        0xC227
-#define RASLCPAD_CHAP_MD5   0x05
-#define RASLCPAD_CHAP_MS    0x80
-#define RASLCPAD_CHAP_MSV2  0x81
-#define RASLCPO_PFC         0x00000001
-#define RASLCPO_ACFC        0x00000002
-#define RASLCPO_SSHF        0x00000004
-#define RASLCPO_DES_56      0x00000008
-#define RASLCPO_3_DES       0x00000010
-#define RASCCPCA_MPPC       0x00000006
-#define RASCCPCA_STAC       0x00000005
-#define RASCCPO_Compression         0x00000001
-#define RASCCPO_HistoryLess         0x00000002
-#define RASCCPO_Encryption56bit     0x00000010
-#define RASCCPO_Encryption40bit     0x00000020
-#define RASCCPO_Encryption128bit    0x00000040
-#define RASEO_RequireEAP            0x00020000
-#define RASEO_RequirePAP            0x00040000
-#define RASEO_RequireSPAP           0x00080000
-#define RASEO_Custom                0x00100000
-#define RASEO_PreviewPhoneNumber    0x00200000
-#define RASEO_SharedPhoneNumbers    0x00800000
-#define RASEO_PreviewUserPw         0x01000000
-#define RASEO_PreviewDomain         0x02000000
-#define RASEO_ShowDialingProgress   0x04000000
-#define RASEO_RequireCHAP           0x08000000
-#define RASEO_RequireMsCHAP         0x10000000
-#define RASEO_RequireMsCHAP2        0x20000000
-#define RASEO_RequireW95MSCHAP      0x40000000
-#define RASEO_CustomScript          0x80000000
-#define RASIPO_VJ                   0x00000001
-#define RCD_SingleUser              0
-#define RCD_AllUsers                0x00000001
-#define RCD_Eap                     0x00000002
-#define RASEAPF_NonInteractive      0x00000002
-#define RASEAPF_Logon               0x00000004
-#define RASEAPF_Preview             0x00000008
-#define ET_40Bit        1
-#define ET_128Bit       2
-#define ET_None         0
-#define ET_Require      1
-#define ET_RequireMax   2
-#define ET_Optional     3
-#endif /* (WINVER >= 0x500) */
-
-#define RASCS_PAUSED 0x1000
-#define RASCS_DONE   0x2000
-typedef enum tagRASCONNSTATE {
-      RASCS_OpenPort = 0,
-      RASCS_PortOpened,
-      RASCS_ConnectDevice,
-      RASCS_DeviceConnected,
-      RASCS_AllDevicesConnected,
-      RASCS_Authenticate,
-      RASCS_AuthNotify,
-      RASCS_AuthRetry,
-      RASCS_AuthCallback,
-      RASCS_AuthChangePassword,
-      RASCS_AuthProject,
-      RASCS_AuthLinkSpeed,
-      RASCS_AuthAck,
-      RASCS_ReAuthenticate,
-      RASCS_Authenticated,
-      RASCS_PrepareForCallback,
-      RASCS_WaitForModemReset,
-      RASCS_WaitForCallback,
-      RASCS_Projected,
-      RASCS_StartAuthentication,
-      RASCS_CallbackComplete,
-      RASCS_LogonNetwork,
-      RASCS_SubEntryConnected,
-      RASCS_SubEntryDisconnected,
-      RASCS_Interactive = RASCS_PAUSED,
-      RASCS_RetryAuthentication,
-      RASCS_CallbackSetByCaller,
-      RASCS_PasswordExpired,
-#if (WINVER >= 0x500)
-      RASCS_InvokeEapUI,
-#endif
-      RASCS_Connected = RASCS_DONE,
-      RASCS_Disconnected
-}  RASCONNSTATE, *LPRASCONNSTATE;
-
-typedef enum tagRASPROJECTION {
-    RASP_Amb =      0x10000,
-    RASP_PppNbf =   0x803F,
-    RASP_PppIpx =   0x802B,
-    RASP_PppIp =    0x8021,
-#if (WINVER >= 0x500)
-    RASP_PppCcp =   0x80FD,
-#endif
-    RASP_PppLcp =   0xC021,
-    RASP_Slip =     0x20000
-} RASPROJECTION, *LPRASPROJECTION;
-
-DECLARE_HANDLE (HRASCONN);
-typedef  HRASCONN* LPHRASCONN;
-
-typedef struct tagRASCONNW {
-    DWORD dwSize;
-    HRASCONN hrasconn;
-    WCHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x400)
-    WCHAR szDeviceType[RAS_MaxDeviceType + 1];
-    WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-#endif
-#if (WINVER >= 0x401)
-    WCHAR szPhonebook[MAX_PATH];
-    DWORD dwSubEntry;
-#endif
-#if (WINVER >= 0x500)
-    GUID guidEntry;
-#endif
-#if (WINVER >= 0x501)
-    DWORD dwFlags;
-    LUID luid;
-#endif
-} RASCONNW, *LPRASCONNW;
-
-typedef struct tagRASCONNA {
-    DWORD dwSize;
-    HRASCONN hrasconn;
-    CHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x400)
-    CHAR szDeviceType[RAS_MaxDeviceType + 1];
-    CHAR szDeviceName[RAS_MaxDeviceName + 1];
-#endif
-#if (WINVER >= 0x401)
-    CHAR szPhonebook[MAX_PATH];
-    DWORD dwSubEntry;
-#endif
-#if (WINVER >= 0x500)
-    GUID guidEntry;
-#endif
-#if (WINVER >= 0x501)
-    DWORD dwFlags;
-    LUID luid;
-#endif
-} RASCONNA, *LPRASCONNA;
-
-typedef struct tagRASCONNSTATUSW {
-    DWORD dwSize;
-    RASCONNSTATE rasconnstate;
-    DWORD dwError;
-    WCHAR szDeviceType[RAS_MaxDeviceType + 1];
-    WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-#if (WINVER >= 0x401)
-    WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-#endif
-} RASCONNSTATUSW, *LPRASCONNSTATUSW;
-
-typedef struct tagRASCONNSTATUSA {
-    DWORD dwSize;
-    RASCONNSTATE rasconnstate;
-    DWORD dwError;
-    CHAR szDeviceType[RAS_MaxDeviceType + 1];
-    CHAR szDeviceName[RAS_MaxDeviceName + 1];
-#if (WINVER >= 0x401)
-    CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-#endif
-} RASCONNSTATUSA, *LPRASCONNSTATUSA;
-
-typedef struct tagRASDIALPARAMSW {
-    DWORD dwSize;
-    WCHAR szEntryName[RAS_MaxEntryName + 1];
-    WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-    WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
-    WCHAR szUserName[UNLEN + 1];
-    WCHAR szPassword[PWLEN + 1];
-    WCHAR szDomain[DNLEN + 1];
-#if (WINVER >= 0x401)
-    DWORD dwSubEntry;
-    ULONG_PTR dwCallbackId;
-#endif
-} RASDIALPARAMSW, *LPRASDIALPARAMSW;
-
-typedef struct tagRASDIALPARAMSA {
-    DWORD dwSize;
-    CHAR szEntryName[RAS_MaxEntryName + 1];
-    CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-    CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
-    CHAR szUserName[UNLEN + 1];
-    CHAR szPassword[PWLEN + 1];
-    CHAR szDomain[DNLEN + 1];
-#if (WINVER >= 0x401)
-    DWORD dwSubEntry;
-    ULONG_PTR dwCallbackId;
-#endif
-} RASDIALPARAMSA, *LPRASDIALPARAMSA;
-
-#if (WINVER >= 0x500)
-typedef struct tagRASEAPINFO {
-    DWORD dwSizeofEapInfo;
-    BYTE *pbEapInfo;
-} RASEAPINFO;
-#endif
-
-typedef struct tagRASDIALEXTENSIONS {
-    DWORD dwSize;
-    DWORD dwfOptions;
-    HWND hwndParent;
-    ULONG_PTR reserved;
-#if (WINVER >= 0x500)
-    ULONG_PTR reserved1;
-    RASEAPINFO RasEapInfo;
-#endif
-} RASDIALEXTENSIONS, *LPRASDIALEXTENSIONS;
-
-typedef struct tagRASENTRYNAMEW {
-    DWORD dwSize;
-    WCHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x500)
-    DWORD dwFlags;
-    WCHAR szPhonebookPath[MAX_PATH + 1];
-#endif
-} RASENTRYNAMEW, *LPRASENTRYNAMEW;
-
-typedef struct tagRASENTRYNAMEA {
-    DWORD dwSize;
-    CHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x500)
-    DWORD dwFlags;
-    CHAR szPhonebookPath[MAX_PATH + 1];
-#endif
-} RASENTRYNAMEA, *LPRASENTRYNAMEA;
-
-typedef struct tagRASAMBW {
-    DWORD dwSize;
-    DWORD dwError;
-    WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
-    BYTE bLana;
-} RASAMBW, *LPRASAMBW;
-
-typedef struct tagRASAMBA {
-    DWORD dwSize;
-    DWORD dwError;
-    CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
-    BYTE bLana;
-} RASAMBA, *LPRASAMBA;
-
-typedef struct tagRASPPPNBFW {
-    DWORD dwSize;
-    DWORD dwError;
-    DWORD dwNetBiosError;
-    WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
-    WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
-    BYTE bLana;
-} RASPPPNBFW, *LPRASPPPNBFW;
-
-typedef struct tagRASPPPNBFA {
-    DWORD dwSize;
-    DWORD dwError;
-    DWORD dwNetBiosError;
-    CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
-    CHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
-    BYTE bLana;
-} RASPPPNBFA, *LPRASPPPNBFA;
-
-typedef struct tagRASIPXW {
-    DWORD dwSize;
-    DWORD dwError;
-    WCHAR szIpxAddress[RAS_MaxIpxAddress + 1];
-} RASPPPIPXW, *LPRASPPPIPXW;
-
-typedef struct tagRASIPXA {
-    DWORD dwSize;
-    DWORD dwError;
-    CHAR szIpxAddress[RAS_MaxIpxAddress + 1];
-} RASPPPIPXA, *LPRASPPPIPXA;
-
-typedef struct tagRASPPPIPW {
-    DWORD dwSize;
-    DWORD dwError;
-    WCHAR szIpAddress[RAS_MaxIpAddress + 1];
-#ifndef WINNT35COMPATIBLE
-    WCHAR szServerIpAddress[RAS_MaxIpAddress + 1];
-#endif
-#if (WINVER >= 0x500)
-    DWORD dwOptions;
-    DWORD dwServerOptions;
-#endif
-} RASPPPIPW, *LPRASPPPIPW;
-
-typedef struct tagRASPPPIPA {
-    DWORD dwSize;
-    DWORD dwError;
-    CHAR szIpAddress[RAS_MaxIpAddress + 1];
-#ifndef WINNT35COMPATIBLE
-    CHAR szServerIpAddress[RAS_MaxIpAddress + 1];
-#endif
-#if (WINVER >= 0x500)
-    DWORD dwOptions;
-    DWORD dwServerOptions;
-#endif
-} RASPPPIPA, *LPRASPPPIPA;
-
-typedef struct tagRASPPPLCPW {
-    DWORD dwSize;
-    BOOL fBundled;
-#if (WINVER >= 0x500)
-    DWORD dwError;
-    DWORD dwAuthenticationProtocol;
-    DWORD dwAuthenticationData;
-    DWORD dwEapTypeId;
-    DWORD dwServerAuthenticationProtocol;
-    DWORD dwServerAuthenticationData;
-    DWORD dwServerEapTypeId;
-    BOOL fMultilink;
-    DWORD dwTerminateReason;
-    DWORD dwServerTerminateReason;
-    WCHAR szReplyMessage[RAS_MaxReplyMessage];
-    DWORD dwOptions;
-    DWORD dwServerOptions;
-#endif
-} RASPPPLCPW, *LPRASPPPLCPW;
-
-typedef struct tagRASPPPLCPA {
-    DWORD dwSize;
-    BOOL fBundled;
-#if (WINVER >= 0x500)
-    DWORD dwError;
-    DWORD dwAuthenticationProtocol;
-    DWORD dwAuthenticationData;
-    DWORD dwEapTypeId;
-    DWORD dwServerAuthenticationProtocol;
-    DWORD dwServerAuthenticationData;
-    DWORD dwServerEapTypeId;
-    BOOL fMultilink;
-    DWORD dwTerminateReason;
-    DWORD dwServerTerminateReason;
-    CHAR szReplyMessage[RAS_MaxReplyMessage];
-    DWORD dwOptions;
-    DWORD dwServerOptions;
-#endif
-} RASPPPLCPA, *LPRASPPPLCPA;
-
-typedef struct tagRASSLIPW {
-    DWORD dwSize;
-    DWORD dwError;
-    WCHAR szIpAddress[RAS_MaxIpAddress + 1];
-} RASSLIPW, *LPRASSLIPW;
-
-
-typedef struct tagRASSLIPA {
-    DWORD dwSize;
-    DWORD dwError;
-    CHAR szIpAddress[RAS_MaxIpAddress + 1];
-} RASSLIPA, *LPRASSLIPA;
-
-typedef struct tagRASDEVINFOW {
-    DWORD dwSize;
-    WCHAR szDeviceType[RAS_MaxDeviceType + 1];
-    WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-} RASDEVINFOW, *LPRASDEVINFOW;
-
-typedef struct tagRASDEVINFOA {
-    DWORD dwSize;
-    CHAR szDeviceType[RAS_MaxDeviceType + 1];
-    CHAR szDeviceName[RAS_MaxDeviceName + 1];
-} RASDEVINFOA, *LPRASDEVINFOA;
-
-typedef struct tagRASCTRYINFO {
-    DWORD dwSize;
-    DWORD dwCountryID;
-    DWORD dwNextCountryID;
-    DWORD dwCountryCode;
-    DWORD dwCountryNameOffset;
-} RASCTRYINFO, *LPRASCTRYINFO;
-
-typedef RASCTRYINFO  RASCTRYINFOW, *LPRASCTRYINFOW;
-typedef RASCTRYINFO  RASCTRYINFOA, *LPRASCTRYINFOA;
-
-typedef struct tagRASIPADDR {
-    BYTE a;
-    BYTE b;
-    BYTE c;
-    BYTE d;
-} RASIPADDR;
-
-typedef struct tagRASENTRYW {
-    DWORD dwSize;
-    DWORD dwfOptions;
-    DWORD dwCountryID;
-    DWORD dwCountryCode;
-    WCHAR szAreaCode[RAS_MaxAreaCode + 1];
-    WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
-    DWORD dwAlternateOffset;
-    RASIPADDR ipaddr;
-    RASIPADDR ipaddrDns;
-    RASIPADDR ipaddrDnsAlt;
-    RASIPADDR ipaddrWins;
-    RASIPADDR ipaddrWinsAlt;
-    DWORD dwFrameSize;
-    DWORD dwfNetProtocols;
-    DWORD dwFramingProtocol;
-    WCHAR szScript[MAX_PATH];
-    WCHAR szAutodialDll[MAX_PATH];
-    WCHAR szAutodialFunc[MAX_PATH];
-    WCHAR szDeviceType[RAS_MaxDeviceType + 1];
-    WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-    WCHAR szX25PadType[RAS_MaxPadType + 1];
-    WCHAR szX25Address[RAS_MaxX25Address + 1];
-    WCHAR szX25Facilities[RAS_MaxFacilities + 1];
-    WCHAR szX25UserData[RAS_MaxUserData + 1];
-    DWORD dwChannels;
-    DWORD dwReserved1;
-    DWORD dwReserved2;
-#if (WINVER >= 0x401)
-    DWORD dwSubEntries;
-    DWORD dwDialMode;
-    DWORD dwDialExtraPercent;
-    DWORD dwDialExtraSampleSeconds;
-    DWORD dwHangUpExtraPercent;
-    DWORD dwHangUpExtraSampleSeconds;
-    DWORD dwIdleDisconnectSeconds;
-#endif
-#if (WINVER >= 0x500)
-    DWORD dwType;
-    DWORD dwEncryptionType;
-    DWORD dwCustomAuthKey;
-    GUID guidId;
-    WCHAR szCustomDialDll[MAX_PATH];
-    DWORD dwVpnStrategy;
-#endif
-#if (WINVER >= 0x501)
-	DWORD dwfOptions2;
-	DWORD dwfOptions3;
-	WCHAR szDnsSuffix[RAS_MaxDnsSuffix];
-	DWORD dwTcpWindowSize;
-	WCHAR szPrerequisitePbk[MAX_PATH];
-	WCHAR szPrerequisiteEntry[RAS_MaxEntryName + 1];
-	DWORD dwRedialCount;
-	DWORD dwRedialPause;
-#endif
-} RASENTRYW, *LPRASENTRYW;
-
-typedef struct tagRASENTRYA {
-    DWORD dwSize;
-    DWORD dwfOptions;
-    DWORD dwCountryID;
-    DWORD dwCountryCode;
-    CHAR szAreaCode[RAS_MaxAreaCode + 1];
-    CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
-    DWORD dwAlternateOffset;
-    RASIPADDR ipaddr;
-    RASIPADDR ipaddrDns;
-    RASIPADDR ipaddrDnsAlt;
-    RASIPADDR ipaddrWins;
-    RASIPADDR ipaddrWinsAlt;
-    DWORD dwFrameSize;
-    DWORD dwfNetProtocols;
-    DWORD dwFramingProtocol;
-    CHAR szScript[MAX_PATH];
-    CHAR szAutodialDll[MAX_PATH];
-    CHAR szAutodialFunc[MAX_PATH];
-    CHAR szDeviceType[RAS_MaxDeviceType + 1];
-    CHAR szDeviceName[RAS_MaxDeviceName + 1];
-    CHAR szX25PadType[RAS_MaxPadType + 1];
-    CHAR szX25Address[RAS_MaxX25Address + 1];
-    CHAR szX25Facilities[RAS_MaxFacilities + 1];
-    CHAR szX25UserData[RAS_MaxUserData + 1];
-    DWORD dwChannels;
-    DWORD dwReserved1;
-    DWORD dwReserved2;
-#if (WINVER >= 0x401)
-    DWORD dwSubEntries;
-    DWORD dwDialMode;
-    DWORD dwDialExtraPercent;
-    DWORD dwDialExtraSampleSeconds;
-    DWORD dwHangUpExtraPercent;
-    DWORD dwHangUpExtraSampleSeconds;
-    DWORD dwIdleDisconnectSeconds;
-#endif
-#if (WINVER >= 0x500)
-    DWORD dwType;
-    DWORD dwEncryptionType;
-    DWORD dwCustomAuthKey;
-    GUID guidId;
-    CHAR szCustomDialDll[MAX_PATH];
-    DWORD dwVpnStrategy;
-#endif
-#if (WINVER >= 0x501)
-	DWORD dwfOptions2;
-	DWORD dwfOptions3;
-	CHAR szDnsSuffix[RAS_MaxDnsSuffix];
-	DWORD dwTcpWindowSize;
-	CHAR szPrerequisitePbk[MAX_PATH];
-	CHAR szPrerequisiteEntry[RAS_MaxEntryName + 1];
-	DWORD dwRedialCount;
-	DWORD dwRedialPause;
-#endif
-} RASENTRYA, *LPRASENTRYA;
-
-
-#if (WINVER >= 0x401)
-typedef struct tagRASADPARAMS {
-    DWORD dwSize;
-    HWND hwndOwner;
-    DWORD dwFlags;
-    LONG xDlg;
-    LONG yDlg;
-} RASADPARAMS, *LPRASADPARAMS;
-
-typedef struct tagRASSUBENTRYW {
-    DWORD dwSize;
-    DWORD dwfFlags;
-    WCHAR szDeviceType[RAS_MaxDeviceType + 1];
-    WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-    WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
-    DWORD dwAlternateOffset;
-} RASSUBENTRYW, *LPRASSUBENTRYW;
-
-typedef struct tagRASSUBENTRYA {
-    DWORD dwSize;
-    DWORD dwfFlags;
-    CHAR szDeviceType[RAS_MaxDeviceType + 1];
-    CHAR szDeviceName[RAS_MaxDeviceName + 1];
-    CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
-    DWORD dwAlternateOffset;
-} RASSUBENTRYA, *LPRASSUBENTRYA;
-
-typedef struct tagRASCREDENTIALSW {
-    DWORD dwSize;
-    DWORD dwMask;
-    WCHAR szUserName[UNLEN + 1];
-    WCHAR szPassword[PWLEN + 1];
-    WCHAR szDomain[DNLEN + 1];
-} RASCREDENTIALSW, *LPRASCREDENTIALSW;
-
-typedef struct tagRASCREDENTIALSA {
-    DWORD dwSize;
-    DWORD dwMask;
-    CHAR szUserName[UNLEN + 1];
-    CHAR szPassword[PWLEN + 1];
-    CHAR szDomain[DNLEN + 1];
-} RASCREDENTIALSA, *LPRASCREDENTIALSA;
-
-typedef struct tagRASAUTODIALENTRYW {
-    DWORD dwSize;
-    DWORD dwFlags;
-    DWORD dwDialingLocation;
-    WCHAR szEntry[RAS_MaxEntryName + 1];
-} RASAUTODIALENTRYW, *LPRASAUTODIALENTRYW;
-
-typedef struct tagRASAUTODIALENTRYA {
-    DWORD dwSize;
-    DWORD dwFlags;
-    DWORD dwDialingLocation;
-    CHAR szEntry[RAS_MaxEntryName + 1];
-} RASAUTODIALENTRYA, *LPRASAUTODIALENTRYA;
-#endif /* (WINVER >= 0x401) */
-
-#if (WINVER >= 0x500)
-typedef struct tagRASPPPCCP {
-    DWORD dwSize;
-    DWORD dwError;
-    DWORD dwCompressionAlgorithm;
-    DWORD dwOptions;
-    DWORD dwServerCompressionAlgorithm;
-    DWORD dwServerOptions;
-} RASPPPCCP, *LPRASPPPCCP;
-
-typedef struct tagRASEAPUSERIDENTITYW {
-    WCHAR szUserName[UNLEN + 1];
-    DWORD dwSizeofEapInfo;
-    BYTE pbEapInfo[1];
-} RASEAPUSERIDENTITYW, *LPRASEAPUSERIDENTITYW;
-
-typedef struct tagRASEAPUSERIDENTITYA {
-    CHAR szUserName[UNLEN + 1];
-    DWORD dwSizeofEapInfo;
-    BYTE pbEapInfo[1];
-} RASEAPUSERIDENTITYA, *LPRASEAPUSERIDENTITYA;
-
-typedef struct tagRAS_STATS {
-    DWORD dwSize;
-    DWORD dwBytesXmited;
-    DWORD dwBytesRcved;
-    DWORD dwFramesXmited;
-    DWORD dwFramesRcved;
-    DWORD dwCrcErr;
-    DWORD dwTimeoutErr;
-    DWORD dwAlignmentErr;
-    DWORD dwHardwareOverrunErr;
-    DWORD dwFramingErr;
-    DWORD dwBufferOverrunErr;
-    DWORD dwCompressionRatioIn;
-    DWORD dwCompressionRatioOut;
-    DWORD dwBps;
-    DWORD dwConnectDuration;
-} RAS_STATS, *PRAS_STATS;
-#endif /* (WINVER >= 0x500) */
-
-
-/* UNICODE typedefs for structures*/
-#ifdef UNICODE
-typedef RASCONNW RASCONN, *LPRASCONN;
-typedef RASENTRYW  RASENTRY, *LPRASENTRY;
-typedef RASCONNSTATUSW RASCONNSTATUS, *LPRASCONNSTATUS;
-typedef RASDIALPARAMSW RASDIALPARAMS, *LPRASDIALPARAMS;
-typedef RASAMBW RASAMB, *LPRASAM;
-typedef RASPPPNBFW RASPPPNBF, *LPRASPPPNBF;
-typedef RASPPPIPXW RASPPPIPX, *LPRASPPPIPX;
-typedef RASPPPIPW RASPPPIP, *LPRASPPPIP;
-typedef RASPPPLCPW RASPPPLCP, *LPRASPPPLCP;
-typedef RASSLIPW RASSLIP, *LPRASSLIP;
-typedef RASDEVINFOW  RASDEVINFO, *LPRASDEVINFO;
-typedef RASENTRYNAMEW RASENTRYNAME, *LPRASENTRYNAME;
-
-#if (WINVER >= 0x401)
-typedef RASSUBENTRYW RASSUBENTRY, *LPRASSUBENTRY;
-typedef RASCREDENTIALSW RASCREDENTIALS, *LPRASCREDENTIALS;
-typedef RASAUTODIALENTRYW RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
-#endif /* (WINVER >= 0x401) */
-
-#if (WINVER >= 0x500)
-typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
-#endif /* (WINVER >= 0x500) */
-
-#else  /* ! defined UNICODE */
-typedef RASCONNA RASCONN, *LPRASCONN;
-typedef RASENTRYA  RASENTRY, *LPRASENTRY;
-typedef RASCONNSTATUSA RASCONNSTATUS, *LPRASCONNSTATUS;
-typedef RASDIALPARAMSA RASDIALPARAMS, *LPRASDIALPARAMS;
-typedef RASAMBA RASAMB, *LPRASAM;
-typedef RASPPPNBFA RASPPPNBF, *LPRASPPPNBF;
-typedef RASPPPIPXA RASPPPIPX, *LPRASPPPIPX;
-typedef RASPPPIPA RASPPPIP, *LPRASPPPIP;
-typedef RASPPPLCPA RASPPPLCP, *LPRASPPPLCP;
-typedef RASSLIPA RASSLIP, *LPRASSLIP;
-typedef RASDEVINFOA  RASDEVINFO, *LPRASDEVINFO;
-typedef RASENTRYNAMEA RASENTRYNAME, *LPRASENTRYNAME;
-
-#if (WINVER >= 0x401)
-typedef RASSUBENTRYA RASSUBENTRY, *LPRASSUBENTRY;
-typedef RASCREDENTIALSA RASCREDENTIALS, *LPRASCREDENTIALS;
-typedef RASAUTODIALENTRYA RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
-#endif /*(WINVER >= 0x401)*/
-#if (WINVER >= 0x500)
-typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
-#endif /* (WINVER >= 0x500) */
-#endif /* ! UNICODE */
-
-/* Callback prototypes */
-typedef BOOL (WINAPI * ORASADFUNC) (HWND, LPSTR, DWORD, LPDWORD); /* deprecated */
-typedef VOID (WINAPI * RASDIALFUNC) (UINT, RASCONNSTATE, DWORD);
-typedef VOID (WINAPI * RASDIALFUNC1) (HRASCONN, UINT, RASCONNSTATE, DWORD,
-					DWORD);
-typedef DWORD (WINAPI * RASDIALFUNC2) (ULONG_PTR, DWORD, HRASCONN, UINT,
-					RASCONNSTATE, DWORD, DWORD);
-
-/* External functions */
-DWORD APIENTRY RasDialA (LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA,
-	    		DWORD, LPVOID, LPHRASCONN);
-DWORD APIENTRY RasDialW (LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW,
-    	        DWORD, LPVOID, LPHRASCONN);
-DWORD APIENTRY RasEnumConnectionsA (LPRASCONNA, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumConnectionsW (LPRASCONNW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumEntriesA (LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD,
-				LPDWORD);
-DWORD APIENTRY RasEnumEntriesW (LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD,
-				LPDWORD);
-DWORD APIENTRY RasGetConnectStatusA (HRASCONN, LPRASCONNSTATUSA);
-DWORD APIENTRY RasGetConnectStatusW (HRASCONN, LPRASCONNSTATUSW);
-DWORD APIENTRY RasGetErrorStringA (UINT, LPSTR, DWORD);
-DWORD APIENTRY RasGetErrorStringW (UINT, LPWSTR, DWORD);
-DWORD APIENTRY RasHangUpA (HRASCONN);
-DWORD APIENTRY RasHangUpW (HRASCONN);
-DWORD APIENTRY RasGetProjectionInfoA (HRASCONN, RASPROJECTION, LPVOID,
- 				LPDWORD);
-DWORD APIENTRY RasGetProjectionInfoW (HRASCONN, RASPROJECTION, LPVOID,
-				LPDWORD);
-DWORD APIENTRY RasCreatePhonebookEntryA (HWND, LPCSTR);
-DWORD APIENTRY RasCreatePhonebookEntryW (HWND, LPCWSTR);
-DWORD APIENTRY RasEditPhonebookEntryA (HWND, LPCSTR, LPCSTR);
-DWORD APIENTRY RasEditPhonebookEntryW (HWND, LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasSetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, BOOL);
-DWORD APIENTRY RasSetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, BOOL);
-DWORD APIENTRY RasGetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, LPBOOL);
-DWORD APIENTRY RasGetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, LPBOOL);
-DWORD APIENTRY RasEnumDevicesA (LPRASDEVINFOA, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumDevicesW (LPRASDEVINFOW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetCountryInfoA (LPRASCTRYINFOA, LPDWORD);
-DWORD APIENTRY RasGetCountryInfoW (LPRASCTRYINFOW, LPDWORD);
-DWORD APIENTRY RasGetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD,
-				 LPBYTE, LPDWORD);
-DWORD APIENTRY RasGetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW,
-				 LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasSetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, DWORD,
-				 LPBYTE, DWORD);
-DWORD APIENTRY RasSetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD,
-				 LPBYTE, DWORD);
-DWORD APIENTRY RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR);
-DWORD APIENTRY RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasDeleteEntryA (LPCSTR, LPCSTR);
-DWORD APIENTRY RasDeleteEntryW (LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasValidateEntryNameA (LPCSTR, LPCSTR);
-DWORD APIENTRY RasValidateEntryNameW (LPCWSTR, LPCWSTR);
-
-#if (WINVER >= 0x401)
-typedef BOOL (WINAPI * RASADFUNCA) (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD);
-typedef BOOL (WINAPI * RASADFUNCW) (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD);
-
-DWORD APIENTRY RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN);
-DWORD APIENTRY RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN);
-DWORD APIENTRY RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA);
-DWORD APIENTRY RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW);
-DWORD APIENTRY RasSetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL);
-DWORD APIENTRY RasSetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL);
-DWORD APIENTRY RasConnectionNotificationA (HRASCONN, HANDLE, DWORD);
-DWORD APIENTRY RasConnectionNotificationW (HRASCONN, HANDLE, DWORD);
-DWORD APIENTRY RasGetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
-					LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasGetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
-					LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasSetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
-					LPRASSUBENTRYA, DWORD, LPBYTE, DWORD);
-DWORD APIENTRY RasSetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
-					LPRASSUBENTRYW, DWORD, LPBYTE, DWORD);
-DWORD APIENTRY RasGetAutodialAddressA (LPCSTR, LPDWORD, LPRASAUTODIALENTRYA,
-			        LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetAutodialAddressW (LPCWSTR, LPDWORD,
-					LPRASAUTODIALENTRYW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasSetAutodialAddressA (LPCSTR, DWORD, LPRASAUTODIALENTRYA,
-					DWORD, DWORD);
-DWORD APIENTRY RasSetAutodialAddressW (LPCWSTR, DWORD, LPRASAUTODIALENTRYW,
-					DWORD, DWORD);
-DWORD APIENTRY RasEnumAutodialAddressesA (LPSTR *, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumAutodialAddressesW (LPWSTR *, LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetAutodialEnableA (DWORD, LPBOOL);
-DWORD APIENTRY RasGetAutodialEnableW (DWORD, LPBOOL);
-DWORD APIENTRY RasSetAutodialEnableA (DWORD, BOOL);
-DWORD APIENTRY RasSetAutodialEnableW (DWORD, BOOL);
-DWORD APIENTRY RasGetAutodialParamA (DWORD, LPVOID, LPDWORD);
-DWORD APIENTRY RasGetAutodialParamW (DWORD, LPVOID, LPDWORD);
-DWORD APIENTRY RasSetAutodialParamA (DWORD, LPVOID, DWORD);
-DWORD APIENTRY RasSetAutodialParamW (DWORD, LPVOID, DWORD);
-#endif
-
-#if (WINVER >= 0x500)
-typedef DWORD (WINAPI * RasCustomHangUpFn) (HRASCONN);
-typedef DWORD (WINAPI * RasCustomDeleteEntryNotifyFn) (LPCTSTR,	LPCTSTR, DWORD);
-typedef DWORD (WINAPI * RasCustomDialFn) (HINSTANCE, LPRASDIALEXTENSIONS,
-				LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD);
-
-DWORD APIENTRY RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND);
-DWORD APIENTRY RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*);
-DWORD APIENTRY RasGetConnectionStatistics (HRASCONN, RAS_STATS*);
-DWORD APIENTRY RasClearLinkStatistics (HRASCONN, DWORD);
-DWORD APIENTRY RasClearConnectionStatistics (HRASCONN);
-DWORD APIENTRY RasGetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasGetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasSetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD);
-DWORD APIENTRY RasSetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD);
-DWORD APIENTRY RasGetCustomAuthDataA (LPCSTR,	LPCSTR,	BYTE*,	DWORD*);
-DWORD APIENTRY RasGetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasSetCustomAuthDataA (LPCSTR,	LPCSTR,	BYTE*,	DWORD);
-DWORD APIENTRY RasSetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD);
-DWORD APIENTRY RasGetEapUserIdentityW (LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*);
-DWORD APIENTRY RasGetEapUserIdentityA (LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*);
-VOID APIENTRY RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW);
-VOID APIENTRY RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA);
-#endif  /* (WINVER >= 0x500) */
-
-
-/* UNICODE defines for functions */
-#ifdef UNICODE
-#define RasDial RasDialW
-#define RasEnumConnections RasEnumConnectionsW
-#define RasEnumEntries RasEnumEntriesW
-#define RasGetConnectStatus RasGetConnectStatusW
-#define RasGetErrorString RasGetErrorStringW
-#define RasHangUp RasHangUpW
-#define RasGetProjectionInfo RasGetProjectionInfoW
-#define RasCreatePhonebookEntry RasCreatePhonebookEntryW
-#define RasEditPhonebookEntry RasEditPhonebookEntryW
-#define RasSetEntryDialParams RasSetEntryDialParamsW
-#define RasGetEntryDialParams RasGetEntryDialParamsW
-#define RasEnumDevices RasEnumDevicesW
-#define RasGetCountryInfo RasGetCountryInfoW
-#define RasGetEntryProperties RasGetEntryPropertiesW
-#define RasSetEntryProperties RasSetEntryPropertiesW
-#define RasRenameEntry RasRenameEntryW
-#define RasDeleteEntry RasDeleteEntryW
-#define RasValidateEntryName RasValidateEntryNameW
-#if (WINVER >= 0x401)
-#define RASADFUNC RASADFUNCW
-#define RasGetSubEntryHandle RasGetSubEntryHandleW
-#define RasConnectionNotification RasConnectionNotificationW
-#define RasGetSubEntryProperties RasGetSubEntryPropertiesW
-#define RasSetSubEntryProperties RasSetSubEntryPropertiesW
-#define RasGetCredentials RasGetCredentialsW
-#define RasSetCredentials RasSetCredentialsW
-#define RasGetAutodialAddress RasGetAutodialAddressW
-#define RasSetAutodialAddress RasSetAutodialAddressW
-#define RasEnumAutodialAddresses RasEnumAutodialAddressesW
-#define RasGetAutodialEnable RasGetAutodialEnableW
-#define RasSetAutodialEnable RasSetAutodialEnableW
-#define RasGetAutodialParam RasGetAutodialParamW
-#define RasSetAutodialParam RasSetAutodialParamW
-#endif /* (WINVER >= 0x401) */
-#if (WINVER >= 0x500)
-#define RasGetEapUserData RasGetEapUserDataW
-#define RasSetEapUserData RasSetEapUserDataW
-#define RasGetCustomAuthData RasGetCustomAuthDataW
-#define RasSetCustomAuthData RasSetCustomAuthDataW
-#define RasGetEapUserIdentity RasGetEapUserIdentityW
-#define RasFreeEapUserIdentity RasFreeEapUserIdentityW
-#endif /* (WINVER >= 0x500) */
-
-#else  /* ! defined UNICODE */
-#define RasDial RasDialA
-#define RasEnumConnections RasEnumConnectionsA
-#define RasEnumEntries RasEnumEntriesA
-#define RasGetConnectStatus RasGetConnectStatusA
-#define RasGetErrorString RasGetErrorStringA
-#define RasHangUp RasHangUpA
-#define RasGetProjectionInfo RasGetProjectionInfoA
-#define RasCreatePhonebookEntry RasCreatePhonebookEntryA
-#define RasEditPhonebookEntry RasEditPhonebookEntryA
-#define RasSetEntryDialParams RasSetEntryDialParamsA
-#define RasGetEntryDialParams RasGetEntryDialParamsA
-#define RasEnumDevices RasEnumDevicesA
-#define RasGetCountryInfo RasGetCountryInfoA
-#define RasGetEntryProperties RasGetEntryPropertiesA
-#define RasSetEntryProperties RasSetEntryPropertiesA
-#define RasRenameEntry RasRenameEntryA
-#define RasDeleteEntry RasDeleteEntryA
-#define RasValidateEntryName RasValidateEntryNameA
-
-#if (WINVER >= 0x401)
-#define RASADFUNC RASADFUNCA
-#define RasGetSubEntryHandle RasGetSubEntryHandleA
-#define RasConnectionNotification RasConnectionNotificationA
-#define RasGetSubEntryProperties RasGetSubEntryPropertiesA
-#define RasSetSubEntryProperties RasSetSubEntryPropertiesA
-#define RasGetCredentials RasGetCredentialsA
-#define RasSetCredentials RasSetCredentialsA
-#define RasGetAutodialAddress RasGetAutodialAddressA
-#define RasSetAutodialAddress RasSetAutodialAddressA
-#define RasEnumAutodialAddressesRasEnumAutodialAddressesA
-#define RasGetAutodialEnable RasGetAutodialEnableA
-#define RasSetAutodialEnable RasSetAutodialEnableA
-#define RasGetAutodialParam RasGetAutodialParamA
-#define RasSetAutodialParam RasSetAutodialParamA
-#endif /*(WINVER >= 0x401)*/
-
-#if (WINVER >= 0x500)
-#define RasGetEapUserData RasGetEapUserDataA
-#define RasSetEapUserData RasSetEapUserDataA
-#define RasGetCustomAuthData RasGetCustomAuthDataA
-#define RasSetCustomAuthData RasSetCustomAuthDataA
-#define RasGetEapUserIdentity RasGetEapUserIdentityA
-#define RasFreeEapUserIdentity RasFreeEapUserIdentityA
-#endif /* (WINVER >= 0x500) */
-#endif /* ! UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif /* _RAS_H */
Index: Daodan/MinGW/include/rasdlg.h
===================================================================
--- Daodan/MinGW/include/rasdlg.h	(revision 1046)
+++ 	(revision )
@@ -1,152 +1,0 @@
-#ifndef _RASDLG_H
-#define _RASDLG_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ras.h>
-
-#define RASPBDEVENT_AddEntry	1
-#define RASPBDEVENT_EditEntry	2
-#define RASPBDEVENT_RemoveEntry	3
-#define RASPBDEVENT_DialEntry	4
-#define RASPBDEVENT_EditGlobals	5
-#define RASPBDEVENT_NoUser	6
-#define RASPBDEVENT_NoUserEdit	7
-
-#define RASPBDFLAG_PositionDlg	1
-#define RASPBDFLAG_ForceCloseOnDial	2
-#define RASPBDFLAG_NoUser	16
-
-#define RASEDFLAG_PositionDlg	1
-#define RASEDFLAG_NewEntry	2
-#define RASEDFLAG_CloneEntry	4
-
-#define RASDDFLAG_PositionDlg	1
-
-#ifndef RC_INVOKED
-#include <pshpack4.h>
-
-typedef struct tagRASENTRYDLGA
-{
-	DWORD dwSize;
-	HWND  hwndOwner;
-	DWORD dwFlags;
-	LONG  xDlg;
-	LONG  yDlg;
-	CHAR  szEntry[RAS_MaxEntryName + 1];
-	DWORD dwError;
-	ULONG_PTR reserved;
-	ULONG_PTR reserved2;
-} RASENTRYDLGA, *LPRASENTRYDLGA;
-typedef struct tagRASENTRYDLGW
-{
-	DWORD dwSize;
-	HWND  hwndOwner;
-	DWORD dwFlags;
-	LONG  xDlg;
-	LONG  yDlg;
-	WCHAR szEntry[RAS_MaxEntryName + 1];
-	DWORD dwError;
-	ULONG_PTR reserved;
-	ULONG_PTR reserved2;
-} RASENTRYDLGW, *LPRASENTRYDLGW;
-
-typedef struct tagRASDIALDLG
-{
-	DWORD dwSize;
-	HWND  hwndOwner;
-	DWORD dwFlags;
-	LONG  xDlg;
-	LONG  yDlg;
-	DWORD dwSubEntry;
-	DWORD dwError;
-	ULONG_PTR reserved;
-	ULONG_PTR reserved2;
-} RASDIALDLG, *LPRASDIALDLG;
-
-/* Application-defined callback functions */
-typedef VOID (WINAPI* RASPBDLGFUNCW)(DWORD, DWORD, LPWSTR, LPVOID);
-typedef VOID (WINAPI* RASPBDLGFUNCA)(DWORD, DWORD, LPSTR, LPVOID);
-
-typedef struct tagRASPBDLGA
-{
-	DWORD         dwSize;
-	HWND          hwndOwner;
-	DWORD         dwFlags;
-	LONG          xDlg;
-	LONG          yDlg;
-	ULONG_PTR     dwCallbackId;
-	RASPBDLGFUNCA pCallback;
-	DWORD         dwError;
-	ULONG_PTR     reserved;
-	ULONG_PTR     reserved2;
-} RASPBDLGA, *LPRASPBDLGA;
-typedef struct tagRASPBDLGW
-{
-	DWORD         dwSize;
-	HWND          hwndOwner;
-	DWORD         dwFlags;
-	LONG          xDlg;
-	LONG          yDlg;
-	ULONG_PTR     dwCallbackId;
-	RASPBDLGFUNCW pCallback;
-	DWORD         dwError;
-	ULONG_PTR     reserved;
-	ULONG_PTR     reserved2;
-} RASPBDLGW, *LPRASPBDLGW;
-
-typedef struct tagRASNOUSERA
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwTimeoutMs;
-	CHAR  szUserName[UNLEN + 1];
-	CHAR  szPassword[PWLEN + 1];
-	CHAR  szDomain[DNLEN + 1];
-} RASNOUSERA, *LPRASNOUSERA;
-typedef struct tagRASNOUSERW
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwTimeoutMs;
-	WCHAR szUserName[UNLEN + 1];
-	WCHAR szPassword[PWLEN + 1];
-	WCHAR szDomain[DNLEN + 1];
-} RASNOUSERW, *LPRASNOUSERW ;
-
-#include <poppack.h>
-
-BOOL APIENTRY RasDialDlgA(LPSTR,LPSTR,LPSTR,LPRASDIALDLG);
-BOOL APIENTRY RasDialDlgW(LPWSTR,LPWSTR,LPWSTR,LPRASDIALDLG);
-BOOL APIENTRY RasEntryDlgA(LPSTR,LPSTR,LPRASENTRYDLGA);
-BOOL APIENTRY RasEntryDlgW(LPWSTR,LPWSTR,LPRASENTRYDLGW);
-BOOL APIENTRY RasPhonebookDlgA(LPSTR,LPSTR,LPRASPBDLGA);
-BOOL APIENTRY RasPhonebookDlgW(LPWSTR,LPWSTR,LPRASPBDLGW);
-
-#ifdef UNICODE
-typedef RASENTRYDLGW	RASENTRYDLG, *LPRASENTRYDLG;
-typedef RASPBDLGW	RASPBDLG, *LPRASPBDLG;
-typedef RASNOUSERW	RASNOUSER, *LPRASNOUSER;
-#define RasDialDlg	RasDialDlgW
-#define RasEntryDlg	RasEntryDlgW
-#define RasPhonebookDlg	RasPhonebookDlgW
-#else
-typedef RASENTRYDLGA	RASENTRYDLG, *LPRASENTRYDLG;
-typedef RASPBDLGA	RASPBDLG, *LPRASPBDLG;
-typedef RASNOUSERA	RASNOUSER, *LPRASNOUSER;
-#define RasDialDlg	RasDialDlgA
-#define RasEntryDlg	RasEntryDlgA
-#define RasPhonebookDlg	RasPhonebookDlgA
-#endif /* UNICODE */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/raserror.h
===================================================================
--- Daodan/MinGW/include/raserror.h	(revision 1046)
+++ 	(revision )
@@ -1,210 +1,0 @@
-#ifndef _RASERROR_H
-#define _RASERROR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define RASBASE 600
-#define SUCCESS 0
-#define PENDING                              (RASBASE+0)
-#define ERROR_INVALID_PORT_HANDLE            (RASBASE+1)
-#define ERROR_PORT_ALREADY_OPEN              (RASBASE+2)
-#define ERROR_BUFFER_TOO_SMALL               (RASBASE+3)
-#define ERROR_WRONG_INFO_SPECIFIED           (RASBASE+4)
-#define ERROR_CANNOT_SET_PORT_INFO           (RASBASE+5)
-#define ERROR_PORT_NOT_CONNECTED             (RASBASE+6)
-#define ERROR_EVENT_INVALID                  (RASBASE+7)
-#define ERROR_DEVICE_DOES_NOT_EXIST          (RASBASE+8)
-#define ERROR_DEVICETYPE_DOES_NOT_EXIST      (RASBASE+9)
-#define ERROR_BUFFER_INVALID                 (RASBASE+10)
-#define ERROR_ROUTE_NOT_AVAILABLE            (RASBASE+11)
-#define ERROR_ROUTE_NOT_ALLOCATED            (RASBASE+12)
-#define ERROR_INVALID_COMPRESSION_SPECIFIED  (RASBASE+13)
-#define ERROR_OUT_OF_BUFFERS                 (RASBASE+14)
-#define ERROR_PORT_NOT_FOUND                 (RASBASE+15)
-#define ERROR_ASYNC_REQUEST_PENDING          (RASBASE+16)
-#define ERROR_ALREADY_DISCONNECTING          (RASBASE+17)
-#define ERROR_PORT_NOT_OPEN                  (RASBASE+18)
-#define ERROR_PORT_DISCONNECTED              (RASBASE+19)
-#define ERROR_NO_ENDPOINTS                   (RASBASE+20)
-#define ERROR_CANNOT_OPEN_PHONEBOOK          (RASBASE+21)
-#define ERROR_CANNOT_LOAD_PHONEBOOK          (RASBASE+22)
-#define ERROR_CANNOT_FIND_PHONEBOOK_ENTRY    (RASBASE+23)
-#define ERROR_CANNOT_WRITE_PHONEBOOK         (RASBASE+24)
-#define ERROR_CORRUPT_PHONEBOOK              (RASBASE+25)
-#define ERROR_CANNOT_LOAD_STRING             (RASBASE+26)
-#define ERROR_KEY_NOT_FOUND                  (RASBASE+27)
-#define ERROR_DISCONNECTION                  (RASBASE+28)
-#define ERROR_REMOTE_DISCONNECTION           (RASBASE+29)
-#define ERROR_HARDWARE_FAILURE               (RASBASE+30)
-#define ERROR_USER_DISCONNECTION             (RASBASE+31)
-#define ERROR_INVALID_SIZE                   (RASBASE+32)
-#define ERROR_PORT_NOT_AVAILABLE             (RASBASE+33)
-#define ERROR_CANNOT_PROJECT_CLIENT          (RASBASE+34)
-#define ERROR_UNKNOWN                        (RASBASE+35)
-#define ERROR_WRONG_DEVICE_ATTACHED          (RASBASE+36)
-#define ERROR_BAD_STRING                     (RASBASE+37)
-#define ERROR_REQUEST_TIMEOUT                (RASBASE+38)
-#define ERROR_CANNOT_GET_LANA                (RASBASE+39)
-#define ERROR_NETBIOS_ERROR                  (RASBASE+40)
-#define ERROR_SERVER_OUT_OF_RESOURCES        (RASBASE+41)
-#define ERROR_NAME_EXISTS_ON_NET             (RASBASE+42)
-#define ERROR_SERVER_GENERAL_NET_FAILURE     (RASBASE+43)
-#define WARNING_MSG_ALIAS_NOT_ADDED          (RASBASE+44)
-#define ERROR_AUTH_INTERNAL                  (RASBASE+45)
-#define ERROR_RESTRICTED_LOGON_HOURS         (RASBASE+46)
-#define ERROR_ACCT_DISABLED                  (RASBASE+47)
-#define ERROR_PASSWD_EXPIRED                 (RASBASE+48)
-#define ERROR_NO_DIALIN_PERMISSION           (RASBASE+49)
-#define ERROR_SERVER_NOT_RESPONDING          (RASBASE+50)
-#define ERROR_FROM_DEVICE                    (RASBASE+51)
-#define ERROR_UNRECOGNIZED_RESPONSE          (RASBASE+52)
-#define ERROR_MACRO_NOT_FOUND                (RASBASE+53)
-#define ERROR_MACRO_NOT_DEFINED              (RASBASE+54)
-#define ERROR_MESSAGE_MACRO_NOT_FOUND        (RASBASE+55)
-#define ERROR_DEFAULTOFF_MACRO_NOT_FOUND     (RASBASE+56)
-#define ERROR_FILE_COULD_NOT_BE_OPENED       (RASBASE+57)
-#define ERROR_DEVICENAME_TOO_LONG            (RASBASE+58)
-#define ERROR_DEVICENAME_NOT_FOUND           (RASBASE+59)
-#define ERROR_NO_RESPONSES                   (RASBASE+60)
-#define ERROR_NO_COMMAND_FOUND               (RASBASE+61)
-#define ERROR_WRONG_KEY_SPECIFIED            (RASBASE+62)
-#define ERROR_UNKNOWN_DEVICE_TYPE            (RASBASE+63)
-#define ERROR_ALLOCATING_MEMORY              (RASBASE+64)
-#define ERROR_PORT_NOT_CONFIGURED            (RASBASE+65)
-#define ERROR_DEVICE_NOT_READY               (RASBASE+66)
-#define ERROR_READING_INI_FILE               (RASBASE+67)
-#define ERROR_NO_CONNECTION                  (RASBASE+68)
-#define ERROR_BAD_USAGE_IN_INI_FILE          (RASBASE+69)
-#define ERROR_READING_SECTIONNAME            (RASBASE+70)
-#define ERROR_READING_DEVICETYPE             (RASBASE+71)
-#define ERROR_READING_DEVICENAME             (RASBASE+72)
-#define ERROR_READING_USAGE                  (RASBASE+73)
-#define ERROR_READING_MAXCONNECTBPS          (RASBASE+74)
-#define ERROR_READING_MAXCARRIERBPS          (RASBASE+75)
-#define ERROR_LINE_BUSY                      (RASBASE+76)
-#define ERROR_VOICE_ANSWER                   (RASBASE+77)
-#define ERROR_NO_ANSWER                      (RASBASE+78)
-#define ERROR_NO_CARRIER                     (RASBASE+79)
-#define ERROR_NO_DIALTONE                    (RASBASE+80)
-#define ERROR_IN_COMMAND                     (RASBASE+81)
-#define ERROR_WRITING_SECTIONNAME            (RASBASE+82)
-#define ERROR_WRITING_DEVICETYPE             (RASBASE+83)
-#define ERROR_WRITING_DEVICENAME             (RASBASE+84)
-#define ERROR_WRITING_MAXCONNECTBPS          (RASBASE+85)
-#define ERROR_WRITING_MAXCARRIERBPS          (RASBASE+86)
-#define ERROR_WRITING_USAGE                  (RASBASE+87)
-#define ERROR_WRITING_DEFAULTOFF             (RASBASE+88)
-#define ERROR_READING_DEFAULTOFF             (RASBASE+89)
-#define ERROR_EMPTY_INI_FILE                 (RASBASE+90)
-#define ERROR_AUTHENTICATION_FAILURE         (RASBASE+91)
-#define ERROR_PORT_OR_DEVICE                 (RASBASE+92)
-#define ERROR_NOT_BINARY_MACRO               (RASBASE+93)
-#define ERROR_DCB_NOT_FOUND                  (RASBASE+94)
-#define ERROR_STATE_MACHINES_NOT_STARTED     (RASBASE+95)
-#define ERROR_STATE_MACHINES_ALREADY_STARTED (RASBASE+96)
-#define ERROR_PARTIAL_RESPONSE_LOOPING       (RASBASE+97)
-#define ERROR_UNKNOWN_RESPONSE_KEY           (RASBASE+98)
-#define ERROR_RECV_BUF_FULL                  (RASBASE+99)
-#define ERROR_CMD_TOO_LONG                   (RASBASE+100)
-#define ERROR_UNSUPPORTED_BPS                (RASBASE+101)
-#define ERROR_UNEXPECTED_RESPONSE            (RASBASE+102)
-#define ERROR_INTERACTIVE_MODE               (RASBASE+103)
-#define ERROR_BAD_CALLBACK_NUMBER            (RASBASE+104)
-#define ERROR_INVALID_AUTH_STATE             (RASBASE+105)
-#define ERROR_WRITING_INITBPS                (RASBASE+106)
-#define ERROR_X25_DIAGNOSTIC                 (RASBASE+107)
-#define ERROR_ACCT_EXPIRED                   (RASBASE+108)
-#define ERROR_CHANGING_PASSWORD              (RASBASE+109)
-#define ERROR_OVERRUN                        (RASBASE+110)
-#define ERROR_RASMAN_CANNOT_INITIALIZE	     (RASBASE+111)
-#define ERROR_BIPLEX_PORT_NOT_AVAILABLE      (RASBASE+112)
-#define ERROR_NO_ACTIVE_ISDN_LINES           (RASBASE+113)
-#define ERROR_NO_ISDN_CHANNELS_AVAILABLE     (RASBASE+114)
-#define ERROR_TOO_MANY_LINE_ERRORS           (RASBASE+115)
-#define ERROR_IP_CONFIGURATION               (RASBASE+116)
-#define ERROR_NO_IP_ADDRESSES                (RASBASE+117)
-#define ERROR_PPP_TIMEOUT                    (RASBASE+118)
-#define ERROR_PPP_REMOTE_TERMINATED          (RASBASE+119)
-#define ERROR_PPP_NO_PROTOCOLS_CONFIGURED    (RASBASE+120)
-#define ERROR_PPP_NO_RESPONSE                (RASBASE+121)
-#define ERROR_PPP_INVALID_PACKET             (RASBASE+122)
-#define ERROR_PHONE_NUMBER_TOO_LONG          (RASBASE+123)
-#define ERROR_IPXCP_NO_DIALOUT_CONFIGURED    (RASBASE+124)
-#define ERROR_IPXCP_NO_DIALIN_CONFIGURED     (RASBASE+125)
-#define ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE   (RASBASE+126)
-#define ERROR_ACCESSING_TCPCFGDLL            (RASBASE+127)
-#define ERROR_NO_IP_RAS_ADAPTER              (RASBASE+128)
-#define ERROR_SLIP_REQUIRES_IP               (RASBASE+129)
-#define ERROR_PROJECTION_NOT_COMPLETE        (RASBASE+130)
-#define ERROR_PROTOCOL_NOT_CONFIGURED        (RASBASE+131)
-#define ERROR_PPP_NOT_CONVERGING             (RASBASE+132)
-#define ERROR_PPP_CP_REJECTED                (RASBASE+133)
-#define ERROR_PPP_LCP_TERMINATED             (RASBASE+134)
-#define ERROR_PPP_REQUIRED_ADDRESS_REJECTED  (RASBASE+135)
-#define ERROR_PPP_NCP_TERMINATED             (RASBASE+136)
-#define ERROR_PPP_LOOPBACK_DETECTED          (RASBASE+137)
-#define ERROR_PPP_NO_ADDRESS_ASSIGNED        (RASBASE+138)
-#define ERROR_CANNOT_USE_LOGON_CREDENTIALS   (RASBASE+139)
-#define ERROR_TAPI_CONFIGURATION             (RASBASE+140)
-#define ERROR_NO_LOCAL_ENCRYPTION            (RASBASE+141)
-#define ERROR_NO_REMOTE_ENCRYPTION           (RASBASE+142)
-#define ERROR_REMOTE_REQUIRES_ENCRYPTION     (RASBASE+143)
-#define ERROR_IPXCP_NET_NUMBER_CONFLICT      (RASBASE+144)
-#define ERROR_INVALID_SMM                    (RASBASE+145)
-#define ERROR_SMM_UNINITIALIZED              (RASBASE+146)
-#define ERROR_NO_MAC_FOR_PORT                (RASBASE+147)
-#define ERROR_SMM_TIMEOUT                    (RASBASE+148)
-#define ERROR_BAD_PHONE_NUMBER               (RASBASE+149)
-#define ERROR_WRONG_MODULE                   (RASBASE+150)
-#define ERROR_INVALID_CALLBACK_NUMBER        (RASBASE+151)
-
-#define ERROR_SCRIPT_SYNTAX                  (RASBASE+152)
-#define ERROR_HANGUP_FAILED                  (RASBASE+153)
-#define ERROR_BUNDLE_NOT_FOUND               (RASBASE+154)
-#define ERROR_CANNOT_DO_CUSTOMDIAL           (RASBASE+155)
-#define ERROR_DIAL_ALREADY_IN_PROGRESS       (RASBASE+156)
-#define ERROR_RASAUTO_CANNOT_INITIALIZE	     (RASBASE+157)
-#define ERROR_CONNECTION_ALREADY_SHARED      (RASBASE+158)
-#define ERROR_SHARING_CHANGE_FAILED          (RASBASE+159)
-#define ERROR_SHARING_ROUTER_INSTALL         (RASBASE+160)
-#define ERROR_SHARE_CONNECTION_FAILED        (RASBASE+161)
-#define ERROR_SHARING_PRIVATE_INSTALL        (RASBASE+162)
-#define ERROR_CANNOT_SHARE_CONNECTION        (RASBASE+163)
-#define ERROR_NO_SMART_CARD_READER           (RASBASE+164)
-#define ERROR_SHARING_ADDRESS_EXISTS         (RASBASE+165)
-#define ERROR_NO_CERTIFICATE                 (RASBASE+166)
-#define ERROR_SHARING_MULTIPLE_ADDRESSES     (RASBASE+167)
-#define ERROR_FAILED_TO_ENCRYPT              (RASBASE+168)
-#define ERROR_BAD_ADDRESS_SPECIFIED          (RASBASE+169)
-#define ERROR_CONNECTION_REJECT              (RASBASE+170)
-#define ERROR_CONGESTION                     (RASBASE+171)
-#define ERROR_INCOMPATIBLE                   (RASBASE+172)
-#define ERROR_NUMBERCHANGED                  (RASBASE+173)
-#define ERROR_TEMPFAILURE                    (RASBASE+174)
-#define ERROR_BLOCKED                        (RASBASE+175)
-#define ERROR_DONOTDISTURB                   (RASBASE+176)
-#define ERROR_OUTOFORDER                     (RASBASE+177)
-#define ERROR_UNABLE_TO_AUTHENTICATE_SERVER  (RASBASE+178)
-#define ERROR_SMART_CARD_REQUIRED            (RASBASE+179)
-#define ERROR_INVALID_FUNCTION_FOR_ENTRY     (RASBASE+180)
-#define ERROR_CERT_FOR_ENCRYPTION_NOT_FOUND  (RASBASE+181)
-#define ERROR_SHARING_RRAS_CONFLICT          (RASBASE+182)
-#define ERROR_SHARING_NO_PRIVATE_LAN         (RASBASE+183)
-#define ERROR_NO_DIFF_USER_AT_LOGON          (RASBASE+184)
-#define ERROR_NO_REG_CERT_AT_LOGON           (RASBASE+185)
-#define ERROR_OAKLEY_NO_CERT                 (RASBASE+186)
-#define ERROR_OAKLEY_AUTH_FAIL               (RASBASE+187)
-#define ERROR_OAKLEY_ATTRIB_FAIL             (RASBASE+188)
-#define ERROR_OAKLEY_GENERAL_PROCESSING      (RASBASE+189)
-#define ERROR_OAKLEY_NO_PEER_CERT            (RASBASE+190)
-#define ERROR_OAKLEY_NO_POLICY               (RASBASE+191)
-#define ERROR_OAKLEY_TIMED_OUT               (RASBASE+192)
-#define ERROR_OAKLEY_ERROR                   (RASBASE+193)
-#define ERROR_UNKNOWN_FRAMED_PROTOCOL        (RASBASE+194)
-#define ERROR_WRONG_TUNNEL_TYPE              (RASBASE+195)
-#define ERROR_UNKNOWN_SERVICE_TYPE           (RASBASE+196)
-#define ERROR_CONNECTING_DEVICE_NOT_FOUND    (RASBASE+197)
-#define ERROR_NO_EAPTLS_CERTIFICATE          (RASBASE+198)
-#define RASBASEEND                           (RASBASE+198)
-#endif /* _RASERROR_H */
Index: Daodan/MinGW/include/rassapi.h
===================================================================
--- Daodan/MinGW/include/rassapi.h	(revision 1046)
+++ 	(revision )
@@ -1,182 +1,0 @@
-#ifndef _RASSAPI_H
-#define _RASSAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef UNLEN
-#include <lmcons.h>
-#endif
-#define RASSAPI_MAX_PHONENUMBER_SIZE    128
-#define RASSAPI_MAX_MEDIA_NAME	        16
-#define RASSAPI_MAX_PORT_NAME	        16
-#define RASSAPI_MAX_DEVICE_NAME         128
-#define RASSAPI_MAX_DEVICETYPE_NAME     16
-#define RASSAPI_MAX_PARAM_KEY_SIZE      32
-#define RASPRIV_NoCallback              0x01
-#define RASPRIV_AdminSetCallback        0x02
-#define RASPRIV_CallerSetCallback       0x04
-#define RASPRIV_DialinPrivilege         0x08
-#define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \
-                             | RASPRIV_CallerSetCallback \
-                             | RASPRIV_NoCallback)
-#define	RAS_MODEM_OPERATIONAL	        1
-#define	RAS_MODEM_NOT_RESPONDING        2
-#define	RAS_MODEM_HARDWARE_FAILURE      3
-#define	RAS_MODEM_INCORRECT_RESPONSE    4
-#define	RAS_MODEM_UNKNOWN		5
-#define	RAS_PORT_NON_OPERATIONAL        1
-#define	RAS_PORT_DISCONNECTED         	2
-#define	RAS_PORT_CALLING_BACK         	3
-#define	RAS_PORT_LISTENING            	4
-#define	RAS_PORT_AUTHENTICATING         5
-#define	RAS_PORT_AUTHENTICATED	        6
-#define	RAS_PORT_INITIALIZING	        7
-#define MEDIA_UNKNOWN                   0
-#define MEDIA_SERIAL                    1
-#define MEDIA_RAS10_SERIAL              2
-#define MEDIA_X25                       3
-#define MEDIA_ISDN                      4
-#define USER_AUTHENTICATED              0x0001
-#define MESSENGER_PRESENT               0x0002
-#define PPP_CLIENT                      0x0004
-#define GATEWAY_ACTIVE                  0x0008
-#define REMOTE_LISTEN                   0x0010
-#define PORT_MULTILINKED                0x0020
-#define RAS_IPADDRESSLEN                15
-#define RAS_IPXADDRESSLEN               22
-#define RAS_ATADDRESSLEN                32
-#define RASDOWNLEVEL                    10
-#define RASADMIN_35                     35
-#define RASADMIN_CURRENT                40
-
-typedef ULONG IPADDR;
-typedef enum _RAS_PARAMS_FORMAT {
-    ParamNumber = 0,
-    ParamString = 1
-} RAS_PARAMS_FORMAT;
-typedef union RAS_PARAMS_VALUE {
-	DWORD	Number;
-	struct	{
-	    DWORD	Length;
-		PCHAR	Data;
-		} String;
-} RAS_PARAMS_VALUE;
-typedef struct RAS_PARAMETERS {
-    CHAR	            P_Key [RASSAPI_MAX_PARAM_KEY_SIZE];
-    RAS_PARAMS_FORMAT	P_Type;
-    BYTE	            P_Attributes;
-    RAS_PARAMS_VALUE	P_Value;
-} RAS_PARAMETERS;
-typedef struct _RAS_USER_0 {
-    BYTE    bfPrivilege;
-    WCHAR   szPhoneNumber[RASSAPI_MAX_PHONENUMBER_SIZE + 1];
-} RAS_USER_0, *PRAS_USER_0;
-typedef struct _RAS_PORT_0 {
-    WCHAR wszPortName[RASSAPI_MAX_PORT_NAME];
-    WCHAR wszDeviceType[RASSAPI_MAX_DEVICETYPE_NAME];
-    WCHAR wszDeviceName[RASSAPI_MAX_DEVICE_NAME];
-    WCHAR wszMediaName[RASSAPI_MAX_MEDIA_NAME];
-    DWORD reserved;
-    DWORD Flags;
-    WCHAR wszUserName[UNLEN + 1];
-    WCHAR wszComputer[NETBIOS_NAME_LEN];
-    DWORD dwStartSessionTime;          /* seconds from 1/1/1970 */
-    WCHAR wszLogonDomain[DNLEN + 1];
-    BOOL fAdvancedServer;
-} RAS_PORT_0, *PRAS_PORT_0;
-typedef struct _RAS_PPP_NBFCP_RESULT {
-    DWORD dwError;
-    DWORD dwNetBiosError;
-    CHAR  szName[ NETBIOS_NAME_LEN + 1 ];
-    WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
-} RAS_PPP_NBFCP_RESULT;
-typedef struct _RAS_PPP_IPCP_RESULT{
-    DWORD dwError;
-    WCHAR wszAddress[ RAS_IPADDRESSLEN + 1 ];
-} RAS_PPP_IPCP_RESULT;
-typedef struct _RAS_PPP_IPXCP_RESULT {
-    DWORD dwError;
-    WCHAR wszAddress[ RAS_IPXADDRESSLEN + 1 ];
-} RAS_PPP_IPXCP_RESULT;
-typedef struct _RAS_PPP_ATCP_RESULT {
-    DWORD dwError;
-    WCHAR wszAddress[ RAS_ATADDRESSLEN + 1 ];
-} RAS_PPP_ATCP_RESULT;
-typedef struct _RAS_PPP_PROJECTION_RESULT {
-    RAS_PPP_NBFCP_RESULT nbf;
-    RAS_PPP_IPCP_RESULT  ip;
-    RAS_PPP_IPXCP_RESULT ipx;
-    RAS_PPP_ATCP_RESULT  at;
-} RAS_PPP_PROJECTION_RESULT;
-typedef struct _RAS_PORT_1{
-    RAS_PORT_0  rasport0;
-    DWORD       LineCondition;
-    DWORD       HardwareCondition;
-    DWORD       LineSpeed;
-    WORD        NumStatistics;
-    WORD        NumMediaParms;
-    DWORD       SizeMediaParms;
-    RAS_PPP_PROJECTION_RESULT  ProjResult;
-} RAS_PORT_1, *PRAS_PORT_1;
-typedef struct _RAS_PORT_STATISTICS {
-    DWORD   dwBytesXmited;
-    DWORD   dwBytesRcved;
-    DWORD   dwFramesXmited;
-    DWORD   dwFramesRcved;
-    DWORD   dwCrcErr;
-    DWORD   dwTimeoutErr;
-    DWORD   dwAlignmentErr;
-    DWORD   dwHardwareOverrunErr;
-    DWORD   dwFramingErr;
-    DWORD   dwBufferOverrunErr;
-    DWORD   dwBytesXmitedUncompressed;
-    DWORD   dwBytesRcvedUncompressed;
-    DWORD   dwBytesXmitedCompressed;
-    DWORD   dwBytesRcvedCompressed;
-    DWORD   dwPortBytesXmited;
-    DWORD   dwPortBytesRcved;
-    DWORD   dwPortFramesXmited;
-    DWORD   dwPortFramesRcved;
-    DWORD   dwPortCrcErr;
-    DWORD   dwPortTimeoutErr;
-    DWORD   dwPortAlignmentErr;
-    DWORD   dwPortHardwareOverrunErr;
-    DWORD   dwPortFramingErr;
-    DWORD   dwPortBufferOverrunErr;
-    DWORD   dwPortBytesXmitedUncompressed;
-    DWORD   dwPortBytesRcvedUncompressed;
-    DWORD   dwPortBytesXmitedCompressed;
-    DWORD   dwPortBytesRcvedCompressed;
-} RAS_PORT_STATISTICS, *PRAS_PORT_STATISTICS;
-typedef struct _RAS_SERVER_0 {
-    WORD TotalPorts;
-    WORD PortsInUse;
-    DWORD RasVersion;
-} RAS_SERVER_0, *PRAS_SERVER_0;
-
-DWORD APIENTRY RasAdminServerGetInfo( const WCHAR*,  PRAS_SERVER_0 );
-DWORD APIENTRY RasAdminGetUserAccountServer( const WCHAR*, const WCHAR*, LPWSTR );
-DWORD APIENTRY RasAdminUserGetInfo( const WCHAR*, const WCHAR*, PRAS_USER_0 );
-DWORD APIENTRY RasAdminUserSetInfo( const WCHAR*, const WCHAR*, const PRAS_USER_0 );
-DWORD APIENTRY RasAdminPortEnum( const WCHAR*, PRAS_PORT_0*, WORD*);
-DWORD APIENTRY RasAdminPortGetInfo( const WCHAR*, const WCHAR*, RAS_PORT_1*, RAS_PORT_STATISTICS*,  RAS_PARAMETERS** );
-DWORD APIENTRY RasAdminPortClearStatistics( const WCHAR*, const WCHAR* );
-DWORD APIENTRY RasAdminPortDisconnect( const WCHAR*, const WCHAR* );
-DWORD APIENTRY RasAdminFreeBuffer(PVOID);
-DWORD APIENTRY RasAdminGetErrorString( UINT,  WCHAR*,  DWORD );
-BOOL APIENTRY RasAdminAcceptNewConnection( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* );
-VOID APIENTRY RasAdminConnectionHangupNotification ( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* );
-DWORD APIENTRY RasAdminGetIpAddressForUser ( WCHAR*, WCHAR*, IPADDR*, BOOL*);
-VOID APIENTRY RasAdminReleaseIpAddress ( WCHAR*, WCHAR*,IPADDR*	);
-DWORD APIENTRY RasAdminGetUserParms( WCHAR*, PRAS_USER_0 );
-DWORD APIENTRY RasAdminSetUserParms( WCHAR*, DWORD, PRAS_USER_0 );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RASSAPI_H */
Index: Daodan/MinGW/include/reason.h
===================================================================
--- Daodan/MinGW/include/reason.h	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#ifndef _REASON_H
-#define _REASON_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-#define SHTDN_REASON_MAJOR_APPLICATION 0x00040000
-#define SHTDN_REASON_MAJOR_HARDWARE 0x00010000
-#define SHTDN_REASON_MAJOR_LEGACY_API 0x00070000
-#define SHTDN_REASON_MAJOR_OPERATINGSYSTEM 0x00020000
-#define SHTDN_REASON_MAJOR_OTHER 0x00000000
-#define SHTDN_REASON_MAJOR_POWER 0x00060000
-#define SHTDN_REASON_MAJOR_SOFTWARE 0x00030000
-#define SHTDN_REASON_MAJOR_SYSTEM 0x00050000
-#define SHTDN_REASON_MINOR_BLUESCREEN 0x0000000F
-#define SHTDN_REASON_MINOR_CORDUNPLUGGED 0x0000000b
-#define SHTDN_REASON_MINOR_DISK 0x00000007
-#define SHTDN_REASON_MINOR_ENVIRONMENT 0x0000000c
-#define SHTDN_REASON_MINOR_HARDWARE_DRIVER 0x0000000d
-#define SHTDN_REASON_MINOR_HOTFIX 0x00000011
-#define SHTDN_REASON_MINOR_HOTFIX_UNINSTALL 0x00000017
-#define SHTDN_REASON_MINOR_HUNG 0x00000005
-#define SHTDN_REASON_MINOR_INSTALLATION 0x00000002
-#define SHTDN_REASON_MINOR_MAINTENANCE 0x00000001
-#define SHTDN_REASON_MINOR_MMC 0x00000019
-#define SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000014
-#define SHTDN_REASON_MINOR_NETWORKCARD 0x00000009
-#define SHTDN_REASON_MINOR_OTHER 0x00000000
-#define SHTDN_REASON_MINOR_OTHERDRIVER 0x0000000e
-#define SHTDN_REASON_MINOR_POWER_SUPPLY 0x0000000a
-#define SHTDN_REASON_MINOR_PROCESSOR 0x00000008
-#define SHTDN_REASON_MINOR_RECONFIG 0x00000004
-#define SHTDN_REASON_MINOR_SECURITY 0x00000013
-#define SHTDN_REASON_MINOR_SECURITYFIX 0x00000012
-#define SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000018
-#define SHTDN_REASON_MINOR_SERVICEPACK 0x00000010
-#define SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000016
-#define SHTDN_REASON_MINOR_TERMSRV 0x00000020
-#define SHTDN_REASON_MINOR_UNSTABLE 0x00000006
-#define SHTDN_REASON_MINOR_UPGRADE 0x00000003
-#define SHTDN_REASON_MINOR_WMI 0x00000015
-#define SHTDN_REASON_FLAG_USER_DEFINED 0x40000000
-#define SHTDN_REASON_FLAG_PLANNED 0x80000000
-#endif /* (WIN32_WINNT >= 0x0501) */
-
-#endif
Index: Daodan/MinGW/include/regstr.h
===================================================================
--- Daodan/MinGW/include/regstr.h	(revision 1046)
+++ 	(revision )
@@ -1,769 +1,0 @@
-#ifndef _REGSTR_H
-#define _REGSTR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REGSTR_KEY_CLASS TEXT("Class")
-#define REGSTR_KEY_CONFIG TEXT("Config")
-#define REGSTR_KEY_ENUM TEXT("Enum")
-#define REGSTR_KEY_ROOTENUM TEXT("Root")
-#define REGSTR_KEY_BIOSENUM TEXT("BIOS")
-#define REGSTR_KEY_PCMCIAENUM TEXT("PCMCIA")
-#define REGSTR_KEY_PCIENUM TEXT("PCI")
-#define REGSTR_KEY_LOGCONFIG	TEXT("LogConfig")
-#define REGSTR_KEY_SYSTEMBOARD	TEXT("*PNP0C01")
-#define REGSTR_KEY_APM	TEXT("*PNP0C05")
-#define REGSTR_KEY_INIUPDATE	TEXT("IniUpdate")
-#define REG_KEY_INSTDEV TEXT("Installed")
-#define REGSTR_KEY_DOSOPTCDROM	TEXT("CD-ROM")
-#define REGSTR_KEY_DOSOPTMOUSE	TEXT("MOUSE")
-#define REGSTR_DEFAULT_INSTANCE TEXT("0000")
-#define REGSTR_PATH_MOTHERBOARD REGSTR_KEY_SYSTEMBOARD TEXT("\\" REGSTR_DEFAULT_INSTANCE
-#define REGSTR_PATH_SETUP	TEXT("Software\\Microsoft\\Windows\\CurrentVersion")
-#define REGSTR_PATH_PIFCONVERT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\PIFConvert")
-#define REGSTR_PATH_MSDOSOPTS	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOSOptions")
-#define REGSTR_PATH_MSDOSEMU	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation")
-#define REGSTR_PATH_NEWDOSBOX	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation\\AppCompat")
-#define REGSTR_PATH_RUNONCE	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce")
-#define REGSTR_PATH_RUN	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run")
-#define REGSTR_PATH_RUNSERVICESONCE	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce")
-#define REGSTR_PATH_RUNSERVICES	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServices")
-#ifndef REGSTR_PATH_EXPLORER /* also in shlobj.h */
-#define REGSTR_PATH_EXPLORER	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
-#endif
-#define REGSTR_PATH_DETECT	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Detect")
-#define REGSTR_PATH_APPPATHS	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\App Paths")
-#define REGSTR_PATH_UNINSTALL TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
-#define REGSTR_PATH_REALMODENET TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Real Mode Net")
-#define REGSTR_PATH_NETEQUIV TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Equivalent")
-#define REGSTR_PATH_CVNETWORK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network")
-#define REGSTR_PATH_IDCONFIGDB	TEXT("System\\CurrentControlSet\\Control\\IDConfigDB")
-#define REGSTR_PATH_CLASS	TEXT("System\\CurrentControlSet\\Services\\Class")
-#define REGSTR_PATH_DISPLAYSETTINGS TEXT("Display\\Settings")
-#define REGSTR_PATH_FONTS	TEXT("Display\\Fonts")
-#define REGSTR_PATH_ENUM	TEXT("Enum")
-#define REGSTR_PATH_ROOT	TEXT("Enum\\Root")
-#define REGSTR_PATH_SERVICES	TEXT("System\\CurrentControlSet\\Services")
-#define REGSTR_PATH_VXD TEXT("System\\CurrentControlSet\\Services\\VxD")
-#define REGSTR_PATH_IOS TEXT("System\\CurrentControlSet\\Services\\VxD\\IOS")
-#define REGSTR_PATH_VMM TEXT("System\\CurrentControlSet\\Services\\VxD\\VMM")
-#define REGSTR_PATH_VPOWERD TEXT("System\\CurrentControlSet\\Services\\VxD\\VPOWERD")
-#define REGSTR_PATH_VNETSUP TEXT("System\\CurrentControlSet\\Services\\VxD\\VNETSUP")
-#define REGSTR_PATH_NWREDIR TEXT("System\\CurrentControlSet\\Services\\VxD\\NWREDIR")
-#define REGSTR_PATH_NCPSERVER TEXT("System\\CurrentControlSet\\Services\\NcpServer\\Parameters")
-#define REGSTR_PATH_IOARB	TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IOArb")
-#define REGSTR_PATH_ADDRARB	TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\AddrArb")
-#define REGSTR_PATH_DMAARB	TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\DMAArb")
-#define REGSTR_PATH_IRQARB	TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IRQArb")
-#define REGSTR_PATH_CODEPAGE	TEXT("System\\CurrentControlSet\\Control\\Nls\\Codepage")
-#define REGSTR_PATH_FILESYSTEM	TEXT("System\\CurrentControlSet\\Control\\FileSystem")
-#define REGSTR_PATH_FILESYSTEM_NOVOLTRACK	TEXT("System\\CurrentControlSet\\Control\\FileSystem\\NoVolTrack")
-#define REGSTR_PATH_CDFS	TEXT("System\\CurrentControlSet\\Control\\FileSystem\\CDFS")
-#define REGSTR_PATH_WINBOOT	TEXT("System\\CurrentControlSet\\Control\\WinBoot")
-#define REGSTR_PATH_INSTALLEDFILES	TEXT("System\\CurrentControlSet\\Control\\InstalledFiles")
-#define REGSTR_PATH_VMM32FILES	TEXT("System\\CurrentControlSet\\Control\\VMM32Files")
-#define REGSTR_MAX_VALUE_LENGTH 256
-#define REGSTR_VAL_BITSPERPIXEL	TEXT("BitsPerPixel")
-#define REGSTR_VAL_RESOLUTION TEXT("Resolution")
-#define REGSTR_VAL_DPILOGICALX	TEXT("DPILogicalX")
-#define REGSTR_VAL_DPILOGICALY	TEXT("DPILogicalY")
-#define REGSTR_VAL_DPIPHYSICALX	TEXT("DPIPhysicalX")
-#define REGSTR_VAL_DPIPHYSICALY TEXT("DPIPhysicalY")
-#define REGSTR_VAL_REFRESHRATE TEXT("RefreshRate")
-#define REGSTR_VAL_DISPLAYFLAGS TEXT("DisplayFlags")
-#define REGSTR_PATH_CONTROLPANEL TEXT("Control Panel")
-#define REGSTR_PATH_CONTROLSFOLDER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Controls Folder")
-#define REGSTR_VAL_DOSCP	TEXT("OEMCP")
-#define REGSTR_VAL_WINCP	TEXT("ACP")
-#define REGSTR_PATH_DYNA_ENUM	TEXT("Config Manager\\Enum")
-#define	REGSTR_VAL_HARDWARE_KEY	TEXT("HardWareKey")
-#define	REGSTR_VAL_ALLOCATION	TEXT("Allocation")
-#define	REGSTR_VAL_PROBLEM	TEXT("Problem")
-#define	REGSTR_VAL_STATUS	TEXT("Status")
-#define REGSTR_VAL_DONTUSEMEM	TEXT("DontAllocLastMem")
-#define REGSTR_VAL_SYSTEMROOT TEXT("SystemRoot")
-#define REGSTR_VAL_BOOTCOUNT	TEXT("BootCount")
-#define REGSTR_VAL_REALNETSTART	TEXT("RealNetStart")
-#define	REGSTR_VAL_MEDIA	TEXT("MediaPath")
-#define	REGSTR_VAL_CONFIG	TEXT("ConfigPath")
-#define REGSTR_VAL_DEVICEPATH	TEXT("DevicePath")
-#define REGSTR_VAL_SRCPATH	TEXT("SourcePath")
-#define REGSTR_VAL_OLDWINDIR	TEXT("OldWinDir")
-#define REGSTR_VAL_SETUPFLAGS	TEXT("SetupFlags")
-#define REGSTR_VAL_REGOWNER TEXT("RegisteredOwner")
-#define REGSTR_VAL_REGORGANIZATION TEXT("RegisteredOrganization")
-#define REGSTR_VAL_LICENSINGINFO TEXT("LicensingInfo")
-#define REGSTR_VAL_OLDMSDOSVER TEXT("OldMSDOSVer")
-#define REGSTR_VAL_FIRSTINSTALLDATETIME TEXT("FirstInstallDateTime")
-#define REGSTR_VAL_INSTALLTYPE	TEXT("InstallType")
-#define REGSTR_VAL_WRAPPER	TEXT("Wrapper")
-#define IT_COMPACT 0
-#define IT_TYPICAL 1
-#define IT_PORTABLE 2
-#define IT_CUSTOM 3
-#define REGSTR_KEY_SETUP	TEXT("\\Setup")
-#define REGSTR_VAL_BOOTDIR TEXT("BootDir")
-#define REGSTR_VAL_WINBOOTDIR TEXT("WinbootDir")
-#define REGSTR_VAL_WINDIR	TEXT("WinDir")
-#define REGSTR_VAL_APPINSTPATH	TEXT("AppInstallPath")
-#define REGSTR_PATH_EBD REGSTR_PATH_SETUP REGSTR_KEY_SETUP TEXT("\\EBD")
-#define REGSTR_KEY_EBDFILESLOCAL TEXT("EBDFilesLocale")
-#define REGSTR_KEY_EBDFILESKEYBOARD TEXT("EBDFilesKeyboard")
-#define REGSTR_KEY_EBDAUTOEXECBATLOCAL TEXT("EBDAutoexecBatLocale")
-#define REGSTR_KEY_EBDAUTOEXECBATKEYBOARD TEXT("EBDAutoexecBatKeyboard")
-#define REGSTR_KEY_EBDCONFIGSYSLOCAL TEXT("EBDConfigSysLocale")
-#define REGSTR_KEY_EBDCONFIGSYSKEYBOARD TEXT("EBDConfigSysKeyboard")
-#define REGSTR_VAL_MSDOSMODE TEXT("MSDOSMode")
-#define REGSTR_VAL_MSDOSMODEDISCARD TEXT("Discard")
-#define REGSTR_VAL_DOSOPTGLOBALFLAGS	TEXT("GlobalFlags")
-#define DOSOPTGF_DEFCLEAN 1
-#define REGSTR_VAL_DOSOPTFLAGS	TEXT("Flags")
-#define REGSTR_VAL_OPTORDER	TEXT("Order")
-#define REGSTR_VAL_CONFIGSYS	TEXT("Config.Sys")
-#define REGSTR_VAL_AUTOEXEC	TEXT("Autoexec.Bat")
-#define REGSTR_VAL_STDDOSOPTION TEXT("StdOption")
-#define REGSTR_VAL_DOSOPTTIP	TEXT("TipText")
-#define DOSOPTF_DEFAULT 1
-#define DOSOPTF_SUPPORTED 2
-#define DOSOPTF_ALWAYSUSE 4
-#define DOSOPTF_USESPMODE 8
-#define DOSOPTF_PROVIDESUMB 16
-#define DOSOPTF_NEEDSETUP 32
-#define DOSOPTF_INDOSSTART 64
-#define DOSOPTF_MULTIPLE 128
-#define SUF_FIRSTTIME 1
-#define SUF_EXPRESS 2
-#define SUF_BATCHINF 4
-#define SUF_CLEAN 8
-#define SUF_INSETUP 16
-#define SUF_NETSETUP 32
-#define SUF_NETHDBOOT 64
-#define SUF_NETRPLBOOT 128
-#define SUF_SBSCOPYOK 256
-#define REGSTR_VAL_DOSPAGER	TEXT("DOSPager")
-#define REGSTR_VAL_VXDGROUPS	TEXT("VXDGroups")
-#define REGSTR_VAL_VPOWERDFLAGS TEXT("Flags")
-#define VPDF_DISABLEPWRMGMT 1
-#define VPDF_FORCEAPM10MODE 2
-#define VPDF_SKIPINTELSLCHECK 4
-#define VPDF_DISABLEPWRSTATUSPOLL 8
-#define REGSTR_VAL_WORKGROUP TEXT("Workgroup")
-#define REGSTR_VAL_DIRECTHOST TEXT("DirectHost")
-#define REGSTR_VAL_FILESHARING TEXT("FileSharing")
-#define REGSTR_VAL_PRINTSHARING	TEXT("PrintSharing")
-#define REGSTR_VAL_FIRSTNETDRIVE TEXT("FirstNetworkDrive")
-#define REGSTR_VAL_MAXCONNECTIONS	TEXT("MaxConnections")
-#define REGSTR_VAL_APISUPPORT	TEXT("APISupport")
-#define REGSTR_VAL_MAXRETRY	TEXT("MaxRetry")
-#define REGSTR_VAL_MINRETRY	TEXT("MinRetry")
-#define REGSTR_VAL_SUPPORTLFN	TEXT("SupportLFN")
-#define REGSTR_VAL_SUPPORTBURST	TEXT("SupportBurst")
-#define REGSTR_VAL_SUPPORTTUNNELLING	TEXT("SupportTunnelling")
-#define REGSTR_VAL_FULLTRACE	TEXT("FullTrace")
-#define REGSTR_VAL_READCACHING	TEXT("ReadCaching")
-#define REGSTR_VAL_SHOWDOTS	TEXT("ShowDots")
-#define REGSTR_VAL_GAPTIME	TEXT("GapTime")
-#define REGSTR_VAL_SEARCHMODE	TEXT("SearchMode")
-#define REGSTR_VAL_SHELLVERSION TEXT("ShellVersion")
-#define REGSTR_VAL_MAXLIP TEXT("MaxLIP")
-#define REGSTR_VAL_PRESERVECASE TEXT("PreserveCase")
-#define REGSTR_VAL_OPTIMIZESFN TEXT("OptimizeSFN")
-#define REGSTR_VAL_NCP_BROWSEMASTER TEXT("BrowseMaster")
-#define	REGSTR_VAL_NCP_USEPEERBROWSING	TEXT("Use_PeerBrowsing")
-#define REGSTR_VAL_NCP_USESAP TEXT("Use_Sap")
-#define	REGSTR_VAL_WIN31FILESYSTEM	TEXT("Win31FileSystem")
-#define REGSTR_VAL_PRESERVELONGNAMES	TEXT("PreserveLongNames")
-#define REGSTR_VAL_DRIVEWRITEBEHIND	TEXT("DriveWriteBehind")
-#define REGSTR_VAL_ASYNCFILECOMMIT	TEXT("AsyncFileCommit")
-#define REGSTR_VAL_PATHCACHECOUNT	TEXT("PathCache")
-#define REGSTR_VAL_NAMECACHECOUNT	TEXT("NameCache")
-#define REGSTR_VAL_CONTIGFILEALLOC	TEXT("ContigFileAllocSize")
-#define REGSTR_VAL_VOLIDLETIMEOUT	TEXT("VolumeIdleTimeout")
-#define REGSTR_VAL_BUFFIDLETIMEOUT	TEXT("BufferIdleTimeout")
-#define REGSTR_VAL_BUFFAGETIMEOUT	TEXT("BufferAgeTimeout")
-#define	REGSTR_VAL_NAMENUMERICTAIL TEXT("NameNumericTail")
-#define	REGSTR_VAL_READAHEADTHRESHOLD	TEXT("ReadAheadThreshold")
-#define	REGSTR_VAL_DOUBLEBUFFER TEXT("DoubleBuffer")
-#define	REGSTR_VAL_SOFTCOMPATMODE TEXT("SoftCompatMode")
-#define REGSTR_VAL_DRIVESPINDOWN	TEXT("DriveSpinDown")
-#define	REGSTR_VAL_FORCEPMIO	TEXT("ForcePMIO")
-#define REGSTR_VAL_FORCERMIO	TEXT("ForceRMIO")
-#define REGSTR_VAL_LASTBOOTPMDRVS	TEXT("LastBootPMDrvs")
-#define REGSTR_VAL_VIRTUALHDIRQ	TEXT("VirtualHDIRQ")
-#define REGSTR_VAL_SRVNAMECACHECOUNT	TEXT("ServerNameCacheMax")
-#define REGSTR_VAL_SRVNAMECACHE	TEXT("ServerNameCache")
-#define REGSTR_VAL_SRVNAMECACHENETPROV	TEXT("ServerNameCacheNumNets")
-#define	REGSTR_VAL_AUTOMOUNT	TEXT("AutoMountDrives")
-#define	REGSTR_VAL_COMPRESSIONMETHOD	TEXT("CompressionAlgorithm")
-#define	REGSTR_VAL_COMPRESSIONTHRESHOLD	TEXT("CompressionThreshold")
-#define REGSTR_VAL_CDCACHESIZE	TEXT("CacheSize")
-#define REGSTR_VAL_CDPREFETCH	TEXT("Prefetch")
-#define REGSTR_VAL_CDPREFETCHTAIL TEXT("PrefetchTail")
-#define REGSTR_VAL_CDRAWCACHE	TEXT("RawCache")
-#define REGSTR_VAL_CDEXTERRORS	TEXT("ExtendedErrors")
-#define REGSTR_VAL_CDSVDSENSE	TEXT("SVDSense")
-#define REGSTR_VAL_CDSHOWVERSIONS TEXT("ShowVersions")
-#define REGSTR_VAL_CDCOMPATNAMES TEXT("MSCDEXCompatNames")
-#define REGSTR_VAL_CDNOREADAHEAD TEXT("NoReadAhead")
-#define REGSTR_VAL_SCSI	TEXT("SCSI\\")
-#define REGSTR_VAL_ESDI	TEXT("ESDI\\")
-#define REGSTR_VAL_FLOP TEXT("FLOP\\")
-#define	REGSTR_VAL_DISK	TEXT("GenDisk")
-#define	REGSTR_VAL_CDROM	TEXT("GenCD")
-#define	REGSTR_VAL_TAPE	TEXT("TAPE")
-#define	REGSTR_VAL_SCANNER TEXT("SCANNER")
-#define	REGSTR_VAL_FLOPPY	TEXT("FLOPPY")
-#define	REGSTR_VAL_SCSITID TEXT("SCSITargetID")
-#define	REGSTR_VAL_SCSILUN TEXT("SCSILUN")
-#define	REGSTR_VAL_REVLEVEL TEXT("RevisionLevel")
-#define	REGSTR_VAL_PRODUCTID TEXT("ProductId")
-#define	REGSTR_VAL_PRODUCTTYPE TEXT("ProductType")
-#define	REGSTR_VAL_DEVTYPE TEXT("DeviceType")
-#define	REGSTR_VAL_REMOVABLE TEXT("Removable")
-#define REGSTR_VAL_CURDRVLET TEXT("CurrentDriveLetterAssignment")
-#define	REGSTR_VAL_USRDRVLET TEXT("UserDriveLetterAssignment")
-#define	REGSTR_VAL_SYNCDATAXFER TEXT("SyncDataXfer")
-#define	REGSTR_VAL_AUTOINSNOTE	TEXT("AutoInsertNotification")
-#define	REGSTR_VAL_DISCONNECT TEXT("Disconnect")
-#define	REGSTR_VAL_INT13 TEXT("Int13")
-#define	REGSTR_VAL_PMODE_INT13 TEXT("PModeInt13")
-#define	REGSTR_VAL_USERSETTINGS TEXT("AdapterSettings")
-#define	REGSTR_VAL_NOIDE TEXT("NoIDE")
-#define	REGSTR_VAL_DISKCLASSNAME	TEXT("DiskDrive")
-#define	REGSTR_VAL_CDROMCLASSNAME	TEXT("CDROM")
-#define	REGSTR_VAL_FORCELOAD	TEXT("ForceLoadPD")
-#define	REGSTR_VAL_FORCEFIFO TEXT("ForceFIFO")
-#define	REGSTR_VAL_FORCECL TEXT("ForceChangeLine")
-#define REGSTR_VAL_NOUSECLASS TEXT("NoUseClass")
-#define REGSTR_VAL_NOINSTALLCLASS TEXT("NoInstallClass")
-#define REGSTR_VAL_NODISPLAYCLASS TEXT("NoDisplayClass")
-#define REGSTR_VAL_SILENTINSTALL TEXT("SilentInstall")
-#define REGSTR_KEY_PCMCIA_CLASS TEXT("PCMCIA")
-#define REGSTR_KEY_SCSI_CLASS TEXT("SCSIAdapter")
-#define REGSTR_KEY_PORTS_CLASS TEXT("ports")
-#define REGSTR_KEY_MEDIA_CLASS TEXT("MEDIA")
-#define REGSTR_KEY_DISPLAY_CLASS TEXT("Display")
-#define REGSTR_KEY_KEYBOARD_CLASS TEXT("Keyboard")
-#define REGSTR_KEY_MOUSE_CLASS TEXT("Mouse")
-#define REGSTR_KEY_MONITOR_CLASS TEXT("Monitor")
-#define REGSTR_VAL_PCMCIA_OPT	TEXT("Options")
-#define PCMCIA_OPT_HAVE_SOCKET	1
-#define PCMCIA_OPT_AUTOMEM	4
-#define PCMCIA_OPT_NO_SOUND	8
-#define PCMCIA_OPT_NO_AUDIO	16
-#define PCMCIA_OPT_NO_APMREMOVE 32
-#define REGSTR_VAL_PCMCIA_MEM	TEXT("Memory")
-#define PCMCIA_DEF_MEMBEGIN	0xC0000
-#define PCMCIA_DEF_MEMEND	0xFFFFFF
-#define PCMCIA_DEF_MEMLEN	0x1000
-#define REGSTR_VAL_PCMCIA_ALLOC TEXT("AllocMemWin")
-#define REGSTR_VAL_PCMCIA_ATAD	TEXT("ATADelay")
-#define REGSTR_VAL_PCMCIA_SIZ	TEXT("MinRegionSize")
-#define PCMCIA_DEF_MIN_REGION	0x10000
-#define REGSTR_VAL_P1284MDL TEXT("Model")
-#define REGSTR_VAL_P1284MFG TEXT("Manufacturer")
-#define	REGSTR_VAL_ISAPNP	TEXT("ISAPNP")
-#define	REGSTR_VAL_ISAPNP_RDP_OVERRIDE	TEXT("RDPOverRide")
-#define	REGSTR_VAL_PCI	TEXT("PCI")
-#define	REGSTR_PCI_OPTIONS	TEXT("Options")
-#define	REGSTR_PCI_DUAL_IDE	TEXT("PCIDualIDE")
-#define	PCI_OPTIONS_USE_BIOS	1
-#define	PCI_OPTIONS_USE_IRQ_STEERING	2
-#define	PCI_FLAG_NO_VIDEO_IRQ	1
-#define	PCI_FLAG_PCMCIA_WANT_IRQ	2
-#define	PCI_FLAG_DUAL_IDE	4
-#define	PCI_FLAG_NO_ENUM_AT_ALL	8
-#define	PCI_FLAG_ENUM_NO_RESOURCE	16
-#define	PCI_FLAG_NEED_DWORD_ACCESS	32
-#define	PCI_FLAG_SINGLE_FUNCTION	64
-#define	PCI_FLAG_ALWAYS_ENABLED	128
-#define	PCI_FLAG_IS_IDE	256
-#define	PCI_FLAG_IS_VIDEO	512
-#define	PCI_FLAG_FAIL_START	1024
-#define REGSTR_KEY_CRASHES	TEXT("Crashes")
-#define REGSTR_KEY_DANGERS	TEXT("Dangers")
-#define REGSTR_KEY_DETMODVARS	TEXT("DetModVars")
-#define REGSTR_KEY_NDISINFO	TEXT("NDISInfo")
-#define REGSTR_VAL_PROTINIPATH	TEXT("ProtIniPath")
-#define REGSTR_VAL_RESOURCES	TEXT("Resources")
-#define REGSTR_VAL_CRASHFUNCS	TEXT("CrashFuncs")
-#define REGSTR_VAL_CLASS	TEXT("Class")
-#define REGSTR_VAL_DEVDESC	TEXT("DeviceDesc")
-#define REGSTR_VAL_BOOTCONFIG	TEXT("BootConfig")
-#define REGSTR_VAL_DETFUNC	TEXT("DetFunc")
-#define REGSTR_VAL_DETFLAGS	TEXT("DetFlags")
-#define REGSTR_VAL_COMPATIBLEIDS TEXT("CompatibleIDs")
-#define REGSTR_VAL_DETCONFIG	TEXT("DetConfig")
-#define REGSTR_VAL_VERIFYKEY	TEXT("VerifyKey")
-#define REGSTR_VAL_COMINFO	TEXT("ComInfo")
-#define REGSTR_VAL_INFNAME	TEXT("InfName")
-#define REGSTR_VAL_CARDSPECIFIC	TEXT("CardSpecific")
-#define REGSTR_VAL_NETOSTYPE	TEXT("NetOSType")
-#define REGSTR_DATA_NETOS_NDIS	TEXT("NDIS")
-#define REGSTR_DATA_NETOS_ODI	TEXT("ODI")
-#define REGSTR_DATA_NETOS_IPX	TEXT("IPX")
-#define REGSTR_VAL_MFG TEXT("Mfg")
-#define REGSTR_VAL_SCAN_ONLY_FIRST	TEXT("ScanOnlyFirstDrive")
-#define REGSTR_VAL_SHARE_IRQ	TEXT("ForceIRQSharing")
-#define REGSTR_VAL_NONSTANDARD_ATAPI	TEXT("NonStandardATAPI")
-#define REGSTR_VAL_IDE_FORCE_SERIALIZE	TEXT("ForceSerialization")
-#define	REGSTR_VAL_MAX_HCID_LEN	1024
-#define REGSTR_VAL_HWREV TEXT("HWRevision")
-#define REGSTR_VAL_ENABLEINTS TEXT("EnableInts")
-#define REGDF_NOTDETIO	1
-#define REGDF_NOTDETMEM 2
-#define REGDF_NOTDETIRQ 4
-#define REGDF_NOTDETDMA 8
-#define REGDF_NOTDETALL	(REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA)
-#define REGDF_NEEDFULLCONFIG	16
-#define REGDF_GENFORCEDCONFIG	32
-#define REGDF_NODETCONFIG	0x8000
-#define REGDF_CONFLICTIO	0x10000
-#define REGDF_CONFLICTMEM	0x20000
-#define REGDF_CONFLICTIRQ	0x40000
-#define REGDF_CONFLICTDMA	0x80000
-#define	REGDF_CONFLICTALL	(REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA)
-#define REGDF_MAPIRQ2TO9	0x100000
-#define REGDF_NOTVERIFIED	0x80000000
-#define REGSTR_VAL_APMBIOSVER	TEXT("APMBiosVer")
-#define REGSTR_VAL_APMFLAGS	TEXT("APMFlags")
-#define REGSTR_VAL_SLSUPPORT	TEXT("SLSupport")
-#define REGSTR_VAL_MACHINETYPE	TEXT("MachineType")
-#define REGSTR_VAL_SETUPMACHINETYPE TEXT("SetupMachineType")
-#define REGSTR_MACHTYPE_UNKNOWN TEXT("Unknown")
-#define REGSTR_MACHTYPE_IBMPC	TEXT("IBM PC")
-#define REGSTR_MACHTYPE_IBMPCJR TEXT("IBM PCjr")
-#define REGSTR_MACHTYPE_IBMPCCONV	TEXT("IBM PC Convertible")
-#define REGSTR_MACHTYPE_IBMPCXT TEXT("IBM PC/XT")
-#define REGSTR_MACHTYPE_IBMPCXT_286	TEXT("IBM PC/XT 286")
-#define REGSTR_MACHTYPE_IBMPCAT TEXT("IBM PC/AT")
-#define REGSTR_MACHTYPE_IBMPS2_25	TEXT("IBM PS/2-25")
-#define REGSTR_MACHTYPE_IBMPS2_30_286	TEXT("IBM PS/2-30 286")
-#define REGSTR_MACHTYPE_IBMPS2_30	TEXT("IBM PS/2-30")
-#define REGSTR_MACHTYPE_IBMPS2_50	TEXT("IBM PS/2-50")
-#define REGSTR_MACHTYPE_IBMPS2_50Z	TEXT("IBM PS/2-50Z")
-#define REGSTR_MACHTYPE_IBMPS2_55SX	TEXT("IBM PS/2-55SX")
-#define REGSTR_MACHTYPE_IBMPS2_60	TEXT("IBM PS/2-60")
-#define REGSTR_MACHTYPE_IBMPS2_65SX	TEXT("IBM PS/2-65SX")
-#define REGSTR_MACHTYPE_IBMPS2_70	TEXT("IBM PS/2-70")
-#define REGSTR_MACHTYPE_IBMPS2_P70	TEXT("IBM PS/2-P70")
-#define REGSTR_MACHTYPE_IBMPS2_70_80	TEXT("IBM PS/2-70/80")
-#define REGSTR_MACHTYPE_IBMPS2_80	TEXT("IBM PS/2-80")
-#define REGSTR_MACHTYPE_IBMPS2_90	TEXT("IBM PS/2-90")
-#define REGSTR_MACHTYPE_IBMPS1	TEXT("IBM PS/1")
-#define REGSTR_MACHTYPE_PHOENIX_PCAT	TEXT("Phoenix PC/AT Compatible")
-#define REGSTR_MACHTYPE_HP_VECTRA	TEXT("HP Vectra")
-#define REGSTR_MACHTYPE_ATT_PC	TEXT("AT&T PC")
-#define REGSTR_MACHTYPE_ZENITH_PC	TEXT("Zenith PC")
-#define REGSTR_VAL_APMMENUSUSPEND	TEXT("APMMenuSuspend")
-#define APMMENUSUSPEND_DISABLED 0
-#define APMMENUSUSPEND_ENABLED	1
-#define APMMENUSUSPEND_UNDOCKED 2
-#define APMMENUSUSPEND_NOCHANGE 128
-#define REGSTR_VAL_BUSTYPE TEXT("BusType")
-#define REGSTR_VAL_CPU TEXT("CPU")
-#define REGSTR_VAL_NDP TEXT("NDP")
-#define REGSTR_VAL_PNPBIOSVER TEXT("PnPBIOSVer")
-#define REGSTR_VAL_PNPSTRUCOFFSET TEXT("PnPStrucOffset")
-#define REGSTR_VAL_PCIBIOSVER TEXT("PCIBIOSVer")
-#define REGSTR_VAL_HWMECHANISM TEXT("HWMechanism")
-#define REGSTR_VAL_LASTPCIBUSNUM TEXT("LastPCIBusNum")
-#define REGSTR_VAL_CONVMEM TEXT("ConvMem")
-#define REGSTR_VAL_EXTMEM TEXT("ExtMem")
-#define REGSTR_VAL_COMPUTERNAME TEXT("ComputerName")
-#define REGSTR_VAL_BIOSNAME TEXT("BIOSName")
-#define REGSTR_VAL_BIOSVERSION TEXT("BIOSVersion")
-#define REGSTR_VAL_BIOSDATE TEXT("BIOSDate")
-#define REGSTR_VAL_MODEL TEXT("Model")
-#define REGSTR_VAL_SUBMODEL TEXT("Submodel")
-#define REGSTR_VAL_REVISION TEXT("Revision")
-#define REGSTR_VAL_FIFODEPTH	TEXT("FIFODepth")
-#define REGSTR_VAL_RDINTTHRESHOLD	TEXT("RDIntThreshold")
-#define REGSTR_VAL_WRINTTHRESHOLD	TEXT("WRIntThreshold")
-#define REGSTR_VAL_PRIORITY	TEXT("Priority")
-#define REGSTR_VAL_DRIVER	TEXT("Driver")
-#define REGSTR_VAL_FUNCDESC	TEXT("FunctionDesc")
-#define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig")
-#define REGSTR_VAL_CONFIGFLAGS	TEXT("ConfigFlags")
-#define REGSTR_VAL_CSCONFIGFLAGS TEXT("CSConfigFlags")
-#define CONFIGFLAG_DISABLED	1
-#define CONFIGFLAG_REMOVED	2
-#define CONFIGFLAG_MANUAL_INSTALL 4
-#define CONFIGFLAG_IGNORE_BOOT_LC 8
-#define CONFIGFLAG_NET_BOOT	16
-#define CONFIGFLAG_REINSTALL	32
-#define CONFIGFLAG_FAILEDINSTALL	64
-#define CONFIGFLAG_CANTSTOPACHILD	128
-#define CONFIGFLAG_OKREMOVEROM	256
-#define CONFIGFLAG_NOREMOVEEXIT	512
-#define CSCONFIGFLAG_BITS	7
-#define CSCONFIGFLAG_DISABLED	1
-#define CSCONFIGFLAG_DO_NOT_CREATE	2
-#define CSCONFIGFLAG_DO_NOT_START	4
-#define DMSTATEFLAG_APPLYTOALL 1
-#define	REGSTR_VAL_ROOT_DEVNODE	TEXT("HTREE\\ROOT\\0")
-#define	REGSTR_VAL_RESERVED_DEVNODE	TEXT("HTREE\\RESERVED\\0")
-#define	REGSTR_PATH_READDATAPORT	REGSTR_KEY_ISAENUM TEXT("\\ReadDataPort\\0")
-#define	REGSTR_PATH_MULTI_FUNCTION	TEXT("MF")
-#define	REGSTR_VAL_RESOURCE_MAP	TEXT("ResourceMap")
-#define	REGSTR_PATH_CHILD_PREFIX	TEXT("Child")
-#define	NUM_RESOURCE_MAP	256
-#define	REGSTR_VAL_MF_FLAGS	TEXT("MFFlags")
-#define	MF_FLAGS_EVEN_IF_NO_RESOURCE	1
-#define	MF_FLAGS_NO_CREATE_IF_NO_RESOURCE	2
-#define	MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE	4
-#define	MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED	8
-#define	EISAFLAG_NO_IO_MERGE	1
-#define	EISAFLAG_SLOT_IO_FIRST	2
-#define	EISA_NO_MAX_FUNCTION	0xFF
-#define	NUM_EISA_RANGES	4
-#define REGSTR_VAL_DRVDESC	TEXT("DriverDesc")
-#define REGSTR_VAL_DEVLOADER	TEXT("DevLoader")
-#define REGSTR_VAL_STATICVXD	TEXT("StaticVxD")
-#define REGSTR_VAL_PROPERTIES	TEXT("Properties")
-#define REGSTR_VAL_MANUFACTURER TEXT("Manufacturer")
-#define REGSTR_VAL_EXISTS	TEXT("Exists")
-#define REGSTR_VAL_CMENUMFLAGS	TEXT("CMEnumFlags")
-#define REGSTR_VAL_CMDRIVFLAGS	TEXT("CMDrivFlags")
-#define	REGSTR_VAL_ENUMERATOR	TEXT("Enumerator")
-#define	REGSTR_VAL_DEVICEDRIVER	TEXT("DeviceDriver")
-#define REGSTR_VAL_PORTNAME	TEXT("PortName")
-#define REGSTR_VAL_INFPATH TEXT("InfPath")
-#define REGSTR_VAL_INFSECTION	TEXT("InfSection")
-#define REGSTR_VAL_POLLING	TEXT("Polling")
-#define REGSTR_VAL_DONTLOADIFCONFLICT TEXT("DontLoadIfConflict")
-#define REGSTR_VAL_PORTSUBCLASS TEXT("PortSubClass")
-#define REGSTR_VAL_NETCLEAN TEXT("NetClean")
-#define REGSTR_VAL_IDE_NO_SERIALIZE TEXT("IDENoSerialize")
-#define REGSTR_VAL_NOCMOSORFDPT TEXT("NoCMOSorFDPT")
-#define REGSTR_VAL_COMVERIFYBASE TEXT("COMVerifyBase")
-#define REGSTR_KEY_OVERRIDE	TEXT("Override")
-#define	REGSTR_VAL_CONFIGMG	TEXT("CONFIGMG")
-#define REGSTR_VAL_SYSDM	TEXT("SysDM")
-#define REGSTR_VAL_SYSDMFUNC	TEXT("SysDMFunc")
-#define	REGSTR_VAL_PRIVATE	TEXT("Private")
-#define	REGSTR_VAL_PRIVATEFUNC	TEXT("PrivateFunc")
-#define	REGSTR_VAL_DETECT	TEXT("Detect")
-#define	REGSTR_VAL_DETECTFUNC	TEXT("DetectFunc")
-#define	REGSTR_VAL_ASKFORCONFIG	TEXT("AskForConfig")
-#define	REGSTR_VAL_ASKFORCONFIGFUNC TEXT("AskForConfigFunc")
-#define	REGSTR_VAL_WAITFORUNDOCK TEXT("WaitForUndock")
-#define	REGSTR_VAL_WAITFORUNDOCKFUNC TEXT("WaitForUndockFunc")
-#define	REGSTR_VAL_REMOVEROMOKAY TEXT("RemoveRomOkay")
-#define	REGSTR_VAL_REMOVEROMOKAYFUNC TEXT("RemoveRomOkayFunc")
-#define REGSTR_VAL_CURCONFIG	TEXT("CurrentConfig")
-#define REGSTR_VAL_FRIENDLYNAME TEXT("FriendlyName")
-#define REGSTR_VAL_CURRENTCONFIG TEXT("CurrentConfig")
-#define REGSTR_VAL_MAP	TEXT("Map")
-#define REGSTR_VAL_ID	TEXT("CurrentID")
-#define REGSTR_VAL_DOCKED	TEXT("CurrentDockedState")
-#define REGSTR_VAL_CHECKSUM	TEXT("CurrentChecksum")
-#define REGSTR_VAL_HWDETECT	TEXT("HardwareDetect")
-#define REGSTR_VAL_INHIBITRESULTS TEXT("InhibitResults")
-#define REGSTR_VAL_PROFILEFLAGS TEXT("ProfileFlags")
-#define REGSTR_KEY_PCMCIA	TEXT("PCMCIA\\")
-#define REGSTR_KEY_PCUNKNOWN	TEXT("UNKNOWN_MANUFACTURER")
-#define REGSTR_VAL_PCSSDRIVER	TEXT("Driver")
-#define REGSTR_KEY_PCMTD	TEXT("MTD-")
-#define REGSTR_VAL_PCMTDRIVER	TEXT("MTD")
-#define REGSTR_VAL_HARDWAREID	TEXT("HardwareID")
-#define REGSTR_VAL_INSTALLER	TEXT("Installer")
-#define REGSTR_VAL_INSICON	TEXT("Icon")
-#define REGSTR_VAL_ENUMPROPPAGES TEXT("EnumPropPages")
-#define REGSTR_VAL_BASICPROPERTIES TEXT("BasicProperties")
-#define REGSTR_VAL_PRIVATEPROBLEM TEXT("PrivateProblem")
-#define REGSTR_KEY_CURRENT	TEXT("Current")
-#define REGSTR_KEY_DEFAULT	TEXT("Default")
-#define REGSTR_KEY_MODES	TEXT("Modes")
-#define REGSTR_VAL_MODE TEXT("Mode")
-#define REGSTR_VAL_BPP	TEXT("BPP")
-#define REGSTR_VAL_HRES TEXT("HRes")
-#define REGSTR_VAL_VRES TEXT("VRes")
-#define REGSTR_VAL_FONTSIZE	TEXT("FontSize")
-#define REGSTR_VAL_DRV	TEXT("drv")
-#define REGSTR_VAL_GRB	TEXT("grb")
-#define REGSTR_VAL_VDD	TEXT("vdd")
-#define REGSTR_VAL_VER	TEXT("Ver")
-#define REGSTR_VAL_MAXRES	TEXT("MaxResolution")
-#define REGSTR_VAL_DPMS TEXT("DPMS")
-#define REGSTR_VAL_RESUMERESET TEXT("ResumeReset")
-#define REGSTR_VAL_DESCRIPTION TEXT("Description")
-#define REGSTR_KEY_SYSTEM	TEXT("System")
-#define REGSTR_KEY_USER TEXT("User")
-#define REGSTR_VAL_DPI	TEXT("dpi")
-#define REGSTR_VAL_PCICOPTIONS	TEXT("PCICOptions")
-#ifndef NEC_98
-#define PCIC_DEFAULT_IRQMASK	0x4EB8
-#else
-#define PCIC_DEFAULT_IRQMASK	0x1468
-#endif
-#define PCIC_DEFAULT_NUMSOCKETS 0
-#define REGSTR_VAL_PCICIRQMAP	TEXT("PCICIRQMap")
-#define REGSTR_PATH_APPEARANCE	TEXT("Control Panel\\Appearance")
-#define REGSTR_PATH_LOOKSCHEMES TEXT("Control Panel\\Appearance\\Schemes")
-#define REGSTR_VAL_CUSTOMCOLORS TEXT("CustomColors")
-#define REGSTR_PATH_SCREENSAVE TEXT("Control Panel\\Desktop")
-#define REGSTR_VALUE_USESCRPASSWORD TEXT("ScreenSaveUsePassword")
-#define REGSTR_VALUE_SCRPASSWORD TEXT("ScreenSave_Data")
-#define REGSTR_VALUE_LOWPOWERTIMEOUT	TEXT("ScreenSaveLowPowerTimeout")
-#define REGSTR_VALUE_POWEROFFTIMEOUT	TEXT("ScreenSavePowerOffTimeout")
-#define REGSTR_VALUE_LOWPOWERACTIVE	TEXT("ScreenSaveLowPowerActive")
-#define REGSTR_VALUE_POWEROFFACTIVE	TEXT("ScreenSavePowerOffActive")
-#define REGSTR_PATH_WINDOWSAPPLETS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets")
-#define REGSTR_PATH_SYSTRAY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\SysTray")
-#define REGSTR_VAL_SYSTRAYSVCS TEXT("Services")
-#define REGSTR_VAL_SYSTRAYBATFLAGS TEXT("PowerFlags")
-#define REGSTR_VAL_SYSTRAYPCCARDFLAGS TEXT("PCMCIAFlags")
-#define REGSTR_PATH_NETWORK_USERSETTINGS	TEXT("Network")
-#define REGSTR_KEY_NETWORK_PERSISTENT	TEXT("\\Persistent")
-#define REGSTR_KEY_NETWORK_RECENT	TEXT("\\Recent")
-#define REGSTR_VAL_REMOTE_PATH	TEXT("RemotePath")
-#define REGSTR_VAL_USER_NAME	TEXT("UserName")
-#define REGSTR_VAL_PROVIDER_NAME	TEXT("ProviderName")
-#define REGSTR_VAL_CONNECTION_TYPE	TEXT("ConnectionType")
-#define REGSTR_VAL_UPGRADE	TEXT("Upgrade")
-#define REGSTR_KEY_LOGON TEXT("\\Logon")
-#define REGSTR_VAL_MUSTBEVALIDATED TEXT("MustBeValidated")
-#define REGSTR_VAL_RUNLOGINSCRIPT	TEXT("ProcessLoginScript")
-#define REGSTR_KEY_NETWORKPROVIDER TEXT("\\NetworkProvider")
-#define REGSTR_PATH_NW32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\NWNP32" REGSTR_KEY_NETWORKPROVIDER
-#define REGSTR_PATH_MS32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\MSNP32" REGSTR_KEY_NETWORKPROVIDER
-#define REGSTR_VAL_AUTHENT_AGENT TEXT("AuthenticatingAgent")
-#define REGSTR_VAL_PREFREDIR TEXT("PreferredRedir")
-#define REGSTR_VAL_AUTOSTART TEXT("AutoStart")
-#define REGSTR_VAL_AUTOLOGON TEXT("AutoLogon")
-#define REGSTR_VAL_NETCARD TEXT("Netcard")
-#define REGSTR_VAL_TRANSPORT TEXT("Transport")
-#define REGSTR_VAL_DYNAMIC TEXT("Dynamic")
-#define REGSTR_VAL_TRANSITION TEXT("Transition")
-#define REGSTR_VAL_STATICDRIVE TEXT("StaticDrive")
-#define REGSTR_VAL_LOADHI TEXT("LoadHi")
-#define REGSTR_VAL_LOADRMDRIVERS TEXT("LoadRMDrivers")
-#define REGSTR_VAL_SETUPN TEXT("SetupN")
-#define REGSTR_VAL_SETUPNPATH TEXT("SetupNPath")
-#define REGSTR_VAL_WRKGRP_FORCEMAPPING TEXT("WrkgrpForceMapping")
-#define REGSTR_VAL_WRKGRP_REQUIRED TEXT("WrkgrpRequired")
-#define REGSTR_PATH_CURRENT_CONTROL_SET	TEXT("System\\CurrentControlSet\\Control")
-#define REGSTR_VAL_CURRENT_USER	TEXT("Current User")
-#define REGSTR_PATH_PWDPROVIDER	TEXT("System\\CurrentControlSet\\Control\\PwdProvider")
-#define REGSTR_VAL_PWDPROVIDER_PATH TEXT("ProviderPath")
-#define REGSTR_VAL_PWDPROVIDER_DESC TEXT("Description")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEPWD TEXT("ChangePassword")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND TEXT("ChangePasswordHwnd")
-#define REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS TEXT("GetPasswordStatus")
-#define REGSTR_VAL_PWDPROVIDER_ISNP TEXT("NetworkProvider")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEORDER TEXT("ChangeOrder")
-#define REGSTR_PATH_POLICIES	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies")
-#define REGSTR_PATH_UPDATE	TEXT("System\\CurrentControlSet\\Control\\Update")
-#define REGSTR_VALUE_ENABLE	TEXT("Enable")
-#define REGSTR_VALUE_VERBOSE	TEXT("Verbose")
-#define REGSTR_VALUE_NETPATH	TEXT("NetworkPath")
-#define REGSTR_VALUE_DEFAULTLOC	TEXT("UseDefaultNetLocation")
-#define REGSTR_KEY_NETWORK	TEXT("Network")
-#define REGSTR_KEY_SYSTEM	TEXT("System")
-#define REGSTR_KEY_PRINTERS	TEXT("Printers")
-#define REGSTR_KEY_WINOLDAPP	TEXT("WinOldApp")
-#define REGSTR_VAL_NOFILESHARING	TEXT("NoFileSharing")
-#define REGSTR_VAL_NOPRINTSHARING	TEXT("NoPrintSharing")
-#define REGSTR_VAL_NOFILESHARINGCTRL	TEXT("NoFileSharingControl")
-#define REGSTR_VAL_NOPRINTSHARINGCTRL	TEXT("NoPrintSharingControl")
-#define REGSTR_VAL_HIDESHAREPWDS	TEXT("HideSharePwds")
-#define REGSTR_VAL_DISABLEPWDCACHING	TEXT("DisablePwdCaching")
-#define REGSTR_VAL_ALPHANUMPWDS	TEXT("AlphanumPwds")
-#define REGSTR_VAL_NETSETUP_DISABLE	TEXT("NoNetSetup")
-#define REGSTR_VAL_NETSETUP_NOCONFIGPAGE	TEXT("NoNetSetupConfigPage")
-#define REGSTR_VAL_NETSETUP_NOIDPAGE	TEXT("NoNetSetupIDPage")
-#define REGSTR_VAL_NETSETUP_NOSECURITYPAGE	TEXT("NoNetSetupSecurityPage")
-#define REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE TEXT("NoVirtMemPage")
-#define REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE TEXT("NoDevMgrPage")
-#define REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE	TEXT("NoConfigPage")
-#define REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE	TEXT("NoFileSysPage")
-#define REGSTR_VAL_DISPCPL_NODISPCPL	TEXT("NoDispCPL")
-#define REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE TEXT("NoDispBackgroundPage")
-#define REGSTR_VAL_DISPCPL_NOSCRSAVPAGE TEXT("NoDispScrSavPage")
-#define REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE TEXT("NoDispAppearancePage")
-#define REGSTR_VAL_DISPCPL_NOSETTINGSPAGE TEXT("NoDispSettingsPage")
-#define REGSTR_VAL_SECCPL_NOSECCPL	TEXT("NoSecCPL")
-#define REGSTR_VAL_SECCPL_NOPWDPAGE	TEXT("NoPwdPage")
-#define REGSTR_VAL_SECCPL_NOADMINPAGE	TEXT("NoAdminPage")
-#define REGSTR_VAL_SECCPL_NOPROFILEPAGE	TEXT("NoProfilePage")
-#define REGSTR_VAL_PRINTERS_HIDETABS	TEXT("NoPrinterTabs")
-#define REGSTR_VAL_PRINTERS_NODELETE	TEXT("NoDeletePrinter")
-#define REGSTR_VAL_PRINTERS_NOADD	TEXT("NoAddPrinter")
-#define REGSTR_VAL_WINOLDAPP_DISABLED	TEXT("Disabled")
-#define REGSTR_VAL_WINOLDAPP_NOREALMODE	TEXT("NoRealMode")
-#define REGSTR_VAL_NOENTIRENETWORK	TEXT("NoEntireNetwork")
-#define REGSTR_VAL_NOWORKGROUPCONTENTS	TEXT("NoWorkgroupContents")
-#define REGSTR_VAL_MINPWDLEN	TEXT("MinPwdLen")
-#define REGSTR_VAL_PWDEXPIRATION	TEXT("PwdExpiration")
-#define REGSTR_VAL_WIN31PROVIDER	TEXT("Win31Provider")
-#define REGSTR_VAL_DISABLEREGTOOLS	TEXT("DisableRegistryTools")
-#define REGSTR_PATH_WINLOGON	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon")
-#define REGSTR_VAL_LEGALNOTICECAPTION	TEXT("LegalNoticeCaption")
-#define REGSTR_VAL_LEGALNOTICETEXT	TEXT("LegalNoticeText")
-#define REGSTR_VAL_RESTRICTRUN	TEXT("RestrictRun")
-#define REGSTR_KEY_POL_USERS	TEXT("Users")
-#define REGSTR_KEY_POL_COMPUTERS	TEXT("Computers")
-#define REGSTR_KEY_POL_USERGROUPS	TEXT("UserGroups")
-#define REGSTR_KEY_POL_DEFAULT	TEXT(".default")
-#define REGSTR_KEY_POL_USERGROUPDATA TEXT("GroupData\\UserGroups\\Priority")
-#define REGSTR_PATH_TIMEZONE	TEXT("System\\CurrentControlSet\\Control\\TimeZoneInformation")
-#define REGSTR_VAL_TZBIAS	TEXT("Bias")
-#define REGSTR_VAL_TZDLTBIAS	TEXT("DaylightBias")
-#define REGSTR_VAL_TZSTDBIAS	TEXT("StandardBias")
-#define REGSTR_VAL_TZACTBIAS	TEXT("ActiveTimeBias")
-#define REGSTR_VAL_TZDLTFLAG	TEXT("DaylightFlag")
-#define REGSTR_VAL_TZSTDSTART	TEXT("StandardStart")
-#define REGSTR_VAL_TZDLTSTART	TEXT("DaylightStart")
-#define REGSTR_VAL_TZDLTNAME	TEXT("DaylightName")
-#define REGSTR_VAL_TZSTDNAME	TEXT("StandardName")
-#define REGSTR_VAL_TZNOCHANGESTART TEXT("NoChangeStart")
-#define REGSTR_VAL_TZNOCHANGEEND TEXT("NoChangeEnd")
-#define REGSTR_VAL_TZNOAUTOTIME TEXT("DisableAutoDaylightTimeSet")
-#define REGSTR_PATH_FLOATINGPOINTPROCESSOR TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor")
-#define REGSTR_PATH_FLOATINGPOINTPROCESSOR0 TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0")
-#define REGSTR_PATH_COMPUTRNAME TEXT("System\\CurrentControlSet\\Control\\ComputerName\\ComputerName")
-#define REGSTR_VAL_COMPUTRNAME TEXT("ComputerName")
-#define REGSTR_PATH_SHUTDOWN TEXT("System\\CurrentControlSet\\Control\\Shutdown")
-#define REGSTR_VAL_FORCEREBOOT TEXT("ForceReboot")
-#define REGSTR_VAL_SETUPPROGRAMRAN TEXT("SetupProgramRan")
-#define REGSTR_VAL_DOES_POLLING TEXT("PollingSupportNeeded")
-#define REGSTR_PATH_KNOWNDLLS	TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownDLLs")
-#define REGSTR_PATH_KNOWN16DLLS	TEXT("System\\CurrentControlSet\\Control\\SessionManager\\Known16DLLs")
-#define REGSTR_PATH_CHECKVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckVerDLLs")
-#define REGSTR_PATH_WARNVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\WarnVerDLLs")
-#define REGSTR_PATH_HACKINIFILE TEXT("System\\CurrentControlSet\\Control\\SessionManager\\HackIniFiles")
-#define REGSTR_PATH_CHECKBADAPPS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckBadApps")
-#define REGSTR_PATH_APPPATCH TEXT("System\\CurrentControlSet\\Control\\SessionManager\\AppPatches")
-#define REGSTR_PATH_KNOWNVXDS	TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownVxDs")
-#define REGSTR_VAL_UNINSTALLER_DISPLAYNAME TEXT("DisplayName")
-#define REGSTR_VAL_UNINSTALLER_COMMANDLINE TEXT("UninstallString")
-#define REGSTR_PATH_DESKTOP	REGSTR_PATH_SCREENSAVE
-#define REGSTR_PATH_MOUSE	TEXT("Control Panel\\Mouse")
-#define REGSTR_PATH_KEYBOARD TEXT("Control Panel\\Keyboard")
-#define REGSTR_PATH_COLORS	TEXT("Control Panel\\Colors")
-#define REGSTR_PATH_SOUND	TEXT("Control Panel\\Sound")
-#define REGSTR_PATH_METRICS	TEXT("Control Panel\\Desktop\\WindowMetrics")
-#define REGSTR_PATH_ICONS TEXT("Control Panel\\Icons")
-#define REGSTR_PATH_CURSORS TEXT("Control Panel\\Cursors")
-#define REGSTR_PATH_CHECKDISK	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive")
-#define REGSTR_PATH_CHECKDISKSET TEXT("Settings")
-#define REGSTR_PATH_CHECKDISKUDRVS TEXT("NoUnknownDDErrDrvs")
-#define REGSTR_PATH_FAULT	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Fault")
-#define REGSTR_VAL_FAULT_LOGFILE	TEXT("LogFile")
-#define	REGSTR_PATH_AEDEBUG	TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug")
-#define REGSTR_VAL_AEDEBUG_DEBUGGER	TEXT("Debugger")
-#define REGSTR_VAL_AEDEBUG_AUTO	TEXT("Auto")
-#define REGSTR_PATH_GRPCONV	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\GrpConv")
-#define REGSTR_VAL_REGITEMDELETEMESSAGE TEXT("Removal Message")
-#define REGSTR_PATH_LASTCHECK	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastCheck")
-#define REGSTR_PATH_LASTOPTIMIZE	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastOptimize")
-#define REGSTR_PATH_LASTBACKUP	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastBackup")
-#define REGSTR_PATH_CHKLASTCHECK	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastCheck")
-#define REGSTR_PATH_CHKLASTSURFAN	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastSurfaceAnalysis")
-#define DTRESULTOK	0
-#define DTRESULTFIX	1
-#define DTRESULTPROB	2
-#define DTRESULTPART	3
-#define REGSTR_KEY_SHARES	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan")
-#define REGSTR_VAL_SHARES_FLAGS TEXT("Flags")
-#define REGSTR_VAL_SHARES_TYPE TEXT("Type")
-#define REGSTR_VAL_SHARES_PATH TEXT("Path")
-#define REGSTR_VAL_SHARES_REMARK TEXT("Remark")
-#define REGSTR_VAL_SHARES_RW_PASS TEXT("Parm1")
-#define REGSTR_VAL_SHARES_RO_PASS TEXT("Parm2")
-#define REGSTR_PATH_PRINT TEXT("System\\CurrentControlSet\\Control\\Print")
-#define REGSTR_PATH_PRINTERS TEXT("System\\CurrentControlSet\\Control\\Print\\Printers")
-#define REGSTR_PATH_PROVIDERS TEXT("System\\CurrentControlSet\\Control\\Print\\Providers")
-#define REGSTR_PATH_MONITORS TEXT("System\\CurrentControlSet\\Control\\Print\\Monitors")
-#define REGSTR_PATH_ENVIRONMENTS TEXT("System\\CurrentControlSet\\Control\\Print\\Environments")
-#define REGSTR_VAL_START_ON_BOOT TEXT("StartOnBoot")
-#define REGSTR_VAL_PRINTERS_MASK TEXT("PrintersMask")
-#define REGSTR_VAL_DOS_SPOOL_MASK TEXT("DOSSpoolMask")
-#define REGSTR_KEY_CURRENT_ENV TEXT("\\Windows 4.0")
-#define REGSTR_KEY_DRIVERS TEXT("\\Drivers")
-#define REGSTR_KEY_PRINT_PROC TEXT("\\Print Processors")
-#define REGSTR_PATH_EVENTLABELS TEXT("AppEvents\\EventLabels")
-#define REGSTR_PATH_SCHEMES TEXT("AppEvents\\Schemes")
-#define REGSTR_PATH_APPS REGSTR_PATH_SCHEMES TEXT("\\Apps")
-#define REGSTR_PATH_APPS_DEFAULT REGSTR_PATH_SCHEMES TEXT("\\Apps\\.Default")
-#define REGSTR_PATH_NAMES REGSTR_PATH_SCHEMES TEXT("\\Names")
-#define REGSTR_PATH_MULTIMEDIA REGSTR_PATH_SETUP TEXT("\\Multimedia")
-#define REGSTR_PATH_MULTIMEDIA_AUDIO TEXT("Software\\Microsoft\\Multimedia\\Audio")
-#define REGSTR_PATH_MEDIARESOURCES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaResources")
-#define REGSTR_PATH_MEDIAPROPERTIES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaProperties")
-#define REGSTR_PATH_PRIVATEPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PrivateProperties")
-#define REGSTR_PATH_PUBLICPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PublicProperties")
-#define REGSTR_PATH_JOYOEM REGSTR_PATH_PRIVATEPROPERTIES TEXT("\\Joystick\\OEM")
-#define REGSTR_PATH_JOYCONFIG REGSTR_PATH_MEDIARESOURCES TEXT("\\Joystick")
-#define REGSTR_KEY_JOYCURR TEXT("CurrentJoystickSettings")
-#define REGSTR_KEY_JOYSETTINGS TEXT("JoystickSettings")
-#define REGSTR_VAL_JOYUSERVALUES TEXT("JoystickUserValues")
-#define REGSTR_VAL_JOYCALLOUT	TEXT("JoystickCallout")
-#define REGSTR_VAL_JOYNCONFIG	TEXT("Joystick%dConfiguration")
-#define REGSTR_VAL_JOYNOEMNAME	TEXT("Joystick%dOEMName")
-#define REGSTR_VAL_JOYNOEMCALLOUT TEXT("Joystick%dOEMCallout")
-#define REGSTR_VAL_JOYOEMCALLOUT	TEXT("OEMCallout")
-#define REGSTR_VAL_JOYOEMNAME	TEXT("OEMName")
-#define REGSTR_VAL_JOYOEMDATA	TEXT("OEMData")
-#define REGSTR_VAL_JOYOEMXYLABEL	TEXT("OEMXYLabel")
-#define REGSTR_VAL_JOYOEMZLABEL	TEXT("OEMZLabel")
-#define REGSTR_VAL_JOYOEMRLABEL	TEXT("OEMRLabel")
-#define REGSTR_VAL_JOYOEMPOVLABEL	TEXT("OEMPOVLabel")
-#define REGSTR_VAL_JOYOEMULABEL	TEXT("OEMULabel")
-#define REGSTR_VAL_JOYOEMVLABEL	TEXT("OEMVLabel")
-#define REGSTR_VAL_JOYOEMTESTMOVEDESC	TEXT("OEMTestMoveDesc")
-#define REGSTR_VAL_JOYOEMTESTBUTTONDESC	TEXT("OEMTestButtonDesc")
-#define REGSTR_VAL_JOYOEMTESTMOVECAP	TEXT("OEMTestMoveCap")
-#define REGSTR_VAL_JOYOEMTESTBUTTONCAP	TEXT("OEMTestButtonCap")
-#define REGSTR_VAL_JOYOEMTESTWINCAP	TEXT("OEMTestWinCap")
-#define REGSTR_VAL_JOYOEMCALCAP	TEXT("OEMCalCap")
-#define REGSTR_VAL_JOYOEMCALWINCAP	TEXT("OEMCalWinCap")
-#define REGSTR_VAL_JOYOEMCAL1	TEXT("OEMCal1")
-#define REGSTR_VAL_JOYOEMCAL2	TEXT("OEMCal2")
-#define REGSTR_VAL_JOYOEMCAL3	TEXT("OEMCal3")
-#define REGSTR_VAL_JOYOEMCAL4	TEXT("OEMCal4")
-#define REGSTR_VAL_JOYOEMCAL5	TEXT("OEMCal5")
-#define REGSTR_VAL_JOYOEMCAL6	TEXT("OEMCal6")
-#define REGSTR_VAL_JOYOEMCAL7	TEXT("OEMCal7")
-#define REGSTR_VAL_JOYOEMCAL8	TEXT("OEMCal8")
-#define REGSTR_VAL_JOYOEMCAL9	TEXT("OEMCal9")
-#define REGSTR_VAL_JOYOEMCAL10	TEXT("OEMCal10")
-#define REGSTR_VAL_JOYOEMCAL11	TEXT("OEMCal11")
-#define REGSTR_VAL_JOYOEMCAL12	TEXT("OEMCal12")
-#ifndef NEC_98
-#define REGSTR_KEY_ISAENUM	TEXT("ISAPnP")
-#define REGSTR_KEY_EISAENUM	TEXT("EISA")
-#define	REGSTR_VAL_EISA_RANGES	TEXT("EISARanges")
-#define	REGSTR_VAL_EISA_FUNCTIONS	TEXT("EISAFunctions")
-#define	REGSTR_VAL_EISA_FUNCTIONS_MASK	TEXT("EISAFunctionsMask")
-#define	REGSTR_VAL_EISA_FLAGS	TEXT("EISAFlags")
-#define	REGSTR_VAL_EISA_SIMULATE_INT15	TEXT("EISASimulateInt15")
-#else
-#define REGSTR_KEY_ISAENUM	TEXT("C98PnP")
-#define REGSTR_KEY_EISAENUM	TEXT("NESA")
-#define	REGSTR_VAL_EISA_RANGES	TEXT("NESARanges")
-#define	REGSTR_VAL_EISA_FUNCTIONS	TEXT("NESAFunctions")
-#define	REGSTR_VAL_EISA_FUNCTIONS_MASK	TEXT("NESAFunctionsMask")
-#define	REGSTR_VAL_EISA_FLAGS	TEXT("NESAFlags")
-#define	REGSTR_VAL_EISA_SIMULATE_INT15	TEXT("NESASimulateInt15")
-#endif
-typedef struct _DSKTLSYSTEMTIME {
-	WORD wYear;
-	WORD wMonth;
-	WORD wDayOfWeek;
-	WORD wDay;
-	WORD wHour;
-	WORD wMinute;
-	WORD wSecond;
-	WORD wMilliseconds;
-	WORD wResult;
-} DSKTLSYSTEMTIME,*PDSKTLSYSTEMTIME,*LPDSKTLSYSTEMTIME;
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/richedit.h
===================================================================
--- Daodan/MinGW/include/richedit.h	(revision 1046)
+++ 	(revision )
@@ -1,523 +1,0 @@
-#ifndef _RICHEDIT_H
-#define _RICHEDIT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,4)
-
-#ifdef UNICODE
-#define RICHEDIT_CLASS L"RichEdit20W"
-#else
-#define RICHEDIT_CLASS "RichEdit20A"
-#endif
-#define RICHEDIT_CLASS10A    "RICHEDIT"
-#define CF_RTF TEXT("Rich Text Format")
-#define CF_RTFNOOBJS TEXT("Rich Text Format Without Objects")
-#define CF_RETEXTOBJ TEXT("RichEdit Text and Objects")
-#define CFM_BOLD	1
-#define CFM_ITALIC	2
-#define CFM_UNDERLINE	4
-#define CFM_STRIKEOUT	8
-#define CFM_PROTECTED	16
-#define CFM_LINK	32
-#define CFM_SIZE	0x80000000
-#define CFM_COLOR	0x40000000
-#define CFM_FACE	0x20000000
-#define CFM_OFFSET	0x10000000
-#define CFM_CHARSET	0x08000000
-#define CFM_SUBSCRIPT	0x00030000
-#define CFM_SUPERSCRIPT	0x00030000
-#define CFM_EFFECTS	(CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK)
-#define CFE_BOLD	1
-#define CFE_ITALIC	2
-#define CFE_UNDERLINE	4
-#define CFE_STRIKEOUT	8
-#define CFE_PROTECTED	16
-#define CFE_AUTOCOLOR	0x40000000
-#define CFE_SUBSCRIPT	0x00010000
-#define CFE_SUPERSCRIPT	0x00020000
-#define IMF_FORCENONE	1
-#define IMF_FORCEENABLE	2
-#define IMF_FORCEDISABLE	4
-#define IMF_CLOSESTATUSWINDOW	8
-#define IMF_VERTICAL	32
-#define IMF_FORCEACTIVE	64
-#define IMF_FORCEINACTIVE	128
-#define IMF_FORCEREMEMBER	256
-#define SEL_EMPTY       0
-#define SEL_TEXT        1
-#define SEL_OBJECT      2
-#define SEL_MULTICHAR   4
-#define SEL_MULTIOBJECT 8
-#define MAX_TAB_STOPS 32
-#define PFM_ALIGNMENT 8
-#define PFM_NUMBERING 32
-#define PFM_OFFSET 4
-#define PFM_OFFSETINDENT 0x80000000
-#define PFM_RIGHTINDENT 2
-#define PFM_STARTINDENT 1
-#define PFM_TABSTOPS 16
-#define PFM_BORDER 2048
-#define PFM_LINESPACING 256
-#define PFM_NUMBERINGSTART 32768
-#define PFM_NUMBERINGSTYLE 8192
-#define PFM_NUMBERINGTAB 16384
-#define PFM_SHADING 4096
-#define PFM_SPACEAFTER 128
-#define PFM_SPACEBEFORE 64
-#define PFM_STYLE 1024
-#define PFM_DONOTHYPHEN 4194304
-#define PFM_KEEP 131072
-#define PFM_KEEPNEXT 262144
-#define PFM_NOLINENUMBER 1048576
-#define PFM_NOWIDOWCONTROL 2097152
-#define PFM_PAGEBREAKBEFORE 524288
-#define PFM_RTLPARA 65536
-#define PFM_SIDEBYSIDE 8388608
-#define PFM_TABLE 1073741824
-#define PFN_BULLET 1
-#define PFE_DONOTHYPHEN 64
-#define PFE_KEEP 2
-#define PFE_KEEPNEXT 4
-#define PFE_NOLINENUMBER 16
-#define PFE_NOWIDOWCONTROL 32
-#define PFE_PAGEBREAKBEFORE 8
-#define PFE_RTLPARA 1
-#define PFE_SIDEBYSIDE 128
-#define PFE_TABLE 16384
-#define PFA_LEFT 1
-#define PFA_RIGHT 2
-#define PFA_CENTER 3
-#define PFA_JUSTIFY 4
-#define PFA_FULL_INTERWORD 4
-#define SF_TEXT	1
-#define SF_RTF	2
-#define SF_RTFNOOBJS	3
-#define SF_TEXTIZED	4
-#define SF_UNICODE	16
-#define SF_USECODEPAGE	32
-#define SF_NCRFORNONASCII	64
-#define SF_RTFVAL	0x0700
-#define SFF_PWD	0x0800
-#define SFF_KEEPDOCINFO	0x1000
-#define SFF_PERSISTVIEWSCALE	0x2000
-#define SFF_PLAINRTF	0x4000
-#define SFF_SELECTION	0x8000
-#define WB_CLASSIFY	3
-#define WB_MOVEWORDLEFT	4
-#define WB_MOVEWORDRIGHT	5
-#define WB_LEFTBREAK	6
-#define WB_RIGHTBREAK	7
-#define WB_MOVEWORDPREV	4
-#define WB_MOVEWORDNEXT	5
-#define WB_PREVBREAK	6
-#define WB_NEXTBREAK	7
-#define WBF_WORDWRAP	16
-#define WBF_WORDBREAK	32
-#define WBF_OVERFLOW	64
-#define WBF_LEVEL1	128
-#define WBF_LEVEL2	256
-#define WBF_CUSTOM	512
-#define ES_DISABLENOSCROLL	8192
-#define ES_EX_NOCALLOLEINIT 16777216
-#define ES_NOIME 524288
-#define ES_NOOLEDRAGDROP 8
-#define ES_SAVESEL	32768
-#define ES_SELECTIONBAR 16777216
-#define ES_SELFIME 262144
-#define ES_SUNKEN 16384
-#define ES_VERTICAL 4194304
-#define EM_CANPASTE	(WM_USER+50)
-#define EM_DISPLAYBAND	(WM_USER+51)
-#define EM_EXGETSEL	(WM_USER+52)
-#define EM_EXLIMITTEXT	(WM_USER+53)
-#define EM_EXLINEFROMCHAR	(WM_USER+54)
-#define EM_EXSETSEL	(WM_USER+55)
-#define EM_FINDTEXT	(WM_USER+56)
-#define EM_FORMATRANGE	(WM_USER+57)
-#define EM_GETCHARFORMAT	(WM_USER+58)
-#define EM_GETEVENTMASK	(WM_USER+59)
-#define EM_GETOLEINTERFACE	(WM_USER+60)
-#define EM_GETPARAFORMAT	(WM_USER+61)
-#define EM_GETSELTEXT	(WM_USER+62)
-#define EM_HIDESELECTION	(WM_USER+63)
-#define EM_PASTESPECIAL	(WM_USER+64)
-#define EM_REQUESTRESIZE	(WM_USER+65)
-#define EM_SELECTIONTYPE	(WM_USER+66)
-#define EM_SETBKGNDCOLOR	(WM_USER+67)
-#define EM_SETCHARFORMAT	(WM_USER+68)
-#define EM_SETEVENTMASK	(WM_USER+69)
-#define EM_SETOLECALLBACK	(WM_USER+70)
-#define EM_SETPARAFORMAT	(WM_USER+71)
-#define EM_SETTARGETDEVICE	(WM_USER+72)
-#define EM_STREAMIN	(WM_USER+73)
-#define EM_STREAMOUT	(WM_USER+74)
-#define EM_GETTEXTRANGE	(WM_USER+75)
-#define EM_FINDWORDBREAK	(WM_USER+76)
-#define EM_SETOPTIONS	(WM_USER+77)
-#define EM_GETOPTIONS	(WM_USER+78)
-#define EM_FINDTEXTEX	(WM_USER+79)
-#define EM_GETWORDBREAKPROCEX	(WM_USER+80)
-#define EM_SETWORDBREAKPROCEX	(WM_USER+81)
-/* RichEdit 2.0 messages */
-#define EM_SETUNDOLIMIT	(WM_USER+82)
-#define EM_REDO	(WM_USER+84)
-#define EM_CANREDO	(WM_USER+85)
-#define EM_GETUNDONAME	(WM_USER+86)
-#define EM_GETREDONAME	(WM_USER+87)
-#define EM_STOPGROUPTYPING	(WM_USER+88)
-#define EM_SETTEXTMODE	(WM_USER+89)
-#define EM_GETTEXTMODE	(WM_USER+90)
-#define EM_AUTOURLDETECT	(WM_USER+91)
-#define EM_GETAUTOURLDETECT	(WM_USER + 92)
-#define EM_SETPALETTE	(WM_USER + 93)
-#define EM_GETTEXTEX	(WM_USER+94)
-#define EM_GETTEXTLENGTHEX	(WM_USER+95)
-#define EM_SHOWSCROLLBAR	(WM_USER+96)
-#define EM_SETTEXTEX	(WM_USER + 97)
-#define EM_SETPUNCTUATION	(WM_USER + 100)
-#define EM_GETPUNCTUATION	(WM_USER + 101)
-#define EM_SETWORDWRAPMODE	(WM_USER + 102)
-#define EM_GETWORDWRAPMODE	(WM_USER + 103)
-#define EM_SETIMECOLOR	(WM_USER + 104)
-#define EM_GETIMECOLOR	(WM_USER + 105)
-#define EM_SETIMEOPTIONS	(WM_USER + 106)
-#define EM_GETIMEOPTIONS	(WM_USER + 107)
-#define EM_SETLANGOPTIONS	(WM_USER+120)
-#define EM_GETLANGOPTIONS	(WM_USER+121)
-#define EM_GETIMECOMPMODE	(WM_USER+122)
-#define EM_FINDTEXTW	(WM_USER + 123)
-#define EM_FINDTEXTEXW	(WM_USER + 124)
-#define EM_RECONVERSION	(WM_USER + 125)
-#define EM_SETBIDIOPTIONS	(WM_USER + 200)
-#define EM_GETBIDIOPTIONS	(WM_USER + 201)
-#define EM_SETTYPOGRAPHYOPTIONS	(WM_USER+202)
-#define EM_GETTYPOGRAPHYOPTIONS	(WM_USER+203)
-#define EM_SETEDITSTYLE	(WM_USER + 204)
-#define EM_GETEDITSTYLE	(WM_USER + 205)
-#define EM_GETSCROLLPOS	(WM_USER+221)
-#define EM_SETSCROLLPOS	(WM_USER+222)
-#define EM_SETFONTSIZE	(WM_USER+223)
-#define EM_GETZOOM	(WM_USER+224)
-#define EM_SETZOOM	(WM_USER+225)
-
-#define EN_CORRECTTEXT 1797
-#define EN_DROPFILES 1795
-#define EN_IMECHANGE 1799
-#define EN_LINK 1803
-#define EN_MSGFILTER 1792
-#define EN_OLEOPFAILED 1801
-#define EN_PROTECTED 1796
-#define EN_REQUESTRESIZE 1793
-#define EN_SAVECLIPBOARD 1800
-#define EN_SELCHANGE 1794
-#define EN_STOPNOUNDO 1798
-#define ENM_NONE 0
-#define ENM_CHANGE 1
-#define ENM_CORRECTTEXT 4194304
-#define ENM_DRAGDROPDONE	16
-#define ENM_DROPFILES 1048576
-#define ENM_IMECHANGE 8388608
-#define ENM_KEYEVENTS 65536
-#define ENM_LANGCHANGE 16777216
-#define ENM_LINK 67108864
-#define ENM_MOUSEEVENTS 131072
-#define ENM_OBJECTPOSITIONS 33554432
-#define ENM_PROTECTED 2097152
-#define ENM_REQUESTRESIZE 262144
-#define ENM_SCROLL 4
-#define ENM_SCROLLEVENTS 8
-#define ENM_SELCHANGE 524288
-#define ENM_UPDATE 2
-#define ECO_AUTOWORDSELECTION	1
-#define ECO_AUTOVSCROLL	64
-#define ECO_AUTOHSCROLL	128
-#define ECO_NOHIDESEL	256
-#define ECO_READONLY	2048
-#define ECO_WANTRETURN	4096
-#define ECO_SAVESEL	0x8000
-#define ECO_SELECTIONBAR	0x1000000
-#define ECO_VERTICAL	0x400000
-#define ECOOP_SET	1
-#define ECOOP_OR	2
-#define ECOOP_AND	3
-#define ECOOP_XOR	4
-#define SCF_DEFAULT	0
-#define SCF_SELECTION	1
-#define SCF_WORD	2
-#define SCF_ALL	4
-#define SCF_USEUIRULES	8
-#define TM_PLAINTEXT	1
-#define TM_RICHTEXT	2
-#define TM_SINGLELEVELUNDO	4
-#define TM_MULTILEVELUNDO	8
-#define TM_SINGLECODEPAGE	16
-#define TM_MULTICODEPAGE	32
-#define yHeightCharPtsMost 1638
-#define lDefaultTab 720
-
-typedef struct _charformat {
-	UINT cbSize;
-	DWORD dwMask;
-	DWORD dwEffects;
-	LONG yHeight;
-	LONG yOffset;
-	COLORREF crTextColor;
-	BYTE bCharSet;
-	BYTE bPitchAndFamily;
-	char szFaceName[LF_FACESIZE];
-} CHARFORMATA;
-typedef struct _charformatw {
-	UINT cbSize;
-	DWORD dwMask;
-	DWORD dwEffects;
-	LONG yHeight;
-	LONG yOffset;
-	COLORREF crTextColor;
-	BYTE bCharSet;
-	BYTE bPitchAndFamily;
-	WCHAR szFaceName[LF_FACESIZE];
-} CHARFORMATW;
-typedef struct _charformat2a {
-	UINT cbSize;
-	DWORD dwMask;
-	DWORD dwEffects;
-	LONG yHeight;
-	LONG yOffset;
-	COLORREF crTextColor;
-	BYTE bCharSet;
-	BYTE bPitchAndFamily;
-	char szFaceName[LF_FACESIZE];
-	WORD wWeight;
-	SHORT sSpacing;
-	COLORREF crBackColor;
-	LCID lcid;
-	DWORD dwReserved;
-	SHORT sStyle;
-	WORD wKerning;
-	BYTE bUnderlineType;
-	BYTE bAnimation;
-	BYTE bRevAuthor;
-} CHARFORMAT2A;
-typedef struct _charformat2w {
-	UINT cbSize;
-	DWORD dwMask;
-	DWORD dwEffects;
-	LONG yHeight;
-	LONG yOffset;
-	COLORREF crTextColor;
-	BYTE bCharSet;
-	BYTE bPitchAndFamily;
-	WCHAR szFaceName[LF_FACESIZE];
-	WORD wWeight;
-	SHORT sSpacing;
-	COLORREF crBackColor;
-	LCID lcid;
-	DWORD dwReserved;
-	SHORT sStyle;
-	WORD wKerning;
-	BYTE bUnderlineType;
-	BYTE bAnimation;
-	BYTE bRevAuthor;
-} CHARFORMAT2W;
-typedef struct _charrange {
-	LONG cpMin;
-	LONG cpMax;
-} CHARRANGE;
-typedef struct _compcolor {
-	COLORREF crText;
-	COLORREF crBackground;
-	DWORD dwEffects;
-} COMPCOLOR;
-typedef DWORD(CALLBACK *EDITSTREAMCALLBACK)(DWORD,PBYTE,LONG,LONG*);
-typedef struct _editstream {
-	DWORD dwCookie;
-	DWORD dwError;
-	EDITSTREAMCALLBACK pfnCallback;
-} EDITSTREAM;
-typedef struct _encorrecttext {
-	NMHDR nmhdr;
-	CHARRANGE chrg;
-	WORD seltyp;
-} ENCORRECTTEXT;
-typedef struct _endropfiles {
-	NMHDR nmhdr;
-	HANDLE hDrop;
-	LONG cp;
-	BOOL fProtected;
-} ENDROPFILES;
-typedef struct _enlink {
-	NMHDR nmhdr;
-	UINT msg;
-	WPARAM wParam;
-	LPARAM lParam;
-	CHARRANGE chrg;
-} ENLINK;
-typedef struct {
-	NMHDR nmhdr;
-	LONG iob;
-	LONG lOper;
-	HRESULT hr;
-} ENOLEOPFAILED;
-typedef struct _enprotected {
-	NMHDR nmhdr;
-	UINT msg;
-	WPARAM wParam;
-	LPARAM lParam;
-	CHARRANGE chrg;
-} ENPROTECTED,*LPENPROTECTED;
-typedef struct _ensaveclipboard {
-	NMHDR nmhdr;
-	LONG cObjectCount;
-	LONG cch;
-} ENSAVECLIPBOARD;
-typedef struct _findtextA {
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-} FINDTEXTA;
-typedef struct _findtextW {
-	CHARRANGE chrg;
-	LPWSTR lpstrText;
-} FINDTEXTW;
-typedef struct _findtextexA {
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-	CHARRANGE chrgText;
-} FINDTEXTEXA;
-typedef struct _findtextexW {
-	CHARRANGE chrg;
-	LPWSTR lpstrText;
-	CHARRANGE chrgText;
-} FINDTEXTEXW;
-typedef struct _formatrange {
-	HDC hdc;
-	HDC hdcTarget;
-	RECT rc;
-	RECT rcPage;
-	CHARRANGE chrg;
-} FORMATRANGE;
-typedef struct _msgfilter {
-	NMHDR nmhdr;
-    UINT msg;
-	WPARAM wParam;
-	LPARAM lParam;
-} MSGFILTER;
-typedef struct _paraformat {
-	UINT cbSize;
-	DWORD dwMask;
-	WORD wNumbering;
-	WORD wReserved;
-	LONG dxStartIndent;
-	LONG dxRightIndent;
-	LONG dxOffset;
-	WORD wAlignment;
-	SHORT cTabCount;
-	LONG rgxTabs[MAX_TAB_STOPS];
-} PARAFORMAT;
-typedef struct _paraformat2 {
-	UINT cbSize;
-	DWORD dwMask;
-	WORD wNumbering;
-	WORD wEffects;
-	LONG dxStartIndent;
-	LONG dxRightIndent;
-	LONG dxOffset;
-	WORD wAlignment;
-	SHORT cTabCount;
-	LONG rgxTabs[MAX_TAB_STOPS];
-	LONG dySpaceBefore;
-	LONG dySpaceAfter;
-	LONG dyLineSpacing;
-	SHORT sStype;
-	BYTE bLineSpacingRule;
-	BYTE bOutlineLevel;
-	WORD wShadingWeight;
-	WORD wShadingStyle;
-	WORD wNumberingStart;
-	WORD wNumberingStyle;
-	WORD wNumberingTab;
-	WORD wBorderSpace;
-	WORD wBorderWidth;
-	WORD wBorders;
-} PARAFORMAT2;
-typedef struct _selchange {
-	NMHDR nmhdr;
-	CHARRANGE chrg;
-	WORD seltyp;
-} SELCHANGE;
-typedef struct _textrange {
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-} TEXTRANGEA;
-typedef struct _textrangew {
-	CHARRANGE chrg;
-	LPWSTR lpstrText;
-} TEXTRANGEW;
-typedef struct _reqresize {
-	NMHDR nmhdr;
-	RECT rc;
-} REQRESIZE;
-typedef struct _repastespecial {
-	DWORD dwAspect;
-	DWORD dwParam;
-} REPASTESPECIAL;
-typedef struct _punctuation {
-	UINT iSize;
-	LPSTR szPunctuation;
-} PUNCTUATION;
-typedef struct _gettextex {
-	DWORD cb;
-	DWORD flags;
-	UINT codepage;
-	LPCSTR lpDefaultChar;
-	LPBOOL lpUsedDefChar;
-} GETTEXTEX;
-/* GETTEXTEX flags */
-#define GT_DEFAULT	0
-#define GT_USECRLF	1
-#define GT_SELECTION	2
-typedef struct _settextex {
-	DWORD flags;
-	UINT codepage;
-} SETTEXTEX;
-/* SETTEXTEX flags */
-#define ST_DEFAULT	0
-#define ST_KEEPUNDO	1
-#define ST_SELECTION	2
-typedef LONG (*EDITWORDBREAKPROCEX)(char*,LONG,BYTE,INT);
-/* Defines for EM_SETTYPOGRAPHYOPTIONS */
-#define	TO_ADVANCEDTYPOGRAPHY	1
-#define	TO_SIMPLELINEBREAK	2
-/* Defines for GETTEXTLENGTHEX */
-#define GTL_DEFAULT	0
-#define GTL_USECRLF	1
-#define GTL_PRECISE	2
-#define GTL_CLOSE	4
-#define GTL_NUMCHARS	8
-#define GTL_NUMBYTES	16
-typedef struct _gettextlengthex {
-	DWORD flags;
-	UINT codepage;
-} GETTEXTLENGTHEX;
-#ifdef UNICODE
-typedef CHARFORMATW CHARFORMAT;
-typedef CHARFORMAT2W CHARFORMAT2;
-typedef FINDTEXTW FINDTEXT;
-typedef FINDTEXTEXW FINDTEXTEX;
-typedef TEXTRANGEW TEXTRANGE;
-#else
-typedef CHARFORMATA CHARFORMAT;
-typedef CHARFORMAT2A CHARFORMAT2;
-typedef FINDTEXTA FINDTEXT;
-typedef FINDTEXTEXA FINDTEXTEX;
-typedef TEXTRANGEA TEXTRANGE;
-#endif
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/richole.h
===================================================================
--- Daodan/MinGW/include/richole.h	(revision 1046)
+++ 	(revision )
@@ -1,107 +1,0 @@
-#ifndef _RICHOLE_H
-#define	_RICHOLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,4)
-#define REO_GETOBJ_NO_INTERFACES	0
-#define REO_GETOBJ_POLEOBJ	1
-#define REO_GETOBJ_PSTG	2
-#define REO_GETOBJ_POLESITE	4
-#define REO_GETOBJ_ALL_INTERFACES	7
-#define REO_CP_SELECTION ((ULONG)-1)
-#define REO_IOB_SELECTION ((ULONG)-1)
-#define REO_IOB_USE_CP ((ULONG)-2)
-#define REO_NULL	0
-#define REO_READWRITEMASK	0x3FL
-#define REO_DONTNEEDPALETTE	32
-#define REO_BLANK	16
-#define REO_DYNAMICSIZE		8
-#define REO_INVERTEDSELECT	4
-#define REO_BELOWBASELINE	2
-#define REO_RESIZABLE	1
-#define REO_LINK	0x80000000
-#define REO_STATIC	0x40000000
-#define REO_SELECTED	0x08000000
-#define REO_OPEN	0x4000000
-#define REO_INPLACEACTIVE	0x2000000
-#define REO_HILITED	0x1000000
-#define REO_LINKAVAILABLE	0x800000
-#define REO_GETMETAFILE	0x400000
-#define RECO_PASTE	0
-#define RECO_DROP	1
-#define RECO_COPY	2
-#define RECO_CUT	3
-#define RECO_DRAG	4
-
-extern const GUID IID_IRichEditOle;
-extern const GUID IID_IRichEditOleCallback;
-#ifndef INITGUID
-typedef struct _reobject {
-	DWORD cbStruct;
-	LONG	cp;
-	CLSID	clsid;
-	LPOLEOBJECT	poleobj;
-	LPSTORAGE	pstg;
-	LPOLECLIENTSITE	polesite;
-	SIZEL	sizel;
-	DWORD	dvaspect;
-	DWORD	dwFlags;
-	DWORD	dwUser;
-} REOBJECT;
-
-#define INTERFACE IRichEditOle
-DECLARE_INTERFACE_(IRichEditOle, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
-	STDMETHOD_(LONG,GetObjectCount)(THIS) PURE;
-	STDMETHOD_(LONG,GetLinkCount)(THIS) PURE;
-	STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE;
-	STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE;
-	STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE;
-	STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE;
-	STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE;
-	STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE;
-	STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE;
-	STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE;
-	STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE;
-	STDMETHOD(InPlaceDeactivate)(THIS) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
-	STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE;
-};
-#undef INTERFACE
-typedef IRichEditOle *LPRICHEDITOLE;
-
-#define INTERFACE IRichEditOleCallback
-DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE;
-	STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE;
-	STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE;
-	STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE;
-	STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE;
-	STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE;
-	STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE;
-	STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
-	STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE;
-	STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE;
-};
-#undef INTERFACE
-typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK;
-#endif
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/routprot.h
===================================================================
--- Daodan/MinGW/include/routprot.h	(revision 1046)
+++ 	(revision )
@@ -1,70 +1,0 @@
-/*
-	routprot.h - Routing and Remote Access Services
-
-	This file is part of a free library for the Win32 API.
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-#ifndef _ROUTPROT_H
-#define _ROUTPROT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Router Management MIB Reference - Transport and Protocol Constants */
-#define PROTO_IP_OTHER 0x00000001
-#define PROTO_IP_LOCAL 0x00000002
-#define PROTO_IP_NETMGMT 0x00000003
-#define PROTO_IP_ICMP 0x00000004
-#define PROTO_IP_EGP 0x00000005
-#define PROTO_IP_GGP 0x00000006
-#define PROTO_IP_HELLO 0x00000007
-#define PROTO_IP_RIP 0x00000008
-#define PROTO_IP_IS_IS 0x00000009
-#define PROTO_IP_ES_IS 0x0000000A
-#define PROTO_IP_CISCO 0x0000000B
-#define PROTO_IP_BBN 0x0000000C
-#define PROTO_IP_OSPF 0x0000000D
-#define PROTO_IP_BGP 0x0000000E
-#define PROTO_IP_BOOTP 0x0000270F
-#define PROTO_IP_NT_AUTOSTATIC 0x00002712
-#define PROTO_IP_NT_STATIC 0x00002716
-#define PROTO_IP_NT_STATIC_NON_DOD 0x00002717
-#define IPRTRMGR_PID 10000
-#define IPX_PROTOCOL_BASE 0x0001FFFF
-#define IPX_PROTOCOL_RIP 0x00020000
-#define IPX_PROTOCOL_SAP 0x00020001
-#define IPX_PROTOCOL_NLSP 0x00020002
-/*--- Router Management Reference - Router Management Structures */
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct IP_LOCAL_BINDING {
-	DWORD Address;
-	DWORD Mask;
-} IP_LOCAL_BINDING,*PIP_LOCAL_BINDING;
-typedef struct IP_ADAPTER_BINDING_INFO {
-	ULONG AddressCount;
-	DWORD RemoteAddress;
-	ULONG Mtu;
-	ULONGLONG Speed;
-	IP_LOCAL_BINDING Address[];
-} IP_ADAPTER_BINDING_INFO,*PIP_ADAPTER_BINDING_INFO;
-typedef struct IPX_ADAPTER_BINDING_INFO {
-	ULONG AdapterIndex;
-	UCHAR Network[4];
-	UCHAR LocalNode[6];
-	UCHAR RemoteNode[6];
-	ULONG MaxPacketSize;
-	ULONG LinkSpeed;
-} IPX_ADAPTER_BINDING_INFO,*PIPX_ADAPTER_BINDING_INFO;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpc.h
===================================================================
--- Daodan/MinGW/include/rpc.h	(revision 1046)
+++ 	(revision )
@@ -1,65 +1,0 @@
-#ifndef RPC_NO_WINDOWS_H
-#include <windows.h>
-#endif
-
-#ifndef _RPC_H
-#define _RPC_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define __RPC_WIN32__
-#ifndef _WIN95
-#define __RPC_NT__
-#define RPC_UNICODE_SUPPORTED
-#endif
-
-#ifdef _RPCRT4_
-#define RPCRTAPI DECLSPEC_EXPORT
-#else
-#define RPCRTAPI DECLSPEC_IMPORT
-#endif
-
-#ifndef __MIDL_USER_DEFINED
-#define midl_user_allocate MIDL_user_allocate
-#define midl_user_free     MIDL_user_free
-#define __MIDL_USER_DEFINED
-#endif
-#define RPC_UNICODE_SUPPORTED
-#define __RPC_FAR
-#define __RPC_API  __stdcall
-#define __RPC_USER __stdcall
-#define __RPC_STUB __stdcall
-#define RPC_ENTRY  __stdcall
-typedef void *I_RPC_HANDLE;
-typedef long RPC_STATUS;
-
-#include <rpcdce.h>
-#include <rpcnsi.h>
-#include <rpcnterr.h>
-
-#include <winerror.h>
-
-/* SEH is not supported */
-#if 0
-#include <excpt.h>
-#define RpcTryExcept __try {
-#define RpcExcept(x) } __except (x) {
-#define RpcEndExcept }
-#define RpcTryFinally __try {
-#define RpcFinally } __finally {
-#define RpcEndFinally }
-#define RpcExceptionCode() GetExceptionCode()
-#define RpcAbnormalTermination() AbnormalTermination()
-#endif /* 0 */
-
-RPC_STATUS RPC_ENTRY RpcImpersonateClient(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcRevertToSelf(void);
-long RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcdce.h
===================================================================
--- Daodan/MinGW/include/rpcdce.h	(revision 1046)
+++ 	(revision )
@@ -1,396 +1,0 @@
-#ifndef _RPCDCE_H
-#define _RPCDCE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <basetyps.h>
-
-#ifndef _NO_W32_PSEUDO_MODIFIERS
-#define IN
-#define OUT
-#ifndef OPTIONAL
-#define OPTIONAL
-#endif
-#endif
-
-#define uuid_t UUID
-#define rpc_binding_handle_t RPC_BINDING_HANDLE
-#define rpc_binding_vector_t RPC_BINDING_VECTOR
-#define uuid_vector_t UUID_VECTOR
-#define RPC_C_BINDING_INFINITE_TIMEOUT 10
-#define RPC_C_BINDING_MIN_TIMEOUT 0
-#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
-#define RPC_C_BINDING_MAX_TIMEOUT 9
-#define RPC_C_CANCEL_INFINITE_TIMEOUT (-1)
-#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
-#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
-#define RPC_C_BIND_TO_ALL_NICS 1
-#define RPC_C_USE_INTERNET_PORT 1
-#define RPC_C_USE_INTRANET_PORT 2
-#define RPC_MGR_EPV void
-#define RPC_C_STATS_CALLS_IN 0
-#define RPC_C_STATS_CALLS_OUT 1
-#define RPC_C_STATS_PKTS_IN 2
-#define RPC_C_STATS_PKTS_OUT 3
-#define RPC_IF_AUTOLISTEN 0x0001
-#define RPC_IF_OLE 2
-#define RPC_C_MGMT_INQ_IF_IDS 0
-#define RPC_C_MGMT_INQ_PRINC_NAME 1
-#define RPC_C_MGMT_INQ_STATS 2
-#define RPC_C_MGMT_IS_SERVER_LISTEN 3
-#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
-#define RPC_C_EP_ALL_ELTS 0
-#define RPC_C_EP_MATCH_BY_IF 1
-#define RPC_C_EP_MATCH_BY_OBJ 2
-#define RPC_C_EP_MATCH_BY_BOTH 3
-#define RPC_C_VERS_ALL 1
-#define RPC_C_VERS_COMPATIBLE 2
-#define RPC_C_VERS_EXACT 3
-#define RPC_C_VERS_MAJOR_ONLY 4
-#define RPC_C_VERS_UPTO 5
-#define DCE_C_ERROR_STRING_LEN 256
-#define RPC_C_PARM_MAX_PACKET_LENGTH 1
-#define RPC_C_PARM_BUFFER_LENGTH 2
-#define RPC_C_AUTHN_LEVEL_DEFAULT 0
-#define RPC_C_AUTHN_LEVEL_NONE 1
-#define RPC_C_AUTHN_LEVEL_CONNECT 2
-#define RPC_C_AUTHN_LEVEL_CALL 3
-#define RPC_C_AUTHN_LEVEL_PKT 4
-#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
-#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
-#define RPC_C_IMP_LEVEL_ANONYMOUS 1
-#define RPC_C_IMP_LEVEL_IDENTIFY 2
-#define RPC_C_IMP_LEVEL_IMPERSONATE 3
-#define RPC_C_IMP_LEVEL_DELEGATE 4
-#define RPC_C_QOS_IDENTITY_STATIC 0
-#define RPC_C_QOS_IDENTITY_DYNAMIC 1
-#define RPC_C_QOS_CAPABILITIES_DEFAULT 0
-#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
-#define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT)
-#define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE)
-#define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT)
-#define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL)
-#define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT)
-#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
-#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
-#define RPC_C_AUTHN_NONE 0
-#define RPC_C_AUTHN_DCE_PRIVATE 1
-#define RPC_C_AUTHN_DCE_PUBLIC 2
-#define RPC_C_AUTHN_DEC_PUBLIC 4
-#define RPC_C_AUTHN_WINNT 10
-#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF
-#define RPC_C_SECURITY_QOS_VERSION L
-#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
-#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
-#define RPC_C_AUTHZ_NONE 0
-#define RPC_C_AUTHZ_NAME 1
-#define RPC_C_AUTHZ_DCE 2
-#define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF
-
-typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
-typedef RPC_BINDING_HANDLE handle_t;
-typedef struct _RPC_BINDING_VECTOR {
-	unsigned long Count;
-	RPC_BINDING_HANDLE BindingH[1];
-} RPC_BINDING_VECTOR;
-typedef struct _UUID_VECTOR {
-	unsigned long Count;
-	UUID *Uuid[1];
-} UUID_VECTOR;
-typedef void *RPC_IF_HANDLE;
-typedef struct _RPC_IF_ID {
-	UUID Uuid;
-	unsigned short VersMajor;
-	unsigned short VersMinor;
-} RPC_IF_ID;
-typedef struct _RPC_POLICY {
-	unsigned int Length ;
-	unsigned long EndpointFlags ;
-	unsigned long NICFlags ;
-} RPC_POLICY,*PRPC_POLICY ;
-typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
-typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
-typedef struct {
-	unsigned int Count;
-	unsigned long Stats[1];
-} RPC_STATS_VECTOR;
-typedef struct {
-	unsigned long Count;
-	RPC_IF_ID*IfId[1];
-} RPC_IF_ID_VECTOR;
-typedef void *RPC_AUTH_IDENTITY_HANDLE;
-typedef void *RPC_AUTHZ_HANDLE;
-typedef struct _RPC_SECURITY_QOS {
-	unsigned long Version;
-	unsigned long Capabilities;
-	unsigned long IdentityTracking;
-	unsigned long ImpersonationType;
-} RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
-typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
-	unsigned short *User;
-	unsigned long UserLength;
-	unsigned short *Domain;
-	unsigned long DomainLength;
-	unsigned short *Password;
-	unsigned long PasswordLength;
-	unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
-typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
-	unsigned char *User;
-	unsigned long UserLength;
-	unsigned char *Domain;
-	unsigned long DomainLength;
-	unsigned char *Password;
-	unsigned long PasswordLength;
-	unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
-typedef struct {
-	unsigned char *UserName;
-	unsigned char *ComputerName;
-	unsigned short Privilege;
-	unsigned long AuthFlags;
-} RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
-typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
-typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
-
-#ifdef RPC_UNICODE_SUPPORTED
-typedef struct _RPC_PROTSEQ_VECTORA {
-	unsigned int Count;
-	unsigned char*Protseq[1];
-} RPC_PROTSEQ_VECTORA;
-typedef struct _RPC_PROTSEQ_VECTORW {
-	unsigned int Count;
-	unsigned short*Protseq[1];
-} RPC_PROTSEQ_VECTORW;
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
-RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**);
-RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE,unsigned short ** , unsigned long *, unsigned long *, RPC_AUTH_IDENTITY_HANDLE *, unsigned long *, unsigned long , RPC_SECURITY_QOS *);
-typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*);
-RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**);
-RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
-#ifdef UNICODE
-#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
-#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
-#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
-#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
-#define RpcBindingFromStringBinding RpcBindingFromStringBindingW
-#define RpcBindingToStringBinding RpcBindingToStringBindingW
-#define RpcStringBindingCompose RpcStringBindingComposeW
-#define RpcStringBindingParse RpcStringBindingParseW
-#define RpcStringFree RpcStringFreeW
-#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
-#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
-#define RpcProtseqVectorFree RpcProtseqVectorFreeW
-#define RpcServerUseProtseq RpcServerUseProtseqW
-#define RpcServerUseProtseqEx RpcServerUseProtseqExW
-#define RpcServerUseProtseqEp RpcServerUseProtseqEpW
-#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
-#define RpcServerUseProtseqIf RpcServerUseProtseqIfW
-#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
-#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
-#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
-#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
-#define RpcBindingInqAuthClient RpcBindingInqAuthClientW
-#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
-#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
-#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
-#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
-#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
-#define UuidFromString UuidFromStringW
-#define UuidToString UuidToStringW
-#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
-#define RpcEpRegister RpcEpRegisterW
-#define DceErrorInqText DceErrorInqTextW
-#else /* UNICODE */
-#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
-#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
-#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
-#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
-#define RpcBindingFromStringBinding RpcBindingFromStringBindingA
-#define RpcBindingToStringBinding RpcBindingToStringBindingA
-#define RpcStringBindingCompose RpcStringBindingComposeA
-#define RpcStringBindingParse RpcStringBindingParseA
-#define RpcStringFree RpcStringFreeA
-#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
-#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
-#define RpcProtseqVectorFree RpcProtseqVectorFreeA
-#define RpcServerUseProtseq RpcServerUseProtseqA
-#define RpcServerUseProtseqEx RpcServerUseProtseqExA
-#define RpcServerUseProtseqEp RpcServerUseProtseqEpA
-#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
-#define RpcServerUseProtseqIf RpcServerUseProtseqIfA
-#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
-#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
-#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
-#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
-#define RpcBindingInqAuthClient RpcBindingInqAuthClientA
-#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
-#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
-#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
-#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
-#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
-#define UuidFromString UuidFromStringA
-#define UuidToString UuidToStringA
-#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
-#define RpcEpRegister RpcEpRegisterA
-#define DceErrorInqText DceErrorInqTextA
-#endif /* UNICODE */
-#else /* RPC_UNICODE_SUPPORTED */
-typedef struct _RPC_PROTSEQ_VECTOR {
-	unsigned int Count;
-	unsigned char* Protseq[1];
-} RPC_PROTSEQ_VECTOR;
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingCompose(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParse(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringFree(unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValid(unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerInqBindings(RPC_BINDING_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseq(unsigned char*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEx(unsigned char*,unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp(unsigned char*,unsigned int,unsigned char*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpEx(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIf(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfEx(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincName(unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE*,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfo(RPC_BINDING_HANDLE,unsigned char **,unsigned long *,unsigned long *,RPC_AUTH_IDENTITY_HANDLE *,unsigned long *);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfo(RPC_BINDING_HANDLE,unsigned char *,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned char*,unsigned long,void**,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfo(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY UuidToString(UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY UuidFromString(unsigned char*,UUID*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplace(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID *,RPC_BINDING_HANDLE *,unsigned char **);
-#endif /* RPC_UNICODE_SUPPORTED */
-
-RPC_STATUS RPC_ENTRY RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcBindingFree(RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *);
-RPC_STATUS RPC_ENTRY RpcBindingReset(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *);
-RPC_STATUS RPC_ENTRY RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *);
-RPC_STATUS RPC_ENTRY RpcBindingVectorFree(RPC_BINDING_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *);
-RPC_STATUS RPC_ENTRY RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int);
-RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(long Timeout);
-RPC_STATUS RPC_ENTRY RpcObjectInqType(UUID *,UUID *);
-RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *);
-RPC_STATUS RPC_ENTRY RpcObjectSetType(UUID *,UUID *);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**);
-RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
-RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen(void);
-RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize(unsigned long);
-void RPC_ENTRY RpcSsDontSerializeContext(void);
-RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup(void);
-RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE);
-RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
-DECLSPEC_NORETURN void  RPC_ENTRY RpcRaiseException(RPC_STATUS);
-RPC_STATUS RPC_ENTRY RpcTestCancel(void);
-RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
-RPC_STATUS RPC_ENTRY UuidCreate(UUID*);
-signed int RPC_ENTRY UuidCompare(UUID*,UUID*, RPC_STATUS*);
-RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
-int RPC_ENTRY UuidEqual(UUID*,UUID*, RPC_STATUS*);
-unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
-int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
-RPC_STATUS RPC_ENTRY RpcMgmtInqParameter(unsigned int,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetParameter(unsigned int,unsigned long);
-RPC_STATUS RPC_ENTRY RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long);
-
-#if _WIN32_WINNT >= 0x0500
-RPC_STATUS RPC_ENTRY UuidCreateSequential(UUID*);
-#endif
-
-#include <rpcdcep.h>
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcdce2.h
===================================================================
--- Daodan/MinGW/include/rpcdce2.h	(revision 1046)
+++ 	(revision )
@@ -1,56 +1,0 @@
-#ifndef _RPCDCE2_H
-#define _RPCDCE2_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <rpcdce.h>
-
-#define RPC_C_EP_ALL_ELTS 0
-#define RPC_C_EP_MATCH_BY_IF 1
-#define RPC_C_EP_MATCH_BY_OBJ 2
-#define RPC_C_EP_MATCH_BY_BOTH 3
-#define RPC_C_VERS_ALL 1
-#define RPC_C_VERS_COMPATIBLE 2
-#define RPC_C_VERS_EXACT 3
-#define RPC_C_VERS_MAJOR_ONLY 4
-#define RPC_C_VERS_UPTO 5
-#define DCE_C_ERROR_STRING_LEN 256
-#define RPC_C_MGMT_INQ_IF_IDS 0
-#define RPC_C_MGMT_INQ_PRINC_NAME 1
-#define RPC_C_MGMT_INQ_STATS 2
-#define RPC_C_MGMT_IS_SERVER_LISTEN 3
-#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
-
-int RPC_ENTRY UuidCompare(UUID*,UUID*,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
-int RPC_ENTRY UuidEqual(UUID*,UUID*,RPC_STATUS*);
-unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
-int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
-#ifdef RPC_UNICODE_SUPPORTED
-RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
-#ifdef UNICODE
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
-#define DceErrorInqText DceErrorInqTextW
-#else
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
-#define DceErrorInqText DceErrorInqTextA
-#endif /* UNICODE */
-#else /* RPC_UNICODE_SUPPORTED */
-RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-#endif
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcdcep.h
===================================================================
--- Daodan/MinGW/include/rpcdcep.h	(revision 1046)
+++ 	(revision )
@@ -1,129 +1,0 @@
-#ifndef _RPCDCEP_H
-#define _RPCDCEP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define RPC_NCA_FLAGS_DEFAULT 0
-#define RPC_NCA_FLAGS_IDEMPOTENT 1
-#define RPC_NCA_FLAGS_BROADCAST 2
-#define RPC_NCA_FLAGS_MAYBE 4
-#define RPCFLG_ASYNCHRONOUS 0x40000000
-#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000
-#define RPC_FLAGS_VALID_BIT 0x8000
-#define TRANSPORT_TYPE_CN 1
-#define TRANSPORT_TYPE_DG 2
-#define TRANSPORT_TYPE_LPC 4
-#define TRANSPORT_TYPE_WMSG 8
-
-typedef struct _RPC_VERSION {
-	unsigned short MajorVersion;
-	unsigned short MinorVersion;
-} RPC_VERSION;
-typedef struct _RPC_SYNTAX_IDENTIFIER {
-	GUID SyntaxGUID;
-	RPC_VERSION SyntaxVersion;
-} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
-typedef struct _RPC_MESSAGE {
-	HANDLE Handle;
-	unsigned long DataRepresentation;
-	void *Buffer;
-	unsigned int BufferLength;
-	unsigned int ProcNum;
-	PRPC_SYNTAX_IDENTIFIER TransferSyntax;
-	void *RpcInterfaceInformation;
-	void *ReservedForRuntime;
-	void *ManagerEpv;
-	void *ImportContext;
-	unsigned long RpcFlags;
-} RPC_MESSAGE,*PRPC_MESSAGE;
-typedef long __stdcall RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**);
-typedef void(__stdcall *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message);
-typedef struct {
-	unsigned int DispatchTableCount;
-	RPC_DISPATCH_FUNCTION *DispatchTable;
-	int Reserved;
-} RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
-typedef struct _RPC_PROTSEQ_ENDPOINT {
-	unsigned char *RpcProtocolSequence;
-	unsigned char *Endpoint;
-} RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
-typedef struct _RPC_SERVER_INTERFACE {
-	unsigned int Length;
-	RPC_SYNTAX_IDENTIFIER InterfaceId;
-	RPC_SYNTAX_IDENTIFIER TransferSyntax;
-	PRPC_DISPATCH_TABLE DispatchTable;
-	unsigned int RpcProtseqEndpointCount;
-	PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
-	void *DefaultManagerEpv;
-	void const *InterpreterInfo;
-} RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
-typedef struct _RPC_CLIENT_INTERFACE {
-	unsigned int Length;
-	RPC_SYNTAX_IDENTIFIER InterfaceId;
-	RPC_SYNTAX_IDENTIFIER TransferSyntax;
-	PRPC_DISPATCH_TABLE DispatchTable;
-	unsigned int RpcProtseqEndpointCount;
-	PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
-	unsigned long Reserved;
-	void const *InterpreterInfo;
-} RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
-typedef void *I_RPC_MUTEX;
-typedef struct _RPC_TRANSFER_SYNTAX {
-	GUID Uuid;
-	unsigned short VersMajor;
-	unsigned short VersMinor;
-} RPC_TRANSFER_SYNTAX;
-typedef RPC_STATUS (*RPC_BLOCKING_FN)(void*,void*,void*);
-
-long __stdcall I_RpcGetBuffer(RPC_MESSAGE*);
-long __stdcall I_RpcSendReceive(RPC_MESSAGE*);
-long __stdcall I_RpcSend(RPC_MESSAGE*);
-long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*);
-void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*);
-void __stdcall I_RpcClearMutex(I_RPC_MUTEX);
-void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX);
-DECLARE_STDCALL_P(void *) I_RpcAllocate(unsigned int);
-void __stdcall I_RpcFree(void*);
-void __stdcall I_RpcPauseExecution(unsigned long);
-typedef void(__stdcall *PRPC_RUNDOWN) (void*);
-long __stdcall I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*);
-long __stdcall I_RpcStopMonitorAssociation(HANDLE);
-HANDLE __stdcall I_RpcGetCurrentCallHandle(void);
-long __stdcall I_RpcGetAssociationContext(void**);
-long __stdcall I_RpcSetAssociationContext(void*);
-#ifdef __RPC_NT__
-long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*);
-long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**);
-#else
-long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned char*);
-long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE,unsigned char**);
-#endif
-long __stdcall I_RpcBindingInqTransportType(HANDLE,unsigned int*);
-long __stdcall I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*);
-long __stdcall I_UuidCreate(GUID*);
-long __stdcall I_RpcBindingCopy(HANDLE,HANDLE*);
-long __stdcall I_RpcBindingIsClientLocal(HANDLE,unsigned int*);
-void __stdcall I_RpcSsDontSerializeContext(void);
-long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
-long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
-long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
-long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FN);
-long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
-long __stdcall I_RpcGetThreadWindowHandle(void**);
-long __stdcall I_RpcServerThreadPauseListening(void);
-long __stdcall I_RpcServerThreadContinueListening(void);
-long __stdcall I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*);
-long __stdcall I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*);
-#ifdef UNICODE
-#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW
-#else
-#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcndr.h
===================================================================
--- Daodan/MinGW/include/rpcndr.h	(revision 1046)
+++ 	(revision )
@@ -1,518 +1,0 @@
-#ifndef _RPCNDR_H
-#define _RPCNDR_H
-#define __RPCNDR_H__
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __RPCNDR_H_VERSION__
-#define __RPCNDR_H_VERSION__        ( 450 )
-#endif /* __RPCNDR_H_VERSION__ */
-#include <rpcnsip.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <objfwd.h>
-#define DECLSPEC_UUID(x)
-#define MIDL_INTERFACE(x) struct
-#define NDR_CHAR_REP_MASK (unsigned long)0xFL
-#define NDR_INT_REP_MASK (unsigned long)0xF0L
-#define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L
-#define NDR_LITTLE_ENDIAN (unsigned long)0x10L
-#define NDR_BIG_ENDIAN (unsigned long)0
-#define NDR_IEEE_FLOAT (unsigned long)0
-#define NDR_VAX_FLOAT (unsigned long)0x100L
-#define NDR_ASCII_CHAR (unsigned long)0
-#define NDR_EBCDIC_CHAR (unsigned long)1
-#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L
-#define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
-#define __RPC_CALLEE __stdcall
-#ifndef __MIDL_USER_DEFINED
-#define midl_user_allocate MIDL_user_allocate
-#define midl_user_free MIDL_user_free
-#define __MIDL_USER_DEFINED
-#endif
-#define RPC_VAR_ENTRY __cdecl
-#ifdef _M_IX86
-#define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
-#define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
-#else
-#define __MIDL_DECLSPEC_DLLIMPORT
-#define __MIDL_DECLSPEC_DLLEXPORT
-#endif
-#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-#define hyper __int64
-#define MIDL_uhyper unsigned __int64
-#else
-#define hyper double
-#define MIDL_uhyper double
-#endif
-#define small char
-typedef unsigned char byte;
-typedef unsigned char boolean;
-#define NDRSContextValue(hContext) (&(hContext)->userContext)
-#define cbNDRContext 20
-#define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }
-#define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define MIDL_ascii_strlen(string) strlen(string)
-#define MIDL_ascii_strcpy(target,source) strcpy(target,source)
-#define MIDL_memset(s,c,n) memset(s,c,n)
-#define _midl_ma1( p, cast ) *(*( cast **)&p)++
-#define _midl_ma2( p, cast ) *(*( cast **)&p)++
-#define _midl_ma4( p, cast ) *(*( cast **)&p)++
-#define _midl_ma8( p, cast ) *(*( cast **)&p)++
-#define _midl_unma1( p, cast ) *(( cast *)p)++
-#define _midl_unma2( p, cast ) *(( cast *)p)++
-#define _midl_unma3( p, cast ) *(( cast *)p)++
-#define _midl_unma4( p, cast ) *(( cast *)p)++
-#define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))
-#define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))
-#define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))
-#define _midl_addp( p, n ) (p += n)
-#define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
-#define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
-#define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
-#define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
-#define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)
-#define NdrUnMarshConfStringHdr(p, s, l) (s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long)))
-#define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
-#define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CCONTEXT)pc,h,p,drep), p+20)
-#define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
-#define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd))
-#define NdrFieldOffset(s,f) (long)(& (((s *)0)->f))
-#define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
-#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
-#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
-#ifdef CONST_VTABLE
-#define CONST_VTBL const
-#else
-#define CONST_VTBL
-#endif
-typedef void *NDR_CCONTEXT;
-typedef struct {
-	void *pad[2];
-	void *userContext;
-} *NDR_SCONTEXT;
-typedef void (__RPC_USER *NDR_RUNDOWN)(void*);
-typedef struct _SCONTEXT_QUEUE {
-	unsigned long NumberOfObjects;
-	NDR_SCONTEXT *ArrayOfObjects;
-} SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
-struct _MIDL_STUB_MESSAGE;
-struct _MIDL_STUB_DESC;
-struct _FULL_PTR_XLAT_TABLES;
-typedef unsigned char *RPC_BUFPTR;
-typedef unsigned long RPC_LENGTH;
-typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*);
-typedef const unsigned char *PFORMAT_STRING;
-typedef struct {
-	long Dimension;
-	unsigned long *BufferConformanceMark;
-	unsigned long *BufferVarianceMark;
-	unsigned long *MaxCountArray;
-	unsigned long *OffsetArray;
-	unsigned long *ActualCountArray;
-} ARRAY_INFO,*PARRAY_INFO;
-
-RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT);
-void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*);
-void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long);
-void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN);
-NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long);
-void RPC_ENTRY RpcSsDestroyClientContext(void**);
-void RPC_ENTRY NDRcopy(void*,void*,unsigned int);
-unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*);
-void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*);
-void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*);
-void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*);
-void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*);
-void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*);
-void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long);
-void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*);
-void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*);
-void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long);
-void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*);
-void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*);
-void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
-void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*);
-void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
-void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*);
-void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*);
-void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long);
-void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char);
-void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char);
-void *RPC_ENTRY midl_allocate(int);
-
-#pragma pack(push,4)
-typedef struct _MIDL_STUB_MESSAGE {
-	PRPC_MESSAGE RpcMsg;
-	unsigned char *Buffer;
-	unsigned char *BufferStart;
-	unsigned char *BufferEnd;
-	unsigned char *BufferMark;
-	unsigned long BufferLength;
-	unsigned long MemorySize;
-	unsigned char *Memory;
-	int IsClient;
-	int ReuseBuffer;
-	unsigned char *AllocAllNodesMemory;
-	unsigned char *AllocAllNodesMemoryEnd;
-	int IgnoreEmbeddedPointers;
-	unsigned char *PointerBufferMark;
-	unsigned char fBufferValid;
-	unsigned char Unused;
-	unsigned long MaxCount;
-	unsigned long Offset;
-	unsigned long ActualCount;
-	void*(__RPC_API *pfnAllocate)(unsigned int);
-	void(__RPC_API *pfnFree)(void*);
-	unsigned char *StackTop;
-	unsigned char *pPresentedType;
-	unsigned char *pTransmitType;
-	handle_t SavedHandle;
-	const struct _MIDL_STUB_DESC *StubDesc;
-	struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
-	unsigned long FullPtrRefId;
-	int fCheckBounds;
-	int fInDontFree :1;
-	int fDontCallFreeInst :1;
-	int fInOnlyParam :1;
-	int fHasReturn :1;
-	unsigned long dwDestContext;
-	void*pvDestContext;
-	NDR_SCONTEXT *SavedContextHandles;
-	long ParamNumber;
-	struct IRpcChannelBuffer *pRpcChannelBuffer;
-	PARRAY_INFO pArrayInfo;
-	unsigned long *SizePtrCountArray;
-	unsigned long *SizePtrOffsetArray;
-	unsigned long *SizePtrLengthArray;
-	void*pArgQueue;
-	unsigned long dwStubPhase;
-	unsigned long w2kReserved[5];
-} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
-#pragma pack(pop)
-typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);
-typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*);
-typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
-	GENERIC_BINDING_ROUTINE pfnBind;
-	GENERIC_UNBIND_ROUTINE pfnUnbind;
-} GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
-typedef struct __GENERIC_BINDING_INFO {
-	void *pObj;
-	unsigned int Size;
-	GENERIC_BINDING_ROUTINE pfnBind;
-	GENERIC_UNBIND_ROUTINE pfnUnbind;
-} GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
-typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
-typedef struct _XMIT_ROUTINE_QUINTUPLE {
-	XMIT_HELPER_ROUTINE pfnTranslateToXmit;
-	XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
-	XMIT_HELPER_ROUTINE pfnFreeXmit;
-	XMIT_HELPER_ROUTINE pfnFreeInst;
-} XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
-typedef struct _MALLOC_FREE_STRUCT {
-void*(__RPC_USER *pfnAllocate)(unsigned int);
-void(__RPC_USER *pfnFree)(void*);
-} MALLOC_FREE_STRUCT;
-typedef struct _COMM_FAULT_OFFSETS {
-	short CommOffset;
-	short FaultOffset;
-} COMM_FAULT_OFFSETS;
-typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *);
-typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
-typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
-typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *);
-typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
-	USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
-	USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
-	USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
-	USER_MARSHAL_FREEING_ROUTINE pfnFree;
-} USER_MARSHAL_ROUTINE_QUADRUPLE;
-typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
-typedef enum _IDL_CS_CONVERT {
-	IDL_CS_NO_CONVERT,
-	IDL_CS_IN_PLACE_CONVERT,
-	IDL_CS_NEW_BUFFER_CONVERT
-} IDL_CS_CONVERT;
-typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*);
-typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
-	CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
-	CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
-	CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
-	CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
-} NDR_CS_SIZE_CONVERT_ROUTINES;
-typedef struct _NDR_CS_ROUTINES {
-	NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
-	CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
-} NDR_CS_ROUTINES;
-typedef struct _MIDL_STUB_DESC {
-	void*RpcInterfaceInformation;
-	void*(__RPC_API *pfnAllocate)(unsigned int);
-	void(__RPC_API *pfnFree)(void*);
-	union {
-		handle_t *pAutoHandle;
-		handle_t *pPrimitiveHandle;
-		PGENERIC_BINDING_INFO pGenericBindingInfo;
-	} IMPLICIT_HANDLE_INFO;
-	const NDR_RUNDOWN *apfnNdrRundownRoutines;
-	const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
-	const EXPR_EVAL *apfnExprEval;
-	const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
-	const unsigned char *pFormatTypes;
-	int fCheckBounds;
-	unsigned long Version;
-	MALLOC_FREE_STRUCT *pMallocFreeStruct;
-	long MIDLVersion;
-	const COMM_FAULT_OFFSETS *CommFaultOffsets;
-	const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
-	const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
-	ULONG_PTR mFlags;
-	const NDR_CS_ROUTINES *CsRoutineTables;
-	void *Reserved4;
-	ULONG_PTR Reserved5;
-} MIDL_STUB_DESC;
-typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
-typedef void*PMIDL_XMIT_TYPE;
-typedef struct _MIDL_FORMAT_STRING {
-	short Pad;
-	unsigned char Format[1];
-} MIDL_FORMAT_STRING;
-typedef void(__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE);
-typedef long(__RPC_API *SERVER_ROUTINE)(void);
-typedef struct _MIDL_SERVER_INFO_ {
-	PMIDL_STUB_DESC pStubDesc;
-	const SERVER_ROUTINE *DispatchTable;
-	PFORMAT_STRING ProcString;
-	const unsigned short *FmtStringOffset;
-	const STUB_THUNK *ThunkTable;
-} MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
-typedef struct _MIDL_STUBLESS_PROXY_INFO {
-	PMIDL_STUB_DESC pStubDesc;
-	PFORMAT_STRING ProcFormatString;
-	const unsigned short *FormatStringOffset;
-} MIDL_STUBLESS_PROXY_INFO;
-typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
-typedef union _CLIENT_CALL_RETURN {
-	void *Pointer;
-	long Simple;
-} CLIENT_CALL_RETURN;
-typedef enum { XLAT_SERVER = 1,XLAT_CLIENT } XLAT_SIDE;
-typedef struct _FULL_PTR_TO_REFID_ELEMENT {
-	struct _FULL_PTR_TO_REFID_ELEMENT *Next;
-	void*Pointer;
-	unsigned long RefId;
-	unsigned char State;
-} FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
-typedef struct _FULL_PTR_XLAT_TABLES {
-	struct {
-		void **XlatTable;
-		unsigned char *StateTable;
-		unsigned long NumberOfEntries;
-	} RefIdToPointer;
-	struct {
-		PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
-		unsigned long NumberOfBuckets;
-		unsigned long HashMask;
-	} PointerToRefId;
-	unsigned long NextRefId;
-	XLAT_SIDE XlatSide;
-} FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
-void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
-unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING pFormat);
-unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrHardStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int);
-void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN);
-void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
-unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE);
-NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrHardStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
-void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
-unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE);
-void RPC_ENTRY NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE);
-unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
-unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
-unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE,unsigned char*);
-unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE,unsigned char*,RPC_BINDING_HANDLE*);
-void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE);
-CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...);
-CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall2(PMIDL_STUB_DESC,PFORMAT_STRING,...);
-typedef enum {
-	STUB_UNMARSHAL,
-	STUB_CALL_SERVER,
-	STUB_MARSHAL,
-	STUB_CALL_SERVER_NO_HRESULT
-} STUB_PHASE;
-typedef enum {
-	PROXY_CALCSIZE,
-	PROXY_GETBUFFER,
-	PROXY_MARSHAL,
-	PROXY_SENDRECEIVE,
-	PROXY_UNMARSHAL
-} PROXY_PHASE;
-long RPC_ENTRY NdrStubCall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PRPC_MESSAGE,unsigned long*);
-void RPC_ENTRY NdrServerCall(PRPC_MESSAGE);
-int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*);
-void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,unsigned long*,unsigned long*,RPC_STATUS);
-int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE,unsigned char**,RPC_BUFPTR);
-int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,unsigned char**);
-int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,unsigned char**);
-int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-unsigned long RPC_ENTRY NdrSH_Copy(unsigned char*,unsigned char*,unsigned long);
-void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE,unsigned char*);
-RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned long,int);
-RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,unsigned char**,int);
-typedef void *RPC_SS_THREAD_HANDLE;
-typedef void* __RPC_API RPC_CLIENT_ALLOC(unsigned int);
-typedef void __RPC_API RPC_CLIENT_FREE(void*);
-void*RPC_ENTRY RpcSsAllocate(unsigned int);
-void RPC_ENTRY RpcSsDisableAllocate(void);
-void RPC_ENTRY RpcSsEnableAllocate(void);
-void RPC_ENTRY RpcSsFree(void*);
-RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void);
-void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
-void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE);
-void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
-void*RPC_ENTRY RpcSmAllocate(unsigned int,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcSmClientFree(void*);
-RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void**);
-RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void);
-RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void);
-RPC_STATUS RPC_ENTRY RpcSmFree(void*);
-RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle(RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
-RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE);
-RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
-void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE);
-void*RPC_ENTRY NdrRpcSmClientAllocate(unsigned int);
-void RPC_ENTRY NdrRpcSmClientFree(void*);
-void*RPC_ENTRY NdrRpcSsDefaultAllocate(unsigned int);
-void RPC_ENTRY NdrRpcSsDefaultFree(void*);
-PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned long,XLAT_SIDE);
-void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES);
-int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,unsigned char,unsigned long*);
-int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,unsigned long,unsigned char,void**);
-void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,unsigned long,void*);
-int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*);
-void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int);
-void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*);
-void*RPC_ENTRY NdrOleAllocate(unsigned int);
-void RPC_ENTRY NdrOleFree(void*);
-unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcnsi.h
===================================================================
--- Daodan/MinGW/include/rpcnsi.h	(revision 1046)
+++ 	(revision )
@@ -1,122 +1,0 @@
-#ifndef _RPCNSI_H
-#define _RPCNSI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef void *RPC_NS_HANDLE;
-#define RPC_C_NS_SYNTAX_DEFAULT 0
-#define RPC_C_NS_SYNTAX_DCE 3
-#define RPC_C_PROFILE_DEFAULT_ELT 0
-#define RPC_C_PROFILE_ALL_ELT 1
-#define RPC_C_PROFILE_MATCH_BY_IF 2
-#define RPC_C_PROFILE_MATCH_BY_MBR 3
-#define RPC_C_PROFILE_MATCH_BY_BOTH 4
-#define RPC_C_NS_DEFAULT_EXP_AGE -1
-
-RPC_STATUS RPC_ENTRY RpcNsBindingExportA(unsigned long,unsigned char*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingUnexportA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupNext(RPC_NS_HANDLE,RPC_BINDING_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddA(unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveA(unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextA(RPC_NS_HANDLE,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltAddA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned char*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextA(RPC_NS_HANDLE,RPC_IF_ID*,unsigned char**,unsigned long*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqNext(/*IN*/ RPC_NS_HANDLE,/*OUT*/ UUID*);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqDone(/*IN OUT*/ RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameA(unsigned long,unsigned char*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsA(unsigned long,unsigned char*,RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcNsMgmtInqExpAge(unsigned long*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtSetExpAge(unsigned long);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportNext(RPC_NS_HANDLE,RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingSelect(RPC_BINDING_VECTOR*,RPC_BINDING_HANDLE*);
-#ifndef UNICODE_ONLY
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginA(unsigned long,unsigned char*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
-#endif
-#ifdef RPC_UNICODE_SUPPORTED
-RPC_STATUS RPC_ENTRY RpcNsBindingExportW(unsigned long,unsigned short*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingUnexportW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddW(unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveW(unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginW(unsigned long,unsigned short*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextW(RPC_NS_HANDLE,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsProfileDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltAddW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginW(unsigned long,unsigned short*, unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned short*, RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextW(RPC_NS_HANDLE,RPC_IF_ID*, unsigned short**,unsigned long*,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginW(unsigned long,unsigned short*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameW(unsigned long,unsigned short*,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportW(unsigned long,unsigned short*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsW(unsigned long,unsigned short , RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
-#endif /* RPC_UNICODE_SUPPORTED */
-#ifdef UNICODE
-#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
-#define RpcNsBindingImportBegin RpcNsBindingImportBeginW
-#define RpcNsBindingExport RpcNsBindingExportW
-#define RpcNsBindingUnexport RpcNsBindingUnexportW
-#define RpcNsGroupDelete RpcNsGroupDeleteW
-#define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
-#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
-#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
-#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
-#define RpcNsEntryExpandName RpcNsEntryExpandNameW
-#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
-#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
-#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
-#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
-#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
-#define RpcNsProfileDelete RpcNsProfileDeleteW
-#define RpcNsProfileEltAdd RpcNsProfileEltAddW
-#define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
-#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
-#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
-#else
-#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
-#define RpcNsBindingImportBegin RpcNsBindingImportBeginA
-#define RpcNsBindingExport RpcNsBindingExportA
-#define RpcNsBindingUnexport RpcNsBindingUnexportA
-#define RpcNsGroupDelete RpcNsGroupDeleteA
-#define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
-#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
-#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
-#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
-#define RpcNsEntryExpandName RpcNsEntryExpandNameA
-#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
-#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
-#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
-#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
-#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
-#define RpcNsProfileDelete RpcNsProfileDeleteA
-#define RpcNsProfileEltAdd RpcNsProfileEltAddA
-#define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
-#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
-#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcnsip.h
===================================================================
--- Daodan/MinGW/include/rpcnsip.h	(revision 1046)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#ifndef _RPCNSIP_H
-#define _RPCNSIP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef struct {
-	RPC_NS_HANDLE LookupContext;
-	RPC_BINDING_HANDLE ProposedHandle;
-	RPC_BINDING_VECTOR *Bindings;
-} RPC_IMPORT_CONTEXT_P,*PRPC_IMPORT_CONTEXT_P;
-RPC_STATUS RPC_ENTRY I_RpcNsGetBuffer(/*IN*/ PRPC_MESSAGE);
-RPC_STATUS RPC_ENTRY I_RpcNsSendReceive(/*IN*/ PRPC_MESSAGE,/*OUT*/ RPC_BINDING_HANDLE*);
-void RPC_ENTRY I_RpcNsRaiseException(/*IN*/ PRPC_MESSAGE,/*IN*/ RPC_STATUS);
-RPC_STATUS RPC_ENTRY I_RpcReBindBuffer(/*IN*/ PRPC_MESSAGE);
-RPC_STATUS RPC_ENTRY I_NsServerBindSearch(void);
-RPC_STATUS RPC_ENTRY I_NsClientBindSearch(void);
-void RPC_ENTRY I_NsClientBindDone(void);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/rpcnterr.h
===================================================================
--- Daodan/MinGW/include/rpcnterr.h	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-#ifndef _RPCNTERR_H
-#define _RPCNTERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define RPC_S_OK ERROR_SUCCESS
-#define RPC_S_INVALID_ARG ERROR_INVALID_PARAMETER
-#define RPC_S_OUT_OF_MEMORY ERROR_OUTOFMEMORY
-#define RPC_S_OUT_OF_THREADS ERROR_MAX_THRDS_REACHED
-#define RPC_S_INVALID_LEVEL ERROR_INVALID_PARAMETER
-#define RPC_S_BUFFER_TOO_SMALL ERROR_INSUFFICIENT_BUFFER
-#define RPC_S_INVALID_SECURITY_DESC ERROR_INVALID_SECURITY_DESCR
-#define RPC_S_ACCESS_DENIED ERROR_ACCESS_DENIED
-#define RPC_S_SERVER_OUT_OF_MEMORY ERROR_NOT_ENOUGH_SERVER_MEMORY
-#define RPC_X_NO_MEMORY RPC_S_OUT_OF_MEMORY
-#define RPC_X_INVALID_BOUND RPC_S_INVALID_BOUND
-#define RPC_X_INVALID_TAG RPC_S_INVALID_TAG
-#define RPC_X_ENUM_VALUE_TOO_LARGE RPC_X_ENUM_VALUE_OUT_OF_RANGE
-#define RPC_X_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE
-#define RPC_X_INVALID_BUFFER ERROR_INVALID_USER_BUFFER
-#define RPC_X_INVALID_PIPE_OPERATION RPC_X_WRONG_PIPE_ORDER
-#endif
Index: Daodan/MinGW/include/rpcproxy.h
===================================================================
--- Daodan/MinGW/include/rpcproxy.h	(revision 1046)
+++ 	(revision )
@@ -1,204 +1,0 @@
-/*
-    -DREGISTER_PROXY_DLL Generates DllMain, DllRegisterServer, and DllUnregisterServer
-    -DPROXY_CLSID=clsid Specifies a class ID to be used by the proxy DLL.
-    -DPROXY_CLSID_IS={..} Specifies the class ID to be used by the proxy DLL.
-    -DNT35_STRICT No new features
-*/
-#ifndef _RPCPROXY_H
-#define _RPCPROXY_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if defined  __cplusplus  && !defined CINTERFACE
-#warning "rpcproxy type definitions require CINTERFACE"
-#else
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <rpc.h>
-#include <rpcndr.h>
-#include <string.h>
-
-#define CStdStubBuffer_METHODS CStdStubBuffer_QueryInterface,CStdStubBuffer_AddRef,\
-CStdStubBuffer_Release,CStdStubBuffer_Connect,CStdStubBuffer_Disconnect,CStdStubBuffer_Invoke,\
-CStdStubBuffer_IsIIDSupported,CStdStubBuffer_CountRefs,CStdStubBuffer_DebugServerQueryInterface,\
-CStdStubBuffer_DebugServerRelease
-#define IID_GENERIC_CHECK_IID(name,pIID,index) memcmp(pIID,name##_ProxyVtblList[index]->header.piid,16)
-#define IID_BS_LOOKUP_SETUP int result, low=-1;
-#define IID_BS_LOOKUP_INITIAL_TEST(name,sz,split) if ((result = name##_CHECK_IID(split))>0) { low=sz-split;} else if (!result) { low = split; goto found_label; }
-#define IID_BS_LOOKUP_NEXT_TEST(name,split) if ((result = name##_CHECK_IID(low+split))>=0) { low=low+split; if (!result) goto found_label; }
-#define IID_BS_LOOKUP_RETURN_RESULT(name,sz,index) low+=1; if ((low>=sz )||(result=name##_CHECK_IID(low))) goto not_found_label; found_label: (index)=low; return 1; not_found_label: return 0;
-#define REGISTER_PROXY_DLL_ROUTINES(pProxyFileList, pClsID) \
-HINSTANCE hProxyDll = 0; \
-BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) \
-{ \
-if(fdwReason == DLL_PROCESS_ATTACH) hProxyDll = hinstDLL; \
-return TRUE; \
-} \
-HRESULT STDAPICALLTYPE DllRegisterServer(void) \
-{\
-return NdrDllRegisterProxy(hProxyDll, pProxyFileList, pClsID); \
-}\
-HRESULT STDAPICALLTYPE DllUnregisterServer(void)\
-{\
-return NdrDllUnregisterProxy(hProxyDll, pProxyFileList, pClsID);\
-}
-#ifdef PROXY_CLSID
-#define CLSID_PSFACTORYBUFFER extern CLSID PROXY_CLSID;
-#else
-#ifdef PROXY_CLSID_IS
-#define CLSID_PSFACTORYBUFFER const CLSID CLSID_PSFactoryBuffer = PROXY_CLSID_IS;
-#define PROXY_CLSID CLSID_PSFactoryBuffer
-#else
-#define CLSID_PSFACTORYBUFFER
-#endif
-#endif
-#ifndef PROXY_CLSID
-#define GET_DLL_CLSID (aProxyFileList[0]->pStubVtblList[0] != 0 ? aProxyFileList[0]->pStubVtblList[0]->header.piid : 0)
-#else
-#define GET_DLL_CLSID &PROXY_CLSID
-#endif
-#define EXTERN_PROXY_FILE(name) EXTERN_C const ProxyFileInfo name##_ProxyFileInfo;
-#define PROXYFILE_LIST_START const ProxyFileInfo * aProxyFileList[] = {
-#define REFERENCE_PROXY_FILE(name) & name##_ProxyFileInfo
-#define PROXYFILE_LIST_END 0 };
-#define DLLDATA_GETPROXYDLLINFO(pPFList,pClsid) \
-void RPC_ENTRY GetProxyDllInfo( const ProxyFileInfo*** pInfo, const CLSID ** pId ) \
-{ *pInfo = pPFList; *pId = pClsid; };
-#define DLLGETCLASSOBJECTROUTINE(pPFlist, pClsid,pFactory) HRESULT STDAPICALLTYPE DllGetClassObject(REFCLSID rclsid,REFIID riid,void **ppv) \
-{ return NdrDllGetClassObject(rclsid,riid,ppv,pPFlist,pClsid,pFactory ); }
-#define DLLCANUNLOADNOW(pFactory) HRESULT STDAPICALLTYPE DllCanUnloadNow(void) \
-{ return NdrDllCanUnloadNow( pFactory ); }
-#define DLLDUMMYPURECALL void __cdecl _purecall(void) { }
-#define CSTDSTUBBUFFERRELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer *This) \
-{ return NdrCStdStubBuffer_Release(This,(IPSFactoryBuffer *)pFactory); }
-#ifdef PROXY_DELEGATION
-#define CSTDSTUBBUFFER2RELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) \
-{ return NdrCStdStubBuffer2_Release(This,(IPSFactoryBuffer *)pFactory); }
-#else
-#define CSTDSTUBBUFFER2RELEASE(pFactory)
-#endif
-
-#ifdef REGISTER_PROXY_DLL
-#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID ) REGISTER_PROXY_DLL_ROUTINES(pProxyFileList,pClsID)
-#else
-#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID)
-#endif
-#define DLLDATA_ROUTINES(pProxyFileList,pClsID) \
-CLSID_PSFACTORYBUFFER \
-CStdPSFactoryBuffer gPFactory = {0,0,0,0}; \
-DLLDATA_GETPROXYDLLINFO(pProxyFileList,pClsID) \
-DLLGETCLASSOBJECTROUTINE(pProxyFileList,pClsID,&gPFactory) \
-DLLCANUNLOADNOW(&gPFactory) \
-CSTDSTUBBUFFERRELEASE(&gPFactory) \
-CSTDSTUBBUFFER2RELEASE(&gPFactory) \
-DLLDUMMYPURECALL \
-DLLREGISTRY_ROUTINES(pProxyFileList, pClsID)
-
-#define DLLDATA_STANDARD_ROUTINES DLLDATA_ROUTINES( (const ProxyFileInfo**) pProxyFileList, &CLSID_PSFactoryBuffer)
-
-struct tagCInterfaceStubVtbl;
-struct tagCInterfaceProxyVtbl;
-typedef struct tagCInterfaceStubVtbl *PCInterfaceStubVtblList;
-typedef struct tagCInterfaceProxyVtbl *PCInterfaceProxyVtblList;
-typedef const char *PCInterfaceName;
-typedef int __stdcall IIDLookupRtn(const IID*,int*);
-typedef IIDLookupRtn *PIIDLookup;
-typedef struct tagProxyFileInfo {
-    const PCInterfaceProxyVtblList *pProxyVtblList;
-    const PCInterfaceStubVtblList *pStubVtblList;
-    const PCInterfaceName * pNamesArray;
-    const IID ** pDelegatedIIDs;
-    const PIIDLookup pIIDLookupRtn;
-    unsigned short TableSize;
-    unsigned short TableVersion;
-    unsigned long Filler1;
-    unsigned long Filler2;
-    unsigned long Filler3;
-    unsigned long Filler4;
-}ProxyFileInfo;
-typedef ProxyFileInfo ExtendedProxyFileInfo;
-
-typedef struct tagCInterfaceProxyHeader {
-#ifdef USE_STUBLESS_PROXY
-    const void *pStublessProxyInfo;
-#endif
-    const IID *piid;
-} CInterfaceProxyHeader;
-typedef struct tagCInterfaceProxyVtbl {
-    CInterfaceProxyHeader header;
-#if defined(__WATCOMC__)
-    void *Vtbl[1];
-#else
-#ifdef __GNUC__
-__extension__
-#endif
-    void *Vtbl[0];
-#endif
-} CInterfaceProxyVtbl;
-typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
-typedef struct tagCInterfaceStubHeader {
-    const IID *piid;
-    const MIDL_SERVER_INFO *pServerInfo;
-    unsigned long DispatchTableCount;
-    const PRPC_STUB_FUNCTION *pDispatchTable;
-} CInterfaceStubHeader;
-typedef struct tagCInterfaceStubVtbl {
-    CInterfaceStubHeader header;
-    IRpcStubBufferVtbl Vtbl;
-} CInterfaceStubVtbl;
-typedef struct tagCStdStubBuffer {
-    const struct IRpcStubBufferVtbl * lpVtbl;
-    long RefCount;
-    struct IUnknown *pvServerObject;
-    const struct ICallFactoryVtbl * pCallFactoryVtbl;
-    const IID * pAsyncIID;
-    struct IPSFactoryBuffer * pPSFactory;
-    const struct IReleaseMarshalBuffersVtbl * pRMBVtbl;
-} CStdStubBuffer;
-typedef struct tagCStdPSFactoryBuffer {
-    const IPSFactoryBufferVtbl *lpVtbl;
-    long RefCount;
-    const ProxyFileInfo ** pProxyFileList;
-    long Filler1;
-} CStdPSFactoryBuffer;
-void RPC_ENTRY NdrProxyInitialize(void*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-void RPC_ENTRY NdrProxyGetBuffer(void*,PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrProxySendReceive(void*,MIDL_STUB_MESSAGE*);
-void RPC_ENTRY NdrProxyFreeBuffer(void*,MIDL_STUB_MESSAGE*);
-HRESULT RPC_ENTRY NdrProxyErrorHandler(DWORD);
-void RPC_ENTRY NdrStubInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,IRpcChannelBuffer*);
-void __RPC_STUB NdrStubForwardingFunction(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
-void RPC_ENTRY NdrStubGetBuffer(IRpcStubBuffer*,IRpcChannelBuffer*,PMIDL_STUB_MESSAGE);
-HRESULT RPC_ENTRY NdrStubErrorHandler(DWORD);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_QueryInterface(IRpcStubBuffer*,REFIID,void**);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_AddRef(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE NdrCStdStubBuffer_Release(IRpcStubBuffer*,IPSFactoryBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_Connect(IRpcStubBuffer*,IUnknown*);
-void STDMETHODCALLTYPE CStdStubBuffer_Disconnect(IRpcStubBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_Invoke(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*);
-IRpcStubBuffer* STDMETHODCALLTYPE CStdStubBuffer_IsIIDSupported(IRpcStubBuffer*,REFIID);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_CountRefs(IRpcStubBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_DebugServerQueryInterface(IRpcStubBuffer*,void**);
-void STDMETHODCALLTYPE CStdStubBuffer_DebugServerRelease(IRpcStubBuffer*,void*);
-HRESULT RPC_ENTRY NdrDllGetClassObject(REFCLSID,REFIID,void**,const ProxyFileInfo**,const CLSID*,CStdPSFactoryBuffer*);
-HRESULT RPC_ENTRY NdrDllCanUnloadNow(CStdPSFactoryBuffer*);
-#ifndef NT35_STRICT
-HRESULT RPC_ENTRY NdrDllRegisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*);
-HRESULT RPC_ENTRY NdrDllUnregisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*);
-#define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction
-ULONG STDMETHODCALLTYPE
-CStdStubBuffer2_Release(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE
-NdrCStdStubBuffer2_Release(IRpcStubBuffer*,IPSFactoryBuffer*);
-#define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif  /* defined  __cplusplus  && !defined CINTERFACE  */
-#endif  /* ndef _RPCPROXY_H  */
-
Index: Daodan/MinGW/include/rtutils.h
===================================================================
--- Daodan/MinGW/include/rtutils.h	(revision 1046)
+++ 	(revision )
@@ -1,90 +1,0 @@
-/*
- * rtutils.h - Routing and Remote Access Services
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain.  You may use,
- * modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED.  This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _RTUTILS_H
-#define _RTUTILS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- Tracing Reference */
-#if (_WIN32_WINNT >= 0x0500)
-DWORD WINAPI TraceDeregisterA(DWORD);
-DWORD WINAPI TraceDeregisterW(DWORD);
-DWORD WINAPI TraceDeregisterExA(DWORD,DWORD);
-DWORD WINAPI TraceDeregisterExW(DWORD,DWORD);
-#define TRACE_NO_SYNCH 0x00000004
-#define TraceDumpA(a,b,c,d,e,f) TraceDumpExA((a),0,(b),(c),(d),(e),(f))
-#define TraceDumpW(a,b,c,d,e,f) TraceDumpExW((a),0,(b),(c),(d),(e),(f))
-DWORD WINAPI TraceDumpExA(DWORD,DWORD,LPBYTE,DWORD,DWORD,BOOL,LPCSTR);
-DWORD WINAPI TraceDumpExW(DWORD,DWORD,LPBYTE,DWORD,DWORD,BOOL,LPCWSTR);
-DWORD WINAPI TracePrintfA(DWORD,LPCSTR,...);
-DWORD WINAPI TracePrintfW(DWORD,LPCWSTR,...);
-DWORD WINAPI TracePrintfExA(DWORD,DWORD,LPCSTR,...);
-DWORD WINAPI TracePrintfExW(DWORD,DWORD,LPCWSTR,...);
-#define TracePutsA(a,b) TracePutsExA((a),0,(b))
-#define TracePutsW(a,b) TracePutsExW((a),0,(b))
-DWORD WINAPI TracePutsExA(DWORD,DWORD,LPCSTR);
-DWORD WINAPI TracePutsExW(DWORD,DWORD,LPCWSTR);
-#define TraceRegisterA(a) TraceRegisterExA((a),0)
-#define TraceRegisterW(a) TraceRegisterExW((a),0)
-DWORD WINAPI TraceRegisterExA(LPCSTR,DWORD);
-DWORD WINAPI TraceRegisterExW(LPCWSTR,DWORD);
-#define TRACE_USE_FILE 0x00000001
-#define TRACE_USE_CONSOLE 0x00000002
-#define INVALID_TRACEID 0xFFFFFFFF
-#define TraceVprintfA(a,b,c) TraceVprintfExA((a),0,(b),(c))
-#define TraceVprintfW(a,b,c) TraceVprintfExW((a),0,(b),(c))
-DWORD WINAPI TraceVprintfExA(DWORD,DWORD,LPCSTR,va_list);
-DWORD WINAPI TraceVprintfExW(DWORD,DWORD,LPCWSTR,va_list);
-#define TRACE_NO_STDINFO 0x00000001
-#define TRACE_USE_MASK 0x00000002
-#define TRACE_USE_MSEC 0x00000004
-#ifdef UNICODE
-#define TraceDeregister TraceDeregisterW
-#define TraceDeregisterEx TraceDeregisterExW
-#define TraceDump TraceDumpW
-#define TraceDumpEx TraceDumpExW
-#define TracePrintf TracePrintfW
-#define TracePrintfEx TracePrintfExW
-#define TracePuts TracePutsW
-#define TracePutsEx TracePutsExW
-#define TraceRegister TraceRegisterW
-#define TraceRegisterEx TraceRegisterExW
-#define TraceVprintf TraceVprintfW
-#define TraceVprintfEx TraceVprintfExW
-#else
-#define TraceDeregister TraceDeregisterA
-#define TraceDeregisterEx TraceDeregisterExA
-#define TraceDump TraceDumpA
-#define TraceDumpEx TraceDumpExA
-#define TracePrintf TracePrintfA
-#define TracePrintfEx TracePrintfExA
-#define TracePuts TracePutsA
-#define TracePutsEx TracePutsExA
-#define TraceRegister TraceRegisterA
-#define TraceRegisterEx TraceRegisterExA
-#define TraceVprintf TraceVprintfA
-#define TraceVprintfEx TraceVprintfExA
-#endif
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/schannel.h
===================================================================
--- Daodan/MinGW/include/schannel.h	(revision 1046)
+++ 	(revision )
@@ -1,90 +1,0 @@
-#ifndef _SCHANNEL_H
-#define _SCHANNEL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <wincrypt.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SCHANNEL_CRED_VERSION 4
-#define SCHANNEL_SHUTDOWN 1
-/* ? Do these belong here or in wincrypt.h */
-#define AUTHTYPE_CLIENT 1
-#define AUTHTYPE_SERVER 2
-
-#define SP_PROT_TLS1_CLIENT 128
-#define SP_PROT_TLS1_SERVER 64
-#define SP_PROT_SSL3_CLIENT 32
-#define SP_PROT_SSL3_SERVER 16
-#define SP_PROT_SSL2_CLIENT 8
-#define SP_PROT_SSL2_SERVER 4
-#define SP_PROT_PCT1_SERVER 1
-#define SP_PROT_PCT1_CLIENT 2
-
-#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER)
-#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER)
-#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER)
-#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER)
-
-#define SCH_CRED_NO_SYSTEM_MAPPER 2
-#define SCH_CRED_NO_SERVERNAME_CHECK 4
-#define SCH_CRED_MANUAL_CRED_VALIDATION 8
-#define SCH_CRED_NO_DEFAULT_CREDS 16
-#define SCH_CRED_AUTO_CRED_VALIDATION 32
-#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
-#define SCH_CRED_REVOCATION_CHECK_END_CERT 256
-#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
-#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
-#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
-#define SCH_CRED_USE_DEFAULT_CREDS 64
-
-typedef struct _SCHANNEL_CRED {
-	DWORD dwVersion;
-	DWORD cCreds;
-	PCCERT_CONTEXT* paCred;
-	HCERTSTORE hRootStore;
-	DWORD cMappers;
-	struct _HMAPPER** aphMappers;
-	DWORD cSupportedAlgs;
-	ALG_ID* palgSupportedAlgs;
-	DWORD grbitEnabledProtocols;
-	DWORD dwMinimumCypherStrength;
-	DWORD dwMaximumCypherStrength;
-	DWORD dwSessionLifespan;
-	DWORD dwFlags;
-	DWORD reserved;
-} SCHANNEL_CRED, *PSCHANNEL_CRED;
-typedef struct _SecPkgCred_SupportedAlgs {
-	DWORD cSupportedAlgs;
-	ALG_ID* palgSupportedAlgs;
-} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
-typedef struct _SecPkgCred_CypherStrengths {
-	DWORD dwMinimumCypherStrength;
-	DWORD dwMaximumCypherStrength;
-} SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths;
-typedef struct _SecPkgCred_SupportedProtocols {
-	DWORD grbitProtocol;
-} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
-typedef struct _SecPkgContext_IssuerListInfoEx {
-	PCERT_NAME_BLOB aIssuers;
-	DWORD cIssuers;
-} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
-typedef struct _SecPkgContext_ConnectionInfo {
-	DWORD dwProtocol;
-	ALG_ID aiCipher;
-	DWORD dwCipherStrength;
-	ALG_ID aiHash;
-	DWORD dwHashStrength;
-	ALG_ID aiExch;
-	DWORD dwExchStrength;
-} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SCHANNEL_H */
Index: Daodan/MinGW/include/sched.h
===================================================================
--- Daodan/MinGW/include/sched.h	(revision 1046)
+++ 	(revision )
@@ -1,224 +1,0 @@
-/*
- * Module: sched.h
- *
- * Purpose:
- *      Provides an implementation of POSIX realtime extensions
- *      as defined in
- *
- *              POSIX 1003.1b-1993      (POSIX.1b)
- *
- * --------------------------------------------------------------------------
- *
- *      Pthreads-win32 - POSIX Threads Library for Win32
- *      Copyright(C) 1998 John E. Bossom
- *      Copyright(C) 1999,2012 Pthreads-win32 contributors
- *
- *      Homepage1: http://sourceware.org/pthreads-win32/
- *      Homepage2: http://sourceforge.net/projects/pthreads4w/
- *
- *      The current list of contributors is contained
- *      in the file CONTRIBUTORS included with the source
- *      code distribution. The list can also be seen at the
- *      following World Wide Web location:
- *      http://sources.redhat.com/pthreads-win32/contributors.html
- *
- *      This library is free software; you can redistribute it and/or
- *      modify it under the terms of the GNU Lesser General Public
- *      License as published by the Free Software Foundation; either
- *      version 2 of the License, or (at your option) any later version.
- *
- *      This library is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *      Lesser General Public License for more details.
- *
- *      You should have received a copy of the GNU Lesser General Public
- *      License along with this library in the file COPYING.LIB;
- *      if not, write to the Free Software Foundation, Inc.,
- *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-#ifndef _SCHED_H
-#define _SCHED_H
-#define __SCHED_H_SOURCED__
-
-#include <_ptw32.h>
-
-/* We need a typedef for pid_t, (and POSIX requires <sched.h> to
- * define it, as it is defined in <sys/types.h>, but it does NOT
- * sanction exposure of everything from <sys/types.h>); there is
- * no pid_t in Windows anyway, (except that MinGW does define it
- * in their <sys/types.h>), so just provide a suitable typedef,
- * but note that we must do so cautiously, to avoid a typedef
- * conflict if MinGW's <sys/types.h> is also #included:
- */
-#if !(defined __MINGW32__ && defined __have_typedef_pid_t)
-
-typedef int pid_t;
-
-#if __GNUC__ < 4
-/* GCC v4.0 and later, (as used by MinGW), allows us to repeat a
- * typedef, provided every duplicate is consistent; only set this
- * multiple definition guard when we cannot be certain that it is
- * permissable to repeat typedefs.
- */
-#define __have_typedef_pid_t  1
-#endif
-#endif
-
-/* POSIX.1-1993 says that <sched.h> WILL expose all of <time.h>
- */
-#if _POSIX_C_SOURCE >= 200112L
-/* POSIX.1-2001 and later revises this to say only that it MAY do so;
- * only struct timespec, and associated time_t are actually required,
- * so prefer to be selective; (MinGW.org's <time.h> offers an option
- * for selective #inclusion, when __SCHED_H_SOURCED__ is defined):
- */
-#define __need_struct_timespec
-#define __need_time_t
-#endif
-#include <time.h>
-
-#if defined __MINGW64__ || _MSC_VER >= 1900
-/* These are known to define struct timespec, when <time.h> has been
- * #included, but may not, (probably don't), follow the convention of
- * defining __struct_timespec_defined, as adopted by MinGW.org; for
- * these cases, we unconditionally assume that struct timespec has
- * been defined, otherwise, if MinGW.org's criterion has not been
- * satisfied...
- */
-#elif !(defined __struct_timespec_defined || defined _TIMESPEC_DEFINED)
-struct timespec
-{ /* ...we fall back on this explicit definition.
-   */
-  time_t	tv_sec;
-  int		tv_nsec;
-};
-# define _TIMESPEC_DEFINED
-#endif
-
-/*
- * Microsoft VC++6.0 lacks these *_PTR types
- */
-#if defined(_MSC_VER) && _MSC_VER < 1300 && !defined(_PTW32_HAVE_DWORD_PTR)
-typedef unsigned long ULONG_PTR;
-typedef ULONG_PTR DWORD_PTR;
-#endif
-
-/* Thread scheduling policies */
-
-enum
-{ SCHED_OTHER = 0,
-  SCHED_FIFO,
-  SCHED_RR,
-  SCHED_MIN   = SCHED_OTHER,
-  SCHED_MAX   = SCHED_RR
-};
-
-struct sched_param
-{ int  sched_priority;
-};
-
-/* CPU affinity
- *
- * cpu_set_t:
- * Considered opaque but cannot be an opaque pointer due to the need for
- * compatibility with GNU systems and sched_setaffinity() et.al., which
- * include the cpusetsize parameter "normally set to sizeof(cpu_set_t)".
- *
- * FIXME: These are GNU, and NOT specified by POSIX; they gratuitously
- * assume that size_t is defined, which is also not required in a POSIX
- * conforming <sched.h>.  The latter requirement may be satisfied, for
- * GCC users, by selective inclusion from <stddef.h>, (and by inclusion
- * of <stdlib.h> for other compilers); also, maybe consider occluding
- * all of this within a _GNU_SOURCE (or similar) feature test.
- */
-#ifdef __GNUC__
-# define __need_size_t
-# include <stddef.h>
-#else
-# include <stdlib.h>
-#endif
-#define CPU_SETSIZE (sizeof(size_t)*8)
-#define CPU_COUNT(setptr) (_sched_affinitycpucount(setptr))
-#define CPU_ZERO(setptr) (_sched_affinitycpuzero(setptr))
-#define CPU_SET(cpu, setptr) (_sched_affinitycpuset((cpu),(setptr)))
-#define CPU_CLR(cpu, setptr) (_sched_affinitycpuclr((cpu),(setptr)))
-#define CPU_ISSET(cpu, setptr) (_sched_affinitycpuisset((cpu),(setptr)))
-
-#define CPU_AND(destsetptr, srcset1ptr, srcset2ptr) \
- (_sched_affinitycpuand((destsetptr),(srcset1ptr),(srcset2ptr)))
-
-#define CPU_OR(destsetptr, srcset1ptr, srcset2ptr) \
- (_sched_affinitycpuor((destsetptr),(srcset1ptr),(srcset2ptr)))
-
-#define CPU_XOR(destsetptr, srcset1ptr, srcset2ptr) \
- (_sched_affinitycpuxor((destsetptr),(srcset1ptr),(srcset2ptr)))
-
-#define CPU_EQUAL(set1ptr, set2ptr) \
- (_sched_affinitycpuequal((set1ptr),(set2ptr)))
-
-typedef union
-{ char     cpuset[CPU_SETSIZE/8];
-  size_t  _align;
-} cpu_set_t;
-
-__PTW32_BEGIN_C_DECLS
-
-__PTW32_DECLSPEC int sched_yield (void);
-__PTW32_DECLSPEC int sched_get_priority_min (int);
-__PTW32_DECLSPEC int sched_get_priority_max (int);
-
-/* FIXME: this declaration of sched_setscheduler() is NOT as prescribed
- * by POSIX; it lacks const struct sched_param * as third argument.
- */
-__PTW32_DECLSPEC int sched_setscheduler (pid_t, int);
-
-/* FIXME: In addition to the above five functions, POSIX also requires:
- *
- *   int sched_getparam (pid_t, struct sched_param *);
- *   int sched_setparam (pid_t, const struct sched_param *);
- *
- * both of which are conspicuous by their absence here!
- */
-
-/* Compatibility with Linux - not standard in POSIX
- * FIXME: consider occluding within a _GNU_SOURCE (or similar) feature test.
- */
-__PTW32_DECLSPEC int sched_setaffinity (pid_t, size_t, cpu_set_t *);
-__PTW32_DECLSPEC int sched_getaffinity (pid_t, size_t, cpu_set_t *);
-
-/* Support routines and macros for cpu_set_t
- */
-__PTW32_DECLSPEC int _sched_affinitycpucount (const cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuzero (cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuset (int, cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuclr (int, cpu_set_t *);
-__PTW32_DECLSPEC int _sched_affinitycpuisset (int, const cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuand (cpu_set_t *, const cpu_set_t *, const cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuor (cpu_set_t *, const cpu_set_t *, const cpu_set_t *);
-__PTW32_DECLSPEC void _sched_affinitycpuxor (cpu_set_t *, const cpu_set_t *, const cpu_set_t *);
-__PTW32_DECLSPEC int _sched_affinitycpuequal (const cpu_set_t *, const cpu_set_t *);
-
-/* Note that this macro returns ENOTSUP rather than ENOSYS, as
- * might be expected. However, returning ENOSYS should mean that
- * sched_get_priority_{min,max} are not implemented as well as
- * sched_rr_get_interval.  This is not the case, since we just
- * don't support round-robin scheduling. Therefore I have chosen
- * to return the same value as sched_setscheduler when SCHED_RR
- * is passed to it.
- *
- * FIXME: POSIX requires this to be defined as a function; this
- * macro implementation is permitted IN ADDITION to the function,
- * but the macro alone is not POSIX compliant!  Worse still, it
- * imposes a requirement on the caller, to ensure that both the
- * declaration of errno, and the definition of ENOTSUP, are in
- * scope at point of call, (which it may wish to do anyway, but
- * POSIX imposes no such constraint)!
- */
-#define sched_rr_get_interval(_pid, _interval) \
-  ( errno = ENOTSUP, (int) -1 )
-
-__PTW32_END_C_DECLS
-
-#undef __SCHED_H_SOURCED__
-#endif	/* !_SCHED_H */
Index: Daodan/MinGW/include/schnlsp.h
===================================================================
--- Daodan/MinGW/include/schnlsp.h	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-#ifndef _SCHNLSP_H
-#define _SCHNLSP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-#define SECPKG_ATTR_SUPPORTED_ALGS 86
-#define SECPKG_ATTR_CIPHER_STRENGTHS 87
-#define SECPKG_ATTR_SUPPORTED_PROTOCOLS 88
-
-#include <schannel.h>
-
-#endif /* _SCHNLSP_H */
Index: Daodan/MinGW/include/scrnsave.h
===================================================================
--- Daodan/MinGW/include/scrnsave.h	(revision 1046)
+++ 	(revision )
@@ -1,81 +1,0 @@
-/*
-  Screen saver library by Anders Norlander <anorland@hem2.passagen.se>
-
-  This library is (hopefully) compatible with Microsoft's
-  screen saver library.
-
-  This is public domain software.
-
- */
-#ifndef _SCRNSAVE_H
-#define _SCRNSAVE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* configure dialog identifier */
-#define DLG_SCRNSAVECONFIGURE 2003
-
-#define idsIsPassword		1000
-#define idsIniFile		1001
-#define idsScreenSaver		1002
-#define idsPassword		1003
-#define idsDifferentPW		1004
-#define idsChangePW		1005
-#define idsBadOldPW		1006
-#define idsAppName		1007
-#define idsNoHelpMemory		1008
-#define idsHelpFile		1009
-#define idsDefKeyword		1010
-
-#define IDS_DESCRIPTION 1
-#define ID_APP 100
-
-#define WS_GT (WS_GROUP | WS_TABSTOP)
-#define SCRM_VERIFYPW		WM_APP
-#define MAXFILELEN		13
-#define TITLEBARNAMELEN		40
-#define APPNAMEBUFFERLEN	40
-#define BUFFLEN			255
-
-#ifndef RC_INVOKED
-
-/* functions provided by the aothor of the screen saver */
-BOOL WINAPI ScreenSaverConfigureDialog(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI RegisterDialogClasses(HANDLE);
-LONG WINAPI ScreenSaverProc(HWND,UINT,WPARAM,LPARAM);
-
-/* Change name of function if we are using UNICODE */
-#ifdef UNICODE
-#define DefScreenSaverProc DefScreenSaverProcW
-#endif
-
-/* default screen saver proc; call instead of DefWindowProc */
-LONG WINAPI DefScreenSaverProc(HWND,UINT,WPARAM,LPARAM);
-
-/* change password */
-void WINAPI ScreenSaverChangePassword(HWND);
-
-/* globals that may be used by screen saver */
-extern HINSTANCE	hMainInstance;
-extern HWND		hMainWindow;
-extern BOOL		fChildPreview;
-extern TCHAR		szName[];
-extern TCHAR		szAppName[];
-extern TCHAR		szIniFile[];
-extern TCHAR		szScreenSaver[];
-extern TCHAR		szHelpFile[];
-extern TCHAR		szNoHelpMemory[];
-extern UINT		MyHelpMessage;
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SCRNSAVE_H */
Index: Daodan/MinGW/include/sddl.h
===================================================================
--- Daodan/MinGW/include/sddl.h	(revision 1046)
+++ 	(revision )
@@ -1,34 +1,0 @@
-#ifndef _SDDL_H
-#define _SDDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINADVAPI
-#define WINADVAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (WINVER >= 0x0500)
-WINADVAPI BOOL WINAPI ConvertSidToStringSidA(PSID Sid, LPSTR* StringSid);
-WINADVAPI BOOL WINAPI ConvertSidToStringSidW(PSID Sid, LPWSTR* StringSid);
-WINADVAPI BOOL WINAPI ConvertStringSidToSidA(LPSTR StringSid, PSID *Sid);
-WINADVAPI BOOL WINAPI ConvertStringSidToSidW(LPWSTR StringSid, PSID *Sid);
-#endif
-
-#ifdef UNICODE
-#define ConvertSidToStringSid ConvertSidToStringSidW
-#define ConvertStringSidToSid ConvertStringSidToSidW
-#else
-#define ConvertSidToStringSid ConvertSidToStringSidA
-#define ConvertStringSidToSid ConvertStringSidToSidA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SDDL_H */
Index: Daodan/MinGW/include/sdkddkver.h
===================================================================
--- Daodan/MinGW/include/sdkddkver.h	(revision 1046)
+++ 	(revision )
@@ -1,292 +1,0 @@
-/*
- * sdkddkver.h
- *
- * Macros to set up the compilation environment, such that it provides
- * support for a user specified host OS version, (default Win2K).
- *
- * $Id: sdkddkver.h,v f02731a7c98a 2016/06/02 21:15:06 keithmarshall $
- *
- * Written by Earnie Boyd  <earnie@users.sourceforge.net>
- * Copyright (C) 2012, 2013, 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 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.
- *
- */
-#ifndef _SDKDDKVER_H
-#define _SDKDDKVER_H
-#pragma GCC system_header
-
-/* Define masks for extracting version components from NTDDI_VERSION;
- * values and names are guessed based on comments in the documentation; see
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define OSVERSION_MASK  	0xFFFF0000
-#define SPVERSION_MASK  	0x0000FF00
-#define SUBVERSION_MASK 	0x000000FF
-
-/* Macros to facilitate such extraction; derived from comments on MSDN or
- * on social.microsoft.com
- */
-#define OSVER(ver)		((ver) & OSVERSION_MASK)
-#define SPVER(ver)		(((ver) & SPVERSION_MASK) >> 8)
-#define SUBVER(ver)		((ver) & SUBVERSION_MASK)
-#define WINNTVER(ver)		((ver) >> 16)
-
-/* Macros to construct a minimal NTDDI_VERSION from a _WIN32_WINNT value.
- */
-#define NTDDI_VERSION_FROM_WIN32_WINNT(ver) _NTDDI_VERSION_FROM_WIN32_WINNT(ver)
-#define _NTDDI_VERSION_FROM_WIN32_WINNT(ver) ver##0000
-
-/* Version constants specifying _WIN32_WINNT versions; these are defined at
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- * (values for legacy platforms have been inferred from historical knowledge).
- */
-#define _WIN32_WINNT_NT4	0x0400		/* Windows NT4 */
-#define _WIN32_WINNT_NT4E	0x0401		/* Windows NT4E */
-#define _WIN32_WINDOWS_95	0x0400		/* Windows 95 */
-#define _WIN32_WINDOWS_98	0x0410		/* Windows 98 */
-#define _WIN32_WINDOWS_ME	0x0490		/* Windows Millenium Edition */
-#define _WIN32_WINNT_WIN2K	0x0500		/* Windows 2000 */
-#define _WIN32_WINNT_WINXP	0x0501		/* Windows XP */
-#define _WIN32_WINNT_WS03	0x0502		/* Windows Server 2003 */
-#define _WIN32_WINNT_WIN6	0x0600		/* Alias for Windows Vista */
-#define _WIN32_WINNT_VISTA	0x0600		/* Windows Vista */
-#define _WIN32_WINNT_WS08	0x0600		/* Windows Server 2008 */
-#define _WIN32_WINNT_LONGHORN	0x0600		/* Alias for Windows Vista */
-#define _WIN32_WINNT_WIN7	0x0601		/* Windows 7 */
-#define _WIN32_WINNT_WIN8	0x0602		/* Windows 8 */
-#define _WIN32_WINNT_WINBLUE	0x0603		/* Windows 8.1 */
-
-/* Version constants specifying Internet Explorer versions; also defined at
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define _WIN32_IE_IE50  	0x0500
-#define _WIN32_IE_IE501 	0x0501
-#define _WIN32_IE_IE55  	0x0550
-#define _WIN32_IE_IE56  	0x0560
-#define _WIN32_IE_IE60  	0x0600
-#define _WIN32_IE_IE60SP1 	0x0601
-#define _WIN32_IE_IE60SP2 	0x0603
-#define _WIN32_IE_IE70  	0x0700
-#define _WIN32_IE_IE80  	0x0800
-
-#define _WIN32_IE_IE30  	0x0300
-#define _WIN32_IE_IE301 	0x0301
-#define _WIN32_IE_IE302 	0x0302
-#define _WIN32_IE_IE40  	0x0400
-#define _WIN32_IE_IE401 	0x0401
-
-/* Version constants specifying NTDDI_VERSION; these are also defined at
- * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
- */
-#define __NTDDI_WIN5		0x05000000
-#define __NTDDI_WIN51		0x05010000
-#define __NTDDI_WIN52		0x05020000
-#define __NTDDI_WIN6		0x06000000
-#define __NTDDI_WIN61		0x06010000
-#define __NTDDI_WIN62		0x06020000
-#define __NTDDI_WIN63		0x06030000
-#define __NTDDI_SP0		0x00000000
-#define __NTDDI_SP1		0x00000100
-#define __NTDDI_SP2		0x00000200
-#define __NTDDI_SP3		0x00000300
-#define __NTDDI_SP4		0x00000400
-
-#define NTDDI_WIN2K		__NTDDI_WIN5 + __NTDDI_SP0
-#define NTDDI_WIN2KSP1		__NTDDI_WIN5 + __NTDDI_SP1
-#define NTDDI_WIN2KSP2		__NTDDI_WIN5 + __NTDDI_SP2
-#define NTDDI_WIN2KSP3		__NTDDI_WIN5 + __NTDDI_SP3
-#define NTDDI_WIN2KSP4		__NTDDI_WIN5 + __NTDDI_SP4
-
-#define NTDDI_WINXP		__NTDDI_WIN51 + __NTDDI_SP0
-#define NTDDI_WINXPSP1		__NTDDI_WIN51 + __NTDDI_SP1
-#define NTDDI_WINXPSP2		__NTDDI_WIN51 + __NTDDI_SP2
-#define NTDDI_WINXPSP3		__NTDDI_WIN51 + __NTDDI_SP3
-
-#define NTDDI_WS03		__NTDDI_WIN52 + __NTDDI_SP0
-#define NTDDI_WS03SP1		__NTDDI_WIN52 + __NTDDI_SP1
-#define NTDDI_WS03SP2		__NTDDI_WIN52 + __NTDDI_SP2
-
-#define NTDDI_VISTA		__NTDDI_WIN6 + __NTDDI_SP0
-#define NTDDI_VISTASP1		__NTDDI_WIN6 + __NTDDI_SP1
-#define NTDDI_VISTASP2		__NTDDI_WIN6 + __NTDDI_SP2
-
-#define NTDDI_LONGHORN		NTDDI_VISTA
-
-#define NTDDI_WIN6		NTDDI_VISTA
-#define NTDDI_WIN6SP1		NTDDI_VISTASP1
-#define NTDDI_WIN6SP2		NTDDI_VISTASP2
-
-#define NTDDI_WS08		__NTDDI_WIN6 + __NTDDI_SP1
-
-#define NTDDI_WIN7		__NTDDI_WIN61 + __NTDDI_SP0
-
-#define NTDDI_WIN8		__NTDDI_WIN62 + __NTDDI_SP0
-
-#define NTDDI_WINBLUE		__NTDDI_WIN63 + __NTDDI_SP0
-
-/* Although NTDDI_VERSION is now the preferred designator for the
- * level of support required from the operating system, legacy code
- * is likely to have specified WINVER, from which _WIN32_WINNT may
- * be inferred.
- */
-#if defined WINVER && ! defined _WIN32_WINNT
-# define _WIN32_WINNT WINVER
-
-/* Additionally, legacy code intended for deployment on the Win9x
- * series operating systems may have specified _WIN32_WINDOWS, as
- * an alternative to, or in addition to, _WIN32_WINNT.
- */
-#elif defined _WIN32_WINDOWS && ! defined _WIN32_WINNT
-# define _WIN32_WINNT _WIN32_WINDOWS
-#endif
-
-/* Stipulate defaults; check consistency of any user specified overrides.
- */
-#ifdef NTDDI_VERSION
-# ifdef _WIN32_WINNT
-#  if _WIN32_WINNT != WINNTVER(NTDDI_VERSION)
-#   error "_WIN32_WINNT setting conflicts with specified NTDDI_VERSION"
-#  endif
-# else
-#  define _WIN32_WINNT WINNTVER(NTDDI_VERSION)
-#  ifndef WINVER
-#   define WINVER _WIN32_WINNT
-#  endif
-# endif
-#endif
-
-#ifndef _WIN32_WINNT
-# ifdef WINVER
-#  define _WIN32_WINNT WINVER
-# else
-#  ifdef _WARN_DEFAULTS
-#   warning "Assuming default setting of _WIN32_WINNT_WIN2K for _WIN32_WINNT"
-#  endif
-#  define _WIN32_WINNT _WIN32_WINNT_WIN2K
-# endif
-#endif
-
-#ifndef WINVER
-# define WINVER _WIN32_WINNT
-#elif WINVER != _WIN32_WINNT
- /* TODO(REVIEW): is this appropriate for WINVER consistency checking?
-  */
-# error "_WIN32_WINNT setting conflicts with specified WINVER"
-#endif
-
-#ifndef NTDDI_VERSION
-# ifdef _WARN_DEFAULTS
-#  warning "Assuming default NTDDI_VERSION setting to match _WIN32_WINNT"
-# endif
-# define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
-#endif
-
-/* Map GCC architecture identification macros to their MSVC equivalents.
- * This mapping was previously specified in <winnt.h>, and duplicated in
- * <windows.h>; it is now only defined here, because both <windows.h> and
- * <winnt.h> must include this file anyway, and the potentially error prone
- * burden of maintaining duplicates is as unnecessary as it is undesirable.
- */
-#ifndef _M_IX86
- /* Note that we must process the _M_IX86 equivalent macros in diminishing
-  * order of processor version, since GCC defines __i386__ as identification
-  * for the X86 processor family, in addition to any one of the other three
-  * macros, which may be used to identify a particular processor version.
-  */
-# if defined(__i686__)
-#  define _M_IX86		600
-
-# elif defined(__i586__)
-#  define _M_IX86		500
-
-# elif defined(__i486__)
-#  define _M_IX86		400
-
-# elif defined(__i386__)
-#  define _M_IX86		300
-# endif
-#endif
-
-/* The preceding logic may have established the host type as X86, or it
- * may have done nothing at all; we must check further.
- */
-#ifdef _M_IX86
- /* We've established that we ARE compiling for an X86 host; any MinGW32
-  * compiler SHOULD have set this for us already...
-  */
-# ifndef _X86_
-  /* ...but cross-check it anyway, in case the user may have some unusual
-   * compiler configuration in place.
-   */
-#  define _X86_ 		1
-# endif
-
-# ifndef _M_IX86_FP
-  /* MSVC defines this, to provide additional information about particular
-   * capabilties of the X86 host environment; specifically...
-   */
-#  ifdef __SSE2__
-   /* ...this indicates that the SSE2 instruction set (or better) may be
-    * assumed to be supported...
-    */
-#   define _M_IX86_FP		2
-
-#  elif defined(__SSE__)
-   /* ...whereas, this promises only basic SSE instruction set support...
-    */
-#   define _M_IX86_FP		1
-
-#  else
-   /* ...and this disallows its use, entirely.
-    */
-#   define _M_IX86_FP		0
-#  endif
-# endif
-
-/* When not compiling for an X86 host; check mapping from other possible
- * GCC architecture identifiers, to their MSVC equivalents.
- */
-#elif defined(__x86_64__) || defined(__amd64__)
- /* This represents an Intel X86-64, or (compatible) AMD-64 processor;
-  * MSVC defines...
-  */
-# ifndef _M_X64
-  /* ...this to represent the former, together with...
-   */
-#  define _M_X64		1
-# endif
-# ifndef _M_AMD64
-  /* ...this alias, to represent the latter.
-   */
-#  define _M_AMD64		1
-# endif
-
-#elif defined(__ia64__)
- /* This represents an Intel Itanium processor, which MSVC designates
-  * by defining this feature test macro.
-  */
-# ifndef _M_IA64
-#  define _M_IA64		1
-# endif
-#endif	/* !_M_IX86 */
-
-#endif /* _SDKDDKVER_H: $RCSfile: sdkddkver.h,v $: end of file */
Index: Daodan/MinGW/include/search.h
===================================================================
--- Daodan/MinGW/include/search.h	(revision 1046)
+++ 	(revision )
@@ -1,145 +1,0 @@
-/*
- * search.h
- *
- * Functions for searching and sorting.
- *
- * $Id: search.h,v b5eb78a1f3b9 2016/07/03 19:23:28 keithmarshall $
- *
- * Written by Danny Smith <dannysmith@users.sourceforge.net>
- * Copyright (C) 2003, 2004, 2007, 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, 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.
- *
- */
-#ifndef _SEARCH_H
-#pragma GCC system_header
-#define _SEARCH_H
-
-/* All MinGW headers must include <_mingw.h>
- */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-/* POSIX specifies that <search.h> must define size_t, as it
- * is defined in <sys/types.h>; get it from <stddef.h>, just as
- * <sys/types.h> does.
- */
-#define __need_size_t
-#include <stddef.h>
-
-/* All search functions require a user-specified comparator
- * function, to be passed as an argument; this typedef is a
- * convenient shorthand for its generic prototype.
- */
-typedef int (*__search_comparator)(const void *, const void *);
-
-/* POSIX specifies that bsearch() and qsort() are to be declared in
- * <stdlib.h>, and NOT here; they ARE duplicated here, for Microsoft
- * compatibility only.
- */
-_CRTIMP __cdecl  void *bsearch
-(const void *, const void *, size_t, size_t, __search_comparator );
-
-_CRTIMP __cdecl  void qsort (void *, size_t, size_t, __search_comparator );
-
-/* This pair of functions are Microsoft specific; see below for their
- * POSIX counterparts, (corresponding to Microsoft's old names).
- */
-_CRTIMP __cdecl  void *_lfind
-(const void *, const void *, unsigned int *, unsigned int, __search_comparator );
-
-_CRTIMP __cdecl  void *_lsearch
-(const void *, void *, unsigned int *, unsigned int, __search_comparator );
-
-#ifdef _POSIX_C_SOURCE
-/* Documentation for the following POSIX definitions and prototypes
- * may be found in the Open Group Base Specifications Issue 7, (which
- * corresponds to IEEE Std 1003.1, 2008 Edition); see:
- *
- * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/search.h.html
- */
-typedef
-struct entry
-{ char	*key;
-  void	*data;
-} ENTRY;
-
-typedef
-enum { FIND, ENTER } ACTION;
-
-typedef
-enum { preorder, postorder, endorder, leaf } VISIT;
-
-#ifdef _SEARCH_PRIVATE
-/* For private use within the respective tree function implementations,
- * we define a structured representation of a tree node.
- *
- * FIXME: this really doesn't belong here!  Users should NEVER enable
- * this feature test; they should not be given this opportunity.
- */
-typedef
-struct node
-{ const void	*key;
-  struct node 	*llink, *rlink;
-} node_t;
-
-/* Suppress non-null argument annotations, when building the tsearch(),
- * tfind(), tdelete(), and twalk() implementations, to ensure that GCC
- * does not optimize away internal argument validation checks.
- */
-#undef  __MINGW_ATTRIB_NONNULL
-#define __MINGW_ATTRIB_NONNULL(ARG_INDEX)  /* NOTHING */
-
-#endif	/* _SEARCH_PRIVATE */
-
-__cdecl  void *tdelete
-(const void *__restrict__, void **__restrict__, __search_comparator)
-__MINGW_ATTRIB_NONNULL(2) __MINGW_ATTRIB_NONNULL(3);
-
-__cdecl  void *tfind (const void *, void *const *, __search_comparator)
-__MINGW_ATTRIB_NONNULL(2) __MINGW_ATTRIB_NONNULL(3);
-
-__cdecl  void *tsearch (const void *, void **, __search_comparator)
-__MINGW_ATTRIB_NONNULL(2) __MINGW_ATTRIB_NONNULL(3);
-
-__cdecl  void  twalk (const void *, void (*)(const void *, VISIT, int))
-__MINGW_ATTRIB_NONNULL(1) __MINGW_ATTRIB_NONNULL(2);
-
-#endif	/* _POSIX_C_SOURCE */
-
-#if !defined _NO_OLDNAMES || defined _POSIX_C_SOURCE
-/* Declared as deprecated, by Microsoft, but these are the POSIX names
- * for the functions which Microsoft now call _lfind() and _lsearch().
- */
-_CRTIMP __cdecl  void *lfind
-(const void *, const void *, unsigned int *, unsigned int, __search_comparator);
-
-_CRTIMP __cdecl  void *lsearch
-(const void *, void *, unsigned int *, unsigned int, __search_comparator);
-#endif
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_SEARCH_H: $RCSfile: search.h,v $: end of file */
Index: Daodan/MinGW/include/secext.h
===================================================================
--- Daodan/MinGW/include/secext.h	(revision 1046)
+++ 	(revision )
@@ -1,52 +1,0 @@
-#ifndef _SECEXT_H
-#define _SECEXT_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef RC_INVOKED
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum
-{
-  NameUnknown = 0,
-  NameFullyQualifiedDN = 1,
-  NameSamCompatible = 2,
-  NameDisplay = 3,
-  NameUniqueId = 6,
-  NameCanonical = 7,
-  NameUserPrincipal = 8,
-  NameCanonicalEx = 9,
-  NameServicePrincipal = 10,
-  NameDnsDomain = 12
-} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
-
-BOOLEAN WINAPI GetComputerObjectNameA(EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI GetComputerObjectNameW(EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-BOOLEAN WINAPI GetUserNameExA(EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI GetUserNameExW(EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-BOOLEAN WINAPI TranslateNameA(LPCSTR,EXTENDED_NAME_FORMAT,EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI TranslateNameW(LPCWSTR,EXTENDED_NAME_FORMAT,EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-
-#ifdef UNICODE
-#define GetComputerObjectName GetComputerObjectNameW
-#define GetUserNameEx GetUserNameExW
-#define TranslateName TranslateNameW
-#else
-#define GetComputerObjectName GetComputerObjectNameA
-#define GetUserNameEx GetUserNameExA
-#define TranslateName TranslateNameA
-#endif
-
-#endif /* ! RC_INVOKED */
-#endif /* _WIN32_WINNT >= 0x0500 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! _SECEXT_H */
Index: Daodan/MinGW/include/security.h
===================================================================
--- Daodan/MinGW/include/security.h	(revision 1046)
+++ 	(revision )
@@ -1,42 +1,0 @@
-#ifndef _SECURITY_H
-#define _SECURITY_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-#define SEC_E_OK 0
-#define SEC_E_CERT_EXPIRED (-2146893016)
-#define SEC_E_INCOMPLETE_MESSAGE (-2146893032)
-#define SEC_E_INSUFFICIENT_MEMORY (-2146893056)
-#define SEC_E_INTERNAL_ERROR (-2146893052)
-#define SEC_E_INVALID_HANDLE (-2146893055)
-#define SEC_E_INVALID_TOKEN (-2146893048)
-#define SEC_E_LOGON_DENIED (-2146893044)
-#define SEC_E_NO_AUTHENTICATING_AUTHORITY (-2146893039)
-#define SEC_E_NO_CREDENTIALS (-2146893042)
-#define SEC_E_TARGET_UNKNOWN (-2146893053)
-#define SEC_E_UNSUPPORTED_FUNCTION (-2146893054)
-#define SEC_E_UNTRUSTED_ROOT (-2146893019)
-#define SEC_E_WRONG_PRINCIPAL (-2146893022)
-#define SEC_E_SECPKG_NOT_FOUND (-2146893051)
-#define SEC_E_QOP_NOT_SUPPORTED (-2146893046)
-#define SEC_E_UNKNOWN_CREDENTIALS (-2146893043)
-#define SEC_E_NOT_OWNER (-2146893050)
-#define SEC_I_RENEGOTIATE 590625
-#define SEC_I_COMPLETE_AND_CONTINUE 590612
-#define SEC_I_COMPLETE_NEEDED 590611
-#define SEC_I_CONTINUE_NEEDED 590610
-#define SEC_I_INCOMPLETE_CREDENTIALS 590624
-
-/* always a char */
-typedef char SEC_CHAR;
-typedef wchar_t SEC_WCHAR;
-typedef long SECURITY_STATUS;
-#define SEC_FAR
-
-#include <sspi.h>
-#include <ntsecpkg.h>
-#include <secext.h>
-
-#endif /* _SECURITY_H */
Index: Daodan/MinGW/include/semaphore.h
===================================================================
--- Daodan/MinGW/include/semaphore.h	(revision 1046)
+++ 	(revision )
@@ -1,100 +1,0 @@
-/*
- * Module: semaphore.h
- *
- * Purpose:
- *	Semaphores aren't actually part of the PThreads standard.
- *	They are defined by the POSIX Standard:
- *
- *		POSIX 1003.1b-1993	(POSIX.1b)
- *
- * --------------------------------------------------------------------------
- *
- *      Pthreads-win32 - POSIX Threads Library for Win32
- *      Copyright(C) 1998 John E. Bossom
- *      Copyright(C) 1999-2012, 2016, Pthreads-win32 contributors
- *
- *      Homepage1: http://sourceware.org/pthreads-win32/
- *      Homepage2: http://sourceforge.net/projects/pthreads4w/
- *
- *      The current list of contributors is contained
- *      in the file CONTRIBUTORS included with the source
- *      code distribution. The list can also be seen at the
- *      following World Wide Web location:
- *      http://sources.redhat.com/pthreads-win32/contributors.html
- *
- *      This library is free software; you can redistribute it and/or
- *      modify it under the terms of the GNU Lesser General Public
- *      License as published by the Free Software Foundation; either
- *      version 2 of the License, or (at your option) any later version.
- *
- *      This library is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *      Lesser General Public License for more details.
- *
- *      You should have received a copy of the GNU Lesser General Public
- *      License along with this library in the file COPYING.LIB;
- *      if not, write to the Free Software Foundation, Inc.,
- *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- */
-#ifndef _SEMAPHORE_H
-#define _SEMAPHORE_H
-
-/* FIXME: POSIX.1 says that _POSIX_SEMAPHORES should be defined
- * in <unistd.h>, not here; for later POSIX.1 versions, its value
- * should match the corresponding _POSIX_VERSION number, but in
- * the case of POSIX.1b-1993, the value is unspecified.
- *
- * Notwithstanding the above, since POSIX semaphores, (and indeed
- * having any <unistd.h> to #include), are not a standard feature
- * on MS-Windows, it is convenient to retain this definition here;
- * we may consider adding a hook, to make it selectively available
- * for inclusion by <unistd.h>, in those cases (e.g. MinGW) where
- * <unistd.h> is provided.
- */
-#define _POSIX_SEMAPHORES
-
-/* Internal macros, common to the public interfaces for various
- * pthreads-win32 components, are defined in <_ptw32.h>; we must
- * include them here.
- */
-#include <_ptw32.h>
-
-/* The sem_timedwait() function was added in POSIX.1-2001; it
- * requires struct timespec to be defined, at least as a partial
- * (a.k.a. incomplete) data type.  Forward declare it as such.
- */
-struct timespec;
-
-/* The data type used to represent our semaphore implementation,
- * as required by POSIX.1; FIXME: consider renaming the underlying
- * structure tag, to avoid possible pollution of user namespace.
- */
-typedef struct sem_t_ * sem_t;
-
-/* POSIX.1b (and later) mandates SEM_FAILED as the value to be
- * returned on failure of sem_open(); (our implementation is a
- * stub, which will always return this).
- */
-#define SEM_FAILED  (sem_t *)(-1)
-
-__PTW32_BEGIN_C_DECLS
-
-/* Function prototypes: some are implemented as stubs, which
- * always fail; (FIXME: identify them).
- */
-__PTW32_DECLSPEC int sem_init (sem_t * sem, int pshared, unsigned int value);
-__PTW32_DECLSPEC int sem_destroy (sem_t * sem);
-__PTW32_DECLSPEC int sem_trywait (sem_t * sem);
-__PTW32_DECLSPEC int sem_wait (sem_t * sem);
-__PTW32_DECLSPEC int sem_timedwait (sem_t * sem, const struct timespec * abstime);
-__PTW32_DECLSPEC int sem_post (sem_t * sem);
-__PTW32_DECLSPEC int sem_post_multiple (sem_t * sem, int count);
-__PTW32_DECLSPEC sem_t *sem_open (const char *, int, ...);
-__PTW32_DECLSPEC int sem_close (sem_t * sem);
-__PTW32_DECLSPEC int sem_unlink (const char * name);
-__PTW32_DECLSPEC int sem_getvalue (sem_t * sem, int * sval);
-
-__PTW32_END_C_DECLS
-
-#endif	/* !_SEMAPHORE_H */
Index: Daodan/MinGW/include/servprov.h
===================================================================
--- Daodan/MinGW/include/servprov.h	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifndef _SERVPROV_H
-#define _SERVPROV_H
-#define _OLEIDL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EXTERN_C const IID IID_IServiceProvider;
-#define INTERFACE IServiceProvider
-DECLARE_INTERFACE_(IServiceProvider,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryService)(THIS_ REFGUID,REFIID,void**) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IServiceProvider_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IServiceProvider_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IServiceProvider_Release(T) (T)->lpVtbl->Release(T)
-#define IServiceProvider_QueryService(T,a,b,c) (T)->lpVtbl->QueryService(T,a,b,c)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/setjmp.h
===================================================================
--- Daodan/MinGW/include/setjmp.h	(revision 1046)
+++ 	(revision )
@@ -1,56 +1,0 @@
-/*
- * setjmp.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Declarations supporting setjmp and longjump, a method for avoiding
- * the normal function call return sequence. (Bleah!)
- *
- */
-
-#ifndef _SETJMP_H_
-#define _SETJMP_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The buffer used by setjmp to store the information used by longjmp
- * to perform it's evil goto-like work. The size of this buffer was
- * determined through experimentation; it's contents are a mystery.
- * NOTE: This was determined on an i386 (actually a Pentium). The
- *       contents could be different on an Alpha or something else.
- */
-#define _JBLEN 16
-#define _JBTYPE int
-typedef _JBTYPE jmp_buf[_JBLEN];
-
-/*
- * The function provided by CRTDLL which appears to do the actual work
- * of setjmp.
- */
-_CRTIMP int __cdecl __MINGW_NOTHROW _setjmp (jmp_buf);
-
-#define	setjmp(x)	_setjmp(x)
-
-/*
- * Return to the last setjmp call and act as if setjmp had returned
- * nVal (which had better be non-zero!).
- */
-_CRTIMP void __cdecl __MINGW_NOTHROW longjmp (jmp_buf, int) __MINGW_ATTRIB_NORETURN;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _SETJMP_H_ */
-
Index: Daodan/MinGW/include/setupapi.h
===================================================================
--- Daodan/MinGW/include/setupapi.h	(revision 1046)
+++ 	(revision )
@@ -1,1590 +1,0 @@
-#ifndef _SETUPAPI_H
-#define _SETUPAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <commctrl.h>
-#include <pshpack1.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WINSETUPAPI DECLSPEC_IMPORT
-
-#define LINE_LEN	256
-#define MAX_INF_STRING_LENGTH	4096
-#define MAX_TITLE_LEN	60
-#define MAX_INSTRUCTION_LEN	256
-#define MAX_LABEL_LEN	30
-#define MAX_SERVICE_NAME_LEN	256
-#define MAX_SUBTITLE_LEN	256
-#define SP_MAX_MACHINENAME_LENGTH	(MAX_PATH + 3)
-
-#define COPYFLG_WARN_IF_SKIP	0x00000001
-#define COPYFLG_NOSKIP	0x00000002
-#define COPYFLG_NOVERSIONCHECK	0x00000004
-#define COPYFLG_FORCE_FILE_IN_USE	0x00000008
-#define COPYFLG_NO_OVERWRITE	0x00000010
-#define COPYFLG_NO_VERSION_DIALOG	0x00000020
-#define COPYFLG_OVERWRITE_OLDER_ONLY	0x00000040
-#define COPYFLG_REPLACEONLY	0x00000400
-#define COPYFLG_NODECOMP	0x00000800
-#define COPYFLG_REPLACE_BOOT_FILE	0x00001000
-#define COPYFLG_NOPRUNE	0x00002000
-#define DELFLG_IN_USE	0x00000001
-#define DELFLG_IN_USE1	0x00010000
-#define DI_REMOVEDEVICE_GLOBAL	0x00000001
-#define DI_REMOVEDEVICE_CONFIGSPECIFIC	0x00000002
-#define DI_UNREMOVEDEVICE_CONFIGSPECIFIC	0x00000002
-#define DI_SHOWOEM	0x00000001
-#define DI_SHOWCOMPAT	0x00000002
-#define DI_SHOWCLASS	0x00000004
-#define DI_SHOWALL	0x00000007
-#define DI_NOVCP	0x00000008
-#define DI_DIDCOMPAT	0x00000010
-#define DI_DIDCLASS	0x00000020
-#define DI_AUTOASSIGNRES	0x00000040
-#define DI_NEEDRESTART	0x00000080
-#define DI_NEEDREBOOT	0x00000100
-#define DI_NOBROWSE	0x00000200
-#define DI_MULTMFGS	0x00000400
-#define DI_DISABLED	0x00000800
-#define DI_GENERALPAGE_ADDED	0x00001000
-#define DI_RESOURCEPAGE_ADDED	0x00002000
-#define DI_PROPERTIES_CHANGE	0x00004000
-#define DI_INF_IS_SORTED	0x00008000
-#define DI_ENUMSINGLEINF	0x00010000
-#define DI_DONOTCALLCONFIGMG	0x00020000
-#define DI_INSTALLDISABLED	0x00040000
-#define DI_COMPAT_FROM_CLASS	0x00080000
-#define DI_CLASSINSTALLPARAMS	0x00100000
-#define DI_NODI_DEFAULTACTION	0x00200000
-#define DI_QUIETINSTALL	0x00800000
-#define DI_NOFILECOPY	0x01000000
-#define DI_FORCECOPY	0x02000000
-#define DI_DRIVERPAGE_ADDED	0x04000000
-#define DI_USECI_SELECTSTRINGS	0x08000000
-#define DI_OVERRIDE_INFFLAGS	0x10000000
-#define DI_PROPS_NOCHANGEUSAGE	0x20000000
-#define DI_NOSELECTICONS	0x40000000
-#define DI_NOWRITE_IDS	0x80000000
-#define DI_FLAGSEX_USEOLDINFSEARCH	0x00000001
-#define DI_FLAGSEX_AUTOSELECTRANK0	0x00000002
-#define DI_FLAGSEX_CI_FAILED	0x00000004
-#define DI_FLAGSEX_DIDINFOLIST	0x00000010
-#define DI_FLAGSEX_DIDCOMPATINFO	0x00000020
-#define DI_FLAGSEX_FILTERCLASSES	0x00000040
-#define DI_FLAGSEX_SETFAILEDINSTALL	0x00000080
-#define DI_FLAGSEX_DEVICECHANGE	0x00000100
-#define DI_FLAGSEX_ALWAYSWRITEIDS	0x00000200
-#define DI_FLAGSEX_PROPCHANGE_PENDING	0x00000400
-#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS	0x00000800
-#define DI_FLAGSEX_NOUIONQUERYREMOVE	0x00001000
-#define DI_FLAGSEX_USECLASSFORCOMPAT	0x00002000
-#define DI_FLAGSEX_OLDINF_IN_CLASSLIST	0x00004000
-#define DI_FLAGSEX_NO_DRVREG_MODIFY	0x00008000
-#define DI_FLAGSEX_IN_SYSTEM_SETUP	0x00010000
-#define DI_FLAGSEX_INET_DRIVER	0x00020000
-#define DI_FLAGSEX_APPENDDRIVERLIST	0x00040000
-#define DI_FLAGSEX_PREINSTALLBACKUP	0x00080000
-#define DI_FLAGSEX_BACKUPONREPLACE	0x00100000
-#define DI_FLAGSEX_DRIVERLIST_FROM_URL	0x00200000
-#define DI_FLAGSEX_RESERVED1	0x00400000
-#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS	0x00800000
-#define DI_FLAGSEX_POWERPAGE_ADDED	0x01000000
-#define DIBCI_NOINSTALLCLASS	0x00000001
-#define DIBCI_NODISPLAYCLASS	0x00000002
-#define DICD_GENERATE_ID	0x00000001
-#define DICD_INHERIT_CLASSDRVS	0x00000002
-#define DICS_ENABLE	1
-#define DICS_FLAG_GLOBAL	1
-#define DICS_DISABLE	2
-#define DICS_FLAG_CONFIGSPECIFIC	2
-#define DICS_PROPCHANGE	3
-#define DICS_START	4
-#define DICS_FLAG_CONFIGGENERAL	4
-#define DICS_STOP	5
-#define DIF_SELECTDEVICE	1
-#define DIF_INSTALLDEVICE	2
-#define DIF_ASSIGNRESOURCES	3
-#define DIF_PROPERTIES	4
-#define DIF_REMOVE	5
-#define DIF_FIRSTTIMESETUP	6
-#define DIF_FOUNDDEVICE	7
-#define DIF_SELECTCLASSDRIVERS	8
-#define DIF_VALIDATECLASSDRIVERS	9
-#define DIF_INSTALLCLASSDRIVERS	10
-#define DIF_CALCDISKSPACE	11
-#define DIF_DESTROYPRIVATEDATA	12
-#define DIF_VALIDATEDRIVER	13
-#define DIF_MOVEDEVICE	14
-#define DIF_DETECT	15
-#define DIF_INSTALLWIZARD	16
-#define DIF_DESTROYWIZARDDATA	17
-#define DIF_PROPERTYCHANGE	18
-#define DIF_ENABLECLASS	19
-#define DIF_DETECTVERIFY	20
-#define DIF_INSTALLDEVICEFILES	21
-#define DIF_UNREMOVE	22
-#define DIF_SELECTBESTCOMPATDRV	23
-#define DIF_ALLOW_INSTALL	24
-#define DIF_REGISTERDEVICE	25
-#define DIF_NEWDEVICEWIZARD_PRESELECT	26
-#define DIF_NEWDEVICEWIZARD_SELECT	27
-#define DIF_NEWDEVICEWIZARD_PREANALYZE	28
-#define DIF_NEWDEVICEWIZARD_POSTANALYZE	29
-#define DIF_NEWDEVICEWIZARD_FINISHINSTALL	30
-#define DIF_UNUSED1	31
-#define DIF_INSTALLINTERFACES	32
-#define DIF_DETECTCANCEL	33
-#define DIF_REGISTER_COINSTALLERS	34
-#define DIF_ADDPROPERTYPAGE_ADVANCED	35
-#define DIF_ADDPROPERTYPAGE_BASIC	36
-#define DIF_RESERVED1	37
-#define DIF_TROUBLESHOOTER	38
-#define DIF_POWERMESSAGEWAKE	39
-#define DIGCF_DEFAULT	0x00000001
-#define DIGCDP_FLAG_BASIC	0x00000001
-#define DIGCF_PRESENT	0x00000002
-#define DIGCDP_FLAG_ADVANCED	0x00000002
-#define DIGCF_ALLCLASSES	0x00000004
-#define DIGCF_PROFILE	0x00000008
-#define DIGCF_DEVICEINTERFACE	0x00000010
-#define DIGCF_INTERFACEDEVICE	0x00000010
-#define DIOCR_INSTALLER	0x00000001
-#define DIOCR_INTERFACE	0x00000002
-#define DIODI_NO_ADD	0x00000001
-#define DIOD_INHERIT_CLASSDRVS	0x00000002
-#define DIOD_CANCEL_REMOVE	0x00000004
-#define DIREG_DEV	0x00000001
-#define DIREG_DRV	0x00000002
-#define DIREG_BOTH	0x00000004
-#define DIRID_ABSOLUTE	-1
-#define DIRID_NULL	0
-#define DIRID_SRCPATH	1
-#define DIRID_WINDOWS	10
-#define DIRID_SYSTEM	11
-#define DIRID_DRIVERS	12
-#define DIRID_INF	17
-#define DIRID_HELP	18
-#define DIRID_FONTS	20
-#define DIRID_VIEWERS	21
-#define DIRID_COLOR	23
-#define DIRID_APPS	24
-#define DIRID_SHARED	25
-#define DIRID_BOOT	30
-#define DIRID_SYSTEM16	50
-#define DIRID_SPOOL	51
-#define DIRID_SPOOLDRIVERS	52
-#define DIRID_USERPROFILE	53
-#define DIRID_LOADER	54
-#define DIRID_PRINTPROCESSOR	55
-#define DIRID_COMMON_STARTMENU	16406
-#define DIRID_COMMON_PROGRAMS	16407
-#define DIRID_COMMON_STARTUP	16408
-#define DIRID_COMMON_DESKTOPDIRECTORY	16409
-#define DIRID_COMMON_FAVORITES	16415
-#define DIRID_COMMON_APPDATA	16419
-#define DIRID_PROGRAM_FILES	16422
-#define DIRID_SYSTEM_X86	16425
-#define DIRID_PROGRAM_FILES_X86	16426
-#define DIRID_PROGRAM_FILES_COMMON	16427
-#define DIRID_PROGRAM_FILES_COMMONX86	16428
-#define DIRID_COMMON_TEMPLATES	16429
-#define DIRID_COMMON_DOCUMENTS	16430
-#define DIRID_USER	0x8000
-#define DIRID_ABSOLUTE_16BIT	0xffff
-#define DIRID_IOSUBSYS	DIRID_DRIVERS
-#define DIRID_DEFAULT	DIRID_SYSTEM
-#define DMI_MASK	0x00000001
-#define DMI_BKCOLOR	0x00000002
-#define DMI_USERECT	0x00000004
-#define DNF_DUPDESC	0x00000001
-#define DNF_OLDDRIVER	0x00000002
-#define DNF_EXCLUDEFROMLIST	0x00000004
-#define DNF_NODRIVER	0x00000008
-#define DNF_LEGACYINF	0x00000010
-#define DNF_CLASS_DRIVER	0x00000020
-#define DNF_COMPATIBLE_DRIVER	0x00000040
-#define DNF_INET_DRIVER	0x00000080
-#define DNF_UNUSED1	0x00000100
-#define DNF_INDEXED_DRIVER	0x00000200
-#define DNF_OLD_INET_DRIVER	0x00000400
-#define DNF_BAD_DRIVER	0x00000800
-#define DNF_DUPPROVIDER	0x00001000
-#define DPROMPT_SUCCESS	0
-#define DPROMPT_CANCEL	1
-#define DPROMPT_SKIPFILE	2
-#define DPROMPT_BUFFERTOOSMALL	3
-#define DPROMPT_OUTOFMEMORY	4
-#define DRIVER_HARDWAREID_RANK	0x00000FFF
-#define DYNAWIZ_FLAG_PAGESADDED	0x00000001
-#define DYNAWIZ_FLAG_INSTALLDET_NEXT	0x00000002
-#define DYNAWIZ_FLAG_INSTALLDET_PREV	0x00000004
-#define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT	0x00000008
-#define ENABLECLASS_QUERY	0
-#define ENABLECLASS_SUCCESS	1
-#define ENABLECLASS_FAILURE	2
-#define ERROR_EXPECTED_SECTION_NAME	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
-#define ERROR_BAD_SECTION_NAME_LINE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
-#define ERROR_SECTION_NAME_TOO_LONG	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
-#define ERROR_GENERAL_SYNTAX	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
-#define ERROR_WRONG_INF_STYLE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
-#define ERROR_NOT_INSTALLED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
-#define ERROR_SECTION_NOT_FOUND	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
-#define ERROR_LINE_NOT_FOUND	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
-#define ERROR_NO_BACKUP	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
-#define ERROR_NO_ASSOCIATED_CLASS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
-#define ERROR_CLASS_MISMATCH	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
-#define ERROR_DUPLICATE_FOUND	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
-#define ERROR_NO_DRIVER_SELECTED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
-#define ERROR_KEY_DOES_NOT_EXIST	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
-#define ERROR_INVALID_DEVINST_NAME	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
-#define ERROR_INVALID_CLASS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
-#define ERROR_DEVINST_ALREADY_EXISTS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
-#define ERROR_DEVINFO_NOT_REGISTERED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
-#define ERROR_INVALID_REG_PROPERTY	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
-#define ERROR_NO_INF	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
-#define ERROR_NO_SUCH_DEVINST	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
-#define ERROR_CANT_LOAD_CLASS_ICON	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
-#define ERROR_INVALID_CLASS_INSTALLER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
-#define ERROR_DI_DO_DEFAULT	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
-#define ERROR_DI_NOFILECOPY	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
-#define ERROR_INVALID_HWPROFILE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
-#define ERROR_NO_DEVICE_SELECTED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
-#define ERROR_DEVINFO_LIST_LOCKED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
-#define ERROR_DEVINFO_DATA_LOCKED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
-#define ERROR_DI_BAD_PATH	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
-#define ERROR_NO_CLASSINSTALL_PARAMS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
-#define ERROR_FILEQUEUE_LOCKED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
-#define ERROR_BAD_SERVICE_INSTALLSECT	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
-#define ERROR_NO_CLASS_DRIVER_LIST	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
-#define ERROR_NO_ASSOCIATED_SERVICE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
-#define ERROR_NO_DEFAULT_DEVICE_INTERFACE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
-#define ERROR_DEVICE_INTERFACE_ACTIVE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
-#define ERROR_DEVICE_INTERFACE_REMOVED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
-#define ERROR_BAD_INTERFACE_INSTALLSECT	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
-#define ERROR_NO_SUCH_INTERFACE_CLASS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
-#define ERROR_INVALID_REFERENCE_STRING	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
-#define ERROR_INVALID_MACHINENAME	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
-#define ERROR_REMOTE_COMM_FAILURE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
-#define ERROR_MACHINE_UNAVAILABLE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
-#define ERROR_NO_CONFIGMGR_SERVICES	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
-#define ERROR_INVALID_PROPPAGE_PROVIDER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
-#define ERROR_NO_SUCH_DEVICE_INTERFACE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
-#define ERROR_DI_POSTPROCESSING_REQUIRED	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
-#define ERROR_INVALID_COINSTALLER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
-#define ERROR_NO_COMPAT_DRIVERS	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
-#define ERROR_NO_DEVICE_ICON	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
-#define ERROR_INVALID_INF_LOGCONFIG	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
-#define ERROR_DI_DONT_INSTALL	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
-#define ERROR_INVALID_FILTER_DRIVER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
-#define ERROR_NON_WINDOWS_NT_DRIVER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
-#define ERROR_NON_WINDOWS_DRIVER	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
-#define ERROR_NO_CATALOG_FOR_OEM_INF	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
-#define ERROR_DEVINSTALL_QUEUE_NONNATIVE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
-#define ERROR_NOT_DISABLEABLE	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
-#define ERROR_CANT_REMOVE_DEVINST	(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
-#define ERROR_INTERFACE_DEVICE_ACTIVE	ERROR_DEVICE_INTERFACE_ACTIVE
-#define ERROR_INTERFACE_DEVICE_REMOVED	ERROR_DEVICE_INTERFACE_REMOVED
-#define ERROR_NO_DEFAULT_INTERFACE_DEVICE	ERROR_NO_DEFAULT_DEVICE_INTERFACE
-#define ERROR_NO_SUCH_INTERFACE_DEVICE	ERROR_NO_SUCH_DEVICE_INTERFACE
-
-#define FILEOP_COPY	0
-#define FILEOP_ABORT	0
-#define FILE_COMPRESSION_NONE	0
-#define FILEOP_RENAME	1
-#define FILEOP_DOIT	1
-#define FILE_COMPRESSION_WINLZA	1
-#define FILEOP_DELETE	2
-#define FILEOP_SKIP	2
-#define FILE_COMPRESSION_MSZIP	2
-#define FILEOP_BACKUP	3
-#define FILE_COMPRESSION_NTCAB	3
-#define FILEOP_NEWPATH	4
-#define FILEOP_RETRY	FILEOP_DOIT
-#define FLG_ADDREG_TYPE_SZ	0x00000000
-#define FLG_ADDREG_BINVALUETYPE	0x00000001
-#define FLG_ADDREG_NOCLOBBER	0x00000002
-#define FLG_ADDREG_DELVAL	0x00000004
-#define FLG_ADDREG_APPEND	0x00000008
-#define FLG_ADDREG_KEYONLY	0x00000010
-#define FLG_ADDREG_OVERWRITEONLY	0x00000020
-#if (_SETUPAPI_VER >= 0x0501)
-#define FLG_ADDREG_64BITKEY	0x00001000
-#define FLG_ADDREG_KEYONLY_COMMON	0x00002000
-#define FLG_ADDREG_32BITKEY	0x00004000
-#define FLG_ADDREG_DELREG_BIT	0x00008000
-#endif
-#define FLG_ADDREG_TYPE_MULTI_SZ	0x00010000
-#define FLG_ADDREG_TYPE_EXPAND_SZ	0x00020000
-#define FLG_ADDREG_TYPE_BINARY	(0x00000000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_DWORD	(0x00010000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_NONE	(0x00020000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_MASK	(0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_DELREG_VALUE	0x00000000
-#if (_SETUPAPI_VER >= 0x0501)
-#define FLG_DELREG_TYPE_MASK	FLG_ADDREG_TYPE_MASK
-#define FLG_DELREG_TYPE_SZ	FLG_ADDREG_TYPE_SZ
-#define FLG_DELREG_TYPE_MULTI_SZ	FLG_ADDREG_TYPE_MULTI_SZ
-#define FLG_DELREG_TYPE_EXPAND_SZ	FLG_ADDREG_TYPE_EXPAND_SZ
-#define FLG_DELREG_TYPE_BINARY	FLG_ADDREG_TYPE_BINARY
-#define FLG_DELREG_TYPE_DWORD	FLG_ADDREG_TYPE_DWORD
-#define FLG_DELREG_TYPE_NONE	FLG_ADDREG_TYPE_NONE
-#define FLG_DELREG_64BITKEY	FLG_ADDREG_64BITKEY
-#define FLG_DELREG_KEYONLY_COMMON	FLG_ADDREG_KEYONLY_COMMON
-#define FLG_DELREG_32BITKEY	FLG_ADDREG_32BITKEY
-#define FLG_DELREG_OPERATION_MASK	0x000000FE
-#define FLG_DELREG_MULTI_SZ_DELSTRING	(0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT)
-#endif
-#define FLG_BITREG_CLEARBITS	0x00000000
-#define FLG_BITREG_SETBITS	0x00000001
-#define FLG_PROFITEM_CURRENTUSER	0x00000001
-#define FLG_PROFITEM_DELETE	0x00000002
-#define FLG_PROFITEM_GROUP	0x00000004
-#define FLG_PROFITEM_CSIDL	0x00000008
-#define FLG_REGSVR_DLLREGISTER	0x00000001
-#define FLG_REGSVR_DLLINSTALL	0x00000002
-#define MIN_IDD_DYNAWIZ_RESOURCE_ID	10000
-#define MAX_IDD_DYNAWIZ_RESOURCE_ID	11000
-#define IDD_DYNAWIZ_FIRSTPAGE	10000
-#define IDD_DYNAWIZ_SELECT_PREVPAGE	10001
-#define IDD_DYNAWIZ_SELECT_NEXTPAGE	10002
-#define IDD_DYNAWIZ_ANALYZE_PREVPAGE	10003
-#define IDD_DYNAWIZ_ANALYZE_NEXTPAGE	10004
-#define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE	10006
-#define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE	10007
-#define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS	10008
-#define IDD_DYNAWIZ_SELECTDEV_PAGE	10009
-#define IDD_DYNAWIZ_ANALYZEDEV_PAGE	10010
-#define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE	10011
-#define IDD_DYNAWIZ_SELECTCLASS_PAGE	10012
-#define IDF_NOBROWSE	0x00000001
-#define IDF_NOSKIP	0x00000002
-#define IDF_NODETAILS	0x00000004
-#define IDF_NOCOMPRESSED	0x00000008
-#define IDF_CHECKFIRST	0x00000100
-#define IDF_NOBEEP	0x00000200
-#define IDF_NOFOREGROUND	0x00000400
-#define IDF_WARNIFSKIP	0x00000800
-#define IDF_OEMDISK	0x80000000
-#define IDI_RESOURCEFIRST	159
-#define IDI_RESOURCE	159
-#define IDI_RESOURCELAST	161
-#define IDI_RESOURCEOVERLAYFIRST	161
-#define IDI_RESOURCEOVERLAYLAST	161
-#define IDI_CONFLICT	161
-#define IDI_PROBLEM_OVL	500
-#define IDI_DISABLED_OVL	501
-#define IDI_FORCED_OVL	502
-#define IDI_CLASSICON_OVERLAYFIRST	500
-#define IDI_CLASSICON_OVERLAYLAST	502
-#define INF_STYLE_NONE	0x00000000
-#define INF_STYLE_OLDNT	0x00000001
-#define INF_STYLE_WIN4	0x00000002
-#define INF_STYLE_CACHE_ENABLE	0x00000010
-#define INF_STYLE_CACHE_DISABLE	0x00000020
-#define INFINFO_INF_SPEC_IS_HINF	1
-#define INFINFO_INF_NAME_IS_ABSOLUTE	2
-#define INFINFO_DEFAULT_SEARCH	3
-#define INFINFO_REVERSE_DEFAULT_SEARCH	4
-#define INFINFO_INF_PATH_LIST_SEARCH	5
-#define LogSevInformation	0
-#define LogSevWarning	1
-#define LogSevError	2
-#define LogSevFatalError	3
-#define LogSevMaximum	4
-#define LogSeverity	DWORD
-#define MAX_INSTALLWIZARD_DYNAPAGES	20
-#define NDW_INSTALLFLAG_DIDFACTDEFS	0x00000001
-#define NDW_INSTALLFLAG_HARDWAREALLREADYIN	0x00000002
-#define NDW_INSTALLFLAG_NEEDSHUTDOWN	0x00000200
-#define NDW_INSTALLFLAG_EXPRESSINTRO	0x00000400
-#define NDW_INSTALLFLAG_SKIPISDEVINSTALLED	0x00000800
-#define NDW_INSTALLFLAG_NODETECTEDDEVS	0x00001000
-#define NDW_INSTALLFLAG_INSTALLSPECIFIC	0x00002000
-#define NDW_INSTALLFLAG_SKIPCLASSLIST	0x00004000
-#define NDW_INSTALLFLAG_CI_PICKED_OEM	0x00008000
-#define NDW_INSTALLFLAG_PCMCIAMODE	0x00010000
-#define NDW_INSTALLFLAG_PCMCIADEVICE	0x00020000
-#define NDW_INSTALLFLAG_USERCANCEL	0x00040000
-#define NDW_INSTALLFLAG_KNOWNCLASS	0x00080000
-#define NDW_INSTALLFLAG_NEEDRESTART	0x00000080
-#define NDW_INSTALLFLAG_NEEDREBOOT	0x00000100
-#if (_SETUPAPI_VER >= 0x0502)
-#define SCWMI_CLOBBER_SECURITY  0x00000001
-#endif
-#define SETDIRID_NOT_FULL_PATH	0x00000001
-#define SP_COPY_DELETESOURCE	0x0000001
-#define SP_COPY_REPLACEONLY	0x0000002
-#define SP_COPY_NEWER	0x0000004
-#define SP_COPY_NEWER_OR_SAME	0x0000004
-#define SP_COPY_NOOVERWRITE	0x0000008
-#define SP_COPY_NODECOMP	0x0000010
-#define SP_COPY_LANGUAGEAWARE	0x0000020
-#define SP_COPY_SOURCE_ABSOLUTE	0x0000040
-#define SP_COPY_SOURCEPATH_ABSOLUTE	0x0000080
-#define SP_COPY_IN_USE_NEEDS_REBOOT	0x0000100
-#define SP_COPY_FORCE_IN_USE	0x0000200
-#define SP_COPY_NOSKIP	0x0000400
-#define SP_COPY_FORCE_NOOVERWRITE	0x0001000
-#define SP_COPY_FORCE_NEWER	0x0002000
-#define SP_COPY_WARNIFSKIP	0x0004000
-#define SP_COPY_NOBROWSE	0x0008000
-#define SP_COPY_NEWER_ONLY	0x0010000
-#define SP_COPY_SOURCE_SIS_MASTER	0x0020000
-#define SP_COPY_OEMINF_CATALOG_ONLY	0x0040000
-#define SP_COPY_REPLACE_BOOT_FILE	0x0080000
-#define SP_COPY_NOPRUNE	0x0100000
-#define SP_FLAG_CABINETCONTINUATION	0x0000800
-#define SPCRP_SECURITY	23
-#define SPCRP_SECURITY_SDS	24
-#define SPCRP_DEVTYPE	25
-#define SPCRP_EXCLUSIVE	26
-#define SPCRP_CHARACTERISTICS	27
-#define SPCRP_MAXIMUM_PROPERTY	28
-#define SPDIT_NODRIVER	0
-#define SPDIT_CLASSDRIVER	1
-#define SPDIT_COMPATDRIVER	2
-#define SPDRP_DEVICEDESC	0
-#define SPDRP_HARDWAREID	1
-#define SPDRP_COMPATIBLEIDS	2
-#define SPDRP_UNUSED0	3
-#define SPDRP_SERVICE	4
-#define SPDRP_UNUSED1	5
-#define SPDRP_UNUSED2	6
-#define SPDRP_CLASS	7
-#define SPDRP_CLASSGUID	8
-#define SPDRP_DRIVER	9
-#define SPDRP_CONFIGFLAGS	10
-#define SPDRP_MFG	11
-#define SPDRP_FRIENDLYNAME	12
-#define SPDRP_LOCATION_INFORMATION	13
-#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME	14
-#define SPDRP_CAPABILITIES	15
-#define SPDRP_UI_NUMBER	16
-#define SPDRP_UPPERFILTERS	17
-#define SPDRP_LOWERFILTERS	18
-#define SPDRP_BUSTYPEGUID	19
-#define SPDRP_LEGACYBUSTYPE	20
-#define SPDRP_BUSNUMBER	21
-#define SPDRP_ENUMERATOR_NAME	22
-#define SPDRP_SECURITY	23
-#define SPDRP_SECURITY_SDS	24
-#define SPDRP_DEVTYPE	25
-#define SPDRP_EXCLUSIVE	26
-#define SPDRP_CHARACTERISTICS	27
-#define SPDRP_ADDRESS	28
-#define SPDRP_UI_NUMBER_DESC_FORMAT	30
-#define SPDRP_MAXIMUM_PROPERTY	31
-#define SPDSL_IGNORE_DISK	1
-#define SPDSL_DISALLOW_NEGATIVE_ADJUST	2
-
-#define SPFILENOTIFY_STARTQUEUE	1
-#define SPFILENOTIFY_ENDQUEUE	2
-#define SPFILENOTIFY_STARTSUBQUEUE	3
-#define SPFILENOTIFY_ENDSUBQUEUE	4
-#define SPFILENOTIFY_STARTDELETE	5
-#define SPFILENOTIFY_ENDDELETE	6
-#define SPFILENOTIFY_DELETEERROR	7
-#define SPFILENOTIFY_STARTRENAME	8
-#define SPFILENOTIFY_ENDRENAME	9
-#define SPFILENOTIFY_RENAMEERROR	10
-#define SPFILENOTIFY_STARTCOPY	11
-#define SPFILENOTIFY_ENDCOPY	12
-#define SPFILENOTIFY_COPYERROR	13
-#define SPFILENOTIFY_NEEDMEDIA	14
-#define SPFILENOTIFY_QUEUESCAN	15
-#define SPFILENOTIFY_CABINETINFO	16
-#define SPFILENOTIFY_FILEINCABINET	17
-#define SPFILENOTIFY_NEEDNEWCABINET	18
-#define SPFILENOTIFY_FILEEXTRACTED	19
-#define SPFILENOTIFY_FILEOPDELAYED	20
-#define SPFILENOTIFY_STARTBACKUP	21
-#define SPFILENOTIFY_BACKUPERROR	22
-#define SPFILENOTIFY_ENDBACKUP	23
-#define SPFILENOTIFY_QUEUESCAN_EX	24
-#define SPFILENOTIFY_LANGMISMATCH	0x00010000
-#define SPFILENOTIFY_TARGETEXISTS	0x00020000
-#define SPFILENOTIFY_TARGETNEWER	0x00040000
-#define SPFILELOG_SYSTEMLOG	0x00000001
-#define SPFILELOG_OEMFILE	0x00000001
-#define SPFILELOG_FORCENEW	0x00000002
-#define SPFILELOG_QUERYONLY	0x00000004
-#define SPFILEQ_FILE_IN_USE	0x00000001
-#define SPFILEQ_REBOOT_RECOMMENDED	0x00000002
-#define SPFILEQ_REBOOT_IN_PROGRESS	0x00000004
-#define SPINT_ACTIVE	0x00000001
-#define SPINT_DEFAULT	0x00000002
-#define SPINT_REMOVED	0x00000004
-#define SPID_ACTIVE	0x00000001
-#define SPID_DEFAULT	0x00000002
-#define SPID_REMOVED	0x00000004
-#define SPINST_LOGCONFIG	0x00000001
-#define SPINST_INIFILES	0x00000002
-#define SPINST_REGISTRY	0x00000004
-#define SPINST_INI2REG	0x00000008
-#define SPINST_FILES	0x00000010
-#define SPINST_BITREG	0x00000020
-#define SPINST_REGSVR	0x00000040
-#define SPINST_UNREGSVR	0x00000080
-#define SPINST_PROFILEITEMS	0x00000100
-#if (_SETUPAPI_VER >= 0x0501)
-#define SPINST_COPYINF	0x00000200
-#define SPINST_ALL	0x000003ff
-#else
-#define SPINST_ALL	0x000001ff
-#endif
-#define SPINST_SINGLESECTION	0x00010000
-#define SPINST_LOGCONFIG_IS_FORCED	0x00020000
-#define SPINST_LOGCONFIGS_ARE_OVERRIDES	0x00040000
-#define SPOST_NONE	0
-#define SPOST_PATH	1
-#define SPOST_URL	2
-#define SPOST_MAX	3
-#define SPPSR_SELECT_DEVICE_RESOURCES	1
-#define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES	2
-#define SPPSR_ENUM_ADV_DEVICE_PROPERTIES	3
-#define SPQ_SCAN_FILE_PRESENCE	0x00000001
-#define SPQ_DELAYED_COPY	0x00000001
-#define SPQ_SCAN_FILE_VALIDITY	0x00000002
-#define SPQ_SCAN_USE_CALLBACK	0x00000004
-#define SPQ_SCAN_USE_CALLBACKEX	0x00000008
-#define SPQ_SCAN_INFORM_USER	0x00000010
-#define SPQ_SCAN_PRUNE_COPY_QUEUE	0x00000020
-#define SPRDI_FIND_DUPS	0x00000001
-#define SPSVCINST_TAGTOFRONT	0x00000001
-#define SPSVCINST_ASSOCSERVICE	0x00000002
-#define SPSVCINST_DELETEEVENTLOGENTRY	0x00000004
-#define SPSVCINST_NOCLOBBER_DISPLAYNAME	0x00000008
-#define SPSVCINST_NOCLOBBER_STARTTYPE	0x00000010
-#define SPSVCINST_NOCLOBBER_ERRORCONTROL	0x00000020
-#define SPSVCINST_NOCLOBBER_LOADORDERGROUP	0x00000040
-#define SPSVCINST_NOCLOBBER_DEPENDENCIES	0x00000080
-#define SPSVCINST_NOCLOBBER_DESCRIPTION	0x00000100
-#define SPSVCINST_STOPSERVICE	0x00000200
-#define SPWPT_SELECTDEVICE	0x00000001
-#define SPWP_USE_DEVINFO_DATA	0x00000001
-#define SRCINFO_PATH	1
-#define SRCINFO_TAGFILE	2
-#define SRCINFO_DESCRIPTION	3
-#define SRCINFO_FLAGS	4
-#define SRCLIST_TEMPORARY	0x00000001
-#define SRCLIST_NOBROWSE	0x00000002
-#define SRCLIST_SYSTEM	0x00000010
-#define SRCLIST_USER	0x00000020
-#define SRCLIST_SYSIFADMIN	0x00000040
-#define SRCLIST_SUBDIRS	0x00000100
-#define SRCLIST_APPEND	0x00000200
-#define SRCLIST_NOSTRIPPLATFORM	0x00000400
-
-#ifndef RC_INVOKED
-typedef PVOID HINF;
-typedef PVOID HDSKSPC;
-typedef PVOID HDEVINFO;
-typedef PVOID HSPFILEQ;
-typedef PVOID HSPFILELOG;
-typedef UINT DI_FUNCTION;
-
-typedef enum {
-    SetupFileLogSourceFilename,
-    SetupFileLogChecksum,
-    SetupFileLogDiskTagfile,
-    SetupFileLogDiskDescription,
-    SetupFileLogOtherInfo,
-    SetupFileLogMax
-} SetupFileLogInfo;
-typedef struct _INFCONTEXT {
-    PVOID Inf;
-    PVOID CurrentInf;
-    UINT Section;
-    UINT Line;
-} INFCONTEXT, *PINFCONTEXT;
-typedef struct _SP_INF_INFORMATION {
-    DWORD InfStyle;
-    DWORD InfCount;
-    BYTE VersionData[ANYSIZE_ARRAY];
-} SP_INF_INFORMATION, *PSP_INF_INFORMATION;
-typedef struct _SP_ALTPLATFORM_INFO {
-    DWORD cbSize;
-    DWORD Platform;
-    DWORD MajorVersion;
-    DWORD MinorVersion;
-    WORD  ProcessorArchitecture;
-    WORD  Reserved;
-} SP_ALTPLATFORM_INFO, *PSP_ALTPLATFORM_INFO;
-typedef struct _SP_ORIGINAL_FILE_INFO_A {
-    DWORD  cbSize;
-    CHAR   OriginalInfName[MAX_PATH];
-    CHAR   OriginalCatalogName[MAX_PATH];
-} SP_ORIGINAL_FILE_INFO_A, *PSP_ORIGINAL_FILE_INFO_A;
-typedef struct _SP_ORIGINAL_FILE_INFO_W {
-    DWORD  cbSize;
-    WCHAR  OriginalInfName[MAX_PATH];
-    WCHAR  OriginalCatalogName[MAX_PATH];
-} SP_ORIGINAL_FILE_INFO_W, *PSP_ORIGINAL_FILE_INFO_W;
-typedef struct _FILEPATHS_A {
-    PCSTR  Target;
-    PCSTR  Source;
-    UINT   Win32Error;
-    DWORD  Flags;
-} FILEPATHS_A, *PFILEPATHS_A;
-typedef struct _FILEPATHS_W {
-    PCWSTR Target;
-    PCWSTR Source;
-    UINT   Win32Error;
-    DWORD  Flags;
-} FILEPATHS_W, *PFILEPATHS_W;
-typedef struct _SOURCE_MEDIA_A {
-    PCSTR Reserved;
-    PCSTR Tagfile;
-    PCSTR Description;
-    PCSTR SourcePath;
-    PCSTR SourceFile;
-    DWORD Flags;
-} SOURCE_MEDIA_A, *PSOURCE_MEDIA_A;
-typedef struct _SOURCE_MEDIA_W {
-    PCWSTR Reserved;
-    PCWSTR Tagfile;
-    PCWSTR Description;
-    PCWSTR SourcePath;
-    PCWSTR SourceFile;
-    DWORD  Flags;
-} SOURCE_MEDIA_W, *PSOURCE_MEDIA_W;
-typedef struct _CABINET_INFO_A {
-    PCSTR CabinetPath;
-    PCSTR CabinetFile;
-    PCSTR DiskName;
-    USHORT SetId;
-    USHORT CabinetNumber;
-} CABINET_INFO_A, *PCABINET_INFO_A;
-typedef struct _CABINET_INFO_W {
-    PCWSTR CabinetPath;
-    PCWSTR CabinetFile;
-    PCWSTR DiskName;
-    USHORT SetId;
-    USHORT CabinetNumber;
-} CABINET_INFO_W, *PCABINET_INFO_W;
-typedef struct _FILE_IN_CABINET_INFO_A {
-    PCSTR NameInCabinet;
-    DWORD FileSize;
-    DWORD Win32Error;
-    WORD  DosDate;
-    WORD  DosTime;
-    WORD  DosAttribs;
-    CHAR  FullTargetName[MAX_PATH];
-} FILE_IN_CABINET_INFO_A, *PFILE_IN_CABINET_INFO_A;
-typedef struct _FILE_IN_CABINET_INFO_W {
-    PCWSTR NameInCabinet;
-    DWORD  FileSize;
-    DWORD  Win32Error;
-    WORD   DosDate;
-    WORD   DosTime;
-    WORD   DosAttribs;
-    WCHAR  FullTargetName[MAX_PATH];
-} FILE_IN_CABINET_INFO_W, *PFILE_IN_CABINET_INFO_W;
-typedef struct _SP_FILE_COPY_PARAMS_A {
-    DWORD    cbSize;
-    HSPFILEQ QueueHandle;
-    PCSTR    SourceRootPath;
-    PCSTR    SourcePath;
-    PCSTR    SourceFilename;
-    PCSTR    SourceDescription;
-    PCSTR    SourceTagfile;
-    PCSTR    TargetDirectory;
-    PCSTR    TargetFilename;
-    DWORD    CopyStyle;
-    HINF     LayoutInf;
-    PCSTR    SecurityDescriptor;
-} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
-typedef struct _SP_FILE_COPY_PARAMS_W {
-    DWORD    cbSize;
-    HSPFILEQ QueueHandle;
-    PCWSTR   SourceRootPath;
-    PCWSTR   SourcePath;
-    PCWSTR   SourceFilename;
-    PCWSTR   SourceDescription;
-    PCWSTR   SourceTagfile;
-    PCWSTR   TargetDirectory;
-    PCWSTR   TargetFilename;
-    DWORD    CopyStyle;
-    HINF     LayoutInf;
-    PCWSTR   SecurityDescriptor;
-} SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W;
-typedef struct _SP_DEVINFO_DATA {
-    DWORD cbSize;
-    GUID  ClassGuid;
-    DWORD DevInst;
-    ULONG_PTR Reserved;
-} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
-typedef struct _SP_DEVICE_INTERFACE_DATA {
-    DWORD cbSize;
-    GUID  InterfaceClassGuid;
-    DWORD Flags;
-    ULONG_PTR Reserved;
-} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA;
-/* For backward compatibility */
-typedef SP_DEVICE_INTERFACE_DATA  SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA;
-
-typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A {
-    DWORD  cbSize;
-    CHAR   DevicePath[ANYSIZE_ARRAY];
-} SP_DEVICE_INTERFACE_DETAIL_DATA_A, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
-typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W {
-    DWORD  cbSize;
-    WCHAR  DevicePath[ANYSIZE_ARRAY];
-} SP_DEVICE_INTERFACE_DETAIL_DATA_W, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
-/* For backward compatibility */
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A,
-    *PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W,
-    *PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
-
-typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A {
-    DWORD  cbSize;
-    GUID   ClassGuid;
-    HANDLE RemoteMachineHandle;
-    CHAR   RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
-} SP_DEVINFO_LIST_DETAIL_DATA_A, *PSP_DEVINFO_LIST_DETAIL_DATA_A;
-typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W {
-    DWORD  cbSize;
-    GUID   ClassGuid;
-    HANDLE RemoteMachineHandle;
-    WCHAR  RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
-} SP_DEVINFO_LIST_DETAIL_DATA_W, *PSP_DEVINFO_LIST_DETAIL_DATA_W;
-
-typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR);
-typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR);
-typedef struct _SP_DEVINSTALL_PARAMS_A {
-    DWORD             cbSize;
-    DWORD             Flags;
-    DWORD             FlagsEx;
-    HWND              hwndParent;
-    PSP_FILE_CALLBACK_A InstallMsgHandler;
-    PVOID             InstallMsgHandlerContext;
-    HSPFILEQ          FileQueue;
-    ULONG_PTR         ClassInstallReserved;
-    DWORD             Reserved;
-    CHAR              DriverPath[MAX_PATH];
-} SP_DEVINSTALL_PARAMS_A, *PSP_DEVINSTALL_PARAMS_A;
-typedef struct _SP_DEVINSTALL_PARAMS_W {
-    DWORD             cbSize;
-    DWORD             Flags;
-    DWORD             FlagsEx;
-    HWND              hwndParent;
-    PSP_FILE_CALLBACK_W InstallMsgHandler;
-    PVOID             InstallMsgHandlerContext;
-    HSPFILEQ          FileQueue;
-    ULONG_PTR         ClassInstallReserved;
-    DWORD             Reserved;
-    WCHAR             DriverPath[MAX_PATH];
-} SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W;
-typedef struct _SP_CLASSINSTALL_HEADER {
-    DWORD       cbSize;
-    DI_FUNCTION InstallFunction;
-} SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER;
-typedef struct _SP_ENABLECLASS_PARAMS {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    GUID                   ClassGuid;
-    DWORD                  EnableMessage;
-} SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS;
-typedef struct _SP_MOVEDEV_PARAMS {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    SP_DEVINFO_DATA        SourceDeviceInfoData;
-} SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS;
-typedef struct _SP_PROPCHANGE_PARAMS {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    DWORD                  StateChange;
-    DWORD                  Scope;
-    DWORD                  HwProfile;
-} SP_PROPCHANGE_PARAMS, *PSP_PROPCHANGE_PARAMS;
-typedef struct _SP_REMOVEDEVICE_PARAMS {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    DWORD Scope;
-    DWORD HwProfile;
-} SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS;
-typedef struct _SP_UNREMOVEDEVICE_PARAMS {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    DWORD Scope;
-    DWORD HwProfile;
-} SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS;
-typedef struct _SP_SELECTDEVICE_PARAMS_A {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    CHAR                   Title[MAX_TITLE_LEN];
-    CHAR                   Instructions[MAX_INSTRUCTION_LEN];
-    CHAR                   ListLabel[MAX_LABEL_LEN];
-    CHAR                   SubTitle[MAX_SUBTITLE_LEN];
-    BYTE                   Reserved[2];
-} SP_SELECTDEVICE_PARAMS_A, *PSP_SELECTDEVICE_PARAMS_A;
-typedef struct _SP_SELECTDEVICE_PARAMS_W {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    WCHAR                  Title[MAX_TITLE_LEN];
-    WCHAR                  Instructions[MAX_INSTRUCTION_LEN];
-    WCHAR                  ListLabel[MAX_LABEL_LEN];
-    WCHAR                  SubTitle[MAX_SUBTITLE_LEN];
-} SP_SELECTDEVICE_PARAMS_W, *PSP_SELECTDEVICE_PARAMS_W;
-
-typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD);
-typedef struct _SP_DETECTDEVICE_PARAMS {
-    SP_CLASSINSTALL_HEADER  ClassInstallHeader;
-    PDETECT_PROGRESS_NOTIFY DetectProgressNotify;
-    PVOID                   ProgressNotifyParam;
-} SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS;
-typedef struct _SP_INSTALLWIZARD_DATA {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    DWORD                  Flags;
-    HPROPSHEETPAGE         DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
-    DWORD                  NumDynamicPages;
-    DWORD                  DynamicPageFlags;
-    DWORD                  PrivateFlags;
-    LPARAM                 PrivateData;
-    HWND                   hwndWizardDlg;
-} SP_INSTALLWIZARD_DATA, *PSP_INSTALLWIZARD_DATA;
-typedef struct _SP_NEWDEVICEWIZARD_DATA {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    DWORD                  Flags;
-    HPROPSHEETPAGE         DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
-    DWORD                  NumDynamicPages;
-    HWND                   hwndWizardDlg;
-} SP_NEWDEVICEWIZARD_DATA, *PSP_NEWDEVICEWIZARD_DATA;
-typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA,
-    *PSP_ADDPROPERTYPAGE_DATA;
-typedef struct _SP_TROUBLESHOOTER_PARAMS_A {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    CHAR                   ChmFile[MAX_PATH];
-    CHAR                   HtmlTroubleShooter[MAX_PATH];
-} SP_TROUBLESHOOTER_PARAMS_A, *PSP_TROUBLESHOOTER_PARAMS_A;
-typedef struct _SP_TROUBLESHOOTER_PARAMS_W {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    WCHAR                  ChmFile[MAX_PATH];
-    WCHAR                  HtmlTroubleShooter[MAX_PATH];
-} SP_TROUBLESHOOTER_PARAMS_W, *PSP_TROUBLESHOOTER_PARAMS_W;
-typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    CHAR                   PowerMessageWake[LINE_LEN*2];
-} SP_POWERMESSAGEWAKE_PARAMS_A, *PSP_POWERMESSAGEWAKE_PARAMS_A;
-typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W {
-    SP_CLASSINSTALL_HEADER ClassInstallHeader;
-    WCHAR                  PowerMessageWake[LINE_LEN*2];
-} SP_POWERMESSAGEWAKE_PARAMS_W, *PSP_POWERMESSAGEWAKE_PARAMS_W;
-typedef struct _SP_DRVINFO_DATA_V2_A {
-    DWORD     cbSize;
-    DWORD     DriverType;
-    ULONG_PTR Reserved;
-    CHAR      Description[LINE_LEN];
-    CHAR      MfgName[LINE_LEN];
-    CHAR      ProviderName[LINE_LEN];
-    FILETIME  DriverDate;
-    DWORDLONG DriverVersion;
-} SP_DRVINFO_DATA_V2_A, *PSP_DRVINFO_DATA_V2_A;
-typedef struct _SP_DRVINFO_DATA_V2_W {
-    DWORD     cbSize;
-    DWORD     DriverType;
-    ULONG_PTR Reserved;
-    WCHAR     Description[LINE_LEN];
-    WCHAR     MfgName[LINE_LEN];
-    WCHAR     ProviderName[LINE_LEN];
-    FILETIME  DriverDate;
-    DWORDLONG DriverVersion;
-} SP_DRVINFO_DATA_V2_W, *PSP_DRVINFO_DATA_V2_W;
-typedef struct _SP_DRVINFO_DATA_V1_A {
-    DWORD     cbSize;
-    DWORD     DriverType;
-    ULONG_PTR Reserved;
-    CHAR      Description[LINE_LEN];
-    CHAR      MfgName[LINE_LEN];
-    CHAR      ProviderName[LINE_LEN];
-} SP_DRVINFO_DATA_V1_A, *PSP_DRVINFO_DATA_V1_A;
-typedef struct _SP_DRVINFO_DATA_V1_W {
-    DWORD     cbSize;
-    DWORD     DriverType;
-    ULONG_PTR Reserved;
-    WCHAR     Description[LINE_LEN];
-    WCHAR     MfgName[LINE_LEN];
-    WCHAR     ProviderName[LINE_LEN];
-} SP_DRVINFO_DATA_V1_W, *PSP_DRVINFO_DATA_V1_W;
-
-#ifdef UNICODE
-typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
-typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
-#else
-typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
-typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
-#endif
-
-#if USE_SP_DRVINFO_DATA_V1
-typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
-typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
-typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
-#else
-typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
-typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
-typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
-#endif
-
-typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID);
-
-typedef struct _SP_DRVINFO_DETAIL_DATA_A {
-    DWORD    cbSize;
-    FILETIME InfDate;
-    DWORD    CompatIDsOffset;
-    DWORD    CompatIDsLength;
-    ULONG_PTR Reserved;
-    CHAR     SectionName[LINE_LEN];
-    CHAR     InfFileName[MAX_PATH];
-    CHAR     DrvDescription[LINE_LEN];
-    CHAR     HardwareID[ANYSIZE_ARRAY];
-} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
-typedef struct _SP_DRVINFO_DETAIL_DATA_W {
-    DWORD    cbSize;
-    FILETIME InfDate;
-    DWORD    CompatIDsOffset;
-    DWORD    CompatIDsLength;
-    ULONG_PTR Reserved;
-    WCHAR    SectionName[LINE_LEN];
-    WCHAR    InfFileName[MAX_PATH];
-    WCHAR    DrvDescription[LINE_LEN];
-    WCHAR    HardwareID[ANYSIZE_ARRAY];
-} SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W;
-typedef struct _SP_DRVINSTALL_PARAMS {
-    DWORD cbSize;
-    DWORD Rank;
-    DWORD Flags;
-    DWORD_PTR PrivateData;
-    DWORD Reserved;
-} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;
-
-
-typedef struct _COINSTALLER_CONTEXT_DATA {
-    BOOL  PostProcessing;
-    DWORD InstallResult;
-    PVOID PrivateData;
-} COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA;
-typedef struct _SP_CLASSIMAGELIST_DATA {
-    DWORD      cbSize;
-    HIMAGELIST ImageList;
-    ULONG_PTR  Reserved;
-} SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA;
-typedef struct _SP_PROPSHEETPAGE_REQUEST {
-    DWORD            cbSize;
-    DWORD            PageRequested;
-    HDEVINFO         DeviceInfoSet;
-    PSP_DEVINFO_DATA DeviceInfoData;
-} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
-typedef struct _SP_BACKUP_QUEUE_PARAMS_A {
-    DWORD    cbSize;
-    CHAR     FullInfPath[MAX_PATH];
-    INT      FilenameOffset;
-} SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A;
-typedef struct _SP_BACKUP_QUEUE_PARAMS_W {
-    DWORD    cbSize;
-    WCHAR    FullInfPath[MAX_PATH];
-    INT      FilenameOffset;
-} SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W;
-
-
-#ifdef UNICODE
-typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
-typedef FILEPATHS_W FILEPATHS, *PFILEPATHS;
-typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA;
-typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO;
-typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
-typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA,
-    *PSP_DEVICE_INTERFACE_DETAIL_DATA;
-typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA,
-    *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
-typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA,
-    *PSP_DEVINFO_LIST_DETAIL_DATA;
-typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS;
-typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS;
-typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS,
-    *PSP_TROUBLESHOOTER_PARAMS;
-typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS,
-    *PSP_POWERMESSAGEWAKE_PARAMS;
-typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA,
-     *PSP_DRVINFO_DETAIL_DATA;
-typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS,
-    *PSP_BACKUP_QUEUE_PARAMS;
-#else
-typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
-typedef FILEPATHS_A FILEPATHS, *PFILEPATHS;
-typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA;
-typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO;
-typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
-typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA,
-    *PSP_DEVICE_INTERFACE_DETAIL_DATA;
-typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA,
-    *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
-typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA,
-    *PSP_DEVINFO_LIST_DETAIL_DATA;
-typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS;
-typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS,
-    *PSP_SELECTDEVICE_PARAMS;
-typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS,
-    *PSP_TROUBLESHOOTER_PARAMS;
-typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS,
-    *PSP_POWERMESSAGEWAKE_PARAMS;
-typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA,
-    *PSP_DRVINFO_DETAIL_DATA;
-typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS,
-    *PSP_BACKUP_QUEUE_PARAMS;
-#endif /* UNICODE */
-
-WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT);
-WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupCancelTemporarySourceList(VOID);
-WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(HSPFILEQ);
-WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF);
-WINSETUPAPI VOID WINAPI SetupCloseLog(VOID);
-WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID);
-#if (_SETUPAPI_VER >= 0x502)
-WINSETUPAPI BOOL WINAPI SetupConfigureWmiFromInfSectionA(HINF,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupConfigureWmiFromInfSectionW(HINF,PCWSTR,DWORD);
-#endif
-WINSETUPAPI UINT WINAPI SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI UINT WINAPI SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*);
-WINSETUPAPI BOOL WINAPI SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR*);
-WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID,DWORD,UINT);
-WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(PVOID,DWORD,UINT);
-WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT);
-WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT);
-WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR);
-WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR);
-WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(HDSKSPC);
-WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(HDEVINFO);
-WINSETUPAPI BOOL WINAPI SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidA(CONST GUID*,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidW(CONST GUID*,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CONST GUID*,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CONST GUID*,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(CONST GUID*,HWND);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(CONST GUID*,HWND,PCSTR,PVOID);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(CONST GUID*,HWND,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCWSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
-WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR*);
-WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PWSTR*);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(CONST GUID*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionA(CONST GUID*,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionW(CONST GUID*,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD,PDWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERW,DWORD,PDWORD,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID*,PCSTR,HWND,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID*,PCWSTR,HWND,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(CONST GUID*,PCSTR,HWND,DWORD,HDEVINFO,PCSTR,PVOID);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID*,PCWSTR,HWND,DWORD,HDEVINFO,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CONST GUID*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,CONST GUID*,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD,PDWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_W,DWORD,PDWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINFO_DETAIL_DATA_W,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
-WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardPage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(CONST GUID*,HICON*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey(CONST GUID*,REGSAM);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA(CONST GUID*,REGSAM,DWORD,PCSTR,PVOID);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW(CONST GUID*,REGSAM,DWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM);
-WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,REGSAM);
-WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CONST BYTE*,DWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CONST BYTE*,DWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT);
-WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextLine(PINFCONTEXT,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFreeSourceListA(PCSTR**,UINT);
-WINSETUPAPI BOOL WINAPI SetupFreeSourceListW(PCWSTR**,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD);
-WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT);
-WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT);
-WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT);
-WINSETUPAPI BOOL WINAPI SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetIntField(PINFCONTEXT,DWORD,PINT);
-WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT);
-WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF,PCSTR);
-WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(HWND);
-WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID);
-WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(PCSTR,DWORD);
-WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID,PBOOL);
-WINSETUPAPI BOOL WINAPI SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID,PBOOL);
-WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UINT);
-WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,UINT);
-WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
-WINSETUPAPI BOOL WINAPI SetupLogErrorA(LPCSTR,LogSeverity);
-WINSETUPAPI BOOL WINAPI SetupLogErrorW(LPCWSTR,LogSeverity);
-WINSETUPAPI BOOL WINAPI SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileA(PCSTR,HINF,PUINT);
-WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT);
-WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID);
-WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT);
-WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT);
-WINSETUPAPI BOOL WINAPI SetupOpenLog(BOOL);
-WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID);
-WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ,HWND,BOOL);
-WINSETUPAPI BOOL WINAPI SetupQuerySourceListA(DWORD,PCSTR**,PUINT);
-WINSETUPAPI BOOL WINAPI SetupQuerySourceListW(DWORD,PCWSTR**,PUINT);
-WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A);
-WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_W);
-WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(HINF,DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(HINF,DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID);
-WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetSourceListA(DWORD,PCSTR*,UINT);
-WINSETUPAPI BOOL WINAPI SetupSetSourceListW(DWORD,PCWSTR*,UINT);
-WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(PVOID);
-WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(HSPFILELOG);
-
-/* for backward compatibility */
-#define SetupDiCreateInterfaceDeviceW	SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateInterfaceDeviceRegKeyW	SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiOpenInterfaceDeviceW	SetupDiOpenDeviceInterfaceW
-#define SetupDiGetInterfaceDeviceDetailW	SetupDiGetDeviceInterfaceDetailW
-#define SetupDiCreateInterfaceDeviceA	SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateInterfaceDeviceRegKeyA	SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiOpenInterfaceDeviceA	SetupDiOpenDeviceInterfaceA
-#define SetupDiGetInterfaceDeviceDetailA	SetupDiGetDeviceInterfaceDetailA
-
-#ifdef UNICODE
-#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
-#define SetupAddInstallSectionToDiskSpaceList	SetupAddInstallSectionToDiskSpaceListW
-#define SetupAddSectionToDiskSpaceList	SetupAddSectionToDiskSpaceListW
-#define SetupAddToDiskSpaceList	SetupAddToDiskSpaceListW
-#define SetupAddToSourceList	SetupAddToSourceListW
-#define SetupAdjustDiskSpaceList	SetupAdjustDiskSpaceListW
-#define SetupBackupError	SetupBackupErrorW
-#define SetupCommitFileQueue	SetupCommitFileQueueW
-#if (_SETUPAPI_VER >= 0x0502)
-#define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionW
-#endif
-#define SetupCopyError	SetupCopyErrorW
-#define SetupCopyOEMInf	SetupCopyOEMInfW
-#define SetupCreateDiskSpaceList	SetupCreateDiskSpaceListW
-#define SetupDecompressOrCopyFile	SetupDecompressOrCopyFileW
-#define SetupDefaultQueueCallback	SetupDefaultQueueCallbackW
-#define SetupDeleteError	SetupDeleteErrorW
-#define SetupDiBuildClassInfoListEx	SetupDiBuildClassInfoListExW
-#define SetupDiClassGuidsFromNameEx	SetupDiClassGuidsFromNameExW
-#define SetupDiClassGuidsFromName	SetupDiClassGuidsFromNameW
-#define SetupDiClassNameFromGuidEx	SetupDiClassNameFromGuidExW
-#define SetupDiClassNameFromGuid	SetupDiClassNameFromGuidW
-#define SetupDiCreateDeviceInfoListEx	SetupDiCreateDeviceInfoListExW
-#define SetupDiCreateDeviceInfo	SetupDiCreateDeviceInfoW
-#define SetupDiCreateDeviceInterfaceRegKey	SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiCreateInterfaceDeviceRegKey	SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiCreateDeviceInterface	SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateInterfaceDevice	SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateDevRegKey	SetupDiCreateDevRegKeyW
-#define SetupDiEnumDriverInfo	SetupDiEnumDriverInfoW
-#define SetupDiGetActualSectionToInstall	SetupDiGetActualSectionToInstallW
-#define SetupDiGetClassDescriptionEx	SetupDiGetClassDescriptionExW
-#define SetupDiGetClassDescription	SetupDiGetClassDescriptionW
-#define SetupDiGetClassDevPropertySheets	SetupDiGetClassDevPropertySheetsW
-#define SetupDiGetClassDevsEx	SetupDiGetClassDevsExW
-#define SetupDiGetClassDevs	SetupDiGetClassDevsW
-#define SetupDiGetClassImageListEx	SetupDiGetClassImageListExW
-#define SetupDiGetClassInstallParams	SetupDiGetClassInstallParamsW
-#define SetupDiGetClassRegistryProperty	SetupDiGetClassRegistryPropertyW
-#define SetupDiGetDeviceInfoListDetail	SetupDiGetDeviceInfoListDetailW
-#define SetupDiGetDeviceInstallParams	SetupDiGetDeviceInstallParamsW
-#define SetupDiGetDeviceInstanceId	SetupDiGetDeviceInstanceIdW
-#define SetupDiGetDeviceInterfaceDetail	SetupDiGetDeviceInterfaceDetailW
-#define SetupDiGetInterfaceDeviceDetail	SetupDiGetDeviceInterfaceDetailW
-#define SetupDiGetDeviceRegistryProperty	SetupDiGetDeviceRegistryPropertyW
-#define SetupDiGetDriverInfoDetail	SetupDiGetDriverInfoDetailW
-#define SetupDiGetDriverInstallParams	SetupDiGetDriverInstallParamsW
-#define SetupDiGetHwProfileFriendlyNameEx	SetupDiGetHwProfileFriendlyNameExW
-#define SetupDiGetHwProfileFriendlyName	SetupDiGetHwProfileFriendlyNameW
-#define SetupDiGetHwProfileListEx	SetupDiGetHwProfileListExW
-#define SetupDiGetINFClass	SetupDiGetINFClassW
-#define SetupDiGetSelectedDriver	SetupDiGetSelectedDriverW
-#define SetupDiInstallClassEx	SetupDiInstallClassExW
-#define SetupDiInstallClass	SetupDiInstallClassW
-#define SetupDiOpenClassRegKeyEx	SetupDiOpenClassRegKeyExW
-#define SetupDiOpenDeviceInfo	SetupDiOpenDeviceInfoW
-#define SetupDiOpenDeviceInterface	SetupDiOpenDeviceInterfaceW
-#define SetupDiOpenInterfaceDevice	SetupDiOpenDeviceInterfaceW
-#define SetupDiSetClassInstallParams	SetupDiSetClassInstallParamsW
-#define SetupDiSetClassRegistryProperty	SetupDiSetClassRegistryPropertyW
-#define SetupDiSetDeviceInstallParams	SetupDiSetDeviceInstallParamsW
-#define SetupDiSetDeviceRegistryProperty	SetupDiSetDeviceRegistryPropertyW
-#define SetupDiSetDriverInstallParams	SetupDiSetDriverInstallParamsW
-#define SetupDiSetSelectedDriver	SetupDiSetSelectedDriverW
-#define SetupDuplicateDiskSpaceList	SetupDuplicateDiskSpaceListW
-#define SetupFindFirstLine	SetupFindFirstLineW
-#define SetupFindNextMatchLine	SetupFindNextMatchLineW
-#define SetupFreeSourceList	SetupFreeSourceListW
-#define SetupGetBackupInformation	SetupGetBackupInformationW
-#define SetupGetFileCompressionInfo	SetupGetFileCompressionInfoW
-#define SetupGetInfFileList	SetupGetInfFileListW
-#define SetupGetInfInformation	SetupGetInfInformationW
-#define SetupGetLineByIndex	SetupGetLineByIndexW
-#define SetupGetLineCount	SetupGetLineCountW
-#define SetupGetLineText	SetupGetLineTextW
-#define SetupGetMultiSzField	SetupGetMultiSzFieldW
-#define SetupGetSourceFileLocation	SetupGetSourceFileLocationW
-#define SetupGetSourceFileSize	SetupGetSourceFileSizeW
-#define SetupGetSourceInfo	SetupGetSourceInfoW
-#define SetupGetStringField	SetupGetStringFieldW
-#define SetupGetTargetPath	SetupGetTargetPathW
-#define SetupInitializeFileLog	SetupInitializeFileLogW
-#define SetupInstallFileEx	SetupInstallFileExW
-#define SetupInstallFilesFromInfSection	SetupInstallFilesFromInfSectionW
-#define SetupInstallFile	SetupInstallFileW
-#define SetupInstallFromInfSection	SetupInstallFromInfSectionW
-#define SetupInstallServicesFromInfSectionEx	SetupInstallServicesFromInfSectionExW
-#define SetupInstallServicesFromInfSection	SetupInstallServicesFromInfSectionW
-#define SetupIterateCabinet	SetupIterateCabinetW
-#define SetupLogError	SetupLogErrorW
-#define SetupLogFile	SetupLogFileW
-#define SetupOpenAppendInfFile	SetupOpenAppendInfFileW
-#define SetupOpenInfFile	SetupOpenInfFileW
-#define SetupPromptForDisk	SetupPromptForDiskW
-#define SetupQueryDrivesInDiskSpaceList	SetupQueryDrivesInDiskSpaceListW
-#define SetupQueryFileLog	SetupQueryFileLogW
-#define SetupQueryInfFileInformation	SetupQueryInfFileInformationW
-#define SetupQueryInfOriginalFileInformation	SetupQueryInfOriginalFileInformationW
-#define SetupQueryInfVersionInformation	SetupQueryInfVersionInformationW
-#define SetupQuerySourceList	SetupQuerySourceListW
-#define SetupQuerySpaceRequiredOnDrive	SetupQuerySpaceRequiredOnDriveW
-#define SetupQueueCopyIndirect	SetupQueueCopyIndirectW
-#define SetupQueueCopySection	SetupQueueCopySectionW
-#define SetupQueueCopy	SetupQueueCopyW
-#define SetupQueueDefaultCopy	SetupQueueDefaultCopyW
-#define SetupQueueDeleteSection	SetupQueueDeleteSectionW
-#define SetupQueueDelete	SetupQueueDeleteW
-#define SetupQueueRenameSection	SetupQueueRenameSectionW
-#define SetupQueueRename	SetupQueueRenameW
-#define SetupRemoveFileLogEntry	SetupRemoveFileLogEntryW
-#define SetupRemoveFromDiskSpaceList	SetupRemoveFromDiskSpaceListW
-#define SetupRemoveFromSourceList	SetupRemoveFromSourceListW
-#define SetupRemoveInstallSectionFromDiskSpaceList	SetupRemoveInstallSectionFromDiskSpaceListW
-#define SetupRemoveSectionFromDiskSpaceList	SetupRemoveSectionFromDiskSpaceListW
-#define SetupRenameError	SetupRenameErrorW
-#define SetupScanFileQueue	SetupScanFileQueueW
-#define SetupSetDirectoryIdEx	SetupSetDirectoryIdExW
-#define SetupSetDirectoryId	SetupSetDirectoryIdW
-#define SetupSetFileQueueAlternatePlatform	SetupSetFileQueueAlternatePlatformW
-#define SetupSetPlatformPathOverride	SetupSetPlatformPathOverrideW
-#define SetupSetSourceList	SetupSetSourceListW
-#else
-#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
-#define SetupAddInstallSectionToDiskSpaceList	SetupAddInstallSectionToDiskSpaceListA
-#define SetupAddSectionToDiskSpaceList	SetupAddSectionToDiskSpaceListA
-#define SetupAddToDiskSpaceList	SetupAddToDiskSpaceListA
-#define SetupAddToSourceList	SetupAddToSourceListA
-#define SetupAdjustDiskSpaceList	SetupAdjustDiskSpaceListA
-#define SetupBackupError	SetupBackupErrorA
-#define SetupCommitFileQueue	SetupCommitFileQueueA
-#if (_SETUPAPI_VER >= 0x0502)
-#define SetupConfigureWmiFromInfSection SetupConfigureWmiFromInfSectionW
-#endif
-#define SetupCopyError	SetupCopyErrorA
-#define SetupCopyOEMInf	SetupCopyOEMInfA
-#define SetupCreateDiskSpaceList	SetupCreateDiskSpaceListA
-#define SetupDecompressOrCopyFile	SetupDecompressOrCopyFileA
-#define SetupDefaultQueueCallback	SetupDefaultQueueCallbackA
-#define SetupDeleteError	SetupDeleteErrorA
-#define SetupDiBuildClassInfoListEx	SetupDiBuildClassInfoListExA
-#define SetupDiClassGuidsFromName	SetupDiClassGuidsFromNameA
-#define SetupDiClassGuidsFromNameEx	SetupDiClassGuidsFromNameExA
-#define SetupDiClassNameFromGuid	SetupDiClassNameFromGuidA
-#define SetupDiClassNameFromGuidEx	SetupDiClassNameFromGuidExA
-#define SetupDiCreateDeviceInfo	SetupDiCreateDeviceInfoA
-#define SetupDiCreateDeviceInfoListEx	SetupDiCreateDeviceInfoListExA
-#define SetupDiCreateDeviceInterface	SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateInterfaceDevice	SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateDeviceInterfaceRegKey	SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiCreateInterfaceDeviceRegKey	SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiCreateDevRegKey	SetupDiCreateDevRegKeyA
-#define SetupDiDeleteInterfaceDeviceData	SetupDiDeleteDeviceInterfaceData
-#define SetupDiEnumDriverInfo	SetupDiEnumDriverInfoA
-#define SetupDiGetActualSectionToInstall	SetupDiGetActualSectionToInstallA
-#define SetupDiGetClassDescription	SetupDiGetClassDescriptionA
-#define SetupDiGetClassDescriptionEx	SetupDiGetClassDescriptionExA
-#define SetupDiGetClassDevPropertySheets	SetupDiGetClassDevPropertySheetsA
-#define SetupDiGetClassDevs	SetupDiGetClassDevsA
-#define SetupDiGetClassDevsEx	SetupDiGetClassDevsExA
-#define SetupDiGetClassImageListEx	SetupDiGetClassImageListExA
-#define SetupDiGetClassInstallParams	SetupDiGetClassInstallParamsA
-#define SetupDiGetClassRegistryProperty	SetupDiGetClassRegistryPropertyA
-#define SetupDiGetDeviceInfoListDetail	SetupDiGetDeviceInfoListDetailA
-#define SetupDiGetDeviceInstallParams	SetupDiGetDeviceInstallParamsA
-#define SetupDiGetDeviceInstanceId	SetupDiGetDeviceInstanceIdA
-#define SetupDiGetDeviceInterfaceDetail	SetupDiGetDeviceInterfaceDetailA
-#define SetupDiGetInterfaceDeviceDetail	SetupDiGetDeviceInterfaceDetailA
-#define SetupDiGetDeviceRegistryProperty	SetupDiGetDeviceRegistryPropertyA
-#define SetupDiGetDriverInfoDetail	SetupDiGetDriverInfoDetailA
-#define SetupDiGetDriverInstallParams	SetupDiGetDriverInstallParamsA
-#define SetupDiGetHwProfileFriendlyName	SetupDiGetHwProfileFriendlyNameA
-#define SetupDiGetHwProfileFriendlyNameEx	SetupDiGetHwProfileFriendlyNameExA
-#define SetupDiGetHwProfileListEx	SetupDiGetHwProfileListExA
-#define SetupDiGetINFClass	SetupDiGetINFClassA
-#define SetupDiGetSelectedDriver	SetupDiGetSelectedDriverA
-#define SetupDiInstallClass	SetupDiInstallClassA
-#define SetupDiInstallClassEx	SetupDiInstallClassExA
-#define SetupDiOpenClassRegKeyEx	SetupDiOpenClassRegKeyExA
-#define SetupDiOpenDeviceInfo	SetupDiOpenDeviceInfoA
-#define SetupDiOpenDeviceInterface	SetupDiOpenDeviceInterfaceA
-#define SetupDiOpenInterfaceDevice	SetupDiOpenDeviceInterfaceA
-#define SetupDiSetClassInstallParams	SetupDiSetClassInstallParamsA
-#define SetupDiSetClassRegistryProperty	SetupDiSetClassRegistryPropertyA
-#define SetupDiSetDeviceInstallParams	SetupDiSetDeviceInstallParamsA
-#define SetupDiSetDeviceRegistryProperty	SetupDiSetDeviceRegistryPropertyA
-#define SetupDiSetDriverInstallParams	SetupDiSetDriverInstallParamsA
-#define SetupDiSetSelectedDriver	SetupDiSetSelectedDriverA
-#define SetupDuplicateDiskSpaceList	SetupDuplicateDiskSpaceListA
-#define SetupFindFirstLine	SetupFindFirstLineA
-#define SetupFindNextMatchLine	SetupFindNextMatchLineA
-#define SetupFreeSourceList	SetupFreeSourceListA
-#define SetupGetBackupInformation	SetupGetBackupInformationA
-#define SetupGetFileCompressionInfo	SetupGetFileCompressionInfoA
-#define SetupGetInfFileList	SetupGetInfFileListA
-#define SetupGetInfInformation	SetupGetInfInformationA
-#define SetupGetLineByIndex	SetupGetLineByIndexA
-#define SetupGetLineCount	SetupGetLineCountA
-#define SetupGetLineText	SetupGetLineTextA
-#define SetupGetMultiSzField	SetupGetMultiSzFieldA
-#define SetupGetSourceFileLocation	SetupGetSourceFileLocationA
-#define SetupGetSourceFileSize	SetupGetSourceFileSizeA
-#define SetupGetSourceInfo	SetupGetSourceInfoA
-#define SetupGetStringField	SetupGetStringFieldA
-#define SetupGetTargetPath	SetupGetTargetPathA
-#define SetupInitializeFileLog	SetupInitializeFileLogA
-#define SetupInstallFile	SetupInstallFileA
-#define SetupInstallFileEx	SetupInstallFileExA
-#define SetupInstallFilesFromInfSection	SetupInstallFilesFromInfSectionA
-#define SetupInstallFromInfSection	SetupInstallFromInfSectionA
-#define SetupInstallServicesFromInfSection	SetupInstallServicesFromInfSectionA
-#define SetupInstallServicesFromInfSectionEx	SetupInstallServicesFromInfSectionExA
-#define SetupIterateCabinet	SetupIterateCabinetA
-#define SetupLogError	SetupLogErrorA
-#define SetupLogFile	SetupLogFileA
-#define SetupOpenAppendInfFile	SetupOpenAppendInfFileA
-#define SetupOpenInfFile	SetupOpenInfFileA
-#define SetupPromptForDisk	SetupPromptForDiskA
-#define SetupQueryDrivesInDiskSpaceList	SetupQueryDrivesInDiskSpaceListA
-#define SetupQueryFileLog	SetupQueryFileLogA
-#define SetupQueryInfFileInformation	SetupQueryInfFileInformationA
-#define SetupQueryInfOriginalFileInformation	SetupQueryInfOriginalFileInformationA
-#define SetupQueryInfVersionInformation	SetupQueryInfVersionInformationA
-#define SetupQuerySourceList	SetupQuerySourceListA
-#define SetupQuerySpaceRequiredOnDrive	SetupQuerySpaceRequiredOnDriveA
-#define SetupQueueCopy	SetupQueueCopyA
-#define SetupQueueCopyIndirect	SetupQueueCopyIndirectA
-#define SetupQueueCopySection	SetupQueueCopySectionA
-#define SetupQueueDefaultCopy	SetupQueueDefaultCopyA
-#define SetupQueueDelete	SetupQueueDeleteA
-#define SetupQueueDeleteSection	SetupQueueDeleteSectionA
-#define SetupQueueRename	SetupQueueRenameA
-#define SetupQueueRenameSection	SetupQueueRenameSectionA
-#define SetupRemoveFileLogEntry	SetupRemoveFileLogEntryA
-#define SetupRemoveFromDiskSpaceList	SetupRemoveFromDiskSpaceListA
-#define SetupRemoveFromSourceList	SetupRemoveFromSourceListA
-#define SetupRemoveInstallSectionFromDiskSpaceList	SetupRemoveInstallSectionFromDiskSpaceListA
-#define SetupRemoveSectionFromDiskSpaceList	SetupRemoveSectionFromDiskSpaceListA
-#define SetupRenameError	SetupRenameErrorA
-#define SetupScanFileQueue	SetupScanFileQueueA
-#define SetupSetDirectoryId	SetupSetDirectoryIdA
-#define SetupSetDirectoryIdEx	SetupSetDirectoryIdExA
-#define SetupSetFileQueueAlternatePlatform	SetupSetFileQueueAlternatePlatformA
-#define SetupSetPlatformPathOverride	SetupSetPlatformPathOverrideA
-#define SetupSetSourceList	SetupSetSourceListA
-#endif	/* UNICODE */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif
Index: Daodan/MinGW/include/share.h
===================================================================
--- Daodan/MinGW/include/share.h	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-/*
- * share.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants for file sharing functions.
- *
- */
-
-#ifndef	_SHARE_H_
-#define	_SHARE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define _SH_COMPAT	0x00	/* Compatibility */
-#define	_SH_DENYRW	0x10	/* Deny read/write */
-#define	_SH_DENYWR	0x20	/* Deny write */
-#define	_SH_DENYRD	0x30	/* Deny read */
-#define	_SH_DENYNO	0x40	/* Deny nothing */
-
-#ifndef _NO_OLDNAMES
-
-/* Non ANSI names */
-#define SH_DENYRW _SH_DENYRW
-#define SH_DENYWR _SH_DENYWR
-#define SH_DENYRD _SH_DENYRD
-#define SH_DENYNO _SH_DENYNO
-
-#endif	/* Not _NO_OLDNAMES */
-
-#endif	/* Not _SHARE_H_ */
Index: Daodan/MinGW/include/shellapi.h
===================================================================
--- Daodan/MinGW/include/shellapi.h	(revision 1046)
+++ 	(revision )
@@ -1,376 +1,0 @@
-#ifndef _SHELLAPI_H
-#define _SHELLAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WINSHELLAPI DECLSPEC_IMPORT
-#define ABE_LEFT	0
-#define ABE_TOP	1
-#define ABE_RIGHT	2
-#define ABE_BOTTOM	3
-#define ABS_AUTOHIDE	1
-#define ABS_ALWAYSONTOP	2
-#define SEE_MASK_CLASSNAME         0x1
-#define SEE_MASK_CLASSKEY          0x3
-#define SEE_MASK_IDLIST            0x4
-#define SEE_MASK_INVOKEIDLIST      0xc
-#define SEE_MASK_ICON              0x10
-#define SEE_MASK_HOTKEY            0x20
-#define SEE_MASK_NOCLOSEPROCESS    0x40
-#define SEE_MASK_CONNECTNETDRV     0x80
-#define SEE_MASK_FLAG_DDEWAIT      0x100
-#define SEE_MASK_DOENVSUBST        0x200
-#define SEE_MASK_FLAG_NO_UI        0x400
-#define SEE_MASK_NO_CONSOLE        0x8000
-#define SEE_MASK_UNICODE           0x10000
-#define SEE_MASK_ASYNCOK           0x100000
-#define SEE_MASK_HMONITOR          0x200000
-#if (_WIN32_IE >= 0x0600)
-#define SEE_MASK_NOZONECHECKS      0x800000
-#define SEE_MASK_FLAG_LOG_USAGE    0x4000000
-#endif
-#define ABM_NEW	0
-#define ABM_REMOVE	1
-#define ABM_QUERYPOS	2
-#define ABM_SETPOS	3
-#define ABM_GETSTATE	4
-#define ABM_GETTASKBARPOS	5
-#define ABM_ACTIVATE	6
-#define ABM_GETAUTOHIDEBAR	7
-#define ABM_SETAUTOHIDEBAR	8
-#define ABM_WINDOWPOSCHANGED	9
-#define ABN_STATECHANGE		0
-#define ABN_POSCHANGED		1
-#define ABN_FULLSCREENAPP	2
-#define ABN_WINDOWARRANGE	3
-#define NIM_ADD	0
-#define NIM_MODIFY	1
-#define NIM_DELETE	2
-#if (_WIN32_IE >= 0x0500)
-#define NOTIFYICON_VERSION 3
-#if (_WIN32_WINNT >= 0x600)
-#define NOTIFYICON_VERSION_4  4
-#endif
-#define NIM_SETFOCUS	3
-#define NIM_SETVERSION	4
-#define NIN_POPUPOPEN WM_USER+6
-#define NIN_POPUPCLOSE WM_USER+7
-#endif
-#define NIF_MESSAGE	0x00000001
-#define NIF_ICON	0x00000002
-#define NIF_TIP		0x00000004
-#define NIF_STATE	0x00000008
-#if (_WIN32_IE >= 0x0500)
-#define NIF_INFO	0x00000010
-#endif
-#if (_WIN32_IE >= 0x0600)
-#define NIF_GUID	0x00000020
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define NIIF_NONE	0x00000000
-#define NIIF_INFO	0x00000001
-#define NIIF_WARNING	0x00000002
-#define NIIF_ERROR	0x00000003
-#endif
-#if (_WIN32_IE >= 0x0600)
-#define NIIF_ICON_MASK	0x0000000F
-#define NIIF_NOSOUND	0x00000010
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define NIS_HIDDEN	0x00000001
-#define NIS_SHAREDICON	0x00000002
-#endif
-#define SE_ERR_FNF	2
-#define SE_ERR_PNF	3
-#define SE_ERR_ACCESSDENIED	5
-#define SE_ERR_OOM	8
-#define SE_ERR_DLLNOTFOUND	32
-#define SE_ERR_SHARE	26
-#define SE_ERR_ASSOCINCOMPLETE	27
-#define SE_ERR_DDETIMEOUT	28
-#define SE_ERR_DDEFAIL	29
-#define SE_ERR_DDEBUSY	30
-#define SE_ERR_NOASSOC	31
-#define FO_MOVE	1
-#define FO_COPY	2
-#define FO_DELETE	3
-#define FO_RENAME	4
-#define FOF_MULTIDESTFILES	1
-#define FOF_CONFIRMMOUSE	2
-#define FOF_SILENT	4
-#define FOF_RENAMEONCOLLISION	8
-#define FOF_NOCONFIRMATION	16
-#define FOF_WANTMAPPINGHANDLE	32
-#define FOF_ALLOWUNDO	64
-#define FOF_FILESONLY	128
-#define FOF_SIMPLEPROGRESS	256
-#define FOF_NOCONFIRMMKDIR	512
-#define FOF_NOERRORUI	1024
-#define FOF_NOCOPYSECURITYATTRIBS	2048
-#define PO_DELETE 19
-#define PO_RENAME 20
-#define PO_PORTCHANGE 32
-#define PO_REN_PORT 52
-#define SHGFI_ICON	256
-#define SHGFI_DISPLAYNAME	512
-#define SHGFI_TYPENAME	1024
-#define SHGFI_ATTRIBUTES	2048
-#define SHGFI_ICONLOCATION	4096
-#define SHGFI_EXETYPE 8192
-#define SHGFI_SYSICONINDEX 16384
-#define SHGFI_LINKOVERLAY 32768
-#define SHGFI_SELECTED 65536
-#define SHGFI_ATTR_SPECIFIED 131072
-#define SHGFI_LARGEICON	0
-#define SHGFI_SMALLICON	1
-#define SHGFI_OPENICON	2
-#define SHGFI_SHELLICONSIZE	4
-#define SHGFI_PIDL	8
-#define SHGFI_USEFILEATTRIBUTES	16
-#define SHERB_NOCONFIRMATION 1
-#define SHERB_NOPROGRESSUI 2
-#define SHERB_NOSOUND 4
-#ifdef UNICODE
-#define NOTIFYICONDATA_V2_SIZE 936
-#define NOTIFYICONDATA_V1_SIZE 152
-#else
-#define NOTIFYICONDATA_V2_SIZE 488
-#define NOTIFYICONDATA_V1_SIZE 88
-#endif
-
-typedef WORD FILEOP_FLAGS;
-typedef WORD PRINTEROP_FLAGS;
-#include <pshpack2.h>
-typedef struct _AppBarData {
-	DWORD	cbSize;
-	HWND	hWnd;
-	UINT	uCallbackMessage;
-	UINT	uEdge;
-	RECT	rc;
-	LPARAM lParam;
-} APPBARDATA,*PAPPBARDATA;
-DECLARE_HANDLE(HDROP);
-
-typedef struct _NOTIFYICONDATAA {
-  DWORD cbSize;
-  HWND hWnd;
-  UINT uID;
-  UINT uFlags;
-  UINT uCallbackMessage;
-  HICON hIcon;
-#if _WIN32_IE >= 0x0500
-  CHAR szTip[128];
-  DWORD dwState;
-  DWORD dwStateMask;
-  CHAR szInfo[256];
-  _ANONYMOUS_UNION union {
-    UINT uTimeout;
-    UINT uVersion;
-  } DUMMYUNIONNAME;
-  CHAR szInfoTitle[64];
-  DWORD dwInfoFlags;
-#else
-  CHAR szTip[64];
-#endif
-#if _WIN32_IE >= 0x600
-  GUID guidItem;
-#endif
-#if _WIN32_WINNT >= 0x600
-  HICON hBalloonIcon;
-#endif
-} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
-
-typedef struct _NOTIFYICONDATAW {
-  DWORD cbSize;
-  HWND hWnd;
-  UINT uID;
-  UINT uFlags;
-  UINT uCallbackMessage;
-  HICON hIcon;
-#if _WIN32_IE >= 0x0500
-  WCHAR szTip[128];
-  DWORD dwState;
-  DWORD dwStateMask;
-  WCHAR szInfo[256];
-  _ANONYMOUS_UNION union {
-    UINT uTimeout;
-    UINT uVersion;
-  } DUMMYUNIONNAME;
-  WCHAR szInfoTitle[64];
-  DWORD dwInfoFlags;
-#else
-  WCHAR szTip[64];
-#endif
-#if _WIN32_IE >= 0x600
-  GUID guidItem;
-#endif
-#if _WIN32_WINNT >= 0x600
-  HICON hBalloonIcon;
-#endif
-} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
-
-typedef struct _SHELLEXECUTEINFOA {
-	DWORD cbSize;
-	ULONG fMask;
-	HWND hwnd;
-	LPCSTR lpVerb;
-	LPCSTR lpFile;
-	LPCSTR lpParameters;
-	LPCSTR lpDirectory;
-	int nShow;
-	HINSTANCE hInstApp;
-	PVOID lpIDList;
-	LPCSTR lpClass;
-	HKEY hkeyClass;
-	DWORD dwHotKey;
-	HANDLE hIcon;
-	HANDLE hProcess;
-} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
-typedef struct _SHELLEXECUTEINFOW {
-	DWORD cbSize;
-	ULONG fMask;
-	HWND hwnd;
-	LPCWSTR lpVerb;
-	LPCWSTR lpFile;
-	LPCWSTR lpParameters;
-	LPCWSTR lpDirectory;
-	int nShow;
-	HINSTANCE hInstApp;
-	PVOID lpIDList;
-	LPCWSTR lpClass;
-	HKEY hkeyClass;
-	DWORD dwHotKey;
-	HANDLE hIcon;
-	HANDLE hProcess;
-} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
-typedef struct _SHFILEOPSTRUCTA {
-	HWND hwnd;
-	UINT wFunc;
-	LPCSTR pFrom;
-	LPCSTR pTo;
-	FILEOP_FLAGS fFlags;
-	BOOL fAnyOperationsAborted;
-	PVOID hNameMappings;
-	LPCSTR lpszProgressTitle;
-} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
-typedef struct _SHFILEOPSTRUCTW {
-	HWND hwnd;
-	UINT wFunc;
-	LPCWSTR pFrom;
-	LPCWSTR pTo;
-	FILEOP_FLAGS fFlags;
-	BOOL fAnyOperationsAborted;
-	PVOID hNameMappings;
-	LPCWSTR lpszProgressTitle;
-} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
-typedef struct _SHFILEINFOA {
-	HICON hIcon;
-	int iIcon;
-	DWORD dwAttributes;
-	CHAR szDisplayName[MAX_PATH];
-	CHAR szTypeName[80];
-} SHFILEINFOA;
-typedef struct _SHFILEINFOW {
-	HICON hIcon;
-	int iIcon;
-	DWORD dwAttributes;
-	WCHAR szDisplayName[MAX_PATH];
-	WCHAR szTypeName[80];
-} SHFILEINFOW;
-typedef struct _SHQUERYRBINFO {
-	DWORD   cbSize;
-	__int64 i64Size;
-	__int64 i64NumItems;
-} SHQUERYRBINFO, *LPSHQUERYRBINFO;
-#include <poppack.h>
-
-LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
-void WINAPI DragAcceptFiles(HWND,BOOL);
-void WINAPI DragFinish(HDROP);
-UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
-UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
-BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
-HICON WINAPI DuplicateIcon(HINSTANCE,HICON);
-HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
-HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
-HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
-HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
-UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
-UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
-HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
-HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
-UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
-BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
-BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
-int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
-int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
-HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
-HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
-BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
-BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
-int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
-int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
-void WINAPI SHFreeNameMappings(HANDLE);
-DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
-DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
-HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
-HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO);
-HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
-HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
-
-#if (_WIN32_WINNT >= 0x600)
-#define SHIL_LARGE 0x0
-#define SHIL_SMALL 0x1
-#define SHIL_EXTRALARGE 0x2
-#define SHIL_SYSSMALL 0x3
-#define SHIL_JUMBO 0x4
-#define SHIL_LAST SHIL_JUMBO
-HRESULT WINAPI SHGetImageList(int,REFIID,void**);
-#endif
-
-#ifdef UNICODE
-typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
-typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
-typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
-typedef SHFILEINFOW SHFILEINFO;
-#define DragQueryFile DragQueryFileW
-#define ExtractAssociatedIcon ExtractAssociatedIconW
-#define ExtractIcon ExtractIconW
-#define ExtractIconEx ExtractIconExW
-#define FindExecutable FindExecutableW
-#define Shell_NotifyIcon Shell_NotifyIconW
-#define ShellAbout ShellAboutW
-#define ShellExecute ShellExecuteW
-#define ShellExecuteEx ShellExecuteExW
-#define SHFileOperation SHFileOperationW
-#define SHGetFileInfo SHGetFileInfoW
-#define SHQueryRecycleBin SHQueryRecycleBinW
-#define SHEmptyRecycleBin SHEmptyRecycleBinW
-
-#else
-typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
-typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
-typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
-typedef SHFILEINFOA SHFILEINFO;
-#define DragQueryFile DragQueryFileA
-#define ExtractAssociatedIcon ExtractAssociatedIconA
-#define ExtractIcon ExtractIconA
-#define ExtractIconEx ExtractIconExA
-#define FindExecutable FindExecutableA
-#define Shell_NotifyIcon Shell_NotifyIconA
-#define ShellAbout ShellAboutA
-#define ShellExecute ShellExecuteA
-#define ShellExecuteEx ShellExecuteExA
-#define SHFileOperation SHFileOperationA
-#define SHGetFileInfo SHGetFileInfoA
-#define SHQueryRecycleBin SHQueryRecycleBinA
-#define SHEmptyRecycleBin SHEmptyRecycleBinA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/shldisp.h
===================================================================
--- Daodan/MinGW/include/shldisp.h	(revision 1046)
+++ 	(revision )
@@ -1,74 +1,0 @@
-#ifndef _SHLDISP_H
-#define _SHLDISP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum tagAUTOCOMPLETEOPTIONS {
-    ACO_NONE = 0x00,
-    ACO_AUTOSUGGEST = 0x01,
-    ACO_AUTOAPPEND = 0x02,
-    ACO_SEARCH = 0x04,
-    ACO_FILTERPREFIXES = 0x08,
-    ACO_USETAB = 0x10,
-    ACO_UPDOWNKEYDROPSLIST = 0x20,
-    ACO_RTLREADING = 0x40,
-#if (_WIN32_WINNT >= 0x0600)
-    ACO_WORD_FILTER = 0x80,
-    ACO_NOPREFIXFILTERING = 0x100
-#endif
-} AUTOCOMPLETEOPTIONS;
-
-#define INTERFACE IAutoComplete
-DECLARE_INTERFACE_(IAutoComplete, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
-	STDMETHOD(Enable)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-typedef IAutoComplete *LPAUTOCOMPLETE;
-
-#ifdef COBJMACROS
-#define IAutoComplete_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IAutoComplete_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IAutoComplete_Release(T) (T)->lpVtbl->Release(T)
-#define IAutoComplete_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
-#define IAutoComplete_Enable(T,a) (T)->lpVtbl->Enable(T,a)
-#endif
-
-#define INTERFACE IAutoComplete2
-DECLARE_INTERFACE_(IAutoComplete2, IAutoComplete)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
-	STDMETHOD(Enable)(THIS_ BOOL) PURE;
-	STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
-	STDMETHOD(GetOptions)(THIS_ DWORD*) PURE;
-};
-#undef INTERFACE
-typedef IAutoComplete2 *LPAUTOCOMPLETE2;
-
-#ifdef COBJMACROS
-#define IAutoComplete2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IAutoComplete2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IAutoComplete2_Release(T) (T)->lpVtbl->Release(T)
-#define IAutoComplete2_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
-#define IAutoComplete2_Enable(T,a) (T)->lpVtbl->Enable(T,a)
-#define IAutoComplete2_SetOptions(T,a) (T)->lpVtbl->Enable(T,a)
-#define IAutoComplete2_GetOptions(T,a) (T)->lpVtbl->Enable(T,a)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SHLDISP_H */
Index: Daodan/MinGW/include/shlguid.h
===================================================================
--- Daodan/MinGW/include/shlguid.h	(revision 1046)
+++ 	(revision )
@@ -1,105 +1,0 @@
-#ifndef _SHLGUID_H
-#define _SHLGUID_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#define SID_SShellBrowser IID_IShellBrowser
-extern const GUID CLSID_ShellDesktop;
-extern const GUID CLSID_ShellLink;
-extern const GUID FMTID_Intshcut;
-extern const GUID FMTID_InternetSite;
-extern const GUID CGID_Explorer;
-extern const GUID CGID_ShellDocView;
-extern const GUID CGID_ShellServiceObject;
-extern const GUID IID_INewShortcutHookA;
-extern const GUID IID_IShellBrowser;
-extern const GUID IID_IShellView;
-extern const GUID IID_IContextMenu;
-extern const GUID IID_IColumnProvider;
-extern const GUID IID_IQueryInfo;
-extern const GUID IID_IShellIcon;
-extern const GUID IID_IShellIconOverlayIdentifier;
-extern const GUID IID_IShellFolder;
-extern const GUID IID_IShellExtInit;
-extern const GUID IID_IShellPropSheetExt;
-extern const GUID IID_IPersistFolder;
-extern const GUID IID_IExtractIconA;
-extern const GUID IID_IShellLinkA;
-extern const GUID IID_IShellCopyHookA;
-extern const GUID IID_IFileViewerA;
-extern const GUID IID_ICommDlgBrowser;
-extern const GUID IID_IEnumIDList;
-extern const GUID IID_IFileViewerSite;
-extern const GUID IID_IContextMenu2;
-extern const GUID IID_IContextMenu3;
-extern const GUID IID_IShellExecuteHookA;
-extern const GUID IID_IPropSheetPage;
-extern const GUID IID_INewShortcutHookW;
-extern const GUID IID_IFileViewerW;
-extern const GUID IID_IShellLinkW;
-extern const GUID IID_IExtractIconW;
-extern const GUID IID_IShellExecuteHookW;
-extern const GUID IID_IShellCopyHookW;
-extern const GUID IID_IShellView2;
-extern const GUID LIBID_SHDocVw;
-extern const GUID IID_IShellExplorer;
-extern const GUID DIID_DShellExplorerEvents;
-extern const GUID CLSID_ShellExplorer;
-extern const GUID IID_ISHItemOC;
-extern const GUID DIID_DSHItemOCEvents;
-extern const GUID CLSID_SHItemOC;
-extern const GUID IID_DHyperLink;
-extern const GUID IID_DIExplorer;
-extern const GUID DIID_DExplorerEvents;
-extern const GUID CLSID_InternetExplorer;
-extern const GUID CLSID_StdHyperLink;
-extern const GUID CLSID_FileTypes;
-extern const GUID CLSID_InternetShortcut;
-extern const GUID IID_IUniformResourceLocator;
-extern const GUID CLSID_DragDropHelper;
-extern const GUID IID_IDropTargetHelper;
-extern const GUID IID_IDragSourceHelper;
-extern const GUID CLSID_AutoComplete;
-extern const GUID IID_IAutoComplete;
-extern const GUID IID_IAutoComplete2;
-extern const GUID CLSID_ACLMulti;
-extern const GUID IID_IObjMgr;
-extern const GUID CLSID_ACListISF;
-extern const GUID IID_IACList;
-#if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500)
-extern const GUID IID_IPersistFolder2;
-#endif
-#if (_WIN32_WINNT >= 0x500)
-extern const GUID IID_IPersistFolder3;
-extern const GUID IID_IShellFolder2;
-extern const GUID IID_IFileSystemBindData;
-#endif
-#if (_WIN32_WINNT >= 0x501)
-extern const GUID IID_IFolderView;
-#endif
-#ifdef UNICODE
-#define IID_IFileViewer	IID_IFileViewerW
-#define IID_IShellLink	IID_IShellLinkW
-#define IID_IExtractIcon	IID_IExtractIconW
-#define IID_IShellCopyHook	IID_IShellCopyHookW
-#define IID_IShellExecuteHook	IID_IShellExecuteHookW
-#define IID_INewShortcutHook	IID_INewShortcutHookW
-#else
-#define IID_IFileViewer	IID_IFileViewerA
-#define IID_IShellLink	IID_IShellLinkA
-#define IID_IExtractIcon	IID_IExtractIconA
-#define IID_IShellCopyHook	IID_IShellCopyHookA
-#define IID_IShellExecuteHook	IID_IShellExecuteHookA
-#define IID_INewShortcutHook	IID_INewShortcutHookA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/include/shlobj.h
===================================================================
--- Daodan/MinGW/include/shlobj.h	(revision 1046)
+++ 	(revision )
@@ -1,1584 +1,0 @@
-#ifndef _SHLOBJ_H
-#define _SHLOBJ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-#include <shlguid.h>
-#include <shellapi.h>
-#pragma pack(push,1)
-#include <commctrl.h>
-
-#define BIF_RETURNONLYFSDIRS 1
-#define BIF_DONTGOBELOWDOMAIN 2
-#define BIF_STATUSTEXT 4
-#define BIF_RETURNFSANCESTORS 8
-#define BIF_EDITBOX 16
-#define BIF_VALIDATE 32
-#define BIF_NEWDIALOGSTYLE 64
-#define BIF_BROWSEINCLUDEURLS 128
-#define BIF_USENEWUI ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE )
-#define BIF_BROWSEFORCOMPUTER 0x1000
-#define BIF_BROWSEFORPRINTER 0x2000
-#define BIF_BROWSEINCLUDEFILES 0x4000
-#define BIF_SHAREABLE 0x8000
-#define BFFM_INITIALIZED 1
-#define BFFM_SELCHANGED 2
-#define BFFM_VALIDATEFAILEDA 3
-#define BFFM_VALIDATEFAILEDW 4
-#define BFFM_SETSTATUSTEXTA (WM_USER + 100)
-#define BFFM_SETSTATUSTEXTW (WM_USER + 104)
-#define BFFM_ENABLEOK (WM_USER + 101)
-#define BFFM_SETSELECTIONA (WM_USER + 102)
-#define BFFM_SETSELECTIONW (WM_USER + 103)
-#define BFFM_SETOKTEXT (WM_USER + 105)
-#define BFFM_SETEXPANDED (WM_USER + 106)
-#ifdef UNICODE
-#define BFFM_SETSTATUSTEXT  BFFM_SETSTATUSTEXTW
-#define BFFM_SETSELECTION   BFFM_SETSELECTIONW
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW
-#else
-#define BFFM_SETSTATUSTEXT  BFFM_SETSTATUSTEXTA
-#define BFFM_SETSELECTION   BFFM_SETSELECTIONA
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA
-#endif
-#define DVASPECT_SHORTNAME 2
-typedef enum tagSHARD {
-    SHARD_PIDL = 0x00000001,
-    SHARD_PATHA = 0x00000002,
-    SHARD_PATHW = 0x00000003,
-    SHARD_APPIDINFO = 0x00000004,
-    SHARD_APPIDINFOIDLIST = 0x00000005,
-    SHARD_LINK = 0x00000006,
-    SHARD_APPIDINFOLINK = 0x00000007,
-    SHARD_SHELLITEM = 0x00000008
-} SHARD;
-#ifdef UNICODE
-#define SHARD_PATH SHARD_PATHW
-#else
-#define SHARD_PATH SHARD_PATHA
-#endif
-#define SHCNE_RENAMEITEM	1
-#define SHCNE_CREATE	2
-#define SHCNE_DELETE	4
-#define SHCNE_MKDIR	8
-#define SHCNE_RMDIR	16
-#define SHCNE_MEDIAINSERTED	32
-#define SHCNE_MEDIAREMOVED	64
-#define SHCNE_DRIVEREMOVED	128
-#define SHCNE_DRIVEADD	256
-#define SHCNE_NETSHARE	512
-#define SHCNE_NETUNSHARE	1024
-#define SHCNE_ATTRIBUTES	2048
-#define SHCNE_UPDATEDIR	4096
-#define SHCNE_UPDATEITEM	8192
-#define SHCNE_SERVERDISCONNECT	16384
-#define SHCNE_UPDATEIMAGE	32768
-#define SHCNE_DRIVEADDGUI	65536
-#define SHCNE_RENAMEFOLDER	0x20000
-#define SHCNE_FREESPACE	0x40000
-#define SHCNE_ASSOCCHANGED	0x8000000
-#define SHCNE_DISKEVENTS	0x2381F
-#define SHCNE_GLOBALEVENTS	0xC0581E0
-#define SHCNE_ALLEVENTS	0x7FFFFFFF
-#define SHCNE_INTERRUPT	0x80000000
-#define SHCNF_IDLIST	0
-#define SHCNF_PATHA	1
-#define SHCNF_PRINTERA	2
-#define SHCNF_DWORD	3
-#define SHCNF_PATHW	5
-#define SHCNF_PRINTERW	6
-#define SHCNF_TYPE	0xFF
-#define SHCNF_FLUSH	0x1000
-#define SHCNF_FLUSHNOWAIT	0x2000
-#ifdef UNICODE
-#define SHCNF_PATH      SHCNF_PATHW
-#define SHCNF_PRINTER   SHCNF_PRINTERW
-#else
-#define SHCNF_PATH      SHCNF_PATHA
-#define SHCNF_PRINTER   SHCNF_PRINTERA
-#endif
-#define SFGAO_CANCOPY	DROPEFFECT_COPY
-#define SFGAO_CANMOVE	DROPEFFECT_MOVE
-#define SFGAO_CANLINK	DROPEFFECT_LINK
-#define SFGAO_CANRENAME		0x00000010L
-#define SFGAO_CANDELETE		0x00000020L
-#define SFGAO_HASPROPSHEET	0x00000040L
-#define SFGAO_DROPTARGET	0x00000100L
-#define SFGAO_CAPABILITYMASK	0x00000177L
-#define SFGAO_ISSLOW            0x00004000L
-#define SFGAO_GHOSTED		0x00008000L
-#define SFGAO_LINK		0x00010000L
-#define SFGAO_SHARE		0x00020000L
-#define SFGAO_READONLY		0x00040000L
-#define SFGAO_HIDDEN		0x00080000L
-#define SFGAO_DISPLAYATTRMASK   (SFGAO_ISSLOW \
-				 | SFGAO_GHOSTED \
-				 | SFGAO_LINK \
-				 | SFGAO_SHARE \
-				 | SFGAO_READONLY \
-				 | SFGAO_HIDDEN)
-#define SFGAO_FILESYSANCESTOR	0x10000000L
-#define SFGAO_FOLDER		0x20000000L
-#define SFGAO_FILESYSTEM	0x40000000L
-#define SFGAO_HASSUBFOLDER	0x80000000L
-#define SFGAO_CONTENTSMASK	0x80000000L
-#define SFGAO_VALIDATE		0x01000000L
-#define SFGAO_REMOVABLE		0x02000000L
-#define SFGAO_COMPRESSED	0x04000000L
-#define STRRET_WSTR	0
-#define STRRET_OFFSET	1
-#define STRRET_CSTR	2
-#define SHGDFIL_FINDDATA	1
-#define SHGDFIL_NETRESOURCE	2
-#define SHGDFIL_DESCRIPTIONID	3
-#define SHDID_ROOT_REGITEM	1
-#define SHDID_FS_FILE	2
-#define SHDID_FS_DIRECTORY	3
-#define SHDID_FS_OTHER	4
-#define SHDID_COMPUTER_DRIVE35	5
-#define SHDID_COMPUTER_DRIVE525	6
-#define SHDID_COMPUTER_REMOVABLE	7
-#define SHDID_COMPUTER_FIXED	8
-#define SHDID_COMPUTER_NETDRIVE	9
-#define SHDID_COMPUTER_CDROM	10
-#define SHDID_COMPUTER_RAMDISK	11
-#define SHDID_COMPUTER_OTHER	12
-#define SHDID_NET_DOMAIN	13
-#define SHDID_NET_SERVER	14
-#define SHDID_NET_SHARE	15
-#define SHDID_NET_RESTOFNET	16
-#define SHDID_NET_OTHER	17
-#ifndef REGSTR_PATH_EXPLORER
-#define REGSTR_PATH_EXPLORER	TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
-#endif
-#define REGSTR_PATH_SPECIAL_FOLDERS	REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")
-#define CSIDL_DESKTOP	0
-#define CSIDL_INTERNET  1
-#define CSIDL_PROGRAMS	2
-#define CSIDL_CONTROLS	3
-#define CSIDL_PRINTERS	4
-#define CSIDL_PERSONAL	5
-#define CSIDL_FAVORITES	6
-#define CSIDL_STARTUP	7
-#define CSIDL_RECENT	8
-#define CSIDL_SENDTO	9
-#define CSIDL_BITBUCKET	10
-#define CSIDL_STARTMENU	11
-#define CSIDL_MYMUSIC	13
-#define CSIDL_MYVIDEO	14
-#define CSIDL_DESKTOPDIRECTORY	16
-#define CSIDL_DRIVES	17
-#define CSIDL_NETWORK	18
-#define CSIDL_NETHOOD	19
-#define CSIDL_FONTS	20
-#define CSIDL_TEMPLATES	21
-#define CSIDL_COMMON_STARTMENU	22
-#define CSIDL_COMMON_PROGRAMS	23
-#define CSIDL_COMMON_STARTUP	24
-#define CSIDL_COMMON_DESKTOPDIRECTORY	25
-#define CSIDL_APPDATA   26
-#define CSIDL_PRINTHOOD 27
-#define CSIDL_LOCAL_APPDATA 28
-#define CSIDL_ALTSTARTUP    29
-#define CSIDL_COMMON_ALTSTARTUP	30
-#define CSIDL_COMMON_FAVORITES	31
-#define CSIDL_INTERNET_CACHE   32
-#define CSIDL_COOKIES	33
-#define CSIDL_HISTORY	34
-#define CSIDL_COMMON_APPDATA	35
-#define CSIDL_WINDOWS	36
-#define CSIDL_SYSTEM	37
-#define CSIDL_PROGRAM_FILES	38
-#define CSIDL_MYPICTURES	39
-#define CSIDL_PROFILE	40
-#define CSIDL_SYSTEMX86	41
-#define CSIDL_PROGRAM_FILESX86	42
-#define CSIDL_PROGRAM_FILES_COMMON	43
-#define CSIDL_PROGRAM_FILES_COMMONX86	44
-#define CSIDL_COMMON_TEMPLATES	45
-#define CSIDL_COMMON_DOCUMENTS	46
-#define CSIDL_COMMON_ADMINTOOLS	47
-#define CSIDL_ADMINTOOLS	48
-#define CSIDL_CONNECTIONS	49
-#define CSIDL_COMMON_MUSIC	53
-#define CSIDL_COMMON_PICTURES	54
-#define CSIDL_COMMON_VIDEO	55
-#define CSIDL_RESOURCES	56
-#define CSIDL_RESOURCES_LOCALIZED	57
-#define CSIDL_COMMON_OEM_LINKS	58
-#define CSIDL_CDBURN_AREA	59
-#define CSIDL_COMPUTERSNEARME	61
-#define CSIDL_FLAG_DONT_VERIFY	0x4000
-#define CSIDL_FLAG_CREATE	0x8000
-#define CSIDL_FLAG_MASK	0xFF00
-#define CFSTR_SHELLIDLIST	TEXT("Shell IDList Array")
-#define CFSTR_SHELLIDLISTOFFSET	TEXT("Shell Object Offsets")
-#define CFSTR_NETRESOURCES	TEXT("Net Resource")
-#define CFSTR_FILECONTENTS	TEXT("FileContents")
-#define CFSTR_FILENAMEA		TEXT("FileName")
-#define CFSTR_FILENAMEMAPA	TEXT("FileNameMap")
-#define CFSTR_FILEDESCRIPTORA	TEXT("FileGroupDescriptor")
-#define CFSTR_INETURLA		TEXT("UniformResourceLocator")
-#define CFSTR_SHELLURL		CFSTR_INETURLA
-#define CFSTR_FILENAMEW		TEXT("FileNameW")
-#define CFSTR_FILENAMEMAPW	TEXT("FileNameMapW")
-#define CFSTR_FILEDESCRIPTORW	TEXT("FileGroupDescriptorW")
-#define CFSTR_INETURLW		TEXT("UniformResourceLocatorW")
-#ifdef UNICODE
-#define CFSTR_FILENAME		CFSTR_FILENAMEW
-#define CFSTR_FILENAMEMAP	CFSTR_FILENAMEMAPW
-#define CFSTR_FILEDESCRIPTOR	CFSTR_FILEDESCRIPTORW
-#define CFSTR_INETURL		CFSTR_INETURLW
-#else
-#define CFSTR_FILENAME		CFSTR_FILENAMEA
-#define CFSTR_FILENAMEMAP	CFSTR_FILENAMEMAPA
-#define CFSTR_FILEDESCRIPTOR	CFSTR_FILEDESCRIPTORA
-#define CFSTR_INETURL		CFSTR_INETURLA
-#endif
-#define CFSTR_PRINTERGROUP	TEXT("PrinterFriendlyName")
-#define CFSTR_INDRAGLOOP	TEXT("InShellDragLoop")
-#define CFSTR_PASTESUCCEEDED	TEXT("Paste Succeeded")
-#define CFSTR_PERFORMEDDROPEFFECT	TEXT("Performed DropEffect")
-#define CFSTR_PREFERREDDROPEFFECT	TEXT("Preferred DropEffect")
-#define CMF_NORMAL	0
-#define CMF_DEFAULTONLY	1
-#define CMF_VERBSONLY	2
-#define CMF_EXPLORE	4
-#define CMF_NOVERBS	8
-#define CMF_CANRENAME	16
-#define CMF_NODEFAULT	32
-#define CMF_INCLUDESTATIC	64
-#define CMF_RESERVED	0xffff0000
-#define GCS_VERBA        0
-#define GCS_HELPTEXTA    1
-#define GCS_VALIDATEA    2
-#define GCS_VERBW        4
-#define GCS_HELPTEXTW    5
-#define GCS_VALIDATEW    6
-#define GCS_UNICODE      4
-#ifdef UNICODE
-#define GCS_VERB        GCS_VERBW
-#define GCS_HELPTEXT    GCS_HELPTEXTW
-#define GCS_VALIDATE    GCS_VALIDATEW
-#else
-#define GCS_VERB        GCS_VERBA
-#define GCS_HELPTEXT    GCS_HELPTEXTA
-#define GCS_VALIDATE    GCS_VALIDATEA
-#endif
-#define CMDSTR_NEWFOLDERA	"NewFolder"
-#define CMDSTR_VIEWLISTA	"ViewList"
-#define CMDSTR_VIEWDETAILSA	"ViewDetails"
-#define CMDSTR_NEWFOLDERW	L"NewFolder"
-#define CMDSTR_VIEWLISTW	L"ViewList"
-#define CMDSTR_VIEWDETAILSW	L"ViewDetails"
-#ifdef UNICODE
-#define CMDSTR_NEWFOLDER	CMDSTR_NEWFOLDERW
-#define CMDSTR_VIEWLIST		CMDSTR_VIEWLISTW
-#define CMDSTR_VIEWDETAILS	CMDSTR_VIEWDETAILSW
-#else
-#define CMDSTR_NEWFOLDER	CMDSTR_NEWFOLDER
-#define CMDSTR_VIEWLIST		CMDSTR_VIEWLIST
-#define CMDSTR_VIEWDETAILS	CMDSTR_VIEWDETAILS
-#endif
-#define CMIC_MASK_HOTKEY	SEE_MASK_HOTKEY
-#define CMIC_MASK_ICON	SEE_MASK_ICON
-#define CMIC_MASK_FLAG_NO_UI	SEE_MASK_FLAG_NO_UI
-#define CMIC_MASK_MODAL	0x80000000
-#define CMIC_VALID_SEE_FLAGS	SEE_VALID_CMIC_FLAGS
-#define GIL_OPENICON	1
-#define GIL_FORSHELL	2
-#define GIL_SIMULATEDOC	1
-#define GIL_PERINSTANCE	2
-#define GIL_PERCLASS	4
-#define GIL_NOTFILENAME	8
-#define GIL_DONTCACHE	16
-#define FVSIF_RECT	1
-#define FVSIF_PINNED	2
-#define FVSIF_NEWFAILED 0x8000000
-#define FVSIF_NEWFILE	0x80000000
-#define FVSIF_CANVIEWIT 0x40000000
-#define CDBOSC_SETFOCUS	0
-#define CDBOSC_KILLFOCUS	1
-#define CDBOSC_SELCHANGE	2
-#define CDBOSC_RENAME	3
-#define FCIDM_SHVIEWFIRST	0
-#define FCIDM_SHVIEWLAST	0x7fff
-#define FCIDM_BROWSERFIRST	0xa000
-#define FCIDM_BROWSERLAST	0xbf00
-#define FCIDM_GLOBALFIRST	0x8000
-#define FCIDM_GLOBALLAST	0x9fff
-#define FCIDM_MENU_FILE	FCIDM_GLOBALFIRST
-#define FCIDM_MENU_EDIT	(FCIDM_GLOBALFIRST+0x0040)
-#define FCIDM_MENU_VIEW	(FCIDM_GLOBALFIRST+0x0080)
-#define FCIDM_MENU_VIEW_SEP_OPTIONS	(FCIDM_GLOBALFIRST+0x0081)
-#define FCIDM_MENU_TOOLS	(FCIDM_GLOBALFIRST+0x00c0)
-#define FCIDM_MENU_TOOLS_SEP_GOTO	(FCIDM_GLOBALFIRST+0x00c1)
-#define FCIDM_MENU_HELP	(FCIDM_GLOBALFIRST+0x0100)
-#define FCIDM_MENU_FIND	(FCIDM_GLOBALFIRST+0x0140)
-#define FCIDM_MENU_EXPLORE	(FCIDM_GLOBALFIRST+0x0150)
-#define FCIDM_MENU_FAVORITES	(FCIDM_GLOBALFIRST+0x0170)
-#define FCIDM_TOOLBAR	FCIDM_BROWSERFIRST
-#define FCIDM_STATUS	(FCIDM_BROWSERFIRST+1)
-#define SBSP_DEFBROWSER	0
-#define SBSP_SAMEBROWSER	1
-#define SBSP_NEWBROWSER	2
-#define SBSP_DEFMODE	0
-#define SBSP_OPENMODE	16
-#define SBSP_EXPLOREMODE	32
-#define SBSP_ABSOLUTE	0
-#define SBSP_RELATIVE	0x1000
-#define SBSP_PARENT	0x2000
-#define SBSP_INITIATEDBYHLINKFRAME	0x80000000
-#define SBSP_REDIRECT	0x40000000
-#define FCW_STATUS	1
-#define FCW_TOOLBAR	2
-#define FCW_TREE	3
-#define FCT_MERGE	1
-#define FCT_CONFIGABLE	2
-#define FCT_ADDTOEND	4
-#define SVSI_DESELECT	0
-#define SVSI_SELECT	1
-#define SVSI_EDIT	3
-#define SVSI_DESELECTOTHERS	4
-#define SVSI_ENSUREVISIBLE	8
-#define SVSI_FOCUSED	16
-#define SVGIO_BACKGROUND	0
-#define SVGIO_SELECTION	1
-#define SVGIO_ALLVIEW	2
-#define SV2GV_CURRENTVIEW ((UINT)-1)
-#define SV2GV_DEFAULTVIEW ((UINT)-2)
-
-typedef ULONG SFGAOF;
-typedef DWORD SHGDNF;
-
-typedef struct _IDA {
-	UINT cidl;
-	UINT aoffset[1];
-} CIDA,*LPIDA;
-typedef struct _SHITEMID {
-	USHORT	cb;
-	BYTE	abID[1];
-} SHITEMID, * LPSHITEMID;
-typedef const SHITEMID *LPCSHITEMID;
-typedef struct _ITEMIDLIST {
-	SHITEMID mkid;
-} ITEMIDLIST,*LPITEMIDLIST;
-typedef const ITEMIDLIST *LPCITEMIDLIST;
-typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM);
-typedef struct _browseinfoA {
-	HWND	hwndOwner;
-	LPCITEMIDLIST	pidlRoot;
-	LPSTR	pszDisplayName;
-	LPCSTR	lpszTitle;
-	UINT	ulFlags;
-	BFFCALLBACK	lpfn;
-	LPARAM	lParam;
-	int	iImage;
-} BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA;
-typedef struct _browseinfoW {
-	HWND	hwndOwner;
-	LPCITEMIDLIST	pidlRoot;
-	LPWSTR	pszDisplayName;
-	LPCWSTR	lpszTitle;
-	UINT	ulFlags;
-	BFFCALLBACK	lpfn;
-	LPARAM	lParam;
-	int	iImage;
-} BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW;
-typedef struct _CMInvokeCommandInfo {
-	DWORD cbSize;
-	DWORD fMask;
-	HWND hwnd;
-	LPCSTR lpVerb;
-	LPCSTR lpParameters;
-	LPCSTR lpDirectory;
-	int nShow;
-	DWORD dwHotKey;
-	HANDLE hIcon;
-} CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO;
-typedef struct _DROPFILES {
-	DWORD pFiles;
-	POINT pt;
-	BOOL fNC;
-	BOOL fWide;
-} DROPFILES,*LPDROPFILES;
-typedef enum tagSHGDN {
-	SHGDN_NORMAL=0,
-	SHGDN_INFOLDER,
-	SHGDN_FOREDITING=0x1000,
-	SHGDN_INCLUDE_NONFILESYS=0x2000,
-	SHGDN_FORADDRESSBAR=0x4000,
-	SHGDN_FORPARSING=0x8000
-} SHGNO;
-typedef enum tagSHCONTF {
-	SHCONTF_FOLDERS = 32,
-	SHCONTF_NONFOLDERS = 64,
-	SHCONTF_INCLUDEHIDDEN = 128,
-	SHCONTF_INIT_ON_FIRST_NEXT = 256,
-	SHCONTF_NETPRINTERSRCH = 512,
-	SHCONTF_SHAREABLE = 1024,
-	SHCONTF_STORAGE = 2048
-} SHCONTF;
-typedef struct _STRRET {
-	UINT uType;
-	_ANONYMOUS_UNION union {
-		LPWSTR pOleStr;
-		UINT uOffset;
-		char cStr[MAX_PATH];
-	} DUMMYUNIONNAME;
-} STRRET,*LPSTRRET;
-typedef enum {
-	FD_CLSID=1,FD_SIZEPOINT=2,FD_ATTRIBUTES=4,FD_CREATETIME=8,FD_ACCESSTIME=16,
-	FD_WRITESTIME=32,FD_FILESIZE=64,FD_LINKUI=0x8000
-} FD_FLAGS;
-typedef struct _FILEDESCRIPTORA {
-	DWORD dwFlags;
-	CLSID clsid;
-	SIZEL sizel;
-	POINTL pointl;
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-	CHAR cFileName[MAX_PATH];
-} FILEDESCRIPTORA,*LPFILEDESCRIPTORA;
-typedef struct _FILEDESCRIPTORW {
-	DWORD dwFlags;
-	CLSID clsid;
-	SIZEL sizel;
-	POINTL pointl;
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-	WCHAR cFileName[MAX_PATH];
-} FILEDESCRIPTORW,*LPFILEDESCRIPTORW;
-typedef struct _FILEGROUPDESCRIPTORA {
-	UINT cItems;
-	FILEDESCRIPTORA fgd[1];
-} FILEGROUPDESCRIPTORA,*LPFILEGROUPDESCRIPTORA;
-typedef struct _FILEGROUPDESCRIPTORW {
-	UINT cItems;
-	FILEDESCRIPTORW fgd[1];
-} FILEGROUPDESCRIPTORW,*LPFILEGROUPDESCRIPTORW;
-typedef enum {
-	SLR_NO_UI=1,
-	SLR_ANY_MATCH=2,
-	SLR_UPDATE=4,
-	SLR_NOUPDATE=8,
-	SLR_NOSEARCH=16,
-	SLR_NOTRACK=32,
-	SLR_NOLINKINFO=64,
-	SLR_INVOKE_MSI=128
-} SLR_FLAGS;
-typedef enum {
-	SLGP_SHORTPATH=1,
-	SLGP_UNCPRIORITY=2,
-	SLGP_RAWPATH=4
-} SLGP_FLAGS;
-typedef PBYTE LPVIEWSETTINGS;
-typedef enum {
-	FWF_AUTOARRANGE=1,FWF_ABBREVIATEDNAMES=2,FWF_SNAPTOGRID=4,FWF_OWNERDATA=8,
-	FWF_BESTFITWINDOW=16,FWF_DESKTOP=32,FWF_SINGLESEL=64,FWF_NOSUBFOLDERS=128,
-	FWF_TRANSPARENT=256,FWF_NOCLIENTEDGE=512,FWF_NOSCROLL=0x400,FWF_ALIGNLEFT=0x800,
-	FWF_SINGLECLICKACTIVATE=0x8000
-} FOLDERFLAGS;
-typedef enum {
-	FVM_ICON=1,
-	FVM_SMALLICON,
-	FVM_LIST,
-	FVM_DETAILS
-} FOLDERVIEWMODE;
-typedef struct {
-	UINT ViewMode;
-	UINT fFlags;
-} FOLDERSETTINGS,*LPFOLDERSETTINGS;
-typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
-typedef struct {
-    DWORD cbSize;
-	HWND hwndOwner;
-	int iShow;
-	DWORD dwFlags;
-	RECT rect;
-	LPUNKNOWN punkRel;
-	OLECHAR strNewFile[MAX_PATH];
-} FVSHOWINFO,*LPFVSHOWINFO;
-typedef struct _NRESARRAY {
-	UINT cItems;
-	NETRESOURCE nr[1];
-} NRESARRAY, *LPNRESARRAY;
-enum { SBSC_HIDE,SBSC_SHOW,SBSC_TOGGLE,SBSC_QUERY };
-enum {
-	SBCMDID_ENABLESHOWTREE,SBCMDID_SHOWCONTROL,SBCMDID_CANCELNAVIGATION,
-	SBCMDID_MAYSAVECHANGES,SBCMDID_SETHLINKFRAME,SBCMDID_ENABLESTOP,SBCMDID_OPTIONS
-};
-typedef enum {
-	SVUIA_DEACTIVATE,SVUIA_ACTIVATE_NOFOCUS,SVUIA_ACTIVATE_FOCUS,
-	SVUIA_INPLACEACTIVATE
-} SVUIA_STATUS;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagEXTRASEARCH
-{
-	GUID guidSearch;
-	WCHAR wszFriendlyName[80];
-	WCHAR wszUrl[2084];
-} EXTRASEARCH, *LPEXTRASEARCH;
-typedef DWORD SHCOLSTATEF;
-typedef struct
-{
-	GUID fmtid;
-	DWORD pid;
-} SHCOLUMNID, *LPSHCOLUMNID;
-typedef const SHCOLUMNID *LPCSHCOLUMNID;
-typedef struct _SHELLDETAILS
-{
-	int fmt;
-	int cxChar;
-	STRRET str;
-} SHELLDETAILS, *LPSHELLDETAILS;
-typedef struct
-{
-	LPITEMIDLIST pidlTargetFolder;
-	WCHAR szTargetParsingName[MAX_PATH];
-	WCHAR szNetworkProvider[MAX_PATH];
-	DWORD dwAttributes;
-	int csidl;
-} PERSIST_FOLDER_TARGET_INFO;
-
-typedef enum {
-	SHGFP_TYPE_CURRENT = 0,
-	SHGFP_TYPE_DEFAULT = 1,
-} SHGFP_TYPE;
-#endif
-
-
-DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST);
-typedef IEnumIDList *LPENUMIDLIST;
-
-#ifdef COBJMACROS
-#define IEnumIDList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IEnumIDList_Release(T) (T)->lpVtbl->AddRef(T)
-#define IEnumIDList_AddRef(T) (T)->lpVtbl->Release(T)
-#define IEnumIDList_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
-#define IEnumIDList_Skip(T,a) (T)->lpVtbl->Skip(T,a)
-#define IEnumIDList_Reset(T) (T)->lpVtbl->Reset(T)
-#define IEnumIDList_Clone(T,a) (T)->lpVtbl->Clone(T,a)
-#endif
-
-#define INTERFACE IObjMgr
-DECLARE_INTERFACE_(IObjMgr, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Append)(THIS_ IUnknown*) PURE;
-	STDMETHOD(Remove)(THIS_ IUnknown*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IContextMenu
-DECLARE_INTERFACE_(IContextMenu,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
-	STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
-	STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
-};
-#undef INTERFACE
-typedef IContextMenu *LPCONTEXTMENU;
-
-#ifdef COBJMACROS
-#define IContextMenu_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#endif
-
-#define INTERFACE IContextMenu2
-DECLARE_INTERFACE_(IContextMenu2,IContextMenu)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
-	STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
-	STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
-	STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
-};
-#undef INTERFACE
-typedef IContextMenu2 *LPCONTEXTMENU2;
-
-#define INTERFACE IContextMenu3
-DECLARE_INTERFACE_(IContextMenu3,IContextMenu2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
- STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
- STDMETHOD(HandleMenuMsg2)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
-};
-#undef INTERFACE
-typedef IContextMenu3 *LPCONTEXTMENU3;
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct {
-	ULONG dwFlags;
-	ULONG dwReserved;
-	WCHAR wszFolder[MAX_PATH];
-} SHCOLUMNINIT,*LPSHCOLUMNINIT;
-typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT;
-typedef struct {
-	ULONG dwFlags;
-	DWORD dwFileAttributes;
-	ULONG dwReserved;
-	WCHAR *pwszExt;
-	WCHAR wszFile[MAX_PATH];
-} SHCOLUMNDATA,*LPSHCOLUMNDATA;
-typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA;
-#pragma pack(pop)
-
-#define MAX_COLUMN_NAME_LEN 80
-#define MAX_COLUMN_DESC_LEN 128
-
-#pragma pack(push,1)
-typedef struct {
-	SHCOLUMNID scid;
-	VARTYPE vt;
-	DWORD fmt;
-	UINT cChars;
-	DWORD csFlags;
-	WCHAR wszTitle[MAX_COLUMN_NAME_LEN];
-	WCHAR wszDescription[MAX_COLUMN_DESC_LEN];
-} SHCOLUMNINFO,*LPSHCOLUMNINFO;
-typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO;
-#pragma pack(pop)
-
-typedef enum {
-	SHCOLSTATE_TYPE_STR = 0x00000001,
-	SHCOLSTATE_TYPE_INT = 0x00000002,
-	SHCOLSTATE_TYPE_DATE = 0x00000003,
-	SHCOLSTATE_TYPEMASK = 0x0000000f,
-	SHCOLSTATE_ONBYDEFAULT = 0x00000010,
-	SHCOLSTATE_SLOW = 0x00000020,
-	SHCOLSTATE_EXTENDED = 0x00000040,
-	SHCOLSTATE_SECONDARYUI = 0x00000080,
-	SHCOLSTATE_HIDDEN = 0x00000100,
-	SHCOLSTATE_PREFER_VARCMP = 0x00000200
-} SHCOLSTATE;
-
-#ifdef COBJMACROS
-#define IContextMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu2_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu2_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu2_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu2_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
-#endif
-
-#ifdef COBJMACROS
-#define IContextMenu3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu3_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu3_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu3_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu3_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu3_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#define IContextMenu3_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
-#define IContextMenu3_HandleMenuMsg2(T,a,b,c,d) (T)->lpVtbl->HandleMenuMsg(T,a,b,c,d)
-#endif
-
-#define INTERFACE IColumnProvider
-DECLARE_INTERFACE_(IColumnProvider,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE;
-	STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE;
-	STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE;
-};
-#undef INTERFACE
-#endif  /* _WIN32_IE >= 0x0500 */
-
-#define INTERFACE IQueryInfo
-DECLARE_INTERFACE_(IQueryInfo,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE;
-	STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellExtInit
-DECLARE_INTERFACE_(IShellExtInit, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST,LPDATAOBJECT,HKEY) PURE;
-};
-#undef INTERFACE
-typedef IShellExtInit *LPSHELLEXTINIT;
-
-#define INTERFACE IShellPropSheetExt
-DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-	STDMETHOD(ReplacePage)(THIS_ UINT,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-};
-#undef INTERFACE
-typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
-
-#define INTERFACE IExtractIconA
-DECLARE_INTERFACE_(IExtractIconA, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE;
-	STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-#undef INTERFACE
-typedef IExtractIconA *LPEXTRACTICONA;
-
-#ifdef COBJMACROS
-#define IExtractIconA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconA_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconA_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconA_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#define INTERFACE IExtractIconW
-DECLARE_INTERFACE_(IExtractIconW, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE;
-	STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-#undef INTERFACE
-typedef IExtractIconW *LPEXTRACTICONW;
-
-#ifdef COBJMACROS
-#define IExtractIconW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconW_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconW_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconW_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#ifdef UNICODE
-#define IExtractIcon IExtractIconW
-#define LPEXTRACTICON LPEXTRACTICONW
-#else
-#define IExtractIcon IExtractIconA
-#define LPEXTRACTICON LPEXTRACTICONA
-#endif
-
-#define INTERFACE IShellLinkA
-DECLARE_INTERFACE_(IShellLinkA, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetPath)(THIS_ LPSTR,int,WIN32_FIND_DATAA*,DWORD) PURE;
-	STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
-	STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
-	STDMETHOD(GetDescription)(THIS_ LPSTR,int) PURE;
-	STDMETHOD(SetDescription)(THIS_ LPCSTR) PURE;
-	STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR,int) PURE;
-	STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR) PURE;
-	STDMETHOD(GetArguments)(THIS_ LPSTR,int) PURE;
-	STDMETHOD(SetArguments)(THIS_ LPCSTR) PURE;
-	STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
-	STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
-	STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
-	STDMETHOD(SetShowCmd)(THIS_ int) PURE;
-	STDMETHOD(GetIconLocation)(THIS_ LPSTR,int,int*) PURE;
-	STDMETHOD(SetIconLocation)(THIS_ LPCSTR,int) PURE;
-	STDMETHOD(SetRelativePath)(THIS_ LPCSTR ,DWORD) PURE;
-	STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
-	STDMETHOD(SetPath)(THIS_ LPCSTR) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellLinkA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkA_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkA_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkA_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkA_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkA_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkA_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkA_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkA_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkA_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkA_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkA_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkA_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkA_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkA_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkA_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkA_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkA_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkA_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkA_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#define INTERFACE IShellLinkW
-DECLARE_INTERFACE_(IShellLinkW, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetPath)(THIS_ LPWSTR,int,WIN32_FIND_DATAW*,DWORD) PURE;
-	STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
-	STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
-	STDMETHOD(GetDescription)(THIS_ LPWSTR,int) PURE;
-	STDMETHOD(SetDescription)(THIS_ LPCWSTR) PURE;
-	STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR,int) PURE;
-	STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR) PURE;
-	STDMETHOD(GetArguments)(THIS_ LPWSTR,int) PURE;
-	STDMETHOD(SetArguments)(THIS_ LPCWSTR) PURE;
-	STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
-	STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
-	STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
-	STDMETHOD(SetShowCmd)(THIS_ int) PURE;
-	STDMETHOD(GetIconLocation)(THIS_ LPWSTR,int,int*) PURE;
-	STDMETHOD(SetIconLocation)(THIS_ LPCWSTR,int) PURE;
-	STDMETHOD(SetRelativePath)(THIS_ LPCWSTR ,DWORD) PURE;
-	STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
-	STDMETHOD(SetPath)(THIS_ LPCWSTR) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellLinkW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkW_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkW_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkW_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkW_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkW_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkW_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkW_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkW_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkW_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkW_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkW_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkW_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkW_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkW_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkW_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkW_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkW_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkW_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkW_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#define INTERFACE IShellFolder
-DECLARE_INTERFACE_(IShellFolder, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
-	STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
-	STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
-	STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
-	STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
-	STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
-	STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
-	STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
-	STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
-	STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
-};
-#undef INTERFACE
-typedef IShellFolder *LPSHELLFOLDER;
-
-#ifdef COBJMACROS
-#define IShellFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
-#define IShellFolder_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-
-DECLARE_ENUMERATOR_(IEnumExtraSearch,LPEXTRASEARCH);
-typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
-
-#define INTERFACE IShellFolder2
-DECLARE_INTERFACE_(IShellFolder2, IShellFolder)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
-	STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
-	STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
-	STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
-	STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
-	STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
-	STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
-	STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
-	STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
-	STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
-	STDMETHOD(GetDefaultSearchGUID)(THIS_ GUID*) PURE;
-	STDMETHOD(EnumSearches)(THIS_ IEnumExtraSearch**) PURE;
-	STDMETHOD(GetDefaultColumn)(THIS_ DWORD,ULONG*,ULONG*) PURE;
-	STDMETHOD(GetDefaultColumnState)(THIS_ UINT,SHCOLSTATEF*) PURE;
-	STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST,const SHCOLUMNID*,VARIANT*) PURE;
-	STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST,UINT,SHELLDETAILS*) PURE;
-	STDMETHOD(MapColumnToSCID)(THIS_ UINT,SHCOLUMNID*) PURE;
-};
-#undef INTERFACE
-typedef IShellFolder2 *LPSHELLFOLDER2;
-
-#ifdef COBJMACROS
-#define IShellFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder2_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder2_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder2_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder2_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder2_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder2_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
-#define IShellFolder2_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder2_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder2_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder2_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#define IShellFolder2_GetDefaultSearchGUID(T,a) (T)->lpVtbl->GetDefaultSearchGUID(T,a)
-#define IShellFolder2_EnumSearches(T,a) (T)->lpVtbl->EnumSearches(T,a)
-#define IShellFolder2_GetDefaultColumn(T,a,b,c) (T)->lpVtbl->GetDefaultColumn(T,a,b,c)
-#define IShellFolder2_GetDefaultColumnState(T,a,b) (T)->lpVtbl->GetDefaultColumnState(T,a,b)
-#define IShellFolder2_GetDetailsEx(T,a,b,c) (T)->lpVtbl->GetDetailsEx(T,a,b,c)
-#define IShellFolder2_GetDetailsOf(T,a,b,c) (T)->lpVtbl->GetDetailsOf(T,a,b,c)
-#define IShellFolder2_MapColumnToSCID(T,a,b) (T)->lpVtbl->MapColumnToSCID(T,a,b)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-#define INTERFACE ICopyHook
-DECLARE_INTERFACE_(ICopyHook, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(UINT,CopyCallback)(THIS_ HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD) PURE;
-};
-#undef INTERFACE
-typedef ICopyHook *LPCOPYHOOK;
-
-#define INTERFACE IFileViewerSite
-DECLARE_INTERFACE(IFileViewerSite)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetPinnedWindow)(THIS_ HWND) PURE;
-	STDMETHOD(GetPinnedWindow)(THIS_ HWND*) PURE;
-};
-#undef INTERFACE
-typedef IFileViewerSite *LPFILEVIEWERSITE;
-
-#define INTERFACE IFileViewer
-DECLARE_INTERFACE(IFileViewer)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(ShowInitialize)(THIS_ LPFILEVIEWERSITE) PURE;
-	STDMETHOD(Show)(THIS_ LPFVSHOWINFO) PURE;
-	STDMETHOD(PrintTo)(THIS_ LPSTR,BOOL) PURE;
-};
-#undef INTERFACE
-typedef IFileViewer *LPFILEVIEWER;
-
-#define INTERFACE IFileSystemBindData
-DECLARE_INTERFACE_(IFileSystemBindData, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW*) PURE;
-	STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW*) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IPersistFolder
-DECLARE_INTERFACE_(IPersistFolder,IPersist)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-	STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder *LPPERSISTFOLDER;
-
-#ifdef COBJMACROS
-#define IPersistFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#endif
-
-#if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500)
-
-#define INTERFACE IPersistFolder2
-DECLARE_INTERFACE_(IPersistFolder2,IPersistFolder)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-	STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
-	STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder2 *LPPERSISTFOLDER2;
-
-#ifdef COBJMACROS
-#define IPersistFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder2_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder2_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-
-#define INTERFACE IPersistFolder3
-DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-	STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
-	STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
-	STDMETHOD(InitializeEx)(THIS_ IBindCtx*,LPCITEMIDLIST,const PERSIST_FOLDER_TARGET_INFO*) PURE;
-	STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO*) PURE;
-};
-#undef INTERFACE
-typedef IPersistFolder3 *LPPERSISTFOLDER3;
-
-#ifdef COBJMACROS
-#define IPersistFolder3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder3_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder3_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder3_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder3_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder3_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#define IPersistFolder3_InitializeEx(T,a,b,c) (T)->lpVtbl->InitializeEx(T,a,b,c)
-#define IPersistFolder3_GetFolderTargetInfo(T,a) (T)->lpVtbl->GetFolderTargetInfo(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-
-typedef _COM_interface IShellBrowser *LPSHELLBROWSER;
-typedef _COM_interface IShellView *LPSHELLVIEW;
-
-#define INTERFACE IShellBrowser
-DECLARE_INTERFACE_(IShellBrowser,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(InsertMenusSB)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
-	STDMETHOD(SetMenuSB)(THIS_ HMENU,HOLEMENU,HWND) PURE;
-	STDMETHOD(RemoveMenusSB)(THIS_ HMENU) PURE;
-	STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR) PURE;
-	STDMETHOD(EnableModelessSB)(THIS_ BOOL) PURE;
-	STDMETHOD(TranslateAcceleratorSB) (THIS_ LPMSG,WORD) PURE;
-	STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST,UINT) PURE;
-	STDMETHOD(GetViewStateStream)(THIS_ DWORD,LPSTREAM*) PURE;
-	STDMETHOD(GetControlWindow)(THIS_ UINT,HWND*) PURE;
-	STDMETHOD(SendControlMsg)(THIS_ UINT,UINT,WPARAM,LPARAM,LRESULT*) PURE;
-	STDMETHOD(QueryActiveShellView)(THIS_ LPSHELLVIEW*) PURE;
-	STDMETHOD(OnViewWindowActive)(THIS_ LPSHELLVIEW) PURE;
-	STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON,UINT,UINT) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define IShellBrowser_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellBrowser_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellBrowser_InsertMenusSB(T,a,b) (T)->lpVtbl->InsertMenusSB(T,a,b)
-#define IShellBrowser_SetMenuSB(T,a,b,c) (T)->lpVtbl->SetMenuSB(T,a,b,c)
-#define IShellBrowser_RemoveMenusSB(T,a) (T)->lpVtbl->RemoveMenusSB(T,a)
-#define IShellBrowser_SetStatusTextSB(T,a) (T)->lpVtbl->SetStatusTextSB(T,a)
-#define IShellBrowser_EnableModelessSB(T,a) (T)->lpVtbl->EnableModelessSB(T,a)
-#define IShellBrowser_TranslateAcceleratorSB(T,a,b) (T)->lpVtbl->TranslateAcceleratorSB(T,a,b)
-#define IShellBrowser_BrowseObject(T,a,b) (T)->lpVtbl->BrowseObject(T,a,b)
-#define IShellBrowser_GetViewStateStream(T,a,b) (T)->lpVtbl->GetViewStateStream(T,a,b)
-#define IShellBrowser_GetControlWindow(T,a,b) (T)->lpVtbl->GetControlWindow(T,a,b)
-#define IShellBrowser_SendControlMsg(T,a,b,c,d,e) (T)->lpVtbl->SendControlMsg(T,a,b,c,d,e)
-#define IShellBrowser_QueryActiveShellView(T,a) (T)->lpVtbl->QueryActiveShellView(T,a)
-#define IShellBrowser_OnViewWindowActive(T,a) (T)->lpVtbl->OnViewWindowActive(T,a)
-#define IShellBrowser_SetToolbarItems(T,a,b,c) (T)->lpVtbl->SetToolbarItems(T,a,b,c)
-#endif
-
-#define INTERFACE IShellView
-DECLARE_INTERFACE_(IShellView,IOleWindow)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-	STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
-	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
-	STDMETHOD(UIActivate)(THIS_ UINT) PURE;
-	STDMETHOD(Refresh) (THIS) PURE;
-	STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
-	STDMETHOD(DestroyViewWindow)(THIS) PURE;
-	STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
-	STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-	STDMETHOD(SaveViewState)(THIS) PURE;
-	STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
-	STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
-};
-#undef INTERFACE
-
-#ifdef COBJMACROS
-#define IShellView_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellView_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellView_Release(T) (T)->lpVtbl->Release(T)
-#define IShellView_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellView_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellView_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a)
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a)
-#else
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
-#endif
-#define IShellView_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a)
-#define IShellView_Refresh(T) (T)->lpVtbl->Refresh(T)
-#define IShellView_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e)
-#define IShellView_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T)
-#define IShellView_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a)
-#define IShellView_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c)
-#define IShellView_SaveViewState(T) (T)->lpVtbl->SaveViewState(T)
-#define IShellView_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b)
-#define IShellView_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c)
-#endif
-
-#define INTERFACE ICommDlgBrowser
-DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE;
-	STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE;
-	STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE;
-};
-#undef INTERFACE
-typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
-
-#ifdef COBJMACROS
-#define ICommDlgBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define ICommDlgBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define ICommDlgBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define ICommDlgBrowser_OnDefaultCommand(T,a) (T)->lpVtbl->OnDefaultCommand(T,a)
-#define ICommDlgBrowser_OnStateChange(T,a,b) (T)->lpVtbl->OnStateChange(T,a,b)
-#define ICommDlgBrowser_IncludeObject(T,a,b) (T)->lpVtbl->IncludeObject(T,a,b)
-#endif
-
-typedef GUID SHELLVIEWID;
-typedef struct _SV2CVW2_PARAMS {
-	DWORD cbSize;
-	IShellView *psvPrev;
-	FOLDERSETTINGS const *pfs;
-	IShellBrowser *psbOwner;
-	RECT *prcView;
-	SHELLVIEWID const *pvid;
-	HWND hwndView;
-} SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS;
-#define INTERFACE IShellView2
-DECLARE_INTERFACE_(IShellView2,IShellView)
-{
-
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
-	STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-	STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-	STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
-	STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
-	STDMETHOD(UIActivate)(THIS_ UINT) PURE;
-	STDMETHOD(Refresh) (THIS) PURE;
-	STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
-	STDMETHOD(DestroyViewWindow)(THIS) PURE;
-	STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
-	STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-	STDMETHOD(SaveViewState)(THIS) PURE;
-	STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
-	STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
-	STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE;
-	STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellExecuteHookA
-DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellExecuteHookW
-DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IShellIcon
-DECLARE_INTERFACE_(IShellIcon,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST,UINT,PINT) PURE;
-};
-#undef INTERFACE
-typedef IShellIcon *LPSHELLICON;
-
-typedef struct {
-	BOOL fShowAllObjects : 1;
-	BOOL fShowExtensions : 1;
-	BOOL fNoConfirmRecycle : 1;
-	BOOL fShowSysFiles : 1;
-	BOOL fShowCompColor : 1;
-	BOOL fDoubleClickInWebView : 1;
-	BOOL fDesktopHTML : 1;
-	BOOL fWin95Classic : 1;
-	BOOL fDontPrettyPath : 1;
-	BOOL fShowAttribCol : 1;
-	BOOL fMapNetDrvBtn : 1;
-	BOOL fShowInfoTip : 1;
-	BOOL fHideIcons : 1;
-	UINT fRestFlags : 3;
-} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
-
-#define SSF_SHOWALLOBJECTS 0x1
-#define SSF_SHOWEXTENSIONS 0x2
-#define SSF_SHOWCOMPCOLOR 0x8
-#define SSF_SHOWSYSFILES 0x20
-#define SSF_DOUBLECLICKINWEBVIEW 0x80
-#define SSF_SHOWATTRIBCOL 0x100
-#define SSF_DESKTOPHTML 0x200
-#define SSF_WIN95CLASSIC 0x400
-#define SSF_DONTPRETTYPATH 0x800
-#define SSF_MAPNETDRVBUTTON 0x1000
-#define SSF_SHOWINFOTIP 0x2000
-#define SSF_HIDEICONS 0x4000
-#define SSF_NOCONFIRMRECYCLE 0x8000
-
-#define INTERFACE IShellIconOverlayIdentifier
-DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE;
-	STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE;
-	STDMETHOD(GetPriority)(THIS_ int*) PURE;
-};
-#undef INTERFACE
-
-#if (_WIN32_WINNT >= 0x0501) /* WXP */
-typedef _COM_interface IFolderView *LPFOLDERVIEW;
-
-#define INTERFACE IFolderView
-DECLARE_INTERFACE_(IFolderView,IUnknown)
-{
-   STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-   STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-   STDMETHOD_(ULONG,Release)(THIS) PURE;
-   STDMETHOD(GetAutoArrange)(THIS) PURE;
-   STDMETHOD(GetCurrentViewMode)(THIS_ UINT) PURE;
-   STDMETHOD(GetDefaultSpacing)(THIS_ POINT*) PURE;
-   STDMETHOD(GetFocusedItem)(THIS_ int*) PURE;
-   STDMETHOD(GetFolder)(THIS_ REFIID,PVOID*) PURE;
-   STDMETHOD(GetItemPosition)(THIS_ LPCITEMIDLIST,POINT*) PURE;
-   STDMETHOD(GetSelectionMarkedItem)(THIS_ int*) PURE;
-   STDMETHOD(GetSpacing)(THIS_ POINT*) PURE;
-   STDMETHOD(Item)(THIS_ int,LPITEMIDLIST*) PURE;
-   STDMETHOD(ItemCount)(THIS_ UINT,int*) PURE;
-   STDMETHOD(Items)(THIS_ UINT,REFIID,PVOID*) PURE;
-   STDMETHOD(SelectAndPositionItems)(THIS_ UINT,LPCITEMIDLIST*,POINT*,DWORD) PURE;
-   STDMETHOD(SelectItem)(THIS_ int,DWORD) PURE;
-   STDMETHOD(SetCurrentViewMode)(THIS_ UINT) PURE;
-};
-#undef INTERFACE
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#define ISIOI_ICONFILE 0x00000001
-#define ISIOI_ICONINDEX 0x00000002
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-typedef struct {
-	BOOL fShowAllObjects : 1;
-	BOOL fShowExtensions : 1;
-	BOOL fNoConfirmRecycle : 1;
-	BOOL fShowSysFiles : 1;
-	BOOL fShowCompColor : 1;
-	BOOL fDoubleClickInWebView : 1;
-	BOOL fDesktopHTML : 1;
-	BOOL fWin95Classic : 1;
-	BOOL fDontPrettyPath : 1;
-	BOOL fShowAttribCol : 1;
-	BOOL fMapNetDrvBtn : 1;
-	BOOL fShowInfoTip : 1;
-	BOOL fHideIcons : 1;
-	BOOL fWebView : 1;
-	BOOL fFilter : 1;
-	BOOL fShowSuperHidden : 1;
-	BOOL fNoNetCrawling : 1;
-	DWORD dwWin95Unused;
-	UINT uWin95Unused;
-	LONG lParamSort;
-	int iSortDirection;
-	UINT version;
-	UINT uNotUsed;
-	BOOL fSepProcess : 1;
-	BOOL fStartPanelOn : 1;
-	BOOL fShowStartPage : 1;
-	UINT fSpareFlags : 13;
-} SHELLSTATE, *LPSHELLSTATE;
-#endif /* _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct
-{
-	SIZE sizeDragImage;
-	POINT ptOffset;
-	HBITMAP hbmpDragImage;
-	COLORREF crColorKey;
-} SHDRAGIMAGE, *LPSHDRAGIMAGE;
-#pragma pack(pop)
-
-#define INTERFACE IDragSourceHelper
-DECLARE_INTERFACE_(IDragSourceHelper, IUnknown)
-{
-	STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
-	STDMETHOD_(ULONG, AddRef) (THIS) PURE;
-	STDMETHOD_(ULONG, Release) (THIS) PURE;
-	STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE;
-	STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IDropTargetHelper
-DECLARE_INTERFACE_(IDropTargetHelper, IUnknown)
-{
-	STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE;
-	STDMETHOD_(ULONG, AddRef) (THIS) PURE;
-	STDMETHOD_(ULONG, Release) (THIS) PURE;
-	STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
-	STDMETHOD (DragLeave)(THIS) PURE;
-	STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE;
-	STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
-	STDMETHOD (Show)(THIS_ BOOL fShow) PURE;
-};
-#undef INTERFACE
-#endif /* _WIN32_IE >= 0x0500 */
-
-#if (_WIN32_WINNT >= 0x0500)
-BOOL WINAPI PathResolve(LPWSTR, LPCWSTR*, UINT);
-#define PRF_VERIFYEXISTS            0x0001
-#define PRF_TRYPROGRAMEXTENSIONS    (0x0002 | PRF_VERIFYEXISTS)
-#define PRF_FIRSTDIRDEF             0x0004
-#define PRF_DONTFINDLNK             0x0008
-#define IDO_SHGIOI_SHARE            0x0FFFFFFF
-#define IDO_SHGIOI_LINK             0x0FFFFFFE
-#define IDO_SHGIOI_SLOWFILE         0x0FFFFFFD
-#define IDO_SHGIOI_DEFAULT          0x0FFFFFFC
-#endif
-
-void WINAPI SHAddToRecentDocs(UINT,PCVOID);
-LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA);
-LPITEMIDLIST WINAPI SHBrowseForFolderW(PBROWSEINFOW);
-void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID);
-HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*);
-HRESULT WINAPI SHGetInstanceExplorer(IUnknown **);
-HRESULT WINAPI SHGetMalloc(LPMALLOC*);
-BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
-BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*);
-HRESULT WINAPI SHLoadInProc(REFCLSID);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL);
-BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL);
-#endif
-/* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */
-HRESULT WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR);
-HRESULT WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR);
-#if (_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500) /* ME or W2K */
-HRESULT WINAPI SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, int iIconIndex);
-INT WINAPI SHGetIconOverlayIndexA(LPCSTR pszIconPath, int iIconIndex);
-INT WINAPI SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES);
-INT WINAPI SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES);
-HRESULT WINAPI SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0501) /* XP */
-HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
-HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
-HRESULT WINAPI SHParseDisplayName(LPCWSTR,IBindCtx*,LPITEMIDLIST,SFGAOF,SFGAOF*);
-#endif
-void WINAPI SHGetSettings(LPSHELLFLAGSTATE,DWORD);
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL);
-#endif
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);
-BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL);
-BOOL WINAPI ILRemoveLastID(LPITEMIDLIST);
-HRESULT WINAPI ILLoadFromStream(IStream*, LPITEMIDLIST*);
-HRESULT WINAPI ILSaveToStream(IStream*, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL);
-LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST);
-UINT WINAPI ILGetSize(LPCITEMIDLIST);
-void WINAPI ILFree(LPITEMIDLIST);
-
-HRESULT WINAPI SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**);
-#endif
-
-#ifdef UNICODE
-typedef IShellExecuteHookW IShellExecuteHook;
-typedef IShellLinkW IShellLink;
-typedef BROWSEINFOW BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderW
-#define SHGetDataFromIDList SHGetDataFromIDListW
-#define SHGetPathFromIDList SHGetPathFromIDListW
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathW
-#endif
-#define SHGetFolderPath SHGetFolderPathW
-#if (_WIN32_WINNT >= 0x0500)
-#define SHGetIconOverlayIndex SHGetIconOverlayIndexW
-#define SHCreateDirectoryEx SHCreateDirectoryExW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW
-#endif
-#define FILEDESCRIPTOR FILEDESCRIPTORW
-#define LPFILEDESCRIPTOR LPFILEDESCRIPTORW
-#define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORW
-#define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORW
-
-#else
-typedef IShellExecuteHookA IShellExecuteHook;
-typedef IShellLinkA IShellLink;
-typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderA
-#define SHGetDataFromIDList SHGetDataFromIDListA
-#define SHGetPathFromIDList SHGetPathFromIDListA
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathA
-#endif
-#define SHGetFolderPath SHGetFolderPathA
-#if (_WIN32_WINNT >= 0x0500)
-#define SHGetIconOverlayIndex SHGetIconOverlayIndexA
-#define SHCreateDirectoryEx SHCreateDirectoryExA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA
-#endif
-#define FILEDESCRIPTOR FILEDESCRIPTORA
-#define LPFILEDESCRIPTOR LPFILEDESCRIPTORA
-#define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORA
-#define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORA
-#endif /* UNICODE */
-
-DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
-
-#define SHFMT_ID_DEFAULT 0xFFFF
-#define SHFMT_OPT_FULL 1
-#define SHFMT_OPT_SYSONLY 2
-#define SHFMT_ERROR 0xFFFFFFFF
-#define SHFMT_CANCEL 0xFFFFFFFE
-#define SHFMT_NOFORMAT 0xFFFFFFFD
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _SHLOBJ_H */
Index: Daodan/MinGW/include/shlwapi.h
===================================================================
--- Daodan/MinGW/include/shlwapi.h	(revision 1046)
+++ 	(revision )
@@ -1,742 +1,0 @@
-#ifndef _SHLWAPI_H
-#define _SHLWAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _OBJC_NO_COM
-#include <objbase.h>
-#include <shlobj.h>
-#endif
-
-#ifndef WINSHLWAPI
-#define WINSHLWAPI DECLSPEC_IMPORT
-#endif
-
-#define DLLVER_PLATFORM_WINDOWS	0x00000001
-#define DLLVER_PLATFORM_NT	0x00000002
-
-#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
-#define URL_DONT_SIMPLIFY	0x08000000
-#define URL_ESCAPE_PERCENT	0x00001000
-#define URL_ESCAPE_SEGMENT_ONLY	0x00002000
-#define URL_ESCAPE_SPACES_ONLY	0x04000000
-#define URL_ESCAPE_UNSAFE	0x20000000
-#define URL_INTERNAL_PATH	0x00800000
-#define URL_PARTFLAG_KEEPSCHEME	0x00000001
-#define URL_PLUGGABLE_PROTOCOL	0x40000000
-#define URL_UNESCAPE		0x10000000
-#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
-#define URL_UNESCAPE_INPLACE	0x00100000
-
-#ifndef RC_INVOKED
-#include <pshpack1.h>
-typedef struct _DllVersionInfo
-{
-    DWORD cbSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformID;
-} DLLVERSIONINFO;
-typedef struct _DLLVERSIONINFO2
-{
-    DLLVERSIONINFO info1;
-    DWORD dwFlags;
-    ULONGLONG ullVersion;
-} DLLVERSIONINFO2;
-#include <poppack.h>
-
-#define MAKEDLLVERULL(major, minor, build, qfe) \
-        (((ULONGLONG)(major) << 48) | \
-         ((ULONGLONG)(minor) << 32) | \
-         ((ULONGLONG)(build) << 16) | \
-         ((ULONGLONG)(  qfe) <<  0))
-
-typedef enum {
-    ASSOCSTR_COMMAND = 1,
-    ASSOCSTR_EXECUTABLE,
-    ASSOCSTR_FRIENDLYDOCNAME,
-    ASSOCSTR_FRIENDLYAPPNAME,
-    ASSOCSTR_NOOPEN,
-    ASSOCSTR_SHELLNEWVALUE,
-    ASSOCSTR_DDECOMMAND,
-    ASSOCSTR_DDEIFEXEC,
-    ASSOCSTR_DDEAPPLICATION,
-    ASSOCSTR_DDETOPIC,
-    ASSOCSTR_INFOTIP
-#if _WIN32_IE >= 0x0600
-    ,
-    ASSOCSTR_QUICKTIP,
-    ASSOCSTR_TILEINFO,
-    ASSOCSTR_CONTENTTYPE,
-    ASSOCSTR_DEFAULTICON,
-    ASSOCSTR_SHELLEXTENSION
-#endif
-} ASSOCSTR;
-typedef enum
-{
-    ASSOCKEY_SHELLEXECCLASS = 1,
-    ASSOCKEY_APP,
-    ASSOCKEY_CLASS,
-    ASSOCKEY_BASECLASS
-} ASSOCKEY;
-typedef enum
-{
-    ASSOCDATA_MSIDESCRIPTOR = 1,
-    ASSOCDATA_NOACTIVATEHANDLER,
-    ASSOCDATA_QUERYCLASSSTORE,
-    ASSOCDATA_HASPERUSERASSOC
-#if _WIN32_IE >= 0x0600
-    ,
-    ASSOCDATA_EDITFLAGS,
-    ASSOCDATA_VALUE
-#endif
-} ASSOCDATA;
-typedef enum {
-    ASSOCF_INIT_NOREMAPCLSID = 0x00000001,
-    ASSOCF_INIT_BYEXENAME = 0x00000002,
-    ASSOCF_OPEN_BYEXENAME = 0x00000002,
-    ASSOCF_INIT_DEFAULTTOSTAR = 0x00000004,
-    ASSOCF_INIT_DEFAULTTOFOLDER = 0x00000008,
-    ASSOCF_NOUSERSETTINGS = 0x00000010,
-    ASSOCF_NOTRUNCATE = 0x00000020,
-    ASSOCF_VERIFY = 0x00000040,
-    ASSOCF_REMAPRUNDLL = 0x00000080,
-    ASSOCF_NOFIXUPS = 0x00000100,
-    ASSOCF_IGNOREBASECLASS = 0x00000200,
-    ASSOCF_INIT_IGNOREUNKNOWN = 0x00000400
-} ASSOCF;
-typedef enum
-{
-    SHREGDEL_DEFAULT = 0x00000000,
-    SHREGDEL_HKCU    = 0x00000001,
-    SHREGDEL_HKLM    = 0x00000010,
-    SHREGDEL_BOTH    = 0x00000011
-} SHREGDEL_FLAGS;
-typedef enum
-{
-    SHREGENUM_DEFAULT = 0x00000000,
-    SHREGENUM_HKCU    = 0x00000001,
-    SHREGENUM_HKLM    = 0x00000010,
-    SHREGENUM_BOTH    = 0x00000011
-} SHREGENUM_FLAGS;
-typedef enum
-{
-    URLIS_URL,
-    URLIS_OPAQUE,
-    URLIS_NOHISTORY,
-    URLIS_FILEURL,
-    URLIS_APPLIABLE,
-    URLIS_DIRECTORY,
-    URLIS_HASQUERY
-} URLIS;
-
-typedef HANDLE HUSKEY, *PHUSKEY;
-
-typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
-
-WINSHLWAPI BOOL WINAPI ChrCmpIA(WORD,WORD);
-WINSHLWAPI BOOL WINAPI ChrCmpIW(WCHAR,WCHAR);
-#define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
-#define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
-#define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
-#define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
-WINSHLWAPI BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
-WINSHLWAPI BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
-WINSHLWAPI HRESULT WINAPI SHStrDupA(LPCSTR,LPWSTR*);
-WINSHLWAPI HRESULT WINAPI SHStrDupW(LPCWSTR,LPWSTR*);
-WINSHLWAPI LPSTR WINAPI StrCatA(LPSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,int);
-WINSHLWAPI LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrChrA(LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
-WINSHLWAPI LPSTR WINAPI StrChrIA(LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
-#define StrCmpIA lstrcmpiA
-#define StrCmpA lstrcmpA
-#define StrCpyA lstrcpyA
-#define StrCpyNA lstrcpynA
-WINSHLWAPI int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCmpNA(LPCSTR,LPCSTR,int);
-WINSHLWAPI int WINAPI StrCmpNW(LPCWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCmpNIA(LPCSTR,LPCSTR,int);
-WINSHLWAPI int WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCSpnA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrCSpnIA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrDupA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrDupW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
-WINSHLWAPI LPSTR WINAPI StrFormatByteSizeA(DWORD,LPSTR,UINT);
-WINSHLWAPI LPWSTR WINAPI StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
-WINSHLWAPI LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
-WINSHLWAPI LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
-WINSHLWAPI int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
-WINSHLWAPI int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
-WINSHLWAPI BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
-WINSHLWAPI BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
-WINSHLWAPI LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
-WINSHLWAPI LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
-WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
-WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
-#endif
-WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrStrA(LPCSTR, LPCSTR);
-WINSHLWAPI LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrToIntA(LPCSTR);
-WINSHLWAPI int WINAPI StrToIntW(LPCWSTR);
-#define STIF_DEFAULT 0x0L
-#define STIF_SUPPORT_HEX 0x1L
-WINSHLWAPI BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
-WINSHLWAPI BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
-WINSHLWAPI BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathAddBackslashA(LPSTR);
-WINSHLWAPI LPWSTR WINAPI PathAddBackslashW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathBuildRootA(LPSTR,int);
-WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
-WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
-WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
-WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
-WINSHLWAPI BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
-WINSHLWAPI HRESULT WINAPI PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI BOOL WINAPI PathFileExistsA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathFileExistsW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindExtensionA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindFileNameA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindNextComponentA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
-WINSHLWAPI BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
-WINSHLWAPI LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
-WINSHLWAPI LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
-WINSHLWAPI LPSTR WINAPI PathGetArgsA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathGetArgsW(LPCWSTR);
-WINSHLWAPI UINT WINAPI PathGetCharTypeA(UCHAR);
-WINSHLWAPI UINT WINAPI PathGetCharTypeW(WCHAR);
-WINSHLWAPI int WINAPI PathGetDriveNumberA(LPCSTR);
-WINSHLWAPI int WINAPI PathGetDriveNumberW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsFileSpecA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsFileSpecW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsNetworkPathA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsRelativeA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsRelativeW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsRootA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsRootW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathIsUNCA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR);
-WINSHLWAPI int WINAPI PathParseIconLocationW(LPWSTR);
-WINSHLWAPI void WINAPI PathQuoteSpacesA(LPSTR);
-WINSHLWAPI void WINAPI PathQuoteSpacesW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
-WINSHLWAPI void WINAPI PathRemoveArgsA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveArgsW(LPWSTR);
-WINSHLWAPI LPSTR WINAPI PathRemoveBackslashA(LPSTR);
-WINSHLWAPI LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
-WINSHLWAPI void WINAPI PathRemoveBlanksA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveBlanksW(LPWSTR);
-WINSHLWAPI void WINAPI PathRemoveExtensionA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveExtensionW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRemoveFileSpecA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
-WINSHLWAPI void WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
-WINSHLWAPI void WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathSkipRootA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathSkipRootW(LPCWSTR);
-WINSHLWAPI void WINAPI PathStripPathA(LPSTR);
-WINSHLWAPI void WINAPI PathStripPathW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathStripToRootA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathStripToRootW(LPWSTR);
-WINSHLWAPI void WINAPI PathUndecorateA(LPSTR);
-WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
-WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
-WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
-WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
-#endif
-WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
-WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
-WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
-WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
-WINSHLWAPI DWORD WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-#ifndef _OBJC_NO_COM
-WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
-WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
-WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
-#endif
-WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
-WINSHLWAPI HRESULT WINAPI AssocCreate(CLSID,const IID* const,LPVOID*);
-WINSHLWAPI HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
-WINSHLWAPI HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
-
-WINSHLWAPI HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI int WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
-WINSHLWAPI int WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
-WINSHLWAPI HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI LPCSTR WINAPI UrlGetLocationA(LPCSTR);
-WINSHLWAPI LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
-WINSHLWAPI HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlHashA(LPCSTR,LPBYTE,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlHashW(LPCWSTR,LPBYTE,DWORD);
-WINSHLWAPI BOOL WINAPI UrlIsA(LPCSTR,URLIS);
-WINSHLWAPI BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
-#define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
-#define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
-WINSHLWAPI BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
-WINSHLWAPI BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI UrlIsOpaqueA(LPCSTR);
-WINSHLWAPI BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
-WINSHLWAPI HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
-#define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
-	UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
-#define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
-	UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
-WINSHLWAPI DWORD WINAPI SHRegCloseUSKey(HUSKEY);
-WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
-WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
-WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
-WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
-WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
-WINSHLWAPI DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
-WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
-WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
-WINSHLWAPI LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI HashData(LPBYTE,DWORD,LPBYTE,DWORD);
-WINSHLWAPI HPALETTE WINAPI SHCreateShellPalette(HDC);
-WINSHLWAPI COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
-WINSHLWAPI COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
-WINSHLWAPI void WINAPI ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);
-WINSHLWAPI int __cdecl wnsprintfA(LPSTR,int,LPCSTR,...);
-WINSHLWAPI int __cdecl wnsprintfW(LPWSTR,int,LPCWSTR,...);
-WINSHLWAPI int WINAPI wvnsprintfA(LPSTR,int,LPCSTR,va_list);
-WINSHLWAPI int WINAPI wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
-
-HINSTANCE WINAPI MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL);
-HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
-
-HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
-
-#ifdef UNICODE
-#define ChrCmpI ChrCmpIW
-#define IntlStrEqN IntlStrEqNW
-#define IntlStrEqNI IntlStrEqNIW
-#define IntlStrEqWorker IntlStrEqWorkerW
-#define SHStrDup SHStrDupW
-#define StrCat StrCatW
-#define StrCatBuff StrCatBuffW
-#define StrChr StrChrW
-#define StrChrI StrChrIW
-#define StrCmp StrCmpW
-#define StrCmpI StrCmpIW
-#define StrCmpNI StrCmpNIW
-#define StrCmpN StrCmpNW
-#define StrCpyN StrCpyNW
-#define StrCpy StrCpyW
-#define StrCSpnI StrCSpnIW
-#define StrCSpn StrCSpnW
-#define StrDup StrDupW
-#define StrFormatByteSize StrFormatByteSizeW
-#define StrFormatKBSize StrFormatKBSizeW
-#define StrFromTimeInterval StrFromTimeIntervalW
-#define StrIsIntlEqual StrIsIntlEqualW
-#define StrNCat StrNCatW
-#define StrPBrk StrPBrkW
-#define StrRChr StrRChrW
-#define StrRChrI StrRChrIW
-#ifndef _OBJC_NO_COM
-#define StrRetToBuf StrRetToBufW
-#define StrRetToStr StrRetToStrW
-#endif
-#define StrRStrI StrRStrIW
-#define StrSpn StrSpnW
-#define StrStrI StrStrIW
-#define StrStr StrStrW
-#define StrToInt StrToIntW
-#define StrToIntEx StrToIntExW
-#define StrTrim StrTrimW
-#define PathAddBackslash PathAddBackslashW
-#define PathAddExtension PathAddExtensionW
-#define PathAppend PathAppendW
-#define PathBuildRoot PathBuildRootW
-#define PathCanonicalize PathCanonicalizeW
-#define PathCombine PathCombineW
-#define PathCommonPrefix PathCommonPrefixW
-#define PathCompactPath PathCompactPathW
-#define PathCompactPathEx PathCompactPathExW
-#define PathCreateFromUrl PathCreateFromUrlW
-#define PathFileExists PathFileExistsW
-#define PathFindExtension PathFindExtensionW
-#define PathFindFileName PathFindFileNameW
-#define PathFindNextComponent PathFindNextComponentW
-#define PathFindOnPath PathFindOnPathW
-#define PathFindSuffixArray PathFindSuffixArrayW
-#define PathGetArgs PathGetArgsW
-#define PathGetCharType PathGetCharTypeW
-#define PathGetDriveNumber PathGetDriveNumberW
-#define PathIsContentType PathIsContentTypeW
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyW
-#define PathIsDirectory PathIsDirectoryW
-#define PathIsFileSpec PathIsFileSpecW
-#define PathIsLFNFileSpec PathIsLFNFileSpecW
-#define PathIsNetworkPath PathIsNetworkPathW
-#define PathIsPrefix PathIsPrefixW
-#define PathIsRelative PathIsRelativeW
-#define PathIsRoot PathIsRootW
-#define PathIsSameRoot PathIsSameRootW
-#define PathIsSystemFolder PathIsSystemFolderW
-#define PathIsUNCServerShare PathIsUNCServerShareW
-#define PathIsUNCServer PathIsUNCServerW
-#define PathIsUNC PathIsUNCW
-#define PathIsURL PathIsURLW
-#define PathMakePretty PathMakePrettyW
-#define PathMakeSystemFolder PathMakeSystemFolderW
-#define PathMatchSpec PathMatchSpecW
-#define PathParseIconLocation PathParseIconLocationW
-#define PathQuoteSpaces PathQuoteSpacesW
-#define PathRelativePathTo PathRelativePathToW
-#define PathRemoveArgs PathRemoveArgsW
-#define PathRemoveBackslash PathRemoveBackslashW
-#define PathRemoveBlanks PathRemoveBlanksW
-#define PathRemoveExtension PathRemoveExtensionW
-#define PathRemoveFileSpec PathRemoveFileSpecW
-#define PathRenameExtension PathRenameExtensionW
-#define PathSearchAndQualify PathSearchAndQualifyW
-#define PathSetDlgItemPath PathSetDlgItemPathW
-#define PathSkipRoot PathSkipRootW
-#define PathStripPath PathStripPathW
-#define PathStripToRoot PathStripToRootW
-#define PathUndecorate PathUndecorateW
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
-#define PathUnquoteSpaces PathUnquoteSpacesW
-#ifndef _OBJC_NO_COM
-#define SHCreateStreamOnFile SHCreateStreamOnFileW
-#define SHOpenRegStream SHOpenRegStreamW
-#define SHOpenRegStream2 SHOpenRegStream2W
-#endif
-#define SHCopyKey SHCopyKeyW
-#define SHDeleteEmptyKey SHDeleteEmptyKeyW
-#define SHDeleteKey SHDeleteKeyW
-#define SHEnumKeyEx SHEnumKeyExW
-#define SHQueryInfoKey SHRegQueryInfoKeyW
-#define SHQueryValueEx SHQueryValueExW
-#define SHEnumValue SHEnumValueW
-#define SHGetValue SHGetValueW
-#define SHSetValue SHSetValueW
-#define SHDeleteValue SHDeleteValueW
-#define AssocQueryKey AssocQueryKeyW
-#define AssocQueryStringByKey AssocQueryStringByKeyW
-#define AssocQueryString AssocQueryStringW
-#define UrlApplyScheme UrlApplySchemeW
-#define UrlCanonicalize UrlCanonicalizeW
-#define UrlCombine UrlCombineW
-#define UrlCompare UrlCompareW
-#define UrlCreateFromPath UrlCreateFromPathW
-#define UrlEscape UrlEscapeW
-#define UrlGetLocation UrlGetLocationW
-#define UrlGetPart UrlGetPartW
-#define UrlHash UrlHashW
-#define UrlIs UrlIsW
-#define UrlIsFileUrl UrlIsFileUrlW
-#define UrlIsNoHistory UrlIsNoHistoryW
-#define UrlIsOpaque UrlIsOpaqueW
-#define UrlUnescape UrlUnescapeW
-#define UrlUnescapeInPlace UrlUnescapeInPlaceW
-#define SHRegCreateUSKey SHRegCreateUSKeyW
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
-#define SHRegDeleteUSValue SHRegDeleteUSValueW
-#define SHRegEnumUSKey SHRegEnumUSKeyW
-#define SHRegEnumUSValue SHRegEnumUSValueW
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueW
-#define SHRegGetPath SHRegGetPathW
-#define SHRegGetUSValue SHRegGetUSValueW
-#define SHRegOpenUSKey SHRegOpenUSKeyW
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
-#define SHRegQueryUSValue SHRegQueryUSValueW
-#define SHRegSetPath SHRegSetPathW
-#define SHRegSetUSValue SHRegSetUSValueW
-#define SHRegWriteUSValue SHRegWriteUSValueW
-#define wnsprintf wnsprintfW
-#define wvnsprintf wvnsprintfW
-#else /* UNICODE */
-#define ChrCmpI ChrCmpIA
-#define IntlStrEqN IntlStrEqNA
-#define IntlStrEqNI IntlStrEqNIA
-#define IntlStrEqWorker IntlStrEqWorkerA
-#define SHStrDup SHStrDupA
-#define StrCat lstrcatA
-#define StrCatBuff StrCatBuffA
-#define StrChr StrChrA
-#define StrChrI StrChrIA
-#define StrCmp lstrcmpA
-#define StrCmpI lstrcmpiA
-#define StrCmpNI StrCmpNIA
-#define StrCmpN StrCmpNA
-#define StrCpyN lstrcpynA
-#define StrCpy lstrcpyA
-#define StrCSpnI StrCSpnIA
-#define StrCSpn StrCSpnA
-#define StrDup StrDupA
-#define StrFormatByteSize StrFormatByteSizeA
-#define StrFormatKBSize StrFormatKBSizeA
-#define StrFromTimeInterval StrFromTimeIntervalA
-#define StrIsIntlEqual StrIsIntlEqualA
-#define StrNCat StrNCatA
-#define StrPBrk StrPBrkA
-#define StrRChr StrRChrA
-#define StrRChrI StrRChrIA
-#ifndef _OBJC_NO_COM
-#define StrRetToBuf StrRetToBufA
-#define StrRetToStr StrRetToStrA
-#endif
-#define StrRStrI StrRStrIA
-#define StrSpn StrSpnA
-#define StrStrI StrStrIA
-#define StrStr StrStrA
-#define StrToInt StrToIntA
-#define StrToIntEx StrToIntExA
-#define StrTrim StrTrimA
-#define PathAddBackslash PathAddBackslashA
-#define PathAddExtension PathAddExtensionA
-#define PathAppend PathAppendA
-#define PathBuildRoot PathBuildRootA
-#define PathCanonicalize PathCanonicalizeA
-#define PathCombine PathCombineA
-#define PathCommonPrefix PathCommonPrefixA
-#define PathCompactPath PathCompactPathA
-#define PathCompactPathEx PathCompactPathExA
-#define PathCreateFromUrl PathCreateFromUrlA
-#define PathFileExists PathFileExistsA
-#define PathFindExtension PathFindExtensionA
-#define PathFindFileName PathFindFileNameA
-#define PathFindNextComponent PathFindNextComponentA
-#define PathFindOnPath PathFindOnPathA
-#define PathFindSuffixArray PathFindSuffixArrayA
-#define PathGetArgs PathGetArgsA
-#define PathGetCharType PathGetCharTypeA
-#define PathGetDriveNumber PathGetDriveNumberA
-#define PathIsContentType PathIsContentTypeA
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyA
-#define PathIsDirectory PathIsDirectoryA
-#define PathIsFileSpec PathIsFileSpecA
-#define PathIsLFNFileSpec PathIsLFNFileSpecA
-#define PathIsNetworkPath PathIsNetworkPathA
-#define PathIsPrefix PathIsPrefixA
-#define PathIsRelative PathIsRelativeA
-#define PathIsRoot PathIsRootA
-#define PathIsSameRoot PathIsSameRootA
-#define PathIsSystemFolder PathIsSystemFolderA
-#define PathIsUNCServerShare PathIsUNCServerShareA
-#define PathIsUNCServer PathIsUNCServerA
-#define PathIsUNC PathIsUNCA
-#define PathIsURL PathIsURLA
-#define PathMakePretty PathMakePrettyA
-#define PathMakeSystemFolder PathMakeSystemFolderA
-#define PathMatchSpec PathMatchSpecA
-#define PathParseIconLocation PathParseIconLocationA
-#define PathQuoteSpaces PathQuoteSpacesA
-#define PathRelativePathTo PathRelativePathToA
-#define PathRemoveArgs PathRemoveArgsA
-#define PathRemoveBackslash PathRemoveBackslashA
-#define PathRemoveBlanks PathRemoveBlanksA
-#define PathRemoveExtension PathRemoveExtensionA
-#define PathRemoveFileSpec PathRemoveFileSpecA
-#define PathRenameExtension PathRenameExtensionA
-#define PathSearchAndQualify PathSearchAndQualifyA
-#define PathSetDlgItemPath PathSetDlgItemPathA
-#define PathSkipRoot PathSkipRootA
-#define PathStripPath PathStripPathA
-#define PathStripToRoot PathStripToRootA
-#define PathUndecorate PathUndecorateA
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
-#define PathUnquoteSpaces PathUnquoteSpacesA
-#ifndef _OBJC_NO_COM
-#define SHCreateStreamOnFile SHCreateStreamOnFileA
-#define SHOpenRegStream SHOpenRegStreamA
-#define SHOpenRegStream2 SHOpenRegStream2A
-#endif
-#define SHCopyKey SHCopyKeyA
-#define SHDeleteEmptyKey SHDeleteEmptyKeyA
-#define SHDeleteKey SHDeleteKeyA
-#define SHEnumKeyEx SHEnumKeyExA
-#define SHQueryInfoKey SHRegQueryInfoKeyA
-#define SHQueryValueEx SHQueryValueExA
-#define SHEnumValue SHEnumValueA
-#define SHGetValue SHGetValueA
-#define SHSetValue SHSetValueA
-#define SHDeleteValue SHDeleteValueA
-#define AssocQueryKey AssocQueryKeyA
-#define AssocQueryStringByKey AssocQueryStringByKeyA
-#define AssocQueryString AssocQueryStringA
-#define UrlApplyScheme UrlApplySchemeA
-#define UrlCanonicalize UrlCanonicalizeA
-#define UrlCombine UrlCombineA
-#define UrlCompare UrlCompareA
-#define UrlCreateFromPath UrlCreateFromPathA
-#define UrlEscape UrlEscapeA
-#define UrlGetLocation UrlGetLocationA
-#define UrlGetPart UrlGetPartA
-#define UrlHash UrlHashA
-#define UrlIs UrlIsA
-#define UrlIsFileUrl UrlIsFileUrl
-#define UrlIsNoHistory UrlIsNoHistoryA
-#define UrlIsOpaque UrlIsOpaqueA
-#define UrlUnescape UrlUnescapeA
-#define UrlUnescapeInPlace UrlUnescapeInPlaceA
-#define SHRegCreateUSKey SHRegCreateUSKeyA
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
-#define SHRegDeleteUSValue SHRegDeleteUSValueA
-#define SHRegEnumUSKey SHRegEnumUSKeyA
-#define SHRegEnumUSValue SHRegEnumUSValueA
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueA
-#define SHRegGetPath SHRegGetPathA
-#define SHRegGetUSValue SHRegGetUSValueA
-#define SHRegOpenUSKey SHRegOpenUSKeyA
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
-#define SHRegQueryUSValue SHRegQueryUSValueA
-#define SHRegSetPath SHRegSetPathA
-#define SHRegSetUSValue SHRegSetUSValueA
-#define SHRegWriteUSValue SHRegWriteUSValueA
-#define wnsprintf wnsprintfA
-#define wvnsprintf wvnsprintfA
-#endif /* UNICODE */
-
-#define StrToLong StrToInt
-
-#endif /* !RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* ! defined _SHLWAPI_H */
Index: Daodan/MinGW/include/shobjidl.h
===================================================================
--- Daodan/MinGW/include/shobjidl.h	(revision 1046)
+++ 	(revision )
@@ -1,143 +1,0 @@
-#ifndef _SHLOBJIDL_H
-#define _SHLOBJIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-#include <shlguid.h>
-#include <shellapi.h>
-#pragma pack(push,1)
-#include <commctrl.h>
-
-extern const IID IID_ITaskbarList3;
-extern const GUID CLSID_ITaskbarList;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562322%28v=vs.85%29.aspx */
-typedef enum THUMBBUTTONMASK {
-  THB_BITMAP    = 0x00000001,
-  THB_ICON      = 0x00000002,
-  THB_TOOLTIP   = 0x00000004,
-  THB_FLAGS     = 0x00000008
-} THUMBBUTTONMASK;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562321%28v=vs.85%29.aspx */
-typedef enum THUMBBUTTONFLAGS {
-  THBF_ENABLED          = 0x00000000,
-  THBF_DISABLED         = 0x00000001,
-  THBF_DISMISSONCLICK   = 0x00000002,
-  THBF_NOBACKGROUND     = 0x00000004,
-  THBF_HIDDEN           = 0x00000008,
-  THBF_NONINTERACTIVE   = 0x00000010
-} THUMBBUTTONFLAGS;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559%28v=vs.85%29.aspx */
-typedef struct THUMBBUTTON {
-  THUMBBUTTONMASK  dwMask;
-  UINT             iId;
-  UINT             iBitmap;
-  HICON            hIcon;
-  WCHAR            szTip[260];
-  THUMBBUTTONFLAGS dwFlags;
-} THUMBBUTTON, *LPTHUMBBUTTON;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
-typedef enum TBPFLAG {
-    TBPF_NOPROGRESS    = 0x00000000,
-    TBPF_INDETERMINATE = 0x00000001,
-    TBPF_NORMAL        = 0x00000002,
-    TBPF_ERROR         = 0x00000004,
-    TBPF_PAUSED        = 0x00000008
-} TBPFLAG;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList
-DECLARE_INTERFACE_(ITaskbarList, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774650%28v=vs.85%29.aspx */
-	STDMETHOD(HrInit)(THIS) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774646%28v=vs.85%29.aspx */
-	STDMETHOD(AddTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774648%28v=vs.85%29.aspx */
-	STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774644%28v=vs.85%29.aspx */
-	STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774655%28v=vs.85%29.aspx */
-	STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList *LPTASKBARLIST;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774638%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList2
-DECLARE_INTERFACE_(ITaskbarList2, ITaskbarList)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(HrInit)(THIS) PURE;
-	STDMETHOD(AddTab)(THIS_ HWND) PURE;
-	STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
-	STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
-	STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774640%28v=vs.85%29.aspx */
-	STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList2 *LPTASKBARLIST2;
-
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391692%28v=vs.85%29.aspx */
-#define INTERFACE ITaskbarList3
-DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(HrInit)(THIS) PURE;
-	STDMETHOD(AddTab)(THIS_ HWND) PURE;
-	STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
-	STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
-	STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
-	STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391698%28v=vs.85%29.aspx */
-	STDMETHOD(SetProgressValue)(THIS_ ULONGLONG,ULONGLONG) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
-	STDMETHOD(SetProgressState)(THIS_ HWND,TBPFLAG) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391694%28v=vs.85%29.aspx */
-	STDMETHOD(RegisterTab)(THIS_ HWND,HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391706%28v=vs.85%29.aspx */
-	STDMETHOD(UnregisterTab)(THIS_ HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391700%28v=vs.85%29.aspx */
-	STDMETHOD(SetTabOrder)(THIS_ HWND,HWND) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391699%28v=vs.85%29.aspx */
-	STDMETHOD(SetTabActive)(THIS_ HWND,HWND,DWORD) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */
-	STDMETHOD(ThumbBarAddButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */
-	STDMETHOD(ThumbBarUpdateButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391704%28v=vs.85%29.aspx */
-	STDMETHOD(ThumbBarSetImageList)(THIS_ HWND,HIMAGELIST) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391696%28v=vs.85%29.aspx */
-	STDMETHOD(SetOverlayIcon)(THIS_ HWND,HICON,LPCWSTR) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391702%28v=vs.85%29.aspx */
-	STDMETHOD(SetThumbnailTooltip)(THIS_ HWND,LPCWSTR) PURE;
-/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391701%28v=vs.85%29.aspx */
-	STDMETHOD(SetThumbnailClip)(THIS_ HWND,RECT*) PURE;
-};
-#undef INTERFACE
-typedef ITaskbarList3 *LPTASKBARLIST3;
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _SHLOBJIDL_H */
Index: Daodan/MinGW/include/signal.h
===================================================================
--- Daodan/MinGW/include/signal.h	(revision 1046)
+++ 	(revision )
@@ -1,98 +1,0 @@
-/*
- * signal.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * A way to set handlers for exceptional conditions (also known as signals).
- *
- */
-
-#ifndef	_SIGNAL_H_
-#define	_SIGNAL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * The actual signal values. Using other values with signal
- * produces a SIG_ERR return value.
- *
- * NOTE: SIGINT is produced when the user presses Ctrl-C.
- *       SIGILL has not been tested.
- *       SIGFPE doesn't seem to work?
- *       SIGSEGV does not catch writing to a NULL pointer (that shuts down
- *               your app; can you say "segmentation violation core dump"?).
- *       SIGTERM comes from what kind of termination request exactly?
- *       SIGBREAK is indeed produced by pressing Ctrl-Break.
- *       SIGABRT is produced by calling abort.
- * TODO: The above results may be related to not installing an appropriate
- *       structured exception handling frame. Results may be better if I ever
- *       manage to get the SEH stuff down.
- */
-#define	SIGINT		2	/* Interactive attention */
-#define	SIGILL		4	/* Illegal instruction */
-#define	SIGFPE		8	/* Floating point error */
-#define	SIGSEGV		11	/* Segmentation violation */
-#define	SIGTERM		15	/* Termination request */
-#define SIGBREAK	21	/* Control-break */
-#define	SIGABRT		22	/* Abnormal termination (abort) */
-
-#define NSIG 23     /* maximum signal number + 1 */
-
-#ifndef	RC_INVOKED
-
-#ifndef _SIG_ATOMIC_T_DEFINED
-typedef int sig_atomic_t;
-#define _SIG_ATOMIC_T_DEFINED
-#endif
-
-/*
- * The prototypes (below) are the easy part. The hard part is figuring
- * out what signals are available and what numbers they are assigned
- * along with appropriate values of SIG_DFL and SIG_IGN.
- */
-
-/*
- * A pointer to a signal handler function. A signal handler takes a
- * single int, which is the signal it handles.
- */
-typedef	void (*__p_sig_fn_t)(int);
-
-/*
- * These are special values of signal handler pointers which are
- * used to send a signal to the default handler (SIG_DFL), ignore
- * the signal (SIG_IGN), indicate an error return (SIG_ERR),
- * get an error (SIG_SGE), or acknowledge (SIG_ACK).
- */
-#define	SIG_DFL	((__p_sig_fn_t) 0)
-#define	SIG_IGN	((__p_sig_fn_t) 1)
-#define	SIG_ERR ((__p_sig_fn_t) -1)
-#define SIG_SGE ((__p_sig_fn_t) 3)
-#define SIG_ACK ((__p_sig_fn_t) 4)
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-/*
- * Call signal to set the signal handler for signal sig to the
- * function pointed to by handler. Returns a pointer to the
- * previous handler, or SIG_ERR if an error occurs. Initially
- * unhandled signals defined above will return SIG_DFL.
- */
-_CRTIMP __p_sig_fn_t __cdecl __MINGW_NOTHROW	signal(int, __p_sig_fn_t);
-
-/*
- * Raise the signal indicated by sig. Returns non-zero on success.
- */
-_CRTIMP int __cdecl __MINGW_NOTHROW	raise (int);
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _SIGNAL_H_ */
-
Index: Daodan/MinGW/include/snmp.h
===================================================================
--- Daodan/MinGW/include/snmp.h	(revision 1046)
+++ 	(revision )
@@ -1,259 +1,0 @@
-/*
-  snmp.h - Header file for the Windows SNMP API
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References (2003-08-25):
-    http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _SNMP_H
-#define _SNMP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-#include <pshpack4.h>
-
-#ifndef WINSNMPAPI
-#define WINSNMPAPI WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DEFAULT_SNMP_PORT_UDP	161
-#define DEFAULT_SNMP_PORT_IPX	36879
-#define DEFAULT_SNMPTRAP_PORT_UDP	162
-#define DEFAULT_SNMPTRAP_PORT_IPX	36880
-#ifndef _SNMP_ASN_DEFINED
-#define _SNMP_ASN_DEFINED
-#define ASN_UNIVERSAL	0x00
-#define ASN_PRIMITIVE	0x00
-#define ASN_CONSTRUCTOR	0x20
-#define ASN_APPLICATION	0x40
-#define ASN_CONTEXT	0x80
-#define ASN_PRIVATE	0xC0
-#define SNMP_PDU_GET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
-#define SNMP_PDU_GETNEXT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
-#define SNMP_PDU_RESPONSE	(ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
-#define SNMP_PDU_SET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
-#define SNMP_PDU_GETBULK	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_V1TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_INFORM	(ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
-#define SNMP_PDU_TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 7)
-#define SNMP_PDU_REPORT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
-#endif /* _SNMP_ASN_DEFINED */
-#define ASN_INTEGER	(ASN_UNIVERSAL | ASN_PRIMITIVE | 2)
-#define ASN_BITS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 3)
-#define ASN_OCTETSTRING	(ASN_UNIVERSAL | ASN_PRIMITIVE | 4)
-#define ASN_NULL	(ASN_UNIVERSAL | ASN_PRIMITIVE | 5)
-#define ASN_OBJECTIDENTIFIER	(ASN_UNIVERSAL | ASN_PRIMITIVE | 6)
-#define ASN_INTEGER32	ASN_INTEGER
-#define ASN_SEQUENCE	(ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
-#define ASN_SEQUENCEOF	ASN_SEQUENCE
-#define ASN_IPADDRESS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
-#define ASN_COUNTER32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
-#define ASN_GAUGE32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
-#define ASN_TIMETICKS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
-#define ASN_OPAQUE	(ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
-#define ASN_COUNTER64	(ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
-#define ASN_UNSIGNED32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
-#define SNMP_EXCEPTION_NOSUCHOBJECT	(ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
-#define SNMP_EXCEPTION_NOSUCHINSTANCE	(ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
-#define SNMP_EXCEPTION_ENDOFMIBVIEW	(ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
-#define SNMP_EXTENSION_GET	SNMP_PDU_GET
-#define SNMP_EXTENSION_GET_NEXT	SNMP_PDU_GETNEXT
-#define SNMP_EXTENSION_GET_BULK	SNMP_PDU_GETBULK
-#define SNMP_EXTENSION_SET_TEST	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
-#define SNMP_EXTENSION_SET_COMMIT	SNMP_PDU_SET
-#define SNMP_EXTENSION_SET_UNDO	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
-#define SNMP_EXTENSION_SET_CLEANUP	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
-#define SNMP_ERRORSTATUS_NOERROR	0
-#define SNMP_ERRORSTATUS_TOOBIG	1
-#define SNMP_ERRORSTATUS_NOSUCHNAME	2
-#define SNMP_ERRORSTATUS_BADVALUE	3
-#define SNMP_ERRORSTATUS_READONLY	4
-#define SNMP_ERRORSTATUS_GENERR	5
-#define SNMP_ERRORSTATUS_NOACCESS	6
-#define SNMP_ERRORSTATUS_WRONGTYPE	7
-#define SNMP_ERRORSTATUS_WRONGLENGTH	8
-#define SNMP_ERRORSTATUS_WRONGENCODING	9
-#define SNMP_ERRORSTATUS_WRONGVALUE	10
-#define SNMP_ERRORSTATUS_NOCREATION	11
-#define SNMP_ERRORSTATUS_INCONSISTENTVALUE	12
-#define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE	13
-#define SNMP_ERRORSTATUS_COMMITFAILED	14
-#define SNMP_ERRORSTATUS_UNDOFAILED	15
-#define SNMP_ERRORSTATUS_AUTHORIZATIONERROR	16
-#define SNMP_ERRORSTATUS_NOTWRITABLE	17
-#define SNMP_ERRORSTATUS_INCONSISTENTNAME	18
-#define SNMP_GENERICTRAP_COLDSTART	0
-#define SNMP_GENERICTRAP_WARMSTART	1
-#define SNMP_GENERICTRAP_LINKDOWN	2
-#define SNMP_GENERICTRAP_LINKUP	3
-#define SNMP_GENERICTRAP_AUTHFAILURE	4
-#define SNMP_GENERICTRAP_EGPNEIGHLOSS	5
-#define SNMP_GENERICTRAP_ENTERSPECIFIC	6
-#define SNMP_ACCESS_NONE	0
-#define SNMP_ACCESS_NOTIFY	1
-#define SNMP_ACCESS_READ_ONLY	2
-#define SNMP_ACCESS_READ_WRITE	3
-#define SNMP_ACCESS_READ_CREATE	4
-#define SNMPAPI_ERROR	FALSE
-#define SNMPAPI_NOERROR	TRUE
-#define SNMP_LOG_SILENT	0
-#define SNMP_LOG_FATAL	1
-#define SNMP_LOG_ERROR	2
-#define SNMP_LOG_WARNING	3
-#define SNMP_LOG_TRACE	4
-#define SNMP_LOG_VERBOSE	5
-#define SNMP_OUTPUT_TO_CONSOLE	1
-#define SNMP_OUTPUT_TO_LOGFILE	2
-#define SNMP_OUTPUT_TO_EVENTLOG	4
-#define SNMP_OUTPUT_TO_DEBUGGER	8
-#define SNMP_MAX_OID_LEN	128
-#define SNMP_MEM_ALLOC_ERROR	1
-#define SNMP_BERAPI_INVALID_LENGTH	10
-#define SNMP_BERAPI_INVALID_TAG	11
-#define SNMP_BERAPI_OVERFLOW	12
-#define SNMP_BERAPI_SHORT_BUFFER	13
-#define SNMP_BERAPI_INVALID_OBJELEM	14
-#define SNMP_PDUAPI_UNRECOGNIZED_PDU	20
-#define SNMP_PDUAPI_INVALID_ES	21
-#define SNMP_PDUAPI_INVALID_GT	22
-#define SNMP_AUTHAPI_INVALID_VERSION	30
-#define SNMP_AUTHAPI_INVALID_MSG_TYPE	31
-#define SNMP_AUTHAPI_TRIV_AUTH_FAILED	32
-
-#ifndef RC_INVOKED
-
-typedef INT SNMPAPI;
-typedef LONG AsnInteger32;
-typedef ULONG AsnUnsigned32;
-typedef ULARGE_INTEGER AsnCounter64;
-typedef AsnUnsigned32 AsnCounter32;
-typedef AsnUnsigned32 AsnGauge32;
-typedef AsnUnsigned32 AsnTimeticks;
-typedef struct {
-	BYTE *stream;
-	UINT length;
-	BOOL dynamic;
-} AsnOctetString, AsnBits, AsnSequence, AsnImplicitSequence, AsnIPAddress, AsnNetworkAddress, AsnDisplayString, AsnOpaque;
-typedef struct {
-	UINT idLength;
-	UINT *ids;
-} AsnObjectIdentifier, AsnObjectName;
-typedef struct {
-	BYTE asnType;
-	union {
-		AsnInteger32 number;
-		AsnUnsigned32 unsigned32;
-		AsnCounter64 counter64;
-		AsnOctetString string;
-		AsnBits bits;
-		AsnObjectIdentifier object;
-		AsnSequence sequence;
-		AsnIPAddress address;
-		AsnCounter32 counter;
-		AsnGauge32 gauge;
-		AsnTimeticks ticks;
-		AsnOpaque arbitrary;
-	} asnValue;
-} AsnAny, AsnObjectSyntax;
-typedef struct {
-	AsnObjectName name;
-	AsnObjectSyntax value;
-} SnmpVarBind;
-typedef struct {
-	SnmpVarBind *list;
-	UINT len;
-} SnmpVarBindList;
-
-VOID WINSNMPAPI SnmpExtensionClose(void);
-BOOL WINSNMPAPI SnmpExtensionInit(DWORD,HANDLE*,AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpExtensionInitEx(AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpExtensionMonitor(LPVOID);
-BOOL WINSNMPAPI SnmpExtensionQuery(BYTE,SnmpVarBindList*,AsnInteger32*,AsnInteger32*);
-BOOL WINSNMPAPI SnmpExtensionQueryEx(DWORD,DWORD,SnmpVarBindList*,AsnOctetString*,AsnInteger32*,AsnInteger32*);
-BOOL WINSNMPAPI SnmpExtensionTrap(AsnObjectIdentifier*,AsnInteger32*,AsnInteger32*,AsnTimeticks*,SnmpVarBindList*);
-DWORD WINSNMPAPI SnmpSvcGetUptime(void);
-VOID WINSNMPAPI SnmpSvcSetLogLevel(INT);
-VOID WINSNMPAPI SnmpSvcSetLogType(INT);
-SNMPAPI WINSNMPAPI SnmpUtilAsnAnyCpy(AsnAny*,AsnAny*);
-VOID WINSNMPAPI SnmpUtilAsnAnyFree(AsnAny*);
-VOID WINSNMPAPI SnmpUtilDbgPrint(INT,LPSTR,...);
-LPSTR WINSNMPAPI SnmpUtilIdsToA(UINT*,UINT);
-LPVOID WINSNMPAPI SnmpUtilMemAlloc(UINT);
-VOID WINSNMPAPI SnmpUtilMemFree(LPVOID);
-LPVOID WINSNMPAPI SnmpUtilMemReAlloc(LPVOID,UINT);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsCmp(AsnOctetString*,AsnOctetString*);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsCpy(AsnOctetString*,AsnOctetString*);
-VOID WINSNMPAPI SnmpUtilOctetsFree(AsnOctetString*);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsNCmp(AsnOctetString*,AsnOctetString*,UINT);
-SNMPAPI WINSNMPAPI SnmpUtilOidAppend(AsnObjectIdentifier*,AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidCmp(AsnObjectIdentifier*,AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidCpy(AsnObjectIdentifier*,AsnObjectIdentifier*);
-VOID WINSNMPAPI SnmpUtilOidFree(AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidNCmp(AsnObjectIdentifier*,AsnObjectIdentifier*,UINT);
-LPSTR WINSNMPAPI SnmpUtilOidToA(AsnObjectIdentifier*);
-VOID WINSNMPAPI SnmpUtilPrintAsnAny(AsnAny*);
-VOID WINSNMPAPI SnmpUtilPrintOid(AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilVarBindCpy(  SnmpVarBind*,SnmpVarBind*);
-SNMPAPI WINSNMPAPI SnmpUtilVarBindListCpy(SnmpVarBindList*,SnmpVarBindList*);
-VOID WINSNMPAPI SnmpUtilVarBindFree(SnmpVarBind*);
-VOID WINSNMPAPI SnmpUtilVarBindListFree(SnmpVarBindList*);
-
-#ifndef SNMPSTRICT
-#define SNMP_malloc SnmpUtilMemAlloc
-#define SNMP_free SnmpUtilMemFree
-#define SNMP_realloc SnmpUtilMemReAlloc
-#define SNMP_DBG_malloc SnmpUtilMemAlloc
-#define SNMP_DBG_free SnmpUtilMemFree
-#define SNMP_DBG_realloc SnmpUtilMemReAlloc
-#define SNMP_oidappend SnmpUtilOidAppend
-#define SNMP_oidcmp SnmpUtilOidCmp
-#define SNMP_oidcpy SnmpUtilOidCpy
-#define SNMP_oidfree SnmpUtilOidFree
-#define SNMP_oidncmp SnmpUtilOidNCmp
-#define SNMP_printany SnmpUtilPrintAsnAny
-#define SNMP_CopyVarBind SnmpUtilVarBindCpy
-#define SNMP_CopyVarBindList SnmpUtilVarBindListCpy
-#define SNMP_FreeVarBind SnmpUtilVarBindFree
-#define SNMP_FreeVarBindList SnmpUtilVarBindListFree
-#define ASN_RFC1155_IPADDRESS ASN_IPADDRESS
-#define ASN_RFC1155_COUNTER ASN_COUNTER32
-#define ASN_RFC1155_GAUGE ASN_GAUGE32
-#define ASN_RFC1155_TIMETICKS ASN_TIMETICKS
-#define ASN_RFC1155_OPAQUE ASN_OPAQUE
-#define ASN_RFC1213_DISPSTRING ASN_OCTETSTRING
-#define ASN_RFC1157_GETREQUEST SNMP_PDU_GET
-#define ASN_RFC1157_GETNEXTREQUEST SNMP_PDU_GETNEXT
-#define ASN_RFC1157_GETRESPONSE SNMP_PDU_RESPONSE
-#define ASN_RFC1157_SETREQUEST SNMP_PDU_SET
-#define ASN_RFC1157_TRAP SNMP_PDU_V1TRAP
-#define ASN_CONTEXTSPECIFIC ASN_CONTEXT
-#define ASN_PRIMATIVE ASN_PRIMITIVE
-#define RFC1157VarBindList SnmpVarBindList
-#define RFC1157VarBind SnmpVarBind
-#define AsnInteger AsnInteger32
-#define AsnCounter AsnCounter32
-#define AsnGauge AsnGauge32
-#endif /* SNMPSTRICT */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif
Index: Daodan/MinGW/include/specstrings.h
===================================================================
--- Daodan/MinGW/include/specstrings.h	(revision 1046)
+++ 	(revision )
@@ -1,130 +1,0 @@
-#ifndef _SPECSTRINGS_H
-#define _SPECSTRINGS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-/* These are built from primitives in Microsoft's Standard Annotation Language.
-   Search for "Header Annotation" on MSDN site for their MS-specific meanings */
-
-/* __in and __out currently conflict with libstdc++, use with caution */
-
-
-#define __bcount(size)
-#define __bcount_opt(size)
-#define __deref_bcount(size)
-#define __deref_bcount_opt(size)
-#define __deref_ecount(size)
-#define __deref_ecount_opt(size)
-#define __deref_in
-#define __deref_in_bcount(size)
-#define __deref_in_bcount_opt(size)
-#define __deref_in_ecount(size)
-#define __deref_in_ecount_opt(size)
-#define __deref_in_opt
-#define __deref_inout
-#define __deref_inout_bcount(size)
-#define __deref_inout_bcount_full(size)
-#define __deref_inout_bcount_full_opt(size)
-#define __deref_inout_bcount_opt(size)
-#define __deref_inout_bcount_part(size,length)
-#define __deref_inout_bcount_part_opt(size,length)
-#define __deref_inout_ecount(size)
-#define __deref_inout_ecount_full(size)
-#define __deref_inout_ecount_full_opt(size)
-#define __deref_inout_ecount_opt(size)
-#define __deref_inout_ecount_part(size,length)
-#define __deref_inout_ecount_part_opt(size,length)
-#define __deref_inout_opt
-#define __deref_opt_bcount(size)
-#define __deref_opt_bcount_opt(size)
-#define __deref_opt_ecount(size)
-#define __deref_opt_ecount_opt(size)
-#define __deref_opt_in
-#define __deref_opt_in_bcount(size)
-#define __deref_opt_in_bcount_opt(size)
-#define __deref_opt_in_ecount(size)
-#define __deref_opt_in_ecount_opt(size)
-#define __deref_opt_in_opt
-#define __deref_opt_inout
-#define __deref_opt_inout_bcount(size)
-#define __deref_opt_inout_bcount_full(size)
-#define __deref_opt_inout_bcount_full_opt(size)
-#define __deref_opt_inout_bcount_opt(size)
-#define __deref_opt_inout_bcount_part(size,length)
-#define __deref_opt_inout_bcount_part_opt(size,length)
-#define __deref_opt_inout_ecount(size)
-#define __deref_opt_inout_ecount_full(size)
-#define __deref_opt_inout_ecount_full_opt(size)
-#define __deref_opt_inout_ecount_opt(size)
-#define __deref_opt_inout_ecount_part(size,length)
-#define __deref_opt_inout_ecount_part_opt(size,length)
-#define __deref_opt_inout_opt
-#define __deref_opt_out
-#define __deref_opt_out_bcount(size)
-#define __deref_opt_out_bcount_full(size)
-#define __deref_opt_out_bcount_full_opt(size)
-#define __deref_opt_out_bcount_opt(size)
-#define __deref_opt_out_bcount_part(size,length)
-#define __deref_opt_out_bcount_part_opt(size,length)
-#define __deref_opt_out_ecount(size)
-#define __deref_opt_out_ecount_full(size)
-#define __deref_opt_out_ecount_full_opt(size)
-#define __deref_opt_out_ecount_opt(size)
-#define __deref_opt_out_ecount_part(size,length)
-#define __deref_opt_out_ecount_part_opt(size,length)
-#define __deref_opt_out_opt
-#define __deref_out
-#define __deref_out_bcount(size)
-#define __deref_out_bcount_full(size)
-#define __deref_out_bcount_full_opt(size)
-#define __deref_out_bcount_opt(size)
-#define __deref_out_bcount_part(size,length)
-#define __deref_out_bcount_part_opt(size,length)
-#define __deref_out_ecount(size)
-#define __deref_out_ecount_full(size)
-#define __deref_out_ecount_full_opt(size)
-#define __deref_out_ecount_opt(size)
-#define __deref_out_ecount_part(size,length)
-#define __deref_out_ecount_part_opt(size,length)
-#define __deref_out_opt
-#define __ecount(size)
-#define __ecount_opt(size)
-#define __in
-#define __in_bcount(size)
-#define __in_bcount_opt(size)
-#define __in_ecount(size)
-#define __in_ecount_opt(size)
-#define __in_opt
-#define __inout
-#define __inout_bcount(size)
-#define __inout_bcount_full(size)
-#define __inout_bcount_full_opt(size)
-#define __inout_bcount_opt(size)
-#define __inout_bcount_part(size,length)
-#define __inout_bcount_part_opt(size,length)
-#define __inout_ecount(size)
-#define __inout_ecount_full(size)
-#define __inout_ecount_full_opt(size)
-#define __inout_ecount_opt(size)
-#define __inout_ecount_part(size,length)
-#define __inout_ecount_part_opt(size,length)
-#define __inout_opt
-#define __out
-#define __out_bcount(size)
-#define __out_bcount_full(size)
-#define __out_bcount_full_opt(size)
-#define __out_bcount_opt(size)
-#define __out_bcount_part(size,length)
-#define __out_bcount_part_opt(size,length)
-#define __out_ecount(size)
-#define __out_ecount_full(size)
-#define __out_ecount_full_opt(size)
-#define __out_ecount_opt(size)
-#define __out_ecount_part(size,length)
-#define __out_ecount_part_opt(size,length)
-#define __out_opt
-
-
-#endif /*_SPECSTRINGS_H */
Index: Daodan/MinGW/include/sql.h
===================================================================
--- Daodan/MinGW/include/sql.h	(revision 1046)
+++ 	(revision )
@@ -1,408 +1,0 @@
-#ifndef _SQL_H
-#define _SQL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ODBCVER
-#define ODBCVER 0x0351
-#endif
-#include <sqltypes.h>
-#define SQL_ACCESSIBLE_PROCEDURES 20
-#define SQL_ACCESSIBLE_TABLES 19
-#define SQL_ALL_TYPES 0
-#define SQL_ALTER_TABLE 86
-#define SQL_API_SQLALLOCCONNECT 1
-#define SQL_API_SQLALLOCENV 2
-#define SQL_API_SQLALLOCSTMT 3
-#define SQL_API_SQLBINDCOL 4
-#define SQL_API_SQLCANCEL 5
-#define SQL_API_SQLCOLUMNS 40
-#define SQL_API_SQLCONNECT 7
-#define SQL_API_SQLDATASOURCES 57
-#define SQL_API_SQLDESCRIBECOL 8
-#define SQL_API_SQLDISCONNECT 9
-#define SQL_API_SQLERROR 10
-#define SQL_API_SQLEXECDIRECT 11
-#define SQL_API_SQLEXECUTE 12
-#define SQL_API_SQLFETCH 13
-#define SQL_API_SQLFREECONNECT 14
-#define SQL_API_SQLFREEENV 15
-#define SQL_API_SQLFREESTMT 16
-#define SQL_API_SQLGETCONNECTOPTION 42
-#define SQL_API_SQLGETCURSORNAME 17
-#define SQL_API_SQLGETDATA 43
-#define SQL_API_SQLGETFUNCTIONS 44
-#define SQL_API_SQLGETINFO 45
-#define SQL_API_SQLGETSTMTOPTION 46
-#define SQL_API_SQLGETTYPEINFO 47
-#define SQL_API_SQLNUMRESULTCOLS 18
-#define SQL_API_SQLPARAMDATA 48
-#define SQL_API_SQLPREPARE 19
-#define SQL_API_SQLPUTDATA 49
-#define SQL_API_SQLROWCOUNT 20
-#define SQL_API_SQLSETCONNECTOPTION 50
-#define SQL_API_SQLSETCURSORNAME 21
-#define SQL_API_SQLSETPARAM 22
-#define SQL_API_SQLSETSTMTOPTION 51
-#define SQL_API_SQLSPECIALCOLUMNS 52
-#define SQL_API_SQLSTATISTICS 53
-#define SQL_API_SQLTABLES 54
-#define SQL_API_SQLTRANSACT 23
-#define SQL_CB_CLOSE 1
-#define SQL_CB_DELETE 0
-#define SQL_CB_PRESERVE 2
-#define SQL_CHAR 1
-#define SQL_CLOSE 0
-#define SQL_COMMIT 0
-#define SQL_CURSOR_COMMIT_BEHAVIOR 23
-#define SQL_DATA_AT_EXEC (-2)
-#define SQL_DATA_SOURCE_NAME 2
-#define SQL_DATA_SOURCE_READ_ONLY 25
-#define SQL_DBMS_NAME 17
-#define SQL_DBMS_VER 18
-#define SQL_DECIMAL 3
-#define SQL_DEFAULT_TXN_ISOLATION 26
-#define SQL_DOUBLE 8
-#define SQL_DROP 1
-#define SQL_ERROR (-1)
-#define SQL_FD_FETCH_ABSOLUTE 16
-#define SQL_FD_FETCH_FIRST 2
-#define SQL_FD_FETCH_LAST 4
-#define SQL_FD_FETCH_NEXT 1
-#define SQL_FD_FETCH_PRIOR 8
-#define SQL_FD_FETCH_RELATIVE 32
-#define SQL_FETCH_ABSOLUTE 5
-#define SQL_FETCH_DIRECTION 8
-#define SQL_FETCH_FIRST 2
-#define SQL_FETCH_LAST 3
-#define SQL_FETCH_NEXT 1
-#define SQL_FETCH_PRIOR 4
-#define SQL_FETCH_RELATIVE 6
-#define SQL_FLOAT 6
-#define SQL_GD_ANY_COLUMN 1
-#define SQL_GD_ANY_ORDER 2
-#define SQL_GETDATA_EXTENSIONS 81
-#define SQL_IC_LOWER 2
-#define SQL_IC_MIXED 4
-#define SQL_IC_SENSITIVE 3
-#define SQL_IC_UPPER 1
-#define SQL_IDENTIFIER_CASE 28
-#define SQL_IDENTIFIER_QUOTE_CHAR 29
-#define SQL_INDEX_ALL 1
-#define SQL_INDEX_CLUSTERED 1
-#define SQL_INDEX_HASHED 2
-#define SQL_INDEX_OTHER 3
-#define SQL_INDEX_UNIQUE 0
-#define SQL_INTEGER 4
-#define SQL_INTEGRITY 73
-#define SQL_INVALID_HANDLE (-2)
-#define SQL_MAX_CATALOG_NAME_LEN 34
-#define SQL_MAX_COLUMN_NAME_LEN 30
-#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
-#define SQL_MAX_COLUMNS_IN_INDEX 98
-#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
-#define SQL_MAX_COLUMNS_IN_SELECT 100
-#define SQL_MAX_COLUMNS_IN_TABLE 101
-#define SQL_MAX_CURSOR_NAME_LEN 31
-#define SQL_MAX_INDEX_SIZE 102
-#define SQL_MAX_MESSAGE_LENGTH 512
-#define SQL_MAX_ROW_SIZE 104
-#define SQL_MAX_SCHEMA_NAME_LEN 32
-#define SQL_MAX_STATEMENT_LEN 105
-#define SQL_MAX_TABLE_NAME_LEN 35
-#define SQL_MAX_TABLES_IN_SELECT 106
-#define SQL_MAX_USER_NAME_LEN 107
-#define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
-#define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
-#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
-#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
-#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
-#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
-#define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
-#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
-#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
-#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
-#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
-#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
-#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
-#define SQL_NC_HIGH 0
-#define SQL_NC_LOW 1
-#define SQL_NEED_DATA 99
-#define SQL_NO_NULLS 0
-#define SQL_NTS (-3)
-#define SQL_NTSL (-3L)
-#define SQL_NULL_COLLATION 85
-#define SQL_NULL_DATA (-1)
-#define SQL_NULL_HDBC 0
-#define SQL_NULL_HENV 0
-#define SQL_NULL_HSTMT 0
-#define SQL_NULLABLE 1
-#define SQL_NULLABLE_UNKNOWN 2
-#define SQL_NUMERIC 2
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
-#define SQL_PC_PSEUDO 2
-#define SQL_PC_UNKNOWN 0
-#define SQL_REAL 7
-#define SQL_RESET_PARAMS 3
-#define SQL_ROLLBACK 1
-#define SQL_SCCO_LOCK 2
-#define SQL_SCCO_OPT_ROWVER 4
-#define SQL_SCCO_OPT_VALUES 8
-#define SQL_SCCO_READ_ONLY 1
-#define SQL_SCOPE_CURROW 0
-#define SQL_SCOPE_SESSION 2
-#define SQL_SCOPE_TRANSACTION 1
-#define SQL_SCROLL_CONCURRENCY 43
-#define SQL_SEARCH_PATTERN_ESCAPE 14
-#define SQL_SERVER_NAME 13
-#define SQL_SMALLINT 5
-#define SQL_SPECIAL_CHARACTERS 94
-#define SQL_STILL_EXECUTING 2
-#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
-#define SQL_SUCCESS 0
-#define SQL_SUCCESS_WITH_INFO 1
-#define SQL_TC_ALL 2
-#define SQL_TC_DDL_COMMIT 3
-#define SQL_TC_DDL_IGNORE 4
-#define SQL_TC_DML 1
-#define SQL_TC_NONE 0
-#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
-#define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
-#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
-#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
-#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
-#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
-#define SQL_TXN_CAPABLE 46
-#define SQL_TXN_ISOLATION_OPTION 72
-#define SQL_TXN_READ_COMMITTED 2
-#define SQL_TXN_READ_UNCOMMITTED 1
-#define SQL_TXN_REPEATABLE_READ 4
-#define SQL_TXN_SERIALIZABLE 8
-#define SQL_UNBIND 2
-#define SQL_UNKNOWN_TYPE 0
-#define SQL_USER_NAME 47
-#define SQL_VARCHAR 12
-#if (ODBCVER >= 0x0200)
-#define SQL_AT_ADD_COLUMN 1
-#define SQL_AT_DROP_COLUMN 2
-#endif /* ODBCVER >= 0x0200 */
-#if (ODBCVER >= 0x0201)
-#define SQL_OJ_LEFT 1
-#define SQL_OJ_RIGHT 2
-#define SQL_OJ_FULL 4
-#define SQL_OJ_NESTED 8
-#define SQL_OJ_NOT_ORDERED 16
-#define SQL_OJ_INNER 32
-#define SQL_OJ_ALL_COMPARISON_OPS 64
-#endif /* ODBCVER >= 0x0201 */
-#if (ODBCVER >= 0x0300)
-#define SQL_AM_CONNECTION 1
-#define SQL_AM_NONE 0
-#define SQL_AM_STATEMENT 2
-#define SQL_API_SQLALLOCHANDLE 1001
-#define SQL_API_SQLBINDPARAM 1002
-#define SQL_API_SQLCLOSECURSOR 1003
-#define SQL_API_SQLCOLATTRIBUTE 6
-#define SQL_API_SQLCOPYDESC 1004
-#define SQL_API_SQLENDTRAN 1005
-#define SQL_API_SQLFETCHSCROLL 1021
-#define SQL_API_SQLFREEHANDLE 1006
-#define SQL_API_SQLGETCONNECTATTR 1007
-#define SQL_API_SQLGETDESCFIELD 1008
-#define SQL_API_SQLGETDESCREC 1009
-#define SQL_API_SQLGETDIAGFIELD 1010
-#define SQL_API_SQLGETDIAGREC 1011
-#define SQL_API_SQLGETENVATTR 1012
-#define SQL_API_SQLGETSTMTATTR 1014
-#define SQL_API_SQLSETCONNECTATTR 1016
-#define SQL_API_SQLSETDESCFIELD 1017
-#define SQL_API_SQLSETDESCREC 1018
-#define SQL_API_SQLSETENVATTR 1019
-#define SQL_API_SQLSETSTMTATTR 1020
-#define SQL_ARD_TYPE (-99)
-#define SQL_AT_ADD_CONSTRAINT 8
-#define SQL_ATTR_APP_PARAM_DESC 10011
-#define SQL_ATTR_APP_ROW_DESC 10010
-#define SQL_ATTR_AUTO_IPD 10001
-#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
-#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
-#define SQL_ATTR_IMP_PARAM_DESC 10013
-#define SQL_ATTR_IMP_ROW_DESC 10012
-#define SQL_ATTR_METADATA_ID 10014
-#define SQL_ATTR_OUTPUT_NTS 10001
-#define SQL_CATALOG_NAME 10003
-#define SQL_CODE_DATE 1
-#define SQL_CODE_TIME 2
-#define SQL_CODE_TIMESTAMP 3
-#define SQL_COLLATION_SEQ 10004
-#define SQL_CURSOR_SENSITIVITY 10001
-#define SQL_DATE_LEN 10
-#define SQL_DATETIME 9
-#define SQL_DEFAULT 99
-#define SQL_DESC_ALLOC_AUTO 1
-#define SQL_DESC_ALLOC_TYPE 1099
-#define SQL_DESC_ALLOC_USER 2
-#define SQL_DESC_COUNT 1001
-#define SQL_DESC_DATA_PTR 1010
-#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
-#define SQL_DESC_INDICATOR_PTR 1009
-#define SQL_DESC_LENGTH 1003
-#define SQL_DESC_NAME 1011
-#define SQL_DESC_NULLABLE 1008
-#define SQL_DESC_OCTET_LENGTH 1013
-#define SQL_DESC_OCTET_LENGTH_PTR 1004
-#define SQL_DESC_PRECISION 1005
-#define SQL_DESC_SCALE 1006
-#define SQL_DESC_TYPE 1002
-#define SQL_DESC_UNNAMED 1012
-#define SQL_DESCRIBE_PARAMETER 10002
-#define SQL_DIAG_ALTER_DOMAIN 3
-#define SQL_DIAG_ALTER_TABLE 4
-#define SQL_DIAG_CALL 7
-#define SQL_DIAG_CLASS_ORIGIN 8
-#define SQL_DIAG_CONNECTION_NAME 10
-#define SQL_DIAG_CREATE_ASSERTION 6
-#define SQL_DIAG_CREATE_CHARACTER_SET 8
-#define SQL_DIAG_CREATE_COLLATION 10
-#define SQL_DIAG_CREATE_DOMAIN 23
-#define SQL_DIAG_CREATE_INDEX (-1)
-#define SQL_DIAG_CREATE_SCHEMA 64
-#define SQL_DIAG_CREATE_TABLE 77
-#define SQL_DIAG_CREATE_TRANSLATION 79
-#define SQL_DIAG_CREATE_VIEW 84
-#define SQL_DIAG_DELETE_WHERE 19
-#define SQL_DIAG_DROP_ASSERTION 24
-#define SQL_DIAG_DROP_CHARACTER_SET 25
-#define SQL_DIAG_DROP_COLLATION 26
-#define SQL_DIAG_DROP_DOMAIN 27
-#define SQL_DIAG_DROP_INDEX (-2)
-#define SQL_DIAG_DROP_SCHEMA 31
-#define SQL_DIAG_DROP_TABLE 32
-#define SQL_DIAG_DROP_TRANSLATION 33
-#define SQL_DIAG_DROP_VIEW 36
-#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
-#define SQL_DIAG_DYNAMIC_FUNCTION 7
-#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
-#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
-#define SQL_DIAG_GRANT 48
-#define SQL_DIAG_INSERT 50
-#define SQL_DIAG_MESSAGE_TEXT 6
-#define SQL_DIAG_NATIVE 5
-#define SQL_DIAG_NUMBER 2
-#define SQL_DIAG_RETURNCODE 1
-#define SQL_DIAG_REVOKE 59
-#define SQL_DIAG_ROW_COUNT 3
-#define SQL_DIAG_SELECT_CURSOR 85
-#define SQL_DIAG_SERVER_NAME 11
-#define SQL_DIAG_SQLSTATE 4
-#define SQL_DIAG_SUBCLASS_ORIGIN 9
-#define SQL_DIAG_UNKNOWN_STATEMENT 0
-#define SQL_DIAG_UPDATE_WHERE 82
-#define SQL_FALSE 0
-#define SQL_HANDLE_DBC 2
-#define SQL_HANDLE_DESC 4
-#define SQL_HANDLE_ENV 1
-#define SQL_HANDLE_STMT 3
-#define SQL_INSENSITIVE 1
-#define SQL_MAX_CONCURRENT_ACTIVITIES 1
-#define SQL_MAX_DRIVER_CONNECTIONS 0
-#define SQL_MAX_IDENTIFIER_LEN 10005
-#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
-#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
-#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
-#define SQL_NAMED 0
-#define SQL_NO_DATA 100
-#define SQL_NONSCROLLABLE 0
-#define SQL_NULL_HANDLE 0L
-#define SQL_NULL_HDESC 0
-#define SQL_OJ_CAPABILITIES 115
-#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
-#define SQL_PC_NON_PSEUDO 1
-#define SQL_PRED_BASIC 2
-#define SQL_PRED_CHAR 1
-#define SQL_PRED_NONE 0
-#define SQL_ROW_IDENTIFIER 1
-#define SQL_SCROLLABLE 1
-#define SQL_SENSITIVE 2
-#define SQL_TIME_LEN 8
-#define SQL_TIMESTAMP_LEN 19
-#define SQL_TRUE 1
-#define SQL_TYPE_DATE 91
-#define SQL_TYPE_TIME 92
-#define SQL_TYPE_TIMESTAMP 93
-#define SQL_UNNAMED 1
-#define SQL_UNSPECIFIED 0
-#define SQL_XOPEN_CLI_YEAR 10000
-#endif /* ODBCVER >= 0x0300 */
-
-#ifndef RC_INVOKED
-SQLRETURN SQL_API SQLAllocConnect(SQLHENV,SQLHDBC*); /* deprecated */
-SQLRETURN SQL_API SQLAllocEnv(SQLHENV*); /* deprecated */
-SQLRETURN SQL_API SQLAllocStmt(SQLHDBC,SQLHSTMT*); /* deprecated */
-SQLRETURN SQL_API SQLBindCol(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLCancel(SQLHSTMT);
-SQLRETURN SQL_API SQLConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDisconnect(SQLHDBC);
-SQLRETURN SQL_API SQLError(SQLHENV,SQLHDBC,SQLHSTMT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); /* deprecated */
-SQLRETURN SQL_API SQLExecDirect(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLExecute(SQLHSTMT);
-SQLRETURN SQL_API SQLFetch(SQLHSTMT);
-SQLRETURN SQL_API SQLFreeConnect(SQLHDBC); /* deprecated */
-SQLRETURN SQL_API SQLFreeEnv(SQLHENV); /* deprecated */
-SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLPrepare(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLRowCount(SQLHSTMT,SQLLEN*);
-SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTransact(SQLHENV,SQLHDBC,SQLUSMALLINT);
-SQLRETURN SQL_API SQLSetParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN*); /* deprecated */
-SQLRETURN SQL_API SQLColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC,SQLUSMALLINT,SQLPOINTER); /* deprecated */
-SQLRETURN SQL_API SQLGetData(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLGetFunctions(SQLHDBC,SQLUSMALLINT,SQLUSMALLINT*);
-SQLRETURN SQL_API SQLGetInfo(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLPOINTER); /* deprecated */
-SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLParamData(SQLHSTMT,SQLPOINTER*);
-SQLRETURN SQL_API SQLPutData(SQLHSTMT,SQLPOINTER,SQLLEN);
-SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC,SQLUSMALLINT,SQLULEN); /* deprecated */
-SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLROWCOUNT); /* deprecated */
-SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatistics(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTables(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDataSources(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
-SQLRETURN SQL_API SQLBindParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN*);
-SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT);
-SQLRETURN SQL_API SQLColAttribute(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLCopyDesc(SQLHDESC,SQLHDESC);
-SQLRETURN SQL_API SQLEndTran(SQLSMALLINT,SQLHANDLE,SQLSMALLINT);
-SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT,SQLSMALLINT,SQLROWOFFSET);
-SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT,SQLHANDLE);
-SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescField(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescRec(SQLHDESC,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,
-    SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescField(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescRec(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLLEN,SQLSMALLINT,
-    SQLSMALLINT,SQLPOINTER,SQLLEN*,SQLLEN*);
-SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-#endif  /* (ODBCVER >= 0x0300) */
-#endif /* ndef RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/sqlext.h
===================================================================
--- Daodan/MinGW/include/sqlext.h	(revision 1046)
+++ 	(revision )
@@ -1,1218 +1,0 @@
-#ifndef _SQLEXT_H
-#define _SQLEXT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <sql.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_SPEC_MAJOR 3
-#define SQL_SPEC_MINOR	51
-#define SQL_SPEC_STRING "03.51"
-#define SQL_ACCESS_MODE 101
-#define SQL_ACTIVE_CONNECTIONS 0
-#define SQL_ACTIVE_STATEMENTS 1
-#define SQL_ADD 4
-#define SQL_ALL_EXCEPT_LIKE 2
-#define SQL_API_ALL_FUNCTIONS 0
-#define SQL_API_LOADBYORDINAL 199
-#define SQL_API_SQLBINDPARAMETER 72
-#define SQL_API_SQLBROWSECONNECT 55
-#define SQL_API_SQLCOLATTRIBUTES 6
-#define SQL_API_SQLCOLUMNPRIVILEGES 56
-#define SQL_API_SQLDESCRIBEPARAM 58
-#define SQL_API_SQLDRIVERCONNECT 41
-#define SQL_API_SQLDRIVERS 71
-#define SQL_API_SQLEXTENDEDFETCH 59
-#define SQL_API_SQLFOREIGNKEYS 60
-#define SQL_API_SQLMORERESULTS 61
-#define SQL_API_SQLNATIVESQL 62
-#define SQL_API_SQLNUMPARAMS 63
-#define SQL_API_SQLPARAMOPTIONS 64
-#define SQL_API_SQLPRIMARYKEYS 65
-#define SQL_API_SQLPROCEDURECOLUMNS 66
-#define SQL_API_SQLPROCEDURES 67
-#define SQL_API_SQLSETPOS 68
-#define SQL_API_SQLSETSCROLLOPTIONS 69
-#define SQL_API_SQLTABLEPRIVILEGES 70
-#define SQL_ASYNC_ENABLE 4
-#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF
-#define SQL_ASYNC_ENABLE_OFF 0UL
-#define SQL_ASYNC_ENABLE_ON 1UL
-#define SQL_ATTR_CONNECTION_DEAD 1209
-#define SQL_ATTR_READONLY 0
-#define SQL_ATTR_READWRITE_UNKNOWN 2
-#define SQL_ATTR_WRITE 1
-#define SQL_AUTOCOMMIT 102
-#define SQL_AUTOCOMMIT_DEFAULT SQL_AUTOCOMMIT_ON
-#define SQL_AUTOCOMMIT_OFF 0UL
-#define SQL_AUTOCOMMIT_ON 1UL
-#define SQL_BEST_ROWID 1
-#define SQL_BIGINT (-5)
-#define SQL_BINARY (-2)
-#define SQL_BIND_BY_COLUMN 0UL
-#define SQL_BIND_TYPE 5
-#define SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN
-#define SQL_BIT (-7)
-#define SQL_BOOKMARK_PERSISTENCE 82
-#define SQL_BP_CLOSE 1
-#define SQL_BP_DELETE 2
-#define SQL_BP_DROP 4
-#define SQL_BP_OTHER_HSTMT 32
-#define SQL_BP_SCROLL 64
-#define SQL_BP_TRANSACTION 8
-#define SQL_BP_UPDATE 16
-#define SQL_C_BINARY SQL_BINARY
-#define SQL_C_BIT SQL_BIT
-#define SQL_C_BOOKMARK SQL_C_ULONG
-#define SQL_C_CHAR SQL_CHAR
-#define SQL_C_DATE SQL_DATE
-#define SQL_C_DEFAULT 99
-#define SQL_C_DOUBLE SQL_DOUBLE
-#define SQL_C_FLOAT SQL_REAL
-#define SQL_C_LONG SQL_INTEGER
-#define SQL_C_SHORT SQL_SMALLINT
-#define SQL_C_SLONG (SQL_C_LONG+SQL_SIGNED_OFFSET)
-#define SQL_C_SSHORT (SQL_C_SHORT+SQL_SIGNED_OFFSET)
-#define SQL_C_STINYINT (SQL_TINYINT+SQL_SIGNED_OFFSET)
-#define SQL_C_TIME SQL_TIME
-#define SQL_C_TIMESTAMP SQL_TIMESTAMP
-#define SQL_C_TINYINT SQL_TINYINT
-#define SQL_C_ULONG (SQL_C_LONG+SQL_UNSIGNED_OFFSET)
-#define SQL_C_USHORT (SQL_C_SHORT+SQL_UNSIGNED_OFFSET)
-#define SQL_C_UTINYINT (SQL_TINYINT+SQL_UNSIGNED_OFFSET)
-#define SQL_CASCADE 0
-#define SQL_CB_NON_NULL 1
-#define SQL_CB_NULL 0
-#define SQL_CC_CLOSE SQL_CB_CLOSE /* deprecated */
-#define SQL_CC_DELETE SQL_CB_DELETE /* deprecated */
-#define SQL_CC_PRESERVE SQL_CB_PRESERVE /* deprecated */
-#define SQL_CD_FALSE 0L
-#define SQL_CD_TRUE 1L
-#define SQL_CN_ANY 2
-#define SQL_CN_DIFFERENT 1
-#define SQL_CN_NONE 0
-#define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
-#define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
-#define SQL_COLUMN_ALIAS 87
-#define SQL_COLUMN_AUTO_INCREMENT 11
-#define SQL_COLUMN_CASE_SENSITIVE 12
-#define SQL_COLUMN_COUNT 0
-#define SQL_COLUMN_DISPLAY_SIZE 6
-#define SQL_COLUMN_LABEL 18
-#define SQL_COLUMN_LENGTH 3
-#define SQL_COLUMN_MONEY 9
-#define SQL_COLUMN_NAME 1
-#define SQL_COLUMN_NULLABLE 7
-#define SQL_COLUMN_OWNER_NAME 16
-#define SQL_COLUMN_PRECISION 4
-#define SQL_COLUMN_QUALIFIER_NAME 17
-#define SQL_COLUMN_SCALE 5
-#define SQL_COLUMN_SEARCHABLE 13
-#define SQL_COLUMN_TABLE_NAME 15
-#define SQL_COLUMN_TYPE 2
-#define SQL_COLUMN_TYPE_NAME 14
-#define SQL_COLUMN_UNSIGNED 8
-#define SQL_COLUMN_UPDATABLE 10
-#define SQL_CONCAT_NULL_BEHAVIOR 22
-#define SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY
-#define SQL_CONCUR_LOCK 2
-#define SQL_CONCUR_READ_ONLY 1
-#define SQL_CONCUR_ROWVER 3
-#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER /* deprecated */
-#define SQL_CONCUR_VALUES 4
-#define SQL_CONCURRENCY 7
-#define SQL_CONVERT_BIGINT 53
-#define SQL_CONVERT_BINARY 54
-#define SQL_CONVERT_BIT 55
-#define SQL_CONVERT_CHAR 56
-#define SQL_CONVERT_DATE 57
-#define SQL_CONVERT_DECIMAL 58
-#define SQL_CONVERT_DOUBLE 59
-#define SQL_CONVERT_FLOAT 60
-#define SQL_CONVERT_FUNCTIONS 48
-#define SQL_CONVERT_INTEGER 61
-#define SQL_CONVERT_LONGVARBINARY 71
-#define SQL_CONVERT_LONGVARCHAR 62
-#define SQL_CONVERT_NUMERIC 63
-#define SQL_CONVERT_REAL 64
-#define SQL_CONVERT_SMALLINT 65
-#define SQL_CONVERT_TIME 66
-#define SQL_CONVERT_TIMESTAMP 67
-#define SQL_CONVERT_TINYINT 68
-#define SQL_CONVERT_VARBINARY 69
-#define SQL_CONVERT_VARCHAR 70
-#define SQL_CORRELATION_NAME 74
-#define SQL_CR_CLOSE SQL_CB_CLOSE /* deprecated */
-#define SQL_CR_DELETE SQL_CB_DELETE /* deprecated */
-#define SQL_CR_PRESERVE SQL_CB_PRESERVE /* deprecated */
-#define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER
-#define SQL_CUR_USE_DRIVER 2UL
-#define SQL_CUR_USE_IF_NEEDED 0UL
-#define SQL_CUR_USE_ODBC 1UL
-#define SQL_CURRENT_QUALIFIER 109
-#define SQL_CURSOR_DYNAMIC 2UL
-#define SQL_CURSOR_FORWARD_ONLY 0UL
-#define SQL_CURSOR_KEYSET_DRIVEN 1UL
-#define SQL_CURSOR_ROLLBACK_BEHAVIOR 24
-#define SQL_CURSOR_STATIC 3UL
-#define SQL_CURSOR_TYPE 6
-#define SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY
-#define SQL_CV_CASCADED 0x00000004L
-#define SQL_CV_CHECK_OPTION 0x00000002L
-#define SQL_CV_CREATE_VIEW 0x00000001L
-#define SQL_CV_LOCAL 0x00000008L
-#define SQL_CVT_BIGINT 0x00004000L
-#define SQL_CVT_BINARY 0x00000400L
-#define SQL_CVT_BIT 0x00001000L
-#define SQL_CVT_CHAR 0x00000001L
-#define SQL_CVT_DATE 0x00008000L
-#define SQL_CVT_DECIMAL 0x00000004L
-#define SQL_CVT_DOUBLE 0x00000080L
-#define SQL_CVT_FLOAT 0x00000020L
-#define SQL_CVT_INTEGER 0x00000008L
-#define SQL_CVT_LONGVARBINARY 0x00040000L
-#define SQL_CVT_LONGVARCHAR 0x00000200L
-#define SQL_CVT_NUMERIC 0x00000002L
-#define SQL_CVT_REAL 0x00000040L
-#define SQL_CVT_SMALLINT 0x00000010L
-#define SQL_CVT_TIME 0x00010000L
-#define SQL_CVT_TIMESTAMP 0x00020000L
-#define SQL_CVT_TINYINT 0x00002000L
-#define SQL_CVT_VARBINARY 0x00000800L
-#define SQL_CVT_VARCHAR 0x00000100L
-#define SQL_DATABASE_NAME 16 /* deprecated */
-#define SQL_DATE 9
-#define SQL_DEFAULT_PARAM (-5)
-#define SQL_DELETE 3
-#define SQL_DRIVER_COMPLETE 1
-#define SQL_DRIVER_COMPLETE_REQUIRED 3
-#define SQL_DRIVER_HDBC 3
-#define SQL_DRIVER_HENV 4
-#define SQL_DRIVER_HLIB 76
-#define SQL_DRIVER_HSTMT 5
-#define SQL_DRIVER_NAME 6
-#define SQL_DRIVER_NOPROMPT 0
-#define SQL_DRIVER_ODBC_VER 77
-#define SQL_DRIVER_PROMPT 2
-#define SQL_DRIVER_VER 7
-#define SQL_DTC_ENLIST_EXPENSIVE 1
-#define SQL_DTC_TRANSITION_COST 1750
-#define SQL_DTC_UNENLIST_EXPENSIVE 2
-#define SQL_ENSURE 1
-#define SQL_ENTIRE_ROWSET 0
-#define SQL_EXPRESSIONS_IN_ORDERBY 27
-#define SQL_FD_FETCH_BOOKMARK 128
-#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR /* deprecated */
-#define SQL_FD_FETCH_RESUME 64
-#define SQL_FETCH_BOOKMARK 8
-#define SQL_FETCH_PREV SQL_FETCH_PRIOR /* deprecated */
-#define SQL_FETCH_RESUME 7 /* deprecated */
-#define SQL_FILE_CATALOG SQL_FILE_QUALIFIER
-#define SQL_FILE_NOT_SUPPORTED 0x0000
-#define SQL_FILE_QUALIFIER 0x0002
-#define SQL_FILE_TABLE 0x0001
-#define SQL_FILE_USAGE 84
-#define SQL_FN_CVT_CONVERT 0x00000001L
-#define SQL_FN_NUM_ABS 0x00000001L
-#define SQL_FN_NUM_ACOS 0x00000002L
-#define SQL_FN_NUM_ASIN 0x00000004L
-#define SQL_FN_NUM_ATAN 0x00000008L
-#define SQL_FN_NUM_ATAN2 0x00000010L
-#define SQL_FN_NUM_CEILING 0x00000020L
-#define SQL_FN_NUM_COS 0x00000040L
-#define SQL_FN_NUM_COT 0x00000080L
-#define SQL_FN_NUM_DEGREES 0x00040000L
-#define SQL_FN_NUM_EXP 0x00000100L
-#define SQL_FN_NUM_FLOOR 0x00000200L
-#define SQL_FN_NUM_LOG 0x00000400L
-#define SQL_FN_NUM_LOG10 0x00080000L
-#define SQL_FN_NUM_MOD 0x00000800L
-#define SQL_FN_NUM_PI 0x00010000L
-#define SQL_FN_NUM_POWER 0x00100000L
-#define SQL_FN_NUM_RADIANS 0x00200000L
-#define SQL_FN_NUM_RAND 0x00020000L
-#define SQL_FN_NUM_ROUND 0x00400000L
-#define SQL_FN_NUM_SIGN 0x00001000L
-#define SQL_FN_NUM_SIN 0x00002000L
-#define SQL_FN_NUM_SQRT 0x00004000L
-#define SQL_FN_NUM_TAN 0x00008000L
-#define SQL_FN_NUM_TRUNCATE 0x00800000L
-#define SQL_FN_STR_ASCII 0x00002000L
-#define SQL_FN_STR_CHAR 0x00004000L
-#define SQL_FN_STR_CONCAT 0x00000001L
-#define SQL_FN_STR_DIFFERENCE 0x00008000L
-#define SQL_FN_STR_INSERT 0x00000002L
-#define SQL_FN_STR_LCASE 0x00000040L
-#define SQL_FN_STR_LEFT 0x00000004L
-#define SQL_FN_STR_LENGTH 0x00000010L
-#define SQL_FN_STR_LOCATE 0x00000020L
-#define SQL_FN_STR_LOCATE_2 0x00010000L
-#define SQL_FN_STR_LTRIM 0x00000008L
-#define SQL_FN_STR_REPEAT 0x00000080L
-#define SQL_FN_STR_REPLACE 0x00000100L
-#define SQL_FN_STR_RIGHT 0x00000200L
-#define SQL_FN_STR_RTRIM 0x00000400L
-#define SQL_FN_STR_SOUNDEX 0x00020000L
-#define SQL_FN_STR_SPACE 0x00040000L
-#define SQL_FN_STR_SUBSTRING 0x00000800L
-#define SQL_FN_STR_UCASE 0x00001000L
-#define SQL_FN_SYS_DBNAME 0x00000002L
-#define SQL_FN_SYS_IFNULL 0x00000004L
-#define SQL_FN_SYS_USERNAME 0x00000001L
-#define SQL_FN_TD_CURDATE 0x00000002L
-#define SQL_FN_TD_CURTIME 0x00000200L
-#define SQL_FN_TD_DAYNAME 0x00008000L
-#define SQL_FN_TD_DAYOFMONTH 0x00000004L
-#define SQL_FN_TD_DAYOFWEEK 0x00000008L
-#define SQL_FN_TD_DAYOFYEAR 0x00000010L
-#define SQL_FN_TD_HOUR 0x00000400L
-#define SQL_FN_TD_MINUTE 0x00000800L
-#define SQL_FN_TD_MONTH 0x00000020L
-#define SQL_FN_TD_MONTHNAME 0x00010000L
-#define SQL_FN_TD_NOW 0x00000001L
-#define SQL_FN_TD_QUARTER 0x00000040L
-#define SQL_FN_TD_SECOND 0x00001000L
-#define SQL_FN_TD_TIMESTAMPADD 0x00002000L
-#define SQL_FN_TD_TIMESTAMPDIFF 0x00004000L
-#define SQL_FN_TD_WEEK 0x00000080L
-#define SQL_FN_TD_YEAR 0x00000100L
-#define SQL_FN_TSI_DAY 0x00000010L
-#define SQL_FN_TSI_FRAC_SECOND 0x00000001L
-#define SQL_FN_TSI_HOUR 0x00000008L
-#define SQL_FN_TSI_MINUTE 0x00000004L
-#define SQL_FN_TSI_MONTH 0x00000040L
-#define SQL_FN_TSI_QUARTER 0x00000080L
-#define SQL_FN_TSI_SECOND 0x00000002L
-#define SQL_FN_TSI_WEEK 0x00000020L
-#define SQL_FN_TSI_YEAR 0x00000100L
-#define SQL_GB_GROUP_BY_CONTAINS_SELECT 2
-#define SQL_GB_GROUP_BY_EQUALS_SELECT 1
-#define SQL_GB_NO_RELATION 3
-#define SQL_GB_NOT_SUPPORTED 0
-#define SQL_GD_BLOCK 4
-#define SQL_GD_BOUND 8
-#define SQL_GET_BOOKMARK 13
-#define SQL_GROUP_BY 88
-#define SQL_IGNORE (-6)
-#define SQL_INFO_FIRST 0
-#define SQL_KEYSET_SIZE 8
-#define SQL_KEYSET_SIZE_DEFAULT 0UL
-#define SQL_KEYWORDS 89
-#define SQL_LCK_EXCLUSIVE 2
-#define SQL_LCK_NO_CHANGE 1
-#define SQL_LCK_UNLOCK 4
-#define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
-#define SQL_LEN_BINARY_ATTR_OFFSET (-100)
-#define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
-#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100)
-#define SQL_LIKE_ESCAPE_CLAUSE 113
-#define SQL_LIKE_ONLY 1
-#define SQL_LOCK_EXCLUSIVE 1
-#define SQL_LOCK_NO_CHANGE 0
-#define SQL_LOCK_TYPES 78
-#define SQL_LOCK_UNLOCK 2
-#define SQL_LOGIN_TIMEOUT 103
-#define SQL_LOGIN_TIMEOUT_DEFAULT 15UL
-#define SQL_LONGVARBINARY (-4)
-#define SQL_LONGVARCHAR (-1)
-#define SQL_MAX_BINARY_LITERAL_LEN 112
-#define SQL_MAX_CHAR_LITERAL_LEN 108
-#define SQL_MAX_DSN_LENGTH 32
-#define SQL_MAX_LENGTH 3
-#define SQL_MAX_LENGTH_DEFAULT 0UL
-#define SQL_MAX_OPTION_STRING_LENGTH 256
-#define SQL_MAX_OWNER_NAME_LEN 32
-#define SQL_MAX_PROCEDURE_NAME_LEN 33
-#define SQL_MAX_QUALIFIER_NAME_LEN 34
-#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
-#define SQL_MAX_ROWS 1
-#define SQL_MAX_ROWS_DEFAULT 0UL
-#define SQL_MODE_DEFAULT SQL_MODE_READ_WRITE
-#define SQL_MODE_READ_ONLY 1UL
-#define SQL_MODE_READ_WRITE 0UL
-#define SQL_MULT_RESULT_SETS 36
-#define SQL_MULTIPLE_ACTIVE_TXN 37
-#define SQL_NC_END 0x0004
-#define SQL_NC_START 0x0002
-#define SQL_NEED_LONG_DATA_LEN 111
-#define SQL_NNC_NON_NULL 0x0001
-#define SQL_NNC_NULL 0x0000
-#define SQL_NO_TOTAL (-4)
-#define SQL_NON_NULLABLE_COLUMNS 75
-#define SQL_NOSCAN 2
-#define SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF
-#define SQL_NOSCAN_OFF 0UL
-#define SQL_NOSCAN_ON 1UL
-#define SQL_NUMERIC_FUNCTIONS 49
-#define SQL_OAC_LEVEL1 0x0001
-#define SQL_OAC_LEVEL2 0x0002
-#define SQL_OAC_NONE 0x0000
-#define SQL_ODBC_API_CONFORMANCE 9
-#define SQL_ODBC_CURSORS 110
-#define SQL_ODBC_SAG_CLI_CONFORMANCE 12
-#define SQL_ODBC_SQL_CONFORMANCE 15
-#define SQL_ODBC_SQL_OPT_IEF 73
-#define SQL_ODBC_VER 10
-#define SQL_OPT_TRACE 104
-#define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF
-#define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG"
-#define SQL_OPT_TRACE_OFF 0UL
-#define SQL_OPT_TRACE_ON 1UL
-#define SQL_OPT_TRACEFILE 105
-#define SQL_OSC_CORE 1
-#define SQL_OSC_EXTENDED 2
-#define SQL_OSC_MINIMUM 0
-#define SQL_OSCC_COMPLIANT 1
-#define SQL_OSCC_NOT_COMPLIANT 0
-#define SQL_OU_DML_STATEMENTS 1
-#define SQL_OU_INDEX_DEFINITION 8
-#define SQL_OU_PRIVILEGE_DEFINITION 16
-#define SQL_OU_PROCEDURE_INVOCATION 2
-#define SQL_OU_TABLE_DEFINITION 4
-#define SQL_OUTER_JOINS 38
-#define SQL_OWNER_TERM 39
-#define SQL_OWNER_USAGE 91
-#define SQL_PACKET_SIZE 112
-#define SQL_PARAM_INPUT 1
-#define SQL_PARAM_INPUT_OUTPUT 2
-#define SQL_PARAM_OUTPUT 4
-#define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT
-#define SQL_PARAM_TYPE_UNKNOWN 0
-#define SQL_PC_NOT_PSEUDO 1
-#define SQL_POS_ADD 16
-#define SQL_POS_DELETE 8
-#define SQL_POS_OPERATIONS 79
-#define SQL_POS_POSITION 1
-#define SQL_POS_REFRESH 2
-#define SQL_POS_UPDATE 4
-#define SQL_POSITION 0
-#define SQL_POSITIONED_STATEMENTS 80
-#define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
-#define SQL_PROCEDURE_TERM 40
-#define SQL_PROCEDURES 21
-#define SQL_PS_POSITIONED_DELETE 1
-#define SQL_PS_POSITIONED_UPDATE 2
-#define SQL_PS_SELECT_FOR_UPDATE 4
-#define SQL_PT_FUNCTION 2
-#define SQL_PT_PROCEDURE 1
-#define SQL_PT_UNKNOWN 0
-#define SQL_QL_END 0x0002
-#define SQL_QL_START 0x0001
-#define SQL_QU_DML_STATEMENTS 1
-#define SQL_QU_INDEX_DEFINITION 8
-#define SQL_QU_PRIVILEGE_DEFINITION 16
-#define SQL_QU_PROCEDURE_INVOCATION 2
-#define SQL_QU_TABLE_DEFINITION 4
-#define SQL_QUALIFIER_LOCATION 114
-#define SQL_QUALIFIER_NAME_SEPARATOR 41
-#define SQL_QUALIFIER_TERM 42
-#define SQL_QUALIFIER_USAGE 92
-#define SQL_QUERY_TIMEOUT 0
-#define SQL_QUERY_TIMEOUT_DEFAULT 0UL
-#define SQL_QUICK 0
-#define SQL_QUIET_MODE 111
-#define SQL_QUOTED_IDENTIFIER_CASE 93
-#define SQL_RD_DEFAULT SQL_RD_ON
-#define SQL_RD_OFF 0UL
-#define SQL_RD_ON 1UL
-#define SQL_REFRESH 1
-#define SQL_RESTRICT 1
-#define SQL_RESULT_COL 3
-#define SQL_RETRIEVE_DATA 11
-#define SQL_RETURN_VALUE 5
-#define SQL_ROW_ADDED 4
-#define SQL_ROW_DELETED 1
-#define SQL_ROW_ERROR 5
-#define SQL_ROW_NOROW 3
-#define SQL_ROW_NUMBER 14
-#define SQL_ROW_SUCCESS 0
-#define SQL_ROW_UPDATED 2
-#define SQL_ROW_UPDATES 11
-#define SQL_ROWSET_SIZE 9
-#define SQL_ROWSET_SIZE_DEFAULT 1UL
-#define SQL_ROWVER 2
-#define SQL_SC_NON_UNIQUE 0UL
-#define SQL_SC_TRY_UNIQUE 1UL
-#define SQL_SC_UNIQUE 2UL
-#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER /* deprecated */
-#define SQL_SCROLL_DYNAMIC (-2L) /* deprecated */
-#define SQL_SCROLL_FORWARD_ONLY 0L /* deprecated */
-#define SQL_SCROLL_KEYSET_DRIVEN (-1L) /* deprecated */
-#define SQL_SCROLL_OPTIONS 44
-#define SQL_SCROLL_STATIC (-3L) /* deprecated */
-#define SQL_SEARCHABLE 3
-#define SQL_SET_NULL 2
-#define SQL_SETPARAM_VALUE_MAX (-1L)
-#define SQL_SETPOS_MAX_LOCK_VALUE SQL_LOCK_UNLOCK
-#define SQL_SETPOS_MAX_OPTION_VALUE SQL_ADD
-#define SQL_SIGNED_OFFSET (-20)
-#define SQL_SIMULATE_CURSOR 10
-#define SQL_SO_DYNAMIC 4
-#define SQL_SO_FORWARD_ONLY 1
-#define SQL_SO_KEYSET_DRIVEN 2
-#define SQL_SO_MIXED 8
-#define SQL_SO_STATIC 16
-#define SQL_SQ_COMPARISON 1
-#define SQL_SQ_CORRELATED_SUBQUERIES 16
-#define SQL_SQ_EXISTS 2
-#define SQL_SQ_IN 4
-#define SQL_SQ_QUANTIFIED 8
-#define SQL_SQLSTATE_SIZE 5
-#define SQL_SS_ADDITIONS 1
-#define SQL_SS_DELETIONS 2
-#define SQL_SS_UPDATES 4
-#define SQL_STATIC_SENSITIVITY 83
-#define SQL_STRING_FUNCTIONS 50
-#define SQL_SUBQUERIES 95
-#define SQL_SYSTEM_FUNCTIONS 51
-#define SQL_TABLE_STAT 0
-#define SQL_TABLE_TERM 45
-#define SQL_TIME 10
-#define SQL_TIMEDATE_ADD_INTERVALS 109
-#define SQL_TIMEDATE_DIFF_INTERVALS 110
-#define SQL_TIMEDATE_FUNCTIONS 52
-#define SQL_TIMESTAMP 11
-#define SQL_TINYINT (-6)
-#define SQL_TRANSLATE_DLL 106
-#define SQL_TRANSLATE_OPTION 107
-#define SQL_TXN_ISOLATION 108
-#define SQL_TXN_VERSIONING 16
-#define SQL_TYPE_NULL 0
-#define SQL_U_UNION 1
-#define SQL_U_UNION_ALL 2
-#define SQL_UB_DEFAULT SQL_UB_OFF
-#define SQL_UB_OFF 0UL
-#define SQL_UB_ON 01UL
-#define SQL_UNION 96
-#define SQL_UNSEARCHABLE 0
-#define SQL_UNSIGNED_OFFSET (-22)
-#define SQL_UPDATE 2
-#define SQL_USE_BOOKMARKS 12
-#define SQL_VARBINARY (-3)
-#define SQL_POSITION_TO(s,r) SQLSetPos(s,r,SQL_POSITION,SQL_LOCK_NO_CHANGE)
-#define SQL_LOCK_RECORD(s,r,l) SQLSetPos(s,r,SQL_POSITION,l)
-#define SQL_REFRESH_RECORD(s,r,l) SQLSetPos(s,r,SQL_REFRESH,l)
-#define SQL_UPDATE_RECORD(s,r) SQLSetPos(s,r,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
-#define SQL_DELETE_RECORD(s,r) SQLSetPos(s,r,SQL_DELETE,SQL_LOCK_NO_CHANGE)
-#define SQL_ADD_RECORD(s,r) SQLSetPos(s,r,SQL_ADD,SQL_LOCK_NO_CHANGE)
-
-#if (ODBCVER < 0x0300)
-#define SQL_CONNECT_OPT_DRVR_START 1000
-#define SQL_CONN_OPT_MAX SQL_PACKET_SIZE
-#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE
-#define SQL_STMT_OPT_MAX SQL_ROW_NUMBER
-#define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT
-#define SQL_TYPE_DRIVER_START SQL_INTERVAL_YEAR
-#define SQL_TYPE_DRIVER_END SQL_UNICODE_LONGVARCHAR
-#define SQL_TYPE_MIN SQL_BIT
-#define SQL_TYPE_MAX SQL_VARCHAR
-#endif
-
-#if (ODBCVER < 0x0300)
-#define SQL_NO_DATA_FOUND 100
-#define SQL_INTERVAL_YEAR (-80)
-#define SQL_INTERVAL_MONTH (-81)
-#define SQL_INTERVAL_YEAR_TO_MONTH (-82)
-#define SQL_INTERVAL_DAY (-83)
-#define SQL_INTERVAL_HOUR (-84)
-#define SQL_INTERVAL_MINUTE (-85)
-#define SQL_INTERVAL_SECOND (-86)
-#define SQL_INTERVAL_DAY_TO_HOUR (-87)
-#define SQL_INTERVAL_DAY_TO_MINUTE (-88)
-#define SQL_INTERVAL_DAY_TO_SECOND (-89)
-#define SQL_INTERVAL_HOUR_TO_MINUTE (-90)
-#define SQL_INTERVAL_HOUR_TO_SECOND (-91)
-#define SQL_INTERVAL_MINUTE_TO_SECOND (-92)
-#else
-#define SQL_NO_DATA_FOUND SQL_NO_DATA
-#define SQL_CODE_YEAR 1
-#define SQL_CODE_MONTH 2
-#define SQL_CODE_DAY 3
-#define SQL_CODE_HOUR 4
-#define SQL_CODE_MINUTE 5
-#define SQL_CODE_SECOND 6
-#define SQL_CODE_YEAR_TO_MONTH 7
-#define SQL_CODE_DAY_TO_HOUR 8
-#define SQL_CODE_DAY_TO_MINUTE 9
-#define SQL_CODE_DAY_TO_SECOND 10
-#define SQL_CODE_HOUR_TO_MINUTE 11
-#define SQL_CODE_HOUR_TO_SECOND 12
-#define SQL_CODE_MINUTE_TO_SECOND 13
-#define SQL_INTERVAL_YEAR (100 + SQL_CODE_YEAR)
-#define SQL_INTERVAL_MONTH (100 + SQL_CODE_MONTH)
-#define SQL_INTERVAL_DAY (100 + SQL_CODE_DAY)
-#define SQL_INTERVAL_HOUR (100 + SQL_CODE_HOUR)
-#define SQL_INTERVAL_MINUTE (100 + SQL_CODE_MINUTE)
-#define SQL_INTERVAL_SECOND (100 + SQL_CODE_SECOND)
-#define SQL_INTERVAL_YEAR_TO_MONTH (100 + SQL_CODE_YEAR_TO_MONTH)
-#define SQL_INTERVAL_DAY_TO_HOUR (100 + SQL_CODE_DAY_TO_HOUR)
-#define SQL_INTERVAL_DAY_TO_MINUTE (100 + SQL_CODE_DAY_TO_MINUTE)
-#define SQL_INTERVAL_DAY_TO_SECOND (100 + SQL_CODE_DAY_TO_SECOND)
-#define SQL_INTERVAL_HOUR_TO_MINUTE (100 + SQL_CODE_HOUR_TO_MINUTE)
-#define SQL_INTERVAL_HOUR_TO_SECOND (100 + SQL_CODE_HOUR_TO_SECOND)
-#define SQL_INTERVAL_MINUTE_TO_SECOND (100 + SQL_CODE_MINUTE_TO_SECOND)
-#endif
-
-#if (ODBCVER <= 0x0300)
-#define SQL_UNICODE (-95)
-#define SQL_UNICODE_VARCHAR (-96)
-#define SQL_UNICODE_LONGVARCHAR (-97)
-#define SQL_UNICODE_CHAR SQL_UNICODE
-#else
-#define SQL_UNICODE SQL_WCHAR
-#define SQL_UNICODE_VARCHAR SQL_WVARCHAR
-#define SQL_UNICODE_LONGVARCHAR SQL_WLONGVARCHAR
-#define SQL_UNICODE_CHAR SQL_WCHAR
-#endif
-
-#if (ODBCVER >= 0x0201) && (ODBCVER < 0x0300)
-#define SQL_OJ_CAPABILITIES 65003
-#endif /* ODBCVER < 0x0300 */
-
-#if (ODBCVER >= 0x0250)
-#define SQL_NO_ACTION 3
-#define SQL_SET_DEFAULT 4
-#endif /* ODBCVER >= 0x0250 */
-
-#if (ODBCVER >= 0x0300)
-#define SQL_ACTIVE_ENVIRONMENTS 116
-#define SQL_AD_ADD_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_AD_ADD_DOMAIN_CONSTRAINT 0x00000002L
-#define SQL_AD_ADD_DOMAIN_DEFAULT 0x00000008L
-#define SQL_AD_CONSTRAINT_NAME_DEFINITION 0x00000001L
-#define SQL_AD_DROP_DOMAIN_CONSTRAINT 0x00000004L
-#define SQL_AD_DROP_DOMAIN_DEFAULT 0x00000010L
-#define SQL_AF_ALL 0x00000040L
-#define SQL_AF_AVG 0x00000001L
-#define SQL_AF_COUNT 0x00000002L
-#define SQL_AF_DISTINCT 0x00000020L
-#define SQL_AF_MAX 0x00000004L
-#define SQL_AF_MIN 0x00000008L
-#define SQL_AF_SUM 0x00000010L
-#define SQL_AGGREGATE_FUNCTIONS 169
-#define SQL_ALL_CATALOGS "%"
-#define SQL_ALL_SCHEMAS "%"
-#define SQL_ALL_TABLE_TYPES "%"
-#define SQL_ALTER_DOMAIN 117
-#define SQL_AM_CONNECTION 1
-#define SQL_AM_NONE 0
-#define SQL_AM_STATEMENT 2
-#define SQL_API_ODBC3_ALL_FUNCTIONS 999
-#define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE 250
-#define SQL_API_SQLALLOCHANDLESTD 73
-#define SQL_API_SQLBULKOPERATIONS 24
-#define SQL_ASYNC_MODE 10021
-#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
-#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
-#define SQL_AT_ADD_COLUMN_SINGLE 0x00000020L
-#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
-#define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L
-#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
-#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
-#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
-#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
-#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
-#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
-#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
-#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
-#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
-#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
-#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE
-#define SQL_ATTR_ASYNC_ENABLE 4
-#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT
-#define SQL_ATTR_CONCURRENCY SQL_CONCURRENCY
-#define SQL_ATTR_CONNECTION_POOLING 201
-#define SQL_ATTR_CONNECTION_TIMEOUT 113
-#define SQL_ATTR_CP_MATCH 202
-#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER
-#define SQL_ATTR_CURSOR_TYPE SQL_CURSOR_TYPE
-#define SQL_ATTR_DISCONNECT_BEHAVIOR 114
-#define SQL_ATTR_ENABLE_AUTO_IPD 15
-#define SQL_ATTR_ENLIST_IN_DTC 1207
-#define SQL_ATTR_ENLIST_IN_XA 1208
-#define SQL_ATTR_FETCH_BOOKMARK_PTR 16
-#define SQL_ATTR_KEYSET_SIZE SQL_KEYSET_SIZE
-#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT
-#define SQL_ATTR_MAX_LENGTH SQL_MAX_LENGTH
-#define SQL_ATTR_MAX_ROWS SQL_MAX_ROWS
-#define SQL_ATTR_NOSCAN SQL_NOSCAN
-#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS
-#define SQL_ATTR_ODBC_VERSION 200
-#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE
-#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 17
-#define SQL_ATTR_PARAM_BIND_TYPE 18
-#define SQL_ATTR_PARAM_OPERATION_PTR 19
-#define SQL_ATTR_PARAM_STATUS_PTR 20
-#define SQL_ATTR_PARAMS_PROCESSED_PTR 21
-#define SQL_ATTR_PARAMSET_SIZE 22
-#define SQL_ATTR_QUERY_TIMEOUT SQL_QUERY_TIMEOUT
-#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE
-#define SQL_ATTR_RETRIEVE_DATA SQL_RETRIEVE_DATA
-#define SQL_ATTR_ROW_ARRAY_SIZE 27
-#define SQL_ATTR_ROW_BIND_OFFSET_PTR 23
-#define SQL_ATTR_ROW_BIND_TYPE SQL_BIND_TYPE
-#define SQL_ATTR_ROW_NUMBER SQL_ROW_NUMBER
-#define SQL_ATTR_ROW_OPERATION_PTR 24
-#define SQL_ATTR_ROW_STATUS_PTR 25
-#define SQL_ATTR_ROWS_FETCHED_PTR 26
-#define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR
-#define SQL_ATTR_TRACE SQL_OPT_TRACE
-#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE
-#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL
-#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION
-#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION
-#define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS
-#define SQL_BATCH_ROW_COUNT 120
-#define SQL_BATCH_SUPPORT 121
-#define SQL_BRC_EXPLICIT 0x0000002
-#define SQL_BRC_PROCEDURES 0x0000001
-#define SQL_BRC_ROLLED_UP 0x0000004
-#define SQL_BS_ROW_COUNT_EXPLICIT 0x00000002L
-#define SQL_BS_ROW_COUNT_PROC 0x00000008L
-#define SQL_BS_SELECT_EXPLICIT 0x00000001L
-#define SQL_BS_SELECT_PROC 0x00000004L
-#define SQL_C_INTERVAL_DAY SQL_INTERVAL_DAY
-#define SQL_C_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_HOUR
-#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE
-#define SQL_C_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_DAY_TO_SECOND
-#define SQL_C_INTERVAL_HOUR SQL_INTERVAL_HOUR
-#define SQL_C_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE
-#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND
-#define SQL_C_INTERVAL_MINUTE SQL_INTERVAL_MINUTE
-#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
-#define SQL_C_INTERVAL_MONTH SQL_INTERVAL_MONTH
-#define SQL_C_INTERVAL_SECOND SQL_INTERVAL_SECOND
-#define SQL_C_INTERVAL_YEAR SQL_INTERVAL_YEAR
-#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH
-#define SQL_C_NUMERIC SQL_NUMERIC
-#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET)
-#define SQL_C_TYPE_DATE SQL_TYPE_DATE
-#define SQL_C_TYPE_TIME SQL_TYPE_TIME
-#define SQL_C_TYPE_TIMESTAMP SQL_TYPE_TIMESTAMP
-#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET)
-#define SQL_C_VARBOOKMARK SQL_C_BINARY
-#define SQL_CA_CONSTRAINT_DEFERRABLE 0x00000040L
-#define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED 0x00000010L
-#define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000020L
-#define SQL_CA_CONSTRAINT_NON_DEFERRABLE 0x00000080L
-#define SQL_CA_CREATE_ASSERTION 0x00000001L
-#define SQL_CA1_ABSOLUTE 0x00000002L
-#define SQL_CA1_BOOKMARK 0x00000008L
-#define SQL_CA1_BULK_ADD 0x00010000L
-#define SQL_CA1_BULK_DELETE_BY_BOOKMARK 0x00040000L
-#define SQL_CA1_BULK_FETCH_BY_BOOKMARK 0x00080000L
-#define SQL_CA1_BULK_UPDATE_BY_BOOKMARK 0x00020000L
-#define SQL_CA1_LOCK_EXCLUSIVE 0x00000080L
-#define SQL_CA1_LOCK_NO_CHANGE 0x00000040L
-#define SQL_CA1_LOCK_UNLOCK 0x00000100L
-#define SQL_CA1_NEXT 0x00000001L
-#define SQL_CA1_POS_DELETE 0x00000800L
-#define SQL_CA1_POS_POSITION 0x00000200L
-#define SQL_CA1_POS_REFRESH 0x00001000L
-#define SQL_CA1_POS_UPDATE 0x00000400L
-#define SQL_CA1_POSITIONED_DELETE 0x00004000L
-#define SQL_CA1_POSITIONED_UPDATE 0x00002000L
-#define SQL_CA1_RELATIVE 0x00000004L
-#define SQL_CA1_SELECT_FOR_UPDATE 0x00008000L
-#define SQL_CA2_CRC_APPROXIMATE 0x00002000L
-#define SQL_CA2_CRC_EXACT 0x00001000L
-#define SQL_CA2_LOCK_CONCURRENCY 0x00000002L
-#define SQL_CA2_MAX_ROWS_AFFECTS_ALL (SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT | \
-    SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG)
-#define SQL_CA2_MAX_ROWS_CATALOG 0x00000800L
-#define SQL_CA2_MAX_ROWS_DELETE 0x00000200L
-#define SQL_CA2_MAX_ROWS_INSERT 0x00000100L
-#define SQL_CA2_MAX_ROWS_SELECT 0x00000080L
-#define SQL_CA2_MAX_ROWS_UPDATE 0x00000400L
-#define SQL_CA2_OPT_ROWVER_CONCURRENCY 0x00000004L
-#define SQL_CA2_OPT_VALUES_CONCURRENCY 0x00000008L
-#define SQL_CA2_READ_ONLY_CONCURRENCY 0x00000001L
-#define SQL_CA2_SENSITIVITY_ADDITIONS 0x00000010L
-#define SQL_CA2_SENSITIVITY_DELETIONS 0x00000020L
-#define SQL_CA2_SENSITIVITY_UPDATES 0x00000040L
-#define SQL_CA2_SIMULATE_NON_UNIQUE 0x00004000L
-#define SQL_CA2_SIMULATE_TRY_UNIQUE 0x00008000L
-#define SQL_CA2_SIMULATE_UNIQUE 0x00010000L
-#define SQL_CATALOG_LOCATION SQL_QUALIFIER_LOCATION
-#define SQL_CATALOG_NAME_SEPARATOR SQL_QUALIFIER_NAME_SEPARATOR
-#define SQL_CATALOG_TERM SQL_QUALIFIER_TERM
-#define SQL_CATALOG_USAGE SQL_QUALIFIER_USAGE
-#define SQL_CCOL_CREATE_COLLATION 0x00000001L
-#define SQL_CCS_COLLATE_CLAUSE 0x00000002L
-#define SQL_CCS_CREATE_CHARACTER_SET 0x00000001L
-#define SQL_CCS_LIMITED_COLLATION 0x00000004L
-#define SQL_CDO_COLLATION 0x00000008L
-#define SQL_CDO_CONSTRAINT 0x00000004L
-#define SQL_CDO_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_CDO_CONSTRAINT_NAME_DEFINITION 0x00000010L
-#define SQL_CDO_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_CDO_CREATE_DOMAIN 0x00000001L
-#define SQL_CDO_DEFAULT 0x00000002L
-#define SQL_CL_END SQL_QL_END
-#define SQL_CL_START SQL_QL_START
-#define SQL_COL_PRED_BASIC SQL_ALL_EXCEPT_LIKE
-#define SQL_COL_PRED_CHAR SQL_LIKE_ONLY
-#define SQL_COLUMN_DRIVER_START 1000
-#define SQL_COLUMN_IGNORE SQL_IGNORE
-#define SQL_COLUMN_NUMBER_UNKNOWN (-2)
-#define SQL_CONVERT_GUID 173
-#define SQL_CONVERT_INTERVAL_DAY_TIME 123
-#define SQL_CONVERT_INTERVAL_YEAR_MONTH 124
-#define SQL_CONVERT_WCHAR 122
-#define SQL_CONVERT_WLONGVARCHAR 125
-#define SQL_CONVERT_WVARCHAR 126
-#define SQL_CP_DEFAULT SQL_CP_OFF
-#define SQL_CP_MATCH_DEFAULT SQL_CP_STRICT_MATCH
-#define SQL_CP_OFF 0UL
-#define SQL_CP_ONE_PER_DRIVER 1UL
-#define SQL_CP_ONE_PER_HENV 2UL
-#define SQL_CP_RELAXED_MATCH 1UL
-#define SQL_CP_STRICT_MATCH 0UL
-#define SQL_CREATE_ASSERTION 127
-#define SQL_CREATE_CHARACTER_SET 128
-#define SQL_CREATE_COLLATION 129
-#define SQL_CREATE_DOMAIN 130
-#define SQL_CREATE_SCHEMA 131
-#define SQL_CREATE_TABLE 132
-#define SQL_CREATE_TRANSLATION 133
-#define SQL_CREATE_VIEW 134
-#define SQL_CS_AUTHORIZATION 0x00000002L
-#define SQL_CS_CREATE_SCHEMA 0x00000001L
-#define SQL_CS_DEFAULT_CHARACTER_SET 0x00000004L
-#define SQL_CT_COLUMN_COLLATION 0x00000800L
-#define SQL_CT_COLUMN_CONSTRAINT 0x00000200L
-#define SQL_CT_COLUMN_DEFAULT 0x00000400L
-#define SQL_CT_COMMIT_DELETE 0x00000004L
-#define SQL_CT_COMMIT_PRESERVE 0x00000002L
-#define SQL_CT_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_CT_CONSTRAINT_NAME_DEFINITION 0x00002000L
-#define SQL_CT_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_CT_CREATE_TABLE 0x00000001L
-#define SQL_CT_GLOBAL_TEMPORARY 0x00000008L
-#define SQL_CT_LOCAL_TEMPORARY 0x00000010L
-#define SQL_CT_TABLE_CONSTRAINT 0x00001000L
-#define SQL_CTR_CREATE_TRANSLATION 0x00000001L
-#define SQL_CU_DML_STATEMENTS SQL_QU_DML_STATEMENTS
-#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION
-#define SQL_CU_PRIVILEGE_DEFINITION SQL_QU_PRIVILEGE_DEFINITION
-#define SQL_CU_PROCEDURE_INVOCATION SQL_QU_PROCEDURE_INVOCATION
-#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION
-#define	SQL_CVT_GUID 0x1000000L
-#define SQL_CVT_INTERVAL_DAY_TIME 0x00100000L
-#define SQL_CVT_INTERVAL_YEAR_MONTH 0x00080000L
-#define SQL_CVT_WCHAR 0x00200000L
-#define SQL_CVT_WLONGVARCHAR 0x00400000L
-#define SQL_CVT_WVARCHAR 0x00800000L
-#define SQL_DA_DROP_ASSERTION 0x00000001L
-#define SQL_DATETIME_LITERALS 119
-#define SQL_DB_DEFAULT SQL_DB_RETURN_TO_POOL
-#define SQL_DB_DISCONNECT 1UL
-#define SQL_DB_RETURN_TO_POOL 0UL
-#define SQL_DC_DROP_COLLATION 0x00000001L
-#define SQL_DCS_DROP_CHARACTER_SET 0x00000001L
-#define SQL_DD_CASCADE 0x00000004L
-#define SQL_DD_DROP_DOMAIN 0x00000001L
-#define SQL_DD_RESTRICT 0x00000002L
-#define SQL_DDL_INDEX 170
-#define SQL_DELETE_BY_BOOKMARK 6
-#define SQL_DESC_ARRAY_SIZE 20
-#define SQL_DESC_ARRAY_STATUS_PTR 21
-#define SQL_DESC_AUTO_UNIQUE_VALUE SQL_COLUMN_AUTO_INCREMENT
-#define SQL_DESC_BASE_COLUMN_NAME 22
-#define SQL_DESC_BASE_TABLE_NAME 23
-#define SQL_DESC_BIND_OFFSET_PTR 24
-#define SQL_DESC_BIND_TYPE 25
-#define SQL_DESC_CASE_SENSITIVE SQL_COLUMN_CASE_SENSITIVE
-#define SQL_DESC_CATALOG_NAME SQL_COLUMN_QUALIFIER_NAME
-#define SQL_DESC_CONCISE_TYPE SQL_COLUMN_TYPE
-#define SQL_DESC_DATETIME_INTERVAL_PRECISION 26
-#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE
-#define SQL_DESC_FIXED_PREC_SCALE SQL_COLUMN_MONEY
-#define SQL_DESC_LABEL SQL_COLUMN_LABEL
-#define SQL_DESC_LITERAL_PREFIX 27
-#define SQL_DESC_LITERAL_SUFFIX 28
-#define SQL_DESC_LOCAL_TYPE_NAME 29
-#define SQL_DESC_MAXIMUM_SCALE 30
-#define SQL_DESC_MINIMUM_SCALE 31
-#define SQL_DESC_NUM_PREC_RADIX 32
-#define SQL_DESC_PARAMETER_TYPE 33
-#define SQL_DESC_ROWS_PROCESSED_PTR 34
-#define SQL_DESC_SCHEMA_NAME SQL_COLUMN_OWNER_NAME
-#define SQL_DESC_SEARCHABLE SQL_COLUMN_SEARCHABLE
-#define SQL_DESC_TABLE_NAME SQL_COLUMN_TABLE_NAME
-#define SQL_DESC_TYPE_NAME SQL_COLUMN_TYPE_NAME
-#define SQL_DESC_UNSIGNED SQL_COLUMN_UNSIGNED
-#define SQL_DESC_UPDATABLE SQL_COLUMN_UPDATABLE
-#define SQL_DI_CREATE_INDEX 0x00000001L
-#define SQL_DI_DROP_INDEX 0x00000002L
-#define SQL_DIAG_COLUMN_NUMBER (-1247)
-#define SQL_DIAG_CURSOR_ROW_COUNT (-1249)
-#define SQL_DIAG_ROW_NUMBER (-1248)
-#define SQL_DL_SQL92_DATE 0x00000001L
-#define SQL_DL_SQL92_INTERVAL_DAY 0x00000020L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR 0x00000400L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE 0x00000800L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND 0x00001000L
-#define SQL_DL_SQL92_INTERVAL_HOUR 0x00000040L
-#define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE 0x00002000L
-#define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND 0x00004000L
-#define SQL_DL_SQL92_INTERVAL_MINUTE 0x00000080L
-#define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND 0x00008000L
-#define SQL_DL_SQL92_INTERVAL_MONTH 0x00000010L
-#define SQL_DL_SQL92_INTERVAL_SECOND 0x00000100L
-#define SQL_DL_SQL92_INTERVAL_YEAR 0x00000008L
-#define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH 0x00000200L
-#define SQL_DL_SQL92_TIME 0x00000002L
-#define SQL_DL_SQL92_TIMESTAMP 0x00000004L
-#define SQL_DM_VER 171
-#define SQL_DRIVER_HDESC 135
-#define SQL_DROP_ASSERTION 136
-#define SQL_DROP_CHARACTER_SET 137
-#define SQL_DROP_COLLATION 138
-#define SQL_DROP_DOMAIN 139
-#define SQL_DROP_SCHEMA 140
-#define SQL_DROP_TABLE 141
-#define SQL_DROP_TRANSLATION 142
-#define SQL_DROP_VIEW 143
-#define SQL_DS_CASCADE 0x00000004L
-#define SQL_DS_DROP_SCHEMA 0x00000001L
-#define SQL_DS_RESTRICT 0x00000002L
-#define SQL_DT_CASCADE 0x00000004L
-#define SQL_DT_DROP_TABLE 0x00000001L
-#define SQL_DT_RESTRICT 0x00000002L
-#define SQL_DTC_DONE 0L
-#define SQL_DTR_DROP_TRANSLATION 0x00000001L
-#define SQL_DV_CASCADE 0x00000004L
-#define SQL_DV_DROP_VIEW 0x00000001L
-#define SQL_DV_RESTRICT 0x00000002L
-#define SQL_DYNAMIC_CURSOR_ATTRIBUTES1 144
-#define SQL_DYNAMIC_CURSOR_ATTRIBUTES2 145
-#define SQL_EXT_API_LAST SQL_API_SQLBINDPARAMETER
-#define SQL_EXT_API_START 40
-#define SQL_FETCH_BY_BOOKMARK 7
-#define SQL_FETCH_FIRST_SYSTEM 32
-#define SQL_FETCH_FIRST_USER 31
-#define SQL_FN_CVT_CAST 0x00000002L
-#define SQL_FN_STR_BIT_LENGTH 0x00080000L
-#define SQL_FN_STR_CHAR_LENGTH 0x00100000L
-#define SQL_FN_STR_CHARACTER_LENGTH 0x00200000L
-#define SQL_FN_STR_OCTET_LENGTH 0x00400000L
-#define SQL_FN_STR_POSITION 0x00800000L
-#define SQL_FN_TD_CURRENT_DATE 0x00020000L
-#define SQL_FN_TD_CURRENT_TIME 0x00040000L
-#define SQL_FN_TD_CURRENT_TIMESTAMP 0x00080000L
-#define SQL_FN_TD_EXTRACT 0x00100000L
-#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 146
-#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 147
-#define SQL_FUNC_EXISTS(exists, api) \
-   ((*(((UWORD*) (exists)) + ((api) >> 4)) & (1 << ((api) & 15)) ) ? \
-   SQL_TRUE : SQL_FALSE )
-#define SQL_GB_COLLATE 0x0004
-#define SQL_HANDLE_SENV 5
-#define SQL_IK_ALL (SQL_IK_ASC | SQL_IK_DESC)
-#define SQL_IK_ASC 1
-#define SQL_IK_DESC 2
-#define SQL_IK_NONE 0
-#define SQL_INDEX_KEYWORDS 148
-#define SQL_INFO_DRIVER_START 1000
-#define SQL_INFO_LAST SQL_QUALIFIER_LOCATION
-#define SQL_INFO_SCHEMA_VIEWS 149
-#define SQL_INITIALLY_DEFERRED 5
-#define SQL_INITIALLY_IMMEDIATE 6
-#define SQL_INSERT_STATEMENT 172
-#define SQL_INTERVAL 10
-#define SQL_IS_INSERT_LITERALS 0x00000001L
-#define SQL_IS_INSERT_SEARCHED 0x00000002L
-#define SQL_IS_INTEGER (-6)
-#define SQL_IS_POINTER (-4)
-#define SQL_IS_SELECT_INTO 0x00000004L
-#define SQL_IS_SMALLINT (-8)
-#define SQL_IS_UINTEGER (-5)
-#define SQL_IS_USMALLINT (-7)
-#define SQL_ISV_ASSERTIONS 0x00000001L
-#define SQL_ISV_CHARACTER_SETS 0x00000002L
-#define SQL_ISV_CHECK_CONSTRAINTS 0x00000004L
-#define SQL_ISV_COLLATIONS 0x00000008L
-#define SQL_ISV_COLUMN_DOMAIN_USAGE 0x00000010L
-#define SQL_ISV_COLUMN_PRIVILEGES 0x00000020L
-#define SQL_ISV_COLUMNS 0x00000040L
-#define SQL_ISV_CONSTRAINT_COLUMN_USAGE 0x00000080L
-#define SQL_ISV_CONSTRAINT_TABLE_USAGE 0x00000100L
-#define SQL_ISV_DOMAIN_CONSTRAINTS 0x00000200L
-#define SQL_ISV_DOMAINS 0x00000400L
-#define SQL_ISV_KEY_COLUMN_USAGE 0x00000800L
-#define SQL_ISV_REFERENTIAL_CONSTRAINTS 0x00001000L
-#define SQL_ISV_SCHEMATA 0x00002000L
-#define SQL_ISV_SQL_LANGUAGES 0x00004000L
-#define SQL_ISV_TABLE_CONSTRAINTS 0x00008000L
-#define SQL_ISV_TABLE_PRIVILEGES 0x00010000L
-#define SQL_ISV_TABLES 0x00020000L
-#define SQL_ISV_TRANSLATIONS 0x00040000L
-#define SQL_ISV_USAGE_PRIVILEGES 0x00080000L
-#define SQL_ISV_VIEW_COLUMN_USAGE 0x00100000L
-#define SQL_ISV_VIEW_TABLE_USAGE 0x00200000L
-#define SQL_ISV_VIEWS 0x00400000L
-#define SQL_KEYSET_CURSOR_ATTRIBUTES1 150
-#define SQL_KEYSET_CURSOR_ATTRIBUTES2 151
-#define SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 10022
-#define SQL_NO_COLUMN_NUMBER (-1)
-#define SQL_NO_ROW_NUMBER (-1)
-#define SQL_NOT_DEFERRABLE 7
-#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1)
-#define SQL_NUM_FUNCTIONS 23
-#define SQL_ODBC_INTERFACE_CONFORMANCE 152
-#define SQL_OIC_CORE 1UL
-#define SQL_OIC_LEVEL1 2UL
-#define SQL_OIC_LEVEL2 3UL
-#define SQL_OV_ODBC2 2UL
-#define SQL_OV_ODBC3 3UL
-#define SQL_PARAM_ARRAY_ROW_COUNTS 153
-#define SQL_PARAM_ARRAY_SELECTS 154
-#define SQL_PARAM_BIND_BY_COLUMN 0UL
-#define SQL_PARAM_BIND_TYPE_DEFAULT SQL_PARAM_BIND_BY_COLUMN
-#define SQL_PARAM_DIAG_UNAVAILABLE 1
-#define SQL_PARAM_ERROR 5
-#define SQL_PARAM_IGNORE 1
-#define SQL_PARAM_PROCEED 0
-#define SQL_PARAM_SUCCESS 0
-#define SQL_PARAM_SUCCESS_WITH_INFO 6
-#define SQL_PARAM_UNUSED 7
-#define SQL_PARC_BATCH 1
-#define SQL_PARC_NO_BATCH 2
-#define SQL_PAS_BATCH 1
-#define SQL_PAS_NO_BATCH 2
-#define SQL_PAS_NO_SELECT 3
-#define SQL_ROW_IGNORE 1
-#define SQL_ROW_NUMBER_UNKNOWN (-2)
-#define SQL_ROW_PROCEED 0
-#define SQL_ROW_SUCCESS_WITH_INFO 6
-#define SQL_SC_FIPS127_2_TRANSITIONAL 0x00000002L
-#define SQL_SC_SQL92_ENTRY 0x00000001L
-#define SQL_SC_SQL92_FULL 0x00000008L
-#define SQL_SC_SQL92_INTERMEDIATE 0x00000004L
-#define SQL_SCC_ISO92_CLI 0x00000002L
-#define SQL_SCC_XOPEN_CLI_VERSION1 0x00000001L
-#define SQL_SCHEMA_TERM SQL_OWNER_TERM
-#define SQL_SCHEMA_USAGE SQL_OWNER_USAGE
-#define SQL_SDF_CURRENT_DATE 0x00000001L
-#define SQL_SDF_CURRENT_TIME 0x00000002L
-#define SQL_SDF_CURRENT_TIMESTAMP 0x00000004L
-#define SQL_SFKD_CASCADE 0x00000001L
-#define SQL_SFKD_NO_ACTION 0x00000002L
-#define SQL_SFKD_SET_DEFAULT 0x00000004L
-#define SQL_SFKD_SET_NULL 0x00000008L
-#define SQL_SFKU_CASCADE 0x00000001L
-#define SQL_SFKU_NO_ACTION 0x00000002L
-#define SQL_SFKU_SET_DEFAULT 0x00000004L
-#define SQL_SFKU_SET_NULL 0x00000008L
-#define SQL_SG_DELETE_TABLE 0x00000020L
-#define SQL_SG_INSERT_COLUMN 0x00000080L
-#define SQL_SG_INSERT_TABLE 0x00000040L
-#define SQL_SG_REFERENCES_COLUMN 0x00000200L
-#define SQL_SG_REFERENCES_TABLE 0x00000100L
-#define SQL_SG_SELECT_TABLE 0x00000400L
-#define SQL_SG_UPDATE_COLUMN 0x00001000L
-#define SQL_SG_UPDATE_TABLE 0x00000800L
-#define SQL_SG_USAGE_ON_CHARACTER_SET 0x00000002L
-#define SQL_SG_USAGE_ON_COLLATION 0x00000004L
-#define SQL_SG_USAGE_ON_DOMAIN 0x00000001L
-#define SQL_SG_USAGE_ON_TRANSLATION 0x00000008L
-#define SQL_SG_WITH_GRANT_OPTION 0x00000010L
-#define SQL_SNVF_BIT_LENGTH 0x00000001L
-#define SQL_SNVF_CHAR_LENGTH 0x00000002L
-#define SQL_SNVF_CHARACTER_LENGTH 0x00000004L
-#define SQL_SNVF_EXTRACT 0x00000008L
-#define SQL_SNVF_OCTET_LENGTH 0x00000010L
-#define SQL_SNVF_POSITION 0x00000020L
-#define SQL_SP_BETWEEN 0x00000800L
-#define SQL_SP_COMPARISON 0x00001000L
-#define SQL_SP_EXISTS 0x00000001L
-#define SQL_SP_IN 0x00000400L
-#define SQL_SP_ISNOTNULL 0x00000002L
-#define SQL_SP_ISNULL 0x00000004L
-#define SQL_SP_LIKE 0x00000200L
-#define SQL_SP_MATCH_FULL 0x00000008L
-#define SQL_SP_MATCH_PARTIAL 0x00000010L
-#define SQL_SP_MATCH_UNIQUE_FULL 0x00000020L
-#define SQL_SP_MATCH_UNIQUE_PARTIAL 0x00000040L
-#define SQL_SP_OVERLAPS 0x00000080L
-#define SQL_SP_QUANTIFIED_COMPARISON 0x00002000L
-#define SQL_SP_UNIQUE 0x00000100L
-#define SQL_SQL_CONFORMANCE 118
-#define SQL_SQL92_DATETIME_FUNCTIONS 155
-#define SQL_SQL92_FOREIGN_KEY_DELETE_RULE 156
-#define SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 157
-#define SQL_SQL92_GRANT 158
-#define SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 159
-#define SQL_SQL92_PREDICATES 160
-#define SQL_SQL92_RELATIONAL_JOIN_OPERATORS 161
-#define SQL_SQL92_REVOKE 162
-#define SQL_SQL92_ROW_VALUE_CONSTRUCTOR 163
-#define SQL_SQL92_STRING_FUNCTIONS 164
-#define SQL_SQL92_VALUE_EXPRESSIONS 165
-#define SQL_SR_CASCADE 0x00000020L
-#define SQL_SR_DELETE_TABLE 0x00000080L
-#define SQL_SR_GRANT_OPTION_FOR 0x00000010L
-#define SQL_SR_INSERT_COLUMN 0x00000200L
-#define SQL_SR_INSERT_TABLE 0x00000100L
-#define SQL_SR_REFERENCES_COLUMN 0x00000800L
-#define SQL_SR_REFERENCES_TABLE 0x00000400L
-#define SQL_SR_RESTRICT 0x00000040L
-#define SQL_SR_SELECT_TABLE 0x00001000L
-#define SQL_SR_UPDATE_COLUMN 0x00004000L
-#define SQL_SR_UPDATE_TABLE 0x00002000L
-#define SQL_SR_USAGE_ON_CHARACTER_SET 0x00000002L
-#define SQL_SR_USAGE_ON_COLLATION 0x00000004L
-#define SQL_SR_USAGE_ON_DOMAIN 0x00000001L
-#define SQL_SR_USAGE_ON_TRANSLATION 0x00000008L
-#define SQL_SRJO_CORRESPONDING_CLAUSE 0x00000001L
-#define SQL_SRJO_CROSS_JOIN 0x00000002L
-#define SQL_SRJO_EXCEPT_JOIN 0x00000004L
-#define SQL_SRJO_FULL_OUTER_JOIN 0x00000008L
-#define SQL_SRJO_INNER_JOIN 0x00000010L
-#define SQL_SRJO_INTERSECT_JOIN 0x00000020L
-#define SQL_SRJO_LEFT_OUTER_JOIN 0x00000040L
-#define SQL_SRJO_NATURAL_JOIN 0x00000080L
-#define SQL_SRJO_RIGHT_OUTER_JOIN 0x00000100L
-#define SQL_SRJO_UNION_JOIN 0x00000200L
-#define SQL_SRVC_DEFAULT 0x00000004L
-#define SQL_SRVC_NULL 0x00000002L
-#define SQL_SRVC_ROW_SUBQUERY 0x00000008L
-#define SQL_SRVC_VALUE_EXPRESSION 0x00000001L
-#define SQL_SSF_CONVERT 0x00000001L
-#define SQL_SSF_LOWER 0x00000002L
-#define SQL_SSF_SUBSTRING 0x00000008L
-#define SQL_SSF_TRANSLATE 0x00000010L
-#define SQL_SSF_TRIM_BOTH 0x00000020L
-#define SQL_SSF_TRIM_LEADING 0x00000040L
-#define SQL_SSF_TRIM_TRAILING 0x00000080L
-#define SQL_SSF_UPPER 0x00000004L
-#define SQL_STANDARD_CLI_CONFORMANCE 166
-#define SQL_STATIC_CURSOR_ATTRIBUTES1 167
-#define SQL_STATIC_CURSOR_ATTRIBUTES2 168
-#define SQL_SU_DML_STATEMENTS SQL_OU_DML_STATEMENTS
-#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION
-#define SQL_SU_PRIVILEGE_DEFINITION SQL_OU_PRIVILEGE_DEFINITION
-#define SQL_SU_PROCEDURE_INVOCATION SQL_OU_PROCEDURE_INVOCATION
-#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION
-#define SQL_SVE_CASE 0x00000001L
-#define SQL_SVE_CAST 0x00000002L
-#define SQL_SVE_COALESCE 0x00000004L
-#define SQL_SVE_NULLIF 0x00000008L
-#define SQL_UB_FIXED SQL_UB_ON
-#define SQL_UB_VARIABLE 2UL
-#define SQL_UNION_STATEMENT SQL_UNION
-#define SQL_UPDATE_BY_BOOKMARK 5
-#define SQL_US_UNION SQL_U_UNION
-#define SQL_US_UNION_ALL SQL_U_UNION_ALL
-#endif /* ODBCVER >= 0x300 */
-#if (ODBCVER >= 0x0350)
-#define SQL_DESC_ROWVER 35
-#define SQL_GUID (-11)
-#define SQL_C_GUID SQL_GUID
-#ifdef ODBC_STD
-#define SQLAllocHandle SQLAllocHandleStd
-#define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV,SQL_NULL_HANDLE,p)
-#define SQL_YEAR SQL_CODE_YEAR
-#define SQL_MONTH SQL_CODE_MONTH
-#define SQL_DAY SQL_CODE_DAY
-#define SQL_HOUR SQL_CODE_HOUR
-#define SQL_MINUTE SQL_CODE_MINUTE
-#define SQL_SECOND SQL_CODE_SECOND
-#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH
-#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR
-#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE
-#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND
-#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE
-#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
-#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
-#endif /* ODBC_STD */
-#endif /* ODBCVER >= 0x0350 */
-#if (ODBCVER >= 0x0351)
-#define SQL_ATTR_ANSI_APP 115
-#define SQL_AA_TRUE 1L
-#define SQL_AA_FALSE 0L
-#endif
-
-#define	TRACE_VERSION 1000
-#define TRACE_ON 1
-
-#ifndef RC_INVOKED
-#define SQL_ODBC_KEYWORDS \
-"ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
-"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
-"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
-"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
-"COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
-"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
-"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
-"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
-"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
-"DISTINCT,DOMAIN,DOUBLE,DROP,"\
-"ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
-"EXISTS,EXTERNAL,EXTRACT,"\
-"FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
-"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
-"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
-"INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
-"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
-"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,"\
-"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
-"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
-"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
-"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
-"READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS"\
-"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE,"\
-"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
-"SUBSTRING,SUM,SYSTEM_USER,"\
-"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
-"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
-"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
-"VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\
-"YEAR,ZONE"
-
-SQLRETURN SQL_API SQLDriverConnect(SQLHDBC,SQLHWND,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLBrowseConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLColumnPrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLColAttributes(SQLHSTMT,SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
-SQLRETURN SQL_API SQLDescribeParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLExtendedFetch(SQLHSTMT,SQLUSMALLINT,SQLINTEGER,SQLUINTEGER*,SQLUSMALLINT*);
-SQLRETURN SQL_API SQLForeignKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLMoreResults(SQLHSTMT);
-SQLRETURN SQL_API SQLNativeSql(SQLHDBC,SQLCHAR*,SQLINTEGER,SQLCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLNumParams(SQLHSTMT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLParamOptions(SQLHSTMT,SQLUINTEGER,SQLUINTEGER*);
-SQLRETURN SQL_API SQLPrimaryKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedures(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetPos(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTablePrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDrivers(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLBindParameter(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLSetScrollOptions(SQLHSTMT,SQLUSMALLINT,SQLLEN,SQLUSMALLINT); /* deprecated */
-DWORD SQL_API ODBCGetTryWaitValue(void);
-BOOL SQL_API ODBCSetTryWaitValue(DWORD);
-RETCODE	SQL_API TraceOpenLogFile(LPWSTR,LPWSTR,DWORD);
-RETCODE	SQL_API TraceCloseLogFile(void);
-VOID SQL_API TraceReturn(RETCODE,RETCODE);
-DWORD SQL_API TraceVersion(void);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLBulkOperations(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLAllocHandleStd( SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
-#endif
-#endif /* ndef RC_INVOKED */
-#include <sqlucode.h>
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/sqltypes.h
===================================================================
--- Daodan/MinGW/include/sqltypes.h	(revision 1046)
+++ 	(revision )
@@ -1,165 +1,0 @@
-#ifndef _SQLTYPES_H
-#define _SQLTYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_API __stdcall
-#ifndef RC_INVOKED
-#define __need_wchar_t
-#include <stddef.h>
-typedef signed char SCHAR;
-typedef long SDWORD;
-typedef short SWORD;
-typedef ULONG UDWORD;
-typedef USHORT UWORD;
-typedef signed long SLONG;
-typedef signed short SSHORT;
-typedef double SDOUBLE;
-typedef double LDOUBLE;
-typedef float SFLOAT;
-typedef PVOID PTR;
-typedef PVOID HENV;
-typedef PVOID HDBC;
-typedef PVOID HSTMT;
-typedef short RETCODE;
-typedef UCHAR SQLCHAR;
-typedef SCHAR SQLSCHAR;
-typedef SDWORD SQLINTEGER;
-typedef SWORD SQLSMALLINT;
-#ifndef __WIN64
-typedef UDWORD SQLUINTEGER;
-#endif
-typedef UWORD SQLUSMALLINT;
-typedef PVOID SQLPOINTER;
-#if (ODBCVER >= 0x0300)
-typedef void* SQLHANDLE;
-typedef SQLHANDLE SQLHENV;
-typedef SQLHANDLE SQLHDBC;
-typedef SQLHANDLE SQLHSTMT;
-typedef SQLHANDLE SQLHDESC;
-#else
-typedef void* SQLHENV;
-typedef void* SQLHDBC;
-typedef void* SQLHSTMT;
-#endif
-typedef SQLSMALLINT SQLRETURN;
-typedef HWND SQLHWND;
-typedef ULONG BOOKMARK;
-#ifdef _WIN64
-typedef INT64 SQLLEN;
-typedef INT64 SQLROWOFFSET;
-typedef UINT64 SQLROWCOUNT;
-typedef UINT64 SQLULEN;
-typedef UINT64 SQLTRANSID;
-typedef unsigned long SQLSETPOSIROW;
-#else
-#define SQLLEN SQLINTEGER
-#define SQLROWOFFSET SQLINTEGER
-#define SQLROWCOUNT SQLUINTEGER
-#define SQLULEN SQLUINTEGER
-#define SQLTRANSID DWORD
-#define SQLSETPOSIROW SQLUSMALLINT
-#endif
-typedef wchar_t SQLWCHAR;
-#ifdef UNICODE
-typedef SQLWCHAR        SQLTCHAR;
-#else
-typedef SQLCHAR         SQLTCHAR;
-#endif  /* UNICODE */
-#if (ODBCVER >= 0x0300)
-typedef unsigned char   SQLDATE;
-typedef unsigned char   SQLDECIMAL;
-typedef double          SQLDOUBLE;
-typedef double          SQLFLOAT;
-typedef unsigned char   SQLNUMERIC;
-typedef float           SQLREAL;
-typedef unsigned char   SQLTIME;
-typedef unsigned char   SQLTIMESTAMP;
-typedef unsigned char   SQLVARCHAR;
-#define ODBCINT64	__int64
-typedef __int64 SQLBIGINT;
-typedef unsigned __int64 SQLUBIGINT;
-#endif
-
-typedef struct tagDATE_STRUCT {
-	SQLSMALLINT year;
-	SQLUSMALLINT month;
-	SQLUSMALLINT day;
-} DATE_STRUCT;
-typedef struct tagTIME_STRUCT {
-	SQLUSMALLINT hour;
-	SQLUSMALLINT minute;
-	SQLUSMALLINT second;
-} TIME_STRUCT;
-typedef struct tagTIMESTAMP_STRUCT {
-	SQLSMALLINT year;
-	SQLUSMALLINT month;
-	SQLUSMALLINT day;
-	SQLUSMALLINT hour;
-	SQLUSMALLINT minute;
-	SQLUSMALLINT second;
-	SQLUINTEGER fraction;
-} TIMESTAMP_STRUCT;
-#if (ODBCVER >= 0x0300)
-typedef DATE_STRUCT	SQL_DATE_STRUCT;
-typedef TIME_STRUCT	SQL_TIME_STRUCT;
-typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
-typedef enum {
-	SQL_IS_YEAR = 1,SQL_IS_MONTH,SQL_IS_DAY,SQL_IS_HOUR,
-	SQL_IS_MINUTE,SQL_IS_SECOND,SQL_IS_YEAR_TO_MONTH,SQL_IS_DAY_TO_HOUR,
-	SQL_IS_DAY_TO_MINUTE,SQL_IS_DAY_TO_SECOND,SQL_IS_HOUR_TO_MINUTE,
-	SQL_IS_HOUR_TO_SECOND,SQL_IS_MINUTE_TO_SECOND
-} SQLINTERVAL;
-typedef struct tagSQL_YEAR_MONTH {
-	SQLUINTEGER year;
-	SQLUINTEGER month;
-} SQL_YEAR_MONTH_STRUCT;
-typedef struct tagSQL_DAY_SECOND {
-	SQLUINTEGER day;
-	SQLUINTEGER	hour;
-	SQLUINTEGER minute;
-	SQLUINTEGER second;
-	SQLUINTEGER fraction;
-} SQL_DAY_SECOND_STRUCT;
-typedef struct tagSQL_INTERVAL_STRUCT {
-	SQLINTERVAL interval_type;
-	SQLSMALLINT interval_sign;
-	union {
-		SQL_YEAR_MONTH_STRUCT year_month;
-		SQL_DAY_SECOND_STRUCT day_second;
-	} intval;
-} SQL_INTERVAL_STRUCT;
-#define SQL_MAX_NUMERIC_LEN 16
-typedef struct tagSQL_NUMERIC_STRUCT {
-	SQLCHAR precision;
-	SQLSCHAR scale;
-	SQLCHAR sign;
-	SQLCHAR val[SQL_MAX_NUMERIC_LEN];
-} SQL_NUMERIC_STRUCT;
-#endif  /* ODBCVER >= 0x0300 */
-#if (ODBCVER >= 0x0350)
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if defined _GUID_DEFINED || defined GUID_DEFINED
-typedef GUID SQLGUID;
-#else
-typedef struct tagSQLGUID{
-    DWORD Data1;
-    WORD Data2;
-    WORD Data3;
-    BYTE Data4[ 8 ];
-} SQLGUID;
-#endif  /* GUID_DEFINED */
-#endif  /* ODBCVER >= 0x0350 */
-#endif     /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/sqlucode.h
===================================================================
--- Daodan/MinGW/include/sqlucode.h	(revision 1046)
+++ 	(revision )
@@ -1,142 +1,0 @@
-#ifndef _SQLUCODE_H
-#define _SQLUCODE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <sqlext.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_WCHAR (-8)
-#define SQL_WVARCHAR (-9)
-#define SQL_WLONGVARCHAR (-10)
-#define SQL_C_WCHAR SQL_WCHAR
-#define SQL_SQLSTATE_SIZEW	10
-#ifdef UNICODE
-#define SQL_C_TCHAR SQL_C_WCHAR
-#else
-#define SQL_C_TCHAR SQL_C_CHAR
-#endif
-#ifndef RC_INVOKED
-SQLRETURN SQL_API SQLBrowseConnectA(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLBrowseConnectW(SQLHDBC,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLColAttributeA(SQLHSTMT,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLColAttributeW(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLColAttributesA(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLLEN*);
-SQLRETURN SQL_API SQLColAttributesW(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLLEN*);
-SQLRETURN SQL_API SQLColumnPrivilegesA( SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnPrivilegesW( SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLConnectA(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLConnectW(SQLHDBC,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDataSourcesA(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDataSourcesW(SQLHENV,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDescribeColA(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDescribeColW(SQLHSTMT,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDriverConnectA(SQLHDBC,SQLHWND,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLDriverConnectW(SQLHDBC,SQLHWND,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLDriversA(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDriversW(SQLHENV,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLErrorA(SQLHENV,SQLHDBC,SQLHSTMT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLErrorW(SQLHENV,SQLHDBC,SQLHSTMT,SQLWCHAR*,SQLINTEGER*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLExecDirectA(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLExecDirectW(SQLHSTMT,SQLWCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLForeignKeysA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLForeignKeysW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetConnectAttrA(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetConnectAttrW(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetConnectOptionA(SQLHDBC,SQLUSMALLINT,SQLPOINTER);
-SQLRETURN SQL_API SQLGetConnectOptionW(SQLHDBC,SQLUSMALLINT,SQLPOINTER);
-SQLRETURN SQL_API SQLGetCursorNameA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetCursorNameW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetInfoA(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetInfoW(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetTypeInfoA(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetTypeInfoW(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLNativeSqlA(SQLHDBC,SQLCHAR*,SQLINTEGER,SQLCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLNativeSqlW(SQLHDBC,SQLWCHAR*,SQLINTEGER,SQLWCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLPrepareA(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLPrepareW(SQLHSTMT,SQLWCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLPrimaryKeysA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLPrimaryKeysW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumnsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumnsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProceduresA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProceduresW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetConnectAttrA(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetConnectAttrW(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetConnectOptionA(SQLHDBC,SQLUSMALLINT,SQLULEN);
-SQLRETURN SQL_API SQLSetConnectOptionW(SQLHDBC,SQLUSMALLINT,SQLULEN);
-SQLRETURN SQL_API SQLSetCursorNameA(SQLHSTMT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetCursorNameW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSpecialColumnsA(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLSpecialColumnsW(SQLHSTMT,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatisticsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatisticsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTablePrivilegesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTablePrivilegesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLTablesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTablesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLGetDescFieldA(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescFieldW(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetDescFieldA(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescFieldW(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLGetDescRecA(SQLHDESC,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDescRecW(SQLHDESC,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagFieldA(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagFieldW(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRecA(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRecW(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLWCHAR*,SQLINTEGER*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetStmtAttrA(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetStmtAttrW(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetStmtAttrA(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetStmtAttrW(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-#endif /* (ODBCVER >= 0x0300) */
-
-#if defined (UNICODE) && !defined (SQL_NOUNICODEMAP)
-#define SQLBrowseConnect SQLBrowseConnectW
-#define SQLColAttribute SQLColAttributeW
-#define SQLColAttributes SQLColAttributesW
-#define SQLColumnPrivileges SQLColumnPrivilegesW
-#define SQLColumns SQLColumnsW
-#define SQLConnect SQLConnectW
-#define SQLDataSources SQLDataSourcesW
-#define SQLDescribeCol SQLDescribeColW
-#define SQLDriverConnect SQLDriverConnectW
-#define SQLDrivers SQLDriversW
-#define SQLError SQLErrorW
-#define SQLExecDirect SQLExecDirectW
-#define SQLForeignKeys SQLForeignKeysW
-#define SQLGetConnectAttr SQLGetConnectAttrW
-#define SQLGetConnectOption SQLGetConnectOptionW
-#define SQLGetCursorName SQLGetCursorNameW
-#define SQLGetDescField SQLGetDescFieldW
-#define SQLGetDescRec SQLGetDescRecW
-#define SQLGetDiagField SQLGetDiagFieldW
-#define SQLGetDiagRec SQLGetDiagRecW
-#define SQLGetInfo SQLGetInfoW
-#define SQLGetStmtAttr SQLGetStmtAttrW
-#define SQLGetTypeInfo SQLGetTypeInfoW
-#define SQLNativeSql SQLNativeSqlW
-#define SQLPrepare SQLPrepareW
-#define SQLPrimaryKeys SQLPrimaryKeysW
-#define SQLProcedureColumns SQLProcedureColumnsW
-#define SQLProcedures SQLProceduresW
-#define SQLSetConnectAttr SQLSetConnectAttrW
-#define SQLSetConnectOption SQLSetConnectOptionW
-#define SQLSetCursorName SQLSetCursorNameW
-#define SQLSetDescField SQLSetDescFieldW
-#define SQLSetStmtAttr SQLSetStmtAttrW
-#define SQLSpecialColumns SQLSpecialColumnsW
-#define SQLStatistics SQLStatisticsW
-#define SQLTablePrivileges SQLTablePrivilegesW
-#define SQLTables SQLTablesW
-#endif /* UNICODE && ! SQL_NOUNICODEMAP */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif  /* __cplusplus*/
-#endif  /* ndef _SQLUCODE_H */
Index: Daodan/MinGW/include/sspi.h
===================================================================
--- Daodan/MinGW/include/sspi.h	(revision 1046)
+++ 	(revision )
@@ -1,348 +1,0 @@
-#ifndef _SSPI_H
-#define _SSPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <ntsecapi.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <subauth.h>
-
-#define SECPKG_CRED_INBOUND 1
-#define SECPKG_CRED_OUTBOUND 2
-#define SECPKG_CRED_BOTH (SECPKG_CRED_OUTBOUND|SECPKG_CRED_INBOUND)
-#define SECPKG_CRED_ATTR_NAMES 1
-
-#define SECPKG_FLAG_INTEGRITY 1
-#define SECPKG_FLAG_PRIVACY 2
-#define SECPKG_FLAG_TOKEN_ONLY 4
-#define SECPKG_FLAG_DATAGRAM 8
-#define SECPKG_FLAG_CONNECTION 16
-#define SECPKG_FLAG_MULTI_REQUIRED 32
-#define SECPKG_FLAG_CLIENT_ONLY 64
-#define SECPKG_FLAG_EXTENDED_ERROR 128
-#define SECPKG_FLAG_IMPERSONATION 256
-#define SECPKG_FLAG_ACCEPT_WIN32_NAME 512
-#define SECPKG_FLAG_STREAM 1024
-
-#define SECPKG_ATTR_AUTHORITY 6
-#define SECPKG_ATTR_CONNECTION_INFO 90
-#define SECPKG_ATTR_ISSUER_LIST 80
-#define SECPKG_ATTR_ISSUER_LIST_EX 89
-#define SECPKG_ATTR_KEY_INFO 5
-#define SECPKG_ATTR_LIFESPAN 2
-#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 84
-#define SECPKG_ATTR_LOCAL_CRED 82
-#define SECPKG_ATTR_NAMES 1
-#define SECPKG_ATTR_PROTO_INFO 7
-#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 83
-#define SECPKG_ATTR_REMOTE_CRED 81
-#define SECPKG_ATTR_SIZES 0
-#define SECPKG_ATTR_STREAM_SIZES 4
-
-#define SECBUFFER_EMPTY 0
-#define SECBUFFER_DATA 1
-#define SECBUFFER_TOKEN 2
-#define SECBUFFER_PKG_PARAMS 3
-#define SECBUFFER_MISSING 4
-#define SECBUFFER_EXTRA 5
-#define SECBUFFER_STREAM_TRAILER 6
-#define SECBUFFER_STREAM_HEADER 7
-#define SECBUFFER_PADDING 9
-#define SECBUFFER_STREAM 10
-#define SECBUFFER_READONLY 0x80000000
-#define SECBUFFER_ATTRMASK 0xf0000000
-
-#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
-#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
-#define SECBUFFER_VERSION 0
-
-typedef UNICODE_STRING SECURITY_STRING, *PSECURITY_STRING;
-
-typedef struct _SecHandle {
-	ULONG_PTR dwLower;
-	ULONG_PTR dwUpper;
-} SecHandle, *PSecHandle;
-typedef struct _SecBuffer {
-	ULONG cbBuffer;
-	ULONG BufferType;
-	PVOID pvBuffer;
-} SecBuffer, *PSecBuffer;
-typedef SecHandle CredHandle;
-typedef PSecHandle PCredHandle;
-typedef SecHandle CtxtHandle;
-typedef PSecHandle PCtxtHandle;
-typedef struct _SECURITY_INTEGER {
-	unsigned long LowPart;
-	long HighPart;
-} SECURITY_INTEGER;
-typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
-typedef struct _SecBufferDesc {
-	ULONG ulVersion;
-	ULONG cBuffers;
-	PSecBuffer pBuffers;
-} SecBufferDesc, *PSecBufferDesc;
-typedef struct _SecPkgContext_StreamSizes {
-	ULONG cbHeader;
-	ULONG cbTrailer;
-	ULONG cbMaximumMessage;
-	ULONG cBuffers;
-	ULONG cbBlockSize;
-} SecPkgContext_StreamSizes, *PSecPkgContext_StreamSizes;
-typedef struct _SecPkgContext_Sizes {
-	ULONG cbMaxToken;
-	ULONG cbMaxSignature;
-	ULONG cbBlockSize;
-	ULONG cbSecurityTrailer;
-} SecPkgContext_Sizes, *PSecPkgContext_Sizes;
-typedef struct _SecPkgContext_AuthorityW {
-	SEC_WCHAR* sAuthorityName;
-} SecPkgContext_AuthorityW, *PSecPkgContext_AuthorityW;
-typedef struct _SecPkgContext_AuthorityA {
-	SEC_CHAR* sAuthorityName;
-} SecPkgContext_AuthorityA, *PSecPkgContext_AuthorityA;
-typedef struct _SecPkgContext_KeyInfoW {
-	SEC_WCHAR* sSignatureAlgorithmName;
-	SEC_WCHAR* sEncryptAlgorithmName;
-	ULONG KeySize;
-	ULONG SignatureAlgorithm;
-	ULONG EncryptAlgorithm;
-} SecPkgContext_KeyInfoW, *PSecPkgContext_KeyInfoW;
-typedef struct _SecPkgContext_KeyInfoA {
-	SEC_CHAR* sSignatureAlgorithmName;
-	SEC_CHAR* sEncryptAlgorithmName;
-	ULONG KeySize;
-	ULONG SignatureAlgorithm;
-	ULONG EncryptAlgorithm;
-} SecPkgContext_KeyInfoA, *PSecPkgContext_KeyInfoA;
-typedef struct _SecPkgContext_LifeSpan {
-	TimeStamp tsStart;
-	TimeStamp tsExpiry;
-} SecPkgContext_LifeSpan, *PSecPkgContext_LifeSpan;
-typedef struct _SecPkgContext_NamesW {
-	SEC_WCHAR* sUserName;
-} SecPkgContext_NamesW, *PSecPkgContext_NamesW;
-typedef struct _SecPkgContext_NamesA {
-	SEC_CHAR* sUserName;
-} SecPkgContext_NamesA, *PSecPkgContext_NamesA;
-typedef struct _SecPkgInfoW {
-	ULONG fCapabilities;
-	USHORT wVersion;
-	USHORT wRPCID;
-	ULONG cbMaxToken;
-	SEC_WCHAR* Name;
-	SEC_WCHAR* Comment;
-} SecPkgInfoW, *PSecPkgInfoW;
-typedef struct _SecPkgInfoA {
-	ULONG fCapabilities;
-	USHORT wVersion;
-	USHORT wRPCID;
-	ULONG cbMaxToken;
-	SEC_CHAR* Name;
-	SEC_CHAR* Comment;
-} SecPkgInfoA, *PSecPkgInfoA;
-/* supported only in win2k+, so it should be a PSecPkgInfoW */
-/* PSDK does not say it has ANSI/Unicode versions */
-typedef struct _SecPkgContext_PackageInfo {
-	PSecPkgInfoW PackageInfo;
-} SecPkgContext_PackageInfo, *PSecPkgContext_PackageInfo;
-typedef struct _SecPkgCredentials_NamesW {
-	SEC_WCHAR* sUserName;
-} SecPkgCredentials_NamesW, *PSecPkgCredentials_NamesW;
-typedef struct _SecPkgCredentials_NamesA {
-	SEC_CHAR* sUserName;
-} SecPkgCredentials_NamesA, *PSecPkgCredentials_NamesA;
-
-/* TODO: missing type in SDK */
-typedef void (*SEC_GET_KEY_FN)();
-
-typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,PSecPkgInfoW*);
-typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,PSecPkgInfoA*);
-typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)(PCredHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_A)(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);
-typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_A)(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_W)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_A)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *MAKE_SIGNATURE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-typedef SECURITY_STATUS (WINAPI *VERIFY_SIGNATURE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-typedef SECURITY_STATUS (WINAPI *FREE_CONTEXT_BUFFER_FN)(PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_A)(SEC_CHAR*,PSecPkgInfoA*);
-typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_CONTEXT_TOKEN_FN)(PCtxtHandle,HANDLE*);
-typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR*,PSecPkgInfoW*);
-typedef SECURITY_STATUS (WINAPI *ENCRYPT_MESSAGE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-typedef SECURITY_STATUS (WINAPI *DECRYPT_MESSAGE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-
-/* No, it really is FreeCredentialsHandle, see the thread beginning
- * http://sourceforge.net/mailarchive/message.php?msg_id=4321080 for a
- * discovery discussion. */
-typedef struct _SECURITY_FUNCTION_TABLEW {
-	unsigned long dwVersion;
-	ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW;
-	QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW;
-	ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW;
-	FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
-	void SEC_FAR* Reserved2;
-	INITIALIZE_SECURITY_CONTEXT_FN_W InitializeSecurityContextW;
-	ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
-	COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
-	DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
-	APPLY_CONTROL_TOKEN_FN_W ApplyControlTokenW;
-	QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW;
-	IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
-	REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
-	MAKE_SIGNATURE_FN MakeSignature;
-	VERIFY_SIGNATURE_FN VerifySignature;
-	FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
-	QUERY_SECURITY_PACKAGE_INFO_FN_W QuerySecurityPackageInfoW;
-	void SEC_FAR* Reserved3;
-	void SEC_FAR* Reserved4;
-        void SEC_FAR* Reserved5;
-        void SEC_FAR* Reserved6;
-        void SEC_FAR* Reserved7;
-        void SEC_FAR* Reserved8;
-        QUERY_SECURITY_CONTEXT_TOKEN_FN QuerySecurityContextToken;
-        ENCRYPT_MESSAGE_FN EncryptMessage;
-        DECRYPT_MESSAGE_FN DecryptMessage;
-} SecurityFunctionTableW, *PSecurityFunctionTableW;
-typedef struct _SECURITY_FUNCTION_TABLEA {
-	unsigned long dwVersion;
-	ENUMERATE_SECURITY_PACKAGES_FN_A EnumerateSecurityPackagesA;
-	QUERY_CREDENTIALS_ATTRIBUTES_FN_A QueryCredentialsAttributesA;
-	ACQUIRE_CREDENTIALS_HANDLE_FN_A AcquireCredentialsHandleA;
-	FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
-	void SEC_FAR* Reserved2;
-	INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA;
-	ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
-	COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
-	DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
-	APPLY_CONTROL_TOKEN_FN_A ApplyControlTokenA;
-	QUERY_CONTEXT_ATTRIBUTES_FN_A QueryContextAttributesA;
-	IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
-	REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
-	MAKE_SIGNATURE_FN MakeSignature;
-	VERIFY_SIGNATURE_FN VerifySignature;
-	FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
-	QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA;
-	void SEC_FAR* Reserved3;
-	void SEC_FAR* Reserved4;
-        void SEC_FAR* Unknown1;
-        void SEC_FAR* Unknown2;
-        void SEC_FAR* Unknown3;
-        void SEC_FAR* Unknown4;
-        void SEC_FAR* Unknown5;
-        ENCRYPT_MESSAGE_FN EncryptMessage;
-        DECRYPT_MESSAGE_FN DecryptMessage;
-} SecurityFunctionTableA, *PSecurityFunctionTableA;
-typedef PSecurityFunctionTableA (WINAPI *INIT_SECURITY_INTERFACE_A)(VOID);
-typedef PSecurityFunctionTableW (WINAPI *INIT_SECURITY_INTERFACE_W)(VOID);
-
-SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle);
-SECURITY_STATUS WINAPI EnumerateSecurityPackagesA(PULONG,PSecPkgInfoA*);
-SECURITY_STATUS WINAPI EnumerateSecurityPackagesW(PULONG,PSecPkgInfoW*);
-SECURITY_STATUS WINAPI AcquireCredentialsHandleA(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-SECURITY_STATUS WINAPI AcquireCredentialsHandleW(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-SECURITY_STATUS WINAPI AcceptSecurityContext(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI InitializeSecurityContextA(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI InitializeSecurityContextW(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI FreeContextBuffer(PVOID);
-SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryContextAttributesW(PCtxtHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID);
-#if (_WIN32_WINNT >= 0x0500)
-SECURITY_STATUS WINAPI QuerySecurityContextToken(PCtxtHandle,HANDLE*);
-#endif
-SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI CompleteAuthToken(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ApplyControlTokenA(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ApplyControlTokenW(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ImpersonateSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI RevertSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI MakeSignature(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-SECURITY_STATUS WINAPI VerifySignature(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-SECURITY_STATUS WINAPI QuerySecurityPackageInfoA(SEC_CHAR*,PSecPkgInfoA*);
-SECURITY_STATUS WINAPI QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*);
-PSecurityFunctionTableA WINAPI InitSecurityInterfaceA(VOID);
-PSecurityFunctionTableW WINAPI InitSecurityInterfaceW(VOID);
-
-#ifdef UNICODE
-#define UNISP_NAME UNISP_NAME_W
-#define SecPkgInfo SecPkgInfoW
-#define PSecPkgInfo PSecPkgInfoW
-#define SecPkgCredentials_Names SecPkgCredentials_NamesW
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
-#define SecPkgContext_Authority SecPkgContext_AuthorityW
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityW
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
-#define SecPkgContext_Names SecPkgContext_NamesW
-#define PSecPkgContext_Names PSecPkgContext_NamesW
-#define SecurityFunctionTable SecurityFunctionTableW
-#define PSecurityFunctionTable PSecurityFunctionTableW
-#define AcquireCredentialsHandle AcquireCredentialsHandleW
-#define EnumerateSecurityPackages EnumerateSecurityPackagesW
-#define InitializeSecurityContext InitializeSecurityContextW
-#define QueryContextAttributes QueryContextAttributesW
-#define QueryCredentialsAttributes QueryCredentialsAttributesW
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoW
-#define ApplyControlToken ApplyControlTokenW
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_W
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
-#else
-#define UNISP_NAME UNISP_NAME_A
-#define SecPkgInfo SecPkgInfoA
-#define PSecPkgInfo PSecPkgInfoA
-#define SecPkgCredentials_Names SecPkgCredentials_NamesA
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesA
-#define SecPkgContext_Authority SecPkgContext_AuthorityA
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityA
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoA
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoA
-#define SecPkgContext_Names SecPkgContext_NamesA
-#define PSecPkgContext_Names PSecPkgContext_NamesA
-#define SecurityFunctionTable SecurityFunctionTableA
-#define PSecurityFunctionTable PSecurityFunctionTableA
-#define AcquireCredentialsHandle AcquireCredentialsHandleA
-#define EnumerateSecurityPackages EnumerateSecurityPackagesA
-#define InitializeSecurityContext InitializeSecurityContextA
-#define QueryContextAttributes QueryContextAttributesA
-#define QueryCredentialsAttributes QueryCredentialsAttributesA
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoA
-#define ApplyControlToken ApplyControlTokenA
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_A
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_A
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_A
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_A
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_A
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_A
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_A
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_A
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/stdint.h
===================================================================
--- Daodan/MinGW/include/stdint.h	(revision 1046)
+++ 	(revision )
@@ -1,263 +1,0 @@
-/*
- * stdint.h
- *
- * Integer type definitions, as prescribed by ISO-C9x Section 7.18
- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
- *
- * $Id: stdint.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Written by Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 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, 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.
- *
- */
-#ifndef _STDINT_H
-#pragma GCC system_header
-
-/* To support selective definition of just intptr_t or uintptr_t,
- * we defer definition of the normal multiple inclusion guard macro,
- * until we've determined that neither selection is active.
- */
-#if ! defined __need_intptr_t && ! defined __need_uintptr_t
-#define _STDINT_H
-
-/* All MinGW system headers are expected to include <_mingw.h>;
- * ensure that we have done so.
- */
-#include <_mingw.h>
-
-/* We need to duplicate the definitions of wint_t and wchar_t, as
- * they are defined in <stddef.h>; get them, by selective inclusion
- * from that header itself.
- */
-#define __need_wint_t
-#define __need_wchar_t
-#include <stddef.h>
-
-/* 7.18.1.1  Exact-width integer types.
- */
-typedef signed char		int8_t;
-typedef unsigned char		uint8_t;
-typedef short			int16_t;
-typedef unsigned short		uint16_t;
-typedef int			int32_t;
-typedef unsigned		uint32_t;
-typedef long long		int64_t;
-typedef unsigned long long	uint64_t;
-
-/* 7.18.1.2  Minimum-width integer types.
- */
-typedef signed char		int_least8_t;
-typedef unsigned char		uint_least8_t;
-typedef short			int_least16_t;
-typedef unsigned short		uint_least16_t;
-typedef int			int_least32_t;
-typedef unsigned		uint_least32_t;
-typedef long long		int_least64_t;
-typedef unsigned long long	uint_least64_t;
-
-/*  7.18.1.3  Fastest minimum-width integer types
- *  Not actually guaranteed to be fastest for all purposes
- *  Here we use the exact-width types for 8 and 16-bit ints.
- */
-typedef signed char		int_fast8_t;
-typedef unsigned char		uint_fast8_t;
-typedef short			int_fast16_t;
-typedef unsigned short		uint_fast16_t;
-typedef int			int_fast32_t;
-typedef unsigned  int		uint_fast32_t;
-typedef long long		int_fast64_t;
-typedef unsigned long long	uint_fast64_t;
-
-/* We actually DO need both selections, which had to be omitted
- * to get us into this conditional block; force them!
- */
-#define __need_intptr_t
-#define __need_uintptr_t
-
-#endif	/* !__need_intptr_t && !__need_uintptr_t */
-
-/* 7.18.1.4  Integer types capable of holding object pointers.
- */
-#if defined __need_intptr_t && ! defined __intptr_t
-#define __intptr_t __intptr_t
-#ifdef _WIN64
- typedef __int64 __intptr_t;
-#else
- typedef int __intptr_t;
-#endif
-typedef __intptr_t intptr_t;
-
-#endif	/* __need_intptr_t */
-#undef __need_intptr_t
-
-#if defined __need_uintptr_t && ! defined __uintptr_t
-#define __uintptr_t __uintptr_t
-#ifdef _WIN64
- typedef unsigned __int64 __uintptr_t;
-#else
- typedef unsigned int __uintptr_t;
-#endif
-typedef __uintptr_t uintptr_t;
-
-#endif	/* __need_uintptr_t */
-#undef __need_uintptr_t
-
-#ifdef  _STDINT_H
-/* 7.18.1.5  Greatest-width integer types.
- */
-typedef long long  intmax_t;
-typedef unsigned long long uintmax_t;
-
-/* 7.18.2  Limits of specified-width integer types.
- * (always defined in C, but C++ needs __STDC_LIMIT_MACROS)
- */
-#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
-
-/* 7.18.2.1  Limits of exact-width integer types.
- */
-#define INT8_MIN		(-128)
-#define INT16_MIN		(-32768)
-#define INT32_MIN		(-2147483647 - 1)
-#define INT64_MIN		(-9223372036854775807LL - 1)
-
-#define INT8_MAX		127
-#define INT16_MAX		32767
-#define INT32_MAX		2147483647
-#define INT64_MAX		9223372036854775807LL
-
-#define UINT8_MAX		0xffU			/* 255U */
-#define UINT16_MAX		0xffffU			/* 65535U */
-#define UINT32_MAX		0xffffffffUL		/* 4294967295U */
-#define UINT64_MAX		0xffffffffffffffffULL	/* 18446744073709551615ULL */
-
-/* 7.18.2.2  Limits of minimum-width integer types.
- */
-#define INT_LEAST8_MIN		INT8_MIN
-#define INT_LEAST16_MIN 	INT16_MIN
-#define INT_LEAST32_MIN 	INT32_MIN
-#define INT_LEAST64_MIN 	INT64_MIN
-
-#define INT_LEAST8_MAX		INT8_MAX
-#define INT_LEAST16_MAX 	INT16_MAX
-#define INT_LEAST32_MAX 	INT32_MAX
-#define INT_LEAST64_MAX 	INT64_MAX
-
-#define UINT_LEAST8_MAX 	UINT8_MAX
-#define UINT_LEAST16_MAX	UINT16_MAX
-#define UINT_LEAST32_MAX	UINT32_MAX
-#define UINT_LEAST64_MAX	UINT64_MAX
-
-/* 7.18.2.3  Limits of fastest minimum-width integer types.
- */
-#define INT_FAST8_MIN		INT8_MIN
-#define INT_FAST16_MIN		INT16_MIN
-#define INT_FAST32_MIN		INT32_MIN
-#define INT_FAST64_MIN		INT64_MIN
-
-#define INT_FAST8_MAX		INT8_MAX
-#define INT_FAST16_MAX		INT16_MAX
-#define INT_FAST32_MAX		INT32_MAX
-#define INT_FAST64_MAX		INT64_MAX
-
-#define UINT_FAST8_MAX		UINT8_MAX
-#define UINT_FAST16_MAX 	UINT16_MAX
-#define UINT_FAST32_MAX 	UINT32_MAX
-#define UINT_FAST64_MAX 	UINT64_MAX
-
-/* 7.18.2.4  Limits of integer types capable of holding object pointers.
- */
-#ifdef _WIN64
-# define INTPTR_MIN		INT64_MIN
-# define INTPTR_MAX		INT64_MAX
-# define UINTPTR_MAX		UINT64_MAX
-#else
-# define INTPTR_MIN		INT32_MIN
-# define INTPTR_MAX		INT32_MAX
-# define UINTPTR_MAX		UINT32_MAX
-#endif
-
-/* 7.18.2.5  Limits of greatest-width integer types.
- */
-#define INTMAX_MIN		INT64_MIN
-#define INTMAX_MAX		INT64_MAX
-#define UINTMAX_MAX		UINT64_MAX
-
-/* 7.18.3  Limits of other integer types.
- */
-#define PTRDIFF_MIN		INTPTR_MIN
-#define PTRDIFF_MAX		INTPTR_MAX
-
-#define SIG_ATOMIC_MIN		INTPTR_MIN
-#define SIG_ATOMIC_MAX		INTPTR_MAX
-
-#define SIZE_MAX		UINTPTR_MAX
-
-/* The following pair are also defined in <wchar.h>, but leave them
- * unguarded, so that the compiler may check for consistency.
- */
-#define WCHAR_MIN		0
-#define WCHAR_MAX		0xffff /* UINT16_MAX */
-
-/* wint_t is unsigned short for compatibility with MS runtime
- */
-#define WINT_MIN		0
-#define WINT_MAX		0xffff /* UINT16_MAX */
-
-#endif	/* !__cplusplus || __STDC_LIMIT_MACROS */
-
-/* 7.18.4  Macros for integer constants.
- * (always defined in C, but C++ needs __STDC_CONSTANT_MACROS)
- */
-#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
-
-/* 7.18.4.1  Macros for minimum-width integer constants
- *
- * According to Douglas Gwyn <gwyn@arl.mil>:
- *  "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
- *  9899:1999 as initially published, the expansion was required
- *  to be an integer constant of precisely matching type, which
- *  is impossible to accomplish for the shorter types on most
- *  platforms, because C99 provides no standard way to designate
- *  an integer constant with width less than that of type int.
- *  TC1 changed this to require just an integer constant
- *  EXPRESSION with PROMOTED type".
- */
-#define INT8_C(val)		val
-#define UINT8_C(val)		val
-#define INT16_C(val)		val
-#define UINT16_C(val)		val
-
-#define INT32_C(val)		val
-#define UINT32_C(val)		val##U
-#define INT64_C(val)		val##LL
-#define UINT64_C(val)		val##ULL
-
-/* 7.18.4.2  Macros for greatest-width integer constants.
- */
-#define INTMAX_C(val)		INT64_C(val)
-#define UINTMAX_C(val)		UINT64_C(val)
-
-#endif  /* !__cplusplus || __STDC_CONSTANT_MACROS */
-#endif	/* _STDINT_H */
-
-#endif	/* !_STDINT_H: $RCSfile: stdint.h,v $: end of file */
Index: Daodan/MinGW/include/stdio.h
===================================================================
--- Daodan/MinGW/include/stdio.h	(revision 1046)
+++ 	(revision )
@@ -1,978 +1,0 @@
-/*
- * stdio.h
- *
- * Definitions of types and prototypes of functions for operations on
- * standard input and standard output streams.
- *
- * $Id: stdio.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2005, 2007-2010, 2014-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, 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.
- *
- * NOTE: The file manipulation functions provided by Microsoft seem to
- * work with either slash (/) or backslash (\) as the directory separator;
- * (this is consistent with Microsoft's own documentation, on MSDN).
- *
- */
-#ifndef _STDIO_H
-#pragma GCC system_header
-
-/* When including <wchar.h>, some of the definitions and declarations
- * which are nominally provided in <stdio.h> must be duplicated.  Rather
- * than require duplicated maintenance effort, we provide for partial
- * inclusion of <stdio.h> by <wchar.h>; only when not included in
- * this partial fashion...
- */
-#ifndef __WCHAR_H_SOURCED__
- /*
-  * ...which is exclusive to <wchar.h>, do we assert the multiple
-  * inclusion guard for <stdio.h> itself.
-  */
-#define _STDIO_H
-#endif
-
-/* All the headers include this file.
- */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-/* POSIX stipulates that the following set of types, (as identified by
- * __need_TYPENAME macros), shall be defined consistently with <stddef.h>;
- * by defining the appropriate __need_TYPENAME macros, we may selectively
- * obtain the required definitions by inclusion of <stddef.h>, WITHOUT
- * automatic exposure of any of its additional content.
- */
-#define __need_NULL
-#define __need_size_t
-#define __need_wchar_t
-#define __need_wint_t
-#include <stddef.h>
-
-#if _POSIX_C_SOURCE >= 200809L
- /* Similarly, for types defined in <sys/types.h>, (which are explicitly
-  * dependent on the POSIX.1-2008 feature test)...
-  */
-# define __need_off_t
-# define __need_ssize_t
-#endif
-#if !(defined __STRICT_ANSI__ || defined (__NO_MINGW_LFS)) \
- && defined (__MSVCRT__)
- /* ...while this is required to support our fseeko64() and ftello64()
-  * implementations, (neither of which is in any way standardized)...
-  */
-# define __need___off64_t
-#endif
-/* It is sufficient to test for just one define from each of the two
- * preceding groups...
- */
-#if defined __need_off_t || defined __need___off64_t
- /* ...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"
-#endif
-
-#ifndef __VALIST
- /* Also similarly, for the va_list type, defined in "stdarg.h"
-  */
-# if defined __GNUC__ && __GNUC__ >= 3
-#  define __need___va_list
-#  include "stdarg.h"
-#  define __VALIST __builtin_va_list
-# else
-#  define __VALIST char *
-# endif
-#endif
-#endif	/* ! RC_INVOKED */
-
-#ifdef _STDIO_H
-/* Flags for the iobuf structure
- */
-#define _IOREAD 	1	/* currently reading */
-#define _IOWRT		2	/* currently writing */
-#define _IORW	   0x0080	/* opened as "r+w" */
-
-/* The three standard file pointers provided by the run time library.
- * NOTE: These will go to the bit-bucket silently in GUI applications!
- */
-#define STDIN_FILENO	0
-#define STDOUT_FILENO	1
-#define STDERR_FILENO	2
-
-/* Returned by various functions on end of file condition or error.
- */
-#define EOF	      (-1)
-
-#endif	/* _STDIO_H */
-
-/* The maximum length of a file name.  It may be better to use the Windows'
- * GetVolumeInformation() function in preference to this constant, but hey,
- * this works!  Note that <io.h> also defines it, but we don't guard it, so
- * that the compiler has a chance to catch inconsistencies.
- *
- * FIXME: Right now, we define this unconditionally for both full <stdio.h>
- * inclusion, and for partial inclusion on behalf of <wchar.h>, (which needs
- * it for some non-ANSI structure declarations).  The conditions under which
- * <wchar.h> needs this require review, because defining it as a consequence
- * of including <wchar.h> alone may violate strict ANSI conformity.
- */
-#define FILENAME_MAX  (260)
-
-#ifdef _STDIO_H
-/* The maximum number of files that may be open at once. I have set this to
- * a conservative number. The actual value may be higher.
- */
-#define FOPEN_MAX      (20)
-
-/* After creating this many names, tmpnam and tmpfile return NULL
- */
-#define TMP_MAX      32767
-
-/* Tmpnam, tmpfile and, sometimes, _tempnam try to create
- * temp files in the root directory of the current drive
- * (not in pwd, as suggested by some older MS doc's).
- * Redefining these macros does not effect the CRT functions.
- */
-#define _P_tmpdir   "\\"
-#ifndef __STRICT_ANSI__
-#define P_tmpdir _P_tmpdir
-#endif
-#define _wP_tmpdir  L"\\"
-
-/* The maximum size of name (including NUL) that will be put in the user
- * supplied buffer caName for tmpnam.
- * Inferred from the size of the static buffer returned by tmpnam
- * when passed a NULL argument. May actually be smaller.
- */
-#define L_tmpnam (16)
-
-#define _IOFBF		0x0000	/* full buffered */
-#define _IOLBF		0x0040	/* line buffered */
-#define _IONBF		0x0004	/* not buffered */
-
-#define _IOMYBUF	0x0008	/* stdio malloc()'d buffer */
-#define _IOEOF		0x0010	/* EOF reached on read */
-#define _IOERR		0x0020	/* I/O error from system */
-#define _IOSTRG 	0x0040	/* Strange or no file descriptor */
-#ifdef _POSIX_SOURCE
-# define _IOAPPEND	0x0200
-#endif
-
-/* The buffer size as used by setbuf such that it is equivalent to
- * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ).
- */
-#define BUFSIZ		   512
-
-/* Constants for nOrigin indicating the position relative to which fseek
- * sets the file position.  Defined unconditionally since ISO and POSIX
- * say they are defined here.
- */
-#define SEEK_SET	     0
-#define SEEK_CUR	     1
-#define SEEK_END	     2
-
-#endif	/* _STDIO_H */
-
-#ifndef RC_INVOKED
-#if ! (defined _STDIO_H && defined _WCHAR_H)
-/* The structure underlying the FILE type; this should be defined when
- * including either <stdio.h> or <wchar.h>.  If both header include guards
- * are now in place, then we must currently be including <stdio.h> in its
- * own right, having already processed this block during a prior partial
- * inclusion by <wchar.h>; there is no need to process it a second time.
- *
- * Some believe that nobody in their right mind should make use of the
- * internals of this structure. Provided by Pedro A. Aranda Gutiirrez
- * <paag@tid.es>.
- */
-typedef struct _iobuf
-{
-  char	*_ptr;
-  int	 _cnt;
-  char	*_base;
-  int	 _flag;
-  int	 _file;
-  int	 _charbuf;
-  int	 _bufsiz;
-  char	*_tmpfname;
-} FILE;
-
-#endif  /* ! (_STDIO_H && _WCHAR_H) */
-#ifdef _STDIO_H
-/* Content to be exposed only when including <stdio.h> in its own right;
- * these will not be exposed when __WCHAR_H_SOURCE__ is defined, as will
- * be the case when <stdio.h> is included indirectly, by <wchar.h>
- *
- *
- * The standard file handles
- */
-#ifndef __DECLSPEC_SUPPORTED
-
-extern FILE (*_imp___iob)[];	/* A pointer to an array of FILE */
-
-#define _iob (*_imp___iob)	/* An array of FILE */
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT FILE _iob[];	/* An array of FILE imported from DLL. */
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#define stdin	(&_iob[STDIN_FILENO])
-#define stdout	(&_iob[STDOUT_FILENO])
-#define stderr	(&_iob[STDERR_FILENO])
-
-/* Need to close the current _STDIO_H specific block here...
- */
-#endif
-/* ...because, we need this regardless of the inclusion mode...
- */
-_BEGIN_C_DECLS
-
-#ifdef _STDIO_H
-/* ...then revert to _STDIO_H specific mode, to declare...
- *
- *
- * File Operations
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * fopen (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * freopen (const char *, const char *, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fflush (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fclose (FILE *);
-
-/* Note: Microsoft also declares remove & rename (but not their wide char
- * variants) in <io.h>; since duplicate prototypes are acceptable, provided
- * they are consistent, we simply declare them here anyway, while allowing
- * the compiler to check consistency as appropriate.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    remove (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    rename (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * tmpfile (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  char * tmpnam (char *);
-
-#ifndef __STRICT_ANSI__
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_tempnam (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int   _rmtmp (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int   _unlink (const char *);
-
-#if __MSVCRT_VERSION__>=__MSVCR80_DLL
-/* The following pair of non-ANSI functions require a non-free version of
- * the Microsoft runtime; neither is provided by any MSVCRT.DLL variant.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  void  _lock_file(FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void  _unlock_file(FILE *);
-#endif
-
-#ifndef NO_OLDNAMES
-_CRTIMP __cdecl __MINGW_NOTHROW  char * tempnam (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    rmtmp (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    unlink (const char *);
-#endif
-#endif /* __STRICT_ANSI__ */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int    setvbuf (FILE *, char *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  void   setbuf (FILE *, char *);
-
-/* Formatted Output
- *
- * MSVCRT implementations are not ANSI C99 conformant...
- * we offer these conforming alternatives from libmingwex.a
- */
-#undef  __mingw_stdio_redirect__
-#define __mingw_stdio_redirect__(F) __cdecl __MINGW_NOTHROW __mingw_##F
-
-extern int __mingw_stdio_redirect__(fprintf)(FILE*, const char*, ...);
-extern int __mingw_stdio_redirect__(printf)(const char*, ...);
-extern int __mingw_stdio_redirect__(sprintf)(char*, const char*, ...);
-extern int __mingw_stdio_redirect__(snprintf)(char*, size_t, const char*, ...);
-extern int __mingw_stdio_redirect__(vfprintf)(FILE*, const char*, __VALIST);
-extern int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST);
-extern int __mingw_stdio_redirect__(vsprintf)(char*, const char*, __VALIST);
-extern int __mingw_stdio_redirect__(vsnprintf)(char*, size_t, const char*, __VALIST);
-
-/* When using these C99 conforming alternatives, we may wish to support
- * some of Microsoft's quirky formatting options, even when they violate
- * strict C99 conformance.
- */
-#define _MSVC_PRINTF_QUIRKS		0x0100U
-#define _QUERY_MSVC_PRINTF_QUIRKS	~0U, 0U
-#define _DISABLE_MSVC_PRINTF_QUIRKS	~_MSVC_PRINTF_QUIRKS, 0U
-#define _ENABLE_MSVC_PRINTF_QUIRKS	~0U, _MSVC_PRINTF_QUIRKS
-
-/* Those quirks which conflict with ANSI C99 specified behaviour are
- * disabled by default; use the following function, like this:
- *
- *   _mingw_output_format_control( _ENABLE_MSVC_PRINTF_QUIRKS );
- *
- * to enable them, like this:
- *
- *   state = _mingw_output_format_control( _QUERY_MSVC_PRINTF_QUIRKS )
- *		& _MSVC_PRINTF_QUIRKS;
- *
- * to ascertain the currently active enabled state, or like this:
- *
- *   _mingw_output_format_control( _DISABLE_MSVC_PRINTF_QUIRKS );
- *
- * to disable them again.
- */
-extern unsigned int _mingw_output_format_control( unsigned int, unsigned int );
-
-#if __USE_MINGW_ANSI_STDIO
-/* User has expressed a preference for C99 conformance...
- */
-# undef __mingw_stdio_redirect__
-# ifdef __cplusplus
-/* For C++ we use inline implementations, to avoid interference
- * with namespace qualification, which may result from using #defines.
- */
-#  define __mingw_stdio_redirect__  inline __cdecl __MINGW_NOTHROW
-
-# elif defined __GNUC__
-/* FIXME: Is there any GCC version prerequisite here?
- *
- * We also prefer inline implementations for C, when we can be confident
- * that the GNU specific __inline__ mechanism is supported.
- */
-#  define __mingw_stdio_redirect__  static __inline__ __cdecl __MINGW_NOTHROW
-
-# else
-/* Can't use inlines; fall back on module local static stubs.
- */
-#  define __mingw_stdio_redirect__  static __cdecl __MINGW_NOTHROW
-# endif
-
-__mingw_stdio_redirect__
-int fprintf (FILE *__stream, const char *__format, ...)
-{
-  register int __retval;
-  __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
-  __retval = __mingw_vfprintf( __stream, __format, __local_argv );
-  __builtin_va_end( __local_argv );
-  return __retval;
-}
-
-__mingw_stdio_redirect__
-int printf (const char *__format, ...)
-{
-  register int __retval;
-  __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
-  __retval = __mingw_vprintf( __format, __local_argv );
-  __builtin_va_end( __local_argv );
-  return __retval;
-}
-
-__mingw_stdio_redirect__
-int sprintf (char *__stream, const char *__format, ...)
-{
-  register int __retval;
-  __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
-  __retval = __mingw_vsprintf( __stream, __format, __local_argv );
-  __builtin_va_end( __local_argv );
-  return __retval;
-}
-
-__mingw_stdio_redirect__
-int vfprintf (FILE *__stream, const char *__format, __VALIST __local_argv)
-{
-  return __mingw_vfprintf( __stream, __format, __local_argv );
-}
-
-__mingw_stdio_redirect__
-int vprintf (const char *__format, __VALIST __local_argv)
-{
-  return __mingw_vprintf( __format, __local_argv );
-}
-
-__mingw_stdio_redirect__
-int vsprintf (char *__stream, const char *__format, __VALIST __local_argv)
-{
-  return __mingw_vsprintf( __stream, __format, __local_argv );
-}
-
-#else
-/* Default configuration: simply direct all calls to MSVCRT...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int fprintf (FILE *, const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int printf (const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int sprintf (char *, const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int vfprintf (FILE *, const char *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int vprintf (const char *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int vsprintf (char *, const char *, __VALIST);
-
-#endif
-/* Regardless of user preference, always offer these alternative
- * entry points, for direct access to the MSVCRT implementations.
- */
-#undef  __mingw_stdio_redirect__
-#define __mingw_stdio_redirect__(F) __cdecl __MINGW_NOTHROW __msvcrt_##F
-
-_CRTIMP int __mingw_stdio_redirect__(fprintf)(FILE *, const char *, ...);
-_CRTIMP int __mingw_stdio_redirect__(printf)(const char *, ...);
-_CRTIMP int __mingw_stdio_redirect__(sprintf)(char *, const char *, ...);
-_CRTIMP int __mingw_stdio_redirect__(vfprintf)(FILE *, const char *, __VALIST);
-_CRTIMP int __mingw_stdio_redirect__(vprintf)(const char *, __VALIST);
-_CRTIMP int __mingw_stdio_redirect__(vsprintf)(char *, const char *, __VALIST);
-
-#undef  __mingw_stdio_redirect__
-
-/* The following three ALWAYS refer to the MSVCRT implementations...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _snprintf (char *, size_t, const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _vsnprintf (char *, size_t, const char *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _vscprintf (const char *, __VALIST);
-
-#ifdef _ISOC99_SOURCE
-/* Microsoft does not provide implementations for the following,
- * which are required by C99.  Note in particular that Microsoft's
- * corresponding implementations of _snprintf() and _vsnprintf() are
- * NOT compatible with C99, but the following are; if you want the
- * MSVCRT behaviour, you MUST use the Microsoft "uglified" names.
- */
-__cdecl __MINGW_NOTHROW  int snprintf (char *, size_t, const char *, ...);
-__cdecl __MINGW_NOTHROW  int vsnprintf (char *, size_t, const char *, __VALIST);
-
-__cdecl __MINGW_NOTHROW  int vscanf (const char * __restrict__, __VALIST);
-
-__cdecl __MINGW_NOTHROW
-int vfscanf (FILE * __restrict__, const char * __restrict__, __VALIST);
-
-__cdecl __MINGW_NOTHROW
-int vsscanf (const char * __restrict__, const char * __restrict__, __VALIST);
-
-#endif  /* _ISOC99_SOURCE */
-#endif	/* <stdio.h> included in its own right */
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
-/*
- * In MSVCR80.DLL, (and its descendants), Microsoft introduced variants
- * of the printf() functions, with names qualified by an underscore prefix
- * and "_p" or "_p_l" suffixes; implemented in Microsoft's typically crass,
- * non-standard, and non-portable fashion, these provide support for access
- * to printf() arguments in random order, as was standardised by POSIX as a
- * feature of the optional Extended Systems Interface (XSI) specification,
- * and is now required for conformity with the POSIX.1-2008 base standard.
- * Although these additional Microsoft functions were subsequently added
- * to MSVCRT.DLL, from Windows-Vista onward, and they are prototyped here,
- * MinGW applications are strenuously encouraged to avoid using them; a
- * much better alternative is to "#define _XOPEN_SOURCE 700" before any
- * system header is included, then use POSIX standard printf() functions
- * instead; this is both portable to many non-Windows platforms, and it
- * offers better compatibility with earlier Windows versions.
- */
-#ifndef __have_typedef_locale_t
-/* Note that some of the following require the opaque locale_t data type,
- * which we may obtain, by selective inclusion, from <locale.h>
- */
-#define __need_locale_t
-#include <locale.h>
-#endif
-
-#ifdef _STDIO_H
-/* The following are to be declared only when <stdio.h> is explicitly
- * included; the first six are NOT dependent on locale_t...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _printf_p (const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _fprintf_p (FILE *, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _sprintf_p (char *, size_t, const char *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vprintf_p (const char *, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vfprintf_p (FILE *, const char *, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vsprintf_p (char *, size_t, const char *, __VALIST);
-
-/* ...whereas the following six DO depend on locale_t.
- *
- * CAVEAT: unless you are linking with non-free MSVCR80.DLL, or one
- * of its later derivatives, good luck trying to use these; see the
- * explanation in <locale.t>, as to why you may be unable to create,
- * or otherwise acquire a reference to, a locale_t object.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _printf_p_l (const char *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _fprintf_p_l (FILE *, const char *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _sprintf_p_l (char *, size_t, const char *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vprintf_p_l (const char *, locale_t, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vfprintf_p_l (FILE *, const char *, locale_t, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vsprintf_p_l (char *, size_t, const char *, locale_t, __VALIST);
-
-#endif	/* <stdio.h> included in its own right */
-#endif	/* MSVCR80.DLL and descendants, or MSVCRT.DLL since Vista */
-
-#if ! (defined _STDIO_H && defined _WCHAR_H)
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
-/*
- * Wide character variants of the foregoing "positional parameter" printf()
- * functions; MSDN says that these should be declared when either <stdio.h>, or
- * <wchar.h> is included, so we make them selectively available to <wchar.h>,
- * but, just as in the foregoing, we advise against their use.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wprintf_p (const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _fwprintf_p (FILE *, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _swprintf_p (wchar_t *, size_t, const wchar_t *, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vwprintf_p (const wchar_t *, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vfwprintf_p (FILE *, const wchar_t *, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vswprintf_p (wchar_t *, size_t, const wchar_t *, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _wprintf_p_l (const wchar_t *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _fwprintf_p_l (FILE *, const wchar_t *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _swprintf_p_l (wchar_t *, size_t, const wchar_t *, locale_t, ...);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vwprintf_p_l (const wchar_t *, locale_t, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vfwprintf_p_l (FILE *, const wchar_t *, locale_t, __VALIST);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-int _vswprintf_p_l (wchar_t *, size_t, const wchar_t *, locale_t, __VALIST);
-
-#endif	/* MSVCR80.DLL and descendants, or MSVCRT.DLL since Vista */
-#endif	/* ! (defined _STDIO_H && defined _WCHAR_H) */
-#ifdef _STDIO_H
-/* Once again, back to <stdio.h> specific declarations.
- *
- *
- * Formatted Input
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fscanf (FILE *, const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    scanf (const char *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    sscanf (const char *, const char *, ...);
-
-/* Character Input and Output Functions
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fgetc (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char * fgets (char *, int, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fputc (int, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fputs (const char *, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char * gets (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    puts (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    ungetc (int, FILE *);
-
-/* Traditionally, getc and putc are defined as macros. but the
- * standard doesn't say that they must be macros.  We use inline
- * functions here to allow the fast versions to be used in C++
- * with namespace qualification, eg., ::getc.
- *
- * NOTE: _filbuf and _flsbuf  are not thread-safe.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int   _filbuf (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int   _flsbuf (int, FILE *);
-
-#if !defined _MT
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int getc (FILE *);
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int getc (FILE * __F)
-{
-  return (--__F->_cnt >= 0)
-    ?  (int) (unsigned char) *__F->_ptr++
-    : _filbuf (__F);
-}
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int putc (int, FILE *);
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int putc (int __c, FILE * __F)
-{
-  return (--__F->_cnt >= 0)
-    ?  (int) (unsigned char) (*__F->_ptr++ = (char)__c)
-    :  _flsbuf (__c, __F);
-}
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int getchar (void);
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int getchar (void)
-{
-  return (--stdin->_cnt >= 0)
-    ?  (int) (unsigned char) *stdin->_ptr++
-    : _filbuf (stdin);
-}
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int putchar(int);
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int putchar(int __c)
-{
-  return (--stdout->_cnt >= 0)
-    ?  (int) (unsigned char) (*stdout->_ptr++ = (char)__c)
-    :  _flsbuf (__c, stdout);}
-
-#else  /* Use library functions.  */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int    getc (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    putc (int, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    getchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    putchar (int);
-
-#endif
-
-/* Direct Input and Output Functions
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t fread (void *, size_t, size_t, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t fwrite (const void *, size_t, size_t, FILE *);
-
-/* File Positioning Functions
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fseek (FILE *, long, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long   ftell (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void   rewind (FILE *);
-
-#if _WIN32_WINNT >= _WIN32_WINNT_VISTA || __MSVCRT_VERSION__ >= __MSVCR80_DLL
- /*
-  * Microsoft introduced a number of variations on fseek() and ftell(),
-  * beginning with MSVCR80.DLL; the bare _fseeki64() and _ftelli64() were
-  * subsequently integrated into MSVCRT.DLL, from Vista onward...
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fseeki64 (FILE *, __int64, int);
-_CRTIMP __cdecl __MINGW_NOTHROW __int64 _ftelli64 (FILE *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
- /*
-  * ...while the "nolock" variants remain exclusive to MSVCR80.DLL, and
-  * its later MSVC specific derivatives.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fseek_nolock (FILE *, long, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  long   _ftell_nolock (FILE *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fseeki64_nolock (FILE *, __int64, int);
-_CRTIMP __cdecl __MINGW_NOTHROW __int64 _ftelli64_nolock (FILE *);
-
-#endif  /* MSVCR80.DLL and later derivatives ONLY */
-#endif  /* MSVCR80.DLL and descendants, or MSVCRT.DLL since Vista */
-
-#ifdef __USE_MINGW_FSEEK
-/* Workaround for a limitation on Win9x where a file is not zero padded
- * on write, following a seek beyond the original end of file; these are
- * implemented in libmingwex.a
- */
-__cdecl __MINGW_NOTHROW  int    __mingw_fseek (FILE *, long, int);
-__cdecl __MINGW_NOTHROW  size_t __mingw_fwrite (const void *, size_t, size_t, FILE *);
-
-#define fwrite(buffer, size, count, fp)  __mingw_fwrite(buffer, size, count, fp)
-#define fseek(fp, offset, whence)        __mingw_fseek(fp, offset, whence)
-#endif /* __USE_MINGW_FSEEK */
-
-/* An opaque data type used for storing file positions... The contents of
- * this type are unknown, but we (the compiler) need to know the size
- * because the programmer using fgetpos and fsetpos will be setting aside
- * storage for fpos_t structres. Actually I tested using a byte array and
- * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL).
- * Perhaps an unsigned long? TODO? It's definitely a 64-bit number in
- * MSVCRT however, and for now `long long' will do.
- */
-#ifdef __MSVCRT__
-typedef long long  fpos_t;
-#else
-typedef long       fpos_t;
-#endif
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int fgetpos (FILE *, fpos_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int fsetpos (FILE *, const fpos_t *);
-
-/* Error Functions
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int feof (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int ferror (FILE *);
-
-#ifdef __cplusplus
-inline __cdecl __MINGW_NOTHROW  int feof (FILE * __F){ return __F->_flag & _IOEOF; }
-inline __cdecl __MINGW_NOTHROW  int ferror (FILE * __F){ return __F->_flag & _IOERR; }
-#else
-#define feof(__F)     ((__F)->_flag & _IOEOF)
-#define ferror(__F)   ((__F)->_flag & _IOERR)
-#endif
-
-_CRTIMP __cdecl __MINGW_NOTHROW  void clearerr (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void perror (const char *);
-
-
-#ifndef __STRICT_ANSI__
-/*
- * Pipes
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * _popen (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _pclose (FILE *);
-
-#ifndef NO_OLDNAMES
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE *  popen (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     pclose (FILE *);
-#endif
-
-/* Other Non ANSI functions
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _flushall (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fgetchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fputchar (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * _fdopen (int, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fileno (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _fcloseall (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * _fsopen (const char *, const char *, int);
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _getmaxstdio (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _setmaxstdio (int);
-#endif
-
-/* Microsoft introduced a capability in MSVCR80.DLL and later, to
- * set the minimum number of digits to be displayed in a printf()
- * floating point exponent; they retro-fitted this in MSVCRT.DLL,
- * from Windows-Vista onwards, but we provide our own wrappers in
- * libmingwex.a, which make it possible for us to emulate the API
- * for any version of MSVCRT.DLL (including WinXP and earlier).
- */
-#define _TWO_DIGIT_EXPONENT    1
-
-/* While Microsoft define the preceding manifest constant, they
- * appear to neglect to define its complement, (for restoration
- * of their default exponent display format); for orthogonality,
- * we will provide this regardless of Microsoft's negligence.
- */
-#define _THREE_DIGIT_EXPONENT  0
-
-/* Once again, unspecified by Microsoft, (and mostly redundant),
- * it is convenient to specify a combining mask for these.
- */
-#define _EXPONENT_DIGIT_MASK  (_TWO_DIGIT_EXPONENT | _THREE_DIGIT_EXPONENT)
-
-unsigned int __cdecl __mingw_get_output_format (void);
-unsigned int __cdecl __mingw_set_output_format (unsigned int);
-
-/* Also appearing for the first time in MSVCR80.DLL, and then also
- * retro-fitted to MSVCRT.DLL from Windows-Vista onwards, was this
- * pair of functions to control availability of "%n" formatting in
- * the MSVCRT.DLL printf() family of functions, for which we also
- * provide our own DLL version agnostic wrappers:
- */
-int __cdecl __mingw_get_printf_count_output (void);
-int __cdecl __mingw_set_printf_count_output (int);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* When the user declares that MSVCR80.DLL features are supported,
- * we simply expose the corresponding APIs...
- */
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _get_output_format (void);
-_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_output_format (unsigned int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _get_printf_count_output (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _set_printf_count_output (int);
-
-#else
-/* ...otherwise, we emulate the APIs, in a DLL version agnostic
- * manner, using our own implementation wrappers.
- */
-__CRT_ALIAS unsigned int __cdecl _get_output_format (void)
-{ return __mingw_get_output_format (); }
-
-__CRT_ALIAS unsigned int __cdecl _set_output_format (unsigned int __style)
-{ return __mingw_set_output_format (__style); }
-
-/* When using our own printf() implementation, "%n" format is ALWAYS
- * supported, so we make this API a no-op, reporting it to be so; for
- * the alternative case, when using MSVCRT.DLL's printf(), we delegate
- * to our wrapper API implementation, which will invoke the API function
- * calls within the DLL, if they are available, or persistently report
- * the state of "%n" formatting as DISABLED if they are not.
- */
-#if __USE_MINGW_ANSI_STDIO
-/* Note that __USE_MINGW_ANSI_STDIO is not guaranteed to resolve to any
- * symbol which will represent a compilable logic state; map it to this
- * alternative which will, for the true state...
- */
-# define __USE_MINGW_PRINTF  1
-#else
-/* ...and for the false.
- */
-# define __USE_MINGW_PRINTF  0
-#endif
-
-__CRT_ALIAS int __cdecl _get_printf_count_output (void)
-{ return __USE_MINGW_PRINTF ? 1 : __mingw_get_printf_count_output (); }
-
-__CRT_ALIAS int __cdecl _set_printf_count_output (int __mode)
-{ return __USE_MINGW_PRINTF ? 1 : __mingw_set_printf_count_output (__mode); }
-#endif
-
-#ifndef _NO_OLDNAMES
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fgetchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fputchar (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * fdopen (int, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    fileno (FILE *);
-#endif	/* !_NO_OLDNAMES */
-
-#define _fileno(__F) ((__F)->_file)
-#ifndef _NO_OLDNAMES
-#define fileno(__F) ((__F)->_file)
-#endif
-
-#if defined (__MSVCRT__) && ! defined (__NO_MINGW_LFS)
-__CRT_ALIAS FILE * __cdecl __MINGW_NOTHROW  fopen64 (const char *, const char *);
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = fopen64, REMAPPED = fopen ))
-FILE * __cdecl __MINGW_NOTHROW  fopen64 (const char * filename, const char * mode)
-{ return fopen (filename, mode); }
-
-int __cdecl __MINGW_NOTHROW  fseeko64 (FILE *, __off64_t, int);
-
-#ifdef __USE_MINGW_FSEEK
-int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, __off64_t, int);
-#define fseeko64(fp, offset, whence)  __mingw_fseeko64(fp, offset, whence)
-#endif
-
-__CRT_ALIAS __off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE *);
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = ftello64 ))
-__off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream)
-{ fpos_t __pos; return (fgetpos(stream, &__pos)) ? -1LL : (__off64_t)(__pos); }
-
-#endif	/* __MSVCRT__ && !__NO_MINGW_LFS */
-#endif	/* !__STRICT_ANSI__ */
-#endif	/* _STDIO_H */
-
-#if ! (defined _STDIO_H && defined _WCHAR_H)
-/* The following are declared when including either <stdio.h> or <wchar.h>.
- * If both header include guards are now in place, then we must currently be
- * including <stdio.h> in its own right, having already processed this block
- * during prior partial inclusion by <wchar.h>; there is no need to process
- * it a second time.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int     fwprintf (FILE *, const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     wprintf (const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     vfwprintf (FILE *, const wchar_t *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     vwprintf (const wchar_t *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _snwprintf (wchar_t *, size_t, const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _vscwprintf (const wchar_t *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _vsnwprintf (wchar_t *, size_t, const wchar_t *, __VALIST);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     fwscanf (FILE *, const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     wscanf (const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     swscanf (const wchar_t *, const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t  fgetwc (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t  fputwc (wchar_t, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t  ungetwc (wchar_t, FILE *);
-
-#ifndef __STRICT_ANSI__
-/* These differ from the ISO C prototypes, which have a maxlen parameter (like snprintf).
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int  swprintf (wchar_t *, const wchar_t *, ...);
-_CRTIMP __cdecl __MINGW_NOTHROW  int  vswprintf (wchar_t *, const wchar_t *, __VALIST);
-#endif
-
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t * fgetws (wchar_t *, int, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int       fputws (const wchar_t *, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t    getwc (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t    getwchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t    putwc (wint_t, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t    putwchar (wint_t);
-
-#ifndef __STRICT_ANSI__
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t * _getws (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int       _putws (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE    * _wfdopen(int, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE    * _wfopen (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE    * _wfreopen (const wchar_t *, const wchar_t *, FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE    * _wfsopen (const wchar_t *, const wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t * _wtmpnam (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t * _wtempnam (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int       _wrename (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int       _wremove (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void      _wperror (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE    * _wpopen (const wchar_t *, const wchar_t *);
-
-#endif  /* !__STRICT_ANSI__ */
-#endif	/* __MSVCRT__ */
-
-#ifdef _ISOC99_SOURCE
-__cdecl __MINGW_NOTHROW  int snwprintf (wchar_t *, size_t, const wchar_t *, ...);
-__cdecl __MINGW_NOTHROW  int vsnwprintf (wchar_t *, size_t, const wchar_t *, __VALIST);
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __cdecl __MINGW_NOTHROW
-__JMPSTUB__(( FUNCTION = vsnwprintf, REMAPPED = _vsnwprintf ))
-int vsnwprintf (wchar_t *__s, size_t __n, const wchar_t *__fmt, __VALIST __arg)
-{ return _vsnwprintf ( __s, __n, __fmt, __arg); }
-#endif
-
-__cdecl __MINGW_NOTHROW  int  vwscanf (const wchar_t *__restrict__, __VALIST);
-__cdecl __MINGW_NOTHROW
-int  vfwscanf (FILE *__restrict__, const wchar_t *__restrict__, __VALIST);
-__cdecl __MINGW_NOTHROW
-int  vswscanf (const wchar_t *__restrict__, const wchar_t * __restrict__, __VALIST);
-
-#endif  /* _ISOC99_SOURCE */
-#endif  /* ! (_STDIO_H && _WCHAR_H) */
-
-#if defined _STDIO_H && ! defined __STRICT_ANSI__
-#if defined __MSVCRT__ && ! defined _NO_OLDNAMES
-_CRTIMP __cdecl __MINGW_NOTHROW  FILE * wpopen (const wchar_t *, const wchar_t *);
-#endif
-
-/* Other non-ANSI wide character functions...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t _fgetwchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t _fputwchar (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _getw (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int    _putw (int, FILE *);
-
-#ifndef _NO_OLDNAMES
-/* ...and their original names, before Microsoft uglification...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t  fgetwchar (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t  fputwchar (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     getw (FILE *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int     putw (int, FILE *);
-
-#endif  /* !_NO_OLDNAMES */
-#endif  /* !__STRICT_ANSI__ */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif  /* !_STDIO_H: $RCSfile: stdio.h,v $: end of file */
Index: Daodan/MinGW/include/stdlib.h
===================================================================
--- Daodan/MinGW/include/stdlib.h	(revision 1046)
+++ 	(revision )
@@ -1,819 +1,0 @@
-/*
- * stdlib.h
- *
- * ANSI/POSIX + Microsoft compatible standard library function prototypes,
- * associated macros, and manifest constant definitions.
- *
- * $Id: stdlib.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2009, 2011, 2014-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, 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.
- *
- */
-#ifndef _STDLIB_H
-#pragma GCC system_header
-
-/* Some of the content of this header is made selectively accessible,
- * when indirectly included via <wchar.h>; only when we have established
- * that this inclusion is NOT via this selective method...
- */
-#ifndef __WCHAR_H_SOURCED__
- /* ...do we define the repeat inclusion guard for <stdlib.h> itself.
-  */
-#define _STDLIB_H
-
-/* All MinGW headers must include <_mingw.h>; if included via <wchar.h>,
- * we assume that this has been done already, otherwise we must attend to
- * it for <stdlib.h>.
- */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#include <stddef.h>
-#endif /* RC_INVOKED */
-
-/* RAND_MAX is the maximum value that may be returned by rand.
- * The minimum is zero.
- */
-#define RAND_MAX	0x7FFF
-
-/* These values may be used as exit status codes.
- */
-#define EXIT_SUCCESS	0
-#define EXIT_FAILURE	1
-
-/* Definitions for path name functions.
- * NOTE: All of these values have simply been chosen to be conservatively
- * high.  Remember that with long file names we can no longer depend on
- * extensions being short.
- */
-#ifndef __STRICT_ANSI__
-
-#ifndef MAX_PATH
-#define MAX_PATH	(260)
-#endif
-
-#define _MAX_PATH	MAX_PATH
-#define _MAX_DRIVE	(3)
-#define _MAX_DIR	256
-#define _MAX_FNAME	256
-#define _MAX_EXT	256
-
-#endif	/* !__STRICT_ANSI__ */
-#endif	/* !__WCHAR_H_SOURCED__ */
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-#ifdef _STDLIB_H
-#if ! defined __STRICT_ANSI__
-/* This seems like a convenient place to declare these variables, which
- * give programs using WinMain (or main for that matter) access to main-ish
- * argc and argv. environ is a pointer to a table of environment variables.
- * NOTE: Strings in _argv and environ are ANSI strings.
- */
-extern int     _argc;
-extern char  **_argv;
-
-#ifdef __MSVCRT__
-/* Imports from the runtime DLL, for the above variables.
- */
-extern __cdecl __MINGW_NOTHROW  int       *__p___argc(void);
-extern __cdecl __MINGW_NOTHROW  char    ***__p___argv(void);
-extern __cdecl __MINGW_NOTHROW  wchar_t ***__p___wargv(void);
-
-#define __argc (*__p___argc())
-#define __argv (*__p___argv())
-#define __wargv (*__p___wargv())
-
-#else  /* ! __MSVCRT__ */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int    *_imp____argc_dll;
-extern char ***_imp____argv_dll;
-
-#define __argc (*_imp____argc_dll)
-#define __argv (*_imp____argv_dll)
-
-#else  /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int    __argc_dll;
-__MINGW_IMPORT char **__argv_dll;
-
-#define __argc __argc_dll
-#define __argv __argv_dll
-
-#endif  /* __DECLSPEC_SUPPORTED */
-
-#endif  /* __MSVCRT__ */
-#endif  /* __STRICT_ANSI__ */
-
-#ifndef MB_CUR_MAX
-/* FIXME: also defined in <ctype.h>; should be factored out.
- */
-#ifdef __DECLSPEC_SUPPORTED
-# ifdef __MSVCRT__
-#  define MB_CUR_MAX __mb_cur_max
-   __MINGW_IMPORT int __mb_cur_max;
-# else  /* ! __MSVCRT__ */
-#  define MB_CUR_MAX __mb_cur_max_dll
-   __MINGW_IMPORT int __mb_cur_max_dll;
-# endif  /* ! __MSVCRT__ */
-
-#else  /* ! __DECLSPEC_SUPPORTED */
-# ifdef __MSVCRT__
-   extern int* _imp____mb_cur_max;
-#  define MB_CUR_MAX (*_imp____mb_cur_max)
-# else  /* ! __MSVCRT__ */
-   extern int*  _imp____mb_cur_max_dll;
-#  define MB_CUR_MAX (*_imp____mb_cur_max_dll)
-# endif  /* ! __MSVCRT__ */
-#endif  /*  __DECLSPEC_SUPPORTED */
-#endif  /* MB_CUR_MAX */
-
-/* FIXME: Nominally in <errno.h>, Microsoft likes to declare errno
- * in <stdlib.h> as well; we should factor this out.
- */
-#ifdef _UWIN
-# undef errno
-  extern int errno;
-#else
-_CRTIMP __cdecl __MINGW_NOTHROW  int *_errno(void);
-# define errno  (*_errno())
-#endif
-_CRTIMP __cdecl __MINGW_NOTHROW  int *__doserrno(void);
-#define _doserrno  (*__doserrno())
-
-#if !defined (__STRICT_ANSI__)
-/* Use environ from the DLL, not as a global.
- */
-#ifdef __MSVCRT__
-# define _environ  (*__p__environ())
-extern _CRTIMP __cdecl __MINGW_NOTHROW  char ***__p__environ(void);
-# define _wenviron  (*__p__wenviron())
-extern _CRTIMP __cdecl __MINGW_NOTHROW  wchar_t ***__p__wenviron(void);
-
-#else  /* ! __MSVCRT__ */
-# ifndef __DECLSPEC_SUPPORTED
-# define _environ (*_imp___environ_dll)
-extern char ***_imp___environ_dll;
-
-# else  /* __DECLSPEC_SUPPORTED */
-# define _environ  _environ_dll
-__MINGW_IMPORT char ** _environ_dll;
-# endif  /* __DECLSPEC_SUPPORTED */
-#endif  /* ! __MSVCRT__ */
-
-#define environ _environ
-
-#ifdef	__MSVCRT__
-/* One of the MSVCRTxx libraries */
-
-#ifndef __DECLSPEC_SUPPORTED
-# define sys_nerr  (*_imp___sys_nerr)
-extern int *_imp___sys_nerr;
-
-#else /* __DECLSPEC_SUPPORTED */
-__MINGW_IMPORT int _sys_nerr;
-
-# ifndef _UWIN
-# define sys_nerr  _sys_nerr
-# endif  /* _UWIN */
-#endif  /* __DECLSPEC_SUPPORTED */
-
-#else  /* ! __MSVCRT__ */
-/* CRTDLL run time library */
-
-#ifndef __DECLSPEC_SUPPORTED
-  extern int*	_imp___sys_nerr_dll;
-# define sys_nerr	(*_imp___sys_nerr_dll)
-#else  /* __DECLSPEC_SUPPORTED */
-  __MINGW_IMPORT int	_sys_nerr_dll;
-# define sys_nerr	_sys_nerr_dll
-#endif  /* __DECLSPEC_SUPPORTED */
-
-#endif  /* ! __MSVCRT__ */
-
-#ifndef __DECLSPEC_SUPPORTED
-#define sys_errlist  (*_imp___sys_errlist)
-extern char ***_imp__sys_errlist;
-
-#else  /* __DECLSPEC_SUPPORTED */
-__MINGW_IMPORT char *_sys_errlist[];
-
-#ifndef _UWIN
-#define sys_errlist  _sys_errlist
-#endif  /* _UWIN */
-#endif  /* __DECLSPEC_SUPPORTED */
-
-/* OS version and such constants.
- */
-#ifdef	__MSVCRT__ /* MSVCRT.DLL and MSVCRxx.DLL variants */
-
-extern _CRTIMP __cdecl __MINGW_NOTHROW  unsigned int *__p__osver(void);
-extern _CRTIMP __cdecl __MINGW_NOTHROW  unsigned int *__p__winver(void);
-extern _CRTIMP __cdecl __MINGW_NOTHROW  unsigned int *__p__winmajor(void);
-extern _CRTIMP __cdecl __MINGW_NOTHROW  unsigned int *__p__winminor(void);
-
-#ifndef __DECLSPEC_SUPPORTED
-# define _osver     (*__p__osver())
-# define _winver    (*__p__winver())
-# define _winmajor  (*__p__winmajor())
-# define _winminor  (*__p__winminor())
-
-#else /* __DECLSPEC_SUPPORTED */
-__MINGW_IMPORT  unsigned int _osver;
-__MINGW_IMPORT  unsigned int _winver;
-__MINGW_IMPORT  unsigned int _winmajor;
-__MINGW_IMPORT  unsigned int _winminor;
-#endif  /* __DECLSPEC_SUPPORTED */
-
-#else  /* ! __MSVCRT__; thus CRTDLL */
-#ifndef __DECLSPEC_SUPPORTED
-
-#define _osver	    (*_imp___osver_dll)
-#define _winver    (*_imp___winver_dll)
-#define _winmajor  (*_imp___winmajor_dll)
-#define _winminor  (*_imp___winminor_dll)
-
-extern unsigned int *_imp___osver_dll;
-extern unsigned int *_imp___winver_dll;
-extern unsigned int *_imp___winmajor_dll;
-extern unsigned int *_imp___winminor_dll;
-
-#else  /* __DECLSPEC_SUPPORTED */
-
-#define _osver	    _osver_dll
-#define _winver    _winver_dll
-#define _winmajor  _winmajor_dll
-#define _winminor  _winminor_dll
-
-__MINGW_IMPORT unsigned int _osver_dll;
-__MINGW_IMPORT unsigned int _winver_dll;
-__MINGW_IMPORT unsigned int _winmajor_dll;
-__MINGW_IMPORT unsigned int _winminor_dll;
-
-#endif  /* __DECLSPEC_SUPPORTED */
-#endif  /* CRTDLL */
-
-#if defined  __MSVCRT__
-/* Although _pgmptr is exported as DATA, be safe and use the access
- * function __p__pgmptr() to get it.
- */
-#define _pgmptr  (*__p__pgmptr())
-_CRTIMP __cdecl __MINGW_NOTHROW  char **__p__pgmptr(void);
-
-#define _wpgmptr  (*__p__wpgmptr())
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t **__p__wpgmptr(void);
-
-#else  /* ! __MSVCRT__; thus CRTDLL */
-
-# ifndef __DECLSPEC_SUPPORTED
-# define _pgmptr  (*_imp___pgmptr_dll)
-extern char **__imp__pgmptr_dll;
-
-# else  /* __DECLSPEC_SUPPORTED */
-
-# define _pgmptr _pgmptr_dll
-__MINGW_IMPORT  char *_pgmptr_dll;
-/* no wide version in CRTDLL */
-
-# endif /* __DECLSPEC_SUPPORTED */
-#endif	/* CRTDLL */
-
-/* This variable determines the default file mode.
- * TODO: Which flags work?
- */
-#if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME)
-
-#ifdef __MSVCRT__
-#define _fmode  (*_imp___fmode)
-extern int *_imp___fmode;
-#else
-/* CRTDLL */
-#define _fmode  (*_imp___fmode_dll)
-extern int *_imp___fmode_dll;
-#endif
-
-#else  /* __DECLSPEC_SUPPORTED */
-#ifdef __MSVCRT__
-__MINGW_IMPORT  int _fmode;
-
-#else  /* ! __MSVCRT__ */
-#define _fmode	_fmode_dll
-__MINGW_IMPORT  int _fmode_dll;
-
-#endif  /* !__MSVCRT__ */
-#endif  /* __DECLSPEC_SUPPORTED */
-#endif  /* !__STRICT_ANSI__ */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int atoi (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  long atol (const char *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  double strtod (const char *, char **);
-_CRTIMP __cdecl __MINGW_NOTHROW  double atof (const char *);
-
-#if !defined (__STRICT_ANSI__)
-_CRTIMP __cdecl __MINGW_NOTHROW  double _wtof (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wtoi (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  long _wtol (const wchar_t *);
-#endif
-
-#if __USE_MINGW_ANSI_STDIO
-/* Microsoft's strtod() and atof() implementations, (in MSVCRT.DLL),
- * mishandle infinities and NaNs; on the basis that this conditional
- * exposes a more ISO-C conforming printf() I/O family implementaion,
- * we substitute a similarly more conforming implementation for each
- * of this pair of (somewhat related) functions.
- *
- * Note that we provide neither __JMPSTUB__ nor __LIBIMPL__ external
- * equivalents for either of these two inline functions, because they
- * would conflict with the runtime DLL implementations; users needing
- * an address reference for either must provide an equivalent of the
- * inline implementation, as non-inlined within their own code.
- */
-extern __cdecl __MINGW_NOTHROW
-double __strtod (const char *__restrict__, char **__restrict__);
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-double strtod (const char *__restrict__ __nptr, char **__restrict__ __endptr)
-{ return __strtod( __nptr, __endptr ); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW
-double atof (const char *__nptr) { return __strtod( __nptr, NULL ); }
-
-#endif  /* __USE_MINGW_ANSI_STDIO */
-
-#ifdef _ISOC99_SOURCE
-/* Irrespective of requested standards conformity, where MSVCRT.DLL
- * falls short, ISO-C99 offers this pair of alternative return type
- * specific variants of strtod(), which MSVCRT.DLL does not, but we
- * do, in libmingwex.a:
- */
-__cdecl __MINGW_NOTHROW
-float strtof (const char *__restrict__, char **__restrict__);
-
-__cdecl __MINGW_NOTHROW
-long double strtold (const char *__restrict__, char **__restrict__);
-#endif  /* _ISOC99_SOURCE */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  long strtol (const char *, char **, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned long strtoul (const char *, char **, int);
-
-#endif	/* _STDLIB_H only */
-#if ! (defined _STDLIB_H && defined _WCHAR_H)
-/* Prototypes which are to be declared both here, in <stdlib.h>,
- * and also in <wchar.h>; declare them here, such that they may be
- * selectively included by <wchar.h>.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-long wcstol (const wchar_t *, wchar_t **, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned long wcstoul (const wchar_t *, wchar_t **, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  double wcstod (const wchar_t *, wchar_t **);
-
-#ifdef _ISOC99_SOURCE
-/* Variants on wcstod(), specified by ISO-C99; once again, MSVCRT.DLL
- * doesn't have them, but we offer them in libmingwex.a
- */
-__cdecl __MINGW_NOTHROW
-float wcstof (const wchar_t *__restrict__, wchar_t **__restrict__);
-
-__cdecl __MINGW_NOTHROW
-long double wcstold (const wchar_t *__restrict__, wchar_t **__restrict__);
-#endif  /* _ISOC99_SOURCE */
-
-#ifdef __MSVCRT__
-#if __MSVCRT_VERSION__ >= __MSVCR70_DLL || _WIN32_WINNT >= _WIN32_WINNT_WINXP
-/* This pair of wide character equivalents for ISO-C99's strtoll() and
- * strtoull() require either WinXP (or later), or a non-free MSVC runtime
- * from MSVCR70.DLL onwards...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-__int64 _wcstoi64(const wchar_t *, wchar_t **, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned __int64 _wcstoui64(const wchar_t *, wchar_t **, int);
-
-#endif	/* WinXP || MSVCR70.DLL || later */
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
-/* ...while the following pair require Win-Vista (or later), or non-free
- * MSVCRT runtime from MSVCR80.DLL onwards; they also require...
- */
-#ifndef __have_typedef_locale_t
-/* ...this opaque data type, which we may obtain by selective inclusion
- * from <locale.h>.  (Note that this may render them unusable for users of
- * MSVCRT.DLL; see the explanation in <locale.h>, regarding the difficulty
- * in creating, or otherwise acquiring a reference to, a _locale_t object,
- * notwithstanding the availability of the functions in MSVCRT.DLL, from
- * the release of Win-Vista onwards).
- */
-#define __need_locale_t
-#include <locale.h>
-#endif	/* !__have_typedef_locale_t */
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-__int64 _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned __int64 _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t);
-
-#endif	/* Win-Vista || MSVCR80.DLL || later */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wgetenv (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wputenv (const wchar_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _wsearchenv (const wchar_t *, const wchar_t *, wchar_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wsystem (const wchar_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _wmakepath (wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *,
-    const wchar_t *
-  );
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _wsplitpath (const wchar_t *, wchar_t *, wchar_t *, wchar_t *, wchar_t *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-wchar_t *_wfullpath (wchar_t *, const wchar_t *, size_t);
-
-#endif	/* __MSVCRT__ */
-#endif	/* _STDLIB_H || _WCHAR_H */
-
-#ifdef _STDLIB_H  /* <stdlib.h> only */
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t wcstombs (char *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wctomb (char *, wchar_t);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int mblen (const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t mbstowcs (wchar_t *, const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int mbtowc (wchar_t *, const char *, size_t);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int rand (void);
-_CRTIMP __cdecl __MINGW_NOTHROW  void srand (unsigned int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  void *calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC;
-_CRTIMP __cdecl __MINGW_NOTHROW  void *malloc (size_t) __MINGW_ATTRIB_MALLOC;
-_CRTIMP __cdecl __MINGW_NOTHROW  void *realloc (void *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  void free (void *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void abort (void) __MINGW_ATTRIB_NORETURN;
-_CRTIMP __cdecl __MINGW_NOTHROW  void exit (int) __MINGW_ATTRIB_NORETURN;
-
-/* Note: this is in startup code, not imported directly from the runtime DLL
- */
-int __cdecl __MINGW_NOTHROW atexit (void (*)(void));
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int system (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *getenv (const char *);
-
-/* bsearch() and qsort() are declared both here, in <stdlib.h>, and in
- * non-ANSI header <search.h>; we reproduce these declarations in both,
- * with no attempt to guard them, so the compiler may verify that they
- * are consistent, if both headers are included.
- */
-_CRTIMP __cdecl  void *bsearch
-(const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
-
-_CRTIMP __cdecl  void qsort
-(void *, size_t, size_t, int (*)(const void *, const void *));
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int abs (int) __MINGW_ATTRIB_CONST;
-_CRTIMP __cdecl __MINGW_NOTHROW  long labs (long) __MINGW_ATTRIB_CONST;
-
-/* div_t and ldiv_t are structures used to return the results of div()
- * and ldiv() functions.
- *
- * NOTE: div() and ldiv() appear not to work correctly unless
- *       -fno-pcc-struct-return is specified. This is included in the
- *       mingw32 specs file.
- */
-typedef struct { int quot, rem; } div_t;
-typedef struct { long quot, rem; } ldiv_t;
-
-_CRTIMP __cdecl __MINGW_NOTHROW  div_t div (int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP __cdecl __MINGW_NOTHROW  ldiv_t ldiv (long, long) __MINGW_ATTRIB_CONST;
-
-#if !defined (__STRICT_ANSI__)
-/* NOTE: Officially the three following functions are obsolete. The Win32 API
- *       functions SetErrorMode, Beep and Sleep are their replacements.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  void _beep (unsigned int, unsigned int) __MINGW_ATTRIB_DEPRECATED;
-/* Not to be confused with  _set_error_mode (int).  */
-_CRTIMP __cdecl __MINGW_NOTHROW  void _seterrormode (int) __MINGW_ATTRIB_DEPRECATED;
-_CRTIMP __cdecl __MINGW_NOTHROW  void _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;
-
-_CRTIMP __cdecl __MINGW_NOTHROW  void _exit (int) __MINGW_ATTRIB_NORETURN;
-
-/* _onexit is a Microsoft extension. Use atexit for portability. */
-/* Note: This is in startup code, not imported directly from dll */
-typedef  int (* _onexit_t)(void);
-__cdecl __MINGW_NOTHROW  _onexit_t _onexit( _onexit_t );
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _putenv (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _searchenv (const char *, const char *, char *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_ecvt (double, int, int *, int *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_fcvt (double, int, int *, int *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_gcvt (double, int, char *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _makepath (char *, const char *, const char *, const char *, const char *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-void _splitpath (const char *, char *, char *, char *, char *);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_fullpath (char*, const char*, size_t);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_itoa (int, char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_ltoa (long, char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_ultoa(unsigned long, char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_itow (int, wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_ltow (long, wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_ultow (unsigned long, wchar_t *, int);
-
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  __int64 _atoi64 (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char* _i64toa (__int64, char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char* _ui64toa (unsigned __int64, char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  __int64 _wtoi64 (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t* _i64tow (__int64, wchar_t *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t* _ui64tow (unsigned __int64, wchar_t *, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned int (_rotl)(unsigned int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned int (_rotr)(unsigned int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned long (_lrotl)(unsigned long, int) __MINGW_ATTRIB_CONST;
-_CRTIMP __cdecl __MINGW_NOTHROW  unsigned long (_lrotr)(unsigned long, int) __MINGW_ATTRIB_CONST;
-
-_CRTIMP __cdecl __MINGW_NOTHROW  int _set_error_mode (int);
-
-# define _OUT_TO_DEFAULT	0
-# define _OUT_TO_STDERR 	1
-# define _OUT_TO_MSGBOX 	2
-# define _REPORT_ERRMODE	3
-
-# if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-#  ifndef _UINTPTR_T_DEFINED
-#   define _UINTPTR_T_DEFINED
-#   ifdef _WIN64
-      typedef unsigned __int64 uintptr_t;
-#   else
-      typedef unsigned int uintptr_t;
-#   endif
-#  endif
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned int _set_abort_behavior (unsigned int, unsigned int);
-
-/* These masks work with msvcr80.dll version 8.0.50215.44 (a beta release).
- */
-#  define _WRITE_ABORT_MSG	1
-#  define _CALL_REPORTFAULT	2
-
-typedef void
-(* _invalid_parameter_handler) (
-    const wchar_t *,
-    const wchar_t *,
-    const wchar_t *,
-    unsigned int,
-    uintptr_t);
-_invalid_parameter_handler _set_invalid_parameter_handler (_invalid_parameter_handler);
-
-# endif /* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-#endif	/* __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-_CRTIMP __cdecl __MINGW_NOTHROW  int putenv (const char*);
-_CRTIMP __cdecl __MINGW_NOTHROW  void searchenv (const char*, const char*, char*);
-
-_CRTIMP __cdecl __MINGW_NOTHROW  char* itoa (int, char*, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char* ltoa (long, char*, int);
-
-#ifndef _UWIN
-_CRTIMP __cdecl __MINGW_NOTHROW  char* ecvt (double, int, int*, int*);
-_CRTIMP __cdecl __MINGW_NOTHROW  char* fcvt (double, int, int*, int*);
-_CRTIMP __cdecl __MINGW_NOTHROW  char* gcvt (double, int, char*);
-
-#endif	/* ! _UWIN */
-#endif	/* ! _NO_OLDNAMES */
-#endif	/* ! __STRICT_ANSI__ */
-
-#ifdef _ISOC99_SOURCE
-/* Further APIs required to support ISO-C99, but missing from MSVCRT.DLL;
- * we provide them in libmingwex.a:
- *
- * ISO-C99 name for _exit()
- */
-__cdecl __MINGW_NOTHROW  void _Exit(int) __MINGW_ATTRIB_NORETURN;
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __JMPSTUB__(( FUNCTION = _Exit, REMAPPED = _exit ))
-__cdecl __MINGW_NOTHROW  void _Exit( int __status ){ _exit (__status); }
-#endif
-
-typedef struct { long long quot, rem; } lldiv_t;
-__cdecl __MINGW_NOTHROW  lldiv_t lldiv (long long, long long) __MINGW_ATTRIB_CONST;
-
-__cdecl __MINGW_NOTHROW  long long llabs (long long);
-
-#ifndef __NO_INLINE__
-__CRT_INLINE
-/* No JMPSTUB or LIBIMPL reference here -- we provide a free-standing
- * implementation, along with imaxabs(), in mingwex/imaxabs.c
- */
-__cdecl __MINGW_NOTHROW  long long llabs( long long __j )
-{ return __j >= 0 ? __j : -__j; }
-#endif
-
-__cdecl __MINGW_NOTHROW
-long long strtoll (const char *__restrict__, char **__restrict, int);
-
-__cdecl __MINGW_NOTHROW
-unsigned long long strtoull (const char *__restrict__, char **__restrict__, int);
-
-#ifdef __MSVCRT__
-/* MSVCRT.DLL does not provide ISO-C99's atoll() function, but it does
- * provide an analogue, in _atoi64(); map it accordingly.
- */
-__cdecl __MINGW_NOTHROW  long long atoll (const char *);
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __JMPSTUB__(( FUNCTION = atoll, REMAPPED = _atoi64 ))
-__cdecl __MINGW_NOTHROW  long long atoll (const char * _c){ return _atoi64 (_c); }
-#endif
-
-#endif  /* __MSVCRT__ */
-#endif  /* _ISOC99_SOURCE */
-
-#if defined __MSVCRT__ && ! defined __STRICT_ANSI__
-#if __MSVCRT_VERSION__ >= __MSVCR70_DLL || _WIN32_WINNT >= _WIN32_WINNT_WINXP
-/* Microsoft specific alternatives to ISO-C99 strtoll() and strtoull(); the
- * first pair require WinXP (or later) or non-free MSVCR70.DLL onwards...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-__int64 _strtoi64(const char*, char **, int);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned __int64 _strtoui64(const char*, char **, int);
-
-#endif	/* WinXP || MSVCR70.DLL || later */
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
-/* ...while the following pair require Win-Vista (or later), or non-free
- * MSVCR80.DLL onwards; (note that, like their wide character counterparts,
- * they may actually be unusable without MSVCR80.DLL onwards, because of
- * the difficulty in acquiring a reference to a _locale_t object).
- */
-_CRTIMP __cdecl __MINGW_NOTHROW
-__int64 _strtoi64_l(const char *, char **, int, _locale_t);
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-unsigned __int64 _strtoui64_l(const char *, char **, int, _locale_t);
-
-#endif	/* Win-Vista || MSVCR80.DLL || later */
-
-/* Type long long analogues for MSVCRT.DLL specific type long functions;
- * none are actually provided by any version of MSVCRT.DLL, with names as
- * specified here, but rather as called by the inline functions used to
- * implement them, (i.e. the REMAPPED name specified in each__JMPSTUB__
- * function reference respectively).
- *
- * FIXME: Not one of these is specified by ISO-C99, nor by POSIX, either;
- * is there really any justification for us to specify them at all?  For
- * the time being, declare as deprecated; perhaps remove later?
- */
-__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED  long long wtoll (const wchar_t *);
-__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED  char *lltoa (long long, char *, int);
-__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED  char *ulltoa (unsigned long long , char *, int);
-__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED  wchar_t *lltow (long long, wchar_t *, int);
-__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED  wchar_t *ulltow (unsigned long long, wchar_t *, int);
-
-#ifndef __NO_INLINE__
-/* None of these functions would exist at all, without either these inline
- * implementations, or their respective __JMPSTUB__ equivalents.
- */
-__CRT_INLINE __JMPSTUB__(( FUNCTION = lltoa, REMAPPED = _i64toa ))
-__cdecl __MINGW_NOTHROW  char *lltoa (long long __n, char * __c, int __i)
-{ return _i64toa (__n, __c, __i); }
-
-__CRT_INLINE __JMPSTUB__(( FUNCTION = ulltoa, REMAPPED = _ui64toa ))
-__cdecl __MINGW_NOTHROW  char *ulltoa (unsigned long long __n, char * __c, int __i)
-{ return _ui64toa (__n, __c, __i); }
-
-__CRT_INLINE __JMPSTUB__(( FUNCTION = wtoll, REMAPPED = _wtoi64 ))
-__cdecl __MINGW_NOTHROW  long long wtoll (const wchar_t * __w){ return _wtoi64 (__w); }
-
-__CRT_INLINE __JMPSTUB__(( FUNCTION = lltow, REMAPPED = _i64tow ))
-__cdecl __MINGW_NOTHROW  wchar_t *lltow (long long __n, wchar_t * __w, int __i)
-{ return _i64tow (__n, __w, __i); }
-
-__CRT_INLINE __JMPSTUB__(( FUNCTION = ulltow, REMAPPED = _ui64tow ))
-__cdecl __MINGW_NOTHROW  wchar_t *ulltow (unsigned long long __n, wchar_t * __w, int __i)
-{ return _ui64tow (__n, __w, __i); }
-
-#endif  /* ! __NO_INLINE__ */
-#endif  /* __MSVCRT__ && ! __STRICT_ANSI__ */
-
-/* POSIX/BSD extensions in libmingwex.a; these should be exposed only on
- * the basis of appropriate POSIX or BSD specific feature tests...
- *
- * mkstemp(3) function support; added per feature request #2003.
- * POSIX wants _XOPEN_SOURCE >= 500, (implying _POSIX_C_SOURCE >= 200112L).
- */
-#if _POSIX_C_SOURCE >= 200112L
-
-__cdecl __MINGW_NOTHROW  int mkstemp (char *);
-__cdecl __MINGW_NOTHROW  int __mingw_mkstemp (int, char *);
-
-/* On POSIX platforms, programmers may adopt an idiom such as:
- *
- *   if( mkstemp( template ) >= 0 )
- *   { unlink( template );
- *     . . .
- *   }
- *
- * to ensure that a temporary file does NOT persist after it is
- * closed; MS-Windows does not allow such use of unlink(2), while
- * the file remains open.  Thus, MS-Windows programmers must take
- * extra care, to close and unlink temporary files AFTER use, if
- * similar behaviour is desired.
- *
- * To mitigate this MS-Windows limitation, we provide support for
- * an alternative, MinGW specific idiom:
- *
- *   #include <fcntl.h>
- *
- *   _MKSTEMP_SETMODE( _O_TEMPORARY );
- *   if( mkstemp( template ) >= 0 )
- *   {
- *     . . .
- *   }
- *
- * to achieve a similar effect to that of the above POSIX idiom; the
- * following macros are a MinGW specific extension, to facilite such
- * use of _O_TEMPORARY, (in addition to the POSIX required attributes),
- * when creating the temporary file.  Note that they require <fcntl.h>,
- * which <stdlib.h> should NOT automatically include; we leave it to
- * the user to explicitly include it, if using _MKSTEMP_SETMODE.
- */
-#define _MKSTEMP_INVOKE       0
-#define _MKSTEMP_DEFAULT     _O_CREAT | _O_EXCL | _O_RDWR
-#define _MKSTEMP_SETMODE(M) __mingw_mkstemp( _MKSTEMP_DEFAULT | (M), NULL )
-
-#ifndef _NO_OLDNAMES
-#define MKSTEMP_SETMODE(M)  __mingw_mkstemp( _MKSTEMP_DEFAULT | (M), NULL )
-#endif
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = mkstemp ))
-__cdecl __MINGW_NOTHROW  int mkstemp (char *__filename_template)
-{ return __mingw_mkstemp( _MKSTEMP_INVOKE, __filename_template ); }
-
-#endif	/* _POSIX_C_SOURCE >= 200112L (for mkstemp()) */
-
-/* mkdtemp(3) function support: added as adjunct to feature request #2003.
- * POSIX wants _XOPEN_SOURCE >= 700, (implying _POSIX_C_SOURCE >= 200809L).
- */
-#if _POSIX_C_SOURCE >= 200809L
-
-__cdecl __MINGW_NOTHROW  char *mkdtemp (char *);
-__cdecl __MINGW_NOTHROW  char *__mingw_mkdtemp (char *);
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = mkdtemp ))
-__cdecl __MINGW_NOTHROW  char *mkdtemp (char *__dirname_template)
-{ return __mingw_mkdtemp( __dirname_template ); }
-
-#endif	/* _POSIX_C_SOURCE >= 200809L (for mkdtemp()) */
-#endif	/* _STDLIB_H */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* ! _STDLIB_H: $RCSfile: stdlib.h,v $: end of file */
Index: Daodan/MinGW/include/stm.h
===================================================================
--- Daodan/MinGW/include/stm.h	(revision 1046)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#ifndef _STM_H
-#define _STM_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _IPX_SERVER_ENTRY {
-	USHORT Type;
-	UCHAR Name[48];
-	UCHAR Network[4];
-	UCHAR Node[6];
-	UCHAR Socket[2];
-	USHORT HopCount;
-} IPX_SERVER_ENTRY,*PIPX_SERVER_ENTRY;
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/string.h
===================================================================
--- Daodan/MinGW/include/string.h	(revision 1046)
+++ 	(revision )
@@ -1,187 +1,0 @@
-/*
- * string.h
- *
- * ISO-C standard header, with MSVC compatible extensions.
- *
- * $Id: string.h,v 7c13c3b4989e 2016/05/12 12:51:37 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2000, 2002-2004, 2007, 2009, 2015, 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, 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.
- *
- */
-#ifndef _STRING_H
-#pragma GCC system_header
-#define _STRING_H
-
-/* All MinGW system headers must include this...
- */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-/* ISO-C requires this header to expose definitions for NULL and size_t,
- * retaining compatiblity with their fundamental <stddef.h> definitions.
- */
-#define __need_NULL
-#define __need_size_t
-#ifndef __STRICT_ANSI__
- /* MSVC extends this requirement to include a definition of wchar_t,
-  * (which contravenes strict ISO-C standards conformity).
-  */
-# define __need_wchar_t
-#endif
-#include <stddef.h>
-
-_BEGIN_C_DECLS
-
-#define __STRING_H_SOURCED__
-/* Prototypes for the ISO-C Standard library string functions.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  void *memchr (const void *, int, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  int memcmp (const void *, const void *, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  void *memcpy (void *, const void *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  void *memmove (void *, const void *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  void *memset (void *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strcat (char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strchr (const char *, int) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  int strcmp (const char *, const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  int strcoll (const char *, const char *); /* Compare using locale */
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strcpy (char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t strcspn (const char *, const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strerror (int); /* NOTE: NOT an old name wrapper. */
-
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t strlen (const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strncat (char *, const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int strncmp (const char *, const char *, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strncpy (char *, const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strpbrk (const char *, const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strrchr (const char *, int) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t strspn (const char *, const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strstr (const char *, const char *) __MINGW_ATTRIB_PURE;
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strtok (char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t strxfrm (char *, const char *, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Extra non-ANSI functions provided by the CRTDLL library
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strerror (const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void *_memccpy (void *, const void *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _memicmp (const void *, const void *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strdup (const char *) __MINGW_ATTRIB_MALLOC;
-_CRTIMP __cdecl __MINGW_NOTHROW  int _strcmpi (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stricoll (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strlwr (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strnset (char *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strrev (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strset (char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strupr (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  void _swab (const char *, char *, size_t);
-
-/* MSVC's non-ANSI _stricmp() and _strnicmp() functions must also be
- * prototyped here, but we need to share them with <strings.h>, where
- * we declare their POSIX strcasecmp() and strncasecmp() equivalents;
- * get the requisite prototypes by selective <strings.h> inclusion.
- */
-#include <strings.h>
-
-# ifdef __MSVCRT__
- /* These were not present in the CRTDLL prior to the first release of
-  * MSVCRT.DLL, but are available in all versions of that library.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _strncoll(const char *, const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _strnicoll(const char *, const char *, size_t);
-# endif
-
-# ifndef _NO_OLDNAMES
- /* Non-underscore decorated versions of non-ANSI functions. They live in the
-  * OLDNAMES libraries, whence they provide a little extra portability.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  void *memccpy (void *, const void *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int memicmp (const void *, const void *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strdup (const char *) __MINGW_ATTRIB_MALLOC;
-_CRTIMP __cdecl __MINGW_NOTHROW  int strcmpi (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int stricmp (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int stricoll (const char *, const char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strlwr (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int strnicmp (const char *, const char *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strnset (char *, int, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strrev (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strset (char *, int);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *strupr (char *);
-
-#  ifndef _UWIN
-  /* FIXME: Do we really care that UWin doesn't support this?  We are
-   * under no obligation to support UWin.
-   */
-_CRTIMP __cdecl __MINGW_NOTHROW  void swab (const char *, char *, size_t);
-
-#  endif /* ! _UWIN */
-# endif /* ! _NO_OLDNAMES */
-
-/* MSVC also expects <string.h> to declare duplicates of the wchar_t
- * string functions which are nominally declared in <wchar.h>, (which
- * is where ISO-C specifies that they should be declared).  For the
- * convenience of applications which rely on this Microsoft anomaly,
- * inclusion of <wchar.h>, within the current __STRING_H_SOURCED__
- * scope, will selectively expose the required function prototypes;
- * however, strictly ISO-C conforming applications should include
- * <wchar.h> directly; they should not rely on this MSVC specific
- * anomalous behaviour.
- */
-#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 __CRT_ALIAS, with stubs designated
- * for linking from within the appropriate oldname libraries.
- */
-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__
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_STRING_H: $RCSfile: string.h,v $: end of file */
Index: Daodan/MinGW/include/strings.h
===================================================================
--- Daodan/MinGW/include/strings.h	(revision 1046)
+++ 	(revision )
@@ -1,100 +1,0 @@
-/*
- * strings.h
- *
- * API declarations for POSIX.1-2008 string functions supported by MinGW.
- *
- * $Id: strings.h,v 9d7609141132 2016/02/18 21:12:32 keithmarshall $
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2015, 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, 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.
- *
- */
-#ifndef _STRINGS_H
-#pragma GCC system_header
-
-/* In addition to the POSIX strcasecmp() and strncasecmp() functions,
- * this header declares the prototypes for the MSVC specific stricmp()
- * and strincmp() functions, which MSVC expects to find in <string.h>;
- * thus, we support selective partial inclusion by <string.h>, to make
- * this pair of function prototypes available as MSVC expects...
- */
-#ifndef __STRING_H_SOURCED__
-/* ...and we define the _STRINGS_H guard macro only when NOT included
- * in this partial fashion.
- */
-#define _STRINGS_H
-
-/* All MinGW system headers must include <_mingw.h>; if we had been
- * sourced by <string.h>, we could safely assume that it had already
- * done this, but since that doesn't apply in this case, we must do
- * it ourselves.
- */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-/* POSIX.1-2008 requires this header to expose the typedef for size_t; to
- * ensure consistency, we import this from GCC's own <stddef.h> header.
- */
-#define __need_size_t
-#include <stddef.h>
-
-_BEGIN_C_DECLS
-
-int __cdecl __MINGW_NOTHROW strcasecmp( const char *, const char * );
-int __cdecl __MINGW_NOTHROW strncasecmp( const char *, const char *, size_t );
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !__STRING_H_SOURCED__ */
-
-#if ! (defined _STRINGS_H && defined __NO_INLINE__)
-/* These are the MSVCRT.DLL equivalents for POSIX.1's strcasecmp() and
- * strncasecmp() functions, for which we provide in-line implementations
- * in <strings.h> respectively; MSVC expects to find these prototypes in
- * <string.h>, but we also need them here, in <strings.h>, to facilitate
- * the in-line function implementations; we declare them here, and allow
- * <string.h> to include them selectively.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stricmp( const char *, const char * );
-_CRTIMP __cdecl __MINGW_NOTHROW  int _strnicmp( const char *, const char *, size_t );
-#endif	/* !(_STRINGS_H && __NO_INLINE__) */
-
-#if defined _STRINGS_H && ! defined RC_INVOKED
-#ifndef __NO_INLINE__
-/* Provide in-line implementations for strcasecmp(), and strncasecmp(),
- * effectively aliasing them to the respective MSVCRT.DLL (non-standard)
- * equivalents, as prototyped above.
- */
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = strcasecmp, REMAPPED = _stricmp ))
-  int strcasecmp( const char *__s1, const char *__s2 )
-  { return _stricmp( __s1, __s2 ); }
-
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = strncasecmp, REMAPPED = _strnicmp ))
-  int strncasecmp( const char *__s1, const char *__s2, size_t __n )
-  { return _strnicmp( __s1, __s2, __n ); }
-
-#endif	/* !__NO_INLINE__ */
-
-_END_C_DECLS
-
-#endif	/* _STRINGS_H && ! RC_INVOKED */
-#endif	/* !_STRINGS_H: $RCSfile: strings.h,v $: end of file */
Index: Daodan/MinGW/include/strmif.h
===================================================================
--- Daodan/MinGW/include/strmif.h	(revision 1046)
+++ 	(revision )
@@ -1,1159 +1,0 @@
-#ifndef _STRMIF_H
-#define _STRMIF_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types - TVAudioMode Enumeration */
-#define TVAUDIO_MODE_MASK 0x000000FF
-#define TVAUDIO_PRESET_MASK 0x0000FF00
-/*--- DirectShow Reference - DirectShow Data Types */
-typedef LONGLONG REFERENCE_TIME;
-typedef double REFTIME;
-/*--- DirectShow Reference - Constants and GUIDs */
-enum {
-	MERIT_PREFERRED = 0x800000,
-	MERIT_NORMAL = 0x600000,
-	MERIT_UNLIKELY = 0x400000,
-	MERIT_DO_NOT_USE = 0x200000,
-	MERIT_SW_COMPRESSOR = 0x100000,
-	MERIT_HW_COMPRESSOR = 0x100050
-};
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum _AM_AUDIO_RENDERER_STAT_PARAM {
-	AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
-	AM_AUDREND_STAT_PARAM_SLAVE_MODE,
-	AM_AUDREND_STAT_PARAM_SILENCE_DUR,
-	AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,
-	AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
-	AM_AUDREND_STAT_PARAM_SLAVE_RATE,
-	AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
-	AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,
-	AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
-	AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,
-	AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
-	AM_AUDREND_STAT_PARAM_JITTER
-} AM_AUDIO_RENDERER_STAT_PARAM;
-typedef enum _AM_DVD_GRAPH_FLAGS {
-	AM_DVD_HWDEC_PREFER = 0x01,
-	AM_DVD_HWDEC_ONLY = 0x02,
-	AM_DVD_SWDEC_PREFER = 0x04,
-	AM_DVD_SWDEC_ONLY = 0x08,
-	AM_DVD_NOVPE = 0x100,
-	AM_DVD_VMR9_ONLY = 0x800,
-	AM_DVD_EVR_ONLY = 0x1000
-} AM_DVD_GRAPH_FLAGS;
-typedef enum _AM_DVD_STREAM_FLAGS {
-	AM_DVD_STREAM_VIDEO = 0x01,
-	AM_DVD_STREAM_AUDIO = 0x02,
-	AM_DVD_STREAM_SUBPIC = 0x04
-} AM_DVD_STREAM_FLAGS;
-typedef enum _AM_FILTER_MISC_FLAGS {
-	AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x00000001,
-	AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x00000002
-} AM_FILTER_MISC_FLAGS;
-typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
-	AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x00000001,
-	AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x00000002,
-	AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x00000004
-} AM_GRAPH_CONFIG_RECONNECT_FLAGS;
-typedef enum _AM_INTF_SEARCH_FLAGS {
-	AM_INTF_SEARCH_INPUT_PIN = 0x00000001,
-	AM_INTF_SEARCH_OUTPUT_PIN = 0x00000002,
-	AM_INTF_SEARCH_FILTER = 0x00000004
-} AM_INTF_SEARCH_FLAGS;
-typedef enum _AM_OVERLAY_NOTIFY_FLAGS {
-	AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x00000001,
-	AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x00000002,
-	AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x00000004
-} AM_OVERLAY_NOTIFY_FLAGS;
-typedef enum _AM_PIN_CONNECTION_BLOCK_FLAGS {
-	AM_PIN_FLOW_CONTROL_BLOCK = 0x00000001,
-	AM_PIN_PUSH_THROUGH_DATA = 0x00000002
-} AM_PIN_CONNECTION_BLOCK_FLAGS;
-typedef enum _AM_PUSHSOURCE_FLAGS {
-	AM_PUSHSOURCECAPS_INTERNAL_RM = 0x00000001,
-	AM_PUSHSOURCECAPS_NOT_LIVE = 0x00000002,
-	AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x00000004,
-	AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x00010000
-} AM_PUSHSOURCE_FLAGS;
-typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
-	AM_SAMPLE_SPLICEPOINT = 0x01,
-	AM_SAMPLE_PREROLL = 0x02,
-	AM_SAMPLE_DATADISCONTINUITY = 0x04,
-	AM_SAMPLE_TYPECHANGED = 0x08,
-	AM_SAMPLE_TIMEVALID = 0x10,
-	AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
-	AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
-	AM_SAMPLE_STOPVALID = 0x100,
-	AM_SAMPLE_ENDOFSTREAM = 0x200,
-	AM_STREAM_MEDIA = 0,
-	AM_STREAM_CONTROL = 1
-} AM_SAMPLE_PROPERTY_FLAGS;
-typedef enum AM_SEEKING_SeekingCapabilities {
-	AM_SEEKING_CanSeekAbsolute = 0x1,
-	AM_SEEKING_CanSeekForwards = 0x2,
-	AM_SEEKING_CanSeekBackwards = 0x4,
-	AM_SEEKING_CanGetCurrentPos = 0x8,
-	AM_SEEKING_CanGetStopPos = 0x10,
-	AM_SEEKING_CanGetDuration = 0x20,
-	AM_SEEKING_CanPlayBackwards = 0x40,
-	AM_SEEKING_CanDoSegments = 0x80,
-	AM_SEEKING_Source = 0x100
-} AM_SEEKING_SEEKING_CAPABILITIES;
-typedef enum {
-	AM_STREAM_INFO_START_DEFINED = 0x00000001,
-	AM_STREAM_INFO_STOP_DEFINED = 0x00000002,
-	AM_STREAM_INFO_DISCARDING = 0x00000004,
-	AM_STREAM_INFO_STOP_SEND_EXTRA = 0x00000010
-} AM_STREAM_INFO_FLAGS;
-enum AMOVERLAYFX {
-	AMOVERFX_NOFX = 0x00000000,
-	AMOVERFX_MIRRORLEFTRIGHT = 0x00000002,
-	AMOVERFX_MIRRORUPDOWN = 0x00000004,
-	AMOVERFX_DEINTERLACE = 0x00000008
-};
-typedef enum _AMRESCTL_RESERVEFLAGS {
-	AMRESCTL_RESERVEFLAGS_RESERVE = 0x00,
-	AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x01
-} AMRESCTL_RESERVEFLAGS;
-typedef enum tagAMTunerModeType {
-	AMTUNER_MODE_DEFAULT = 0x0000,
-	AMTUNER_MODE_TV = 0x0001,
-	AMTUNER_MODE_FM_RADIO = 0x0002,
-	AMTUNER_MODE_AM_RADIO = 0x0004,
-	AMTUNER_MODE_DSS = 0x0008
-} AMTunerModeType;
-typedef enum tagAnalogVideoStandard {
-	AnalogVideo_None = 0x00000000,
-	AnalogVideo_NTSC_M = 0x00000001,
-	AnalogVideo_NTSC_M_J = 0x00000002,
-	AnalogVideo_NTSC_433 = 0x00000004,
-	AnalogVideo_PAL_B = 0x00000010,
-	AnalogVideo_PAL_D = 0x00000020,
-	AnalogVideo_PAL_H = 0x00000080,
-	AnalogVideo_PAL_I = 0x00000100,
-	AnalogVideo_PAL_M = 0x00000200,
-	AnalogVideo_PAL_N = 0x00000400,
-	AnalogVideo_PAL_60 = 0x00000800,
-	AnalogVideo_SECAM_B = 0x00001000,
-	AnalogVideo_SECAM_D = 0x00002000,
-	AnalogVideo_SECAM_G = 0x00004000,
-	AnalogVideo_SECAM_H = 0x00008000,
-	AnalogVideo_SECAM_K = 0x00010000,
-	AnalogVideo_SECAM_K1 = 0x00020000,
-	AnalogVideo_SECAM_L = 0x00040000,
-	AnalogVideo_SECAM_L1 = 0x00080000,
-	AnalogVideo_PAL_N_COMBO = 0x00100000
-} AnalogVideoStandard;
-typedef enum {
-	CameraControl_Flags_Auto = 0x0001,
-	CameraControl_Flags_Manual = 0x0002
-} CameraControlFlags;
-typedef enum {
-	CameraControl_Pan = 1,
-	CameraControl_Tilt,
-	CameraControl_Roll,
-	CameraControl_Zoom,
-	CameraControl_Exposure,
-	CameraControl_Iris,
-	CameraControl_Focus
-} CameraControlProperty;
-typedef enum {
-	CompressionCaps_CanQuality = 0x01,
-	CompressionCaps_CanCrunch = 0x02,
-	CompressionCaps_CanKeyFrame = 0x04,
-	CompressionCaps_CanBFrame = 0x08,
-	CompressionCaps_CanWindow = 0x10
-} CompressionCaps;
-typedef enum {
-	DECIMATION_LEGACY,
-	DECIMATION_USE_DECODER_ONLY,
-	DECIMATION_USE_VIDEOPORT_ONLY,
-	DECIMATION_USE_OVERLAY_ONLY,
-	DECIMATION_DEFAULT
-} DECIMATION_USAGE;
-typedef enum tagDVD_AUDIO_APPMODE {
-	DVD_AudioMode_None = 0,
-	DVD_AudioMode_Karaoke = 1,
-	DVD_AudioMode_Surround = 2,
-	DVD_AudioMode_Other = 3
-} DVD_AUDIO_APPMODE;
-typedef enum tagDVD_AUDIO_FORMAT {
-	DVD_AudioFormat_AC3 = 0,
-	DVD_AudioFormat_MPEG1 = 1,
-	DVD_AudioFormat_MPEG1_DRC = 2,
-	DVD_AudioFormat_MPEG2 = 3,
-	DVD_AudioFormat_MPEG2_DRC = 4,
-	DVD_AudioFormat_LPCM = 5,
-	DVD_AudioFormat_DTS = 6,
-	DVD_AudioFormat_SDDS = 7,
-	DVD_AudioFormat_Other = 8
-} DVD_AUDIO_FORMAT;
-typedef enum tagDVD_AUDIO_LANG_EXT {
-	DVD_AUD_EXT_NotSpecified = 0,
-	DVD_AUD_EXT_Captions = 1,
-	DVD_AUD_EXT_VisuallyImpaired = 2,
-	DVD_AUD_EXT_DirectorComments1 = 3,
-	DVD_AUD_EXT_DirectorComments2 = 4
-} DVD_AUDIO_LANG_EXT;
-typedef enum {
-	DVD_CMD_FLAG_None = 0x00000000,
-	DVD_CMD_FLAG_Flush = 0x00000001,
-	DVD_CMD_FLAG_SendEvents = 0x00000002,
-	DVD_CMD_FLAG_Block = 0x00000004,
-	DVD_CMD_FLAG_StartWhenRendered = 0x00000008,
-	DVD_CMD_FLAG_EndAfterRendered = 0x00000010
-} DVD_CMD_FLAGS;
-typedef enum tagDVD_DISC_SIDE {
-	DVD_SIDE_A,
-	DVD_SIDE_B
-} DVD_DISC_SIDE;
-typedef enum tagDVD_DOMAIN {
-	DVD_DOMAIN_FirstPlay,
-	DVD_DOMAIN_VideoManagerMenu,
-	DVD_DOMAIN_VideoTitleSetMenu,
-	DVD_DOMAIN_Title,
-	DVD_DOMAIN_Stop
-} DVD_DOMAIN;
-typedef enum tagDVD_FRAMERATE {
-	DVD_FPS_25 = 1,
-	DVD_FPS_30NonDrop = 3
-} DVD_FRAMERATE;
-typedef enum tagDVD_KARAOKE_ASSIGNMENT {
-	DVD_Assignment_reserved0 = 0,
-	DVD_Assignment_reserved1 = 1,
-	DVD_Assignment_LR = 2,
-	DVD_Assignment_LRM = 3,
-	DVD_Assignment_LR1 = 4,
-	DVD_Assignment_LRM1 = 5,
-	DVD_Assignment_LR12 = 6,
-	DVD_Assignment_LRM12 = 7
-} DVD_KARAOKE_ASSIGNMENT;
-typedef enum tagDVD_KARAOKE_CONTENTS {
-	DVD_Karaoke_GuideVocal1 = 0x0001,
-	DVD_Karaoke_GuideVocal2 = 0x0002,
-	DVD_Karaoke_GuideMelody1 = 0x0004,
-	DVD_Karaoke_GuideMelody2 = 0x0008,
-	DVD_Karaoke_GuideMelodyA = 0x0010,
-	DVD_Karaoke_GuideMelodyB = 0x0020,
-	DVD_Karaoke_SoundEffectA = 0x0040,
-	DVD_Karaoke_SoundEffectB = 0x0080
-} DVD_KARAOKE_CONTENTS;
-typedef enum tagDVD_KARAOKE_DOWNMIX {
-	DVD_Mix_0to0 = 0x0001,
-	DVD_Mix_1to0 = 0x0002,
-	DVD_Mix_2to0 = 0x0004,
-	DVD_Mix_3to0 = 0x0008,
-	DVD_Mix_4to0 = 0x0010,
-	DVD_Mix_Lto0 = 0x0020,
-	DVD_Mix_Rto0 = 0x0040,
-	DVD_Mix_0to1 = 0x0100,
-	DVD_Mix_1to1 = 0x0200,
-	DVD_Mix_2to1 = 0x0400,
-	DVD_Mix_3to1 = 0x0800,
-	DVD_Mix_4to1 = 0x1000,
-	DVD_Mix_Lto1 = 0x2000,
-	DVD_Mix_Rto1 = 0x4000
-} DVD_KARAOKE_DOWNMIX;
-typedef enum tagDVD_MENU_ID {
-	DVD_MENU_Title = 2,
-	DVD_MENU_Root = 3,
-	DVD_MENU_Subpicture = 4,
-	DVD_MENU_Audio = 5,
-	DVD_MENU_Angle = 6,
-	DVD_MENU_Chapter = 7
-} DVD_MENU_ID;
-typedef enum {
-	DVD_ResetOnStop = 1,
-	DVD_NotifyParentalLevelChange = 2,
-	DVD_HMSF_TimeCodeEvents = 3,
-	DVD_AudioDuringFFwdRew = 4,
-	DVD_EnableNonblockingAPIs = 5,
-	DVD_CacheSizeInMB = 6,
-	DVD_EnablePortableBookmarks = 7
-} DVD_OPTION_FLAG;
-typedef enum tagDVD_PARENTAL_LEVEL {
-	DVD_PARENTAL_LEVEL_8 = 0x8000,
-	DVD_PARENTAL_LEVEL_7 = 0x4000,
-	DVD_PARENTAL_LEVEL_6 = 0x2000,
-	DVD_PARENTAL_LEVEL_5 = 0x1000,
-	DVD_PARENTAL_LEVEL_4 = 0x0800,
-	DVD_PARENTAL_LEVEL_3 = 0x0400,
-	DVD_PARENTAL_LEVEL_2 = 0x0200,
-	DVD_PARENTAL_LEVEL_1 = 0x0100
-} DVD_PARENTAL_LEVEL;
-typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
-	DISPLAY_CONTENT_DEFAULT = 0,
-	DISPLAY_16x9 = 1,
-	DISPLAY_4x3_PANSCAN_PREFERRED = 2,
-	DISPLAY_4x3_LETTERBOX_PREFERRED = 3
-} DVD_PREFERRED_DISPLAY_MODE;
-typedef enum tagDVD_RELATIVE_BUTTON {
-	DVD_Relative_Upper = 1,
-	DVD_Relative_Lower = 2,
-	DVD_Relative_Left = 3,
-	DVD_Relative_Right = 4
-} DVD_RELATIVE_BUTTON;
-typedef enum tagDVD_SUBPICTURE_LANG_EXT {
-	DVD_SP_EXT_NotSpecified = 0,
-	DVD_SP_EXT_Caption_Normal = 1,
-	DVD_SP_EXT_Caption_Big = 2,
-	DVD_SP_EXT_Caption_Children = 3,
-	DVD_SP_EXT_CC_Normal = 5,
-	DVD_SP_EXT_CC_Big = 6,
-	DVD_SP_EXT_CC_Children = 7,
-	DVD_SP_EXT_Forced = 9,
-	DVD_SP_EXT_DirectorComments_Normal = 13,
-	DVD_SP_EXT_DirectorComments_Big = 14,
-	DVD_SP_EXT_DirectorComments_Children = 15
-} DVD_SUBPICTURE_LANG_EXT;
-typedef enum tagDVD_SUBPICTURE_TYPE {
-	DVD_SPType_NotSpecified = 0,
-	DVD_SPType_Language = 1,
-	DVD_SPType_Other = 2
-} DVD_SUBPICTURE_TYPE;
-typedef enum tagDVD_SUBPICTURE_CODING {
-	DVD_SPCoding_RunLength = 0,
-	DVD_SPCoding_Extended = 1,
-	DVD_SPCoding_Other = 2
-} DVD_SUBPICTURE_CODING;
-enum DVD_TextCharSet {
-	DVD_CharSet_Unicode = 0,
-	DVD_CharSet_ISO646 = 1,
-	DVD_CharSet_JIS_Roman_Kanji = 2,
-	DVD_CharSet_ISO8859_1 = 3,
-	DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
-};
-enum DVD_TextStringType {
-	DVD_Struct_Volume = 0x01,
-	DVD_Struct_Title = 0x02,
-	DVD_Struct_ParentalID = 0x03,
-	DVD_Struct_PartOfTitle = 0x04,
-	DVD_Struct_Cell = 0x05,
-	DVD_Stream_Audio = 0x10,
-	DVD_Stream_Subpicture = 0x11,
-	DVD_Stream_Angle = 0x12,
-	DVD_Channel_Audio = 0x20,
-	DVD_General_Name = 0x30,
-	DVD_General_Comments = 0x31,
-	DVD_Title_Series = 0x38,
-	DVD_Title_Movie = 0x39,
-	DVD_Title_Video = 0x3a,
-	DVD_Title_Album = 0x3b,
-	DVD_Title_Song = 0x3c,
-	DVD_Title_Other = 0x3f,
-	DVD_Title_Sub_Series = 0x40,
-	DVD_Title_Sub_Movie = 0x41,
-	DVD_Title_Sub_Video = 0x42,
-	DVD_Title_Sub_Album = 0x43,
-	DVD_Title_Sub_Song = 0x44,
-	DVD_Title_Sub_Other = 0x47,
-	DVD_Title_Orig_Series = 0x48,
-	DVD_Title_Orig_Movie = 0x49,
-	DVD_Title_Orig_Video = 0x4a,
-	DVD_Title_Orig_Album = 0x4b,
-	DVD_Title_Orig_Song = 0x4c,
-	DVD_Title_Orig_Other = 0x4f,
-	DVD_Other_Scene = 0x50,
-	DVD_Other_Cut = 0x51,
-	DVD_Other_Take = 0x52
-};
-typedef enum tagDVD_TIMECODE_FLAGS {
-	DVD_TC_FLAG_25fps = 0x00000001,
-	DVD_TC_FLAG_30fps = 0x00000002,
-	DVD_TC_FLAG_DropFrame = 0x00000004,
-	DVD_TC_FLAG_Interpolated = 0x00000008
-} DVD_TIMECODE_FLAGS;
-typedef enum tagDVD_TITLE_APPMODE {
-	DVD_AppMode_Not_Specified = 0,
-	DVD_AppMode_Karaoke = 1,
-	DVD_AppMode_Other = 3
-} DVD_TITLE_APPMODE;
-typedef enum tagDVD_VIDEO_COMPRESSION {
-	DVD_VideoCompression_Other = 0,
-	DVD_VideoCompression_MPEG1 = 1,
-	DVD_VideoCompression_MPEG2 = 2
-} DVD_VIDEO_COMPRESSION;
-typedef enum _DVDECODERRESOLUTION {
-	DVDECODERRESOLUTION_720x480 = 1000,
-	DVDECODERRESOLUTION_360x240 = 1001,
-	DVDECODERRESOLUTION_180x120 = 1002,
-	DVDECODERRESOLUTION_88x60 = 1003
-} DVDECODERRESOLUTION;
-typedef enum _DVRESOLUTION {
-	DVRESOLUTION_FULL = 1000,
-	DVRESOLUTION_HALF = 1001,
-	DVRESOLUTION_QUARTER = 1002,
-	DVRESOLUTION_DC = 1003
-} DVRESOLUTION;
-typedef enum _DVENCODERFORMAT {
-	DVENCODERFORMAT_DVSD = 2007,
-	DVENCODERFORMAT_DVHD = 2008,
-	DVENCODERFORMAT_DVSL = 2009
-} DVENCODERFORMAT;
-typedef enum _DVENCODERRESOLUTION {
-	DVENCODERRESOLUTION_720x480 = 2012,
-	DVENCODERRESOLUTION_360x240 = 2013,
-	DVENCODERRESOLUTION_180x120 = 2014,
-	DVENCODERRESOLUTION_88x60 = 2015
-} DVENCODERRESOLUTION;
-typedef enum _DVENCODERVIDEOFORMAT {
-	DVENCODERVIDEOFORMAT_NTSC = 2000,
-	DVENCODERVIDEOFORMAT_PAL = 2001
-} DVENCODERVIDEOFORMAT;
-typedef enum _FilterState {
-	State_Stopped,
-	State_Paused,
-	State_Running
-} FILTER_STATE;
-typedef enum {
-	INTERLEAVE_NONE,
-	INTERLEAVE_CAPTURE,
-	INTERLEAVE_FULL,
-	INTERLEAVE_NONE_BUFFERED
-} InterleavingMode;
-typedef enum {
-	PhysConn_Video_Tuner = 1,
-	PhysConn_Video_Composite,
-	PhysConn_Video_SVideo,
-	PhysConn_Video_RGB,
-	PhysConn_Video_YRYBY,
-	PhysConn_Video_SerialDigital,
-	PhysConn_Video_ParallelDigital,
-	PhysConn_Video_SCSI,
-	PhysConn_Video_AUX,
-	PhysConn_Video_1394,
-	PhysConn_Video_USB,
-	PhysConn_Video_VideoDecoder,
-	PhysConn_Video_VideoEncoder,
-	PhysConn_Video_SCART,
-	PhysConn_Video_Black,
-	PhysConn_Audio_Tuner = 4096,
-	PhysConn_Audio_Line,
-	PhysConn_Audio_Mic,
-	PhysConn_Audio_AESDigital,
-	PhysConn_Audio_SPDIFDigital,
-	PhysConn_Audio_SCSI,
-	PhysConn_Audio_AUX,
-	PhysConn_Audio_1394,
-	PhysConn_Audio_USB,
-	PhysConn_Audio_AudioDecoder
-} PhysicalConnectorType;
-typedef enum _PinDirection {
-	PINDIR_INPUT,
-	PINDIR_OUTPUT
-} PIN_DIRECTION;
-typedef enum {
-	Famine,
-	Flood
-} QualityMessageType;
-enum {
-	REG_PINFLAG_B_ZERO = 0x1,
-	REG_PINFLAG_B_RENDERER = 0x2,
-	REG_PINFLAG_B_MANY = 0x4,
-	REG_PINFLAG_B_OUTPUT = 0x8
-} REG_PINFLAG;
-typedef enum _REM_FILTER_FLAGS {
-	REMFILTERF_LEAVECONNECTED = 0x00000001
-} REM_FILTER_FLAGS;
-typedef enum {
-	TunerInputCable,
-	TunerInputAntenna
-} TunerInputType;
-typedef enum tagTVAudioMode {
-	AMTVAUDIO_MODE_MONO = 0x0001,
-	AMTVAUDIO_MODE_STEREO = 0x0002,
-	AMTVAUDIO_MODE_LANG_A = 0x0010,
-	AMTVAUDIO_MODE_LANG_B = 0x0020,
-	AMTVAUDIO_MODE_LANG_C = 0x0040,
-	AMTVAUDIO_PRESET_STEREO = 0x0200,
-	AMTVAUDIO_PRESET_LANG_A = 0x1000,
-	AMTVAUDIO_PRESET_LANG_B = 0x2000,
-	AMTVAUDIO_PRESET_LANG_C = 0x4000
-} TVAudioMode;
-typedef enum {
-	UOP_FLAG_Play_Title_Or_AtTime = 0x00000001,
-	UOP_FLAG_Play_Chapter = 0x00000002,
-	UOP_FLAG_Play_Title = 0x00000004,
-	UOP_FLAG_Stop = 0x00000008,
-	UOP_FLAG_ReturnFromSubMenu = 0x00000010,
-	UOP_FLAG_Play_Chapter_Or_AtTime = 0x00000020,
-	UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x00000040,
-	UOP_FLAG_PlayNext_Chapter = 0x00000080,
-	UOP_FLAG_Play_Forwards = 0x00000100,
-	UOP_FLAG_Play_Backwards = 0x00000200,
-	UOP_FLAG_ShowMenu_Title = 0x00000400,
-	UOP_FLAG_ShowMenu_Root = 0x00000800,
-	UOP_FLAG_ShowMenu_SubPic = 0x00001000,
-	UOP_FLAG_ShowMenu_Audio = 0x00002000,
-	UOP_FLAG_ShowMenu_Angle = 0x00004000,
-	UOP_FLAG_ShowMenu_Chapter = 0x00008000,
-	UOP_FLAG_Resume = 0x00010000,
-	UOP_FLAG_Select_Or_Activate_Button = 0x00020000,
-	UOP_FLAG_Still_Off = 0x00040000,
-	UOP_FLAG_Pause_On = 0x00080000,
-	UOP_FLAG_Select_Audio_Stream = 0x00100000,
-	UOP_FLAG_Select_SubPic_Stream = 0x00200000,
-	UOP_FLAG_Select_Angle = 0x00400000,
-	UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x00800000,
-	UOP_FLAG_Select_Video_Mode_Preference = 0x01000000
-} VALID_UOP_FLAG;
-typedef enum {
-	VfwCaptureDialog_Source = 0x01,
-	VfwCaptureDialog_Format = 0x02,
-	VfwCaptureDialog_Display = 0x04
-} VfwCaptureDialogs;
-typedef enum {
-	VfwCompressDialog_Config = 0x01,
-	VfwCompressDialog_About = 0x02,
-	VfwCompressDialog_QueryConfig = 0x04,
-	VfwCompressDialog_QueryAbout = 0x08
-} VfwCompressDialogs;
-typedef enum tagVideoControlFlags {
-	VideoControlFlag_FlipHorizontal = 0x0001,
-	VideoControlFlag_FlipVertical = 0x0002,
-	VideoControlFlag_ExternalTriggerEnable = 0x0004,
-	VideoControlFlag_Trigger = 0x0008
-} VideoControlFlags;
-typedef enum {
-	ConstantBitRate = 0,
-	VariableBitRateAverage,
-	VariableBitRatePeak
-} VIDEOENCODER_BITRATE_MODE;
-typedef enum tagVideoProcAmpFlags {
-	VideoProcAmp_Flags_Auto = 0x0001,
-	VideoProcAmp_Flags_Manual = 0x0002
-} VideoProcAmpFlags;
-typedef enum tagVideoProcAmpProperty {
-	VideoProcAmp_Brightness,
-	VideoProcAmp_Contrast,
-	VideoProcAmp_Hue,
-	VideoProcAmp_Saturation,
-	VideoProcAmp_Sharpness,
-	VideoProcAmp_Gamma,
-	VideoProcAmp_ColorEnable,
-	VideoProcAmp_WhiteBalance,
-	VideoProcAmp_BacklightCompensation,
-	VideoProcAmp_Gain
-} VideoProcAmpProperty;
-enum VMR_ASPECT_RATIO_MODE {
-	VMR_ARMODE_NONE,
-	VMR_ARMODE_LETTER_BOX
-};
-typedef enum {
-	DeinterlacePref_NextBest = 0x01,
-	DeinterlacePref_BOB = 0x02,
-	DeinterlacePref_Weave = 0x04,
-	DeinterlacePref_Mask = 0x07
-} VMRDeinterlacePrefs;
-typedef enum {
-	DeinterlaceTech_Unknown = 0x0000,
-	DeinterlaceTech_BOBLineReplicate = 0x0001,
-	DeinterlaceTech_BOBVerticalStretch = 0x0002,
-	DeinterlaceTech_MedianFiltering = 0x0004,
-	DeinterlaceTech_EdgeFiltering = 0x0010,
-	DeinterlaceTech_FieldAdaptive = 0x0020,
-	DeinterlaceTech_PixelAdaptive = 0x0040,
-	DeinterlaceTech_MotionVectorSteered = 0x0080
-} VMRDeinterlaceTech;
-typedef enum {
-	MixerPref_NoDecimation = 0x00000001,
-	MixerPref_DecimateOutput = 0x00000002,
-	MixerPref_ARAdjustXorY = 0x00000004,
-	MixerPref_DecimationReserved = 0x00000008,
-	MixerPref_DecimateMask = 0x0000000F,
-	MixerPref_BiLinearFiltering = 0x00000010,
-	MixerPref_PointFiltering = 0x00000020,
-	MixerPref_FilteringMask = 0x000000F0,
-	MixerPref_RenderTargetRGB = 0x00000100,
-	MixerPref_RenderTargetYUV = 0x00001000,
-	MixerPref_RenderTargetYUV420 = 0x00000200,
-	MixerPref_RenderTargetYUV422 = 0x00000400,
-	MixerPref_RenderTargetYUV444 = 0x00000800,
-	MixerPref_RenderTargetReserved = 0x0000E000,
-	MixerPref_RenderTargetMask = 0x0000FF00,
-	MixerPref_DynamicSwitchToBOB = 0x00010000,
-	MixerPref_DynamicDecimateBy2 = 0x00020000,
-	MixerPref_DynamicReserved = 0x000C0000,
-	MixerPref_DynamicMask = 0x000F0000
-} VMRMixerPrefs;
-enum VMRMode {
-	VMRMode_Windowed = 0x00000001,
-	VMRMode_Windowless = 0x00000002,
-	VMRMode_Renderless = 0x00000004,
-	VMRMode_Mask = 0x00000007
-};
-typedef enum {
-	VMRSample_SyncPoint = 0x00000001,
-	VMRSample_Preroll = 0x00000002,
-	VMRSample_Discontinuity = 0x00000004,
-	VMRSample_TimeValid = 0x00000008
-} VMRPresentationFlags;
-typedef enum {
-	RenderPrefs_ForceOffscreen = 0x00000001,
-	RenderPrefs_ForceOverlays = 0x00000002,
-	RenderPrefs_AllowOverlays = 0x00000000,
-	RenderPrefs_AllowOffscreen = 0x00000000,
-	RenderPrefs_DoNotRenderColorKeyAndBorder = 0x00000008,
-	RenderPrefs_RestrictToInitialMonitor = 0x00000010,
-	RenderPrefs_PreferAGPMemWhenMixing = 0x00000020,
-	RenderPrefs_Mask = 0x0000003f
-} VMRRenderPrefs;
-typedef enum {
-	AMAP_PIXELFORMAT_VALID = 0x01,
-	AMAP_3D_TARGET = 0x02,
-	AMAP_ALLOW_SYSMEM = 0x04,
-	AMAP_FORCE_SYSMEM = 0x08,
-	AMAP_DIRECTED_FLIP = 0x10,
-	AMAP_DXVA_TARGET = 0x20
-} VMRSurfaceAllocationFlags;
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct _AllocatorProperties {
-	long cBuffers;
-	long cbBuffer;
-	long cbAlign;
-	long cbPrefix;
-} ALLOCATOR_PROPERTIES;
-typedef struct {
-	HRESULT hrVPEStatus;
-	BOOL bDvdVolInvalid;
-	BOOL bDvdVolUnknown;
-	BOOL bNoLine21In;
-	BOOL bNoLine21Out;
-	int iNumStreams;
-	int iNumStreamsFailed;
-	DWORD dwFailedStreamsFlag;
-} AM_DVD_RENDERSTATUS;
-typedef struct _AMCOPPCommand {
-	GUID macKDI;
-	GUID guidCommandID;
-	DWORD dwSequence;
-	DWORD cbSizeData;
-	BYTE CommandData[4056];
-} AMCOPPCommand,*LPAMCOPPCommand;
-typedef struct _AMCOPPSignature {
-	BYTE Signature[256];
-} AMCOPPSignature;
-typedef struct _AMCOPPStatusInput {
-	GUID rApp;
-	GUID guidStatusRequestID;
-	DWORD dwSequence;
-	DWORD cbSizeData;
-	BYTE StatusData[4056];
-} AMCOPPStatusInput,*LPAMCOPPStatusInput;
-typedef struct _AMCOPPStatusOutput {
-	GUID macKDI;
-	DWORD cbSizeData;
-	BYTE COPPStatus[4076];
-} AMCOPPStatusOutput,*LPAMCOPPStatusOutput;
-typedef struct _AMMediaType {
-	GUID majortype;
-	GUID subtype;
-	BOOL bFixedSizeSamples;
-	BOOL bTemporalCompression;
-	ULONG lSampleSize;
-	GUID formattype;
-	IUnknown *pUnk;
-	ULONG cbFormat;
-	BYTE *pbFormat;
-} AM_MEDIA_TYPE;
-typedef struct tagAM_SAMPLE2_PROPERTIES {
-	DWORD cbData;
-	DWORD dwTypeSpecificFlags;
-	DWORD dwSampleFlags;
-	LONG lActual;
-	REFERENCE_TIME tStart;
-	REFERENCE_TIME tStop;
-	DWORD dwStreamId;
-	AM_MEDIA_TYPE *pMediaType;
-	BYTE *pbBuffer;
-	LONG cbBuffer;
-} AM_SAMPLE2_PROPERTIES;
-typedef struct {
-	REFERENCE_TIME tStart;
-	REFERENCE_TIME tStop;
-	DWORD dwStartCookie;
-	DWORD dwStopCookie;
-	DWORD dwFlags;
-} AM_STREAM_INFO;
-typedef struct {
-	const CLSID *clsMajorType;
-	const CLSID *clsMinorType;
-} REGPINTYPES;
-typedef REGPINTYPES AMOVIESETUP_MEDIATYPE,*PAMOVIESETUP_MEDIATYPE,*LPAMOVIESETUP_MEDIATYPE;
-typedef struct {
-	LPWSTR strName;
-	BOOL bRendered;
-	BOOL bOutput;
-	BOOL bZero;
-	BOOL bMany;
-	const CLSID *clsConnectsToFilter;
-	const WCHAR *strConnectsToPin;
-	UINT nMediaTypes;
-	const REGPINTYPES *lpMediaType;
-} REGFILTERPINS;
-typedef REGFILTERPINS AMOVIESETUP_PIN,*PAMOVIESETUP_PIN,*LPAMOVIESETUP_PIN;
-typedef struct _AMOVIESETUP_FILTER {
-	const CLSID *clsID;
-	const WCHAR *strName;
-	DWORD dwMerit;
-	UINT nPins;
-	const AMOVIESETUP_PIN *lpPin;
-} AMOVIESETUP_FILTER,*PAMOVIESETUP_FILTER,*LPAMOVIESETUP_FILTER;
-typedef struct _AUDIO_STREAM_CONFIG_CAPS {
-	GUID guid;
-	ULONG MinimumChannels;
-	ULONG MaximumChannels;
-	ULONG ChannelsGranularity;
-	ULONG MinimumBitsPerSample;
-	ULONG MaximumBitsPerSample;
-	ULONG BitsPerSampleGranularity;
-	ULONG MinimumSampleFrequency;
-	ULONG MaximumSampleFrequency;
-	ULONG SampleFrequencyGranularity;
-} AUDIO_STREAM_CONFIG_CAPS;
-struct CodecAPIEventData {
-	GUID guid;
-	DWORD dataLength;
-	DWORD reserved[3];
-};
-typedef struct tagCOLORKEY {
-	DWORD KeyType;
-	DWORD PaletteIndex;
-	COLORREF LowColorValue;
-	COLORREF HighColorValue;
-} COLORKEY;
-#define CK_NOCOLORKEY 0x00000000
-#define CK_INDEX 0x00000001
-#define CK_RGB 0x00000002
-typedef struct {
-	DWORD dw1;
-	DWORD dw2;
-} DDCOLORKEY;
-typedef struct tagDVD_AudioAttributes {
-	DVD_AUDIO_APPMODE AppMode;
-	DVD_AUDIO_FORMAT AudioFormat;
-	LCID Language;
-	DVD_AUDIO_LANG_EXT LanguageExtension;
-	BOOL fHasMultichannelInfo;
-	DWORD dwFrequency;
-	BYTE bQuantization;
-	BYTE bNumberOfChannels;
-	DWORD dwReserved[2];
-} DVD_AudioAttributes;
-typedef struct tagDVD_DECODER_CAPS {
-	DWORD dwSize;
-	DWORD dwAudioCaps;
-	double dFwdMaxRateVideo;
-	double dFwdMaxRateAudio;
-	double dFwdMaxRateSP;
-	double dBwdMaxRateVideo;
-	double dBwdMaxRateAudio;
-	double dBwdMaxRateSP;
-	DWORD dwRes1;
-	DWORD dwRes2;
-	DWORD dwRes3;
-	DWORD dwRes4;
-} DVD_DECODER_CAPS;
-#define DVD_AUDIO_CAPS_AC3 0x00000001
-#define DVD_AUDIO_CAPS_MPEG2 0x00000002
-#define DVD_AUDIO_CAPS_LPCM 0x00000004
-#define DVD_AUDIO_CAPS_DTS 0x00000008
-#define DVD_AUDIO_CAPS_SDDS 0x00000010
-typedef struct tagDVD_HMSF_TIMECODE {
-	BYTE bHours;
-	BYTE bMinutes;
-	BYTE bSeconds;
-	BYTE bFrames;
-} DVD_HMSF_TIMECODE;
-typedef struct tagDVD_KaraokeAttributes {
-	BYTE bVersion;
-	BOOL fMasterOfCeremoniesInGuideVocal1;
-	BOOL fDuet;
-	DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
-	WORD wChannelContents[8];
-} DVD_KaraokeAttributes;
-typedef struct tagDVD_MUA_Coeff {
-	double log2_alpha;
-	double log2_beta;
-} DVD_MUA_Coeff;
-typedef struct tagDVD_MUA_MixingInfo {
-	BOOL fMixTo0;
-	BOOL fMixTo1;
-	BOOL fMix0InPhase;
-	BOOL fMix1InPhase;
-	DWORD dwSpeakerPosition;
-} DVD_MUA_MixingInfo;
-#define KSAUDIO_SPEAKER_LEFT 0x00000001
-#define KSAUDIO_SPEAKER_RIGHT 0x00000002
-#define KSAUDIO_SPEAKER_CENTER 0x00000004
-#define KSAUDIO_SPEAKER_SURROUND_LEFT 0x00000008
-#define KSAUDIO_SPEAKER_SURROUND_RIGHT 0x00000010
-#define KSAUDIO_SPEAKER_SUBWOOFER 0x00000020
-#define KSAUDIO_SPEAKER_LEFT_OF_CENTER 0x00000040
-#define KSAUDIO_SPEAKER_RIGHT_OF_CENTER 0x00000080
-#define KSAUDIO_SPEAKER_SURROUND_MONO 0x00000100
-#define KSAUDIO_SPEAKER_SIDE_LEFT 0x00000200
-#define KSAUDIO_SPEAKER_SIDE_RIGHT 0x00000400
-#define KSAUDIO_SPEAKER_TOP 0x00000800
-typedef struct tagDVD_MultichannelAudioAttributes {
-	DVD_MUA_MixingInfo Info[8];
-	DVD_MUA_Coeff Coeff[8];
-} DVD_MultichannelAudioAttributes;
-typedef struct tagDVD_PLAYBACK_LOCATION {
-	ULONG TitleNum;
-	ULONG ChapterNum;
-	ULONG TimeCode;
-} DVD_PLAYBACK_LOCATION;
-typedef struct tagDVD_PLAYBACK_LOCATION2 {
-	ULONG TitleNum;
-	ULONG ChapterNum;
-	DVD_HMSF_TIMECODE TimeCode;
-	ULONG TimeCodeFlags;
-} DVD_PLAYBACK_LOCATION2;
-typedef struct tagDVD_SubpictureAttributes {
-	DVD_SUBPICTURE_TYPE Type;
-	DVD_SUBPICTURE_CODING CodingMode;
-	LCID Language;
-	DVD_SUBPICTURE_LANG_EXT LanguageExtension;
-} DVD_SubpictureAttributes;
-typedef struct tagDVD_TIMECODE {
-	ULONG Hours1:4;
-	ULONG Hours10:4;
-	ULONG Minutes1:4;
-	ULONG Minutes10:4;
-	ULONG Seconds1:4;
-	ULONG Seconds10:4;
-	ULONG Frames1:4;
-	ULONG Frames10:2;
-	ULONG FrameRateCode:2;
-} DVD_TIMECODE;
-typedef struct tagDVD_VideoAttributes {
-	BOOL fPanscanPermitted;
-	BOOL fLetterboxPermitted;
-	ULONG ulAspectX;
-	ULONG ulAspectY;
-	ULONG ulFrameRate;
-	ULONG ulFrameHeight;
-	DVD_VIDEO_COMPRESSION Compression;
-	BOOL fLine21Field1InGOP;
-	BOOL fLine21Field2InGOP;
-	ULONG ulSourceResolutionX;
-	ULONG ulSourceResolutionY;
-	BOOL fIsSourceLetterboxed;
-	BOOL fIsFilmMode;
-} DVD_VideoAttributes;
-struct tagDVD_MenuAttributes {
-	BOOL fCompatibleRegion[8];
-	DVD_VideoAttributes VideoAttributes;
-	BOOL fAudioPresent;
-	DVD_AudioAttributes AudioAttributes;
-	BOOL fSubpicturePresent;
-	DVD_SubpictureAttributes SubpictureAttributes;
-} DVD_MenuAttributes;
-typedef struct tagDVD_TitleMainAttributes {
-	DVD_TITLE_APPMODE AppMode;
-	DVD_VideoAttributes VideoAttributes;
-	ULONG ulNumberOfAudioStreams;
-	DVD_AudioAttributes AudioAttributes[8];
-	DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
-	ULONG ulNumberOfSubpictureStreams;
-	DVD_SubpictureAttributes SubpictureAttributes[32];
-} DVD_TitleAttributes;
-typedef struct tag_DVINFO {
-	DWORD dwDVAAuxSrc;
-	DWORD dwDVAAuxCtl;
-	DWORD dwDVAAuxSrc1;
-	DWORD dwDVAAuxCtl1;
-	DWORD dwDVVAuxSrc;
-	DWORD dwDVVAuxCtl;
-	DWORD dwDVReserved[2];
-} DVINFO,*PDVINFO;
-/***************
-#define MAX_FILTER_NAME 128
-typedef struct _FilterInfo {
-	WCHAR achName[MAX_FILTER_NAME];
-	IFilterGraph *pGraph;
-} FILTER_INFO;
-***************/
-typedef struct _NORMALIZEDRECT {
-	float left;
-	float top;
-	float right;
-	float bottom;
-} NORMALIZEDRECT,*PNORMALIZEDRECT;
-#define MAX_PIN_NAME 128
-typedef struct _PinInfo {
-	IBaseFilter *pFilter;
-	PIN_DIRECTION dir;
-	WCHAR achName[MAX_PIN_NAME];
-} PIN_INFO;
-typedef struct{
-	QualityMessageType Type;
-	long Proportion;
-	REFERENCE_TIME Late;
-	REFERENCE_TIME TimeStamp;
-} Quality;
-typedef struct {
-	CLSID clsMedium;
-	DWORD dw1;
-	DWORD dw2;
-} REGPINMEDIUM;
-typedef struct {
-	DWORD dwFlags;
-	UINT cInstances;
-	UINT nMediaTypes;
-	const REGPINTYPES *lpMediaType;
-	UINT nMediums;
-	const REGPINMEDIUM *lpMedium;
-	const CLSID *clsPinCategory;
-} REGFILTERPINS2;
-typedef struct {
-	DWORD dwVersion;
-	DWORD dwMerit;
-	union {
-		struct {
-			ULONG cPins;
-			const REGFILTERPINS *rgPins;
-		};
-		struct {
-			ULONG cPins2;
-			const REGFILTERPINS2 *rgPins2;
-		};
-	};
-} REGFILTER2;
-typedef struct {
-	ULONG stream_id;
-	DWORD dwMediaSampleContent;
-	ULONG ulSubstreamFilterValue;
-	int iDataOffset;
-} STREAM_ID_MAP;
-#define MPEG2_PROGRAM_STREAM_MAP 0x00000000
-#define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
-#define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
-#define MPEG2_PROGRAM_PACK_HEADER 0x00000003
-#define MPEG2_PROGRAM_PES_STREAM 0x00000004
-#define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
-#define SUBSTREAM_FILTER_VAL_NONE 0x10000000
-typedef struct tagTIMECODE {
-	WORD wFrameRate;
-	WORD wFrameFract;
-	DWORD dwFrames;
-} TIMECODE;
-#define ED_FORMAT_SMPTE_30 0x00001196
-#define ED_FORMAT_SMPTE_30DROP 0x00001197
-#define ED_FORMAT_SMPTE_25 0x00001198
-#define ED_FORMAT_SMPTE_24 0x00001199
-typedef struct tagTIMECODE_SAMPLE {
-	LONGLONG qwTick;
-	TIMECODE timecode;
-	DWORD dwUser;
-	DWORD dwFlags;
-} TIMECODE_SAMPLE;
-/*#define AM_TIMECODE_FLAG_FCM */
-/*#define AM_TIMECODE_FLAG_CF */
-/*#define AM_TIMECODE_FLAG_FIELD */
-/*#define AM_TIMECODE_FLAG_DF */
-/*#define AM_TIMECODE_COLORFRAME */
-/*#define AM_TIMECODE_COLORSEQUENCE */
-/*#define AM_TIMECODE_FILMSEQUENCE_TYPE */
-typedef struct _VIDEO_STREAM_CONFIG_CAPS {
-	GUID guid;
-	ULONG VideoStandard;
-	SIZE InputSize;
-	SIZE MinCroppingSize;
-	SIZE MaxCroppingSize;
-	int CropGranularityX;
-	int CropGranularityY;
-	int CropAlignX;
-	int CropAlignY;
-	SIZE MinOutputSize;
-	SIZE MaxOutputSize;
-	int OutputGranularityX;
-	int OutputGranularityY;
-	int StretchTapsX;
-	int StretchTapsY;
-	int ShrinkTapsX;
-	int ShrinkTapsY;
-	LONGLONG MinFrameInterval;
-	LONGLONG MaxFrameInterval;
-	LONG MinBitsPerSecond;
-	LONG MaxBitsPerSecond;
-} VIDEO_STREAM_CONFIG_CAPS;
-typedef struct tagVMRALLOCATIONINFO {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpHdr;
-	LPDDPIXELFORMAT lpPixFmt;
-	SIZE szAspectRatio;
-	DWORD dwMinBuffers;
-	DWORD dwMaxBuffers;
-	DWORD dwInterlaceFlags;
-	SIZE szNativeSize;
-} VMRALLOCATIONINFO;
-/**********
-typedef struct _VMRALPHABITMAP {
-	DWORD dwFlags;
-	HDC hdc;
-	LPDIRECTDRAWSURFACE7 pDDS;
-	RECT rSrc;
-	NORMALIZEDRECT rDest;
-	FLOAT fAlpha;
-	COLORREF clrSrcKey;
-} VMRALPHABITMAP,*PVMRALPHABITMAP;
-**********/
-#define VMRBITMAP_DISABLE 0x00000001
-#define VMRBITMAP_HDC 0x00000002
-#define VMRBITMAP_ENTIREDDS 0x00000004
-#define VMRBITMAP_SRCCOLORKEY 0x00000008
-#define VMRBITMAP_SRCRECT 0x00000010
-typedef struct _VMRDeinterlaceCaps {
-	DWORD dwSize;
-	DWORD dwNumPreviousOutputFrames;
-	DWORD dwNumForwardRefSamples;
-	DWORD dwNumBackwardRefSamples;
-	VMRDeinterlaceTech DeinterlaceTechnology;
-} VMRDeinterlaceCaps;
-typedef struct _VMRFrequency {
-	DWORD dwNumerator;
-	DWORD dwDenominator;
-} VMRFrequency;
-typedef struct tagVMRGUID {
-	GUID *pGUID;
-	GUID GUID;
-} VMRGUID;
-typedef struct tagVMRMONITORINFO {
-	VMRGUID guid;
-	RECT rcMonitor;
-	HMONITOR hMon;
-	DWORD dwFlags;
-	wchar_t szDevice[32];
-	wchar_t szDescription[256];
-} VMRMONITORINFO;
-/**********
-typedef struct tagVMRPRESENTATIONINFO {
-	DWORD dwFlags;
-	LPDIRECTDRAWSURFACE7 lpSurf;
-	REFERENCE_TIME rtStart;
-	REFERENCE_TIME rtEnd;
-	SIZE szAspectRatio;
-	RECT rcSrc;
-	RECT rcDst;
-	DWORD dwTypeSpecificFlags;
-	DWORD dwInterlaceFlags;
-} VMRPRESENTATIONINFO;
-**********/
-typedef struct _VMRVideoDesc {
-	DWORD dwSize;
-	DWORD dwSampleWidth;
-	DWORD dwSampleHeight;
-	BOOL SingleFieldPerSample;
-	DWORD dwFourCC;
-	VMRFrequency InputSampleFreq;
-	VMRFrequency OutputFrameFreq;
-} VMRVideoDesc;
-/**********
-typedef struct _VMRVIDEOSTREAMINFO {
-	LPDIRECTDRAWSURFACE7 pddsVideoSurface;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwStrmID;
-	FLOAT fAlpha;
-	DDCOLORKEY ddClrKey;
-	NORMALIZEDRECT rNormal;
-} VMRVIDEOSTREAMINFO;
-**********/
-/*--- DirectShow Reference - Interfaces */
-#define INTERFACE IAMAnalogVideoDecoder
-DECLARE_INTERFACE_(IAMAnalogVideoDecoder, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,get_AvailableTVFormats)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,get_HorizontalLocked)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,get_NumberOfLines)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,get_OutputEnable)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,get_TVFormat)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,get_VCRHorizontalLocking)(THIS_ long*) PURE;
-	STDMETHOD_(HRESULT,put_OutputEnable)(THIS_ long) PURE;
-	STDMETHOD_(HRESULT,put_TVFormat)(THIS_ long) PURE;
-	STDMETHOD_(HRESULT,put_VCRHorizontalLocking)(THIS_ long) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IAMAudioInputMixer
-DECLARE_INTERFACE_(IAMAudioInputMixer, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,get_Bass)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,get_BassRange)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,get_Enable)(THIS_ BOOL*) PURE;
-	STDMETHOD_(HRESULT,get_Loudness)(THIS_ BOOL*) PURE;
-	STDMETHOD_(HRESULT,get_MixLevel)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,get_Mono)(THIS_ BOOL*) PURE;
-	STDMETHOD_(HRESULT,get_Pan)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,get_Treble)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,get_TrebleRange)(THIS_ double*) PURE;
-	STDMETHOD_(HRESULT,put_Bass)(THIS_ double) PURE;
-	STDMETHOD_(HRESULT,put_Enable)(THIS_ BOOL) PURE;
-	STDMETHOD_(HRESULT,put_Loudness)(THIS_ BOOL) PURE;
-	STDMETHOD_(HRESULT,put_MixLevel)(THIS_ double) PURE;
-	STDMETHOD_(HRESULT,put_Mono)(THIS_ BOOL) PURE;
-	STDMETHOD_(HRESULT,put_Pan)(THIS_ double) PURE;
-	STDMETHOD_(HRESULT,put_Treble)(THIS_ double) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IAMAudioRendererStats
-DECLARE_INTERFACE_(IAMAudioRendererStats, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,GetStatParam)(THIS_ DWORD,DWORD*,DWORD*) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IAMBufferNegotiation
-DECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,GetAllocatorProperties)(THIS_ ALLOCATOR_PROPERTIES*) PURE;
-	STDMETHOD_(HRESULT,SuggestAllocatorProperties)(THIS_ const ALLOCATOR_PROPERTIES*) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IAMCameraControl
-DECLARE_INTERFACE_(IAMCameraControl, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,Get)(THIS_ long,long*,long*) PURE;
-	STDMETHOD_(HRESULT,GetRange)(THIS_ long,long*,long*,long*,long*,long*) PURE;
-	STDMETHOD_(HRESULT,Set)(THIS_ long,long,long) PURE;
-};
-#undef INTERFACE
-
-#define INTERFACE IAMCertifiedOutputProtection
-DECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(HRESULT,KeyExchange)(THIS_ GUID*,BYTE**,DWORD*) PURE;
-	STDMETHOD_(HRESULT,ProtectionCommand)(THIS_ const AMCOPPCommand*) PURE;
-	STDMETHOD_(HRESULT,ProtectionStatus)(THIS_ const AMCOPPStatusInput*,AMCOPPStatusOutput*) PURE;
-	STDMETHOD_(HRESULT,SessionSequenceStart)(THIS_ const AMCOPPSignature*) PURE;
-};
-#undef INTERFACE
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/subauth.h
===================================================================
--- Daodan/MinGW/include/subauth.h	(revision 1046)
+++ 	(revision )
@@ -1,209 +1,0 @@
-#ifndef _SUBAUTH_H
-#define _SUBAUTH_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef NT_SUCCESS
-#define NT_SUCCESS(x) ((x)>=0)
-#define STATUS_SUCCESS 0
-#endif
-#define CYPHER_BLOCK_LENGTH 8
-#define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2)
-#define CLEAR_BLOCK_LENGTH 8
-#define MSV1_0_PASSTHRU 1
-#define MSV1_0_GUEST_LOGON 2
-#define MSV1_0_VALIDATION_LOGOFF_TIME 1
-#define MSV1_0_VALIDATION_KICKOFF_TIME 2
-#define MSV1_0_VALIDATION_LOGON_SERVER 4
-#define MSV1_0_VALIDATION_LOGON_DOMAIN 8
-#define MSV1_0_VALIDATION_SESSION_KEY 16
-#define MSV1_0_VALIDATION_USER_FLAGS 32
-#define MSV1_0_VALIDATION_USER_ID 64
-#define MSV1_0_SUBAUTH_ACCOUNT_DISABLED 1
-#define MSV1_0_SUBAUTH_PASSWORD 2
-#define MSV1_0_SUBAUTH_WORKSTATIONS 4
-#define MSV1_0_SUBAUTH_LOGON_HOURS 8
-#define MSV1_0_SUBAUTH_ACCOUNT_EXPIRY 16
-#define MSV1_0_SUBAUTH_PASSWORD_EXPIRY 32
-#define MSV1_0_SUBAUTH_ACCOUNT_TYPE 64
-#define MSV1_0_SUBAUTH_LOCKOUT 128
-#define NEXT_FREE_ACCOUNT_CONTROL_BIT 131072
-#define SAM_DAYS_PER_WEEK 7
-#define SAM_HOURS_PER_WEEK 168
-#define SAM_MINUTES_PER_WEEK 10080
-#define STATUS_INVALID_INFO_CLASS 0xC0000003L
-#define STATUS_NO_SUCH_USER 0xC0000064L
-#define STATUS_WRONG_PASSWORD 0xC000006AL
-#define STATUS_PASSWORD_RESTRICTION 0xC000006CL
-#define STATUS_LOGON_FAILURE 0xC000006DL
-#define STATUS_ACCOUNT_RESTRICTION 0xC000006EL
-#define STATUS_INVALID_LOGON_HOURS 0xC000006FL
-#define STATUS_INVALID_WORKSTATION 0xC0000070L
-#define STATUS_PASSWORD_EXPIRED 0xC0000071L
-#define STATUS_ACCOUNT_DISABLED 0xC0000072L
-#define STATUS_INSUFFICIENT_RESOURCES 0xC000009AL
-#define STATUS_ACCOUNT_EXPIRED 0xC0000193L
-#define STATUS_PASSWORD_MUST_CHANGE 0xC0000224L
-#define STATUS_ACCOUNT_LOCKED_OUT 0xC0000234L
-#define USER_ACCOUNT_DISABLED 1
-#define USER_HOME_DIRECTORY_REQUIRED 2
-#define USER_PASSWORD_NOT_REQUIRED 4
-#define USER_TEMP_DUPLICATE_ACCOUNT 8
-#define USER_NORMAL_ACCOUNT 16
-#define USER_MNS_LOGON_ACCOUNT 32
-#define USER_INTERDOMAIN_TRUST_ACCOUNT 64
-#define USER_WORKSTATION_TRUST_ACCOUNT 128
-#define USER_SERVER_TRUST_ACCOUNT 256
-#define USER_DONT_EXPIRE_PASSWORD 512
-#define USER_ACCOUNT_AUTO_LOCKED 1024
-#define USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED 2048
-#define USER_SMARTCARD_REQUIRED 4096
-#define USER_TRUSTED_FOR_DELEGATION 8192
-#define USER_NOT_DELEGATED 16384
-#define USER_USE_DES_KEY_ONLY 32768
-#define USER_DONT_REQUIRE_PREAUTH 65536
-#define USER_MACHINE_ACCOUNT_MASK 448
-#define USER_ACCOUNT_TYPE_MASK 472
-#define USER_ALL_PARAMETERS 2097152
-#if !defined(_NTDEF_H) && !defined(_NTSECAPI_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef struct _STRING {
-  USHORT Length;
-  USHORT MaximumLength;
-  PCHAR Buffer;
-} STRING, *PSTRING;
-#endif
-typedef PVOID SAM_HANDLE, *PSAM_HANDLE;
-typedef struct _OLD_LARGE_INTEGER {
-  ULONG LowPart;
-  LONG HighPart;
-} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
-typedef enum _NETLOGON_LOGON_INFO_CLASS {
-  NetlogonInteractiveInformation = 1,NetlogonNetworkInformation,
-  NetlogonServiceInformation,NetlogonGenericInformation,
-  NetlogonInteractiveTransitiveInformation,NetlogonNetworkTransitiveInformation,
-  NetlogonServiceTransitiveInformation
-} NETLOGON_LOGON_INFO_CLASS;
-typedef struct _CYPHER_BLOCK {
-  CHAR data[CYPHER_BLOCK_LENGTH];
-} CYPHER_BLOCK, *PCYPHER_BLOCK;
-typedef struct _CLEAR_BLOCK {
-  CHAR data[CLEAR_BLOCK_LENGTH];
-} CLEAR_BLOCK, *PCLEAR_BLOCK;
-typedef struct _LM_OWF_PASSWORD {
-  CYPHER_BLOCK data[2];
-} LM_OWF_PASSWORD, *PLM_OWF_PASSWORD;
-typedef struct _USER_SESSION_KEY {
-  CYPHER_BLOCK data[2];
-} USER_SESSION_KEY, *PUSER_SESSION_KEY;
-typedef CLEAR_BLOCK LM_CHALLENGE, *PLM_CHALLENGE;
-typedef LM_OWF_PASSWORD NT_OWF_PASSWORD, *PNT_OWF_PASSWORD;
-typedef LM_CHALLENGE NT_CHALLENGE, *PNT_CHALLENGE;
-typedef struct _LOGON_HOURS {
-  USHORT UnitsPerWeek;
-  PUCHAR LogonHours;
-} LOGON_HOURS, *PLOGON_HOURS;
-typedef struct _SR_SECURITY_DESCRIPTOR {
-  ULONG Length;
-  PUCHAR SecurityDescriptor;
-} SR_SECURITY_DESCRIPTOR, *PSR_SECURITY_DESCRIPTOR;
-#pragma pack(push,4)
-typedef struct _USER_ALL_INFORMATION {
-  LARGE_INTEGER LastLogon;
-  LARGE_INTEGER LastLogoff;
-  LARGE_INTEGER PasswordLastSet;
-  LARGE_INTEGER AccountExpires;
-  LARGE_INTEGER PasswordCanChange;
-  LARGE_INTEGER PasswordMustChange;
-  UNICODE_STRING UserName;
-  UNICODE_STRING FullName;
-  UNICODE_STRING HomeDirectory;
-  UNICODE_STRING HomeDirectoryDrive;
-  UNICODE_STRING ScriptPath;
-  UNICODE_STRING ProfilePath;
-  UNICODE_STRING AdminComment;
-  UNICODE_STRING WorkStations;
-  UNICODE_STRING UserComment;
-  UNICODE_STRING Parameters;
-  UNICODE_STRING LmPassword;
-  UNICODE_STRING NtPassword;
-  UNICODE_STRING PrivateData;
-  SR_SECURITY_DESCRIPTOR SecurityDescriptor;
-  ULONG UserId;
-  ULONG PrimaryGroupId;
-  ULONG UserAccountControl;
-  ULONG WhichFields;
-  LOGON_HOURS LogonHours;
-  USHORT BadPasswordCount;
-  USHORT LogonCount;
-  USHORT CountryCode;
-  USHORT CodePage;
-  BOOLEAN LmPasswordPresent;
-  BOOLEAN NtPasswordPresent;
-  BOOLEAN PasswordExpired;
-  BOOLEAN PrivateDataSensitive;
-} USER_ALL_INFORMATION, *PUSER_ALL_INFORMATION;
-#pragma pack(pop)
-typedef struct _MSV1_0_VALIDATION_INFO {
-  LARGE_INTEGER LogoffTime;
-  LARGE_INTEGER KickoffTime;
-  UNICODE_STRING LogonServer;
-  UNICODE_STRING LogonDomainName;
-  USER_SESSION_KEY SessionKey;
-  BOOLEAN Authoritative;
-  ULONG UserFlags;
-  ULONG WhichFields;
-  ULONG UserId;
-} MSV1_0_VALIDATION_INFO, *PMSV1_0_VALIDATION_INFO;
-typedef struct _NETLOGON_LOGON_IDENTITY_INFO {
-  UNICODE_STRING LogonDomainName;
-  ULONG ParameterControl;
-  OLD_LARGE_INTEGER LogonId;
-  UNICODE_STRING UserName;
-  UNICODE_STRING Workstation;
-} NETLOGON_LOGON_IDENTITY_INFO, *PNETLOGON_LOGON_IDENTITY_INFO;
-typedef struct _NETLOGON_INTERACTIVE_INFO {
-  NETLOGON_LOGON_IDENTITY_INFO Identity;
-  LM_OWF_PASSWORD LmOwfPassword;
-  NT_OWF_PASSWORD NtOwfPassword;
-} NETLOGON_INTERACTIVE_INFO, *PNETLOGON_INTERACTIVE_INFO;
-typedef struct _NETLOGON_GENERIC_INFO {
-  NETLOGON_LOGON_IDENTITY_INFO Identity;
-  UNICODE_STRING PackageName;
-  ULONG DataLength;
-  PUCHAR LogonData;
-} NETLOGON_GENERIC_INFO, *PNETLOGON_GENERIC_INFO;
-typedef struct _NETLOGON_NETWORK_INFO {
-  NETLOGON_LOGON_IDENTITY_INFO Identity;
-  LM_CHALLENGE LmChallenge;
-  STRING NtChallengeResponse;
-  STRING LmChallengeResponse;
-} NETLOGON_NETWORK_INFO, *PNETLOGON_NETWORK_INFO;
-typedef struct _NETLOGON_SERVICE_INFO {
-  NETLOGON_LOGON_IDENTITY_INFO Identity;
-  LM_OWF_PASSWORD LmOwfPassword;
-  NT_OWF_PASSWORD NtOwfPassword;
-} NETLOGON_SERVICE_INFO, *PNETLOGON_SERVICE_INFO;
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS,PVOID,
-                              ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
-                              PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
-NTSTATUS NTAPI Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS,PVOID,
-                              ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
-                              PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineGeneric(PVOID,ULONG,PULONG,PVOID*);
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID,
-                              ULONG,PUSER_ALL_INFORMATION,SAM_HANDLE,
-                              PMSV1_0_VALIDATION_INFO,PULONG);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _SUBAUTH_H */
Index: Daodan/MinGW/include/svcguid.h
===================================================================
--- Daodan/MinGW/include/svcguid.h	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-#ifndef _SVCGUID_H
-#define _SVCGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SVCID_NETWARE(_SapId) \
-	{ (0x000B << 16) | (_SapId), 0, 0, { 0xC0,0,0,0,0,0,0,0x46 } }
-
-#define SAPID_FROM_SVCID_NETWARE(_g) \
-	((WORD)(_g->Data1 & 0xFFFF))
-
-#define SET_NETWARE_SVCID(_g,_SapId) { \
-	(_g)->Data1 = (0x000B << 16 ) | (_SapId); \
-	(_g)->Data2 = 0; \
-	(_g)->Data3 = 0; \
-	(_g)->Data4[0] = 0xC0; \
-	(_g)->Data4[1] = 0x0; \
-	(_g)->Data4[2] = 0x0; \
-	(_g)->Data4[3] = 0x0; \
-	(_g)->Data4[4] = 0x0; \
-	(_g)->Data4[5] = 0x0; \
-	(_g)->Data4[6] = 0x0; \
-	(_g)->Data4[7] = 0x46; }
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/sys/fcntl.h
===================================================================
--- Daodan/MinGW/include/sys/fcntl.h	(revision 1046)
+++ 	(revision )
@@ -1,7 +1,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * This fcntl.h maps to the root fcntl.h
- */
-
-#include <fcntl.h>
Index: Daodan/MinGW/include/sys/file.h
===================================================================
--- Daodan/MinGW/include/sys/file.h	(revision 1046)
+++ 	(revision )
@@ -1,7 +1,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * This file.h maps to the root fcntl.h
- * TODO?
- */
-#include <fcntl.h>
Index: Daodan/MinGW/include/sys/locking.h
===================================================================
--- Daodan/MinGW/include/sys/locking.h	(revision 1046)
+++ 	(revision )
@@ -1,31 +1,0 @@
-/*
- * locking.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants for the mode parameter of the locking function.
- *
- */
-
-#ifndef	_LOCKING_H_
-#define	_LOCKING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define	_LK_UNLCK	0	/* Unlock */
-#define	_LK_LOCK	1	/* Lock */
-#define	_LK_NBLCK	2	/* Non-blocking lock */
-#define	_LK_RLCK	3	/* Lock for read only */
-#define	_LK_NBRLCK	4	/* Non-blocking lock for read only */
-
-#ifndef	NO_OLDNAMES
-#define	LK_UNLCK	_LK_UNLCK
-#define	LK_LOCK		_LK_LOCK
-#define	LK_NBLCK	_LK_NBLCK
-#define	LK_RLCK		_LK_RLCK
-#define	LK_NBRLCK	_LK_NBRLCK
-#endif	/* Not NO_OLDNAMES */
-
-#endif	/* Not _LOCKING_H_ */
Index: Daodan/MinGW/include/sys/param.h
===================================================================
--- Daodan/MinGW/include/sys/param.h	(revision 1046)
+++ 	(revision )
@@ -1,26 +1,0 @@
-/*
- * param.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- */
-
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <sys/types.h>
-#include <limits.h>
-
-/* These are useful for cross-compiling */
-#define BIG_ENDIAN	4321
-#define LITTLE_ENDIAN	1234
-#define BYTE_ORDER	LITTLE_ENDIAN
-
-#ifdef PATH_MAX
-#define MAXPATHLEN PATH_MAX
-#else
-#define MAXPATHLEN 260
-#endif
-
-#endif
Index: Daodan/MinGW/include/sys/stat.h
===================================================================
--- Daodan/MinGW/include/sys/stat.h	(revision 1046)
+++ 	(revision )
@@ -1,401 +1,0 @@
-/*
- * stat.h
- *
- * Symbolic constants for opening and creating files, also stat, fstat and
- * chmod functions.
- *
- * $Id: stat.h,v 4cf5070e9a04 2016/07/14 17:59:07 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2001, 2003-2005, 2007, 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, 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.
- *
- */
-#ifndef _SYS_STAT_H
-#pragma GCC system_header
-
-/* To support selective (partial) inclusion by <wchar.h>...
- */
-#ifndef __WCHAR_H_SOURCED__
-/* ...we defer the definition of the normal multiple inclusion guard macro,
- * until we know that this is NOT the <wchar.h> selective inclusion case.
- */
-#define _SYS_STAT_H
-
-/* All MinGW headers are required to include <_mingw.h>; however, Microsoft
- * also stipulate that USERS MUST include <sys/types.h>, BEFORE they include
- * <sys/stat.h>.  This is not only appallingly bad software engineering, on
- * Microsoft's part, but it is a potential obstacle to portability of POSIX
- * source code; (POSIX requires that <sys/stat.h> should be self-contained,
- * with no requirement for any specific header inclusion order).  Although
- * it is more inclusive that POSIX requires, we may mitigate the deficiency
- * inherent in Microsoft's poor software engineering, by simply including
- * <sys/types.h> here; in so doing, we may also delegate the inclusion of
- * <_mingw.h>, and the definition of all data types required herein, to...
- */
-#include <sys/types.h>
-
-/* Constants for the st_mode member of struct stat, and its Microsoft
- * specific variants.
- */
-#define _S_IFIFO 	0x1000	/* FIFO */
-#define _S_IFCHR 	0x2000	/* Character */
-#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
-#define _S_IWRITE	0x0080
-#define _S_IREAD 	0x0100
-
-#define _S_IRWXU 	(_S_IREAD | _S_IWRITE | _S_IEXEC)
-#define _S_IXUSR 	_S_IEXEC
-#define _S_IWUSR 	_S_IWRITE
-#define _S_IRUSR 	_S_IREAD
-
-#define _S_ISDIR(m)	(((m) & _S_IFMT) == _S_IFDIR)
-#define _S_ISFIFO(m)	(((m) & _S_IFMT) == _S_IFIFO)
-#define _S_ISCHR(m)	(((m) & _S_IFMT) == _S_IFCHR)
-#define _S_ISBLK(m)	(((m) & _S_IFMT) == _S_IFBLK)
-#define _S_ISREG(m)	(((m) & _S_IFMT) == _S_IFREG)
-
-#ifndef _NO_OLDNAMES
-
-#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
-#define S_IEXEC 	_S_IEXEC
-#define S_IWRITE	_S_IWRITE
-#define S_IREAD 	_S_IREAD
-#define S_IRWXU 	_S_IRWXU
-#define S_IXUSR 	_S_IXUSR
-#define S_IWUSR 	_S_IWUSR
-#define S_IRUSR 	_S_IRUSR
-
-#define S_ISDIR(m)	(((m) & S_IFMT) == S_IFDIR)
-#define S_ISFIFO(m)	(((m) & S_IFMT) == S_IFIFO)
-#define S_ISCHR(m)	(((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m)	(((m) & S_IFMT) == S_IFBLK)
-#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 denied...
- */
-# pragma GCC poison _S_ISBLK
-
-# if defined _NO_UNSUPPORTED || defined _NO_OLDNAMES
-  /* ...including that for the standard POSIX macro, when unsupported
-   * features, or Microsoft's old names, are explicitly forbidden...
-   */
-#  pragma GCC poison S_ISBLK
-
-# else /* !(_NO_UNSUPPORTED || _NO_OLDNAMES) */
-  /* ...otherwise assume that the kludge is automatically enabled with
-   * respect to S_ISBLK, (because GCC gratuitously misuses it).
-   */
-#  define S_IFBLK 	0x3001	/* Block: unsupported on Win32 */
-
-# endif /* !(_NO_UNSUPPORTED || _NO_OLDNAMES) */
-#endif	/* !_S_IFBLK */
-#endif	/* !__WCHAR_H_SOURCED__ */
-
-#ifndef RC_INVOKED
-#ifndef __struct_stat_defined
-/* The structure manipulated and returned by stat() and fstat(); note that
- * expansion of the macro provided below will yield variants of struct stat
- * to conform with Microsoft's usage, (and POSIX usage up to and including
- * POSIX.1-2001, but NOT the extended specification of POSIX.1-2008).
- *
- * NOTE: If called on a directory the values in the time fields are not only
- * invalid, they will cause localtime et. al. to return NULL. And calling
- * asctime with a NULL pointer causes an Invalid Page Fault. So watch it!
- */
-#define __struct_stat_defined(__st_off_t, __st_time_t)			     \
-{ _dev_t	st_dev; 	/* Equivalent to drive number 0=A 1=B ... */ \
-  _ino_t	st_ino; 	/* Always zero ? */			     \
-  _mode_t	st_mode;	/* See above constants */		     \
-   short 	st_nlink;	/* Number of links. */			     \
-   short 	st_uid; 	/* User: Maybe significant on NT ? */	     \
-   short 	st_gid; 	/* Group: Ditto */			     \
-  _dev_t	st_rdev;	/* Seems useless (not even filled in) */     \
-  __st_off_t	st_size;	/* File size in bytes */		     \
-  __st_time_t	st_atime;	/* Access time (always 00:00 on FAT) */	     \
-  __st_time_t	st_mtime;	/* Modified time */			     \
-  __st_time_t	st_ctime;	/* Creation time */			     \
-}
-
-/* Here, we expand the preceding macro to yield the actual definition
- * of struct stat, under its current Microsoft "uglified" name...
- */
-struct _stat __struct_stat_defined( _off_t, time_t );
-
-#ifndef _NO_OLDNAMES
-/* ...while this alternative expansion yields its standard POSIX name,
- * (and its original Microsoft name); apart from its name, this must be
- * defined identically to struct _stat above.
- */
-struct stat __struct_stat_defined( _off_t, time_t );
-#endif	/* !_NO_OLDNAMES */
-
-#if defined __MSVCRT__
-/* This variant of struct stat is required to support the use of the
- * _stati64() function, which is provided by MSVCRT.DLL, but was not
- * present in CRTDLL.DLL...
- */
-struct _stati64 __struct_stat_defined( __off64_t, time_t );
-
-#if __MSVCRT_VERSION__ >= __MSVCR61_DLL || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-/* ...while this supports the use of the _stat64() function, introduced
- * by MSVCR61.DLL, and subsequently added to MSVCRT.DLL for releases from
- * Win2K onwards...
- */
-struct __stat64 __struct_stat_defined( __off64_t, __time64_t );
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* ...and these are specific to additional function variants, added to
- * the non-free MSVCR80.DLL, and its later derivatives, but not present
- * in MSVCRT.DLL (or CRTDLL.DLL).
- */
-struct __stat32 __struct_stat_defined( __off32_t, __time32_t );
-struct _stat32i64 __struct_stat_defined( __off64_t, __time32_t );
-struct _stat64i32 __struct_stat_defined( __off32_t, __time64_t );
-
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR61_DLL */
-#endif	/* __MSVCRT__ */
-
-/* From here on, it is sufficient to leave __struct_stat_defined as
- * a macro which expands to nothing.
- */
-#undef  __struct_stat_defined
-#define __struct_stat_defined
-
-#endif /* !__struct_stat_defined */
-
-_BEGIN_C_DECLS
-
-#ifdef _SYS_STAT_H
-/* This set of function prototypes are to be declared only when
- * <sys/stat.h> is included directly.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _umask (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _chmod (const char *, int);
-
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* This pair of functions are present in all versions of MSVCRT.DLL, but
- * they are NOT present in MSVCR80.DLL, nor in any of its later non-free
- * variants, all of which rely on inline aliases (defined below).
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstat (int, struct _stat *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stat (const char *, struct _stat *);
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-
-#ifndef	_NO_OLDNAMES
-/* These are the standard POSIX names, (and the original Microsoft names),
- * for the preceding four functions.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int umask (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  int chmod (const char *, int);
-
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* Since the underlying functions, with "uglified" names, are not supported
- * by MSVCR80.DLL and its later derivitaves, there is also nothing to which
- * to map these originally named alternatives; declare prototypes only when
- * using DLL versions which can support them, while falling back to the use
- * of inline replacements (defined below) in the unsupported cases.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int fstat (int, struct stat *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int stat (const char *, struct stat *);
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-#endif	/* !_NO_OLDNAMES */
-
-#if defined __MSVCRT__
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* This pair of functions were withdrawn from MSVCR80.DLL, and its later
- * derivatives, but remain in all versions of MSVCRT.DLL
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstati64 (int, struct _stati64 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stati64 (const char *, struct _stati64 *);
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-
-#if __MSVCRT_VERSION__ >= __MSVCR61_DLL || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-/* This pair of functions were introduced in MSVCR61.DLL, and were subsequently
- * added to MSVCRT.DLL from the release accompanying Win2K onwards...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstat64 (int, struct __stat64 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stat64 (const char *, struct __stat64 *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* ...whereas this group were introduced in MSVCR80.DLL, and its later
- * derivatives, but are not present in MSVCRT.DLL
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstat32 (int, struct __stat32 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stat32 (const char *, struct __stat32 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstat32i64 (int, struct _stat32i64 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _fstat64i32 (int, struct _stat64i32 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stat32i64 (const char *, struct _stat32i64 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _stat64i32 (const char *, struct _stat64i32 *);
-
-#ifdef _USE_32BIT_TIME_T
-/* We must provide inline replacements for the four MSVCRT.DLL functions
- * which have been withdrawn from MSVCR80.DLL, and its later derivatives;
- * this first set of replacements are compatible with their MSVCRT.DLL
- * equivalents, but require the user to define _USE_32BIT_TIME_T...
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _fstat (int __v1, struct _stat *__v2)
-  { return _fstat32 (__v1, (struct __stat32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _stat (const char *__v1, struct _stat *__v2)
-  { return _stat32  (__v1, (struct __stat32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _fstati64 (int __v1, struct _stati64 *__v2)
-  { return _fstat32i64 (__v1, (struct _stat32i64 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _stati64 (const char *__v1, struct _stati64 *__v2)
-  { return _stat32i64  (__v1, (struct _stat32i64 *)(__v2)); }
-
-#else	/* !_USE_32BIT_TIME_T */
-/* ...whereas, the following alternatives emulate the brain-damaged
- * behaviour of Microsoft's own implementations, which take effect when
- * the user does not define _USE_32BIT_TIME_T; they break compatibility
- * with MSVCRT.DLL
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _fstat (int __v1, struct _stat *__v2)
-  { return _fstat64i32 (__v1, (struct _stat64i32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _stat (const char *__v1, struct _stat *__v2)
-  { return _stat64i32  (__v1, (struct _stat64i32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _fstati64 (int __v1, struct _stati64 *__v2)
-  { return _fstat64 (__v1, (struct __stat64 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _stati64 (const char *__v1, struct _stati64 *__v2)
-  { return _stat64  (__v1,(struct __stat64*)(__v2)); }
-#endif	/* !_USE_32BIT_TIME_T */
-
-#ifndef _NO_OLDNAMES
-/* Irrespective of the state of _USE_32BIT_TIME_T, we may provide inline
- * replacements for the stat() and fstat() functions, (which are missing
- * from MSVCR80.DLL and its later derivatives), simply by aliasing them
- * to their corresponding replacements with "uglified" names.
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int fstat (int __v1, struct _stat *__v2)
-  { return _fstat (__v1, __v2); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int stat (const char *__v1, struct _stat *__v2)
-  { return _stat (__v1, __v2); }
-
-#endif	/* !_NO_OLDNAMES */
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR61_DLL */
-#endif	/* __MSVCRT__ */
-#endif	/* _SYS_STAT_H */
-
-#if defined __MSVCRT__ && !(defined _SYS_STAT_H && defined _WCHAR_H)
-/* This final group of function prototypes, specific to MSVCRT.DLL and its
- * non-free derivatives, are to be declared both when <sys/stat.h> is included
- * directly, and when it is selectively included by <wchar.h>; however, if both
- * _SYS_STAT_H and _WCHAR_H are defined, by the time we get to here, then this
- * must be the direct inclusion case, after having already declared these via
- * selective inclusion by <wchar.h>, and we should not declare these again;
- * (in particular, we should not repeat inline function implementations).
- */
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* As is the case for their regular counterparts, this pair of functions
- * remain available in MSVCRT.DLL itself, but they are not exported from its
- * non-free derivatives from MSVCR80.DLL onwards, whence it is expected that
- * they will be replaced by inline implementations.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstat(const wchar_t *, struct _stat *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstati64 (const wchar_t *, struct _stati64 *);
-#endif	/* __MSVCRT_VERSION__ < __MSVCR80_DLL */
-
-#if __MSVCRT_VERSION__ >= __MSVCR61_DLL || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-/* Similarly, this variant was introduced in MSVCR80.DLL, and was subsequently
- * added to MSVCRT.DLL with the release of Win2K...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstat64 (const wchar_t *, struct __stat64 *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
-/* ...whereas these variants are exclusive to the non-free MSVCR80.DLL, and
- * its later derivatives; they are not available in MSVCRT.DLL.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstat32 (const wchar_t *, struct __stat32 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstat32i64 (const wchar_t *, struct _stat32i64 *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wstat64i32 (const wchar_t *, struct _stat64i32 *);
-
-#ifdef _USE_32BIT_TIME_T
-/* Once again, we must furnish inline replacements for the functions which
- * were withdrawn from MSVCR80.DLL and its later derivatives; these are the
- * implementations which remain compatible with MSVCRT.DLL, but require the
- * user to define _USE_32BIT_TIME_T...
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _wstat (const wchar_t *__v1, struct _stat *__v2)
-  { return _wstat32 (__v1, (struct __stat32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _wstati64 (const wchar_t *__v1, struct _stati64 *__v2)
-  { return _wstat32i64 (__v1, (struct _stat32i64 *)(__v2)); }
-
-#else	/* !_USE_32BIT_TIME_T */
-/* ...whereas these emulate the brain-damaged Microsoft behaviour, for the
- * case when the user does not define _USE_32BIT_TIME_T, breaking MSVCRT.DLL
- * compatibility.
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _wstat (const wchar_t *__v1, struct _stat *__v2)
-  { return _wstat64i32 (__v1, (struct _stat64i32 *)(__v2)); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  int _wstati64 (const wchar_t *__v1, struct _stati64 *__v2)
-  { return _wstat64 (__v1, (struct __stat64 *)(__v2)); }
-
-#endif	/* !_USE_32BIT_TIME_T */
-#endif	/* __MSVCRT_VERSION__ >= 0x0800 */
-#endif	/* __MSVCRT_VERSION__ >= 0x0601 */
-#endif	/* __MSVCRT__ && !(_SYS_STAT_H && _WCHAR_H) */
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_SYS_STAT__H: $RCSfile: stat.h,v $: end of file */
Index: Daodan/MinGW/include/sys/time.h
===================================================================
--- Daodan/MinGW/include/sys/time.h	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-#ifndef _SYS_TIME_H_
-#define _SYS_TIME_H_
-#include <time.h>
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-#ifndef _TIMEVAL_DEFINED /* also in winsock[2].h */
-#define _TIMEVAL_DEFINED
-struct timeval {
-  long tv_sec;
-  long tv_usec;
-};
-#define timerisset(tvp)	 ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
-	(((tvp)->tv_sec != (uvp)->tv_sec) ? \
-	((tvp)->tv_sec cmp (uvp)->tv_sec) : \
-	((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp)	 (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
-
-/* Provided for compatibility with code that assumes that
-   the presence of gettimeofday function implies a definition
-   of struct timezone. */
-struct timezone
-{
-  int tz_minuteswest; /* of Greenwich */
-  int tz_dsttime;     /* type of dst correction to apply */
-};
-
-/*
-   Implementation as per:
-   The Open Group Base Specifications, Issue 6
-   IEEE Std 1003.1, 2004 Edition
-
-   The timezone pointer arg is ignored.  Errors are ignored.
-*/
-int __cdecl __MINGW_NOTHROW gettimeofday(struct timeval *__restrict__,
-			 void *__restrict__  /*	tzp (unused) */);
-
-#ifdef	__cplusplus
-}
-#endif
-
-
-#endif /* _SYS_TIME_H_ */
Index: Daodan/MinGW/include/sys/timeb.h
===================================================================
--- Daodan/MinGW/include/sys/timeb.h	(revision 1046)
+++ 	(revision )
@@ -1,97 +1,0 @@
-/*
- * timeb.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for the UNIX System V ftime system call.
- *
- */
-
-#ifndef	_TIMEB_H_
-#define	_TIMEB_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-#include <sys/types.h>
-
-#ifndef	RC_INVOKED
-
-/*
- * TODO: Structure not tested.
- */
-struct _timeb
-{
-	time_t	time;
-	short	millitm;
-	short	timezone;
-	short	dstflag;
-};
-
-#if __MSVCRT_VERSION__ >= 0x0800
-/*
- * TODO: Structure not tested.
- */
-struct __timeb32
-{
-	__time32_t	time;
-	short	millitm;
-	short	timezone;
-	short	dstflag;
-};
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-
-#ifndef	_NO_OLDNAMES
-/*
- * TODO: Structure not tested.
- */
-struct timeb
-{
-	time_t	time;
-	short	millitm;
-	short	timezone;
-	short	dstflag;
-};
-#endif
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-/* TODO: Not tested. */
-_CRTIMP void __cdecl __MINGW_NOTHROW	_ftime (struct _timeb*);
-
-#ifndef	_NO_OLDNAMES
-/* FIXME for __MSVCRT_VERSION__ >= 0x0800 */
-_CRTIMP void __cdecl __MINGW_NOTHROW	ftime (struct timeb*);
-#endif	/* Not _NO_OLDNAMES */
-
-/* This requires newer versions of msvcrt.dll (6.10 or higher).  */
-#if __MSVCRT_VERSION__ >= 0x0601
-struct __timeb64
-{
-  __time64_t time;
-  short millitm;
-  short timezone;
-  short dstflag;
-};
-
-_CRTIMP void __cdecl __MINGW_NOTHROW	_ftime64 (struct __timeb64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-#if __MSVCRT_VERSION__ >= 0x0800
-_CRTIMP void __cdecl __MINGW_NOTHROW	_ftime32 (struct __timeb32*);
-#ifndef _USE_32BIT_TIME_T
-_CRTALIAS void __cdecl __MINGW_NOTHROW	_ftime (struct _timeb* _v) { return(_ftime64 ((struct __timeb64*)_v)); }
-#else
-_CRTALIAS void __cdecl __MINGW_NOTHROW	_ftime (struct _timeb* _v) { return(_ftime32 ((struct __timeb32*)_v)); }
-#endif
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _TIMEB_H_ */
Index: Daodan/MinGW/include/sys/types.h
===================================================================
--- Daodan/MinGW/include/sys/types.h	(revision 1046)
+++ 	(revision )
@@ -1,222 +1,0 @@
-/*
- * sys/types.h
- *
- * Definitions of (primarily POSIX) system data types.
- *
- * $Id: types.h,v c96797f9657b 2016/04/12 14:36:20 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-1999, 2001, 2003, 2004, 2008, 2011, 2014-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, 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.
- *
- */
-#ifndef _SYS_TYPES_H
-#pragma GCC system_header
-
-/* All the headers include this file.
- */
-#include <_mingw.h>
-
-/* Duplicates of some type definitions from here are also to be
- * provided by other system headers; use __need_TYPENAME selector
- * macros to make them selectively visible...
- */
-#if ! defined __need_off_t && ! defined __need___off64_t \
- && ! defined __need_ssize_t && ! defined __need_time_t
- /*
-  * ...and define the multiple inclusion guard macro for this
-  * header, ONLY IF no such selector macro is defined.
-  */
-#define _SYS_TYPES_H
-#endif
-
-#ifndef RC_INVOKED
-/* First handle those typedefs which POSIX requires us to be able
- * to expose selectively, via other system headers.
- */
-#if ! defined __have_typedef_off_t \
- && ( defined _SYS_TYPES_H || defined __need_off_t )
- /* We base this on an implementation specific private typedef,
-  * analogous to our __off64_t (defined below)...
-  */
-  typedef __int32  __off32_t;
-
- /* The POSIX off_t typedef is uglified, by Microsoft, as _off_t;
-  * ensure that we provide support for the Microsoft form...
-  */
-  typedef __off32_t  _off_t;
-
-# if _POSIX_C_SOURCE
-  /* ...but note that this form should ALWAYS be preferred when
-   * compiling POSIX compatible source code.
-   */
-  typedef _off_t  off_t;
-# endif
-# if __GNUC__ < 4
-  /* Some compilers, including GCC prior to v4, may get upset
-   * if we try to specifiy these typedefs more than once.
-   */
-#  define __have_typedef_off_t
-# endif
-#endif
-#undef __need_off_t
-
-#if ! defined __have_typedef___off64_t \
- && ( defined _SYS_TYPES_H || defined __need___off64_t )
- /* This is neither an ISO-C standard type, nor even a POSIX
-  * standard type; keep it runtime implementation specific.
-  */
-  typedef __int64  __off64_t;
-
-# ifndef __STRICT_ANSI__
-  /* GCC itself, (specifically libgfortran.a), gratuitously
-   * assumes that non-standard type off64_t is defined; make
-   * it so, pending upstream correction.
-   */
-  typedef __off64_t  off64_t;
-# endif
-
-# if __GNUC__ < 4
-  /* Some compilers, including GCC prior to v4, may get upset
-   * if we try to specifiy these typedefs more than once.
-   */
-#  define __have_typedef___off64_t
-# endif
-#endif
-#undef __need___off64_t
-
-#if ! defined __have_typedef_ssize_t \
- && ( defined _SYS_TYPES_H || defined __need_ssize_t )
- /* POSIX ssize_t typedef, uglified by Microsoft as _ssize_t; ensure
-  * that we support the Microsoft form...
-  */
-  typedef int  _ssize_t;
-
-# if _POSIX_C_SOURCE
-  /* ...but note that this form should ALWAYS be preferred when
-   * compiling POSIX compatible source code.
-   */
-  typedef _ssize_t  ssize_t;
-# endif
-# if __GNUC__ < 4
-  /* Some compilers, including GCC prior to v4, may get upset
-   * if we try to specifiy these typedefs more than once.
-   */
-#  define __have_typedef_ssize_t
-# endif
-#endif
-#undef __need_ssize_t
-
-#if ! defined __have_typedef_time_t \
- && ( defined _SYS_TYPES_H || defined __need_time_t )
- /* Current versions of MSVC define time_t ambiguously, in terms of
-  * one of the following unambiguous internal types:
-  */
-  typedef __int32 __time32_t;	/* unambiguous 32-bit time_t */
-  typedef __int64 __time64_t;	/* unambiguous 64-bit time_t */
-
-# if __MSVCRT_VERSION__ < __MSVCR80_DLL || defined _USE_32BIT_TIME_T
-  /* From MSVCR80.DLL onwards, Microsoft have royally messed up the
-   * definition of time_t; maintain POSIX consistency, (as MSVCRT.DLL
-   * itself does), unless the user is explicitly using one of these
-   * brain damaged DLL variants, and has not elected to retain the
-   * 32-bit time_t representation.
-   */
-   typedef __time32_t time_t;
-
-# else
-  /* Microsoft's brain damaged default, from MSVCR80.DLL onwards.
-   */
-   typedef __time64_t time_t;
-# endif
-# if __GCC__ < 4
-  /* Assume any compiler which is not GCC-4.x or newer may require
-   * guarding against repeated time_t typedefs.
-   */
-#  define __have_typedef_time_t  1
-# endif
-#endif
-#undef __need_time_t
-
-#ifdef _SYS_TYPES_H
-/* This is normal <sys/types.h> inclusion, i.e. for its own sake.
- *
- * A small subset of the required type definitions are actually
- * furnished by <stddef.h>; get them by selective inclusion...
- */
-#define __need_size_t
-#define __need_ptrdiff_t
-#define __need_wchar_t
-#include <stddef.h>
-
-/* Today, Microsoft generally prefers to prefix POSIX type names
- * with an ugly initial underscore; ensure that we provide support
- * for this ungainly practice.
- */
-#ifdef __MSVCRT__
- /* Additionally, note that _dev_t is a special case, requiring
-  * this definition when linking with MSVCRT.DLL...
-  */
-typedef unsigned int	_dev_t;
-
-#else
- /* ...but this alternative, when linking with CRTDLL.DLL
-  */
-typedef short		_dev_t;
-
-#endif
- /* ...while the remaining type names have consistent definitions,
-  * regardless of any particular DLL association.
-  */
-typedef short		_ino_t;
-typedef unsigned short	_mode_t;
-typedef int		_pid_t;
-typedef int		_sigset_t;
-
-/* Users who value portability should prefer...
- */
-#if _POSIX_C_SOURCE || ! defined _NO_OLDNAMES
- /* ...the standard POSIX type names, (which are consistent with
-  * earlier Microsoft naming practice, and are also historically
-  * exposed by MinGW, except when _NO_OLDNAMES is defined).
-  */
-typedef _dev_t		 dev_t;
-typedef _ino_t		 ino_t;
-typedef _mode_t 	 mode_t;
-typedef _pid_t		 pid_t;
-typedef _sigset_t	 sigset_t;
-#endif
-
-typedef __int64 	 fpos64_t;
-
-#if _POSIX_C_SOURCE
-/* useconds_t is an obsolete POSIX data type; we continue to define
- * it here, for backward compatibility, but we flag it as deprecated,
- * due to its obsolete status.
- */
-typedef unsigned long useconds_t __MINGW_ATTRIB_DEPRECATED;
-#endif
-#endif  /* _SYS_TYPES_H normal inclusion */
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_SYS_TYPES_H: $RCSfile: types.h,v $: end of file */
Index: Daodan/MinGW/include/sys/unistd.h
===================================================================
--- Daodan/MinGW/include/sys/unistd.h	(revision 1046)
+++ 	(revision )
@@ -1,6 +1,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * unistd.h maps (roughly) to io.h
- */
-#include <io.h>
Index: Daodan/MinGW/include/sys/utime.h
===================================================================
--- Daodan/MinGW/include/sys/utime.h	(revision 1046)
+++ 	(revision )
@@ -1,110 +1,0 @@
-/*
- * utime.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for the utime function.
- *
- */
-#ifndef	_UTIME_H_
-#define	_UTIME_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif	/* Not RC_INVOKED */
-#include <sys/types.h>
-
-#ifndef	RC_INVOKED
-
-/*
- * Structure used by _utime function.
- */
-struct _utimbuf
-{
-	time_t	actime;		/* Access time */
-	time_t	modtime;	/* Modification time */
-};
-#if __MSVCRT_VERSION__ >= 0x0800
-struct __utimbuf32
-{
-	__time32_t actime;
-	__time32_t modtime;
-};
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-
-
-#ifndef	_NO_OLDNAMES
-/* NOTE: Must be the same as _utimbuf above. */
-struct utimbuf
-{
-	time_t	actime;
-	time_t	modtime;
-};
-#endif	/* Not _NO_OLDNAMES */
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-#if __MSVCRT_VERSION__ < 0x0800
-_CRTIMP int __cdecl __MINGW_NOTHROW	_utime (const char*, struct _utimbuf*);
-#endif
-
-#ifndef	_NO_OLDNAMES
-/* FIXME for __MSVCRT_VERSION__ >= 0x0800 */
-_CRTIMP int __cdecl __MINGW_NOTHROW	utime (const char*, struct utimbuf*);
-#endif	/* Not _NO_OLDNAMES */
-
-#if __MSVCRT_VERSION__ < 0x0800
-_CRTIMP int __cdecl __MINGW_NOTHROW	_futime (int, struct _utimbuf*);
-#endif
-
-/* The wide character version, only available for MSVCRT versions of the
- * C runtime library. */
-#ifdef __MSVCRT__
-#if __MSVCRT_VERSION__ < 0x0800
-_CRTIMP int __cdecl __MINGW_NOTHROW	_wutime (const wchar_t*, struct _utimbuf*);
-#endif
-#endif /* MSVCRT runtime */
-
-/* These require newer versions of msvcrt.dll (6.10 or higher).  */
-#if __MSVCRT_VERSION__ >= 0x0601
-struct __utimbuf64
-{
-	__time64_t actime;
-	__time64_t modtime;
-};
-
-_CRTIMP int __cdecl __MINGW_NOTHROW	_utime64 (const char*, struct __utimbuf64*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_wutime64 (const wchar_t*, struct __utimbuf64*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_futime64 (int, struct __utimbuf64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-#if __MSVCRT_VERSION__ >= 0x0800
-_CRTIMP int __cdecl __MINGW_NOTHROW	_utime32 (const char*, struct __utimbuf32*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_wutime32 (const wchar_t*, struct __utimbuf32*);
-_CRTIMP int __cdecl __MINGW_NOTHROW	_futime32 (int, struct __utimbuf32*);
-#ifndef _USE_32BIT_TIME_T
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_utime (const char* _v1, struct _utimbuf* _v2)	   { return(_utime64  (_v1,(struct __utimbuf64*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime64 (_v1,(struct __utimbuf64*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_futime (int _v1, struct _utimbuf* _v2)		   { return(_futime64 (_v1,(struct __utimbuf64*)_v2)); }
-#else
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_utime (const char* _v1, struct _utimbuf* _v2)	   { return(_utime32  (_v1,(struct __utimbuf32*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime32 (_v1,(struct __utimbuf32*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW	_futime (int _v1, struct _utimbuf* _v2)		   { return(_futime32 (_v1,(struct __utimbuf32*)_v2)); }
-#endif
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _UTIME_H_ */
Index: Daodan/MinGW/include/tchar.h
===================================================================
--- Daodan/MinGW/include/tchar.h	(revision 1046)
+++ 	(revision )
@@ -1,484 +1,0 @@
-/*
- * tchar.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Unicode mapping layer for the standard C library. By including this
- * file and using the 't' names for string functions
- * (eg. _tprintf) you can make code which can be easily adapted to both
- * Unicode and non-unicode environments. In a unicode enabled compile define
- * _UNICODE before including tchar.h, otherwise the standard non-unicode
- * library functions will be used.
- *
- * Note that you still need to include string.h or stdlib.h etc. to define
- * the appropriate functions. Also note that there are several defines
- * included for non-ANSI functions which are commonly available (but using
- * the convention of prepending an underscore to non-ANSI library function
- * names).
- *
- */
-
-#ifndef	_TCHAR_H_
-#define _TCHAR_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * NOTE: This tests _UNICODE, which is different from the UNICODE define
- *       used to differentiate Win32 API calls.
- */
-#ifdef	_UNICODE
-
-/*
- * Include <wchar.h> for wchar_t and WEOF if _UNICODE.
- */
-#include <wchar.h>
-
-/*
- * Use TCHAR instead of char or wchar_t. It will be appropriately translated
- * if _UNICODE is correctly defined (or not).
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef	wchar_t	TCHAR;
-typedef wchar_t _TCHAR;
-#endif	/* Not RC_INVOKED */
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * Use _TEOF instead of EOF or WEOF. It will be appropriately translated if
- * _UNICODE is correctly defined (or not).
- */
-#define _TEOF WEOF
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
- * macro within your programs.  It's name and function could change without
- * notice.
- */
-#define	__TEXT(q)	L##q
-
-/*  for porting from other Windows compilers */
-#if 0  /* no  wide startup module */
-#define _tmain      wmain
-#define _tWinMain   wWinMain
-#define _tenviron   _wenviron
-#define __targv     __wargv
-#endif
-
-/*
- * Unicode functions
- */
-#define	_tprintf	wprintf
-#define	_ftprintf	fwprintf
-#define	_stprintf	swprintf
-#define	_sntprintf	_snwprintf
-#define	_vtprintf	vwprintf
-#define	_vftprintf	vfwprintf
-#define _vstprintf	vswprintf
-#define	_vsntprintf	_vsnwprintf
-#define	_vsctprintf	_vscwprintf
-#define	_tscanf		wscanf
-#define	_ftscanf	fwscanf
-#define	_stscanf	swscanf
-#define	_fgettc		fgetwc
-#define	_fgettchar	_fgetwchar
-#define	_fgetts		fgetws
-#define	_fputtc		fputwc
-#define	_fputtchar	_fputwchar
-#define	_fputts		fputws
-#define	_gettc		getwc
-#define	_getts		_getws
-#define	_puttc		putwc
-#define _puttchar       putwchar
-#define	_putts		_putws
-#define	_ungettc	ungetwc
-#define	_tcstod		wcstod
-#define	_tcstol		wcstol
-#define _tcstoul	wcstoul
-#define	_itot		_itow
-#define	_ltot		_ltow
-#define	_ultot		_ultow
-#define	_ttoi		_wtoi
-#define	_ttol		_wtol
-#define	_tcscat		wcscat
-#define _tcschr		wcschr
-#define _tcscmp		wcscmp
-#define _tcscpy		wcscpy
-#define _tcscspn	wcscspn
-#define	_tcslen		wcslen
-#define	_tcsncat	wcsncat
-#define	_tcsncmp	wcsncmp
-#define	_tcsncpy	wcsncpy
-#define	_tcspbrk	wcspbrk
-#define	_tcsrchr	wcsrchr
-#define _tcsspn		wcsspn
-#define	_tcsstr		wcsstr
-#define _tcstok		wcstok
-#define	_tcsdup		_wcsdup
-#define	_tcsicmp	_wcsicmp
-#define	_tcsnicmp	_wcsnicmp
-#define	_tcsnset	_wcsnset
-#define	_tcsrev		_wcsrev
-#define _tcsset		_wcsset
-#define	_tcslwr		_wcslwr
-#define	_tcsupr		_wcsupr
-#define	_tcsxfrm	wcsxfrm
-#define	_tcscoll	wcscoll
-#define	_tcsicoll	_wcsicoll
-#define	_istalpha	iswalpha
-#define	_istupper	iswupper
-#define	_istlower	iswlower
-#define	_istdigit	iswdigit
-#define	_istxdigit	iswxdigit
-#define	_istspace	iswspace
-#define	_istpunct	iswpunct
-#define	_istalnum	iswalnum
-#define	_istprint	iswprint
-#define	_istgraph	iswgraph
-#define	_istcntrl	iswcntrl
-#define	_istascii	iswascii
-#define _totupper	towupper
-#define	_totlower	towlower
-#define _tcsftime	wcsftime
-/* Macro functions */
-#define _tcsdec     _wcsdec
-#define _tcsinc     _wcsinc
-#define _tcsnbcnt   _wcsncnt
-#define _tcsnccnt   _wcsncnt
-#define _tcsnextc   _wcsnextc
-#define _tcsninc    _wcsninc
-#define _tcsspnp    _wcsspnp
-#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
-#define _wcsinc(_wcs)  ((_wcs)+1)
-#define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
-#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
-#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
-#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
-
-#if 1  /* defined __MSVCRT__ */
-/*
- *   These wide functions not in crtdll.dll.
- *   Define macros anyway so that _wfoo rather than _tfoo is undefined
- */
-#define _ttoi64     _wtoi64
-#define _i64tot     _i64tow
-#define _ui64tot    _ui64tow
-#define	_tasctime	_wasctime
-#define	_tctime		_wctime
-#if __MSVCRT_VERSION__ >= 0x0800
-#define	_tctime32	_wctime32
-#define	_tctime64	_wctime64
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-#define	_tstrdate	_wstrdate
-#define	_tstrtime	_wstrtime
-#define	_tutime		_wutime
-#if __MSVCRT_VERSION__ >= 0x0800
-#define	_tutime64	_wutime64
-#define	_tutime32	_wutime32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tcsnccoll  _wcsncoll
-#define _tcsncoll   _wcsncoll
-#define _tcsncicoll _wcsnicoll
-#define _tcsnicoll  _wcsnicoll
-#define _taccess    _waccess
-#define _tchmod     _wchmod
-#define _tcreat     _wcreat
-#define _tfindfirst _wfindfirst
-#define _tfindnext  _wfindnext
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tfindfirst64 _wfindfirst64
-#define _tfindfirst32 _wfindfirst32
-#define _tfindnext64  _wfindnext64
-#define _tfindnext32  _wfindnext32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tfdopen    _wfdopen
-#define _tfopen     _wfopen
-#define _tfreopen   _wfreopen
-#define _tfsopen    _wfsopen
-#define _tgetenv    _wgetenv
-#define _tputenv    _wputenv
-#define _tsearchenv _wsearchenv
-#define  _tsystem    _wsystem
-#define _tmakepath  _wmakepath
-#define _tsplitpath _wsplitpath
-#define _tfullpath  _wfullpath
-#define _tmktemp    _wmktemp
-#define _topen      _wopen
-#define _tremove    _wremove
-#define _trename    _wrename
-#define _tsopen     _wsopen
-#define _tsetlocale _wsetlocale
-#define _tunlink    _wunlink
-#define _tfinddata_t    _wfinddata_t
-#define _tfindfirsti64  _wfindfirsti64
-#define _tfindnexti64   _wfindnexti64
-#define _tfinddatai64_t _wfinddatai64_t
-#if __MSVCRT_VERSION__ >= 0x0601
-#define _tfinddata64_t    _wfinddata64_t
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tfinddata32_t    _wfinddata32_t
-#define _tfinddata32i64_t _wfinddata32i64_t
-#define _tfinddata64i32_t _wfinddata64i32_t
-#define _tfindfirst32i64  _wfindfirst32i64
-#define _tfindfirst64i32  _wfindfirst64i32
-#define _tfindnext32i64   _wfindnext32i64
-#define _tfindnext64i32   _wfindnext64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tchdir		_wchdir
-#define _tgetcwd	_wgetcwd
-#define _tgetdcwd	_wgetdcwd
-#define _tmkdir		_wmkdir
-#define _trmdir		_wrmdir
-#define _tstat		_wstat
-#define _tstati64	_wstati64
-#define _tstat64	_wstat64
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tstat32	_wstat32
-#define _tstat32i64	_wstat32i64
-#define _tstat64i32	_wstat64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#endif  /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent	_wdirent
-#define _TDIR 		_WDIR
-#define _topendir	_wopendir
-#define _tclosedir	_wclosedir
-#define _treaddir	_wreaddir
-#define _trewinddir	_wrewinddir
-#define _ttelldir	_wtelldir
-#define _tseekdir	_wseekdir
-
-#else	/* Not _UNICODE */
-
-/*
- * TCHAR, the type you should use instead of char.
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef char	TCHAR;
-typedef char	_TCHAR;
-#endif
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * _TEOF, the constant you should use instead of EOF.
- */
-#define _TEOF EOF
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
- * macro within your programs.  It's name and function could change without
- * notice.
- */
-#define	__TEXT(q)	q
-
-/*  for porting from other Windows compilers */
-#define _tmain      main
-#define _tWinMain   WinMain
-#define _tenviron  _environ
-#define __targv     __argv
-
-/*
- * Non-unicode (standard) functions
- */
-
-#define	_tprintf	printf
-#define _ftprintf	fprintf
-#define	_stprintf	sprintf
-#define	_sntprintf	_snprintf
-#define	_vtprintf	vprintf
-#define	_vftprintf	vfprintf
-#define _vstprintf	vsprintf
-#define	_vsntprintf	_vsnprintf
-#define	_vsctprintf	_vscprintf
-#define	_tscanf		scanf
-#define	_ftscanf	fscanf
-#define	_stscanf	sscanf
-#define	_fgettc		fgetc
-#define	_fgettchar	_fgetchar
-#define	_fgetts		fgets
-#define	_fputtc		fputc
-#define	_fputtchar	_fputchar
-#define	_fputts		fputs
-#define _tfdopen	_fdopen
-#define	_tfopen		fopen
-#define _tfreopen	freopen
-#define	_tfsopen	_fsopen
-#define	_tgetenv	getenv
-#define	_tputenv	_putenv
-#define	_tsearchenv	_searchenv
-#define  _tsystem       system
-#define	_tmakepath	_makepath
-#define	_tsplitpath	_splitpath
-#define	_tfullpath	_fullpath
-#define	_gettc		getc
-#define	_getts		gets
-#define	_puttc		putc
-#define _puttchar       putchar
-#define	_putts		puts
-#define	_ungettc	ungetc
-#define	_tcstod		strtod
-#define	_tcstol		strtol
-#define _tcstoul	strtoul
-#define	_itot		_itoa
-#define	_ltot		_ltoa
-#define	_ultot		_ultoa
-#define	_ttoi		atoi
-#define	_ttol		atol
-#define	_tcscat		strcat
-#define _tcschr		strchr
-#define _tcscmp		strcmp
-#define _tcscpy		strcpy
-#define _tcscspn	strcspn
-#define	_tcslen		strlen
-#define	_tcsncat	strncat
-#define	_tcsncmp	strncmp
-#define	_tcsncpy	strncpy
-#define	_tcspbrk	strpbrk
-#define	_tcsrchr	strrchr
-#define _tcsspn		strspn
-#define	_tcsstr		strstr
-#define _tcstok		strtok
-#define	_tcsdup		_strdup
-#define	_tcsicmp	_stricmp
-#define	_tcsnicmp	_strnicmp
-#define	_tcsnset	_strnset
-#define	_tcsrev		_strrev
-#define _tcsset		_strset
-#define	_tcslwr		_strlwr
-#define	_tcsupr		_strupr
-#define	_tcsxfrm	strxfrm
-#define	_tcscoll	strcoll
-#define	_tcsicoll	_stricoll
-#define	_istalpha	isalpha
-#define	_istupper	isupper
-#define	_istlower	islower
-#define	_istdigit	isdigit
-#define	_istxdigit	isxdigit
-#define	_istspace	isspace
-#define	_istpunct	ispunct
-#define	_istalnum	isalnum
-#define	_istprint	isprint
-#define	_istgraph	isgraph
-#define	_istcntrl	iscntrl
-#define	_istascii	isascii
-#define _totupper	toupper
-#define	_totlower	tolower
-#define	_tasctime	asctime
-#define	_tctime		ctime
-#if __MSVCRT_VERSION__ >= 0x0800
-#define	_tctime32	_ctime32
-#define	_tctime64	_ctime64
-#endif /* __MSVCRT_VERSION__ >= 0x0800 */
-#define	_tstrdate	_strdate
-#define	_tstrtime	_strtime
-#define	_tutime		_utime
-#if __MSVCRT_VERSION__ >= 0x0800
-#define	_tutime64	_utime64
-#define	_tutime32	_utime32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tcsftime	strftime
-/* Macro functions */
-#define _tcsdec     _strdec
-#define _tcsinc     _strinc
-#define _tcsnbcnt   _strncnt
-#define _tcsnccnt   _strncnt
-#define _tcsnextc   _strnextc
-#define _tcsninc    _strninc
-#define _tcsspnp    _strspnp
-#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
-#define _strinc(_str)  ((_str)+1)
-#define _strnextc(_str) ((unsigned int) *(_str))
-#define _strninc(_str, _inc) (((_str)+(_inc)))
-#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
-#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
-
-#define _tchmod     _chmod
-#define _tcreat     _creat
-#define _tfindfirst _findfirst
-#define _tfindnext  _findnext
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tfindfirst64 _findfirst64
-#define _tfindfirst32 _findfirst32
-#define _tfindnext64  _findnext64
-#define _tfindnext32  _findnext32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tmktemp    _mktemp
-#define _topen      _open
-#define _taccess    _access
-#define _tremove    remove
-#define _trename    rename
-#define _tsopen     _sopen
-#define _tsetlocale setlocale
-#define _tunlink    _unlink
-#define _tfinddata_t    _finddata_t
-#define _tchdir	    _chdir
-#define _tgetcwd    _getcwd
-#define _tgetdcwd   _getdcwd
-#define _tmkdir	    _mkdir
-#define _trmdir	    _rmdir
-#define _tstat      _stat
-
-#if 1  /* defined __MSVCRT__ */
-/* Not in crtdll.dll. Define macros anyway? */
-#define _ttoi64     _atoi64
-#define _i64tot     _i64toa
-#define _ui64tot    _ui64toa
-#define _tcsnccoll  _strncoll
-#define _tcsncoll   _strncoll
-#define _tcsncicoll _strnicoll
-#define _tcsnicoll  _strnicoll
-#define _tfindfirsti64  _findfirsti64
-#define _tfindnexti64   _findnexti64
-#define _tfinddatai64_t _finddatai64_t
-#if __MSVCRT_VERSION__ >= 0x0601
-#define _tfinddata64_t    _finddata64_t
-#endif
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tfinddata32_t    _finddata32_t
-#define _tfinddata32i64_t _finddata32i64_t
-#define _tfinddata64i32_t _finddata64i32_t
-#define _tfindfirst32i64  _findfirst32i64
-#define _tfindfirst64i32  _findfirst64i32
-#define _tfindnext32i64   _findnext32i64
-#define _tfindnext64i32   _findnext64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#define _tstati64   _stati64
-#define _tstat64    _stat64
-#if __MSVCRT_VERSION__ >= 0x0800
-#define _tstat32	_stat32
-#define _tstat32i64	_stat32i64
-#define _tstat64i32	_stat64i32
-#endif /* __MSVCRT_VERSION__ > 0x0800 */
-#endif  /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent	dirent
-#define _TDIR 		DIR
-#define _topendir	opendir
-#define _tclosedir	closedir
-#define _treaddir	readdir
-#define _trewinddir	rewinddir
-#define _ttelldir	telldir
-#define _tseekdir	seekdir
-
-#endif	/* Not _UNICODE */
-
-/*
- * UNICODE a constant string when _UNICODE is defined else returns the string
- * unmodified.  Also defined in w32api/winnt.h.
- */
-#define _TEXT(x)	__TEXT(x)
-#define	_T(x)		__TEXT(x)
-
-#endif	/* Not _TCHAR_H_ */
-
Index: Daodan/MinGW/include/time.h
===================================================================
--- Daodan/MinGW/include/time.h	(revision 1046)
+++ 	(revision )
@@ -1,497 +1,0 @@
-/*
- * time.h
- *
- * Type definitions and function declarations relating to date and time.
- *
- * $Id: time.h,v c96797f9657b 2016/04/12 14:36:20 keithmarshall $
- *
- * Written by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Copyright (C) 1997-2007, 2011, 2015, 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, 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.
- *
- */
-#if ! defined _TIME_H || defined __need_time_t
-#pragma GCC system_header
-
-/* Irrespective of whether this is normal or selective inclusion of
- * <time.h>, we ALWAYS require the definition for time_t; get it by
- * selective inclusion from its primary source, in <sys/types.h>;
- * note that we must ALWAYS delegate this, when __need_time_t is
- * defined, even when _TIME_H had been defined previously, to ensure
- * that __need_time_t is properly reset, and thus cannot compromise
- * a later inclusion of <sys/types.h>
- */
-#undef __need_time_h
-#define __need_time_t  1
-#include <sys/types.h>
-
-#ifndef _TIME_H
-/* To support selective partial inclusion, we do not immediately define
- * the normal _TIME_H guard macro; initially, we also clear all of those
- * declaraction subset selection macros which are applicable herein.
- */
-#undef __need_struct_timespec
-#undef __need_wchar_decls
-
-#if defined __WCHAR_H_SOURCED__
-/* This is selective inclusion by <wchar.h>; thus, we do not define the
- * _TIME_H guard macro, and we select only the minimally required subset
- * of declarations to be exposed from within <time.h>
- */
-# define __need_wchar_decls  1
-
-/* Both ISO-C and POSIX stipulate that <wchar.h> shall declare "struct tm"
- * as an incomplete structure, with its complete declaration to be provided
- * by <time.h>; provide an incomplete forward declaration, to satisfy this
- * minimal requirement for selective inclusion by <wchar.h>
- */
-struct tm;
-
-#else
-#define _TIME_H
-/* This is normal inclusion of <time.h>, in its own right.  All our system
- * headers are required to include <_mingw.h>, but in the case of selective
- * inclusion, we delegate that responsibility to the including header; when
- * including <time.h> directly, we must fulfil this requirement now.
- */
-#include <_mingw.h>
-
-/* Number of clock ticks per second. A clock tick is the unit by which
- * processor time is measured and is returned by 'clock'.
- */
-#define CLOCKS_PER_SEC	((clock_t)(1000))
-#define CLK_TCK 	CLOCKS_PER_SEC
-
-#define __need_struct_timespec  1
-#define __need_wchar_decls  1
-#endif
-
-#ifndef RC_INVOKED
-#if defined __need_struct_timespec && ! __struct_timespec_defined
-/* Structure timespec is mandated by POSIX, for specification of
- * intervals with the greatest precision supported by the OS kernel.
- * Although this allows for specification to nanosecond precision, do
- * not be deluded into any false expectation that such short intervals
- * can be realized on Windows; on Win9x derivatives, the metronome used
- * by the process scheduler has a period of ~55 milliseconds, while for
- * WinNT derivatives, the corresponding period is ~15 milliseconds; thus,
- * the shortest intervals which can be realistically timed will range
- * from 0..55 milliseconds on Win9x hosts, and from 0..15 ms on WinNT,
- * with period values normally distributed around means of ~27.5 ms
- * and ~7.5 ms, for the two system types respectively.
- */
-struct timespec
-{ /* Period is sum of tv_sec + tv_nsec; while 32-bits is sufficient
-   * to accommodate tv_nsec, we use 64-bit __time64_t for tv_sec, to
-   * ensure that we have a sufficiently large field to accommodate
-   * Microsoft's ambiguous __time32_t vs. __time64_t representation
-   * of time_t; we may resolve this ambiguity locally, by casting a
-   * pointer to a struct timespec to point to an identically sized
-   * struct __mingw32_timespec, which is defined below.
-   */
-  __time64_t	  tv_sec;	/* seconds; accept 32 or 64 bits */
-  __int32  	  tv_nsec;	/* nanoseconds */
-};
-
-# ifdef _MINGW32_SOURCE_EXTENDED
-struct __mingw32_expanded_timespec
-{
-  /* Equivalent of struct timespec, with disambiguation for the
-   * 32-bit vs. 64-bit tv_sec field declaration.  Period is the
-   * sum of tv_sec + tv_nsec; we use explicitly sized types to
-   * avoid 32-bit vs. 64-bit time_t ambiguity...
-   */
-  union
-  { /* ...within this anonymous union, allowing tv_sec to accommodate
-     * seconds expressed in either of Microsoft's (ambiguously sized)
-     * time_t representations.
-     */
-    __time64_t	__tv64_sec;	/* unambiguously 64 bits */
-    __time32_t	__tv32_sec;	/* unambiguously 32 bits */
-    time_t	  tv_sec;	/* ambiguously 32 or 64 bits */
-  };
-  __int32  	  tv_nsec;	/* nanoseconds */
-};
-# endif /* _MINGW32_SOURCE_EXTENDED */
-
-# define __struct_timespec_defined  1
-#endif
-
-#ifdef _TIME_H
-#ifdef _MINGW32_SOURCE_EXTENDED
-
-_BEGIN_C_DECLS
-
-__CRT_ALIAS __LIBIMPL__(( FUNCTION = mingw_timespec ))
-/* This non-ANSI convenience function facilitates access to entities
- * defined as struct timespec, while exposing the broken down form of
- * the tv_sec field, as declared within struct __mingw32_timespec.  It
- * is exposed only when _MINGW32_SOURCE_EXTENDED is defined, which is
- * normally implicitly the case, except when in __STRICT_ANSI__ mode
- * unless the user defines it explicitly.
- */
-struct __mingw32_expanded_timespec *mingw_timespec( struct timespec *__tv )
-{ return (struct __mingw32_expanded_timespec *)(__tv); }
-
-_END_C_DECLS
-
-#endif	/* _MINGW32_SOURCE_EXTENDED */
-
-/* <time.h> is also required to duplicate the following type definitions,
- * which are nominally defined in <stddef.h>
- */
-#define __need_NULL
-#define __need_wchar_t
-#define __need_size_t
-#include <stddef.h>
-
-/* A type for measuring processor time in clock ticks; (no need to
- * guard this, since it isn't defined elsewhere).
- */
-typedef long clock_t;
-
-struct tm
-{ /* A structure for storing the attributes of a broken-down time; (once
-   * again, it isn't defined elsewhere, so no guard is necessary).  Note
-   * that we are within the scope of <time.h> itself, so we must provide
-   * the complete structure declaration here.
-   */
-  int  tm_sec;  	/* Seconds: 0-60 (to accommodate leap seconds) */
-  int  tm_min;  	/* Minutes: 0-59 */
-  int  tm_hour; 	/* Hours since midnight: 0-23 */
-  int  tm_mday; 	/* Day of the month: 1-31 */
-  int  tm_mon;  	/* Months *since* January: 0-11 */
-  int  tm_year; 	/* Years since 1900 */
-  int  tm_wday; 	/* Days since Sunday (0-6) */
-  int  tm_yday; 	/* Days since Jan. 1: 0-365 */
-  int  tm_isdst;	/* +1=Daylight Savings Time, 0=No DST, -1=unknown */
-};
-
-_BEGIN_C_DECLS
-
-_CRTIMP __cdecl __MINGW_NOTHROW  clock_t  clock (void);
-
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
- /* Although specified as ISO-C functions, Microsoft withdrew direct
-  * support for these, with their ISO-C names, from MSVCR80.DLL onwards,
-  * preferring to map them via header file macros, to alternatively named
-  * DLL functions with ambiguous time_t representations; they remain in
-  * MSVCRT.DLL, however, with their original ISO-C names, and time_t
-  * unambiguously represented as a 32-bit data type.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  time_t time (time_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  double difftime (time_t, time_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  time_t mktime (struct tm *);
-#endif
-
-/* These functions write to and return pointers to static buffers that may
- * be overwritten by other function calls. Yikes!
- *
- * NOTE: localtime, and perhaps the others of the four functions grouped
- * below may return NULL if their argument is not 'acceptable'. Also note
- * that calling asctime with a NULL pointer will produce an Invalid Page
- * Fault and crap out your program. Guess how I know. Hint: stat called on
- * a directory gives 'invalid' times in st_atime etc...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  char *asctime (const struct tm *);
-
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
- /* Once again, these have been withdrawn from MSVCR80.DLL, (and later),
-  * but remain in MSVCRT.DLL, with unambiguously 32-bit time_t.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  char *ctime (const time_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  struct tm *gmtime (const time_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  struct tm *localtime (const time_t *);
-#endif
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-size_t strftime (char *, size_t, const char *, const struct tm *);
-
-#ifndef __STRICT_ANSI__
-extern _CRTIMP __cdecl __MINGW_NOTHROW  void _tzset (void);
-
-#ifndef _NO_OLDNAMES
-extern _CRTIMP __cdecl __MINGW_NOTHROW  void tzset (void);
-#endif
-
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strdate (char *);
-_CRTIMP __cdecl __MINGW_NOTHROW  char *_strtime (char *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR61_DLL || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-/* These 64-bit time_t variant functions first became available in
- * MSVCR61.DLL, and its descendants; they were subsequently included
- * in MSVCRT.DLL, from its Win2K release onwards.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  __time64_t _time64( __time64_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  __time64_t _mktime64 (struct tm *);
-_CRTIMP __cdecl __MINGW_NOTHROW    char *_ctime64 (const __time64_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW    struct tm *_gmtime64 (const __time64_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW    struct tm *_localtime64 (const __time64_t *);
-
-#endif	/* __MSVCR61_DLL, _WIN32_WINNT_WIN2K, and descendants. */
-
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
- /* The following were introduced in MSVCR80.DLL, and they subsequently
-  * appeared in MSVCRT.DLL, from Windows-Vista onwards.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW    char *_ctime32 (const __time32_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW    double _difftime32 (__time32_t, __time32_t);
-_CRTIMP __cdecl __MINGW_NOTHROW    double _difftime64 (__time64_t, __time64_t);
-_CRTIMP __cdecl __MINGW_NOTHROW    struct tm *_gmtime32 (const __time32_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW    struct tm *_localtime32 (const __time32_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  __time32_t _mktime32 (struct tm *);
-_CRTIMP __cdecl __MINGW_NOTHROW  __time32_t _mkgmtime32 (struct tm *);
-_CRTIMP __cdecl __MINGW_NOTHROW  __time64_t _mkgmtime64 (struct tm *);
-_CRTIMP __cdecl __MINGW_NOTHROW  __time32_t _time32 (__time32_t *);
-
-# if __MSVCRT_VERSION__ >= __MSVCR80_DLL && defined _USE_32BIT_TIME_T
-  /* Users of MSVCR80.DLL and later, (but not users of MSVCRT.DLL, even
-   * for _WIN32_WINNT_VISTA and later), must contend with the omission of
-   * the following functions from their DLL of choice, thus requiring these
-   * brain damaged mappings, in terms of an ambiguously defined 'time_t';
-   * thus, when 'time_t' is declared to be equivalent to '__time32_t':
-   */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t time (time_t *__v)
- { return _time32 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  double difftime (time_t __v1, time_t __v2)
- { return _difftime32 (__v1, __v2); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t mktime (struct tm *__v)
- { return _mktime32 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t _mkgmtime (struct tm *__v)
- { return _mkgmtime32 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  char *ctime (const time_t *__v)
- { return _ctime32 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  struct tm *gmtime (const time_t *__v)
- { return _gmtime32 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  struct tm *localtime (const time_t *__v)
- { return _localtime32 (__v); }
-
-# elif __MSVCRT_VERSION__ >= __MSVCR80_DLL
-  /* Correspondingly, for users of MSVCR80.DLL and later only, when there
-   * is no explicit declaration to direct the specification of 'time_t', and
-   * thus 'time_t' is assumed to be equivalent to '__time64_t':
-   */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t time (time_t *__v)
- { return _time64 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  double difftime (time_t __v1, time_t __v2)
- { return _difftime64 (__v1, __v2); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t mktime (struct tm *__v)
- { return _mktime64 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  time_t _mkgmtime (struct tm *__v)
- { return _mkgmtime64 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  char *ctime (const time_t *__v)
- { return _ctime64 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  struct tm *gmtime (const time_t *__v)
- { return _gmtime64 (__v); }
-
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  struct tm *localtime (const time_t *__v)
- { return _localtime64 (__v); }
-
-# endif /* _USE_32BIT_TIME_T brain damage */
-#endif	/* >=__MSVCR80.DLL || >=_WIN32_WINNT_VISTA */
-
-/* _daylight: non zero if daylight savings time is used.
- * _timezone: difference in seconds between GMT and local time.
- * _tzname: standard/daylight savings time zone names (an array with two
- *          elements).
- */
-#ifdef __MSVCRT__
-/* These are for compatibility with pre-VC 5.0 supplied MSVCRT.DLL
- */
-extern _CRTIMP __cdecl __MINGW_NOTHROW  int   *__p__daylight (void);
-extern _CRTIMP __cdecl __MINGW_NOTHROW  long  *__p__timezone (void);
-extern _CRTIMP __cdecl __MINGW_NOTHROW  char **__p__tzname (void);
-
-__MINGW_IMPORT int   _daylight;
-__MINGW_IMPORT long  _timezone;
-__MINGW_IMPORT char *_tzname[2];
-
-#else /* !__MSVCRT__ (i.e. using CRTDLL.DLL) */
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int   *_imp___daylight_dll;
-extern long  *_imp___timezone_dll;
-extern char **_imp___tzname;
-
-#define _daylight  (*_imp___daylight_dll)
-#define _timezone  (*_imp___timezone_dll)
-#define _tzname	   (*_imp___tzname)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int   _daylight_dll;
-__MINGW_IMPORT long  _timezone_dll;
-__MINGW_IMPORT char *_tzname[2];
-
-#define _daylight  _daylight_dll
-#define _timezone  _timezone_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
-#endif /* ! __STRICT_ANSI__ */
-
-#ifndef _NO_OLDNAMES
-#ifdef __MSVCRT__
-
-/* These go in the oldnames import library for MSVCRT.
- */
-__MINGW_IMPORT int   daylight;
-__MINGW_IMPORT long  timezone;
-__MINGW_IMPORT char *tzname[2];
-
-#else /* ! __MSVCRT__ */
-/* CRTDLL is royally messed up when it comes to these macros.
- * TODO: import and alias these via oldnames import library instead
- * of macros.
- */
-#define daylight  _daylight
-
-/* NOTE: timezone not defined as a macro because it would conflict with
- * struct timezone in sys/time.h.  Also, tzname used to a be macro, but
- * now it's in moldname.
- */
-__MINGW_IMPORT char 	*tzname[2];
-
-#endif	/* ! __MSVCRT__ */
-#endif	/* ! _NO_OLDNAMES */
-
-#if _POSIX_C_SOURCE
-/* The nanosleep() function provides the most general purpose API for
- * process/thread suspension; it provides for specification of periods
- * ranging from ~7.5 ms mean, (on WinNT derivatives; ~27.5 ms on Win9x),
- * extending up to ~136 years, (effectively eternity).
- */
-__cdecl __MINGW_NOTHROW
-int nanosleep( const struct timespec *, struct timespec * );
-
-#ifndef __NO_INLINE__
-/* We may conveniently provide an in-line implementation here,
- * in terms of the __mingw_sleep() helper function.
- */
-__cdecl __MINGW_NOTHROW
-int __mingw_sleep( unsigned long, unsigned long );
-
-__CRT_INLINE __LIBIMPL__(( FUNCTION = nanosleep ))
-int nanosleep( const struct timespec *period, struct timespec *residual )
-{
-  if( residual != (void *)(0) )
-    residual->tv_sec = (__time64_t)(residual->tv_nsec = 0);
-  return __mingw_sleep((unsigned)(period->tv_sec), (period->tv_sec < 0LL)
-    ? (unsigned)(-1) : (unsigned)(period->tv_nsec));
-}
-#endif	/* !__NO_INLINE__ */
-#endif	/* _POSIX_C_SOURCE */
-
-_END_C_DECLS
-
-#endif	/* _TIME_H included in its own right */
-
-#if __need_wchar_decls && ! (defined _TIME_H && defined _WCHAR_H)
-/* Wide character time function prototypes.  These are nominally declared
- * both here, in <time.h>, and also in <wchar.h>; we declare them here, and
- * make them available for selective inclusion by <wchar.h>, but such that
- * the declarations, and in particular any in-line implementation of the
- * _wctime() function, are visible only on the first time parse, when
- * one of either _TIME_H, or _WCHAR_H, but not both, is defined.
- */
-_BEGIN_C_DECLS
-
-#if defined __MSVCRT__ && ! defined __STRICT_ANSI__
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wasctime (const struct tm *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wstrdate (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wstrtime (wchar_t *);
-
-#if __MSVCRT_VERSION__ >= __MSVCR61_DLL || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-/* A __time64_t specific variant of _wctime(), identified as _wctime64(),
- * first appeared in the non-free MSVC specific MSVCR61.DLL, and was added
- * to the freely available platform MSVCRT.DLL from Win2K onwards...
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wctime64 (const __time64_t *);
-#endif
-#if __MSVCRT_VERSION__ >= __MSVCR80_DLL || _WIN32_WINNT >= _WIN32_WINNT_VISTA
-/* ...whereas its __time32_t specific counterpart, _wctime32(), did not
- * make an appearance until MSVCR80.DLL, and was not added to MSVCRT.DLL
- * until the release of Vista.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wctime32 (const __time32_t *);
-#endif
-#if __MSVCRT_VERSION__ < __MSVCR80_DLL
-/* Present in all versions of MSVCRT.DLL, but withdrawn from non-free
- * MSVC specific releases from MSVCR80.DLL onwards; in all versions of
- * MSVCRT.DLL, _wctime() accepts a 32-bit time_t argument pointer.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wctime (const time_t *);
-
-#else /* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-/* For users of the non-free MSVC libraries, we must deal with both the
- * absence of _wctime(), and with Microsoft's attendant _USE_32BIT_TIME_T
- * brain damage, as we map an inline replacement...
- */
-__CRT_ALIAS __cdecl __MINGW_NOTHROW  wchar_t *_wctime (const time_t *__v)
-{
-  /* ...in terms of an appropriately selected time_t size specific
-   * alternative function, which should be available...
-   */
-# ifdef _USE_32BIT_TIME_T
-  /* ...i.e. the __time32_t specific _wctime32(), when the user has
-   * enabled this choice; (the only sane choice, if compatibility with
-   * MSVCRT.DLL is desired)...
-   */
-  return _wctime32 (__v);
-
-# else	/* !_USE_32BIT_TIME_T */
-  /* ...or otherwise, the __time64_t specific _wctime64(), (in which
-   * case, compatibility with MSVCRT.DLL must be sacrificed).
-   */
-  return _wctime64 (__v);
-# endif	/* !_USE_32BIT_TIME_T */
-}
-#endif	/* __MSVCRT_VERSION__ >= __MSVCR80_DLL */
-#endif	/* __MSVCRT__ && !__STRICT_ANSI__ */
-
-_CRTIMP __cdecl __MINGW_NOTHROW
-size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *);
-
-_END_C_DECLS
-
-#endif	/* ! (defined _TIME_H && defined _WCHAR_H) */
-
-/* We're done with all <time.h> specific content selectors; clear them.
- */
-#undef __need_time_t
-#undef __need_struct_timespec
-#undef __need_wchar_decls
-
-#endif /* ! RC_INVOKED */
-#endif /* !_TIME_H after __need_time_t processing */
-#endif /* !_TIME_H: $RCSfile: time.h,v $: end of file */
Index: Daodan/MinGW/include/tlhelp32.h
===================================================================
--- Daodan/MinGW/include/tlhelp32.h	(revision 1046)
+++ 	(revision )
@@ -1,140 +1,0 @@
-/*
-	tlhelp32.h - Include file for Tool help functions.
-
-	Written by Mumit Khan <khan@nanotech.wisc.edu>
-
-	This file is part of a free library for the Win32 API.
-
-	This library is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-#ifndef _TLHELP32_H
-#define _TLHELP32_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HF32_DEFAULT	1
-#define HF32_SHARED	2
-#define LF32_FIXED	0x1
-#define LF32_FREE	0x2
-#define LF32_MOVEABLE	0x4
-#define MAX_MODULE_NAME32	255
-#define TH32CS_SNAPHEAPLIST	0x1
-#define TH32CS_SNAPPROCESS	0x2
-#define TH32CS_SNAPTHREAD	0x4
-#define TH32CS_SNAPMODULE	0x8
-#define TH32CS_SNAPALL	(TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNAPTHREAD|TH32CS_SNAPMODULE)
-#define TH32CS_INHERIT	0x80000000
-typedef struct tagHEAPLIST32 {
-	DWORD dwSize;
-	DWORD th32ProcessID;
-	DWORD th32HeapID;
-	DWORD dwFlags;
-} HEAPLIST32,*PHEAPLIST32,*LPHEAPLIST32;
-typedef struct tagHEAPENTRY32 {
-	DWORD dwSize;
-	HANDLE hHandle;
-	DWORD dwAddress;
-	DWORD dwBlockSize;
-	DWORD dwFlags;
-	DWORD dwLockCount;
-	DWORD dwResvd;
-	DWORD th32ProcessID;
-	DWORD th32HeapID;
-} HEAPENTRY32,*PHEAPENTRY32,*LPHEAPENTRY32;
-typedef struct tagPROCESSENTRY32W {
-	DWORD dwSize;
-	DWORD cntUsage;
-	DWORD th32ProcessID;
-	DWORD th32DefaultHeapID;
-	DWORD th32ModuleID;
-	DWORD cntThreads;
-	DWORD th32ParentProcessID;
-	LONG pcPriClassBase;
-	DWORD dwFlags;
-	WCHAR szExeFile[MAX_PATH];
-} PROCESSENTRY32W,*PPROCESSENTRY32W,*LPPROCESSENTRY32W;
-typedef struct tagPROCESSENTRY32 {
-	DWORD dwSize;
-	DWORD cntUsage;
-	DWORD th32ProcessID;
-	DWORD th32DefaultHeapID;
-	DWORD th32ModuleID;
-	DWORD cntThreads;
-	DWORD th32ParentProcessID;
-	LONG pcPriClassBase;
-	DWORD dwFlags;
-	CHAR  szExeFile[MAX_PATH];
-} PROCESSENTRY32,*PPROCESSENTRY32,*LPPROCESSENTRY32;
-typedef struct tagTHREADENTRY32 {
-	DWORD dwSize;
-	DWORD cntUsage;
-	DWORD th32ThreadID;
-	DWORD th32OwnerProcessID;
-	LONG tpBasePri;
-	LONG tpDeltaPri;
-	DWORD dwFlags;
-} THREADENTRY32,*PTHREADENTRY32,*LPTHREADENTRY32;
-typedef struct tagMODULEENTRY32W {
-	DWORD dwSize;
-	DWORD th32ModuleID;
-	DWORD th32ProcessID;
-	DWORD GlblcntUsage;
-	DWORD ProccntUsage;
-	BYTE *modBaseAddr;
-	DWORD modBaseSize;
-	HMODULE hModule;
-	WCHAR szModule[MAX_MODULE_NAME32 + 1];
-	WCHAR szExePath[MAX_PATH];
-} MODULEENTRY32W,*PMODULEENTRY32W,*LPMODULEENTRY32W;
-typedef struct tagMODULEENTRY32 {
-	DWORD dwSize;
-	DWORD th32ModuleID;
-	DWORD th32ProcessID;
-	DWORD GlblcntUsage;
-	DWORD ProccntUsage;
-	BYTE *modBaseAddr;
-	DWORD modBaseSize;
-	HMODULE hModule;
-	char szModule[MAX_MODULE_NAME32 + 1];
-	char szExePath[MAX_PATH];
-} MODULEENTRY32,*PMODULEENTRY32,*LPMODULEENTRY32;
-BOOL WINAPI Heap32First(LPHEAPENTRY32,DWORD,DWORD);
-BOOL WINAPI Heap32ListFirst(HANDLE,LPHEAPLIST32);
-BOOL WINAPI Heap32ListNext(HANDLE,LPHEAPLIST32);
-BOOL WINAPI Heap32Next(LPHEAPENTRY32);
-BOOL WINAPI Module32First(HANDLE,LPMODULEENTRY32);
-BOOL WINAPI Module32FirstW(HANDLE,LPMODULEENTRY32W);
-BOOL WINAPI Module32Next(HANDLE,LPMODULEENTRY32);
-BOOL WINAPI Module32NextW(HANDLE,LPMODULEENTRY32W);
-BOOL WINAPI Process32First(HANDLE,LPPROCESSENTRY32);
-BOOL WINAPI Process32FirstW(HANDLE,LPPROCESSENTRY32W);
-BOOL WINAPI Process32Next(HANDLE,LPPROCESSENTRY32);
-BOOL WINAPI Process32NextW(HANDLE,LPPROCESSENTRY32W);
-BOOL WINAPI Thread32First(HANDLE,LPTHREADENTRY32);
-BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
-BOOL WINAPI Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
-HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
-#ifdef UNICODE
-#define LPMODULEENTRY32 LPMODULEENTRY32W
-#define LPPROCESSENTRY32 LPPROCESSENTRY32W
-#define MODULEENTRY32 MODULEENTRY32W
-#define Module32First Module32FirstW
-#define Module32Next Module32NextW
-#define PMODULEENTRY32 PMODULEENTRY32W
-#define PPROCESSENTRY32 PPROCESSENTRY32W
-#define PROCESSENTRY32 PROCESSENTRY32W
-#define Process32First Process32FirstW
-#define Process32Next Process32NextW
-#endif /* UNICODE */
-#ifdef __cplusplus
-}
-#endif
-#endif /* _TLHELP32_H */
-
Index: Daodan/MinGW/include/tmschema.h
===================================================================
--- Daodan/MinGW/include/tmschema.h	(revision 1046)
+++ 	(revision )
@@ -1,664 +1,0 @@
-#ifndef _TMSCHEMA_H
-#define _TMSCHEMA_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/* BUTTON parts */
-enum {
-	BP_PUSHBUTTON = 1,
-	BP_RADIOBUTTON = 2,
-	BP_CHECKBOX = 3,
-	BP_GROUPBOX = 4,
-	BP_USERBUTTON = 5
-};
-enum {
-	CBS_UNCHECKEDNORMAL = 1,
-	CBS_UNCHECKEDHOT = 2,
-	CBS_UNCHECKEDPRESSED = 3,
-	CBS_UNCHECKEDDISABLED = 4,
-	CBS_CHECKEDNORMAL = 5,
-	CBS_CHECKEDHOT = 6,
-	CBS_CHECKEDPRESSED = 7,
-	CBS_CHECKEDDISABLED = 8,
-	CBS_MIXEDNORMAL = 9,
-	CBS_MIXEDHOT = 10,
-	CBS_MIXEDPRESSED = 11,
-	CBS_MIXEDDISABLED = 12
-};
-enum {
-	GBS_NORMAL = 1,
-	GBS_DISABLED = 2
-};
-enum {
-	PBS_NORMAL = 1,
-	PBS_HOT = 2,
-	PBS_PRESSED = 3,
-	PBS_DISABLED = 4,
-	PBS_DEFAULTED = 5
-};
-enum {
-	RBS_UNCHECKEDNORMAL = 1,
-	RBS_UNCHECKEDHOT = 2,
-	RBS_UNCHECKEDPRESSED = 3,
-	RBS_UNCHECKEDDISABLED = 4,
-	RBS_CHECKEDNORMAL = 5,
-	RBS_CHECKEDHOT = 6,
-	RBS_CHECKEDPRESSED = 7,
-	RBS_CHECKEDDISABLED = 8
-};
-/* CLOCK parts */
-enum {
-	CLP_TIME = 1
-};
-enum {
-	CLS_NORMAL = 1
-};
-/* COMBOBOX parts */
-enum {
-	CP_DROPDOWNBUTTON = 1
-};
-enum {
-	CBXS_NORMAL = 1,
-	CBXS_HOT = 2,
-	CBXS_PRESSED = 3,
-	CBXS_DISABLED = 4
-};
-/* EDIT parts */
-enum {
-	EP_EDITTEXT = 1,
-	EP_CARET = 2
-};
-enum {
-	ETS_NORMAL = 1,
-	ETS_HOT = 2,
-	ETS_SELECTED = 3,
-	ETS_DISABLED = 4,
-	ETS_FOCUSED = 5,
-	ETS_READONLY = 6,
-	ETS_ASSIST = 7
-};
-/* EXPLORERBAR parts */
-enum {
-	EBP_HEADERBACKGROUND = 1,
-	EBP_HEADERCLOSE = 2,
-	EBP_HEADERPIN = 3,
-	EBP_IEBARMENU = 4,
-	EBP_NORMALGROUPBACKGROUND = 5,
-	EBP_NORMALGROUPCOLLAPSE = 6,
-	EBP_NORMALGROUPEXPAND = 7,
-	EBP_NORMALGROUPHEAD = 8,
-	EBP_SPECIALGROUPBACKGROUND = 9,
-	EBP_SPECIALGROUPCOLLAPSE = 10,
-	EBP_SPECIALGROUPEXPAND = 11,
-	EBP_SPECIALGROUPHEAD = 12
-};
-enum {
-	EBHC_NORMAL = 1,
-	EBHC_HOT = 2,
-	EBHC_PRESSED = 3
-};
-enum {
-	EBHP_NORMAL = 1,
-	EBHP_HOT = 2,
-	EBHP_PRESSED = 3,
-	EBHP_SELECTEDNORMAL = 4,
-	EBHP_SELECTEDHOT = 5,
-	EBHP_SELECTEDPRESSED = 6
-};
-enum {
-	EBM_NORMAL = 1,
-	EBM_HOT = 2,
-	EBM_PRESSED = 3
-};
-enum {
-	EBNGC_NORMAL = 1,
-	EBNGC_HOT = 2,
-	EBNGC_PRESSED = 3
-};
-enum {
-	EBNGE_NORMAL = 1,
-	EBNGE_HOT = 2,
-	EBNGE_PRESSED = 3
-};
-enum {
-	EBSGC_NORMAL = 1,
-	EBSGC_HOT = 2,
-	EBSGC_PRESSED = 3
-};
-enum {
-	EBSGE_NORMAL = 1,
-	EBSGE_HOT = 2,
-	EBSGE_PRESSED = 3
-};
-/* HEADER parts */
-enum {
-	HP_HEADERITEM = 1,
-	HP_HEADERITEMLEFT = 2,
-	HP_HEADERITEMRIGHT = 3,
-	HP_HEADERSORTARROW = 4
-};
-enum {
-	HIS_NORMAL = 1,
-	HIS_HOT = 2,
-	HIS_PRESSED = 3
-};
-enum {
-	HILS_NORMAL = 1,
-	HILS_HOT = 2,
-	HILS_PRESSED = 3
-};
-enum {
-	HIRS_NORMAL = 1,
-	HIRS_HOT = 2,
-	HIRS_PRESSED = 3
-};
-enum {
-	HSAS_SORTEDUP = 1,
-	HSAS_SORTEDDOWN = 2
-};
-/* LISTVIEW parts */
-enum {
-	LVP_LISTITEM = 1,
-	LVP_LISTGROUP = 2,
-	LVP_LISTDETAIL = 3,
-	LVP_LISTSORTEDDETAIL = 4,
-	LVP_EMPTYTEXT = 5
-};
-enum {
-	LIS_NORMAL = 1,
-	LIS_HOT = 2,
-	LIS_SELECTED = 3,
-	LIS_DISABLED = 4,
-	LIS_SELECTEDNOTFOCUS = 5
-};
-/* MENU parts */
-enum {
-	MP_MENUITEM = 1,
-	MP_MENUDROPDOWN = 2,
-	MP_MENUBARITEM = 3,
-	MP_MENUBARDROPDOWN = 4,
-	MP_CHEVRON = 5,
-	MP_SEPARATOR = 6
-};
-enum {
-	MS_NORMAL = 1,
-	MS_SELECTED = 2,
-	MS_DEMOTED = 3
-};
-/* MENUBAND parts */
-enum {
-	MDP_NEWAPPBUTTON = 1,
-	MDP_SEPERATOR = 2
-};
-enum {
-	MDS_NORMAL = 1,
-	MDS_HOT = 2,
-	MDS_PRESSED = 3,
-	MDS_DISABLED = 4,
-	MDS_CHECKED = 5,
-	MDS_HOTCHECKED = 6
-};
-/* PAGE parts */
-enum {
-	PGRP_UP = 1,
-	PGRP_DOWN = 2,
-	PGRP_UPHORZ = 3,
-	PGRP_DOWNHORZ = 4
-};
-enum {
-	DNS_NORMAL = 1,
-	DNS_HOT = 2,
-	DNS_PRESSED = 3,
-	DNS_DISABLED = 4
-};
-enum {
-	DNHZS_NORMAL = 1,
-	DNHZS_HOT = 2,
-	DNHZS_PRESSED = 3,
-	DNHZS_DISABLED = 4
-};
-enum {
-	UPS_NORMAL = 1,
-	UPS_HOT = 2,
-	UPS_PRESSED = 3,
-	UPS_DISABLED = 4
-};
-enum {
-	UPHZS_NORMAL = 1,
-	UPHZS_HOT = 2,
-	UPHZS_PRESSED = 3,
-	UPHZS_DISABLED = 4
-};
-/* PROGRESS parts */
-enum {
-	PP_BAR = 1,
-	PP_BARVERT = 2,
-	PP_CHUNK = 3,
-	PP_CHUNKVERT = 4
-};
-/* REBAR parts */
-enum {
-	RP_GRIPPER = 1,
-	RP_GRIPPERVERT = 2,
-	RP_BAND = 3,
-	RP_CHEVRON = 4,
-	RP_CHEVRONVERT = 5
-};
-enum {
-	CHEVS_NORMAL = 1,
-	CHEVS_HOT = 2,
-	CHEVS_PRESSED = 3
-};
-/* SCROLLBAR parts */
-enum {
-	SBP_ARROWBTN = 1,
-	SBP_THUMBBTNHORZ = 2,
-	SBP_THUMBBTNVERT = 3,
-	SBP_LOWERTRACKHORZ = 4,
-	SBP_UPPERTRACKHORZ = 5,
-	SBP_LOWERTRACKVERT = 6,
-	SBP_UPPERTRACKVERT = 7,
-	SBP_GRIPPERHORZ = 8,
-	SBP_GRIPPERVERT = 9,
-	SBP_SIZEBOX = 10
-};
-enum {
-	ABS_UPNORMAL = 1,
-	ABS_UPHOT = 2,
-	ABS_UPPRESSED = 3,
-	ABS_UPDISABLED = 4,
-	ABS_DOWNNORMAL = 5,
-	ABS_DOWNHOT = 6,
-	ABS_DOWNPRESSED = 7,
-	ABS_DOWNDISABLED = 8,
-	ABS_LEFTNORMAL = 9,
-	ABS_LEFTHOT = 10,
-	ABS_LEFTPRESSED = 11,
-	ABS_LEFTDISABLED = 12,
-	ABS_RIGHTNORMAL = 13,
-	ABS_RIGHTHOT = 14,
-	ABS_RIGHTPRESSED = 15,
-	ABS_RIGHTDISABLED = 16
-};
-enum {
-	SCRBS_NORMAL = 1,
-	SCRBS_HOT = 2,
-	SCRBS_PRESSED = 3,
-	SCRBS_DISABLED = 4
-};
-enum {
-	SZB_RIGHTALIGN = 1,
-	SZB_LEFTALIGN = 2
-};
-/* SPIN parts */
-enum {
-	SPNP_UP = 1,
-	SPNP_DOWN = 2,
-	SPNP_UPHORZ = 3,
-	SPNP_DOWNHORZ = 4
-};
-/* STARTPANEL parts */
-enum {
-	SPP_USERPANE = 1,
-	SPP_MOREPROGRAMS = 2,
-	SPP_MOREPROGRAMSARROW = 3,
-	SPP_PROGLIST = 4,
-	SPP_PROGLISTSEPARATOR = 5,
-	SPP_PLACESLIST = 6,
-	SPP_PLACESLISTSEPARATOR = 7,
-	SPP_LOGOFF = 8,
-	SPP_LOGOFFBUTTONS = 9,
-	SPP_USERPICTURE = 10,
-	SPP_PREVIEW = 11
-};
-enum {
-	SPLS_NORMAL = 1,
-	SPLS_HOT = 2,
-	SPLS_PRESSED = 3
-};
-enum {
-	SPS_NORMAL = 1,
-	SPS_HOT = 2,
-	SPS_PRESSED = 3
-};
-/* STATUS parts */
-enum {
-	SP_PANE = 1,
-	SP_GRIPPERPANE = 2,
-	SP_GRIPPER = 3
-};
-/* TAB parts */
-enum {
-	TABP_TABITEM = 1,
-	TABP_TABITEMLEFTEDGE = 2,
-	TABP_TABITEMRIGHTEDGE = 3,
-	TABP_TABITEMBOTHEDGE = 4,
-	TABP_TOPTABITEM = 5,
-	TABP_TOPTABITEMLEFTEDGE = 6,
-	TABP_TOPTABITEMRIGHTEDGE = 7,
-	TABP_TOPTABITEMBOTHEDGE = 8,
-	TABP_PANE = 9,
-	TABP_BODY = 10
-};
-enum {
-	TIS_NORMAL = 1,
-	TIS_HOT = 2,
-	TIS_SELECTED = 3,
-	TIS_DISABLED = 4,
-	TIS_FOCUSED = 5
-};
-enum {
-	TIBES_NORMAL = 1,
-	TIBES_HOT = 2,
-	TIBES_SELECTED = 3,
-	TIBES_DISABLED = 4,
-	TIBES_FOCUSED = 5
-};
-enum {
-	TILES_NORMAL = 1,
-	TILES_HOT = 2,
-	TILES_SELECTED = 3,
-	TILES_DISABLED = 4,
-	TILES_FOCUSED = 5
-};
-enum {
-	TIRES_NORMAL = 1,
-	TIRES_HOT = 2,
-	TIRES_SELECTED = 3,
-	TIRES_DISABLED = 4,
-	TIRES_FOCUSED = 5
-};
-enum {
-	TTIS_NORMAL = 1,
-	TTIS_HOT = 2,
-	TTIS_SELECTED = 3,
-	TTIS_DISABLED = 4,
-	TTIS_FOCUSED = 5
-};
-enum {
-	TTIBES_NORMAL = 1,
-	TTIBES_HOT = 2,
-	TTIBES_SELECTED = 3,
-	TTIBES_DISABLED = 4,
-	TTIBES_FOCUSED = 5
-};
-enum {
-	TTILES_NORMAL = 1,
-	TTILES_HOT = 2,
-	TTILES_SELECTED = 3,
-	TTILES_DISABLED = 4,
-	TTILES_FOCUSED = 5
-};
-enum {
-	TTIRES_NORMAL = 1,
-	TTIRES_HOT = 2,
-	TTIRES_SELECTED = 3,
-	TTIRES_DISABLED = 4,
-	TTIRES_FOCUSED = 5
-};
-/* TASKBAND parts */
-enum {
-	TDP_GROUPCOUNT = 1,
-	TDP_FLASHBUTTON = 2,
-	TDP_FLASHBUTTONGROUPMENU = 3
-};
-/* TASKBAR parts */
-enum {
-	TBP_BACKGROUNDBOTTOM = 1,
-	TBP_BACKGROUNDRIGHT = 2,
-	TBP_BACKGROUNDTOP = 3,
-	TBP_BACKGROUNDLEFT = 4,
-	TBP_SIZINGBARBOTTOM = 5,
-	TBP_SIZINGBARRIGHT = 6,
-	TBP_SIZINGBARTOP = 7,
-	TBP_SIZINGBARLEFT = 8
-};
-/* TOOLBAR parts */
-enum {
-	TP_BUTTON = 1,
-	TP_DROPDOWNBUTTON = 2,
-	TP_SPLITBUTTON = 3,
-	TP_SPLITBUTTONDROPDOWN = 4,
-	TP_SEPARATOR = 5,
-	TP_SEPARATORVERT = 6
-};
-enum {
-	TS_NORMAL = 1,
-	TS_HOT = 2,
-	TS_PRESSED = 3,
-	TS_DISABLED = 4,
-	TS_CHECKED = 5,
-	TS_HOTCHECKED = 6
-};
-/* TOOLTIP parts */
-enum {
-	TTP_STANDARD = 1,
-	TTP_STANDARDTITLE = 2,
-	TTP_BALLOON = 3,
-	TTP_BALLOONTITLE = 4,
-	TTP_CLOSE = 5
-};
-enum {
-	TTBS_NORMAL = 1,
-	TTBS_LINK = 2
-};
-enum {
-	TTCS_NORMAL = 1,
-	TTCS_HOT = 2,
-	TTCS_PRESSED = 3
-};
-enum {
-	TTSS_NORMAL = 1,
-	TTSS_LINK = 2
-};
-/* TRACKBAR parts */
-enum {
-	TKP_TRACK = 1,
-	TKP_TRACKVERT = 2,
-	TKP_THUMB = 3,
-	TKP_THUMBBOTTOM = 4,
-	TKP_THUMBTOP = 5,
-	TKP_THUMBVERT = 6,
-	TKP_THUMBLEFT = 7,
-	TKP_THUMBRIGHT = 8,
-	TKP_TICS = 9,
-	TKP_TICSVERT = 10
-};
-enum {
-	TUS_NORMAL = 1,
-	TUS_HOT = 2,
-	TUS_PRESSED = 3,
-	TUS_FOCUSED = 4,
-	TUS_DISABLED = 5
-};
-enum {
-	TUBS_NORMAL = 1,
-	TUBS_HOT = 2,
-	TUBS_PRESSED = 3,
-	TUBS_FOCUSED = 4,
-	TUBS_DISABLED = 5
-};
-enum {
-	TUVLS_NORMAL = 1,
-	TUVLS_HOT = 2,
-	TUVLS_PRESSED = 3,
-	TUVLS_FOCUSED = 4,
-	TUVLS_DISABLED = 5
-};
-enum {
-	TUVRS_NORMAL = 1,
-	TUVRS_HOT = 2,
-	TUVRS_PRESSED = 3,
-	TUVRS_FOCUSED = 4,
-	TUVRS_DISABLED = 5
-};
-enum {
-	TUTS_NORMAL = 1,
-	TUTS_HOT = 2,
-	TUTS_PRESSED = 3,
-	TUTS_FOCUSED = 4,
-	TUTS_DISABLED = 5
-};
-enum {
-	TUVS_NORMAL = 1,
-	TUVS_HOT = 2,
-	TUVS_PRESSED = 3,
-	TUVS_FOCUSED = 4,
-	TUVS_DISABLED = 5
-};
-enum {
-	TSS_NORMAL = 1
-};
-enum {
-	TSVS_NORMAL = 1
-};
-enum {
-	TRS_NORMAL = 1
-};
-enum {
-	TRVS_NORMAL = 1
-};
-/* TRAYNOTIFY parts */
-enum {
-	TNP_BACKGROUND = 1,
-	TNP_ANIMBACKGROUND = 2
-};
-/* TREEVIEW parts */
-enum {
-	TVP_TREEITEM = 1,
-	TVP_GLYPH = 2,
-	TVP_BRANCH = 3
-};
-enum {
-	GLPS_CLOSED = 1,
-	GLPS_OPENED = 2
-};
-enum {
-	TREIS_NORMAL = 1,
-	TREIS_HOT = 2,
-	TREIS_SELECTED = 3,
-	TREIS_DISABLED = 4,
-	TREIS_SELECTEDNOTFOCUS = 5
-};
-/* WINDOW parts */
-enum {
-	WP_CAPTION = 1,
-	WP_SMALLCAPTION = 2,
-	WP_MINCAPTION = 3,
-	WP_SMALLMINCAPTION = 4,
-	WP_MAXCAPTION = 5,
-	WP_SMALLMAXCAPTION = 6,
-	WP_FRAMELEFT = 7,
-	WP_FRAMERIGHT = 8,
-	WP_FRAMEBOTTOM = 9,
-	WP_SMALLFRAMELEFT = 10,
-	WP_SMALLFRAMERIGHT = 11,
-	WP_SMALLFRAMEBOTTOM = 12,
-	WP_SYSBUTTON = 13,
-	WP_MDISYSBUTTON = 14,
-	WP_MINBUTTON = 15,
-	WP_MDIMINBUTTON = 16,
-	WP_MAXBUTTON = 17,
-	WP_CLOSEBUTTON = 18,
-	WP_SMALLCLOSEBUTTON = 19,
-	WP_MDICLOSEBUTTON = 20,
-	WP_RESTOREBUTTON = 21,
-	WP_MDIRESTOREBUTTON = 22,
-	WP_HELPBUTTON = 23,
-	WP_MDIHELPBUTTON = 24,
-	WP_HORZSCROLL = 25,
-	WP_HORZTHUMB = 26,
-	WP_VERTSCROLL = 27,
-	WP_VERTTHUMB = 28,
-	WP_DIALOG = 29,
-	WP_CAPTIONSIZINGTEMPLATE = 30,
-	WP_SMALLCAPTIONSIZINGTEMPLATE = 31,
-	WP_FRAMELEFTSIZINGTEMPLATE = 32,
-	WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33,
-	WP_FRAMERIGHTSIZINGTEMPLATE = 34,
-	WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35,
-	WP_FRAMEBOTTOMSIZINGTEMPLATE = 36,
-	WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37
-};
-enum {
-	CS_ACTIVE = 1,
-	CS_INACTIVE = 2,
-	CS_DISABLED = 3
-};
-enum {
-	CBS_NORMAL = 1,
-	CBS_HOT = 2,
-	CBS_PUSHED = 3,
-	CBS_DISABLED = 4
-};
-enum {
-	FS_ACTIVE = 1,
-	FS_INACTIVE = 2
-};
-enum {
-	HBS_NORMAL = 1,
-	HBS_HOT = 2,
-	HBS_PUSHED = 3,
-	HBS_DISABLED = 4
-};
-enum {
-	HSS_NORMAL = 1,
-	HSS_HOT = 2,
-	HSS_PUSHED = 3,
-	HSS_DISABLED = 4
-};
-enum {
-	HTS_NORMAL = 1,
-	HTS_HOT = 2,
-	HTS_PUSHED = 3,
-	HTS_DISABLED = 4
-};
-enum {
-	MAXBS_NORMAL = 1,
-	MAXBS_HOT = 2,
-	MAXBS_PUSHED = 3,
-	MAXBS_DISABLED = 4
-};
-enum {
-	MXCS_ACTIVE = 1,
-	MXCS_INACTIVE = 2,
-	MXCS_DISABLED = 3
-};
-enum {
-	MINBS_NORMAL = 1,
-	MINBS_HOT = 2,
-	MINBS_PUSHED = 3,
-	MINBS_DISABLED = 4
-};
-enum {
-	RBS_NORMAL = 1,
-	RBS_HOT = 2,
-	RBS_PUSHED = 3,
-	RBS_DISABLED = 4
-};
-enum {
-	SBS_NORMAL = 1,
-	SBS_HOT = 2,
-	SBS_PUSHED = 3,
-	SBS_DISABLED = 4
-};
-enum {
-	MNCS_ACTIVE = 1,
-	MNCS_INACTIVE = 2,
-	MNCS_DISABLED = 3
-};
-enum {
-	VSS_NORMAL = 1,
-	VSS_HOT = 2,
-	VSS_PUSHED = 3,
-	VSS_DISABLED = 4
-};
-enum {
-	VTS_NORMAL = 1,
-	VTS_HOT = 2,
-	VTS_PUSHED = 3,
-	VTS_DISABLED = 4
-};
-
-#endif
Index: Daodan/MinGW/include/unistd.h
===================================================================
--- Daodan/MinGW/include/unistd.h	(revision 1046)
+++ 	(revision )
@@ -1,137 +1,0 @@
-/*
- * unistd.h
- *
- * Standard header file declaring MinGW's POSIX compatibility features.
- *
- * $Id: unistd.h,v c3ebd36f8211 2016/02/16 16:05:39 keithmarshall $
- *
- * Written by Rob Savoye <rob@cygnus.com>
- * Modified by Earnie Boyd <earnie@users.sourceforge.net>
- *   Danny Smith <dannysmith@users.sourceforge.net>
- *   Ramiro Polla <ramiro@lisha.ufsc.br>
- *   Gregory McGarry  <gregorymcgarry@users.sourceforge.net>
- *   Keith Marshall  <keithmarshall@users.sourceforge.net>
- * Copyright (C) 1997, 1999, 2002-2004, 2007-2009, 2014-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, 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.
- *
- */
-#ifndef _UNISTD_H
-#define _UNISTD_H  1
-#pragma GCC system_header
-
-/* All MinGW headers MUST include _mingw.h before anything else,
- * to ensure proper initialization of feature test macros.
- */
-#include <_mingw.h>
-
-/* unistd.h maps (roughly) to Microsoft's <io.h>
- * Other headers included by <unistd.h> may be selectively processed;
- * __UNISTD_H_SOURCED__ enables such selective processing.
- */
-#define __UNISTD_H_SOURCED__ 1
-
-#include <io.h>
-#include <process.h>
-#include <getopt.h>
-
-/* These are defined in stdio.h.  POSIX also requires that they
- * are to be consistently defined here; don't guard against prior
- * definitions, as this might conceal inconsistencies.
- */
-#define SEEK_SET   0
-#define SEEK_CUR   1
-#define SEEK_END   2
-
-#if _POSIX_C_SOURCE
-/* POSIX process/thread suspension functions; all are supported by a
- * common MinGW API in libmingwex.a, providing for suspension periods
- * ranging from mean values of ~7.5 milliseconds, (see the comments in
- * <time.h>), extending up to a maximum of ~136 years.
- *
- * Note that, whereas POSIX supports early wake-up of any suspended
- * process/thread, in response to a signal, this implementation makes
- * no attempt to emulate this signalling behaviour, (since signals are
- * not well supported by Windows); thus, unless impeded by an invalid
- * argument, this implementation always returns an indication as if
- * the sleeping period ran to completion.
- */
-_BEGIN_C_DECLS
-
-__cdecl __MINGW_NOTHROW
-int __mingw_sleep( unsigned long, unsigned long );
-
-/* The nanosleep() function provides the most general purpose API for
- * process/thread suspension; it is declared in <time.h>, (where it is
- * accompanied by an in-line implementation), rather than here, and it
- * provides for specification of suspension periods in the range from
- * ~7.5 ms mean, (on WinNT derivatives; ~27.5 ms on Win9x), extending
- * up to ~136 years, (effectively eternity).
- *
- * The usleep() function, and its associated useconds_t type specifier
- * were made obsolete in POSIX.1-2008; declared here, only for backward
- * compatibility, its continued use is not recommended.  (It is limited
- * to specification of suspension periods ranging from ~7.5 ms mean up
- * to a maximum of 999,999 microseconds only).
- */
-typedef unsigned long useconds_t __MINGW_ATTRIB_DEPRECATED;
-int __cdecl __MINGW_NOTHROW usleep( useconds_t )__MINGW_ATTRIB_DEPRECATED;
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __LIBIMPL__(( FUNCTION = usleep ))
-int usleep( useconds_t period ){ return __mingw_sleep( 0, 1000 * period ); }
-#endif
-
-/* The sleep() function is, perhaps, the most commonly used of all the
- * process/thread suspension APIs; it provides support for specification
- * of suspension periods ranging from 1 second to ~136 years.  (However,
- * POSIX recommends limiting the maximum period to 65535 seconds, to
- * maintain portability to platforms with only 16-bit ints).
- */
-unsigned __cdecl __MINGW_NOTHROW sleep( unsigned );
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __LIBIMPL__(( FUNCTION = sleep ))
-unsigned sleep( unsigned period ){ return __mingw_sleep( period, 0 ); }
-#endif
-
-
-/* POSIX ftruncate() function.
- *
- * Microsoft's _chsize() function is incorrectly described, on MSDN,
- * as a preferred replacement for the POSIX chsize() function.  There
- * never was any such POSIX function; the actual POSIX equivalent is
- * the ftruncate() function.
- */
-int __cdecl ftruncate( int, off_t );
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __JMPSTUB__(( FUNCTION = ftruncate, REMAPPED = _chsize ))
-int ftruncate( int __fd, off_t __length ){ return _chsize( __fd, __length ); }
-#endif
-
-_END_C_DECLS
-
-#endif /* _POSIX_C_SOURCE */
-
-#undef __UNISTD_H_SOURCED__
-#endif /* ! _UNISTD_H: $RCSfile: unistd.h,v $: end of file */
Index: Daodan/MinGW/include/unknwn.h
===================================================================
--- Daodan/MinGW/include/unknwn.h	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#endif
-
-#ifndef _UNKNWN_H
-#define _UNKNWN_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-#include <objfwd.h>
-#include <wtypes.h>
-
-void * __RPC_USER MIDL_user_allocate(size_t);
-void __RPC_USER MIDL_user_free(void*);
-EXTERN_C const IID IID_IUnknown;
-EXTERN_C const IID IID_IClassFactory;
-#ifndef __IUnknown_INTERFACE_DEFINED__
-#define __IUnknown_INTERFACE_DEFINED__
-#define INTERFACE IUnknown
-DECLARE_INTERFACE(IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-};
-#undef INTERFACE
-typedef IUnknown *LPUNKNOWN;
-#endif
-#ifndef __IClassFactory_INTERFACE_DEFINED__
-#define __IClassFactory_INTERFACE_DEFINED__
-#define INTERFACE IClassFactory
-DECLARE_INTERFACE_(IClassFactory,IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
-	STDMETHOD(LockServer)(THIS_ BOOL) PURE;
-};
-#undef INTERFACE
-typedef IClassFactory *LPCLASSFACTORY;
-#endif
-HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**);
-void __RPC_STUB IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown*);
-void __RPC_STUB IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown*);
-void __RPC_STUB IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,IUnknown**);
-void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL);
-void __RPC_STUB IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Proxy(IClassFactory*,BOOL);
-HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Stub(IClassFactory*,BOOL);
-
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
-    && defined (COBJMACROS)
-#define IUnknown_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IUnknown_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IUnknown_Release(T) (T)->lpVtbl->Release(T)
-#define IClassFactory_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IClassFactory_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IClassFactory_Release(T) (T)->lpVtbl->Release(T)
-#define IClassFactory_CreateInstance(T,p,r,O) (T)->lpVtbl->CreateInstance(T,p,r,O)
-#define IClassFactory_LockServer(T,f) (T)->lpVtbl->LockServer(T,f)
-#endif /* COBJMACROS */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/userenv.h
===================================================================
--- Daodan/MinGW/include/userenv.h	(revision 1046)
+++ 	(revision )
@@ -1,88 +1,0 @@
-#ifndef _USERENV_H
-#define _USERENV_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define PI_NOUI 	(1)
-#define PI_APPLYPOLICY	(2)
-#if (_WIN32_WINNT >= 0x0500)
-#define PT_TEMPORARY	(1)
-#define PT_ROAMING	(2)
-#define PT_MANDATORY	(4)
-#endif
-typedef struct _PROFILEINFOA {
-  DWORD dwSize;
-  DWORD dwFlags;
-  LPSTR lpUserName;
-  LPSTR lpProfilePath;
-  LPSTR lpDefaultPath;
-  LPSTR lpServerName;
-  LPSTR lpPolicyPath;
-  HANDLE hProfile;
-} PROFILEINFOA, *LPPROFILEINFOA;
-typedef struct _PROFILEINFOW {
-  DWORD dwSize;
-  DWORD dwFlags;
-  LPWSTR lpUserName;
-  LPWSTR lpProfilePath;
-  LPWSTR lpDefaultPath;
-  LPWSTR lpServerName;
-  LPWSTR lpPolicyPath;
-  HANDLE hProfile;
-} PROFILEINFOW, *LPPROFILEINFOW;
-BOOL WINAPI LoadUserProfileA(HANDLE,LPPROFILEINFOA);
-BOOL WINAPI LoadUserProfileW(HANDLE,LPPROFILEINFOW);
-BOOL WINAPI UnloadUserProfile(HANDLE,HANDLE);
-BOOL WINAPI GetProfilesDirectoryA(LPSTR,LPDWORD);
-BOOL WINAPI GetProfilesDirectoryW(LPWSTR,LPDWORD);
-BOOL WINAPI GetUserProfileDirectoryA(HANDLE,LPSTR,LPDWORD);
-BOOL WINAPI GetUserProfileDirectoryW(HANDLE,LPWSTR,LPDWORD);
-BOOL WINAPI CreateEnvironmentBlock(LPVOID*,HANDLE,BOOL);
-BOOL WINAPI DestroyEnvironmentBlock(LPVOID);
-#if (_WIN32_WINNT >= 0x0500)
-BOOL WINAPI DeleteProfileA(LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI DeleteProfileW(LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI GetProfileType(DWORD *);
-BOOL WINAPI GetAllUsersProfileDirectoryA(LPSTR,LPDWORD);
-BOOL WINAPI GetAllUsersProfileDirectoryW(LPWSTR,LPDWORD);
-BOOL WINAPI GetDefaultUserProfileDirectoryA(LPSTR,LPDWORD);
-BOOL WINAPI GetDefaultUserProfileDirectoryW(LPWSTR,LPDWORD);
-BOOL WINAPI ExpandEnvironmentStringsForUserA(HANDLE,LPCSTR,LPSTR,DWORD);
-BOOL WINAPI ExpandEnvironmentStringsForUserW(HANDLE,LPCWSTR,LPWSTR,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-HRESULT WINAPI CreateProfile(LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-#endif
-#ifdef UNICODE
-typedef PROFILEINFOW PROFILEINFO;
-typedef LPPROFILEINFOW LPPROFILEINFO;
-#define LoadUserProfile  LoadUserProfileW
-#define GetProfilesDirectory  GetProfilesDirectoryW
-#define GetUserProfileDirectory  GetUserProfileDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteProfile  DeleteProfileW
-#define GetAllUsersProfileDirectory  GetAllUsersProfileDirectoryW
-#define GetDefaultUserProfileDirectory  GetDefaultUserProfileDirectoryW
-#define ExpandEnvironmentStringsForUser  ExpandEnvironmentStringsForUserW
-#endif
-#else
-typedef PROFILEINFOA PROFILEINFO;
-typedef LPPROFILEINFOA LPPROFILEINFO;
-#define LoadUserProfile  LoadUserProfileA
-#define GetProfilesDirectory  GetProfilesDirectoryA
-#define GetUserProfileDirectory  GetUserProfileDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteProfile  DeleteProfileA
-#define GetAllUsersProfileDirectory  GetAllUsersProfileDirectoryA
-#define GetDefaultUserProfileDirectory  GetDefaultUserProfileDirectoryA
-#define ExpandEnvironmentStringsForUser  ExpandEnvironmentStringsForUserA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _USERENV_H */
Index: Daodan/MinGW/include/usp10.h
===================================================================
--- Daodan/MinGW/include/usp10.h	(revision 1046)
+++ 	(revision )
@@ -1,229 +1,0 @@
-#ifndef _USP10_H
-#define _USP10_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,1)
-
-#define SCRIPT_UNDEFINED 0
-#define USP_E_SCRIPT_NOT_IN_FONT  MAKE_HRESULT(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define	SGCM_RTL	0x00000001
-#define	SSA_PASSWORD	0x00000001
-#define	SSA_TAB 	0x00000002
-#define	SSA_CLIP	0x00000004
-#define	SSA_FIT 	0x00000008
-#define	SSA_DZWG	0x00000010
-#define	SSA_FALLBACK	0x00000020
-#define	SSA_BREAK	0x00000040
-#define	SSA_GLYPHS      0x00000080
-#define	SSA_RTL         0x00000100
-#define	SSA_GCP 	0x00000200
-#define	SSA_HOTKEY	0x00000400
-#define	SSA_METAFILE	0x00000800
-#define	SSA_LINK	0x00001000
-#define	SSA_HIDEHOTKEY	0x00002000
-#define	SSA_HOTKEYONLY	0x00002400
-#define	SSA_FULLMEASURE	0x04000000
-#define	SSA_LPKANSIFALLBACK 0x08000000
-#define	SSA_PIDX	0x10000000
-#define	SSA_LAYOUTRTL	0x20000000
-#define	SSA_DONTGLYPH	0x40000000
-#define	SSA_NOKASHIDA	0x80000000
-#define SIC_COMPLEX     1
-#define	SIC_ASCIIDIGIT	2
-#define	SIC_NEUTRAL     4
-#define	SCRIPT_DIGITSUBSTITUTE_CONTEXT	0
-#define	SCRIPT_DIGITSUBSTITUTE_NONE	1
-#define	SCRIPT_DIGITSUBSTITUTE_NATIONAL	2
-#define	SCRIPT_DIGITSUBSTITUTE_TRADITIONAL 3
-
-typedef enum tag_SCRIPT_JUSTIFY {
-  SCRIPT_JUSTIFY_NONE = 0,
-  SCRIPT_JUSTIFY_ARABIC_BLANK = 1,
-  SCRIPT_JUSTIFY_CHARACTER = 2,
-  SCRIPT_JUSTIFY_RESERVED1 = 3,
-  SCRIPT_JUSTIFY_BLANK = 4,
-  SCRIPT_JUSTIFY_RESERVED2 = 5,
-  SCRIPT_JUSTIFY_RESERVED3 = 6,
-  SCRIPT_JUSTIFY_ARABIC_NORMAL = 7,
-  SCRIPT_JUSTIFY_ARABIC_KASHIDA = 8,
-  SCRIPT_JUSTIFY_ARABIC_ALEF = 9,
-  SCRIPT_JUSTIFY_ARABIC_HA = 10,
-  SCRIPT_JUSTIFY_ARABIC_RA = 11,
-  SCRIPT_JUSTIFY_ARABIC_BA = 12,
-  SCRIPT_JUSTIFY_ARABIC_BARA = 13,
-  SCRIPT_JUSTIFY_ARABIC_SEEN = 14,
-  SCRIPT_JUSTIFY_ARABIC_SEEN_M = 15
-} SCRIPT_JUSTIFY;
-
-typedef struct tagGOFFSET {
-  LONG  du;
-  LONG  dv;
-} GOFFSET;
-typedef ULONG OPENTYPE_TAG;
-typedef struct opentype_feature_record{
-  OPENTYPE_TAG    tagFeature;
-  LONG            lParameter;
-} OPENTYPE_FEATURE_RECORD;
-typedef struct tag_SCRIPT_STATE {
-  WORD uBidiLevel :5;
-  WORD fOverrideDirection :1;
-  WORD fInhibitSymSwap :1;
-  WORD fCharShape :1;
-  WORD fDigitSubstitute :1;
-  WORD fInhibitLigate :1;
-  WORD fDisplayZWG :1;
-  WORD fArabicNumContext :1;
-  WORD fGcpClusters :1;
-  WORD fReserved :1;
-  WORD fEngineReserved :2;
-} SCRIPT_STATE;
-typedef struct tag_SCRIPT_ANALYSIS {
-  WORD eScript       :10;
-  WORD fRTL          :1;
-  WORD fLayoutRTL    :1;
-  WORD fLinkBefore   :1;
-  WORD fLinkAfter    :1;
-  WORD fLogicalOrder :1;
-  WORD fNoGlyphIndex :1;
-  SCRIPT_STATE s ;
-} SCRIPT_ANALYSIS;
-typedef void *SCRIPT_CACHE;
-typedef struct script_charprop {
-    WORD           fCanGlyphAlone : 1;
-    WORD           reserved       : 15;
-} SCRIPT_CHARPROP;
-typedef struct tag_SCRIPT_CONTROL {
-  DWORD uDefaultLanguage :16;
-  DWORD fContextDigits :1;
-  DWORD fInvertPreBoundDir :1;
-  DWORD fInvertPostBoundDir :1;
-  DWORD fLinkStringBefore :1;
-  DWORD fLinkStringAfter :1;
-  DWORD fNeutralOverride :1;
-  DWORD fNumericOverride :1;
-  DWORD fLegacyBidiClass :1;
-  DWORD fReserved :8;
-} SCRIPT_CONTROL;
-typedef struct tag_SCRIPT_DIGITSUBSTITUTE {
-  DWORD NationalDigitLanguage    : 16;
-  DWORD TraditionalDigitLanguage : 16;
-  DWORD DigitSubstitute          :8;
-  DWORD dwReserved;
-} SCRIPT_DIGITSUBSTITUTE;
-typedef struct {
-  int   cBytes;
-  WORD  wgBlank;
-  WORD  wgDefault;
-  WORD  wgInvalid;
-  WORD  wgKashida;
-  int   iKashidaWidth;
-} SCRIPT_FONTPROPERTIES;
-typedef struct tag_SCRIPT_VISATTR {
-  WORD uJustification :4;
-  WORD fClusterStart :1;
-  WORD fDiacritic :1;
-  WORD fZeroWidth :1;
-  WORD fReserved :1;
-  WORD fShapeReserved :8;
-} SCRIPT_VISATTR;
-typedef struct script_glyphprop {
-    SCRIPT_VISATTR sva;
-    WORD reserved;
-} SCRIPT_GLYPHPROP;
-typedef struct tag_SCRIPT_ITEM {
-  int iCharPos;
-  SCRIPT_ANALYSIS a;
-} SCRIPT_ITEM;
-typedef struct tag_SCRIPT_LOGATTR {
-  BYTE fSoftBreak :1;
-  BYTE fWhiteSpace :1;
-  BYTE fCharStop :1;
-  BYTE fWordStop :1;
-  BYTE fInvalid :1;
-  BYTE fReserved :3;
-} SCRIPT_LOGATTR;
-typedef struct {
-  DWORD   langid              :16;
-  DWORD   fNumeric            :1;
-  DWORD   fComplex            :1;
-  DWORD   fNeedsWordBreaking  :1;
-  DWORD   fNeedsCaretInfo     :1;
-  DWORD   bCharSet            :8;
-  DWORD   fControl            :1;
-  DWORD   fPrivateUseArea     :1;
-  DWORD   fNeedsCharacterJustify :1;
-  DWORD   fInvalidGlyph       :1;
-  DWORD   fInvalidLogAttr     :1;
-  DWORD   fCDM                :1;
-  DWORD   fAmbiguousCharSet   :1;
-  DWORD   fClusterSizeVaries  :1;
-  DWORD   fRejectInvalid      :1;
-} SCRIPT_PROPERTIES;
-typedef void *SCRIPT_STRING_ANALYSIS;
-typedef struct tag_SCRIPT_TABDEF {
-  int cTabStops;
-  int iScale;
-  int *pTabStops;
-  int iTabOrigin;
-} SCRIPT_TABDEF;
-typedef struct textrange_properties{
-    OPENTYPE_FEATURE_RECORD*  potfRecords;
-    int                       cotfRecords;
-} TEXTRANGE_PROPERTIES;
-
-
-HRESULT WINAPI ScriptApplyDigitSubstitution(const SCRIPT_DIGITSUBSTITUTE*,SCRIPT_CONTROL*,SCRIPT_STATE*);
-HRESULT WINAPI ScriptApplyLogicalWidth(const int *,int,int,const WORD *,const SCRIPT_VISATTR *,const int *,const SCRIPT_ANALYSIS *,ABC *,int *);
-HRESULT WINAPI ScriptBreak(const WCHAR *,int,const SCRIPT_ANALYSIS *,SCRIPT_LOGATTR *);
-HRESULT WINAPI ScriptCacheGetHeight(HDC,SCRIPT_CACHE *,long *);
-HRESULT WINAPI ScriptCPtoX(int,BOOL,int,int,const WORD *,const SCRIPT_VISATTR *,const int *,const SCRIPT_ANALYSIS *,int *);
-HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *);
-HRESULT WINAPI ScriptGetCMap(HDC,SCRIPT_CACHE *,const WCHAR*,int,DWORD,WORD *);
-HRESULT WINAPI ScriptGetFontAlternateGlyphs(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,OPENTYPE_TAG,WORD,int,WORD*,int*);
-HRESULT WINAPI ScriptGetFontFeatureTags(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int,OPENTYPE_TAG*,int*);
-HRESULT WINAPI ScriptGetFontLanguageTags(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,int,OPENTYPE_TAG*,int*);
-HRESULT WINAPI ScriptGetFontProperties(HDC,SCRIPT_CACHE *,SCRIPT_FONTPROPERTIES *);
-HRESULT WINAPI ScriptGetFontScriptTags(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,int,OPENTYPE_TAG*,int*);
-HRESULT WINAPI ScriptGetGlyphABCWidth(HDC,SCRIPT_CACHE *,WORD,ABC *);
-HRESULT WINAPI ScriptGetLogicalWidths(const SCRIPT_ANALYSIS *,int,int,const int *,const WORD *,const SCRIPT_VISATTR *,int *);
-HRESULT WINAPI ScriptGetProperties(const SCRIPT_PROPERTIES ***,int *);
-HRESULT WINAPI ScriptIsComplex(const WCHAR *,int,DWORD);
-HRESULT WINAPI ScriptItemize(const WCHAR *,int,int,const SCRIPT_CONTROL *,const SCRIPT_STATE *,SCRIPT_ITEM *,int *);
-HRESULT WINAPI ScriptItemizeOpenType(const WCHAR*,int,int,const SCRIPT_CONTROL*,const SCRIPT_STATE*,SCRIPT_ITEM*,OPENTYPE_TAG*,int*);
-HRESULT WINAPI ScriptJustify(const SCRIPT_VISATTR *,const int *,int,int,int,int *);
-HRESULT WINAPI ScriptLayout(int,const BYTE *,int *,int *);
-HRESULT WINAPI ScriptPlace(HDC,SCRIPT_CACHE *,const WORD *,int,const SCRIPT_VISATTR *,SCRIPT_ANALYSIS *,int *,GOFFSET *,ABC *);
-HRESULT WINAPI ScriptPlaceOpenType(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,const WORD*,const SCRIPT_CHARPROP*,int,const WORD*,const SCRIPT_GLYPHPROP*,int,int*,GOFFSET*,ABC*);
-HRESULT WINAPI ScriptPositionSingleGlyph(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,OPENTYPE_TAG,LONG,WORD,int,GOFFSET,int*,GOFFSET*);
-HRESULT WINAPI ScriptRecordDigitSubstitution(LCID,SCRIPT_DIGITSUBSTITUTE *);
-HRESULT WINAPI ScriptShape(HDC,SCRIPT_CACHE *,const WCHAR *,int,int,SCRIPT_ANALYSIS *,WORD *,WORD *,SCRIPT_VISATTR *,int *);
-HRESULT WINAPI ScriptShapeOpenType(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,int*,TEXTRANGE_PROPERTIES**,int,const WCHAR*,int,int,WORD*,SCRIPT_CHARPROP*,WORD*,SCRIPT_GLYPHPROP*,int*);
-HRESULT WINAPI ScriptStringAnalyse(HDC,const void *,int,int,int,DWORD,int,SCRIPT_CONTROL *,SCRIPT_STATE *,const int *,SCRIPT_TABDEF *,const BYTE *,SCRIPT_STRING_ANALYSIS *);
-HRESULT WINAPI ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS,int,BOOL,int *);
-HRESULT WINAPI ScriptStringFree(SCRIPT_STRING_ANALYSIS *);
-HRESULT WINAPI ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS,int *);
-HRESULT WINAPI ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS,UINT *);
-HRESULT WINAPI ScriptStringOut(SCRIPT_STRING_ANALYSIS,int,int,UINT,const RECT *,int,int,BOOL);
-const int*WINAPI ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS);
-const SCRIPT_LOGATTR* WINAPI ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS);
-const SIZE* WINAPI ScriptString_pSize(SCRIPT_STRING_ANALYSIS);
-HRESULT WINAPI ScriptStringValidate(SCRIPT_STRING_ANALYSIS);
-HRESULT WINAPI ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS,int,int *,int *);
-HRESULT WINAPI ScriptSubstituteSingleGlyph(HDC,SCRIPT_CACHE*,SCRIPT_ANALYSIS*,OPENTYPE_TAG,OPENTYPE_TAG,OPENTYPE_TAG,LONG,WORD,WORD*);
-HRESULT WINAPI ScriptTextOut(const HDC,SCRIPT_CACHE *,int,int,UINT,const RECT *,const SCRIPT_ANALYSIS *,const WCHAR *,int,const WORD *,int,const int *,const int *,const GOFFSET *);
-HRESULT WINAPI ScriptXtoCP(int,int,int,const WORD *,const SCRIPT_VISATTR *,const int *,const SCRIPT_ANALYSIS *,int *,int *);
-
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ndef _USP10_H_ */
Index: Daodan/MinGW/include/utime.h
===================================================================
--- Daodan/MinGW/include/utime.h	(revision 1046)
+++ 	(revision )
@@ -1,1 +1,0 @@
-#include <sys/utime.h>
Index: Daodan/MinGW/include/uxtheme.h
===================================================================
--- Daodan/MinGW/include/uxtheme.h	(revision 1046)
+++ 	(revision )
@@ -1,273 +1,0 @@
-#ifndef _UXTHEME_H
-#define _UXTHEME_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <commctrl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-#define DTBG_CLIPRECT 0x00000001
-#define DTBG_DRAWSOLID 0x00000002
-#define DTBG_OMITBORDER 0x00000004
-#define DTBG_OMITCONTENT 0x00000008
-#define DTBG_COMPUTINGREGION 0x00000010
-#define DTBG_MIRRORDC 0x00000020
-#define DTT_GRAYED 0x00000001
-#define ETDT_DISABLE 0x00000001
-#define ETDT_ENABLE 0x00000002
-#define ETDT_USETABTEXTURE 0x00000004
-#define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE)
-#define STAP_ALLOW_NONCLIENT 0x00000001
-#define STAP_ALLOW_CONTROLS 0x00000002
-#define STAP_ALLOW_WEBCONTENT 0x00000004
-#define HTTB_BACKGROUNDSEG 0x0000
-#define HTTB_FIXEDBORDER 0x0002
-#define HTTB_CAPTION 0x0004
-#define HTTB_RESIZINGBORDER_LEFT 0x0010
-#define HTTB_RESIZINGBORDER_TOP 0x0020
-#define HTTB_RESIZINGBORDER_RIGHT 0x0040
-#define HTTB_RESIZINGBORDER_BOTTOM 0x0080
-#define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
-#define HTTB_SIZINGTEMPLATE 0x0100
-#define HTTB_SYSTEMSIZINGMARGINS 0x0200
-#define TMT_DISPLAYNAME 0x0259
-#define TMT_TOOLTIP 0x025A
-#define TMT_COMPANY 0x025B
-#define TMT_AUTHOR 0x025C
-#define TMT_COPYRIGHT 0x025D
-#define TMT_URL 0x025E
-#define TMT_VERSION 0x025F
-#define TMT_DESCRIPTION 0x0260
-#define TMT_CAPTIONFONT 0x0321
-#define TMT_SMALLCAPTIONFONT 0x0322
-#define TMT_MENUFONT 0x0323
-#define TMT_STATUSFONT 0x0324
-#define TMT_MSGBOXFONT 0x0325
-#define TMT_ICONTITLEFONT 0x0326
-#define TMT_FLATMENUS 0x03E9
-#define TMT_MINCOLORDEPTH 0x0515
-#define TMT_CSSNAME 0x0579
-#define TMT_XMLNAME 0x057A
-#define TMT_SCROLLBAR 0x0641
-#define TMT_BACKGROUND 0x0642
-#define TMT_ACTIVECAPTION 0x0643
-#define TMT_INACTIVECAPTION 0x0644
-#define TMT_WINDOW 0x0646
-#define TMT_WINDOWFRAME 0x0647
-#define TMT_MENUTEXT 0x0648
-#define TMT_WINDOWTEXT 0x0649
-#define TMT_CAPTIONTEXT 0x064A
-#define TMT_ACTIVEBORDER 0x064B
-#define TMT_INACTIVEBORDER 0x064C
-#define TMT_APPWORKSPACE 0x064D
-#define TMT_HIGHLIGHT 0x064E
-#define TMT_HIGHLIGHTTEXT 0x064F
-#define TMT_BTNFACE 0x0650
-#define TMT_BTNSHADOW 0x0651
-#define TMT_GRAYTEXT 0x0652
-#define TMT_BTNTEXT 0x0653
-#define TMT_INACTIVECAPTIONTEXT 0x0654
-#define TMT_BTNHIGHLIGHT 0x0655
-#define TMT_DKSHADOW3D 0x0656
-#define TMT_LIGHT3D 0x0657
-#define TMT_INFOTEXT 0x0658
-#define TMT_INFOBK 0x0659
-#define TMT_BUTTONALTERNATEFACE 0x065A
-#define TMT_HOTTRACKING 0x065B
-#define TMT_GRADIENTACTIVECAPTION 0x065C
-#define TMT_GRADIENTINACTIVECAPTION 0x065D
-#define TMT_MENUHILIGHT 0x065E
-#define TMT_MENUBAR 0x065F
-#define TMT_TRANSPARENT 0x0899
-#define TMT_AUTOSIZE 0x089A
-#define TMT_BORDERONLY 0x089B
-#define TMT_COMPOSITED 0x089C
-#define TMT_BGFILL 0x089D
-#define TMT_GLYPHTRANSPARENT 0x089E
-#define TMT_GLYPHONLY 0x089F
-#define TMT_ALWAYSSHOWSIZINGBAR 0x08A0
-#define TMT_MIRRORIMAGE 0x08A1
-#define TMT_UNIFORMSIZING 0x08A2
-#define TMT_INTEGRALSIZING 0x08A3
-#define TMT_SOURCEGROW 0x08A4
-#define TMT_SOURCESHRINK 0x08A5
-#define TMT_IMAGECOUNT 0x0961
-#define TMT_ALPHALEVEL 0x0962
-#define TMT_BORDERSIZE 0x0963
-#define TMT_ROUNDCORNERWIDTH 0x0964
-#define TMT_ROUNDCORNERHEIGHT 0x0965
-#define TMT_GRADIENTRATIO1 0x0966
-#define TMT_GRADIENTRATIO2 0x0967
-#define TMT_GRADIENTRATIO3 0x0968
-#define TMT_GRADIENTRATIO4 0x0969
-#define TMT_GRADIENTRATIO5 0x096A
-#define TMT_PROGRESSCHUNKSIZE 0x096B
-#define TMT_PROGRESSSPACESIZE 0x096C
-#define TMT_SATURATION 0x096D
-#define TMT_TEXTBORDERSIZE 0x096E
-#define TMT_ALPHATHRESHOLD 0x096F
-#define TMT_WIDTH 0x0970
-#define TMT_HEIGHT 0x0971
-#define TMT_GLYPHINDEX 0x0972
-#define TMT_TRUESIZESTRETCHMARK 0x0973
-#define TMT_MINDPI1 0x0974
-#define TMT_MINDPI2 0x0975
-#define TMT_MINDPI3 0x0976
-#define TMT_MINDPI4 0x0977
-#define TMT_MINDPI5 0x0978
-#define TMT_GLYPHFONT 0x0A29
-#define TMT_IMAGEFILE 0x0BB9
-#define TMT_IMAGEFILE1 0x0BBA
-#define TMT_IMAGEFILE2 0x0BBB
-#define TMT_IMAGEFILE3 0x0BBC
-#define TMT_IMAGEFILE4 0x0BBD
-#define TMT_IMAGEFILE5 0x0BBE
-#define TMT_STOCKIMAGEFILE 0x0BBF
-#define TMT_GLYPHIMAGEFILE 0x0BC0
-#define TMT_TEXT 0x0C81
-#define TMT_OFFSET 0x0D49
-#define TMT_TEXTSHADOWOFFSET 0x0D4A
-#define TMT_MINSIZE 0x0D4B
-#define TMT_MINSIZE1 0x0D4C
-#define TMT_MINSIZE2 0x0D4D
-#define TMT_MINSIZE3 0x0D4E
-#define TMT_MINSIZE4 0x0D4F
-#define TMT_MINSIZE5 0x0D50
-#define TMT_NORMALSIZE 0x0D51
-#define TMT_SIZINGMARGINS 0x0E11
-#define TMT_CONTENTMARGINS 0x0E12
-#define TMT_CAPTIONMARGINS 0x0E13
-#define TMT_BORDERCOLOR 0x0ED9
-#define TMT_FILLCOLOR 0x0EDA
-#define TMT_TEXTCOLOR 0x0EDB
-#define TMT_EDGELIGHTCOLOR 0x0EDC
-#define TMT_EDGEHIGHLIGHTCOLOR 0x0EDD
-#define TMT_EDGESHADOWCOLOR 0x0EDE
-#define TMT_EDGEDKSHADOWCOLOR 0x0EDF
-#define TMT_EDGEFILLCOLOR 0x0EE0
-#define TMT_TRANSPARENTCOLOR 0x0EE1
-#define TMT_GRADIENTCOLOR1 0x0EE2
-#define TMT_GRADIENTCOLOR2 0x0EE3
-#define TMT_GRADIENTCOLOR3 0x0EE4
-#define TMT_GRADIENTCOLOR4 0x0EE5
-#define TMT_GRADIENTCOLOR5 0x0EE6
-#define TMT_SHADOWCOLOR 0x0EE7
-#define TMT_GLOWCOLOR 0x0EE8
-#define TMT_TEXTBORDERCOLOR 0x0EE9
-#define TMT_TEXTSHADOWCOLOR 0x0EEA
-#define TMT_GLYPHTEXTCOLOR 0x0EEB
-#define TMT_GLYPHTRANSPARENTCOLOR 0x0EEC
-#define TMT_FILLCOLORHINT 0x0EED
-#define TMT_BORDERCOLORHINT 0x0EEE
-#define TMT_ACCENTCOLORHINT 0x0EEF
-#define TMT_BGTYPE 0x0FA1
-#define TMT_BORDERTYPE 0x0FA2
-#define TMT_FILLTYPE 0x0FA3
-#define TMT_SIZINGTYPE 0x0FA4
-#define TMT_HALIGN 0x0FA5
-#define TMT_CONTENTALIGNMENT 0x0FA6
-#define TMT_VALIGN 0x0FA7
-#define TMT_OFFSETTYPE 0x0FA8
-#define TMT_ICONEFFECT 0x0FA9
-#define TMT_TEXTSHADOWTYPE 0x0FAA
-#define TMT_IMAGELAYOUT 0x0FAB
-#define TMT_GLYPHTYPE 0x0FAC
-#define TMT_IMAGESELECTTYPE 0x0FAD
-#define TMT_GLYPHFONTSIZINGTYPE 0x0FAE
-#define TMT_TRUESIZESCALINGTYPE 0x0FAF
-#define TMT_USERPICTURE 0x1389
-#define TMT_DEFAULTPANESIZE 0x138A
-#define TMT_BLENDCOLOR 0x138B
-#define BT_IMAGEFILE  0x0000
-#define BT_BORDERFILL 0x0001
-#define BT_NONE       0x0002
-
-typedef enum PROPERTYORIGIN {
-	PO_STATE = 0,
-	PO_PART = 1,
-	PO_CLASS = 2,
-	PO_GLOBAL = 3,
-	PO_NOTFOUND = 4
-} PROPERTYORIGIN;
-typedef enum THEMESIZE {
-	TS_MIN,
-	TS_TRUE,
-	TS_DRAW
-} THEME_SIZE;
-typedef struct _DTBGOPTS {
-	DWORD dwSize;
-	DWORD dwFlags;
-	RECT rcClip;
-} DTBGOPTS, *PDTBGOPTS;
-#define MAX_INTLIST_COUNT 10
-typedef struct _INTLIST {
-	int iValueCount;
-	int iValues[MAX_INTLIST_COUNT];
-} INTLIST, *PINTLIST;
-typedef struct _MARGINS {
-	int cxLeftWidth;
-	int cxRightWidth;
-	int cyTopHeight;
-	int cyBottomHeight;
-} MARGINS, *PMARGINS;
-typedef HANDLE HTHEME;
-
-HRESULT WINAPI CloseThemeData(HTHEME);
-HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
-HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*);
-HRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT,RECT*);
-HRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int);
-HRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*);
-HRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,const RECT*);
-HRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD);
-HRESULT WINAPI EnableTheming(BOOL);
-HRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int);
-DWORD WINAPI GetThemeAppProperties();
-HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int,const RECT*,RECT*);
-HRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*);
-HRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*);
-HRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*);
-HRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*);
-HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int);
-HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*);
-HRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int);
-HRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONT*);
-HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*);
-HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*);
-HRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*);
-HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*);
-HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEME_SIZE,SIZE*);
-HRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*);
-HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*);
-HRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*);
-HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int);
-BOOL WINAPI GetThemeSysBool(HTHEME,int);
-COLORREF WINAPI GetThemeSysColor(HTHEME,int);
-HBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int);
-HRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONT*);
-HRESULT WINAPI GetThemeSysInt(HTHEME,int,int*);
-int WINAPI GetThemeSysSize(HTHEME,int);
-HRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int);
-HRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,const RECT*,RECT*);
-HRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRIC*);
-HTHEME WINAPI GetWindowTheme(HWND);
-HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,HRGN,POINT,WORD*);
-BOOL WINAPI IsAppThemed();
-BOOL WINAPI IsThemeActive();
-BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int);
-BOOL WINAPI IsThemeDialogTextureEnabled(HWND);
-BOOL WINAPI IsThemePartDefined(HTHEME,int,int);
-HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
-void WINAPI SetThemeAppProperties(DWORD);
-HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/values.h
===================================================================
--- Daodan/MinGW/include/values.h	(revision 1046)
+++ 	(revision )
@@ -1,4 +1,0 @@
-/*
- * TODO: Nothing here yet. Should provide UNIX compatibility constants
- * comparible to those in limits.h and float.h.
- */
Index: Daodan/MinGW/include/vfw.h
===================================================================
--- Daodan/MinGW/include/vfw.h	(revision 1046)
+++ 	(revision )
@@ -1,1370 +1,0 @@
-#ifndef _VFW_H
-#define _VFW_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-#ifndef _MMSYSTEM_H
-#include <mmsystem.h>
-#endif
-#if !defined  (_OLE2_H) && !defined (_OBJC_NO_COM)
-#include <ole2.h>
-#endif
-
-#define VFWAPI WINAPI
-#define VFWAPIV WINAPIV
-
-#include <pshpack8.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define	ICERR_OK	0
-#define	ICERR_DONTDRAW	1
-#define	ICERR_NEWPALETTE	2
-#define	ICERR_GOTOKEYFRAME	3
-#define	ICERR_STOPDRAWING	4
-#define	ICERR_UNSUPPORTED	-1
-#define	ICERR_BADFORMAT	-2
-#define	ICERR_MEMORY	-3
-#define	ICERR_INTERNAL	-4
-#define	ICERR_BADFLAGS	-5
-#define	ICERR_BADPARAM	-6
-#define	ICERR_BADSIZE	-7
-#define	ICERR_BADHANDLE	-8
-#define	ICERR_CANTUPDATE	-9
-#define	ICERR_ABORT	-10
-#define	ICERR_ERROR	-100
-#define	ICERR_BADBITDEPTH	-200
-#define	ICERR_BADIMAGESIZE	-201
-#define	ICERR_CUSTOM	-400
-#define ICCOMPRESSFRAMES_PADDING	0x01
-#define	ICM_USER	(DRV_USER+0x0000)
-#define	ICM_RESERVED_LOW	(DRV_USER+0x1000)
-#define	ICM_RESERVED_HIGH	(DRV_USER+0x2000)
-#define	ICM_RESERVED	ICM_RESERVED_LOW
-#define	ICM_GETSTATE	(ICM_RESERVED+0)
-#define	ICM_SETSTATE	(ICM_RESERVED+1)
-#define	ICM_GETINFO	(ICM_RESERVED+2)
-#define	ICM_CONFIGURE	(ICM_RESERVED+10)
-#define	ICM_ABOUT	(ICM_RESERVED+11)
-#define	ICM_GETDEFAULTQUALITY	(ICM_RESERVED+30)
-#define	ICM_GETQUALITY	(ICM_RESERVED+31)
-#define	ICM_SETQUALITY	(ICM_RESERVED+32)
-#define	ICM_SET	(ICM_RESERVED+40)
-#define	ICM_GET	(ICM_RESERVED+41)
-#define ICM_FRAMERATE	mmioFOURCC('F','r','m','R')
-#define ICM_KEYFRAMERATE	mmioFOURCC('K','e','y','R')
-#define	ICM_COMPRESS_GET_FORMAT	(ICM_USER+4)
-#define	ICM_COMPRESS_GET_SIZE	(ICM_USER+5)
-#define	ICM_COMPRESS_QUERY	(ICM_USER+6)
-#define	ICM_COMPRESS_BEGIN	(ICM_USER+7)
-#define	ICM_COMPRESS	(ICM_USER+8)
-#define	ICM_COMPRESS_END	(ICM_USER+9)
-#define	ICM_DECOMPRESS_GET_FORMAT	(ICM_USER+10)
-#define	ICM_DECOMPRESS_QUERY	(ICM_USER+11)
-#define	ICM_DECOMPRESS_BEGIN	(ICM_USER+12)
-#define	ICM_DECOMPRESS	(ICM_USER+13)
-#define	ICM_DECOMPRESS_END	(ICM_USER+14)
-#define	ICM_DECOMPRESS_SET_PALETTE	(ICM_USER+29)
-#define	ICM_DECOMPRESS_GET_PALETTE	(ICM_USER+30)
-#define	ICM_DRAW_QUERY	(ICM_USER+31)
-#define	ICM_DRAW_BEGIN	(ICM_USER+15)
-#define	ICM_DRAW_GET_PALETTE	(ICM_USER+16)
-#define	ICM_DRAW_START	(ICM_USER+18)
-#define	ICM_DRAW_STOP	(ICM_USER+19)
-#define	ICM_DRAW_END	(ICM_USER+21)
-#define	ICM_DRAW_GETTIME	(ICM_USER+32)
-#define	ICM_DRAW	(ICM_USER+33)
-#define	ICM_DRAW_WINDOW	(ICM_USER+34)
-#define	ICM_DRAW_SETTIME	(ICM_USER+35)
-#define	ICM_DRAW_REALIZE	(ICM_USER+36)
-#define	ICM_DRAW_FLUSH	(ICM_USER+37)
-#define	ICM_DRAW_RENDERBUFFER	(ICM_USER+38)
-#define	ICM_DRAW_START_PLAY	(ICM_USER+39)
-#define	ICM_DRAW_STOP_PLAY	(ICM_USER+40)
-#define	ICM_DRAW_SUGGESTFORMAT	(ICM_USER+50)
-#define	ICM_DRAW_CHANGEPALETTE	(ICM_USER+51)
-#define	ICM_GETBUFFERSWANTED	(ICM_USER+41)
-#define	ICM_GETDEFAULTKEYFRAMERATE	(ICM_USER+42)
-#define	ICM_DECOMPRESSEX_BEGIN	(ICM_USER+60)
-#define	ICM_DECOMPRESSEX_QUERY	(ICM_USER+61)
-#define	ICM_DECOMPRESSEX	(ICM_USER+62)
-#define	ICM_DECOMPRESSEX_END	(ICM_USER+63)
-#define	ICM_COMPRESS_FRAMES_INFO	(ICM_USER+70)
-#define	ICM_SET_STATUS_PROC	(ICM_USER+72)
-#define ICMF_CONFIGURE_QUERY	0x01
-#define ICCOMPRESS_KEYFRAME	0x01
-#define ICSTATUS_START	0
-#define ICSTATUS_STATUS	1
-#define ICSTATUS_END	2
-#define ICSTATUS_ERROR	3
-#define ICSTATUS_YIELD	4
-#define	ICMODE_COMPRESS	1
-#define	ICMODE_DECOMPRESS	2
-#define	ICMODE_FASTDECOMPRESS	3
-#define	ICMODE_QUERY	4
-#define	ICMODE_FASTCOMPRESS	5
-#define	ICMODE_DRAW	8
-#define ICQUALITY_LOW	0
-#define ICQUALITY_HIGH	10000
-#define ICQUALITY_DEFAULT	-1
-#define	VIDCF_QUALITY	0x01
-#define	VIDCF_CRUNCH	0x02
-#define	VIDCF_TEMPORAL	0x04
-#define	VIDCF_COMPRESSFRAMES	0x08
-#define	VIDCF_DRAW	0x10
-#define	VIDCF_FASTTEMPORALC	0x20
-#define	VIDCF_FASTTEMPORALD	0x80
-#define	VIDCF_QUALITYTIME	0x40
-#define	VIDCF_FASTTEMPORAL	(VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD)
-#define ICMF_ABOUT_QUERY	0x01
-#define ICDECOMPRESS_HURRYUP	0x80000000
-#define ICDECOMPRESS_UPDATE	0x40000000
-#define ICDECOMPRESS_PREROLL	0x20000000
-#define ICDECOMPRESS_NULLFRAME	0x10000000
-#define ICDECOMPRESS_NOTKEYFRAME	0x8000000
-#define ICDRAW_QUERY	0x01L
-#define ICDRAW_FULLSCREEN	0x02L
-#define ICDRAW_HDC	0x04L
-#define ICDRAW_ANIMATE	0x08L
-#define ICDRAW_CONTINUE	0x10L
-#define ICDRAW_MEMORYDC	0x20L
-#define ICDRAW_UPDATING	0x40L
-#define ICDRAW_RENDER	0x80L
-#define ICDRAW_BUFFER	0x100L
-#define ICINSTALL_UNICODE	0x8000
-#define ICINSTALL_FUNCTION	0x01
-#define ICINSTALL_DRIVER	0x02
-#define ICINSTALL_HDRV	0x04
-#define ICINSTALL_DRIVERW	0x8002
-#define ICDRAW_HURRYUP	0x80000000L
-#define ICDRAW_UPDATE	0x40000000L
-#define ICDRAW_PREROLL	0x20000000L
-#define ICDRAW_NULLFRAME	0x10000000L
-#define ICDRAW_NOTKEYFRAME	0x8000000L
-#define ICMF_COMPVARS_VALID	0x01
-#define ICMF_CHOOSE_KEYFRAME	0x01
-#define ICMF_CHOOSE_DATARATE	0x02
-#define ICMF_CHOOSE_PREVIEW	0x04
-#define ICMF_CHOOSE_ALLCOMPRESSORS	0x08
-#define ICTYPE_VIDEO	mmioFOURCC('v','i','d','c')
-#define ICTYPE_AUDIO	mmioFOURCC('a','u','d','c')
-#define formtypeAVI	mmioFOURCC('A','V','I',' ')
-#define listtypeAVIHEADER	mmioFOURCC('h','d','r','l')
-#define ckidAVIMAINHDR	mmioFOURCC('a','v','i','h')
-#define listtypeSTREAMHEADER	mmioFOURCC('s','t','r','l')
-#define ckidSTREAMHEADER	mmioFOURCC('s','t','r','h')
-#define ckidSTREAMFORMAT	mmioFOURCC('s','t','r','f')
-#define ckidSTREAMHANDLERDATA	mmioFOURCC('s','t','r','d')
-#define ckidSTREAMNAME	mmioFOURCC('s','t','r','n')
-#define listtypeAVIMOVIE	mmioFOURCC('m','o','v','i')
-#define listtypeAVIRECORD	mmioFOURCC('r','e','c',' ')
-#define ckidAVINEWINDEX	mmioFOURCC('i', 'd', 'x', '1')
-#define streamtypeANY	0UL
-#define streamtypeVIDEO	mmioFOURCC('v','i','d','s')
-#define streamtypeAUDIO	mmioFOURCC('a','u','d','s')
-#define streamtypeMIDI	mmioFOURCC('m','i','d','s')
-#define streamtypeTEXT	mmioFOURCC('t','x','t','s')
-#define cktypeDIBbits	aviTWOCC('d','b')
-#define cktypeDIBcompressed	aviTWOCC('d','c')
-#define cktypePALchange	aviTWOCC('p','c')
-#define cktypeWAVEbytes	aviTWOCC('w','b')
-#define ckidAVIPADDING	mmioFOURCC('J','U','N','K')
-#define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0'))
-#define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc))))))
-#define TWOCCFromFOURCC(fcc) HIWORD(fcc)
-#define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0')))
-#define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc)
-#define AVIF_HASINDEX	0x10
-#define AVIF_MUSTUSEINDEX	0x20
-#define AVIF_ISINTERLEAVED	0x100
-#define AVIF_TRUSTCKTYPE	0x800
-#define AVIF_WASCAPTUREFILE	0x10000
-#define AVIF_COPYRIGHTED	0x20000
-#define AVI_HEADERSIZE	2048
-#define AVISF_DISABLED	0x01
-#define AVISF_VIDEO_PALCHANGES	0x10000
-#define AVIIF_LIST	0x01
-#define AVIIF_TWOCC	0x02
-#define AVIIF_KEYFRAME	0x10
-#define AVIIF_NOTIME	0x100
-#define AVIIF_COMPUSE	0xfff0000
-#define AVIIF_KEYFRAME	0x10
-#define	AVIGETFRAMEF_BESTDISPLAYFMT	1
-#define AVISTREAMINFO_DISABLED	0x01
-#define AVISTREAMINFO_FORMATCHANGES	0x10000
-#define AVIFILEINFO_HASINDEX	0x10
-#define AVIFILEINFO_MUSTUSEINDEX	0x20
-#define AVIFILEINFO_ISINTERLEAVED	0x100
-#define AVIFILEINFO_TRUSTCKTYPE	0x800
-#define AVIFILEINFO_WASCAPTUREFILE	0x10000
-#define AVIFILEINFO_COPYRIGHTED	0x20000
-#define AVIFILECAPS_CANREAD	0x01
-#define AVIFILECAPS_CANWRITE	0x02
-#define AVIFILECAPS_ALLKEYFRAMES	0x10
-#define AVIFILECAPS_NOCOMPRESSION	0x20
-#define AVICOMPRESSF_INTERLEAVE	0x01
-#define AVICOMPRESSF_DATARATE	0x02
-#define AVICOMPRESSF_KEYFRAMES	0x04
-#define AVICOMPRESSF_VALID	0x08
-#define FIND_DIR	0x0000000fL
-#define FIND_NEXT	0x00000001L
-#define FIND_PREV	0x00000004L
-#define FIND_FROM_START	0x00000008L
-#define FIND_TYPE	0x000000f0L
-#define FIND_KEY	0x00000010L
-#define FIND_ANY	0x00000020L
-#define FIND_FORMAT	0x00000040L
-#define FIND_RET	0x0000f000L
-#define FIND_POS	0x00000000L
-#define FIND_LENGTH	0x00001000L
-#define FIND_OFFSET	0x00002000L
-#define FIND_SIZE	0x00003000L
-#define FIND_INDEX	0x00004000L
-#define AVIERR_OK	0
-#define MAKE_AVIERR(e)	MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e)
-#define AVIERR_UNSUPPORTED	MAKE_AVIERR(101)
-#define AVIERR_BADFORMAT	MAKE_AVIERR(102)
-#define AVIERR_MEMORY	MAKE_AVIERR(103)
-#define AVIERR_INTERNAL	MAKE_AVIERR(104)
-#define AVIERR_BADFLAGS	MAKE_AVIERR(105)
-#define AVIERR_BADPARAM	MAKE_AVIERR(106)
-#define AVIERR_BADSIZE	MAKE_AVIERR(107)
-#define AVIERR_BADHANDLE	MAKE_AVIERR(108)
-#define AVIERR_FILEREAD	MAKE_AVIERR(109)
-#define AVIERR_FILEWRITE	MAKE_AVIERR(110)
-#define AVIERR_FILEOPEN	MAKE_AVIERR(111)
-#define AVIERR_COMPRESSOR	MAKE_AVIERR(112)
-#define AVIERR_NOCOMPRESSOR	MAKE_AVIERR(113)
-#define AVIERR_READONLY	MAKE_AVIERR(114)
-#define AVIERR_NODATA	MAKE_AVIERR(115)
-#define AVIERR_BUFFERTOOSMALL	MAKE_AVIERR(116)
-#define AVIERR_CANTCOMPRESS	MAKE_AVIERR(117)
-#define AVIERR_USERABORT	MAKE_AVIERR(198)
-#define AVIERR_ERROR	MAKE_AVIERR(199)
-#define MCIWNDOPENF_NEW	0x0001
-#define MCIWNDF_NOAUTOSIZEWINDOW	0x0001
-#define MCIWNDF_NOPLAYBAR	0x0002
-#define MCIWNDF_NOAUTOSIZEMOVIE	0x0004
-#define MCIWNDF_NOMENU	0x0008
-#define MCIWNDF_SHOWNAME	0x0010
-#define MCIWNDF_SHOWPOS	0x0020
-#define MCIWNDF_SHOWMODE	0x0040
-#define MCIWNDF_SHOWALL	0x0070
-#define MCIWNDF_NOTIFYMODE	0x0100
-#define MCIWNDF_NOTIFYPOS	0x0200
-#define MCIWNDF_NOTIFYSIZE	0x0400
-#define MCIWNDF_NOTIFYERROR	0x1000
-#define MCIWNDF_NOTIFYALL	0x1F00
-#define MCIWNDF_NOTIFYANSI	0x0080
-#define MCIWNDF_NOTIFYMEDIAA	0x0880
-#define MCIWNDF_NOTIFYMEDIAW	0x0800
-#define MCIWNDF_RECORD	0x2000
-#define MCIWNDF_NOERRORDLG	0x4000
-#define MCIWNDF_NOOPEN	0x8000
-#define MCIWNDM_GETDEVICEID	(WM_USER + 100)
-#define MCIWNDM_GETSTART	(WM_USER + 103)
-#define MCIWNDM_GETLENGTH	(WM_USER + 104)
-#define MCIWNDM_GETEND	(WM_USER + 105)
-#define MCIWNDM_EJECT	(WM_USER + 107)
-#define MCIWNDM_SETZOOM	(WM_USER + 108)
-#define MCIWNDM_GETZOOM	(WM_USER + 109)
-#define MCIWNDM_SETVOLUME	(WM_USER + 110)
-#define MCIWNDM_GETVOLUME	(WM_USER + 111)
-#define MCIWNDM_SETSPEED	(WM_USER + 112)
-#define MCIWNDM_GETSPEED	(WM_USER + 113)
-#define MCIWNDM_SETREPEAT	(WM_USER + 114)
-#define MCIWNDM_GETREPEAT	(WM_USER + 115)
-#define MCIWNDM_REALIZE	(WM_USER + 118)
-#define MCIWNDM_VALIDATEMEDIA	(WM_USER + 121)
-#define MCIWNDM_PLAYFROM	(WM_USER + 122)
-#define MCIWNDM_PLAYTO	(WM_USER + 123)
-#define MCIWNDM_GETPALETTE	(WM_USER + 126)
-#define MCIWNDM_SETPALETTE	(WM_USER + 127)
-#define MCIWNDM_SETTIMERS	(WM_USER + 129)
-#define MCIWNDM_SETACTIVETIMER	(WM_USER + 130)
-#define MCIWNDM_SETINACTIVETIMER	(WM_USER + 131)
-#define MCIWNDM_GETACTIVETIMER	(WM_USER + 132)
-#define MCIWNDM_GETINACTIVETIMER	(WM_USER + 133)
-#define MCIWNDM_CHANGESTYLES	(WM_USER + 135)
-#define MCIWNDM_GETSTYLES	(WM_USER + 136)
-#define MCIWNDM_GETALIAS	(WM_USER + 137)
-#define MCIWNDM_PLAYREVERSE	(WM_USER + 139)
-#define MCIWNDM_GET_SOURCE	(WM_USER + 140)
-#define MCIWNDM_PUT_SOURCE	(WM_USER + 141)
-#define MCIWNDM_GET_DEST	(WM_USER + 142)
-#define MCIWNDM_PUT_DEST	(WM_USER + 143)
-#define MCIWNDM_CAN_PLAY	(WM_USER + 144)
-#define MCIWNDM_CAN_WINDOW	(WM_USER + 145)
-#define MCIWNDM_CAN_RECORD	(WM_USER + 146)
-#define MCIWNDM_CAN_SAVE	(WM_USER + 147)
-#define MCIWNDM_CAN_EJECT	(WM_USER + 148)
-#define MCIWNDM_CAN_CONFIG	(WM_USER + 149)
-#define MCIWNDM_PALETTEKICK	(WM_USER + 150)
-#define MCIWNDM_OPENINTERFACE	(WM_USER + 151)
-#define MCIWNDM_SETOWNER	(WM_USER + 152)
-#define MCIWNDM_SENDSTRINGA	(WM_USER + 101)
-#define MCIWNDM_GETPOSITIONA	(WM_USER + 102)
-#define MCIWNDM_GETMODEA	(WM_USER + 106)
-#define MCIWNDM_SETTIMEFORMATA	(WM_USER + 119)
-#define MCIWNDM_GETTIMEFORMATA	(WM_USER + 120)
-#define MCIWNDM_GETFILENAMEA	(WM_USER + 124)
-#define MCIWNDM_GETDEVICEA	(WM_USER + 125)
-#define MCIWNDM_GETERRORA	(WM_USER + 128)
-#define MCIWNDM_NEWA	(WM_USER + 134)
-#define MCIWNDM_RETURNSTRINGA	(WM_USER + 138)
-#define MCIWNDM_OPENA	(WM_USER + 153)
-#define MCIWNDM_SENDSTRINGW	(WM_USER + 201)
-#define MCIWNDM_GETPOSITIONW	(WM_USER + 202)
-#define MCIWNDM_GETMODEW	(WM_USER + 206)
-#define MCIWNDM_SETTIMEFORMATW	(WM_USER + 219)
-#define MCIWNDM_GETTIMEFORMATW	(WM_USER + 220)
-#define MCIWNDM_GETFILENAMEW	(WM_USER + 224)
-#define MCIWNDM_GETDEVICEW	(WM_USER + 225)
-#define MCIWNDM_GETERRORW	(WM_USER + 228)
-#define MCIWNDM_NEWW	(WM_USER + 234)
-#define MCIWNDM_RETURNSTRINGW	(WM_USER + 238)
-#define MCIWNDM_OPENW	(WM_USER + 252)
-#define MCIWNDM_NOTIFYMODE	(WM_USER + 200)
-#define MCIWNDM_NOTIFYPOS	(WM_USER + 201)
-#define MCIWNDM_NOTIFYSIZE	(WM_USER + 202)
-#define MCIWNDM_NOTIFYMEDIA	(WM_USER + 203)
-#define MCIWNDM_NOTIFYERROR	(WM_USER + 205)
-#define MCIWND_START	-1
-#define MCIWND_END	-2
-#define DDF_UPDATE	0x02
-#define DDF_SAME_HDC	0x04
-#define DDF_SAME_DRAW	0x08
-#define DDF_DONTDRAW	0x10
-#define DDF_ANIMATE	0x20
-#define DDF_BUFFER	0x40
-#define DDF_JUSTDRAWIT	0x80
-#define DDF_FULLSCREEN	0x100
-#define DDF_BACKGROUNDPAL	0x200
-#define DDF_NOTKEYFRAME	0x400
-#define DDF_HURRYUP	0x800
-#define DDF_HALFTONE	0x1000
-#define DDF_PREROLL	DDF_DONTDRAW
-#define DDF_SAME_DIB	DDF_SAME_DRAW
-#define DDF_SAME_SIZE	DDF_SAME_DRAW
-#define PD_CAN_DRAW_DIB	0x01
-#define PD_CAN_STRETCHDIB	0x02
-#define PD_STRETCHDIB_1_1_OK	0x04
-#define PD_STRETCHDIB_1_2_OK	0x08
-#define PD_STRETCHDIB_1_N_OK	0x10
-#ifndef mmioFOURCC
-#define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
-#endif
-#ifndef aviTWOCC
-#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8))
-#endif
-
-#ifndef RC_INVOKED
-DECLARE_HANDLE(HIC);
-DECLARE_HANDLE(HDRAWDIB);
-typedef WORD TWOCC;
-typedef BOOL (CALLBACK *AVISAVECALLBACK)(INT);
-typedef struct {
-	DWORD dwSize;
-	DWORD fccType;
-	DWORD fccHandler;
-	DWORD dwVersion;
-	DWORD dwFlags;
-	LRESULT dwError;
-	LPVOID pV1Reserved;
-	LPVOID pV2Reserved;
-	DWORD dnDevNode;
-} ICOPEN,*LPICOPEN;
-typedef struct {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpbiOutput;
-	LPVOID lpOutput;
-	LPBITMAPINFOHEADER lpbiInput;
-	LPVOID lpInput;
-	LPDWORD lpckid;
-	LPDWORD lpdwFlags;
-	LONG lFrameNum;
-	DWORD dwFrameSize;
-	DWORD dwQuality;
-	LPBITMAPINFOHEADER lpbiPrev;
-	LPVOID lpPrev;
-} ICCOMPRESS;
-typedef struct {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpbiOutput;
-	LPARAM lOutput;
-	LPBITMAPINFOHEADER lpbiInput;
-	LPARAM lInput;
-	LONG lStartFrame;
-	LONG lFrameCount;
-	LONG lQuality;
-	LONG lDataRate;
-	LONG lKeyRate;
-	DWORD dwRate;
-	DWORD dwScale;
-	DWORD dwOverheadPerFrame;
-	DWORD dwReserved2;
-	LONG (CALLBACK *GetData)(LPARAM,LONG,LPVOID,LONG);
-	LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG);
-} ICCOMPRESSFRAMES;
-typedef struct {
-	DWORD dwFlags;
-	LPARAM lParam;
-	LONG (CALLBACK *Status)(LPARAM,UINT,LONG);
-} ICSETSTATUSPROC;
-typedef struct {
-	DWORD dwSize;
-	DWORD fccType;
-	DWORD fccHandler;
-	DWORD dwFlags;
-	DWORD dwVersion;
-	DWORD dwVersionICM;
-	WCHAR szName[16];
-	WCHAR szDescription[128];
-	WCHAR szDriver[128];
-} ICINFO;
-typedef struct {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpbiInput;
-	LPVOID lpInput;
-	LPBITMAPINFOHEADER lpbiOutput;
-	LPVOID lpOutput;
-	DWORD ckid;
-} ICDECOMPRESS;
-typedef struct {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpbiSrc;
-	LPVOID lpSrc;
-	LPBITMAPINFOHEADER lpbiDst;
-	LPVOID lpDst;
-	INT xDst;
-	INT yDst;
-	INT dxDst;
-	INT dyDst;
-	INT xSrc;
-	INT ySrc;
-	INT dxSrc;
-	INT dySrc;
-} ICDECOMPRESSEX;
-typedef struct {
-	DWORD dwFlags;
-	LPBITMAPINFOHEADER lpbiIn;
-	LPBITMAPINFOHEADER lpbiSuggest;
-	INT dxSrc;
-	INT dySrc;
-	INT dxDst;
-	INT dyDst;
-	HIC hicDecompressor;
-} ICDRAWSUGGEST;
-typedef struct {
-	DWORD dwFlags;
-	INT iStart;
-	INT iLen;
-	LPPALETTEENTRY lppe;
-} ICPALETTE;
-typedef struct {
-	DWORD dwFlags;
-	HPALETTE hpal;
-	HWND hwnd;
-	HDC hdc;
-	INT xDst;
-	INT yDst;
-	INT dxDst;
-	INT dyDst;
-	LPBITMAPINFOHEADER lpbi;
-	INT xSrc;
-	INT ySrc;
-	INT dxSrc;
-	INT dySrc;
-	DWORD dwRate;
-	DWORD dwScale;
-} ICDRAWBEGIN;
-typedef struct {
-	DWORD dwFlags;
-	LPVOID lpFormat;
-	LPVOID lpData;
-	DWORD cbData;
-	LONG lTime;
-} ICDRAW;
-typedef struct {
-	LONG cbSize;
-	DWORD dwFlags;
-	HIC hic;
-	DWORD fccType;
-	DWORD fccHandler;
-	LPBITMAPINFO lpbiIn;
-	LPBITMAPINFO lpbiOut;
-	LPVOID lpBitsOut;
-	LPVOID lpBitsPrev;
-	LONG lFrame;
-	LONG lKey;
-	LONG lDataRate;
-	LONG lQ;
-	LONG lKeyCount;
-	LPVOID lpState;
-	LONG cbState;
-} COMPVARS, *PCOMPVARS;
-typedef struct _MainAVIHeader
-{
-	DWORD dwMicroSecPerFrame;
-	DWORD dwMaxBytesPerSec;
-	DWORD dwPaddingGranularity;
-	DWORD dwFlags;
-	DWORD dwTotalFrames;
-	DWORD dwInitialFrames;
-	DWORD dwStreams;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwReserved[4];
-} MainAVIHeader;
-typedef struct {
-	FOURCC fccType;
-	FOURCC fccHandler;
-	DWORD dwFlags;
-	WORD wPriority;
-	WORD wLanguage;
-	DWORD dwInitialFrames;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwStart;
-	DWORD dwLength;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwQuality;
-	DWORD dwSampleSize;
-	RECT rcFrame;
-} AVIStreamHeader;
-typedef struct _AVIINDEXENTRY {
-	DWORD ckid;
-	DWORD dwFlags;
-	DWORD dwChunkOffset;
-	DWORD dwChunkLength;
-} AVIINDEXENTRY;
-typedef struct _AVIPALCHANGE {
-	BYTE bFirstEntry;
-	BYTE bNumEntries;
-	WORD wFlags;
-	PALETTEENTRY peNew[1];
-} AVIPALCHANGE;
-typedef struct _AVISTREAMINFOA {
-	DWORD fccType;
-	DWORD fccHandler;
-	DWORD dwFlags;
-	DWORD dwCaps;
-	WORD wPriority;
-	WORD wLanguage;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwStart;
-	DWORD dwLength;
-	DWORD dwInitialFrames;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwQuality;
-	DWORD dwSampleSize;
-	RECT rcFrame;
-	DWORD dwEditCount;
-	DWORD dwFormatChangeCount;
-	CHAR szName[64];
-} AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA;
-typedef struct _AVISTREAMINFOW {
-	DWORD fccType;
-	DWORD fccHandler;
-	DWORD dwFlags;
-	DWORD dwCaps;
-	WORD wPriority;
-	WORD wLanguage;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwStart;
-	DWORD dwLength;
-	DWORD dwInitialFrames;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwQuality;
-	DWORD dwSampleSize;
-	RECT rcFrame;
-	DWORD dwEditCount;
-	DWORD dwFormatChangeCount;
-	WCHAR szName[64];
-} AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW;
-typedef struct _AVIFILEINFOW {
-	DWORD dwMaxBytesPerSec;
-	DWORD dwFlags;
-	DWORD dwCaps;
-	DWORD dwStreams;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwLength;
-	DWORD dwEditCount;
-	WCHAR szFileType[64];
-} AVIFILEINFOW, *LPAVIFILEINFOW, *PAVIFILEINFOW;
-typedef struct _AVIFILEINFOA {
-	DWORD dwMaxBytesPerSec;
-	DWORD dwFlags;
-	DWORD dwCaps;
-	DWORD dwStreams;
-	DWORD dwSuggestedBufferSize;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwScale;
-	DWORD dwRate;
-	DWORD dwLength;
-	DWORD dwEditCount;
-	CHAR szFileType[64];
-} AVIFILEINFOA, *LPAVIFILEINFOA, *PAVIFILEINFOA;
-typedef struct _AVICOMPRESSOPTIONS {
-	DWORD fccType;
-	DWORD fccHandler;
-	DWORD dwKeyFrameEvery;
-	DWORD dwQuality;
-	DWORD dwBytesPerSecond;
-	DWORD dwFlags;
-	LPVOID lpFormat;
-	DWORD cbFormat;
-	LPVOID lpParms;
-	DWORD cbParms;
-	DWORD dwInterleaveEvery;
-} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;
-typedef struct _CAPDRIVERCAPS {
-	UINT wDeviceIndex;
-	BOOL fHasOverlay;
-	BOOL fHasDlgVideoSource;
-	BOOL fHasDlgVideoFormat;
-	BOOL fHasDlgVideoDisplay;
-	BOOL fCaptureInitialized;
-	BOOL fDriverSuppliesPalettes;
-	HANDLE hVideoIn;
-	HANDLE hVideoOut;
-	HANDLE hVideoExtIn;
-	HANDLE hVideoExtOut;
-} CAPDRIVERCAPS, *LPCAPDRIVERCAPS;
-typedef struct _CAPINFOCHUNK {
-	FOURCC fccInfoID;
-	LPVOID lpData;
-	LONG cbData;
-} CAPINFOCHUNK, *LPCAPINFOCHUNK;
-typedef struct _CAPSTATUS {
-	UINT uiImageWidth;
-	UINT uiImageHeight;
-	BOOL fLiveWindow;
-	BOOL fOverlayWindow;
-	BOOL fScale;
-	POINT ptScroll;
-	BOOL fUsingDefaultPalette;
-	BOOL fAudioHardware;
-	BOOL fCapFileExists;
-	DWORD dwCurrentVideoFrame;
-	DWORD dwCurrentVideoFramesDropped;
-	DWORD dwCurrentWaveSamples;
-	DWORD dwCurrentTimeElapsedMS;
-	HPALETTE hPalCurrent;
-	BOOL fCapturingNow;
-	DWORD dwReturn;
-	UINT wNumVideoAllocated;
-	UINT wNumAudioAllocated;
-} CAPSTATUS, *LPCAPSTATUS;
-typedef struct _CAPTUREPARMS {
-	DWORD dwRequestMicroSecPerFrame;
-	BOOL fMakeUserHitOKToCapture;
-	UINT wPercentDropForError;
-	BOOL fYield;
-	DWORD dwIndexSize;
-	UINT wChunkGranularity;
-	BOOL fUsingDOSMemory;
-	UINT wNumVideoRequested;
-	BOOL fCaptureAudio;
-	UINT wNumAudioRequested;
-	UINT vKeyAbort;
-	BOOL fAbortLeftMouse;
-	BOOL fAbortRightMouse;
-	BOOL fLimitEnabled;
-	UINT wTimeLimit;
-	BOOL fMCIControl;
-	BOOL fStepMCIDevice;
-	DWORD dwMCIStartTime;
-	DWORD dwMCIStopTime;
-	BOOL fStepCaptureAt2x;
-	UINT wStepCaptureAverageFrames;
-	DWORD dwAudioBufferSize;
-	BOOL fDisableWriteCache;
-	UINT AVStreamMaster;
-} CAPTUREPARMS, *LPCAPTUREPARMS;
-
-typedef struct videohdr_tag {
-	LPBYTE lpData;
-	DWORD dwBufferLength;
-	DWORD dwBytesUsed;
-	DWORD dwTimeCaptured;
-	DWORD dwUser;
-	DWORD dwFlags;
-	DWORD_PTR dwReserved[4];
-} VIDEOHDR, *LPVIDEOHDR;
-
-#if !defined (_OBJC_NO_COM)
-#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0);
-DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0);
-DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0);
-DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0);
-DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0);
-DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0);
-
-#define INTERFACE IAVIStream
-DECLARE_INTERFACE_(IAVIStream, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Create)(THIS_ LPARAM,LPARAM) PURE;
-	STDMETHOD(Info)(THIS_ AVISTREAMINFOW*,LONG) PURE;
-	STDMETHOD_(LONG,FindSample)(THIS_ LONG,LONG) PURE;
-	STDMETHOD(ReadFormat)(THIS_ LONG,LPVOID,LONG*) PURE;
-	STDMETHOD(SetFormat)(THIS_ LONG,LPVOID,LONG) PURE;
-	STDMETHOD(Read)(THIS_ LONG,LONG,LPVOID,LONG,LONG*,LONG*) PURE;
-	STDMETHOD(Write)(THIS_ LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*) PURE;
-	STDMETHOD(Delete)(THIS_ LONG,LONG) PURE;
-	STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;
-	STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;
-	STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW*,LONG) PURE;
-};
-#undef INTERFACE
-typedef IAVIStream *PAVISTREAM;
-
-#define INTERFACE IAVIStreaming
-DECLARE_INTERFACE_(IAVIStreaming, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;
-	STDMETHOD(End)(THIS) PURE;
-};
-#undef INTERFACE
-typedef IAVIStreaming *PAVISTREAMING;
-
-#define INTERFACE IAVIEditStream
-DECLARE_INTERFACE_(IAVIEditStream, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Cut)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;
-	STDMETHOD(Copy)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;
-	STDMETHOD(Paste)(THIS_ LONG*,LONG*,PAVISTREAM,LONG,LONG) PURE;
-	STDMETHOD(Clone)(THIS_ PAVISTREAM*) PURE;
-	STDMETHOD(SetInfo)(THIS_ LPAVISTREAMINFOW,LONG) PURE;
-};
-#undef INTERFACE
-typedef IAVIEditStream *PAVIEDITSTREAM;
-
-#define INTERFACE IAVIFile
-DECLARE_INTERFACE_(IAVIFile, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD(Info)(THIS_ AVIFILEINFOW*,LONG) PURE;
-	STDMETHOD(GetStream)(THIS_ PAVISTREAM*,DWORD,LONG) PURE;
-	STDMETHOD(CreateStream)(THIS_ PAVISTREAM*,AVISTREAMINFOW*) PURE;
-	STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;
-	STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;
-	STDMETHOD(EndRecord)(THIS) PURE;
-	STDMETHOD(DeleteStream)(THIS_ DWORD,LONG) PURE;
-};
-#undef INTERFACE
-typedef IAVIFile *PAVIFILE;
-
-#define INTERFACE IGetFrame
-DECLARE_INTERFACE_(IGetFrame, IUnknown)
-{
-	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
-	STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-	STDMETHOD_(ULONG,Release)(THIS) PURE;
-	STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG) PURE;
-	STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;
-	STDMETHOD(End)(THIS) PURE;
-	STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT) PURE;
-};
-#undef INTERFACE
-typedef IGetFrame *PGETFRAME;
-#endif /* !defined (_OBJC_NO_COM) */
-
-DWORD VFWAPI VideoForWindowsVersion(VOID);
-LONG VFWAPI InitVFW(VOID);
-LONG VFWAPI TermVFW(VOID);
-DWORD VFWAPIV ICCompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID,LPDWORD,LPDWORD,LONG,DWORD,DWORD,LPBITMAPINFOHEADER,LPVOID);
-DWORD VFWAPIV ICDecompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
-LRESULT	VFWAPI ICSendMessage(HIC,UINT,DWORD,DWORD);
-HANDLE VFWAPI ICImageCompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO,LONG,LONG*);
-HANDLE VFWAPI ICImageDecompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO);
-BOOL VFWAPI ICInfo(DWORD,DWORD,ICINFO*);
-BOOL VFWAPI ICInstall(DWORD,DWORD,LPARAM,LPSTR,UINT);
-BOOL VFWAPI ICRemove(DWORD,DWORD,UINT);
-LRESULT VFWAPI ICGetInfo(HIC,ICINFO*,DWORD);
-HIC VFWAPI ICOpen(DWORD,DWORD,UINT);
-HIC VFWAPI ICOpenFunction(DWORD,DWORD,UINT,FARPROC);
-LRESULT VFWAPI ICClose(HIC hic);
-HIC VFWAPI ICLocate(DWORD,DWORD,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,WORD);
-HIC VFWAPI ICGetDisplayFormat(HIC,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,INT,INT,INT);
-DWORD VFWAPIV ICDrawBegin(HIC,DWORD,HPALETTE,HWND,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,INT,INT,INT,INT,DWORD,DWORD);
-DWORD VFWAPIV ICDraw(HIC,DWORD,LPVOID,LPVOID,DWORD,LONG);
-BOOL VFWAPI ICCompressorChoose(HWND,UINT,LPVOID,LPVOID,PCOMPVARS,LPSTR);
-BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO);
-void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS);
-LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*);
-void VFWAPI ICCompressorFree(PCOMPVARS);
-#if !defined (_OBJC_NO_COM)
-ULONG WINAPI AVIStreamAddRef(PAVISTREAM);
-ULONG WINAPI AVIStreamRelease(PAVISTREAM);
-HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*);
-HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG);
-HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG);
-HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD);
-HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*);
-HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG);
-HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*);
-HRESULT WINAPI AVIStreamWrite(PAVISTREAM,LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*);
-HRESULT WINAPI AVIStreamReadData(PAVISTREAM,DWORD,LPVOID,LONG*);
-HRESULT WINAPI AVIStreamWriteData(PAVISTREAM,DWORD,LPVOID,LONG);
-PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM,LPBITMAPINFOHEADER);
-LPVOID WINAPI AVIStreamGetFrame(PGETFRAME,LONG);
-HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME);
-HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM*,PAVISTREAM,AVICOMPRESSOPTIONS*,CLSID*);
-HRESULT WINAPI AVIMakeFileFromStreams(PAVIFILE*,INT,PAVISTREAM*);
-HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM*,LPCSTR,DWORD,LONG,UINT,CLSID*);
-HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM*,LPCWSTR,DWORD,LONG,UINT,CLSID*);
-HRESULT WINAPI AVIBuildFilterA(LPSTR,LONG,BOOL);
-HRESULT WINAPI AVIBuildFilterW(LPWSTR,LONG,BOOL);
-BOOL WINAPI AVISaveOptions(HWND,UINT,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveOptionsFree(INT,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveVA(LPCSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveVW(LPCWSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-LONG WINAPI AVIStreamStart(PAVISTREAM);
-LONG WINAPI AVIStreamLength(PAVISTREAM);
-LONG WINAPI AVIStreamSampleToTime(PAVISTREAM,LONG);
-LONG WINAPI AVIStreamTimeToSample(PAVISTREAM,LONG);
-HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM);
-HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*);
-HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG);
-HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG);
-HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG);
-HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR);
-HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR);
-HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM);
-HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*);
-HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG);
-HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG);
-HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG);
-HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR);
-HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR);
-VOID WINAPI AVIFileInit(void);
-VOID WINAPI AVIFileExit(void);
-HRESULT WINAPI AVIFileOpenA(PAVIFILE*,LPCSTR,UINT,LPCLSID);
-HRESULT WINAPI AVIFileOpenW(PAVIFILE*,LPCWSTR,UINT,LPCLSID);
-ULONG WINAPI AVIFileAddRef(PAVIFILE);
-ULONG WINAPI AVIFileRelease(PAVIFILE);
-HRESULT WINAPI AVIFileInfoA(PAVIFILE,PAVIFILEINFOA,LONG);
-HRESULT WINAPI AVIFileInfoW(PAVIFILE,PAVIFILEINFOW,LONG);
-HRESULT WINAPI AVIFileGetStream(PAVIFILE,PAVISTREAM*,DWORD,LONG);
-HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE,PAVISTREAM*,AVISTREAMINFOA*);
-HRESULT WINAPI AVIFileCreateStreamW(PAVIFILE,PAVISTREAM*,AVISTREAMINFOW*);
-HRESULT WINAPI AVIFileWriteData(PAVIFILE,DWORD,LPVOID,LONG);
-HRESULT WINAPI AVIFileReadData(PAVIFILE,DWORD,LPVOID,LPLONG);
-HRESULT WINAPI AVIFileEndRecord(PAVIFILE);
-HRESULT WINAPI AVIClearClipboard(VOID);
-HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*);
-HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE);
-#endif /* _OBJC_NO_COM */
-#ifdef OFN_READONLY
-BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA);
-BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW);
-BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA);
-BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW);
-#endif
-HWND VFWAPIV MCIWndCreateA(HWND,HINSTANCE,DWORD,LPCSTR);
-HWND VFWAPIV MCIWndCreateW(HWND,HINSTANCE,DWORD,LPCWSTR);
-HDRAWDIB VFWAPI DrawDibOpen(VOID);
-UINT VFWAPI DrawDibRealize(HDRAWDIB,HDC,BOOL);
-BOOL VFWAPI DrawDibBegin(HDRAWDIB,HDC,INT,INT,LPBITMAPINFOHEADER,INT,INT,UINT);
-BOOL VFWAPI DrawDibDraw(HDRAWDIB,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT,UINT);
-BOOL VFWAPI DrawDibSetPalette(HDRAWDIB,HPALETTE);
-HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB);
-BOOL VFWAPI DrawDibChangePalette(HDRAWDIB,int,int,LPPALETTEENTRY);
-LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB,LPBITMAPINFOHEADER,DWORD,DWORD);
-BOOL VFWAPI DrawDibStart(HDRAWDIB,DWORD);
-BOOL VFWAPI DrawDibStop(HDRAWDIB);
-BOOL VFWAPI DrawDibEnd(HDRAWDIB);
-BOOL VFWAPI DrawDibClose(HDRAWDIB);
-DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER);
-
-#define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL)
-#define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressGetSize(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,0,0)
-#define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
-#define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD)(hwnd),0)
-#define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
-#define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(hwnd),0)
-#define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) (LONG)ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic, lpbi, NULL)
-#define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD)(lpbiPalette),0)
-#define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,0,0)
-#define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,0,0)
-#define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS)
-#define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW)
-#define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD)(pv),(DWORD)(cb))
-#define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD)(pv),(DWORD)(cb))
-#define ICGetStateSize(hic) ICGetState(hic,NULL,0)
-#define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD)(prc),sizeof(RECT))
-#define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD)(lpbiInput),0)
-#define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD)(lpbiInput),0)
-#define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD)(lpdwBuffers),0)
-#define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,0,0)
-#define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,0,0)
-#define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD)(lFrom),(DWORD)(lTo))
-#define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,0,0)
-#define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,0,0)
-#define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD)(lplTime),0)
-#define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD)lTime,0)
-#define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD)(hdc),(DWORD)(fBackground))
-#define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,0,0)
-#define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,0,0)
-#define AVIFileClose(pavi) AVIFileRelease(pavi)
-#define AVIStreamClose(pavi) AVIStreamRelease(pavi);
-#define AVIStreamEnd(pavi) (AVIStreamStart(pavi)+AVIStreamLength(pavi))
-#define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi))
-#define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize)
-#define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi))
-#define AVIStreamSampleSize(pavi,pos,psize) AVIStreamRead(pavi,pos,1,NULL,0,psize,NULL)
-#define AVIStreamSampleToSample(pavi1,pavi2,samp2) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,samp2))
-#define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi))
-#define AVIStreamNextSample(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_ANY)
-#define AVIStreamPrevSample(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_PREV|FIND_ANY)
-#define AVIStreamNearestSample(pavi, pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_ANY)
-#define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_KEY)
-#define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY)
-#define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY)
-#define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos)
-#ifdef __cplusplus
-#define MCIWndSM ::SendMessage
-#else
-#define MCIWndSM SendMessage
-#endif
-#define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0)
-#define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0)
-#define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0)
-#define MCIWndCanWindow(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_WINDOW,0,0)
-#define MCIWndCanEject(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_EJECT,0,0)
-#define MCIWndCanConfig(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_CONFIG,0,0)
-#define MCIWndPaletteKick(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_PALETTEKICK,0,0)
-#define MCIWndSave(hWnd,szFile) (LONG)MCIWndSM(hWnd,MCI_SAVE,0,(LPARAM)(LPVOID)(szFile))
-#define MCIWndSaveDialog(hWnd) MCIWndSave(hWnd,-1)
-#define MCIWndNew(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_NEW,0,(LPARAM)(LPVOID)(lp))
-#define MCIWndRecord(hWnd) (LONG)MCIWndSM(hWnd,MCI_RECORD,0,0)
-#define MCIWndOpen(hWnd,sz,f) (LONG)MCIWndSM(hWnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz))
-#define MCIWndOpenDialog(hWnd) MCIWndOpen(hWnd,-1,0)
-#define MCIWndClose(hWnd) (LONG)MCIWndSM(hWnd,MCI_CLOSE,0,0)
-#define MCIWndPlay(hWnd) (LONG)MCIWndSM(hWnd,MCI_PLAY,0,0)
-#define MCIWndStop(hWnd) (LONG)MCIWndSM(hWnd,MCI_STOP,0,0)
-#define MCIWndPause(hWnd) (LONG)MCIWndSM(hWnd,MCI_PAUSE,0,0)
-#define MCIWndResume(hWnd) (LONG)MCIWndSM(hWnd,MCI_RESUME,0,0)
-#define MCIWndSeek(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCI_SEEK,0,(LPARAM)(LONG)(lPos))
-#define MCIWndEject(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_EJECT,0,0)
-#define MCIWndHome(hWnd) MCIWndSeek(hWnd,MCIWND_START)
-#define MCIWndEnd(hWnd) MCIWndSeek(hWnd,MCIWND_END)
-#define MCIWndGetSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_SOURCE,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPutSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_SOURCE,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndGetDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_DEST,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPutDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_DEST,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPlayReverse(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYREVERSE,0,0)
-#define MCIWndPlayFrom(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYFROM,0,(LPARAM)(LONG)(lPos))
-#define MCIWndPlayTo(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYTO,  0,(LPARAM)(LONG)(lPos))
-#define MCIWndPlayFromTo(hWnd,lStart,lEnd) (MCIWndSeek(hWnd,lStart),MCIWndPlayTo(hWnd,lEnd))
-#define MCIWndGetDeviceID(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETDEVICEID,0,0)
-#define MCIWndGetAlias(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETALIAS,0,0)
-#define MCIWndGetMode(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetPosition(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,0,0)
-#define MCIWndGetPositionString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetStart(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSTART,0,0)
-#define MCIWndGetLength(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETLENGTH,0,0)
-#define MCIWndGetEnd(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETEND,0,0)
-#define MCIWndStep(hWnd,n) (LONG)MCIWndSM(hWnd,MCI_STEP,0,(LPARAM)(long)(n))
-#define MCIWndDestroy(hWnd) (VOID)MCIWndSM(hWnd,WM_CLOSE,0,0)
-#define MCIWndSetZoom(hWnd,iZoom) (VOID)MCIWndSM(hWnd,MCIWNDM_SETZOOM,0,(LPARAM)(UINT)(iZoom))
-#define MCIWndGetZoom(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETZOOM,0,0)
-#define MCIWndSetVolume(hWnd,iVol) (LONG)MCIWndSM(hWnd,MCIWNDM_SETVOLUME,0,(LPARAM)(UINT)(iVol))
-#define MCIWndGetVolume(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETVOLUME,0,0)
-#define MCIWndSetSpeed(hWnd,iSpeed) (LONG)MCIWndSM(hWnd,MCIWNDM_SETSPEED,0,(LPARAM)(UINT)(iSpeed))
-#define MCIWndGetSpeed(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSPEED,0,0)
-#define MCIWndSetTimeFormat(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_SETTIMEFORMAT,0,(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetTimeFormat(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndValidateMedia(hWnd) (VOID)MCIWndSM(hWnd,MCIWNDM_VALIDATEMEDIA,0,0)
-#define MCIWndSetRepeat(hWnd,f) (void)MCIWndSM(hWnd,MCIWNDM_SETREPEAT,0,(LPARAM)(BOOL)(f))
-#define MCIWndGetRepeat(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_GETREPEAT,0,0)
-#define MCIWndUseFrames(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("frames"))
-#define MCIWndUseTime(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("ms"))
-#define MCIWndSetActiveTimer(hWnd,active) (VOID)MCIWndSM(hWnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),0L)
-#define MCIWndSetInactiveTimer(hWnd,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),0L)
-#define MCIWndSetTimers(hWnd,active,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive))
-#define MCIWndGetActiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETACTIVETIMER,0,0L);
-#define MCIWndGetInactiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETINACTIVETIMER,0,0L);
-#define MCIWndRealize(hWnd,fBkgnd) (LONG)MCIWndSM(hWnd,MCIWNDM_REALIZE,(WPARAM)(BOOL)(fBkgnd),0)
-#define MCIWndSendString(hWnd,sz) (LONG)MCIWndSM(hWnd,MCIWNDM_SENDSTRING,0,(LPARAM)(LPTSTR)(sz))
-#define MCIWndReturnString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetError(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetPalette(hWnd) (HPALETTE)MCIWndSM(hWnd,MCIWNDM_GETPALETTE,0,0)
-#define MCIWndSetPalette(hWnd,hpal) (LONG)MCIWndSM(hWnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),0)
-#define MCIWndGetFileName(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetDevice(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetStyles(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETSTYLES,0,0L)
-#define MCIWndChangeStyles(hWnd,mask,value) (LONG)MCIWndSM(hWnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value))
-#define MCIWndOpenInterface(hWnd,pUnk) (LONG)MCIWndSM(hWnd,MCIWNDM_OPENINTERFACE,0,(LPARAM)(LPUNKNOWN)(pUnk))
-#define MCIWndSetOwner(hWnd,hWndP) (LONG)MCIWndSM(hWnd,MCIWNDM_SETOWNER,(WPARAM)(hWndP),0)
-#define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE)
-static __inline DWORD
-ICGetDefaultQuality(HIC hic)
-{
-   DWORD dwICValue;
-   ICSendMessage(hic, ICM_GETDEFAULTQUALITY, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD));
-   return dwICValue;
-}
-static __inline DWORD
-ICGetDefaultKeyFrameRate(HIC hic)
-{
-   DWORD dwICValue;
-   ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD));
-   return dwICValue;
-}
-static __inline LRESULT
-ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,INT dxSrc,INT dySrc,INT dxDst,INT dyDst,HIC hicDecomp)
-{
-	ICDRAWSUGGEST ic;
-	ic.lpbiIn = lpbiIn;
-	ic.lpbiSuggest = lpbiOut;
-	ic.dxSrc = dxSrc;
-	ic.dySrc = dySrc;
-	ic.dxDst = dxDst;
-	ic.dyDst = dyDst;
-	ic.hicDecompressor = hicDecomp;
-	return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG))
-{
-	ICSETSTATUSPROC ic;
-	ic.dwFlags = dwFlags;
-	ic.lParam = lParam;
-	ic.Status = fpfnStatus;
-	return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressEx(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
-	ICDECOMPRESSEX ic;
-	ic.dwFlags = dwFlags;
-	ic.lpbiSrc = lpbiSrc;
-	ic.lpSrc = lpSrc;
-	ic.xSrc = xSrc;
-	ic.ySrc = ySrc;
-	ic.dxSrc = dxSrc;
-	ic.dySrc = dySrc;
-	ic.lpbiDst = lpbiDst;
-	ic.lpDst = lpDst;
-	ic.xDst = xDst;
-	ic.yDst = yDst;
-	ic.dxDst = dxDst;
-	ic.dyDst = dyDst;
-	return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressExBegin(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
-	ICDECOMPRESSEX ic;
-	ic.dwFlags = dwFlags;
-	ic.lpbiSrc = lpbiSrc;
-	ic.lpSrc = lpSrc;
-	ic.xSrc = xSrc;
-	ic.ySrc = ySrc;
-	ic.dxSrc = dxSrc;
-	ic.dySrc = dySrc;
-	ic.lpbiDst = lpbiDst;
-	ic.lpDst = lpDst;
-	ic.xDst = xDst;
-	ic.yDst = yDst;
-	ic.dxDst = dxDst;
-	ic.dyDst = dyDst;
-	return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
-	ICDECOMPRESSEX ic;
-	ic.dwFlags = dwFlags;
-	ic.lpbiSrc = lpbiSrc;
-	ic.lpSrc = lpSrc;
-	ic.xSrc = xSrc;
-	ic.ySrc = ySrc;
-	ic.dxSrc = dxSrc;
-	ic.dySrc = dySrc;
-	ic.lpbiDst = lpbiDst;
-	ic.lpDst = lpDst;
-	ic.xDst = xDst;
-	ic.yDst = yDst;
-	ic.dxDst = dxDst;
-	ic.dyDst = dyDst;
-	return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD)&ic,sizeof(ic));
-}
-
-#define WM_CAP_SET_CALLBACK_ERRORA      (WM_USER + 2)
-#define WM_CAP_SET_CALLBACK_ERRORW      (WM_CAP_SET_CALLBACK_ERRORA + 100)
-#define WM_CAP_SET_CALLBACK_STATUS      (WM_USER + 3)
-#define WM_CAP_SET_CALLBACK_YIELD       (WM_USER + 4)
-#define WM_CAP_SET_CALLBACK_FRAMEA      (WM_USER + 5)
-#define WM_CAP_SET_CALLBACK_FRAMEW      (WM_CAP_SET_CALLBACK_FRAMEA + 100)
-#define WM_CAP_SET_CALLBACK_VIDEOSTREAM (WM_USER + 6)
-#define WM_CAP_SET_CALLBACK_WAVESTREAM  (WM_USER + 7)
-#define WM_CAP_GET_USER_DATA            (WM_USER + 8)
-#define WM_CAP_SET_USER_DATA            (WM_USER + 9)
-#define WM_CAP_DRIVER_CONNECT           (WM_USER + 10)
-#define WM_CAP_DRIVER_DISCONNECT        (WM_USER + 11)
-#define WM_CAP_DRIVER_GET_NAMEA         (WM_USER + 12)
-#define WM_CAP_DRIVER_GET_NAMEW         (WM_CAP_DRIVER_GET_NAMEA + 100)
-#define WM_CAP_DRIVER_GET_VERSIONA      (WM_USER + 13)
-#define WM_CAP_DRIVER_GET_VERSIONW      (WM_CAP_DRIVER_GET_VERSIONA + 100)
-#define WM_CAP_DRIVER_GET_CAPS          (WM_USER + 14)
-#define WM_CAP_FILE_SET_CAPTURE_FILEA   (WM_USER + 20)
-#define WM_CAP_FILE_SET_CAPTURE_FILEW   (WM_CAP_FILE_SET_CAPTURE_FILEA + 100)
-#define WM_CAP_FILE_GET_CAPTURE_FILEA   (WM_USER + 21)
-#define WM_CAP_FILE_GET_CAPTURE_FILEW   (WM_CAP_FILE_GET_CAPTURE_FILEA + 100)
-#define WM_CAP_FILE_ALLOCATE            (WM_USER + 22)
-#define WM_CAP_FILE_SAVEASA             (WM_USER + 23)
-#define WM_CAP_FILE_SAVEASW             (WM_CAP_FILE_SAVEASA + 100)
-#define WM_CAP_FILE_SET_INFOCHUNK       (WM_USER + 24)
-#define WM_CAP_FILE_SAVEDIBA            (WM_USER + 25)
-#define WM_CAP_FILE_SAVEDIBW            (WM_CAP_FILE_SAVEDIBA + 100)
-#define WM_CAP_EDIT_COPY                (WM_USER + 30)
-#define WM_CAP_SET_AUDIOFORMAT          (WM_USER + 35)
-#define WM_CAP_GET_AUDIOFORMAT          (WM_USER + 36)
-#define WM_CAP_DLG_VIDEOFORMAT          (WM_USER + 41)
-#define WM_CAP_DLG_VIDEOSOURCE          (WM_USER + 42)
-#define WM_CAP_DLG_VIDEODISPLAY         (WM_USER + 43)
-#define WM_CAP_GET_VIDEOFORMAT          (WM_USER + 44)
-#define WM_CAP_SET_VIDEOFORMAT          (WM_USER + 45)
-#define WM_CAP_DLG_VIDEOCOMPRESSION     (WM_USER + 46)
-#define WM_CAP_SET_PREVIEW              (WM_USER + 50)
-#define WM_CAP_SET_OVERLAY              (WM_USER + 51)
-#define WM_CAP_SET_PREVIEWRATE          (WM_USER + 52)
-#define WM_CAP_SET_SCALE                (WM_USER + 53)
-#define WM_CAP_GET_STATUS               (WM_USER + 54)
-#define WM_CAP_SET_SCROLL               (WM_USER + 55)
-#define WM_CAP_GRAB_FRAME               (WM_USER + 60)
-#define WM_CAP_GRAB_FRAME_NOSTOP        (WM_USER + 61)
-#define WM_CAP_SEQUENCE                 (WM_USER + 62)
-#define WM_CAP_SEQUENCE_NOFILE          (WM_USER + 63)
-#define WM_CAP_SET_SEQUENCE_SETUP       (WM_USER + 64)
-#define WM_CAP_GET_SEQUENCE_SETUP       (WM_USER + 65)
-#define WM_CAP_SET_MCI_DEVICEA          (WM_USER + 66)
-#define WM_CAP_SET_MCI_DEVICEW          (WM_CAP_SET_MCI_DEVICEA + 100)
-#define WM_CAP_GET_MCI_DEVICEA          (WM_USER + 67)
-#define WM_CAP_GET_MCI_DEVICEW          (WM_CAP_GET_MCI_DEVICEA + 100)
-#define WM_CAP_STOP                     (WM_USER + 68)
-#define WM_CAP_ABORT                    (WM_USER + 69)
-#define WM_CAP_SINGLE_FRAME_OPEN        (WM_USER + 70)
-#define WM_CAP_SINGLE_FRAME_CLOSE       (WM_USER + 71)
-#define WM_CAP_SINGLE_FRAME             (WM_USER + 72)
-#define WM_CAP_PAL_OPENA                (WM_USER + 80)
-#define WM_CAP_PAL_OPENW                (WM_CAP_PAL_OPENA + 100)
-#define WM_CAP_PAL_SAVEA                (WM_USER + 81)
-#define WM_CAP_PAL_SAVEW                (WM_CAP_PAL_SAVEA + 100)
-#define WM_CAP_PAL_PASTE                (WM_USER + 82)
-#define WM_CAP_PAL_AUTOCREATE           (WM_USER + 83)
-#define WM_CAP_PAL_MANUALCREATE         (WM_USER + 84)
-#define WM_CAP_SET_CALLBACK_CAPCONTROL  (WM_USER + 85)
-
-#ifdef UNICODE
-#define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORW
-#define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEW
-#define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEW
-#define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONW
-#define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEW
-#define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEW
-#define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASW
-#define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBW
-#define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEW
-#define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEW
-#define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENW
-#define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEW
-#else
-#define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORA
-#define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEA
-#define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEA
-#define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONA
-#define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEA
-#define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEA
-#define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASA
-#define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBA
-#define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEA
-#define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEA
-#define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENA
-#define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEA
-#endif
-
-#define __capSendMessage(hwnd,m,w,l) (IsWindow(hwnd)?SendMessage(hwnd,m,w,l):0)
-
-#define capSetCallbackOnError(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_ERROR,0,(LPARAM)(LPVOID)(fpProc)))
-#define capSetCallbackOnStatus(hwnd,fpProc)         ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_STATUS,0,(LPARAM)(LPVOID)(fpProc)))
-#define capSetCallbackOnYield(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_YIELD,0,(LPARAM)(LPVOID)(fpProc)))
-#define capSetCallbackOnFrame(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_FRAME,0,(LPARAM)(LPVOID)(fpProc)))
-#define capSetCallbackOnVideoStream(hwnd,fpProc)    ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,(LPARAM)(LPVOID)(fpProc)))
-#define capSetCallbackOnWaveStream(hwnd,fpProc)     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_WAVESTREAM,0,(LPARAM)(LPVOID)(fpProc)))
-#define capGetUserData(hwnd)                        ((LONG) __capSendMessage(hwnd,WM_CAP_GET_USER_DATA,0,0))
-#define capSetUserData(hwnd,lUser)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_USER_DATA,0,(LPARAM)lUser))
-#define capDriverConnect(hwnd,i)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_CONNECT,(WPARAM)(i),0))
-#define capDriverDisconnect(hwnd)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_DISCONNECT,0,0))
-#define capDriverGetName(hwnd,szName,wSize)         ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_NAME,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capDriverGetVersion(hwnd,szVer,wSize)       ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_VERSION,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szVer)))
-#define capDriverGetCaps(hwnd,psCaps,wSize)         ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_CAPS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(psCaps)))
-#define capFileSetCaptureFile(hwnd,szName)          ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SET_CAPTURE_FILE,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capFileGetCaptureFile(hwnd,szName,wSize)    ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_GET_CAPTURE_FILE,(WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capFileAlloc(hwnd,dwSize)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_ALLOCATE,0,(LPARAM)(DWORD)(dwSize)))
-#define capFileSaveAs(hwnd,szName)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SAVEAS,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capFileSetInfoChunk(hwnd,lpInfoChunk)       ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SET_INFOCHUNK,0,(LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk)))
-#define capFileSaveDIB(hwnd, szName)                ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SAVEDIB,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capEditCopy(hwnd)                           ((BOOL) __capSendMessage(hwnd,WM_CAP_EDIT_COPY,0,0))
-#define capSetAudioFormat(hwnd,psAudioFormat,wSize) ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(psAudioFormat)))
-#define capGetAudioFormat(hwnd,psAudioFormat,wSize) ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(psAudioFormat)))
-#define capGetAudioFormatSize(hwnd)                 ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_AUDIOFORMAT,0,0))
-#define capDlgVideoFormat(hwnd)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOFORMAT,0,0))
-#define capDlgVideoSource(hwnd)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOSOURCE,0,0))
-#define capDlgVideoDisplay(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEODISPLAY,0,0))
-#define capGetVideoFormat(hwnd,psVideoFormat,wSize) ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(psVideoFormat)))
-#define capGetVideoFormatSize(hwnd)                 ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_VIDEOFORMAT,0,0))
-#define capSetVideoFormat(hwnd,psVideoFormat,wSize) ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(psVideoFormat)))
-#define capDlgVideoCompression(hwnd)                ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOCOMPRESSION,0,0))
-#define capPreview(hwnd,f)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_PREVIEW,(WPARAM)(BOOL)(f),0))
-#define capOverlay(hwnd,f)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_OVERLAY,(WPARAM)(BOOL)(f),0))
-#define capPreviewRate(hwnd,wMS)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_PREVIEWRATE,(WPARAM)(wMS),0))
-#define capPreviewScale(hwnd,f)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SCALE,(WPARAM)(BOOL)f,0))
-#define capGetStatus(hwnd,s,wSize)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_STATUS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPSTATUS)(s)))
-#define capSetScrollPos(hwnd,lpP)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SCROLL,0,(LPARAM)(LPPOINT)(lpP)))
-#define capGrabFrame(hwnd)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_GRAB_FRAME,0,0))
-#define capGrabFrameNoStop(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_GRAB_FRAME_NOSTOP,0,0))
-#define capCaptureSequence(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_SEQUENCE,0,0))
-#define capCaptureSequenceNoFile(hwnd)              ((BOOL) __capSendMessage(hwnd,WM_CAP_SEQUENCE_NOFILE,0,0))
-#define capCaptureSetSetup(hwnd,s,wSize)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
-#define capCaptureGetSetup(hwnd,s,wSize)            ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
-#define capSetMCIDeviceName(hwnd,szName)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_MCI_DEVICE,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capGetMCIDeviceName(hwnd,szName,wSize)      ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_MCI_DEVICE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capCaptureStop(hwnd)                        ((BOOL) __capSendMessage(hwnd,WM_CAP_STOP,0,0))
-#define capCaptureAbort(hwnd)                       ((BOOL) __capSendMessage(hwnd,WM_CAP_ABORT,0,0))
-#define capCaptureSingleFrameOpen(hwnd)             ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME_OPEN,0,0))
-#define capCaptureSingleFrameClose(hwnd)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME_CLOSE,0,0))
-#define capCaptureSingleFrame(hwnd)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME,0,0))
-#define capPaletteOpen(hwnd,szName)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_OPEN,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capPaletteSave(hwnd,szName)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_SAVE,0,(LPARAM)(LPVOID)(LPTSTR)(szName)))
-#define capPalettePaste(hwnd)                       ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_PASTE,0,0))
-#define capPaletteAuto(hwnd,iFrames,iColors)        ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_AUTOCREATE,(WPARAM)(iFrames),(LPARAM)(DWORD)(iColors)))
-#define capPaletteManual(hwnd,fGrab,iColors)        ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_MANUALCREATE,(WPARAM)(fGrab),(LPARAM)(DWORD)(iColors)))
-#define capSetCallbackOnCapControl(hwnd,fpProc)     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_CAPCONTROL,0,(LPARAM)(LPVOID)(fpProc)))
-
-/* AVICAP32 exports */
-HWND VFWAPI capCreateCaptureWindowA (LPCSTR,DWORD,int,int,int,int,HWND,int);
-HWND VFWAPI capCreateCaptureWindowW (LPCWSTR,DWORD,int,int,int,int,HWND,int);
-BOOL VFWAPI capGetDriverDescriptionA (UINT,LPSTR,int,LPSTR,int);
-BOOL VFWAPI capGetDriverDescriptionW (UINT,LPWSTR,int,LPWSTR,int);
-
-#ifdef UNICODE
-#define AVISTREAMINFO AVISTREAMINFOW
-#define LPAVISTREAMINFO LPAVISTREAMINFOW
-#define PAVISTREAMINFO PAVISTREAMINFOW
-#define AVIFILEINFO AVIFILEINFOW
-#define PAVIFILEINFO PAVIFILEINFOW
-#define LPAVIFILEINFO LPAVIFILEINFOW
-#define AVIStreamInfo AVIStreamInfoW
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileW
-#define AVIBuildFilter AVIBuildFilterW
-#define AVISaveV AVISaveVW
-#define EditStreamSetInfo EditStreamSetInfoW
-#define EditStreamSetName EditStreamSetNameW
-#define AVIFileOpen AVIFileOpenW
-#define AVIFileInfo AVIFileInfoW
-#define AVIFileCreateStream AVIFileCreateStreamW
-#define GetOpenFileNamePreview GetOpenFileNamePreviewW
-#define GetSaveFileNamePreview GetSaveFileNamePreviewW
-#define MCIWndCreate MCIWndCreateW
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEW
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORW
-#define MCIWNDM_NEW MCIWNDM_NEWW
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW
-#define MCIWNDM_OPEN MCIWNDM_OPENW
-
-#define capCreateCaptureWindow  capCreateCaptureWindowW
-#define capGetDriverDescription capGetDriverDescriptionW
-
-#else
-#define AVISTREAMINFO AVISTREAMINFOA
-#define LPAVISTREAMINFO LPAVISTREAMINFOA
-#define PAVISTREAMINFO PAVISTREAMINFOA
-#define AVIFILEINFO AVIFILEINFOA
-#define PAVIFILEINFO PAVIFILEINFOA
-#define LPAVIFILEINFO LPAVIFILEINFOA
-#define AVIStreamInfo AVIStreamInfoA
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileA
-#define AVIBuildFilter AVIBuildFilterA
-#define AVISaveV AVISaveVA
-#define EditStreamSetInfo EditStreamSetInfoA
-#define EditStreamSetName EditStreamSetNameA
-#define AVIFileOpen AVIFileOpenA
-#define AVIFileInfo AVIFileInfoA
-#define AVIFileCreateStream AVIFileCreateStreamA
-#define GetOpenFileNamePreview GetOpenFileNamePreviewA
-#define GetSaveFileNamePreview GetSaveFileNamePreviewA
-#define MCIWndCreate MCIWndCreateA
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEA
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORA
-#define MCIWNDM_NEW MCIWNDM_NEWA
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA
-#define MCIWNDM_OPEN MCIWNDM_OPENA
-
-#define capCreateCaptureWindow  capCreateCaptureWindowA
-#define capGetDriverDescription capGetDriverDescriptionA
-
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif /* _VFW_H */
Index: Daodan/MinGW/include/vidcap.h
===================================================================
--- Daodan/MinGW/include/vidcap.h	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-#ifndef _VIDCAP_H
-#define _VIDCAP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct {
-	ULONG FromNode;
-	ULONG FromNodePin;
-	ULONG ToNode;
-	ULONG ToNodePin;
-} KSTOPOLOGY_CONNECTION;
-#define KSFILTER_NODE 0xFFFFFFFF
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/vmr9.h
===================================================================
--- Daodan/MinGW/include/vmr9.h	(revision 1046)
+++ 	(revision )
@@ -1,211 +1,0 @@
-#ifndef _VMR9_H
-#define _VMR9_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum _VMR9_SampleFormat {
-	VMR9_SampleReserved = 1,
-	VMR9_SampleProgressiveFrame = 2,
-	VMR9_SampleFieldInterleavedEvenFirst = 3,
-	VMR9_SampleFieldInterleavedOddFirst = 4,
-	VMR9_SampleFieldSingleEven = 5,
-	VMR9_SampleFieldSingleOdd = 6
-} VMR9_SampleFormat;
-typedef enum {
-	VMR9AlphaBitmap_Disable = 0x00000001,
-	VMR9AlphaBitmap_hDC = 0x00000002,
-	VMR9AlphaBitmap_EntireDDS = 0x00000004,
-	VMR9AlphaBitmap_SrcColorKey = 0x00000008,
-	VMR9AlphaBitmap_SrcRect = 0x00000010,
-	VMR9AlphaBitmap_FilterMode = 0x00000020
-} VMR9AlphaBitmapFlags;
-typedef enum {
-	VMR9ARMode_None,
-	VMR9ARMode_LetterBox
-} VMR9AspectRatioMode;
-typedef enum {
-	DeinterlacePref9_NextBest = 0x01,
-	DeinterlacePref9_BOB = 0x02,
-	DeinterlacePref9_Weave = 0x04,
-	DeinterlacePref9_Mask = 0x07
-} VMR9DeinterlacePrefs;
-typedef enum {
-	DeinterlaceTech9_Unknown = 0x0000,
-	DeinterlaceTech9_BOBLineReplicate = 0x0001,
-	DeinterlaceTech9_BOBVerticalStretch = 0x0002,
-	DeinterlaceTech9_MedianFiltering = 0x0004,
-	DeinterlaceTech9_EdgeFiltering = 0x0010,
-	DeinterlaceTech9_FieldAdaptive = 0x0020,
-	DeinterlaceTech9_PixelAdaptive = 0x0040,
-	DeinterlaceTech9_MotionVectorSteered = 0x0080
-} VMR9DeinterlaceTech;
-typedef enum {
-	MixerPref9_NoDecimation = 0x00000001,
-	MixerPref9_DecimateOutput = 0x00000002,
-	MixerPref9_ARAdjustXorY = 0x00000004,
-	MixerPref9_NonSquareMixing = 0x00000008,
-	MixerPref9_DecimateMask = 0x0000000F,
-	MixerPref9_BiLinearFiltering = 0x00000010,
-	MixerPref9_PointFiltering = 0x00000020,
-	MixerPref9_AnisotropicFiltering = 0x00000040,
-	MixerPref9_PyramidalQuadFiltering = 0x00000080,
-	MixerPref9_GaussianQuadFiltering = 0x00000100,
-	MixerPref9_FilteringReserved = 0x00000E00,
-	MixerPref9_FilteringMask = 0x00000FF0,
-	MixerPref9_RenderTargetRGB = 0x00001000,
-	MixerPref9_RenderTargetYUV = 0x00002000,
-	MixerPref9_RenderTargetReserved = 0x000FC000,
-	MixerPref9_RenderTargetMask = 0x000FF000
-	MixerPref9_DynamicSwitchToBOB = 0x00100000,
-	MixerPref9_DynamicDecimateBy2 = 0x00200000,
-	MixerPref9_DynamicReserved = 0x00C00000,
-	MixerPref9_DynamicMask = 0x00F00000
-} VMR9MixerPrefs;
-typedef enum VMR9Mode {
-	VMR9Mode_Windowed = 0x00000001,
-	VMR9Mode_Windowless = 0x00000002,
-	VMR9Mode_Renderless = 0x00000004,
-	VMR9Mode_Mask = 0x00000007
-};
-typedef enum {
-	VMR9Sample_SyncPoint = 0x00000001,
-	VMR9Sample_Preroll = 0x00000002,
-	VMR9Sample_Discontinuity = 0x00000004,
-	VMR9Sample_TimeValid = 0x00000008
-} VMR9PresentationFlags;
-typedef enum {
-	ProcAmpControl9_Brightness = 0x00000001,
-	ProcAmpControl9_Contrast = 0x00000002,
-	ProcAmpControl9_Hue = 0x00000004,
-	ProcAmpControl9_Saturation = 0x00000008,
-	ProcAmpControl9_Mask = 0x0000000F
-} VMR9ProcAmpControlFlags;
-typedef enum VMR9RenderPrefs {
-	RenderPrefs9_DoNotRenderBorder = 0x00000001,
-	RenderPrefs9_Mask = 0x00000001
-};
-typedef enum {
-	VMR9AllocFlag_3DRenderTarget = 0x0001,
-	VMR9AllocFlag_DXVATarget = 0x0002,
-	VMR9AllocFlag_TextureSurface = 0x0004,
-	VMR9AllocFlag_OffscreenSurface = 0x0008,
-	VMR9AllocFlag_UsageReserved = 0x00F0,
-	VMR9AllocFlag_UsageMask = 0x00FF
-} VMR9SurfaceAllocationFlags;
-/*--- DirectShow Reference - DirectShow Structures */
-/**********
-typedef struct VMR9AllocationInfo{
-	DWORD dwFlags;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	D3DFORMAT Format;
-	D3DPOOL Pool;
-	DWORD MinBuffers;
-	SIZE szAspectRatio;
-	SIZE szNativeSize;
-};
-**********/
-typedef struct _VMR9DeinterlaceCaps {
-	DWORD dwSize;
-	DWORD dwNumPreviousOutputFrames;
-	DWORD dwNumForwardRefSamples;
-	DWORD dwNumBackwardRefSamples;
-	VMRDeinterlaceTech DeinterlaceTechnology;
-} VMR9DeinterlaceCaps;
-typedef struct _VMR9Frequency {
-	DWORD dwNumerator;
-	DWORD dwDenominator;
-} VMR9Frequency;
-typedef struct {
-	UINT uDevID;
-	RECT rcMonitor;
-	HMONITOR hMon;
-	DWORD dwFlags;
-	wchar_t szDevice[32];
-	wchar_t szDescription[512]
-	LARGE_INTEGER liDriverVersion;
-	DWORD dwVendorId;
-	DWORD dwDeviceId;
-	DWORD dwSubSysId;
-	DWORD dwRevision;
-} VMR9MonitorInfo;
-typedef struct VMR9NormalizedRect{
-	float left;
-	float top;
-	float right;
-	float bottom;
-};
-/**********
-typedef struct {
-	DWORD dwFlags;
-	IDirect3DSurface9 *lpSurf;
-	REFERENCE_TIME rtStart;
-	REFERENCE_TIME rtEnd;
-	SIZE szAspectRatio;
-	RECT rcSrc;
-	RECT rcDst;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-} VMR9PresentationInfo;
-**********/
-typedef struct _VMR9ProcAmpControl
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	float Contrast;
-	float Brightness;
-	float Hue;
-	float Saturation;
-} VMR9ProcAmpControl;
-typedef struct _VMR9ProcAmpControlRange
-{
-	DWORD dwSize;
-	VMR9ProcAmpControlFlags dwProperty;
-	float MinValue;
-	float MaxValue;
-	float DefaultValue;
-	float StepSize;
-} VMR9ProcAmpControlRange;
-typedef struct _VMR9VideoDesc {
-	DWORD dwSize;
-	DWORD dwSampleWidth;
-	DWORD dwSampleHeight;
-	VMR9_SampleFormat SampleFormat;
-	DWORD dwFourCC;
-	VMR9Frequency InputSampleFreq;
-	VMR9Frequency OutputFrameFreq;
-} VMR9VideoDesc;
-/**********
-typedef struct VMR9VideoStreamInfo{
-	IDirect3DSurface9 *pddsVideoSurface;
-	DWORD dwWidth;
-	DWORD dwHeight;
-	DWORD dwStrmID;
-	FLOAT fAlpha;
-	VMR9NormalizedRect rNormal;
-	REFERENCE_TIME rtStart;
-	REFERENCE_TIME rtEnd;
-	VMR9_SampleFormat SampleFormat;
-};
-typedef struct VMR9AlphaBitmap{
-	DWORD dwFlags;
-	HDC hdc;
-	IDirect3DSurface9 *pDDS;
-	RECT rSrc;
-	VMR9NormalizedRect rDest;
-	FLOAT fAlpha;
-	COLORREF clrSrcKey;
-	DWORD dwFilterMode;
-};
-**********/
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/vptype.h
===================================================================
--- Daodan/MinGW/include/vptype.h	(revision 1046)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#ifndef _VPTYPE_H
-#define _VPTYPE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--- DirectShow Reference - DirectShow Enumerated Types */
-typedef enum _AMVP_MODE {
-	AMVP_MODE_WEAVE,
-	AMVP_MODE_BOBINTERLEAVED,
-	AMVP_MODE_BOBNONINTERLEAVED,
-	AMVP_MODE_SKIPEVEN,
-	AMVP_MODE_SKIPODD
-} AMVP_MODE;
-typedef enum _AMVP_SELECT_FORMAT_BY {
-	AMVP_DO_NOT_CARE,
-	AMVP_BEST_BANDWIDTH,
-	AMVP_INPUT_SAME_AS_OUTPUT
-} AMVP_SELECT_FORMAT_BY;
-/*--- DirectShow Reference - DirectShow Structures */
-typedef struct _AMVPDIMINFO{
-	DWORD dwFieldWidth;
-	DWORD dwFieldHeight;
-	DWORD dwVBIWidth;
-	DWORD dwVBIHeight;
-	RECT rcValidRegion;
-} AMVPDIMINFO,*LPAMVPDIMINFO;
-typedef struct _AMVPDATAINFO{
-	DWORD dwSize;
-	DWORD dwMicrosecondsPerField;
-	AMVPDIMINFO amvpDimInfo;
-	DWORD dwPictAspectRatioX;
-	DWORD dwPictAspectRatioY;
-	BOOL bEnableDoubleClock;
-	BOOL bEnableVACT;
-	BOOL bDataIsInterlaced;
-	LONG lHalfLinesOdd;
-	BOOL bFieldPolarityInverted;
-	DWORD dwNumLinesInVREF;
-	LONG lHalfLinesEven;
-	DWORD dwReserved1;
-} AMVPDATAINFO,*LPAMVPDATAINFO;
-typedef struct _AMVPSIZE{
-	DWORD dwWidth;
-	DWORD dwHeight;
-} AMVPSIZE,*LPAMVPSIZE;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/w32api.h
===================================================================
--- Daodan/MinGW/include/w32api.h	(revision 1046)
+++ 	(revision )
@@ -1,190 +1,0 @@
-/*
- * w32api.h
- *
- * Package version identification, operating system support level set up,
- * and "convenience" macros to be shared by all package header files.
- *
- * $Id: w32api.h.in,v 7daa0459f602 2016/05/03 17:40:54 keithmarshall $
- *
- * Written by Earnie Boyd  <earnie@users.sourceforge.net>
- * Copyright (C) 2001-2011, 2015, 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.
- *
- */
-#ifndef _W32API_H
-#define _W32API_H
-#pragma GCC system_header
-
-/* Package version identification: formerly specified as a simple
- * dotted numeric pair representing major.minor, this doesn't adapt
- * well to the inclusion of the patch-level, since the dotted triplet
- * representation of major.minor.patch is not a valid representation
- * of a numeric entity.  Thus, from version 3.18 onwards we adopt a
- * representation which encodes the version as a long integer value,
- * 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           3018001L
-#define __W32API_MAJOR_VERSION           3
-#define __W32API_MINOR_VERSION          18
-#define __W32API_PATCHLEVEL              1
-
-/* The underlying operating system platform version, and its
- * identifying macros for application support, are established by:
- */
-#include <sdkddkver.h>
-
-/* The following defines are for documentation purposes.  Although not used
- * within it, they were provided in earlier versions of the Win32 API, as a
- * convenience for users who wished to symbolically declare a minimum level
- * of required operating system and Internet Explorer version support, when
- * assigning WINVER, _WIN32_WINDOWS, _WIN32_WINNT, and _WIN32_IE values.
- *
- * Each of the following "old name" macros is now considered deprecated in
- * favour of manifest "preferred name" macro definitions from <sdkddkver.h>.
- * Hence, redefine each in terms of the appropriate "preferred name" macro;
- * new code should avoid the old names, and use the preferred name instead.
- *
- *
- * _WIN32_WINDOWS and/or WINVER may be set to any of the following manifest
- * values, to specify a minimum Win9x support level requirement:
- *
- *      Old Name	Preferred Name
- *      -------------	------------------
- */
-#define Windows95	_WIN32_WINDOWS_95
-#define Windows98	_WIN32_WINDOWS_98
-#define WindowsME	_WIN32_WINDOWS_ME
-
-/* _WIN32_WINNT and/or WINVER may be set to any of the following manifest
- * values, to specify a minimum WinNT support level requirement:
- *
- *      Old Name	Preferred Name
- *      -------------	------------------
- */
-#define WindowsNT4	_WIN32_WINNT_NT4
-#define Windows2000	_WIN32_WINNT_WIN2K
-#define WindowsXP	_WIN32_WINNT_WINXP
-#define Windows2003	_WIN32_WINNT_WS03
-#define WindowsVista	_WIN32_WINNT_VISTA
-
-/* _WIN32_IE may be set to any of the following manifest values, to
- * specify a minimum Internet Explorer support level requirement:
- *
- *      Old Name	Preferred Name
- *      -------------	------------------
- */
-#define IE3		_WIN32_IE_IE30
-#define IE301		_WIN32_IE_IE301
-#define IE302		_WIN32_IE_IE302
-#define IE4		_WIN32_IE_IE40
-#define IE401		_WIN32_IE_IE401
-#define IE5		_WIN32_IE_IE50
-#define IE5a		_WIN32_IE_IE50
-#define IE5b		_WIN32_IE_IE50
-#define IE501		_WIN32_IE_IE501
-#define IE55		_WIN32_IE_IE55
-#define IE56		_WIN32_IE_IE56
-#define IE6		_WIN32_IE_IE60
-#define IE601		_WIN32_IE_IE60SP1
-#define IE602		_WIN32_IE_IE60SP2
-#define IE7		_WIN32_IE_IE70
-
-
-/* Only Microsoft could attempt to justify this insanity: when building
- * a UTF-16LE application -- apparently their understanding of Unicode is
- * limited to this -- the C/C++ runtime requires that the user must define
- * the _UNICODE macro, while to use the Windows API's UTF-16LE capabilities,
- * it is the UNICODE macro, (without the leading underscore), which must be
- * defined.  The (bogus) explanation appears to be that it is the C standard
- * which dictates the requirement for the leading underscore, to avoid any
- * possible conflict with a user defined symbol; (bogus because the macro
- * must be user defined anyway -- it is not a private symbol -- and in
- * any case, the Windows API already reserves the UNICODE symbol as
- * a user defined macro, with equivalent intent.
- *
- * The real explanation, of course, is that this is just another example
- * of Microsoft irrationality; in any event, there seems to be no sane
- * scenario in which defining one without the other would be required,
- * or indeed would not raise potential for internal inconsistency, so we
- * ensure that either both are, or neither is defined.
- */
-#if defined UNICODE && ! defined _UNICODE
-# define _UNICODE  UNICODE
-#elif defined _UNICODE && ! defined UNICODE
-# define UNICODE  _UNICODE
-#endif
-/* Related to the UNICODE macro definition, there are many functions in
- * the Win32 API with a generic name, which is mapped to a variant with
- * wchar_t UTF-16LE encoding of string arguments, in cases when UNICODE
- * is defined, as facilitated by the following macro...
- */
-#ifdef UNICODE
- /* ...by appending a "W" suffix to the generic function name...
-  */
-# define __AW_SUFFIXED__(__NAME__)  __NAME__##W
-#else
- /* ...or by appending an "A" suffix, to select an ANSI variant with
-  * char encoding of string arguments, when UNICODE is not defined.
-  */
-# define __AW_SUFFIXED__(__NAME__)  __NAME__##A
-#endif
-/* Further related, the __AW_EXTENDED__ macro reproduces the effect of
- * __AW_SUFFIXED__, with the addition of a single underscore character
- * separating the base name from the appropriate suffix.
- */
-#define __AW_EXTENDED__(__NAME__)  __AW_SUFFIXED__(__NAME__##_)
-
-/* __AW_EXTENDED__ may often be used to map manifest string constants.
- * The following triplet provide a convenient mechanism to derive the
- * UNICODE variant of the string from its ANSI definition; (note that
- * this requires a two stage expansion, to ensure that the "L" prefix
- * is attached to the expansion of the ANSI string definition, rather
- * than just to the defining macro name).
- */
-#define __AW_STRING_A__(__TEXT__)  __TEXT__
-#define __AW__WCHAR_T__(__TEXT__)  __AW_STRING_A__(L##__TEXT__)
-#define __AW_STRING_W__(__TEXT__)  __AW__WCHAR_T__(__TEXT__)
-
-#ifdef __cplusplus
-/* When compiling C++ code, these macros provide a convenient notation
- * for designating those sections of system header files which declare
- * prototypes for API functions with "C" binding...
- */
-# define _EXTERN_C       extern "C"
-# define _BEGIN_C_DECLS  extern "C" {
-# define _END_C_DECLS    }
-
-#else
-/* ...while remaining transparent, when compiling C code.
- */
-# define _EXTERN_C       extern
-# define _BEGIN_C_DECLS
-# define _END_C_DECLS
-#endif
-
-#endif /* ! _W32API_H: $RCSfile: w32api.h.in,v $: end of file */
Index: Daodan/MinGW/include/wchar.h
===================================================================
--- Daodan/MinGW/include/wchar.h	(revision 1046)
+++ 	(revision )
@@ -1,535 +1,0 @@
-/*
- * wchar.h
- *
- * Declarations relating to support for wide characters; many are simply
- * inherited by (sub-optimal) inclusion of other header files.
- *
- * $Id: wchar.h,v 0e4f78dbc1ba 2016/06/17 14:16:01 keithmarshall $
- *
- * Unattributed original source.
- * Adapted by Rob Savoye <rob@cygnus.com>
- * Copyright (C) 1997, 1999-2009, 2011, 2015, 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, 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.
- *
- */
-#ifndef _WCHAR_H
-#pragma GCC system_header
-
-/* This header declares prototypes for wchar_t string functions, as are
- * prescribed by ISO-C, but which MSVC also expects, (in contravention of
- * ISO-C prescriptions), to find in <string.h>.  To accommodate this MSVC
- * anomaly, we make provision for <string.h> to include a selected subset
- * of <wchar.h>; thus, we do not immediately define _WCHAR_T...
- */
-#ifndef __STRING_H_SOURCED__
-/* ...but defer it until we have confirmed that this is NOT inclusion for
- * only this subset of <wchar.h> declarations.
- */
-#define _WCHAR_H
-
-/* All MinGW headers are required to include <_mingw.h>; in the case of
- * selective inclusion by <string.h>, we expect it to have already done
- * so, but since that doesn't apply here, we must do it ourselves.
- */
-#include <_mingw.h>
-
-#ifndef __STRICT_ANSI__
- /* MSDN says that isw* char classifications appear in both <wchar.h>,
-  * and in <wctype.h>.  Although these <wctype.h> classifications are as
-  * prescribed by ISO-C, their exposure in <wchar.h> is not; nonetheless,
-  * we replicate them here, for MSDN conformity.
-  */
-# include <wctype.h>
-
- /* This is also necessary, to support the non-ANSI wchar.h declarations
-  * which MSDN identifies as being provided here.
-  */
-# include <sys/types.h>
-
-#endif	/* !__STRICT_ANSI__ */
-
-#define WCHAR_MIN	0
-#define WCHAR_MAX	0xffff
-
-#define WEOF		(wchar_t)(0xffff)
-
-#ifndef RC_INVOKED
-#define __WCHAR_H_SOURCED__
-/* ISO-C, POSIX, and Microsoft specify an overlap of content between
- * <wchar.h> and other system header files; by inclusion of such other
- * headers within this "__WCHAR_H_SOURCED__" scope, we may selectively
- * retrieve the overlapping content, without requiring duplication of
- * that content here; thus, from...
- */
-#include "stdio.h"
-/* ...we obtain (possibly indirect) definitions and declarations for:
- *
- *  macros  NULL, FILENAME_MAX
- *  types   size_t, wchar_t, wint_t, va_list (a.k.a. __VALIST), FILE
- *  types   ssize_t, off_t, __off64_t, (conditionally, as needed)
- *
- *  int     fwprintf (FILE *, const wchar_t *, ...);
- *  int     wprintf (const wchar_t *, ...);
- *  int     vfwprintf (FILE *, const wchar_t *, __VALIST);
- *  int     vwprintf (const wchar_t *, __VALIST);
- *  int     snwprintf (wchar_t *, size_t, const wchar_t *, ...);
- *  int    _snwprintf (wchar_t *, size_t, const wchar_t *, ...);
- *  int    _vscwprintf (const wchar_t *, __VALIST);
- *  int    _vsnwprintf (wchar_t *, size_t, const wchar_t *, __VALIST);
- *  int     vsnwprintf (wchar_t *, size_t, const wchar_t *, __VALIST);
- *  int     fwscanf (FILE *, const wchar_t *, ...);
- *  int     wscanf (const wchar_t *, ...);
- *  int     swscanf (const wchar_t *, const wchar_t *, ...);
- *  int     vwscanf (const wchar_t *, __VALIST);
- *  int     vfwscanf (FILE *, const wchar_t *, __VALIST);
- *  int     vswscanf (const wchar_t *, const wchar_t *, __VALIST);
- *  wint_t  fgetwc (FILE *);
- *  wint_t  fputwc (wchar_t, FILE *);
- *  wint_t  ungetwc (wchar_t, FILE *);
- *
- * The following pair of Microsoft functions conflict with their
- * corresponding ISO-C prototypes; consequently they will not be
- * declared when "__STRICT_ANSI__" checking is in effect:
- *
- *  int  swprintf (wchar_t *, const wchar_t *, ...);
- *  int  vswprintf (wchar_t *, const wchar_t *, __VALIST);
- *
- * The following group of functions is specified by ISO-C, but
- * their Microsoft implementations are available only if use of
- * "__MSVCRT__" is specified:
- *
- *  wchar_t * fgetws (wchar_t *, int, FILE *);
- *  int       fputws (const wchar_t *, FILE *);
- *  wint_t    getwc (FILE *);
- *  wint_t    getwchar (void);
- *  wint_t    putwc (wint_t, FILE *);
- *  wint_t    putwchar (wint_t);
- *
- * The following group of functions is also dependent on use of
- * "__MSVCRT__"; however, these are Microsoft specific, so they
- * are not declared if "__STRICT_ANSI__" checking is specified:
- *
- *  wchar_t * _getws (wchar_t *);
- *  int       _putws (const wchar_t *);
- *  FILE    * _wfdopen (int, const wchar_t *);
- *  FILE    * _wfopen (const wchar_t *, const wchar_t *);
- *  FILE    * _wfreopen (const wchar_t *, const wchar_t *, FILE *);
- *  FILE    * _wfsopen (const wchar_t *, const wchar_t *, int);
- *  wchar_t * _wtmpnam (wchar_t *);
- *  wchar_t * _wtempnam (const wchar_t *, const wchar_t *);
- *  int       _wrename (const wchar_t *, const wchar_t *);
- *  int       _wremove (const wchar_t *);
- *  void      _wperror (const wchar_t *);
- *  FILE    * _wpopen (const wchar_t *, const wchar_t *);
- *
- *
- * In similar fashion, from...
- */
-#include "stdlib.h"
-/* ...we obtain prototypes for universally supported functions:
- *
- *  long wcstol (const wchar_t *, wchar_t **, int);
- *  unsigned long wcstoul (const wchar_t *, wchar_t **, int);
- *  double wcstod (const wchar_t *, wchar_t **);
- *
- * The following are Microsoft specific, and require MSCVRT.DLL,
- * or any of its non-free derivatives; they are not available to
- * applications which use CRTDLL.DLL:
- *
- *  wchar_t *_wgetenv (const wchar_t *);
- *  int _wputenv (const wchar_t *);
- *  void _wsearchenv (const wchar_t *, const wchar_t *, wchar_t *);
- *  int _wsystem (const wchar_t *);
- *  void _wmakepath (wchar_t *, const wchar_t *, const wchar_t *,
- *          const wchar_t *, const wchar_t *
- *        );
- *  void _wsplitpath (const wchar_t *, wchar_t *, wchar_t *,
- *          wchar_t *, wchar_t *
- *        );
- *  wchar_t *_wfullpath (wchar_t *, const wchar_t *, size_t);
- *
- * ...with this pair requiring either WinXP (or later), or one of
- * the non-free MSVC runtimes from MSVCR70.DLL onwards:
- *
- *  __int64 _wcstoi64 (const wchar_t *, wchar_t **, int);
- *  unsigned __int64 _wcstoui64 (const wchar_t *, wchar_t **, int);
- *
- *  ...and this pair requiring Win-Vista (or later), or a non-free
- *  MSVC runtime from MSVCR80.DLL onwards:
- *
- *  __int64 _wcstoi64_l (const wchar_t *, wchar_t **, int, _locale_t);
- *  unsigned __int64 _wcstoui64_l (const wchar_t *, wchar_t **,
- *          int, _locale_t);
- *        );
- *
- * ...while this pair are ISO-C99 standards, which are available
- * in libmingwex.a, but not in any version of MSVCRT.DLL, (nor in
- * any of its non-free derivatives prior to MSVCR120.DLL), nor in
- * CRTDLL.DLL:
- *
- *  float wcstof (const wchar_t *restrict, wchar_t **restrict);
- *  long double wcstold (const wchar_t *restrict, wchar_t **restrict);
- *
- *
- * while from...
- */
-#include "direct.h"
-/* ...we obtain prototypes for each of the following functions,
- * (none of which are available when using CRTDLL.DLL):
- *
- *  int _wchdir (const wchar_t *);
- *  wchar_t *_wgetcwd (wchar_t *, int);
- *  wchar_t *_wgetdcwd (int, wchar_t *, int);
- *  int _wmkdir (const wchar_t *);
- *  int _wrmdir (const wchar_t *);
- *
- *
- * From...
- */
-#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
- * inline replacement implementations for MSVCR80.DLL and later):
- *
- *  int _wstat (const wchar_t *, struct _stat *);
- *  int _wstati64 (const wchar_t *, struct _stati64 *);
- *
- * ...this additional actual function, available in MSVCRT.DLL from
- * Win2K onwards, or in non-free MSVCR61.DLL and again requiring an
- * inline replacement from MSVCR80.DLL onwards:
- *
- *  int _wstat64 (const wchar_t *, struct __stat64 *);
- *
- * ...and these actual functions, which are available only in non-free
- * MSVCR80.DLL, and its later derivatives:
- *
- *  int _wstat32 (const wchar_t *, struct __stat32 *);
- *  int _wstat32i64 (const wchar_t *, struct _stat32i64 *);
- *  int _wstat64i32 (const wchar_t *, struct _stat64i32 *);
- *
- *
- * while from...
- */
-#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:
- *
- *  int _waccess (const wchar_t *, int);
- *  int _wchmod (const wchar_t *, int);
- *  int _wcreat (const wchar_t *, int);
- *  int _wopen (const wchar_t *, int, ...);
- *  int _wsopen (const wchar_t *, int, int, ...);
- *  int _wunlink (const wchar_t *);
- *  wchar_t *_wmktemp (wchar_t *);
- *
- * ...and also function prototypes and definitions of all associated
- * data types and manifest constants for the following, each of which
- * is physically implemented in all versions of MSVCRT.DLL, and in each
- * of its non-free variants prior to MSVCR80.DLL, or emulated by inline
- * replacement functions for MSVCR80.DLL and later:
- *
- *  intptr_t _wfindfirst (wchar_t *, struct _wfinddata_t *);
- *  int _wfindnext (intptr_t, struct _wfinddata_t *);
- *
- *  intptr_t _wfindfirsti64 (wchar_t *, struct _wfinddatai64_t *);
- *  int _wfindnexti64 (intptr_t, struct _wfinddatai64_t *);
- *
- * ...this additional pair of functions, available in all versions of
- * MSVCRT.DLL from Win2K, and non-free variants from MSVCR61.DLL:
- *
- *  intptr_t _wfindfirst64 (wchar_t *, struct __wfinddata64_t *);
- *  int _wfindnext64 (intptr_t, struct __wfinddata64_t *);
- *
- * ...and these, which are only available in the non-free run-times
- * from MSVCR80.DLL onwards:
- *
- *  intptr_t _wfindfirst32 (wchar_t *, struct __wfinddata32_t *);
- *  int _wfindnext32 (intptr_t, struct __wfinddata32_t *);
- *
- *  intptr_t _wfindfirst32i64 (wchar_t *, struct _wfinddata32i64_t *);
- *  int _wfindnext32i64 (intptr_t, struct _wfinddata32i64_t *);
- *
- *  intptr_t _wfindfirst64i32 (wchar_t *, struct _wfinddata64i32_t *);
- *  int _wfindnext64i32 (intptr_t, struct _wfinddata64i32_t *);
- *
- * Additionally, although Microsoft's <wchar.h> may not declare it,
- * this is required to complement all variants of the _wfindfirst()
- * and _wfindnext() API, so we also declare the prototype for:
- *
- *  int _findclose (intptr_t);
- *
- *
- * and from...
- */
-#include "time.h"
-/* ...we obtain an opaque forward declaration of:
- *
- *  struct tm
- *
- * ...and prototype declarations for the following ISO-C99 function,
- * (which is always provided):
- *
- *  size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *);
- *
- * ...together with the following non-ISO-C functions, (which are
- * NOT exposed when "__STRICT_ANSI__" checking is enabled):
- *
- *  wchar_t *_wctime (const time_t *);
- *  wchar_t *_wasctime (const struct tm *);
- *  wchar_t *_wstrdate (wchar_t *);
- *  wchar_t *_wstrtime (wchar_t *);
- *
- * Of the preceding group, we also note that, while it remains in
- * all versions of MSVCRT.DLL, (using a strictly 32-bit data type
- * to represent its "time_t" argument), the _wctime() function is
- * NOT present in MSVCR80.DLL, and later versions of the non-free
- * MSVC runtime libraries, in which it is replaced by either of:
- *
- *  wchar_t *_wctime64 (const __time64_t *);
- *  wchar_t *_wctime32 (const __time32_t *);
- *
- * ...with the actual replacement being chosen at compile time, on
- * the basis of the user specified "_USE_32BIT_TIME_T" feature test
- * macro, (a Microsoft specific, brain damaged concept), which maps
- * _wctime() itself, as an in-line alias for its corresponding
- * replacement library function.
- *
- *
- * Also, from...
- */
-#include "locale.h"
-/* ...we obtain the declaration for:
- *
- *   wchar_t *_wsetlocale (int, const wchar_t *);
- *
- *
- * and from...
- */
-#include "process.h"
-/* ...we obtain function prototypes for:
- *
- *  intptr_t _wexecl (const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wexecle (const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wexeclp (const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wexeclpe (const wchar_t *, const wchar_t *, ...);
- *
- *  intptr_t _wexecv (const wchar_t *, const wchar_t * const *);
- *  intptr_t _wexecve (
- *    const wchar_t *, const wchar_t * const *, const wchar_t * const *
- *   );
- *  intptr_t _wexecvp (const wchar_t *, const wchar_t * const *);
- *  intptr_t _wexecvpe (
- *    const wchar_t *, const wchar_t * const *, const wchar_t * const *
- *   );
- *
- *  intptr_t _wspawnl (int, const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wspawnle (int, const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wspawnlp (int, const wchar_t *, const wchar_t *, ...);
- *  intptr_t _wspawnlpe (int, const wchar_t *, const wchar_t *, ...);
- *
- *  intptr_t _wspawnv (int, const wchar_t *, const wchar_t * const *);
- *  intptr_t _wspawnve (
- *    int, const wchar_t *, const wchar_t * const *, const wchar_t * const *
- *   );
- *  intptr_t _wspawnvp (int, const wchar_t *, const wchar_t * const *);
- *  intptr_t _wspawnvpe (
- *    int, const wchar_t *, const wchar_t * const *, const wchar_t * const *
- *   );
- *
- */
-_BEGIN_C_DECLS
-
-/* Wide character string functions must be specified here, as required
- * by the ISO-C Standard; however, MSVC contravenes this standard by also
- * requiring them to appear in <string.h>.  We declare them here, where
- * they rightfully belong, but we also arrange for them to be available
- * for selective inclusion by <string.h>; to facilitate this, we must
- * change the declarative condition...
- */
-#endif	/* ! RC_INVOKED */
-#endif	/* !__STRING_H_SOURCED__ */
-#if ! (defined RC_INVOKED || (defined _WCHAR_H && defined _STRING_H))
-/* ...such that these declarations are exposed when either _WCHAR_H, or
- * _STRING_H is defined, (but not both, since that would indicate that
- * these declarations have already been processed).
- *
- *
- * Wide character versions of the ISO-C standard string functions.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcscat (wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcschr (const wchar_t *, wchar_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcscmp (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcscoll (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcscpy (wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t wcscspn (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t wcslen (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsncat (wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcsncmp (const wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsncpy (wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcspbrk (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsrchr (const wchar_t *, wchar_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t wcsspn (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsstr (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcstok (wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  size_t wcsxfrm (wchar_t *, const wchar_t *, size_t);
-
-#ifndef __STRICT_ANSI__
-/* UTF-16LE versions of non-ANSI string functions provided by CRTDLL.DLL
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcsdup (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcsicmp (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcsicoll (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcslwr (wchar_t*);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcsnicmp (const wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcsnset (wchar_t *, wchar_t, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcsrev (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcsset (wchar_t *, wchar_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcsupr (wchar_t *);
-
-#ifdef __MSVCRT__
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcsncoll (const wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int _wcsnicoll (const wchar_t *, const wchar_t *, size_t);
-
-/* A wide character counterpart to the strerror() API was introduced in
- * MSVCR70.DLL, and subsequently back-ported to MSVCRT.DLL in WinXP.
- */
-#if __MSVCRT_VERSION__ >= __MSVCR70_DLL || NTDDI_VERSION >= NTDDI_WINXP
- /*
-  * These are are the wide character counterparts to the strerror()
-  * function itself, and the _strerror() function, respectively.
-  */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *_wcserror (int);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *__wcserror (const wchar_t *);
-
-#endif	/* MSVCR70.DLL || WinXP */
-#endif	/* __MSVCRT__ */
-
-/* MSVCRT.DLL provides neither _wcscmpi() nor wcscmpi(); the heritage
- * is uncertain, but for the convenience, (and portability), of legacy
- * applications which assume wcscmpi() should be available:
- */
-#define _wcscmpi _wcsicmp
-int __cdecl __MINGW_NOTHROW  wcscmpi (const wchar_t *, const wchar_t *);
-
-#ifndef __NO_INLINE__
-__CRT_ALIAS __JMPSTUB__(( FUNCTION = wcscmpi, REMAPPED = _wcsicmp ))
-  int wcscmpi (const wchar_t *__ws1, const wchar_t *__ws2)
-  { return _wcsicmp (__ws1, __ws2); }
-#endif	/* __NO_INLINE__ */
-
-#ifndef _NO_OLDNAMES
-/* Older CRTDLL.DLL versions may have provided these alternatively named
- * functions; we continue to support them, via the OLDNAME libraries:
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsdup (const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcsicmp (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcsicoll (const wchar_t *, const wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcslwr (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  int wcsnicmp (const wchar_t *, const wchar_t *, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsnset (wchar_t *, wchar_t, size_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsrev (wchar_t *);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsset (wchar_t *, wchar_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wchar_t *wcsupr (wchar_t *);
-
-#endif	/* !_NO_OLDNAMES */
-#endif	/* !__STRICT_ANSI__ */
-
-/* This completes the set of declarations which are to be duplicated by
- * inclusion of <string.h>; revert the declarative condition, to make it
- * specific to <wchar.h> alone.
- */
-#endif	/* !(RC_INVOKED || (_WCHAR_H && _STRING_H)) */
-#if defined _WCHAR_H && ! defined RC_INVOKED
-
-#ifndef __STRICT_ANSI__
-typedef wchar_t  _Wint_t;
-#endif
-
-typedef int mbstate_t;
-
-/* The following multi-byte character conversion functions are
- * implemented in libmingwex.a, (and maybe also in some non-free
- * Microsoft libraries, such as MSVCP60.DLL and later).
- */
-__cdecl __MINGW_NOTHROW  wint_t btowc (int);
-__cdecl __MINGW_NOTHROW  int wctob (wint_t);
-
-__cdecl __MINGW_NOTHROW
-size_t mbrlen (const char *__restrict__, size_t, mbstate_t *__restrict__);
-
-__cdecl __MINGW_NOTHROW  size_t mbrtowc
-(wchar_t *__restrict__, const char *__restrict__, size_t, mbstate_t *__restrict__);
-
-__cdecl __MINGW_NOTHROW  size_t mbsrtowcs
-(wchar_t *__restrict__, const char **__restrict__, size_t, mbstate_t *__restrict__);
-
-__cdecl __MINGW_NOTHROW
-size_t wcrtomb (char * __restrict__, wchar_t, mbstate_t *__restrict__);
-
-__cdecl __MINGW_NOTHROW  size_t wcsrtombs
-(char *__restrict__, const wchar_t **__restrict__, size_t, mbstate_t *__restrict__);
-
-#ifdef _ISOC99_SOURCE
-/* These ISO-C99 functions are implemented in libmingwex.a,
- * or, in some cases, by inline stubs.
- */
-__cdecl __MINGW_NOTHROW  int fwide (FILE *, int);
-__cdecl __MINGW_NOTHROW  int mbsinit (const mbstate_t *);
-
-#ifndef __NO_INLINE__
-__CRT_INLINE __cdecl __MINGW_NOTHROW
-int fwide (FILE *__UNUSED_PARAM(stream), int mode)
-  { return mode; } /* Nothing to do  */
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW
-int mbsinit (const mbstate_t *__UNUSED_PARAM(ps))
-  { return 1; }
-#endif
-
-__cdecl __MINGW_NOTHROW  wchar_t *wmemset (wchar_t *, wchar_t, size_t);
-__cdecl __MINGW_NOTHROW  wchar_t *wmemchr (const wchar_t *, wchar_t, size_t);
-
-/* FIXME: what makes this so different from every other function
- * in this group?  Why is it not qualified with the __cdecl, and
- * __MINGW_NOTHROW attributes?
- */
-int wmemcmp (const wchar_t *, const wchar_t *, size_t);
-
-__cdecl __MINGW_NOTHROW
-wchar_t *wmemcpy (wchar_t *__restrict__, const wchar_t *__restrict__, size_t);
-
-__cdecl __MINGW_NOTHROW  wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t);
-
-__cdecl __MINGW_NOTHROW
-long long wcstoll (const wchar_t *__restrict__, wchar_t **__restrict__, int);
-
-__cdecl __MINGW_NOTHROW  unsigned long long wcstoull
-(const wchar_t *__restrict__, wchar_t **__restrict__, int);
-#endif /* _ISOC99_SOURCE */
-
-_END_C_DECLS
-
-#undef __WCHAR_H_SOURCED__
-#endif	/* _WCHAR_H && ! RC_INVOKED */
-#endif	/* !_WCHAR_H: $RCSfile: wchar.h,v $: end of file */
Index: Daodan/MinGW/include/wctype.h
===================================================================
--- Daodan/MinGW/include/wctype.h	(revision 1046)
+++ 	(revision )
@@ -1,210 +1,0 @@
-/*
- * wctype.h
- *
- * Functions for wide character classification and conversion.
- *
- * $Id: wctype.h,v e38eed5e2087 2016/07/09 20:53:41 keithmarshall $
- *
- * Written by Mumit Khan <khan@xraylith.wisc.edu>
- * Copyright (C) 1999-2003, 2005-2007, 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, 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.
- *
- */
-#ifndef _WCTYPE_H
-#pragma GCC system_header
-
-#ifndef __CTYPE_H_SOURCED__
-/* Perversely, (since they provide <wctype.h> themselves), Microsoft
- * say that most of the definitions and declarations which follow are
- * provided by <ctype.h>, rather than here; (this conflicts with both
- * ISO-C and POSIX).  We prefer to provide them here, for ISO-C/POSIX
- * conformance, while also exposing them for selective inclusion by
- * <ctype.h>, to maintain Microsoft compatibility.
- *
- * We define the <wctype.h> multiple inclusion guard macro only when
- * <wctype.h> is included directly, NOT when included via <ctype.h>
- */
-#define _WCTYPE_H
-
-/* All MinGW headers must include <_mingw.h>; when sourced by <ctype.h>,
- * we may delegate that responsibility to it, but in the case of direct
- * inclusion, we must address it ourselves.
- */
-#include <_mingw.h>
-#endif
-
-/* The following flags are used to tell iswctype() and _isctype() what
- * character classes are to be matched; (note that _BLANK will match for
- * SP and non-ASCII horizontal space chars -- e.g. for "no-break space",
- * 0xA0, in CP1250 -- but NOT for HT).
- *
- * These are defined such that they will be made visible by inclusion
- * of either <wctype.h> (this file), or <ctype.h>:
- */
-#define _ALPHA		0x0103
-#define _LOWER		0x0002
-#define _UPPER		0x0001
-#define _DIGIT		0x0004
-#define _SPACE		0x0008		/* HT  LF  VT  FF  CR  SP */
-#define _PUNCT		0x0010
-#define _CONTROL	0x0020
-#define _BLANK		0x0040
-#define _HEX		0x0080
-
-#ifndef RC_INVOKED
-
-/* ISO-C and POSIX specify that <wctype.h> must define wint_t, wctype_t,
- * and the WEOF macro, (which also requires wchar_t), as they are defined
- * in <wchar.h>; since <wchar.h> gets wint_t, (and wchar_t), from <stddef.h>,
- * we do likewise here.  Furthermore, to maintain Microsoft compatibility,
- * we must also do this on behalf of <ctype.h>; however...
- */
-#if !(defined _WCTYPE_H && defined _CTYPE_H)
-/* ...we need not incur the overhead of doing it twice, when both <ctype.h>
- * and <wctype.h> have been included.
- */
-#define __need_wint_t
-#define __need_wchar_t
-#include <stddef.h>
-
-typedef wchar_t  wctype_t;
-#define WEOF	(wchar_t)(0xffff)
-
-_BEGIN_C_DECLS
-
-/* Wide character classification functions.  In typically perverse
- * fashion, and contrary to both ISO-C and POSIX, Microsoft specify
- * that these should be declared in <ctype.h>; thus, to accommodate
- * this persersity, we make them visible here, irrespective of any
- * selective inclusion filter macro.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswalnum (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswalpha (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswascii (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswcntrl (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswctype (wint_t, wctype_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswdigit (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswgraph (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswlower (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswprint (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswpunct (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswspace (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswupper (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  int iswxdigit (wint_t);
-
-__MINGW_ATTRIB_DEPRECATED
-/* This function is exported by all versions of MSVCRT.DLL, (up to and
- * including that in Windows-7), and in all non-free counterparts up to
- * and including MSVCR120.DLL, but as of MSVC-2013, Microsoft declare
- * it to be obsolete.  DO NOT USE IT!  Use iswctype() instead.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  int is_wctype (wint_t, wctype_t);
-
-#if __STDC_VERSION__>=199901L || !defined __STRICT_ANSI__ || defined __cplusplus
-__cdecl __MINGW_NOTHROW  int iswblank (wint_t);
-#endif
-
-/* Wide character case transliteration functions; the following conform
- * to the ISO-C and POSIX standard declarations; Microsoft, at one time,
- * specified both as taking a wchar_t argument, and returning a wchar_t
- * result, but now take a wint_t argument, and return int.
- */
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t towlower (wint_t);
-_CRTIMP __cdecl __MINGW_NOTHROW  wint_t towupper (wint_t);
-
-#if !(defined __NO_INLINE__ || defined __NO_CTYPE_INLINES)
-/* Provide inline alternatives to the DLL-exported isw*() functions.
- * Note that POSIX stipulates that these alternatives should be macros;
- * we prefer __CRT_INLINEs, (which GCC effectively treats as macros),
- * because they do not interfere with C++ namespace qualification.
- */
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswalnum (wint_t wc)
-{ return (iswctype (wc, _ALPHA | _DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswalpha (wint_t wc)
-{ return (iswctype (wc, _ALPHA )); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswascii (wint_t wc)
-{ return ((wc & ~0x7F) == 0); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswcntrl (wint_t wc)
-{ return (iswctype (wc, _CONTROL)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswdigit (wint_t wc)
-{ return (iswctype (wc, _DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswgraph (wint_t wc)
-{ return (iswctype (wc, _PUNCT | _ALPHA | _DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswlower (wint_t wc)
-{ return (iswctype (wc, _LOWER)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswprint (wint_t wc)
-{ return (iswctype (wc, _BLANK | _PUNCT | _ALPHA | _DIGIT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswpunct (wint_t wc)
-{ return (iswctype (wc, _PUNCT)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswspace (wint_t wc)
-{ return (iswctype (wc, _SPACE)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswupper (wint_t wc)
-{ return (iswctype (wc, _UPPER)); }
-
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswxdigit (wint_t wc)
-{ return (iswctype (wc, _HEX)); }
-
-#if __STDC_VERSION__>=199901L || !defined __STRICT_ANSI__ || defined __cplusplus
-__CRT_INLINE __cdecl __MINGW_NOTHROW  int iswblank (wint_t wc)
-{ return (iswctype (wc, _BLANK) || wc == L'\t'); }
-#endif
-#endif	/* !__NO_CTYPE_INLINES */
-
-_END_C_DECLS
-
-#endif	/* !(_WCTYPE_H && _CTYPE_H) */
-
-#ifdef _WCTYPE_H
-/* Although Microsoft make most of the content, which ISO-C and POSIX say
- * should be in <wctype.h>, available through <ctype.h>, the declarations
- * in this section are exclusive to <wctype.h>
- */
-typedef wchar_t  wctrans_t;
-
-_BEGIN_C_DECLS
-
-/* These are provided in libmingwex.a.  Note, that they are also exported
- * by the MS C++ runtime lib (MSVCP60.DLL).  The MSVCP60.DLL implementations
- * of wctrans and towctrans are not C99 compliant in that wctrans("tolower")
- * returns 0, while C99 specifies that a non-zero value should be returned
- * for a valid string descriptor.  If you want the MS behaviour (and you
- * have MSVCP60.DLL in your path) add -lmsvcp60 to your command line.
- */
-__cdecl __MINGW_NOTHROW  wint_t towctrans (wint_t, wctrans_t);
-__cdecl __MINGW_NOTHROW  wctrans_t wctrans (const char*);
-__cdecl __MINGW_NOTHROW  wctype_t wctype (const char*);
-
-_END_C_DECLS
-
-#endif	/* _WCTYPE_H */
-#endif	/* ! RC_INVOKED */
-#endif	/* !_WCTYPE_H: $RCSfile: wctype.h,v $: end of file */
Index: Daodan/MinGW/include/winable.h
===================================================================
--- Daodan/MinGW/include/winable.h	(revision 1046)
+++ 	(revision )
@@ -1,99 +1,0 @@
-#ifndef _WINABLE_H
-#define _WINABLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT < 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT < 0x04030) */
-#if (WINVER < 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#define WINEVENT_OUTOFCONTEXT 0x0000
-#define WINEVENT_SKIPOWNTHREAD 0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT 0x0004
-#endif /* (WINVER < 0x0500) */
-#if (_WIN32_WINNT < 0x0403)
-typedef struct tagMOUSEINPUT {
-	LONG dx;
-	LONG dy;
-	DWORD mouseData;
-	DWORD dwFlags;
-	DWORD time;
-	ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
-	WORD wVk;
-	WORD wScan;
-	DWORD dwFlags;
-	DWORD time;
-	ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
-	DWORD uMsg;
-	WORD wParamL;
-	WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
-	DWORD type;
-	_ANONYMOUS_UNION union {
-		MOUSEINPUT mi;
-		KEYBDINPUT ki;
-		HARDWAREINPUT hi;
-	} DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT < 0x0403) */
-#if (WINVER < 0x0500)
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-typedef struct tagGUITHREADINFO {
-	DWORD cbSize;
-	DWORD flags;
-	HWND hwndActive;
-	HWND hwndFocus;
-	HWND hwndCapture;
-	HWND hwndMenuOwner;
-	HWND hwndMoveSize;
-	HWND hwndCaret;
-	RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-#endif /* (WINVER < 0x0500) */
-
-BOOL WINAPI BlockInput(BOOL);
-#if (_WIN32_WINNT < 0x0403)
-UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
-#if (WINVER < 0x0500)
-BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif /* (WINVER < 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winbase.h
===================================================================
--- Daodan/MinGW/include/winbase.h	(revision 1046)
+++ 	(revision )
@@ -1,2654 +1,0 @@
-#ifndef _WINBASE_H
-#define _WINBASE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __GNUC__
-#define __GNUC_EXTENSION __extension__
-#else
-#define __GNUC_EXTENSION
-#endif
-
-#ifndef WINBASEAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINBASEAPI DECLSPEC_IMPORT
-#else
-#define WINBASEAPI
-#endif
-#endif
-
-#ifndef WINADVAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINADVAPI DECLSPEC_IMPORT
-#else
-#define WINADVAPI
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SP_SERIALCOMM 1
-#define PST_UNSPECIFIED	0
-#define PST_RS232	1
-#define PST_PARALLELPORT	2
-#define PST_RS422	3
-#define PST_RS423	4
-#define PST_RS449	5
-#define PST_MODEM	6
-#define PST_FAX	0x21
-#define PST_SCANNER	0x22
-#define PST_NETWORK_BRIDGE	0x100
-#define PST_LAT	0x101
-#define PST_TCPIP_TELNET	0x102
-#define PST_X25	0x103
-#define BAUD_075	1
-#define BAUD_110	2
-#define BAUD_134_5	4
-#define BAUD_150	8
-#define BAUD_300	16
-#define BAUD_600	32
-#define BAUD_1200	64
-#define BAUD_1800	128
-#define BAUD_2400	256
-#define BAUD_4800	512
-#define BAUD_7200	1024
-#define BAUD_9600	2048
-#define BAUD_14400	4096
-#define BAUD_19200	8192
-#define BAUD_38400	16384
-#define BAUD_56K	32768
-#define BAUD_128K	65536
-#define BAUD_115200	131072
-#define BAUD_57600	262144
-#define BAUD_USER	0x10000000
-#define PCF_DTRDSR	1
-#define PCF_RTSCTS	2
-#define PCF_RLSD	4
-#define PCF_PARITY_CHECK	8
-#define PCF_XONXOFF	16
-#define PCF_SETXCHAR	32
-#define PCF_TOTALTIMEOUTS	64
-#define PCF_INTTIMEOUTS	128
-#define PCF_SPECIALCHARS	256
-#define PCF_16BITMODE	512
-#define SP_PARITY	1
-#define SP_BAUD	2
-#define SP_DATABITS	4
-#define SP_STOPBITS	8
-#define SP_HANDSHAKING	16
-#define SP_PARITY_CHECK	32
-#define SP_RLSD	64
-#define DATABITS_5	1
-#define DATABITS_6	2
-#define DATABITS_7	4
-#define DATABITS_8	8
-#define DATABITS_16	16
-#define DATABITS_16X	32
-#define STOPBITS_10	1
-#define STOPBITS_15	2
-#define STOPBITS_20	4
-#define PARITY_NONE	256
-#define PARITY_ODD	512
-#define PARITY_EVEN	1024
-#define PARITY_MARK	2048
-#define PARITY_SPACE	4096
-#define EXCEPTION_DEBUG_EVENT	1
-#define CREATE_THREAD_DEBUG_EVENT	2
-#define CREATE_PROCESS_DEBUG_EVENT	3
-#define EXIT_THREAD_DEBUG_EVENT	4
-#define EXIT_PROCESS_DEBUG_EVENT	5
-#define LOAD_DLL_DEBUG_EVENT	6
-#define UNLOAD_DLL_DEBUG_EVENT	7
-#define OUTPUT_DEBUG_STRING_EVENT	8
-#define RIP_EVENT	9
-#define HFILE_ERROR ((HFILE)-1)
-#define FILE_BEGIN	0
-#define FILE_CURRENT	1
-#define FILE_END	2
-#define INVALID_SET_FILE_POINTER	((DWORD)-1)
-#define OF_READ 0
-#define OF_READWRITE	2
-#define OF_WRITE	1
-#define OF_SHARE_COMPAT	0
-#define OF_SHARE_DENY_NONE	64
-#define OF_SHARE_DENY_READ	48
-#define OF_SHARE_DENY_WRITE	32
-#define OF_SHARE_EXCLUSIVE	16
-#define OF_CANCEL	2048
-#define OF_CREATE	4096
-#define OF_DELETE	512
-#define OF_EXIST	16384
-#define OF_PARSE	256
-#define OF_PROMPT	8192
-#define OF_REOPEN	32768
-#define OF_VERIFY	1024
-#define NMPWAIT_NOWAIT	1
-#define NMPWAIT_WAIT_FOREVER	((DWORD)-1)
-#define NMPWAIT_USE_DEFAULT_WAIT	0
-#define CE_BREAK	16
-#define CE_DNS	2048
-#define CE_FRAME	8
-#define CE_IOE	1024
-#define CE_MODE	32768
-#define CE_OOP	4096
-#define CE_OVERRUN	2
-#define CE_PTO	512
-#define CE_RXOVER	1
-#define CE_RXPARITY	4
-#define CE_TXFULL	256
-#define PROGRESS_CONTINUE	0
-#define PROGRESS_CANCEL	1
-#define PROGRESS_STOP	2
-#define PROGRESS_QUIET	3
-#define CALLBACK_CHUNK_FINISHED	0
-#define CALLBACK_STREAM_SWITCH	1
-#define COPY_FILE_FAIL_IF_EXISTS              0x0001
-#define COPY_FILE_RESTARTABLE                 0x0002
-#define COPY_FILE_OPEN_SOURCE_FOR_WRITE       0x0004
-#if (_WIN32_WINNT > 0x0500)
-#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008
-#if (_WIN32_WINNT > 0x0501)
-#define COPY_FILE_COPY_SYMLINK                0x0800
-#define COPY_FILE_NO_BUFFERING                0x1000
-#endif
-#endif
-#define OFS_MAXPATHNAME 128
-#define FILE_MAP_ALL_ACCESS     0xf001f
-#define FILE_MAP_READ   4
-#define FILE_MAP_WRITE  2
-#define FILE_MAP_COPY   1
-#define MUTEX_ALL_ACCESS	0x1f0001
-#define MUTEX_MODIFY_STATE	1
-#define SEMAPHORE_ALL_ACCESS	0x1f0003
-#define SEMAPHORE_MODIFY_STATE	2
-#define EVENT_ALL_ACCESS	0x1f0003
-#define EVENT_MODIFY_STATE	2
-#define PIPE_ACCESS_DUPLEX      3
-#define PIPE_ACCESS_INBOUND     1
-#define PIPE_ACCESS_OUTBOUND    2
-#define PIPE_TYPE_BYTE	0
-#define PIPE_TYPE_MESSAGE	4
-#define PIPE_READMODE_BYTE	0
-#define PIPE_READMODE_MESSAGE	2
-#define PIPE_WAIT	0
-#define PIPE_NOWAIT	1
-#define PIPE_CLIENT_END 0
-#define PIPE_SERVER_END 1
-#define PIPE_UNLIMITED_INSTANCES 255
-#define DEBUG_PROCESS			0x00000001
-#define DEBUG_ONLY_THIS_PROCESS		0x00000002
-#define CREATE_SUSPENDED		0x00000004
-#define DETACHED_PROCESS		0x00000008
-#define CREATE_NEW_CONSOLE		0x00000010
-#define NORMAL_PRIORITY_CLASS		0x00000020
-#define IDLE_PRIORITY_CLASS		0x00000040
-#define HIGH_PRIORITY_CLASS		0x00000080
-#define REALTIME_PRIORITY_CLASS		0x00000100
-#define CREATE_NEW_PROCESS_GROUP	0x00000200
-#define CREATE_UNICODE_ENVIRONMENT	0x00000400
-#define CREATE_SEPARATE_WOW_VDM		0x00000800
-#define CREATE_SHARED_WOW_VDM		0x00001000
-#define CREATE_FORCEDOS			0x00002000
-#define BELOW_NORMAL_PRIORITY_CLASS	0x00004000
-#define ABOVE_NORMAL_PRIORITY_CLASS	0x00008000
-#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
-#define CREATE_BREAKAWAY_FROM_JOB	0x01000000
-#define CREATE_WITH_USERPROFILE		0x02000000
-#define CREATE_DEFAULT_ERROR_MODE	0x04000000
-#define CREATE_NO_WINDOW		0x08000000
-#define PROFILE_USER			0x10000000
-#define PROFILE_KERNEL			0x20000000
-#define PROFILE_SERVER			0x40000000
-#define CONSOLE_TEXTMODE_BUFFER 1
-#define CREATE_NEW	1
-#define CREATE_ALWAYS	2
-#define OPEN_EXISTING	3
-#define OPEN_ALWAYS	4
-#define TRUNCATE_EXISTING	5
-#define FILE_FLAG_WRITE_THROUGH	0x80000000
-#define FILE_FLAG_OVERLAPPED	1073741824
-#define FILE_FLAG_NO_BUFFERING	536870912
-#define FILE_FLAG_RANDOM_ACCESS	268435456
-#define FILE_FLAG_SEQUENTIAL_SCAN	134217728
-#define FILE_FLAG_DELETE_ON_CLOSE	67108864
-#define FILE_FLAG_BACKUP_SEMANTICS	33554432
-#define FILE_FLAG_POSIX_SEMANTICS	16777216
-#define FILE_FLAG_OPEN_REPARSE_POINT	2097152
-#define FILE_FLAG_OPEN_NO_RECALL	1048576
-#if (_WIN32_WINNT >= 0x0500)
-#define FILE_FLAG_FIRST_PIPE_INSTANCE	524288
-#endif
-#define SYMBOLIC_LINK_FLAG_DIRECTORY	0x1
-#define CLRDTR 6
-#define CLRRTS 4
-#define SETDTR 5
-#define SETRTS 3
-#define SETXOFF 1
-#define SETXON 2
-#define SETBREAK 8
-#define CLRBREAK 9
-#define STILL_ACTIVE 0x103
-#define FIND_FIRST_EX_CASE_SENSITIVE 1
-#define SCS_32BIT_BINARY 0
-#define SCS_64BIT_BINARY 6
-#define SCS_DOS_BINARY 1
-#define SCS_OS216_BINARY 5
-#define SCS_PIF_BINARY 3
-#define SCS_POSIX_BINARY 4
-#define SCS_WOW_BINARY 2
-#define MAX_COMPUTERNAME_LENGTH 15
-#define HW_PROFILE_GUIDLEN	39
-#define MAX_PROFILE_LEN	80
-#define DOCKINFO_UNDOCKED	1
-#define DOCKINFO_DOCKED	2
-#define DOCKINFO_USER_SUPPLIED	4
-#define DOCKINFO_USER_UNDOCKED	(DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
-#define DOCKINFO_USER_DOCKED	(DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
-#define DRIVE_REMOVABLE 2
-#define DRIVE_FIXED 3
-#define DRIVE_REMOTE 4
-#define DRIVE_CDROM 5
-#define DRIVE_RAMDISK 6
-#define DRIVE_UNKNOWN 0
-#define DRIVE_NO_ROOT_DIR 1
-#define FILE_TYPE_UNKNOWN 0
-#define FILE_TYPE_DISK 1
-#define FILE_TYPE_CHAR 2
-#define FILE_TYPE_PIPE 3
-#define FILE_TYPE_REMOTE 0x8000
-#define FILE_ENCRYPTABLE 0
-#define FILE_IS_ENCRYPTED 1
-#define FILE_READ_ONLY 8
-#define FILE_ROOT_DIR 3
-#define FILE_SYSTEM_ATTR 2
-#define FILE_SYSTEM_DIR 4
-#define FILE_SYSTEM_NOT_SUPPORT 6
-#define FILE_UNKNOWN 5
-#define FILE_USER_DISALLOWED 7
-/* also in ddk/ntapi.h */
-#define HANDLE_FLAG_INHERIT		0x01
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE	0x02
-/* end ntapi.h */
-#define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
-#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
-#define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
-#define INVALID_HANDLE_VALUE (HANDLE)(-1)
-#define GET_TAPE_MEDIA_INFORMATION 0
-#define GET_TAPE_DRIVE_INFORMATION 1
-#define SET_TAPE_MEDIA_INFORMATION 0
-#define SET_TAPE_DRIVE_INFORMATION 1
-#if (_WIN32_WINNT >= 0x0600)
-#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000
-#define THREAD_MODE_BACKGROUND_END 0x00020000
-#endif
-#define THREAD_PRIORITY_ABOVE_NORMAL 1
-#define THREAD_PRIORITY_BELOW_NORMAL (-1)
-#define THREAD_PRIORITY_HIGHEST 2
-#define THREAD_PRIORITY_IDLE (-15)
-#define THREAD_PRIORITY_LOWEST (-2)
-#define THREAD_PRIORITY_NORMAL 0
-#define THREAD_PRIORITY_TIME_CRITICAL 15
-#define THREAD_PRIORITY_ERROR_RETURN 2147483647
-#define TIME_ZONE_ID_UNKNOWN 0
-#define TIME_ZONE_ID_STANDARD 1
-#define TIME_ZONE_ID_DAYLIGHT 2
-#define TIME_ZONE_ID_INVALID 0xFFFFFFFF
-#define FS_CASE_IS_PRESERVED 2
-#define FS_CASE_SENSITIVE 1
-#define FS_UNICODE_STORED_ON_DISK 4
-#define FS_PERSISTENT_ACLS 8
-#define FS_FILE_COMPRESSION 16
-#define FS_VOL_IS_COMPRESSED 32768
-#define GMEM_FIXED 0
-#define GMEM_MOVEABLE 2
-#define GMEM_MODIFY 128
-#define GPTR 64
-#define GHND 66
-#define GMEM_DDESHARE 8192
-#define GMEM_DISCARDABLE 256
-#define GMEM_LOWER 4096
-#define GMEM_NOCOMPACT 16
-#define GMEM_NODISCARD 32
-#define GMEM_NOT_BANKED 4096
-#define GMEM_NOTIFY 16384
-#define GMEM_SHARE 8192
-#define GMEM_ZEROINIT 64
-#define GMEM_DISCARDED 16384
-#define GMEM_INVALID_HANDLE 32768
-#define GMEM_LOCKCOUNT 255
-#define GMEM_VALID_FLAGS 32626
-#define STATUS_WAIT_0 0
-#define STATUS_ABANDONED_WAIT_0 0x80
-#define STATUS_USER_APC 0xC0
-#define STATUS_TIMEOUT 0x102
-#define STATUS_PENDING 0x103
-#define STATUS_SEGMENT_NOTIFICATION 0x40000005
-#define STATUS_GUARD_PAGE_VIOLATION 0x80000001
-#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
-#define STATUS_BREAKPOINT 0x80000003
-#define STATUS_SINGLE_STEP 0x80000004
-#define STATUS_ACCESS_VIOLATION 0xC0000005
-#define STATUS_IN_PAGE_ERROR 0xC0000006
-#define STATUS_INVALID_HANDLE 0xC0000008L
-#define STATUS_NO_MEMORY 0xC0000017
-#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
-#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
-#define STATUS_INVALID_DISPOSITION 0xC0000026
-#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
-#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
-#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
-#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
-#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
-#define STATUS_FLOAT_OVERFLOW 0xC0000091
-#define STATUS_FLOAT_STACK_CHECK 0xC0000092
-#define STATUS_FLOAT_UNDERFLOW 0xC0000093
-#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
-#define STATUS_INTEGER_OVERFLOW 0xC0000095
-#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
-#define STATUS_STACK_OVERFLOW 0xC00000FD
-#define STATUS_CONTROL_C_EXIT 0xC000013A
-#define STATUS_DLL_INIT_FAILED 0xC0000142
-#define STATUS_DLL_INIT_FAILED_LOGOFF 0xC000026B
-#define EXCEPTION_ACCESS_VIOLATION	STATUS_ACCESS_VIOLATION
-#define EXCEPTION_DATATYPE_MISALIGNMENT	STATUS_DATATYPE_MISALIGNMENT
-#define EXCEPTION_BREAKPOINT	STATUS_BREAKPOINT
-#define EXCEPTION_SINGLE_STEP	STATUS_SINGLE_STEP
-#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED	STATUS_ARRAY_BOUNDS_EXCEEDED
-#define EXCEPTION_FLT_DENORMAL_OPERAND	STATUS_FLOAT_DENORMAL_OPERAND
-#define EXCEPTION_FLT_DIVIDE_BY_ZERO	STATUS_FLOAT_DIVIDE_BY_ZERO
-#define EXCEPTION_FLT_INEXACT_RESULT	STATUS_FLOAT_INEXACT_RESULT
-#define EXCEPTION_FLT_INVALID_OPERATION	STATUS_FLOAT_INVALID_OPERATION
-#define EXCEPTION_FLT_OVERFLOW	STATUS_FLOAT_OVERFLOW
-#define EXCEPTION_FLT_STACK_CHECK	STATUS_FLOAT_STACK_CHECK
-#define EXCEPTION_FLT_UNDERFLOW	STATUS_FLOAT_UNDERFLOW
-#define EXCEPTION_INT_DIVIDE_BY_ZERO	STATUS_INTEGER_DIVIDE_BY_ZERO
-#define EXCEPTION_INT_OVERFLOW	STATUS_INTEGER_OVERFLOW
-#define EXCEPTION_PRIV_INSTRUCTION	STATUS_PRIVILEGED_INSTRUCTION
-#define EXCEPTION_IN_PAGE_ERROR	STATUS_IN_PAGE_ERROR
-#define EXCEPTION_ILLEGAL_INSTRUCTION	STATUS_ILLEGAL_INSTRUCTION
-#define EXCEPTION_NONCONTINUABLE_EXCEPTION	STATUS_NONCONTINUABLE_EXCEPTION
-#define EXCEPTION_STACK_OVERFLOW	STATUS_STACK_OVERFLOW
-#define EXCEPTION_INVALID_DISPOSITION	STATUS_INVALID_DISPOSITION
-#define EXCEPTION_GUARD_PAGE	STATUS_GUARD_PAGE_VIOLATION
-#define EXCEPTION_INVALID_HANDLE	STATUS_INVALID_HANDLE
-#define CONTROL_C_EXIT	STATUS_CONTROL_C_EXIT
-#define PROCESS_HEAP_REGION 1
-#define PROCESS_HEAP_UNCOMMITTED_RANGE 2
-#define PROCESS_HEAP_ENTRY_BUSY 4
-#define PROCESS_HEAP_ENTRY_MOVEABLE 16
-#define PROCESS_HEAP_ENTRY_DDESHARE 32
-#define DONT_RESOLVE_DLL_REFERENCES 1
-#define LOAD_LIBRARY_AS_DATAFILE 2
-#define LOAD_WITH_ALTERED_SEARCH_PATH 8
-#define LMEM_FIXED 0
-#define LMEM_MOVEABLE 2
-#define LMEM_NONZEROLHND 2
-#define LMEM_NONZEROLPTR 0
-#define LMEM_DISCARDABLE 3840
-#define LMEM_NOCOMPACT 16
-#define LMEM_NODISCARD 32
-#define LMEM_ZEROINIT 64
-#define LMEM_DISCARDED 16384
-#define LMEM_MODIFY 128
-#define LMEM_INVALID_HANDLE 32768
-#define LMEM_LOCKCOUNT 255
-#define LPTR 64
-#define LHND 66
-#define NONZEROLHND 2
-#define NONZEROLPTR 0
-#define LOCKFILE_FAIL_IMMEDIATELY 1
-#define LOCKFILE_EXCLUSIVE_LOCK 2
-#define LOGON32_PROVIDER_DEFAULT	0
-#define LOGON32_PROVIDER_WINNT35	1
-#if (_WIN32_WINNT >= 0x0400)
-#define LOGON32_PROVIDER_WINNT40	2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LOGON32_PROVIDER_WINNT50	3
-#endif
-#define LOGON32_LOGON_INTERACTIVE	2
-#define LOGON32_LOGON_NETWORK	3
-#define LOGON32_LOGON_BATCH	4
-#define LOGON32_LOGON_SERVICE	5
-#define LOGON32_LOGON_UNLOCK	7
-#if (_WIN32_WINNT >= 0x0500)
-#define LOGON32_LOGON_NETWORK_CLEARTEXT	8
-#define LOGON32_LOGON_NEW_CREDENTIALS	9
-#endif
-#define MOVEFILE_REPLACE_EXISTING 1
-#define MOVEFILE_COPY_ALLOWED 2
-#define MOVEFILE_DELAY_UNTIL_REBOOT 4
-#define MOVEFILE_WRITE_THROUGH 8
-#define MAXIMUM_WAIT_OBJECTS 64
-#define MAXIMUM_SUSPEND_COUNT 0x7F
-#define WAIT_OBJECT_0 0
-#define WAIT_ABANDONED_0 128
-#ifndef WAIT_TIMEOUT /* also in winerror.h */
-#define WAIT_TIMEOUT 258
-#endif
-#define WAIT_IO_COMPLETION 0xC0
-#define WAIT_ABANDONED 128
-#define WAIT_FAILED ((DWORD)0xFFFFFFFF)
-#define PURGE_TXABORT 1
-#define PURGE_RXABORT 2
-#define PURGE_TXCLEAR 4
-#define PURGE_RXCLEAR 8
-#define EVENTLOG_SUCCESS 0
-#define EVENTLOG_FORWARDS_READ 4
-#define EVENTLOG_BACKWARDS_READ 8
-#define EVENTLOG_SEEK_READ 2
-#define EVENTLOG_SEQUENTIAL_READ 1
-#define EVENTLOG_ERROR_TYPE 1
-#define EVENTLOG_WARNING_TYPE 2
-#define EVENTLOG_INFORMATION_TYPE 4
-#define EVENTLOG_AUDIT_SUCCESS 8
-#define EVENTLOG_AUDIT_FAILURE 16
-#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
-#define FORMAT_MESSAGE_IGNORE_INSERTS 512
-#define FORMAT_MESSAGE_FROM_STRING 1024
-#define FORMAT_MESSAGE_FROM_HMODULE 2048
-#define FORMAT_MESSAGE_FROM_SYSTEM 4096
-#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
-#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
-#define EV_BREAK 64
-#define EV_CTS 8
-#define EV_DSR 16
-#define EV_ERR 128
-#define EV_EVENT1 2048
-#define EV_EVENT2 4096
-#define EV_PERR 512
-#define EV_RING 256
-#define EV_RLSD 32
-#define EV_RX80FULL 1024
-#define EV_RXCHAR 1
-#define EV_RXFLAG 2
-#define EV_TXEMPTY 4
-/* also in ddk/ntapi.h */
-/* To restore default error mode, call SetErrorMode (0).  */
-#define SEM_FAILCRITICALERRORS		0x0001
-#define SEM_NOGPFAULTERRORBOX		0x0002
-#define SEM_NOALIGNMENTFAULTEXCEPT	0x0004
-#define SEM_NOOPENFILEERRORBOX		0x8000
-/* end ntapi.h */
-#define SLE_ERROR 1
-#define SLE_MINORERROR 2
-#define SLE_WARNING 3
-#define SHUTDOWN_NORETRY 1
-#define EXCEPTION_EXECUTE_HANDLER 1
-#define EXCEPTION_CONTINUE_EXECUTION (-1)
-#define EXCEPTION_CONTINUE_SEARCH 0
-#define MAXINTATOM 0xC000
-#define INVALID_ATOM ((ATOM)0)
-#define IGNORE	0
-#define INFINITE	0xFFFFFFFF
-#define NOPARITY	0
-#define ODDPARITY	1
-#define EVENPARITY	2
-#define MARKPARITY	3
-#define SPACEPARITY	4
-#define ONESTOPBIT	0
-#define ONE5STOPBITS	1
-#define TWOSTOPBITS	2
-#define CBR_110	110
-#define CBR_300	300
-#define CBR_600	600
-#define CBR_1200	1200
-#define CBR_2400	2400
-#define CBR_4800	4800
-#define CBR_9600	9600
-#define CBR_14400	14400
-#define CBR_19200	19200
-#define CBR_38400	38400
-#define CBR_56000	56000
-#define CBR_57600	57600
-#define CBR_115200	115200
-#define CBR_128000	128000
-#define CBR_256000	256000
-#define BACKUP_INVALID	0
-#define BACKUP_DATA 1
-#define BACKUP_EA_DATA 2
-#define BACKUP_SECURITY_DATA 3
-#define BACKUP_ALTERNATE_DATA 4
-#define BACKUP_LINK 5
-#define BACKUP_PROPERTY_DATA 6
-#define BACKUP_OBJECT_ID 7
-#define BACKUP_REPARSE_DATA 8
-#define BACKUP_SPARSE_BLOCK 9
-#define STREAM_NORMAL_ATTRIBUTE 0
-#define STREAM_MODIFIED_WHEN_READ 1
-#define STREAM_CONTAINS_SECURITY 2
-#define STREAM_CONTAINS_PROPERTIES 4
-#define STARTF_USESHOWWINDOW 1
-#define STARTF_USESIZE 2
-#define STARTF_USEPOSITION 4
-#define STARTF_USECOUNTCHARS 8
-#define STARTF_USEFILLATTRIBUTE 16
-#define STARTF_RUNFULLSCREEN 32
-#define STARTF_FORCEONFEEDBACK 64
-#define STARTF_FORCEOFFFEEDBACK 128
-#define STARTF_USESTDHANDLES 256
-#define STARTF_USEHOTKEY 512
-#define TC_NORMAL 0
-#define TC_HARDERR 1
-#define TC_GP_TRAP 2
-#define TC_SIGNAL 3
-#define AC_LINE_OFFLINE 0
-#define AC_LINE_ONLINE 1
-#define AC_LINE_BACKUP_POWER 2
-#define AC_LINE_UNKNOWN 255
-#define BATTERY_FLAG_HIGH 1
-#define BATTERY_FLAG_LOW 2
-#define BATTERY_FLAG_CRITICAL 4
-#define BATTERY_FLAG_CHARGING 8
-#define BATTERY_FLAG_NO_BATTERY 128
-#define BATTERY_FLAG_UNKNOWN 255
-#define BATTERY_PERCENTAGE_UNKNOWN 255
-#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
-#define DDD_RAW_TARGET_PATH 1
-#define DDD_REMOVE_DEFINITION 2
-#define DDD_EXACT_MATCH_ON_REMOVE 4
-#define HINSTANCE_ERROR 32
-#define MS_CTS_ON 16
-#define MS_DSR_ON 32
-#define MS_RING_ON 64
-#define MS_RLSD_ON 128
-#define DTR_CONTROL_DISABLE 0
-#define DTR_CONTROL_ENABLE 1
-#define DTR_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_DISABLE 0
-#define RTS_CONTROL_ENABLE 1
-#define RTS_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_TOGGLE 3
-#define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
-#define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
-#define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
-#define SECURITY_DELEGATION (SecurityDelegation<<16)
-#define SECURITY_CONTEXT_TRACKING 0x40000
-#define SECURITY_EFFECTIVE_ONLY 0x80000
-#define SECURITY_SQOS_PRESENT 0x100000
-#define SECURITY_VALID_SQOS_FLAGS 0x1F0000
-#define INVALID_FILE_SIZE 0xFFFFFFFF
-#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
-#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004
-#define GET_MODULE_HANDLE_EX_FLAG_PIN 0x00000001
-#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x00000002
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
-#define ACTCTX_FLAG_LANGID_VALID 0x00000002
-#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
-#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
-#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
-#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
-#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
-#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
-#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
-#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-#define REPLACEFILE_WRITE_THROUGH 0x00000001
-#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#define WRITE_WATCH_FLAG_RESET 1
-#if (_WIN32_WINNT >= 0x0601)
-#define PROCESS_DEP_ENABLE 1
-#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */
-#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
-/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
-#define FILE_NAME_NORMALIZED 0x0
-#define FILE_NAME_OPENED 0x8
-#define VOLUME_NAME_DOS 0x0
-#define VOLUME_NAME_GUID 0x1
-#define VOLUME_NAME_NONE 0x4
-#define VOLUME_NAME_NT 0x2
-#endif /* (_WIN32_WINNT >= 0x0600) */
-
-#ifndef RC_INVOKED
-typedef struct _FILETIME {
-	DWORD dwLowDateTime;
-	DWORD dwHighDateTime;
-} FILETIME,*PFILETIME,*LPFILETIME;
-typedef struct _BY_HANDLE_FILE_INFORMATION {
-	DWORD	dwFileAttributes;
-	FILETIME	ftCreationTime;
-	FILETIME	ftLastAccessTime;
-	FILETIME	ftLastWriteTime;
-	DWORD	dwVolumeSerialNumber;
-	DWORD	nFileSizeHigh;
-	DWORD	nFileSizeLow;
-	DWORD	nNumberOfLinks;
-	DWORD	nFileIndexHigh;
-	DWORD	nFileIndexLow;
-} BY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION;
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */
-typedef struct _FILE_BASIC_INFO {
-	LARGE_INTEGER	CreationTime;
-	LARGE_INTEGER	LastAccessTime;
-	LARGE_INTEGER	LastWriteTime;
-	LARGE_INTEGER	ChangeTime;
-	DWORD	FileAttributes;
-} FILE_BASIC_INFO,*PFILE_BASIC_INFO,*LPFILE_BASIC_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */
-typedef struct _FILE_STANDARD_INFO {
-	LARGE_INTEGER	AllocationSize;
-	LARGE_INTEGER	EndOfFile;
-	DWORD	NumberOfLinks;
-	BOOL	DeletePending;
-	BOOL	Directory;
-} FILE_STANDARD_INFO,*PFILE_STANDARD_INFO,*LPFILE_STANDARD_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */
-typedef struct _FILE_NAME_INFO {
-	DWORD	FileNameLength;
-	WCHAR	FileName[1];
-} FILE_NAME_INFO,*PFILE_NAME_INFO,*LPFILE_NAME_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
-typedef struct _FILE_STREAM_INFO {
-	DWORD	NextEntryOffset;
-	DWORD	StreamNameLength;
-	LARGE_INTEGER	StreamSize;
-	LARGE_INTEGER	StreamAllocationSize;
-	WCHAR	StreamName[1];
-} FILE_STREAM_INFO,*PFILE_STREAM_INFO,*LPFILE_STREAM_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */
-typedef struct _FILE_COMPRESSION_INFO {
-	LARGE_INTEGER	CompressedFileSize;
-	WORD	CompressionFormat;
-	UCHAR	CompressionUnitShift;
-	UCHAR	ChunkShift;
-	UCHAR	ClusterShift;
-	UCHAR	Reserved[3];
-} FILE_COMPRESSION_INFO,*PFILE_COMPRESSION_INFO,*LPFILE_COMPRESSION_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */
-typedef struct _FILE_ATTRIBUTE_TAG_INFO {
-	DWORD	FileAttributes;
-	DWORD	ReparseTag;
-} FILE_ATTRIBUTE_TAG_INFO,*PFILE_ATTRIBUTE_TAG_INFO,*LPFILE_ATTRIBUTE_TAG_INFO;
-/* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
-typedef struct _FILE_ID_BOTH_DIR_INFO {
-	DWORD	NextEntryOffset;
-	DWORD	FileIndex;
-	LARGE_INTEGER	CreationTime;
-	LARGE_INTEGER	LastAccessTime;
-	LARGE_INTEGER	LastWriteTime;
-	LARGE_INTEGER	ChangeTime;
-	LARGE_INTEGER	EndOfFile;
-	LARGE_INTEGER	AllocationSize;
-	DWORD	FileAttributes;
-	DWORD	FileNameLength;
-	DWORD	EaSize;
-	CCHAR	ShortNameLength;
-	WCHAR	ShortName[12];
-	LARGE_INTEGER	FileId;
-	WCHAR	FileName[1];
-} FILE_ID_BOTH_DIR_INFO,*PFILE_ID_BOTH_DIR_INFO,*LPFILE_ID_BOTH_DIR_INFO;
-/* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
-typedef struct _FILE_REMOTE_PROTOCOL_INFO {
-	USHORT StructureVersion;
-	USHORT StructureSize;
-	ULONG  Protocol;
-	USHORT ProtocolMajorVersion;
-	USHORT ProtocolMinorVersion;
-	USHORT ProtocolRevision;
-	USHORT Reserved;
-	ULONG  Flags;
-	struct {
-		ULONG	Reserved[8];
-	} GenericReserved;
-	struct {
-		ULONG	Reserved[16];
-	} ProtocolSpecificReserved;
-} FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO,*LPFILE_REMOTE_PROTOCOL_INFO;
-#endif /* (_WIN32_WINNT >= 0x0600) */
-typedef struct _DCB {
-	DWORD DCBlength;
-	DWORD BaudRate;
-	DWORD fBinary:1;
-	DWORD fParity:1;
-	DWORD fOutxCtsFlow:1;
-	DWORD fOutxDsrFlow:1;
-	DWORD fDtrControl:2;
-	DWORD fDsrSensitivity:1;
-	DWORD fTXContinueOnXoff:1;
-	DWORD fOutX:1;
-	DWORD fInX:1;
-	DWORD fErrorChar:1;
-	DWORD fNull:1;
-	DWORD fRtsControl:2;
-	DWORD fAbortOnError:1;
-	DWORD fDummy2:17;
-	WORD wReserved;
-	WORD XonLim;
-	WORD XoffLim;
-	BYTE ByteSize;
-	BYTE Parity;
-	BYTE StopBits;
-	char XonChar;
-	char XoffChar;
-	char ErrorChar;
-	char EofChar;
-	char EvtChar;
-	WORD wReserved1;
-} DCB,*LPDCB;
-typedef struct _COMM_CONFIG {
-	DWORD dwSize;
-	WORD  wVersion;
-	WORD  wReserved;
-	DCB   dcb;
-	DWORD dwProviderSubType;
-	DWORD dwProviderOffset;
-	DWORD dwProviderSize;
-	WCHAR wcProviderData[1];
-} COMMCONFIG,*LPCOMMCONFIG;
-typedef struct _COMMPROP {
-	WORD	wPacketLength;
-	WORD	wPacketVersion;
-	DWORD	dwServiceMask;
-	DWORD	dwReserved1;
-	DWORD	dwMaxTxQueue;
-	DWORD	dwMaxRxQueue;
-	DWORD	dwMaxBaud;
-	DWORD	dwProvSubType;
-	DWORD	dwProvCapabilities;
-	DWORD	dwSettableParams;
-	DWORD	dwSettableBaud;
-	WORD	wSettableData;
-	WORD	wSettableStopParity;
-	DWORD	dwCurrentTxQueue;
-	DWORD	dwCurrentRxQueue;
-	DWORD	dwProvSpec1;
-	DWORD	dwProvSpec2;
-	WCHAR	wcProvChar[1];
-} COMMPROP,*LPCOMMPROP;
-typedef struct _COMMTIMEOUTS {
-	DWORD ReadIntervalTimeout;
-	DWORD ReadTotalTimeoutMultiplier;
-	DWORD ReadTotalTimeoutConstant;
-	DWORD WriteTotalTimeoutMultiplier;
-	DWORD WriteTotalTimeoutConstant;
-} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
-typedef struct _COMSTAT {
-	DWORD fCtsHold:1;
-	DWORD fDsrHold:1;
-	DWORD fRlsdHold:1;
-	DWORD fXoffHold:1;
-	DWORD fXoffSent:1;
-	DWORD fEof:1;
-	DWORD fTxim:1;
-	DWORD fReserved:25;
-	DWORD cbInQue;
-	DWORD cbOutQue;
-} COMSTAT,*LPCOMSTAT;
-typedef DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID);
-typedef struct _CREATE_PROCESS_DEBUG_INFO {
-	HANDLE hFile;
-	HANDLE hProcess;
-	HANDLE hThread;
-	LPVOID lpBaseOfImage;
-	DWORD dwDebugInfoFileOffset;
-	DWORD nDebugInfoSize;
-	LPVOID lpThreadLocalBase;
-	LPTHREAD_START_ROUTINE lpStartAddress;
-	LPVOID lpImageName;
-	WORD fUnicode;
-} CREATE_PROCESS_DEBUG_INFO,*LPCREATE_PROCESS_DEBUG_INFO;
-typedef struct _CREATE_THREAD_DEBUG_INFO {
-	HANDLE hThread;
-	LPVOID lpThreadLocalBase;
-	LPTHREAD_START_ROUTINE lpStartAddress;
-} CREATE_THREAD_DEBUG_INFO,*LPCREATE_THREAD_DEBUG_INFO;
-typedef struct _EXCEPTION_DEBUG_INFO {
-	EXCEPTION_RECORD ExceptionRecord;
-	DWORD dwFirstChance;
-} EXCEPTION_DEBUG_INFO,*LPEXCEPTION_DEBUG_INFO;
-typedef struct _EXIT_THREAD_DEBUG_INFO {
-	DWORD dwExitCode;
-} EXIT_THREAD_DEBUG_INFO,*LPEXIT_THREAD_DEBUG_INFO;
-typedef struct _EXIT_PROCESS_DEBUG_INFO {
-	DWORD dwExitCode;
-} EXIT_PROCESS_DEBUG_INFO,*LPEXIT_PROCESS_DEBUG_INFO;
-typedef struct _LOAD_DLL_DEBUG_INFO {
-	HANDLE hFile;
-	LPVOID lpBaseOfDll;
-	DWORD dwDebugInfoFileOffset;
-	DWORD nDebugInfoSize;
-	LPVOID lpImageName;
-	WORD fUnicode;
-} LOAD_DLL_DEBUG_INFO,*LPLOAD_DLL_DEBUG_INFO;
-typedef struct _UNLOAD_DLL_DEBUG_INFO {
-	LPVOID lpBaseOfDll;
-} UNLOAD_DLL_DEBUG_INFO,*LPUNLOAD_DLL_DEBUG_INFO;
-typedef struct _OUTPUT_DEBUG_STRING_INFO {
-	LPSTR lpDebugStringData;
-	WORD fUnicode;
-	WORD nDebugStringLength;
-} OUTPUT_DEBUG_STRING_INFO,*LPOUTPUT_DEBUG_STRING_INFO;
-typedef struct _RIP_INFO {
-	DWORD dwError;
-	DWORD dwType;
-} RIP_INFO,*LPRIP_INFO;
-typedef struct _DEBUG_EVENT {
-	DWORD dwDebugEventCode;
-	DWORD dwProcessId;
-	DWORD dwThreadId;
-	union {
-		EXCEPTION_DEBUG_INFO Exception;
-		CREATE_THREAD_DEBUG_INFO CreateThread;
-		CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
-		EXIT_THREAD_DEBUG_INFO ExitThread;
-		EXIT_PROCESS_DEBUG_INFO ExitProcess;
-		LOAD_DLL_DEBUG_INFO LoadDll;
-		UNLOAD_DLL_DEBUG_INFO UnloadDll;
-		OUTPUT_DEBUG_STRING_INFO DebugString;
-		RIP_INFO RipInfo;
-	} u;
-} DEBUG_EVENT,*LPDEBUG_EVENT;
-typedef struct _OVERLAPPED {
-	ULONG_PTR Internal;
-	ULONG_PTR InternalHigh;
-	__GNUC_EXTENSION union {
-		__GNUC_EXTENSION struct {
-	DWORD Offset;
-	DWORD OffsetHigh;
-	};
-	PVOID Pointer;
-	};
-	HANDLE hEvent;
-} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED;
-typedef struct _STARTUPINFOA {
-	DWORD	cb;
-	LPSTR	lpReserved;
-	LPSTR	lpDesktop;
-	LPSTR	lpTitle;
-	DWORD	dwX;
-	DWORD	dwY;
-	DWORD	dwXSize;
-	DWORD	dwYSize;
-	DWORD	dwXCountChars;
-	DWORD	dwYCountChars;
-	DWORD	dwFillAttribute;
-	DWORD	dwFlags;
-	WORD	wShowWindow;
-	WORD	cbReserved2;
-	PBYTE	lpReserved2;
-	HANDLE	hStdInput;
-	HANDLE	hStdOutput;
-	HANDLE	hStdError;
-} STARTUPINFOA,*LPSTARTUPINFOA;
-typedef struct _STARTUPINFOW {
-	DWORD	cb;
-	LPWSTR	lpReserved;
-	LPWSTR	lpDesktop;
-	LPWSTR	lpTitle;
-	DWORD	dwX;
-	DWORD	dwY;
-	DWORD	dwXSize;
-	DWORD	dwYSize;
-	DWORD	dwXCountChars;
-	DWORD	dwYCountChars;
-	DWORD	dwFillAttribute;
-	DWORD	dwFlags;
-	WORD	wShowWindow;
-	WORD	cbReserved2;
-	PBYTE	lpReserved2;
-	HANDLE	hStdInput;
-	HANDLE	hStdOutput;
-	HANDLE	hStdError;
-} STARTUPINFOW,*LPSTARTUPINFOW;
-typedef struct _PROCESS_INFORMATION {
-	HANDLE hProcess;
-	HANDLE hThread;
-	DWORD dwProcessId;
-	DWORD dwThreadId;
-} PROCESS_INFORMATION,*PPROCESS_INFORMATION,*LPPROCESS_INFORMATION;
-typedef struct _CRITICAL_SECTION_DEBUG {
-	WORD Type;
-	WORD CreatorBackTraceIndex;
-	struct _CRITICAL_SECTION *CriticalSection;
-	LIST_ENTRY ProcessLocksList;
-	DWORD EntryCount;
-	DWORD ContentionCount;
-	DWORD Spare [2];
-} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG;
-typedef struct _CRITICAL_SECTION {
-	PCRITICAL_SECTION_DEBUG DebugInfo;
-	LONG LockCount;
-	LONG RecursionCount;
-	HANDLE OwningThread;
-	HANDLE LockSemaphore;
-	DWORD SpinCount;
-} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION;
-typedef struct _SYSTEMTIME {
-	WORD wYear;
-	WORD wMonth;
-	WORD wDayOfWeek;
-	WORD wDay;
-	WORD wHour;
-	WORD wMinute;
-	WORD wSecond;
-	WORD wMilliseconds;
-} SYSTEMTIME,*LPSYSTEMTIME;
-typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
-	DWORD	dwFileAttributes;
-	FILETIME	ftCreationTime;
-	FILETIME	ftLastAccessTime;
-	FILETIME	ftLastWriteTime;
-	DWORD	nFileSizeHigh;
-	DWORD	nFileSizeLow;
-} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA;
-typedef struct _WIN32_FIND_DATAA {
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-#ifdef _WIN32_WCE
-    DWORD dwOID;
-#else
-	DWORD dwReserved0;
-	DWORD dwReserved1;
-#endif
-	CHAR cFileName[MAX_PATH];
-#ifndef _WIN32_WCE
-	CHAR cAlternateFileName[14];
-#endif
-} WIN32_FIND_DATAA,*PWIN32_FIND_DATAA,*LPWIN32_FIND_DATAA;
-typedef struct _WIN32_FIND_DATAW {
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-#ifdef _WIN32_WCE
-    DWORD dwOID;
-#else
-	DWORD dwReserved0;
-	DWORD dwReserved1;
-#endif
-	WCHAR cFileName[MAX_PATH];
-#ifndef _WIN32_WCE
-	WCHAR cAlternateFileName[14];
-#endif
-} WIN32_FIND_DATAW,*PWIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
-typedef struct _WIN32_STREAM_ID {
-	DWORD dwStreamId;
-	DWORD dwStreamAttributes;
-	LARGE_INTEGER Size;
-	DWORD dwStreamNameSize;
-	WCHAR cStreamName[ANYSIZE_ARRAY];
-} WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
-typedef enum _FINDEX_INFO_LEVELS {
-	FindExInfoStandard,
-	FindExInfoMaxInfoLevel
-} FINDEX_INFO_LEVELS;
-typedef enum _FINDEX_SEARCH_OPS {
-	FindExSearchNameMatch,
-	FindExSearchLimitToDirectories,
-	FindExSearchLimitToDevices,
-	FindExSearchMaxSearchOp
-} FINDEX_SEARCH_OPS;
-typedef enum _ACL_INFORMATION_CLASS {
-	AclRevisionInformation=1,
-	AclSizeInformation
-} ACL_INFORMATION_CLASS;
-typedef struct tagHW_PROFILE_INFOA {
-	DWORD dwDockInfo;
-	CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
-	CHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA;
-typedef struct tagHW_PROFILE_INFOW {
-	DWORD dwDockInfo;
-	WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
-	WCHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW;
-typedef enum _GET_FILEEX_INFO_LEVELS {
-	GetFileExInfoStandard,
-	GetFileExMaxInfoLevel
-} GET_FILEEX_INFO_LEVELS;
-typedef struct _SYSTEM_INFO {
-	_ANONYMOUS_UNION union {
-		DWORD dwOemId;
-		_ANONYMOUS_STRUCT struct {
-			WORD wProcessorArchitecture;
-			WORD wReserved;
-		} DUMMYSTRUCTNAME;
-	} DUMMYUNIONNAME;
-	DWORD dwPageSize;
-	PVOID lpMinimumApplicationAddress;
-	PVOID lpMaximumApplicationAddress;
-	DWORD dwActiveProcessorMask;
-	DWORD dwNumberOfProcessors;
-	DWORD dwProcessorType;
-	DWORD dwAllocationGranularity;
-	WORD wProcessorLevel;
-	WORD wProcessorRevision;
-} SYSTEM_INFO,*LPSYSTEM_INFO;
-typedef struct _SYSTEM_POWER_STATUS {
-	BYTE ACLineStatus;
-	BYTE BatteryFlag;
-	BYTE BatteryLifePercent;
-	BYTE Reserved1;
-	DWORD BatteryLifeTime;
-	DWORD BatteryFullLifeTime;
-} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
-typedef struct _TIME_ZONE_INFORMATION {
-	LONG Bias;
-	WCHAR StandardName[32];
-	SYSTEMTIME StandardDate;
-	LONG StandardBias;
-	WCHAR DaylightName[32];
-	SYSTEMTIME DaylightDate;
-	LONG DaylightBias;
-} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
-typedef struct _MEMORYSTATUS {
-	DWORD dwLength;
-	DWORD dwMemoryLoad;
-	DWORD dwTotalPhys;
-	DWORD dwAvailPhys;
-	DWORD dwTotalPageFile;
-	DWORD dwAvailPageFile;
-	DWORD dwTotalVirtual;
-	DWORD dwAvailVirtual;
-} MEMORYSTATUS,*LPMEMORYSTATUS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _MEMORYSTATUSEX {
-	DWORD dwLength;
-	DWORD dwMemoryLoad;
-	DWORDLONG ullTotalPhys;
-	DWORDLONG ullAvailPhys;
-	DWORDLONG ullTotalPageFile;
-	DWORDLONG ullAvailPageFile;
-	DWORDLONG ullTotalVirtual;
-	DWORDLONG ullAvailVirtual;
-	DWORDLONG ullAvailExtendedVirtual;
-} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
-#endif
-typedef struct _LDT_ENTRY {
-	WORD LimitLow;
-	WORD BaseLow;
-	union {
-		struct {
-			BYTE BaseMid;
-			BYTE Flags1;
-			BYTE Flags2;
-			BYTE BaseHi;
-		} Bytes;
-		struct {
-			DWORD BaseMid:8;
-			DWORD Type:5;
-			DWORD Dpl:2;
-			DWORD Pres:1;
-			DWORD LimitHi:4;
-			DWORD Sys:1;
-			DWORD Reserved_0:1;
-			DWORD Default_Big:1;
-			DWORD Granularity:1;
-			DWORD BaseHi:8;
-		} Bits;
-	} HighWord;
-} LDT_ENTRY,*PLDT_ENTRY,*LPLDT_ENTRY;
-typedef struct _PROCESS_HEAP_ENTRY {
-	PVOID lpData;
-	DWORD cbData;
-	BYTE cbOverhead;
-	BYTE iRegionIndex;
-	WORD wFlags;
-	_ANONYMOUS_UNION union {
-		struct {
-			HANDLE hMem;
-			DWORD dwReserved[3];
-		} Block;
-		struct {
-			DWORD dwCommittedSize;
-			DWORD dwUnCommittedSize;
-			LPVOID lpFirstBlock;
-			LPVOID lpLastBlock;
-		} Region;
-	} DUMMYUNIONNAME;
-} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY;
-typedef struct _OFSTRUCT {
-	BYTE cBytes;
-	BYTE fFixedDisk;
-	WORD nErrCode;
-	WORD Reserved1;
-	WORD Reserved2;
-	CHAR szPathName[OFS_MAXPATHNAME];
-} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT;
-typedef struct _WIN_CERTIFICATE {
-      DWORD dwLength;
-      WORD wRevision;
-      WORD wCertificateType;
-      BYTE bCertificate[1];
-} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct tagACTCTXA {
-	ULONG cbSize;
-	DWORD dwFlags;
-	LPCSTR lpSource;
-	USHORT wProcessorArchitecture;
-	LANGID wLangId;
-	LPCSTR lpAssemblyDirectory;
-	LPCSTR lpResourceName;
-	LPCSTR lpApplicationName;
-	HMODULE hModule;
-} ACTCTXA,*PACTCTXA;
-typedef const ACTCTXA *PCACTCTXA;
-typedef struct tagACTCTXW {
-	ULONG cbSize;
-	DWORD dwFlags;
-	LPCWSTR lpSource;
-	USHORT wProcessorArchitecture;
-	LANGID wLangId;
-	LPCWSTR lpAssemblyDirectory;
-	LPCWSTR lpResourceName;
-	LPCWSTR lpApplicationName;
-	HMODULE hModule;
-} ACTCTXW,*PACTCTXW;
-typedef const ACTCTXW *PCACTCTXW;
-typedef struct tagACTCTX_SECTION_KEYED_DATA {
-	ULONG cbSize;
-	ULONG ulDataFormatVersion;
-	PVOID lpData;
-	ULONG ulLength;
-	PVOID lpSectionGlobalData;
-	ULONG ulSectionGlobalDataLength;
-	PVOID lpSectionBase;
-	ULONG ulSectionTotalLength;
-	HANDLE hActCtx;
-	HANDLE ulAssemblyRosterIndex;
-} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
-typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
-typedef enum {
-	LowMemoryResourceNotification ,
-	HighMemoryResourceNotification
-} MEMORY_RESOURCE_NOTIFICATION_TYPE;
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum _COMPUTER_NAME_FORMAT {
-	ComputerNameNetBIOS,
-	ComputerNameDnsHostname,
-	ComputerNameDnsDomain,
-	ComputerNameDnsFullyQualified,
-	ComputerNamePhysicalNetBIOS,
-	ComputerNamePhysicalDnsHostname,
-	ComputerNamePhysicalDnsDomain,
-	ComputerNamePhysicalDnsFullyQualified,
-	ComputerNameMax
-} COMPUTER_NAME_FORMAT;
-#endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef DWORD EXECUTION_STATE;
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-typedef enum _DEP_SYSTEM_POLICY_TYPE {
-	AlwaysOn,
-	AlwaysOff,
-	OptIn,
-	OptOut
-} DEP_SYSTEM_POLICY_TYPE;
-/* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */
-typedef enum _FILE_INFO_BY_HANDLE_CLASS {
-  FileBasicInfo,
-  FileStandardInfo,
-  FileNameInfo,
-  FileRenameInfo,
-  FileDispositionInfo,
-  FileAllocationInfo,
-  FileEndOfFileInfo,
-  FileStreamInfo,
-  FileCompressionInfo,
-  FileAttributeTagInfo,
-  FileIdBothDirectoryInfo,
-  FileIdBothDirectoryRestartInfo,
-  FileIoPriorityHintInfo,
-  FileRemoteProtocolInfo,
-  MaximumFileInfoByHandlesClass
-} FILE_INFO_BY_HANDLE_CLASS,*PFILE_INFO_BY_HANDLE_CLASS;
-#endif
-
-typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID);
-typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID);
-typedef BOOL(CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
-typedef BOOL(CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
-#ifdef UNICODE
-#define ENUMRESLANGPROC ENUMRESLANGPROCW
-#else
-#define ENUMRESLANGPROC ENUMRESLANGPROCA
-#endif
-typedef BOOL(CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
-typedef BOOL(CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
-#ifdef UNICODE
-#define ENUMRESNAMEPROC ENUMRESNAMEPROCW
-#else
-#define ENUMRESNAMEPROC ENUMRESNAMEPROCA
-#endif
-typedef BOOL(CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
-typedef BOOL(CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
-#ifdef UNICODE
-#define ENUMRESTYPEPROC ENUMRESTYPEPROCW
-#else
-#define ENUMRESTYPEPROC ENUMRESTYPEPROCA
-#endif
-typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
-typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
-typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
-typedef void(APIENTRY *PAPCFUNC)(ULONG_PTR);
-typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-typedef void(CALLBACK *WAITORTIMERCALLBACK)(PVOID,BOOLEAN);
-#endif
-#define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i)))
-/* Functions */
-#ifndef UNDER_CE
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
-#else
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-#endif
-int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-WINBASEAPI long WINAPI _hread(HFILE,LPVOID,long);
-WINBASEAPI long WINAPI _hwrite(HFILE,LPCSTR,long);
-WINBASEAPI HFILE WINAPI _lclose(HFILE);
-WINBASEAPI HFILE WINAPI _lcreat(LPCSTR,int);
-WINBASEAPI LONG WINAPI _llseek(HFILE,LONG,int);
-WINBASEAPI HFILE WINAPI _lopen(LPCSTR,int);
-WINBASEAPI UINT WINAPI _lread(HFILE,LPVOID,UINT);
-WINBASEAPI UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
-#define AbnormalTermination() FALSE
-WINBASEAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
-WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR*);
-#endif
-WINBASEAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
-WINBASEAPI BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-#endif
-WINBASEAPI BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
-WINBASEAPI ATOM WINAPI AddAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
-WINBASEAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI AddRefActCtx(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
-#endif
-WINBASEAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
-WINBASEAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
-WINBASEAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
-WINBASEAPI BOOL WINAPI AllocateLocallyUniqueId(PLUID);
-WINBASEAPI BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI AreFileApisANSI(void);
-WINBASEAPI BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
-WINBASEAPI BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
-WINBASEAPI BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
-WINBASEAPI BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
-WINBASEAPI BOOL WINAPI Beep(DWORD,DWORD);
-WINBASEAPI HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
-WINBASEAPI HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
-WINBASEAPI BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
-WINBASEAPI BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
-WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest(HANDLE);
-WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
-WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(LPCSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(LPCWSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent(HANDLE,PBOOL);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI ClearCommBreak(HANDLE);
-WINBASEAPI BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT);
-WINBASEAPI BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
-WINBASEAPI BOOL WINAPI CloseEventLog(HANDLE);
-WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
-WINBASEAPI BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG);
-WINBASEAPI BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
-WINBASEAPI LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*);
-WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0400)
-WINBASEAPI BOOL WINAPI ConvertFiberToThread(void);
-#endif
-WINBASEAPI PVOID WINAPI ConvertThreadToFiber(PVOID);
-WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
-WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
-WINBASEAPI BOOL WINAPI CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-WINBASEAPI BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-#define RtlMoveMemory memmove
-#define RtlCopyMemory memcpy
-#define RtlFillMemory(d,l,f) memset((d), (f), (l))
-#define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0)
-#define MoveMemory RtlMoveMemory
-#define CopyMemory RtlCopyMemory
-#define FillMemory RtlFillMemory
-#define ZeroMemory RtlZeroMemory
-WINBASEAPI BOOL WINAPI CopySid(DWORD,PSID,PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
-WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
-#endif
-WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
-WINBASEAPI LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
-#if (_WIN32_WINNT >= 0x0400)
-WINBASEAPI LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
-#endif
-WINBASEAPI HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-WINBASEAPI HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-#endif
-WINBASEAPI HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
-WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
-WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
-WINBASEAPI BOOL WINAPI QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
-#endif
-WINBASEAPI HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
-#endif
-WINBASEAPI HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
-WINBASEAPI BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
-WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateProcessWithLogonW (LPCWSTR,LPCWSTR,LPCWSTR,DWORD,
-						LPCWSTR,LPWSTR,DWORD,LPVOID,
-						LPCWSTR,LPSTARTUPINFOW,
-						LPPROCESS_INFORMATION);
-#define LOGON_WITH_PROFILE 0x00000001
-#define LOGON_NETCREDENTIALS_ONLY 0x00000002
-#endif
-WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE);
-#define DISABLE_MAX_PRIVILEGE 1
-#define SANDBOX_INERT 2
-#define LUA_TOKEN 4
-#define WRITE_RESTRICTED 8
-#endif
-WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0600)
-WINBASEAPI BOOL WINAPI CreateSymbolicLinkA(LPCSTR,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI CreateSymbolicLinkW(LPCWSTR,LPCWSTR,DWORD);
-#endif
-WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
-WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
-#endif
-WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
-WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
-#endif
-WINBASEAPI BOOL WINAPI DebugActiveProcess(DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
-#endif
-WINBASEAPI void WINAPI DebugBreak(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
-WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
-#endif
-WINBASEAPI BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
-#define DefineHandleTable(w) ((w),TRUE)
-WINBASEAPI BOOL WINAPI DeleteAce(PACL,DWORD);
-WINBASEAPI ATOM WINAPI DeleteAtom(ATOM);
-WINBASEAPI void WINAPI DeleteCriticalSection(PCRITICAL_SECTION);
-WINBASEAPI void WINAPI DeleteFiber(PVOID);
-WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR);
-WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI DeregisterEventSource(HANDLE);
-WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
-WINBASEAPI BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
-WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
-#endif
-WINBASEAPI BOOL WINAPI DisconnectNamedPipe(HANDLE);
-WINBASEAPI BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
-WINBASEAPI BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
-WINBASEAPI BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
-WINBASEAPI BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
-WINBASEAPI BOOL WINAPI EncryptFileA(LPCSTR);
-WINBASEAPI BOOL WINAPI EncryptFileW(LPCWSTR);
-WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
-WINBASEAPI void WINAPI EnterCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG_PTR);
-WINBASEAPI BOOL WINAPI EqualPrefixSid(PSID,PSID);
-WINBASEAPI BOOL WINAPI EqualSid(PSID,PSID);
-WINBASEAPI DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI EscapeCommFunction(HANDLE,DWORD);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitProcess(UINT);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitThread(DWORD);
-WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI void WINAPI FatalAppExitA(UINT,LPCSTR);
-WINBASEAPI void WINAPI FatalAppExitW(UINT,LPCWSTR);
-WINBASEAPI void WINAPI FatalExit(int);
-WINBASEAPI BOOL WINAPI FileEncryptionStatusA(LPCSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD);
-WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME);
-WINBASEAPI BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID*,ULONG,const GUID*,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID*,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID*,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
-#endif
-WINBASEAPI ATOM WINAPI FindAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI FindAtomW(LPCWSTR);
-WINBASEAPI BOOL WINAPI FindClose(HANDLE);
-WINBASEAPI BOOL WINAPI FindCloseChangeNotification(HANDLE);
-WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
-WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
-WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI FindNextChangeNotification(HANDLE);
-WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
-WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
-WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
-#endif
-WINBASEAPI HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
-WINBASEAPI HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR);
-WINBASEAPI HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD);
-WINBASEAPI HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI FlushFileBuffers(HANDLE);
-WINBASEAPI BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD);
-WINBASEAPI BOOL WINAPI FlushViewOfFile(PCVOID,DWORD);
-WINBASEAPI DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
-WINBASEAPI DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
-WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
-WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
-WINBASEAPI BOOL WINAPI FreeLibrary(HMODULE);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD);
-#define FreeModule(m) FreeLibrary(m)
-#define FreeProcInstance(p) (void)(p)
-#ifndef XFree86Server
-WINBASEAPI BOOL WINAPI FreeResource(HGLOBAL);
-#endif /* ndef XFree86Server */
-WINBASEAPI PVOID WINAPI FreeSid(PSID);
-WINBASEAPI BOOL WINAPI GetAce(PACL,DWORD,LPVOID*);
-WINBASEAPI BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-WINBASEAPI UINT WINAPI GetAtomNameA(ATOM,LPSTR,int);
-WINBASEAPI UINT WINAPI GetAtomNameW(ATOM,LPWSTR,int);
-WINBASEAPI BOOL WINAPI GetBinaryTypeA(LPCSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetBinaryTypeW(LPCWSTR,PDWORD);
-WINBASEAPI LPSTR WINAPI GetCommandLineA(VOID);
-WINBASEAPI LPWSTR WINAPI GetCommandLineW(VOID);
-WINBASEAPI BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommMask(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommModemStatus(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
-WINBASEAPI BOOL WINAPI GetCommState(HANDLE,LPDCB);
-WINBASEAPI BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-WINBASEAPI DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD);
-WINBASEAPI DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameA(LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE*);
-#endif
-WINBASEAPI DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR);
-WINBASEAPI BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
-WINBASEAPI BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
-WINBASEAPI HANDLE WINAPI GetCurrentProcess(void);
-WINBASEAPI DWORD WINAPI GetCurrentProcessId(void);
-WINBASEAPI HANDLE WINAPI GetCurrentThread(void);
-#ifdef _WIN32_WCE
-extern DWORD GetCurrentThreadId(void);
-#else
-WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
-#endif
-#define GetCurrentTime GetTickCount
-WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetDevicePowerState(HANDLE, BOOL*);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
-#endif
-WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR);
-WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR);
-WINBASEAPI LPCH WINAPI GetEnvironmentStrings(void);
-WINBASEAPI LPCH WINAPI GetEnvironmentStringsA(void);
-WINBASEAPI LPWCH WINAPI GetEnvironmentStringsW(void);
-WINBASEAPI DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD);
-WINBASEAPI DWORD WINAPI GetFileAttributesA(LPCSTR);
-WINBASEAPI DWORD WINAPI GetFileAttributesW(LPCWSTR);
-WINBASEAPI BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-WINBASEAPI BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-WINBASEAPI BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
-WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,PDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
-#endif
-WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetFileType(HANDLE);
-#if (_WIN32_WINNT >= 0x0600)
-/* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
-WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
-WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
-#endif
-#define GetFreeSpace(w) (0x100000L)
-WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
-WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-WINBASEAPI BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetLastError(void);
-WINBASEAPI DWORD WINAPI GetLengthSid(PSID);
-WINBASEAPI void WINAPI GetLocalTime(LPSYSTEMTIME);
-WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
-WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
-WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
-WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
-WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
-#endif
-WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
-#endif
-WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
-WINBASEAPI DWORD WINAPI GetPriorityClass(HANDLE);
-WINBASEAPI BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
-WINBASEAPI UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
-WINBASEAPI BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
-WINBASEAPI FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
-WINBASEAPI BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetProcessHandleCount(HANDLE,PDWORD);
-#endif
-WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
-WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
-#endif
-WINBASEAPI BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
-WINBASEAPI BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetProcessVersion(DWORD);
-WINBASEAPI HWINSTA WINAPI GetProcessWindowStation(void);
-WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
-WINBASEAPI UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
-WINBASEAPI UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
-WINBASEAPI DWORD WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-WINBASEAPI DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-WINBASEAPI DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
-WINBASEAPI DWORD WINAPI GetSidLengthRequired(UCHAR);
-WINBASEAPI PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
-WINBASEAPI PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
-WINBASEAPI VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
-WINBASEAPI VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
-WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void);
-#endif
-WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
-WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
-WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
-#endif
-WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetSystemTimes(LPFILETIME,LPFILETIME,LPFILETIME);
-#endif
-WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
-WINBASEAPI void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
-#endif
-WINBASEAPI DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID);
-WINBASEAPI DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetTapeStatus(HANDLE);
-WINBASEAPI UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
-WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
-WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
-WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
-#endif
-WINBASEAPI int WINAPI GetThreadPriority(HANDLE);
-WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
-WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
-WINBASEAPI BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetTickCount(VOID);
-WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
-WINBASEAPI BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetUserNameA (LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetUserNameW(LPWSTR,PDWORD);
-WINBASEAPI DWORD WINAPI GetVersion(void);
-WINBASEAPI BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
-WINBASEAPI BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
-WINBASEAPI BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
-#endif
-WINBASEAPI UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
-WINBASEAPI DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
-WINBASEAPI UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG);
-WINBASEAPI ATOM WINAPI GlobalAddAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI GlobalAddAtomW( LPCWSTR);
-WINBASEAPI HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
-WINBASEAPI SIZE_T WINAPI GlobalCompact(DWORD); /* Obsolete: Has no effect. */
-WINBASEAPI ATOM WINAPI GlobalDeleteAtom(ATOM);
-#define GlobalDiscard(hMem) GlobalReAlloc((hMem), 0, GMEM_MOVEABLE)
-WINBASEAPI ATOM WINAPI GlobalFindAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI GlobalFindAtomW(LPCWSTR);
-WINBASEAPI VOID WINAPI GlobalFix(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI UINT WINAPI GlobalFlags(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI HGLOBAL WINAPI GlobalFree(HGLOBAL);
-WINBASEAPI UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,int);
-WINBASEAPI UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int);
-WINBASEAPI HGLOBAL WINAPI GlobalHandle(PCVOID);
-WINBASEAPI LPVOID WINAPI GlobalLock(HGLOBAL);
-WINBASEAPI VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
-#endif
-WINBASEAPI HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
-WINBASEAPI DWORD WINAPI GlobalSize(HGLOBAL);
-WINBASEAPI VOID WINAPI GlobalUnfix(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL);
-WINBASEAPI BOOL WINAPI GlobalUnWire(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI PVOID WINAPI GlobalWire(HGLOBAL); /* Obsolete: Has no effect. */
-#define HasOverlappedIoCompleted(lpOverlapped)  ((lpOverlapped)->Internal != STATUS_PENDING)
-WINBASEAPI PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
-SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
-WINBASEAPI HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI HeapDestroy(HANDLE);
-WINBASEAPI BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
-WINBASEAPI BOOL WINAPI HeapLock(HANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
-#endif
-WINBASEAPI PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
-#endif
-WINBASEAPI DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID);
-WINBASEAPI BOOL WINAPI HeapUnlock(HANDLE);
-WINBASEAPI BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID);
-WINBASEAPI BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
-WINBASEAPI BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
-WINBASEAPI BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
-WINBASEAPI BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
-WINBASEAPI BOOL WINAPI InitAtomTable(DWORD);
-WINBASEAPI BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
-WINBASEAPI VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
-WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
-WINBASEAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
-WINBASEAPI BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
-
-#if !(__USE_NTOSKRNL__)
-/* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
-   as __fastcall functions, but are  exported from kernel32.dll as __stdcall */
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
-#endif
-#ifndef __INTERLOCKED_DECLARED
-#define __INTERLOCKED_DECLARED
-LONG WINAPI InterlockedCompareExchange(LONG volatile *,LONG,LONG);
-/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
-#define InterlockedCompareExchangePointer(d,e,c) \
-    (PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
-LONG WINAPI InterlockedDecrement(LONG volatile *);
-LONG WINAPI InterlockedExchange(LONG volatile *,LONG);
-/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
-#define InterlockedExchangePointer(t,v) \
-    (PVOID)InterlockedExchange((LONG volatile *)(t),(LONG)(v))
-LONG WINAPI InterlockedExchangeAdd(LONG volatile *,LONG);
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
-#endif
-LONG WINAPI InterlockedIncrement(LONG volatile *);
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
-PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
-#endif
-#endif /* __INTERLOCKED_DECLARED */
-#endif /*  __USE_NTOSKRNL__ */
-
-WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
-WINBASEAPI BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadReadPtr(PCVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
-WINBASEAPI BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
-WINBASEAPI BOOL WINAPI IsBadWritePtr(PVOID,UINT);
-WINBASEAPI BOOL WINAPI IsDebuggerPresent(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL IsProcessInJob(HANDLE,HANDLE,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent(DWORD);
-WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic(void);
-WINBASEAPI BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI IsTokenRestricted(HANDLE);
-#endif
-WINBASEAPI BOOL WINAPI IsValidAcl(PACL);
-WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI IsValidSid(PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
-#endif
-WINBASEAPI void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
-#define LimitEmsPages(n)
-WINBASEAPI HINSTANCE WINAPI LoadLibraryA(LPCSTR);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryW(LPCWSTR);
-WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,PVOID);
-WINBASEAPI HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
-WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
-WINBASEAPI SIZE_T WINAPI LocalCompact(UINT); /* Obsolete: Has no effect. */
-WINBASEAPI HLOCAL LocalDiscard(HLOCAL);
-WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME);
-WINBASEAPI UINT WINAPI LocalFlags(HLOCAL); /* Obsolete: Has no effect. */
-WINBASEAPI HLOCAL WINAPI LocalFree(HLOCAL);
-WINBASEAPI HLOCAL WINAPI LocalHandle(LPCVOID);
-WINBASEAPI PVOID WINAPI LocalLock(HLOCAL);
-WINBASEAPI HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
-WINBASEAPI SIZE_T WINAPI LocalShrink(HLOCAL,UINT);  /* Obsolete: Has no effect. */
-WINBASEAPI UINT WINAPI LocalSize(HLOCAL);
-WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
-WINBASEAPI BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
-WINBASEAPI PVOID WINAPI LockResource(HGLOBAL);
-#define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE);
-WINBASEAPI BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE);
-WINBASEAPI BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
-WINBASEAPI BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
-WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
-WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrcmpA(LPCSTR,LPCSTR);
-WINBASEAPI int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
-WINBASEAPI int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
-WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
-WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
-WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
-WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrlenA(LPCSTR);
-WINBASEAPI int WINAPI lstrlenW(LPCWSTR);
-WINBASEAPI BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);
-#define MakeProcInstance(p,i) (p)
-WINBASEAPI BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
-WINBASEAPI VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
-WINBASEAPI PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID);
-WINBASEAPI BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
-#endif
-WINBASEAPI int WINAPI MulDiv(int,int,int);
-WINBASEAPI BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-WINBASEAPI HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenEventLogA (LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HFILE WINAPI OpenFile(LPCSTR,LPOFSTRUCT,UINT);
-WINBASEAPI HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
-WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
-WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
-WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
-WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
-WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
-WINBASEAPI BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
-WINBASEAPI DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
-WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
-#endif
-WINBASEAPI BOOL WINAPI PulseEvent(HANDLE);
-WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T*);
-#endif
-WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
-WINBASEAPI BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
-WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
-#endif
-WINBASEAPI void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*);
-WINBASEAPI BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-WINBASEAPI BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-WINBASEAPI BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD);
-WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI ReleaseActCtx(HANDLE);
-#endif
-WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
-WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
-WINBASEAPI BOOL WINAPI RemoveDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI RemoveDirectoryW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI HANDLE WINAPI ReOpenFile(HANDLE,DWORD,DWORD,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
-WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
-#endif
-WINBASEAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID);
-WINBASEAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID);
-#ifdef _WIN32_WCE
-extern BOOL ResetEvent(HANDLE);
-#else
-WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
-#endif
-WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
-#if (_WIN32_WINNT >= 0x0510)
-WINBASEAPI VOID WINAPI RestoreLastError(DWORD);
-#endif
-WINBASEAPI DWORD WINAPI ResumeThread(HANDLE);
-WINBASEAPI BOOL WINAPI RevertToSelf(void);
-WINBASEAPI DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
-WINBASEAPI DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-WINBASEAPI BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-WINBASEAPI BOOL WINAPI SetCommBreak(HANDLE);
-WINBASEAPI BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
-WINBASEAPI BOOL WINAPI SetCommMask(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetCommState(HANDLE,LPDCB);
-WINBASEAPI BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI SetComputerNameA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetComputerNameW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
-WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
-WINBASEAPI BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
-WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
-WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
-WINBASEAPI UINT WINAPI SetErrorMode(UINT);
-#ifdef _WIN32_WCE
-extern BOOL SetEvent(HANDLE);
-#else
-WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
-#endif
-WINBASEAPI VOID WINAPI SetFileApisToANSI(void);
-WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
-WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
-WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
-WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD);
-WINBASEAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileShortNameA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI SetFileShortNameW(HANDLE,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
-WINBASEAPI UINT WINAPI SetHandleCount(UINT);
-WINBASEAPI BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINBASEAPI void WINAPI SetLastError(DWORD);
-WINBASEAPI void WINAPI SetLastErrorEx(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
-WINBASEAPI BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
-WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0601)
-WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD);
-#endif
-WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-WINBASEAPI BOOL WINAPI SetStdHandle(DWORD,HANDLE);
-#define SetSwapAreaSize(w) (w)
-WINBASEAPI BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
-WINBASEAPI BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
-WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID);
-WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState(EXECUTION_STATE);
-#endif
-WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,int);
-WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI SetThreadToken (PHANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
-WINBASEAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
-WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
-WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
-WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
-WINBASEAPI void WINAPI Sleep(DWORD);
-WINBASEAPI DWORD WINAPI SleepEx(DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
-WINBASEAPI void WINAPI SwitchToFiber(PVOID);
-WINBASEAPI BOOL WINAPI SwitchToThread(void);
-WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
-#if (_WIN32_WINNT >= 0x501)
-WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
-#endif
-WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
-WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,UINT);
-WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD);
-WINBASEAPI DWORD WINAPI TlsAlloc(VOID);
-WINBASEAPI BOOL WINAPI TlsFree(DWORD);
-WINBASEAPI PVOID WINAPI TlsGetValue(DWORD);
-WINBASEAPI BOOL WINAPI TlsSetValue(DWORD,PVOID);
-WINBASEAPI BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,char);
-WINBASEAPI BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
-WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
-#define UnlockResource(h) (h)
-#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI UnmapViewOfFile(LPCVOID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
-WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
-#endif
-WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
-WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
-WINBASEAPI PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD);
-WINBASEAPI PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualLock(PVOID,DWORD);
-WINBASEAPI BOOL WINAPI VirtualProtect(PVOID,DWORD,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-WINBASEAPI DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-WINBASEAPI BOOL WINAPI VirtualUnlock(PVOID,DWORD);
-WINBASEAPI BOOL WINAPI WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
-WINBASEAPI DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
-WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
-WINBASEAPI DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
-WINBASEAPI BOOL WINAPI WinLoadTrustProvider(GUID*);
-WINBASEAPI BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
-WINBASEAPI BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
-WINBASEAPI BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
-#define Yield()
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI FreeUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI MapUserPhysicalPages(PVOID,ULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter(PVOID*,ULONG_PTR,PULONG_PTR);
-#endif
-
-#ifdef UNICODE
-typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXW ACTCTX,*PACTCTX;
-typedef PCACTCTXW PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
-#define AddAtom AddAtomW
-#define BackupEventLog BackupEventLogW
-#define BeginUpdateResource BeginUpdateResourceW
-#define BuildCommDCB BuildCommDCBW
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
-#define CallNamedPipe CallNamedPipeW
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
-#endif
-#define ClearEventLog ClearEventLogW
-#define CommConfigDialog CommConfigDialogW
-#define CopyFile CopyFileW
-#define CopyFileEx CopyFileExW
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxW
-#endif
-#define CreateDirectory CreateDirectoryW
-#define CreateDirectoryEx CreateDirectoryExW
-#define CreateEvent CreateEventW
-#define CreateFile CreateFileW
-#define CreateFileMapping CreateFileMappingW
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkW
-#define CreateJobObject CreateJobObjectW
-#endif
-#define CreateMailslot CreateMailslotW
-#define CreateMutex CreateMutexW
-#define CreateNamedPipe CreateNamedPipeW
-#define CreateProcess CreateProcessW
-#define CreateProcessAsUser CreateProcessAsUserW
-#define CreateSemaphore CreateSemaphoreW
-#if (_WIN32_WINNT >= 0x0600)
-#define CreateSymbolicLink CreateSymbolicLinkW
-#endif
-#define CreateWaitableTimer CreateWaitableTimerW
-#define DefineDosDevice DefineDosDeviceW
-#define DeleteFile DeleteFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointW
-#define DnsHostnameToComputerName DnsHostnameToComputerNameW
-#endif
-#define EncryptFile EncryptFileW
-#define EndUpdateResource EndUpdateResourceW
-#define EnumResourceLanguages EnumResourceLanguagesW
-#define EnumResourceNames EnumResourceNamesW
-#define EnumResourceTypes EnumResourceTypesW
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsW
-#define FatalAppExit FatalAppExitW
-#define FileEncryptionStatus FileEncryptionStatusW
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringW
-#endif
-#define FindAtom FindAtomW
-#define FindFirstChangeNotification FindFirstChangeNotificationW
-#define FindFirstFile FindFirstFileW
-#define FindFirstFileEx FindFirstFileExW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeW
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
-#endif
-#define FindNextFile FindNextFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeW
-#define FindNextVolumeMountPoint  FindNextVolumeMountPointW
-#endif
-#define FindResource FindResourceW
-#define FindResourceEx FindResourceExW
-#define FormatMessage FormatMessageW
-#define FreeEnvironmentStrings FreeEnvironmentStringsW
-#define GetAtomName GetAtomNameW
-#define GetBinaryType GetBinaryTypeW
-#define GetCommandLine GetCommandLineW
-#define GetCompressedFileSize GetCompressedFileSizeW
-#define GetComputerName GetComputerNameW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetComputerNameEx GetComputerNameExW
-#endif
-#define GetCurrentDirectory GetCurrentDirectoryW
-#define GetDefaultCommConfig GetDefaultCommConfigW
-#define GetDiskFreeSpace GetDiskFreeSpaceW
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryW
-#endif
-#define GetDriveType GetDriveTypeW
-#define GetEnvironmentStrings GetEnvironmentStringsW
-#define GetEnvironmentVariable GetEnvironmentVariableW
-#define GetFileAttributes GetFileAttributesW
-#define GetFileSecurity GetFileSecurityW
-#define GetFileAttributesEx GetFileAttributesExW
-#if (_WIN32_WINNT >= 0x0600)
-#define GetFinalPathNameByHandle GetFinalPathNameByHandleW
-#endif
-#define GetFullPathName GetFullPathNameW
-#define GetLogicalDriveStrings GetLogicalDriveStringsW
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameW
-#endif
-#define GetModuleFileName GetModuleFileNameW
-#define GetModuleHandle GetModuleHandleW
-#if (_WIN32_WINNT >= 0x0501)
-#define GetModuleHandleEx GetModuleHandleExW
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateW
-#define GetPrivateProfileInt GetPrivateProfileIntW
-#define GetPrivateProfileSection GetPrivateProfileSectionW
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
-#define GetPrivateProfileString GetPrivateProfileStringW
-#define GetPrivateProfileStruct GetPrivateProfileStructW
-#define GetProfileInt GetProfileIntW
-#define GetProfileSection GetProfileSectionW
-#define GetProfileString GetProfileStringW
-#define GetShortPathName GetShortPathNameW
-#define GetStartupInfo GetStartupInfoW
-#define GetSystemDirectory GetSystemDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryW
-#endif
-#define GetTempFileName GetTempFileNameW
-#define GetTempPath GetTempPathW
-#define GetUserName GetUserNameW
-#define GetVersionEx GetVersionExW
-#define GetVolumeInformation GetVolumeInformationW
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
-#define GetVolumePathName GetVolumePathNameW
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
-#define GetWindowsDirectory GetWindowsDirectoryW
-#define GlobalAddAtom GlobalAddAtomW
-#define GlobalFindAtom GlobalFindAtomW
-#define GlobalGetAtomName GlobalGetAtomNameW
-#define IsBadStringPtr IsBadStringPtrW
-#define LoadLibrary LoadLibraryW
-#define LoadLibraryEx LoadLibraryExW
-#define LogonUser LogonUserW
-#define LookupAccountName LookupAccountNameW
-#define LookupAccountSid LookupAccountSidW
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
-#define LookupPrivilegeName LookupPrivilegeNameW
-#define LookupPrivilegeValue LookupPrivilegeValueW
-#define lstrcat lstrcatW
-#define lstrcmp lstrcmpW
-#define lstrcmpi lstrcmpiW
-#define lstrcpy lstrcpyW
-#define lstrcpyn lstrcpynW
-#define lstrlen lstrlenW
-#define MoveFile MoveFileW
-#define MoveFileEx MoveFileExW
-#if (_WIN32_WINNT >= 0x0500)
-#define MoveFileWithProgress MoveFileWithProgressW
-#endif
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
-#define OpenBackupEventLog OpenBackupEventLogW
-#define OpenEvent OpenEventW
-#define OpenEventLog OpenEventLogW
-#define OpenFileMapping OpenFileMappingW
-#define OpenMutex OpenMutexW
-#define OpenSemaphore OpenSemaphoreW
-#define OutputDebugString OutputDebugStringW
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
-#define QueryDosDevice QueryDosDeviceW
-#define ReadEventLog ReadEventLogW
-#define RegisterEventSource RegisterEventSourceW
-#define RemoveDirectory RemoveDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileW
-#endif
-#define ReportEvent ReportEventW
-#define SearchPath SearchPathW
-#define SetComputerName SetComputerNameW
-#define SetCurrentDirectory SetCurrentDirectoryW
-#define SetDefaultCommConfig SetDefaultCommConfigW
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryW
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableW
-#define SetFileAttributes SetFileAttributesW
-#define SetFileSecurity SetFileSecurityW
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameW
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
-#endif
-#define SetVolumeLabel SetVolumeLabelW
-#define SetVolumeMountPoint SetVolumeMountPointW
-#define UpdateResource UpdateResourceW
-#define VerifyVersionInfo VerifyVersionInfoW
-#define WaitNamedPipe WaitNamedPipeW
-#define WritePrivateProfileSection WritePrivateProfileSectionW
-#define WritePrivateProfileString WritePrivateProfileStringW
-#define WritePrivateProfileStruct WritePrivateProfileStructW
-#define WriteProfileSection WriteProfileSectionW
-#define WriteProfileString WriteProfileStringW
-#else
-typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXA ACTCTX,*PACTCTX;
-typedef PCACTCTXA PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
-#define AddAtom AddAtomA
-#define BackupEventLog BackupEventLogA
-#define BeginUpdateResource BeginUpdateResourceA
-#define BuildCommDCB BuildCommDCBA
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
-#define CallNamedPipe CallNamedPipeA
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
-#endif
-#define ClearEventLog ClearEventLogA
-#define CommConfigDialog CommConfigDialogA
-#define CopyFile CopyFileA
-#define CopyFileEx CopyFileExA
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxA
-#endif
-#define CreateDirectory CreateDirectoryA
-#define CreateDirectoryEx CreateDirectoryExA
-#define CreateEvent CreateEventA
-#define CreateFile CreateFileA
-#define CreateFileMapping CreateFileMappingA
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkA
-#define CreateJobObject CreateJobObjectA
-#endif
-#define CreateMailslot CreateMailslotA
-#define CreateMutex CreateMutexA
-#define CreateNamedPipe CreateNamedPipeA
-#define CreateProcess CreateProcessA
-#define CreateProcessAsUser CreateProcessAsUserA
-#define CreateSemaphore CreateSemaphoreA
-#if (_WIN32_WINNT >= 0x0600)
-#define CreateSymbolicLink CreateSymbolicLinkA
-#endif
-#define CreateWaitableTimer CreateWaitableTimerA
-#define DefineDosDevice DefineDosDeviceA
-#define DeleteFile DeleteFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointA
-#define DnsHostnameToComputerName DnsHostnameToComputerNameA
-#endif
-#define EncryptFile EncryptFileA
-#define EndUpdateResource EndUpdateResourceA
-#define EnumResourceLanguages EnumResourceLanguagesA
-#define EnumResourceNames EnumResourceNamesA
-#define EnumResourceTypes EnumResourceTypesA
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsA
-#define FatalAppExit FatalAppExitA
-#define FileEncryptionStatus FileEncryptionStatusA
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringA
-#endif
-#define FindAtom FindAtomA
-#define FindFirstChangeNotification FindFirstChangeNotificationA
-#define FindFirstFile FindFirstFileA
-#define FindFirstFileEx FindFirstFileExA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeA
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
-#endif
-#define FindNextFile FindNextFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeA
-#define FindNextVolumeMountPoint FindNextVolumeMountPointA
-#endif
-#define FindResource FindResourceA
-#define FindResourceEx FindResourceExA
-#define FormatMessage FormatMessageA
-#define FreeEnvironmentStrings FreeEnvironmentStringsA
-#define GetAtomName GetAtomNameA
-#define GetBinaryType GetBinaryTypeA
-#define GetCommandLine GetCommandLineA
-#define GetComputerName GetComputerNameA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetComputerNameEx GetComputerNameExA
-#endif
-#define GetCompressedFileSize GetCompressedFileSizeA
-#define GetCurrentDirectory GetCurrentDirectoryA
-#define GetDefaultCommConfig GetDefaultCommConfigA
-#define GetDiskFreeSpace GetDiskFreeSpaceA
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryA
-#endif
-#define GetDriveType GetDriveTypeA
-#define GetEnvironmentVariable GetEnvironmentVariableA
-#define GetFileAttributes GetFileAttributesA
-#define GetFileSecurity GetFileSecurityA
-#define GetFileAttributesEx GetFileAttributesExA
-#if (_WIN32_WINNT >= 0x0600)
-#define GetFinalPathNameByHandle GetFinalPathNameByHandleA
-#endif
-#define GetFullPathName GetFullPathNameA
-#define GetLogicalDriveStrings GetLogicalDriveStringsA
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameA
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateA
-#define GetModuleHandle GetModuleHandleA
-#if (_WIN32_WINNT >= 0x0501)
-#define GetModuleHandleEx GetModuleHandleExA
-#endif
-#define GetModuleFileName GetModuleFileNameA
-#define GetPrivateProfileInt GetPrivateProfileIntA
-#define GetPrivateProfileSection GetPrivateProfileSectionA
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
-#define GetPrivateProfileString GetPrivateProfileStringA
-#define GetPrivateProfileStruct GetPrivateProfileStructA
-#define GetProfileInt GetProfileIntA
-#define GetProfileSection GetProfileSectionA
-#define GetProfileString GetProfileStringA
-#define GetShortPathName GetShortPathNameA
-#define GetStartupInfo GetStartupInfoA
-#define GetSystemDirectory GetSystemDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryA
-#endif
-#define GetTempFileName GetTempFileNameA
-#define GetTempPath GetTempPathA
-#define GetUserName GetUserNameA
-#define GetVersionEx GetVersionExA
-#define GetVolumeInformation GetVolumeInformationA
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
-#define GetVolumePathName GetVolumePathNameA
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
-#define GetWindowsDirectory GetWindowsDirectoryA
-#define GlobalAddAtom GlobalAddAtomA
-#define GlobalFindAtom GlobalFindAtomA
-#define GlobalGetAtomName GlobalGetAtomNameA
-#define IsBadStringPtr IsBadStringPtrA
-#define LoadLibrary LoadLibraryA
-#define LoadLibraryEx LoadLibraryExA
-#define LogonUser LogonUserA
-#define LookupAccountName LookupAccountNameA
-#define LookupAccountSid LookupAccountSidA
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
-#define LookupPrivilegeName LookupPrivilegeNameA
-#define LookupPrivilegeValue LookupPrivilegeValueA
-#define lstrcat lstrcatA
-#define lstrcmp lstrcmpA
-#define lstrcmpi lstrcmpiA
-#define lstrcpy lstrcpyA
-#define lstrcpyn lstrcpynA
-#define lstrlen lstrlenA
-#define MoveFile MoveFileA
-#define MoveFileEx MoveFileExA
-#if (_WIN32_WINNT >= 0x0500)
-#define MoveFileWithProgress MoveFileWithProgressA
-#endif
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
-#define OpenBackupEventLog OpenBackupEventLogA
-#define OpenEvent OpenEventA
-#define OpenEventLog OpenEventLogA
-#define OpenFileMapping OpenFileMappingA
-#define OpenMutex OpenMutexA
-#define OpenSemaphore OpenSemaphoreA
-#define OutputDebugString OutputDebugStringA
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
-#define QueryDosDevice QueryDosDeviceA
-#define ReadEventLog ReadEventLogA
-#define RegisterEventSource RegisterEventSourceA
-#define RemoveDirectory RemoveDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileA
-#endif
-#define ReportEvent ReportEventA
-#define SearchPath SearchPathA
-#define SetComputerName SetComputerNameA
-#define SetCurrentDirectory SetCurrentDirectoryA
-#define SetDefaultCommConfig SetDefaultCommConfigA
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryA
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableA
-#define SetFileAttributes SetFileAttributesA
-#define SetFileSecurity SetFileSecurityA
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameA
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
-#endif
-#define SetVolumeLabel SetVolumeLabelA
-#define SetVolumeMountPoint SetVolumeMountPointA
-#define UpdateResource UpdateResourceA
-#define VerifyVersionInfo VerifyVersionInfoA
-#define WaitNamedPipe WaitNamedPipeA
-#define WritePrivateProfileSection WritePrivateProfileSectionA
-#define WritePrivateProfileString WritePrivateProfileStringA
-#define WritePrivateProfileStruct WritePrivateProfileStructA
-#define WriteProfileSection WriteProfileSectionA
-#define WriteProfileString WriteProfileStringA
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINBASE_H */
Index: Daodan/MinGW/include/winber.h
===================================================================
--- Daodan/MinGW/include/winber.h	(revision 1046)
+++ 	(revision )
@@ -1,67 +1,0 @@
-/*
-  winber.h - Header file for the Windows LDAP Basic Encoding Rules API
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References:
-    The C LDAP Application Program Interface
-    http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
-
-    Lightweight Directory Access Protocol Reference
-    http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _WINBER_H
-#define _WINBER_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINBERAPI
-#define WINBERAPI DECLSPEC_IMPORT
-#endif
-
-typedef struct berelement BerElement;
-typedef ULONG ber_len_t;
-#include <pshpack4.h>
-typedef struct berval {
-	ber_len_t bv_len;
-	char *bv_val;
-} BerValue, LDAP_BERVAL, *PLDAP_BERVAL, BERVAL, *PBERVAL;
-#include <poppack.h>
-
-typedef ULONG ber_tag_t;
-typedef INT ber_int_t;
-typedef UINT ber_uint_t;
-typedef INT ber_slen_t;
-
-#define LBER_ERROR ((ber_tag_t)-1)
-#define LBER_DEFAULT ((ber_tag_t)-1)
-#define LBER_USE_DER 0x01
-
-WINBERAPI BerElement *ber_init(const BerValue*);
-WINBERAPI int ber_printf(BerElement*,const char*,...);
-WINBERAPI int ber_flatten(BerElement*,BerValue**);
-WINBERAPI ber_tag_t ber_scanf(BerElement*,const char*,...);
-WINBERAPI ber_tag_t ber_peek_tag(BerElement*,ber_len_t*);
-WINBERAPI ber_tag_t ber_skip_tag(BerElement*,ber_len_t*);
-WINBERAPI ber_tag_t ber_first_element(BerElement*,ber_len_t*,char**);
-WINBERAPI ber_tag_t ber_next_element(BerElement*,ber_len_t*,char*);
-WINBERAPI void ber_bvfree(BerValue*);
-WINBERAPI void ber_bvecfree(BerValue**);
-WINBERAPI void ber_free(BerElement*,int);
-WINBERAPI BerValue *ber_bvdup(BerValue*);
-WINBERAPI BerElement *ber_alloc_t(int);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINBER_H */
Index: Daodan/MinGW/include/wincon.h
===================================================================
--- Daodan/MinGW/include/wincon.h	(revision 1046)
+++ 	(revision )
@@ -1,232 +1,0 @@
-#ifndef _WINCON_H
-#define _WINCON_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FOREGROUND_BLUE	1
-#define FOREGROUND_GREEN	2
-#define FOREGROUND_RED	4
-#define FOREGROUND_INTENSITY	8
-#define BACKGROUND_BLUE	16
-#define BACKGROUND_GREEN	32
-#define BACKGROUND_RED	64
-#define BACKGROUND_INTENSITY	128
-#if (_WIN32_WINNT >= 0x0501)
-#define CONSOLE_FULLSCREEN_MODE	1
-#define CONSOLE_WINDOWED_MODE	2
-#endif
-#define CTRL_C_EVENT 0
-#define CTRL_BREAK_EVENT 1
-#define CTRL_CLOSE_EVENT 2
-#define CTRL_LOGOFF_EVENT 5
-#define CTRL_SHUTDOWN_EVENT 6
-#define ENABLE_LINE_INPUT 2
-#define ENABLE_ECHO_INPUT 4
-#define ENABLE_PROCESSED_INPUT 1
-#define ENABLE_WINDOW_INPUT 8
-#define ENABLE_MOUSE_INPUT 16
-#define ENABLE_INSERT_MODE 32
-#define ENABLE_QUICK_EDIT_MODE 64
-#define ENABLE_EXTENDED_FLAGS  128
-#define ENABLE_AUTO_POSITION   256
-#define ENABLE_PROCESSED_OUTPUT 1
-#define ENABLE_WRAP_AT_EOL_OUTPUT 2
-#define KEY_EVENT 1
-#define MOUSE_EVENT 2
-#define WINDOW_BUFFER_SIZE_EVENT 4
-#define MENU_EVENT 8
-#define FOCUS_EVENT 16
-#define CAPSLOCK_ON 128
-#define ENHANCED_KEY 256
-#define RIGHT_ALT_PRESSED 1
-#define LEFT_ALT_PRESSED 2
-#define RIGHT_CTRL_PRESSED 4
-#define LEFT_CTRL_PRESSED 8
-#define SHIFT_PRESSED 16
-#define NUMLOCK_ON 32
-#define SCROLLLOCK_ON 64
-#define FROM_LEFT_1ST_BUTTON_PRESSED 1
-#define RIGHTMOST_BUTTON_PRESSED 2
-#define FROM_LEFT_2ND_BUTTON_PRESSED 4
-#define FROM_LEFT_3RD_BUTTON_PRESSED 8
-#define FROM_LEFT_4TH_BUTTON_PRESSED 16
-#define MOUSE_MOVED	1
-#define DOUBLE_CLICK	2
-#define MOUSE_WHEELED	4
-
-typedef struct _CHAR_INFO {
-	union {
-		WCHAR UnicodeChar;
-		CHAR AsciiChar;
-	} Char;
-	WORD Attributes;
-} CHAR_INFO, *PCHAR_INFO;
-typedef struct _SMALL_RECT {
-	SHORT Left;
-	SHORT Top;
-	SHORT Right;
-	SHORT Bottom;
-} SMALL_RECT, *PSMALL_RECT;
-typedef struct _CONSOLE_CURSOR_INFO {
-	DWORD	dwSize;
-	BOOL	bVisible;
-} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
-typedef struct _COORD {
-	SHORT X;
-	SHORT Y;
-} COORD, *PCOORD;
-typedef struct _CONSOLE_FONT_INFO {
-	DWORD nFont;
-	COORD dwFontSize;
-} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
-typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
-	COORD	dwSize;
-	COORD	dwCursorPosition;
-	WORD	wAttributes;
-	SMALL_RECT srWindow;
-	COORD	dwMaximumWindowSize;
-} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
-typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD);
-typedef struct _KEY_EVENT_RECORD {
-	BOOL bKeyDown;
-	WORD wRepeatCount;
-	WORD wVirtualKeyCode;
-	WORD wVirtualScanCode;
-	union {
-		WCHAR UnicodeChar;
-		CHAR AsciiChar;
-	} uChar;
-	DWORD dwControlKeyState;
-}
-#ifdef __GNUC__
-/* gcc's alignment is not what win32 expects */
- __attribute__((packed))
-#endif
-KEY_EVENT_RECORD;
-
-typedef struct _MOUSE_EVENT_RECORD {
-	COORD dwMousePosition;
-	DWORD dwButtonState;
-	DWORD dwControlKeyState;
-	DWORD dwEventFlags;
-} MOUSE_EVENT_RECORD;
-typedef struct _WINDOW_BUFFER_SIZE_RECORD {	COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
-typedef struct _MENU_EVENT_RECORD {	UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
-typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
-typedef struct _INPUT_RECORD {
-	WORD EventType;
-	union {
-		KEY_EVENT_RECORD KeyEvent;
-		MOUSE_EVENT_RECORD MouseEvent;
-		WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
-		MENU_EVENT_RECORD MenuEvent;
-		FOCUS_EVENT_RECORD FocusEvent;
-	} Event;
-} INPUT_RECORD,*PINPUT_RECORD;
-
-BOOL WINAPI AllocConsole(void);
-#if (_WIN32_WINNT >= 0x0501)
-#define ATTACH_PARENT_PROCESS	((DWORD)-1)
-BOOL WINAPI AttachConsole(DWORD);
-#endif
-HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,CONST SECURITY_ATTRIBUTES*,DWORD,LPVOID);
-BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
-BOOL WINAPI FreeConsole(void);
-BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD);
-UINT WINAPI GetConsoleCP(void);
-BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
-BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
-UINT WINAPI GetConsoleOutputCP(void);
-BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
-DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
-DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-BOOL WINAPI GetConsoleDisplayMode(LPDWORD);
-HWND WINAPI GetConsoleWindow(void);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-DWORD WINAPI GetConsoleProcessList(LPDWORD, DWORD);
-#endif
-COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
-BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
-BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
-BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE);
-BOOL WINAPI SetConsoleCP(UINT);
-BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
-BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
-BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD);
-#endif
-BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
-BOOL WINAPI SetConsoleOutputCP(UINT);
-BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
-BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD);
-BOOL WINAPI SetConsoleTitleA(LPCSTR);
-BOOL WINAPI SetConsoleTitleW(LPCWSTR);
-BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
-BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
-
-#ifdef UNICODE
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
-#define GetConsoleTitle GetConsoleTitleW
-#define PeekConsoleInput PeekConsoleInputW
-#define ReadConsole ReadConsoleW
-#define ReadConsoleInput ReadConsoleInputW
-#define ReadConsoleOutput ReadConsoleOutputW
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
-#define SetConsoleTitle SetConsoleTitleW
-#define WriteConsole WriteConsoleW
-#define WriteConsoleInput WriteConsoleInputW
-#define WriteConsoleOutput WriteConsoleOutputW
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
-#else
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
-#define GetConsoleTitle GetConsoleTitleA
-#define PeekConsoleInput PeekConsoleInputA
-#define ReadConsole ReadConsoleA
-#define ReadConsoleInput ReadConsoleInputA
-#define ReadConsoleOutput ReadConsoleOutputA
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
-#define SetConsoleTitle SetConsoleTitleA
-#define WriteConsole WriteConsoleA
-#define WriteConsoleInput WriteConsoleInputA
-#define WriteConsoleOutput WriteConsoleOutputA
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/wincrypt.h
===================================================================
--- Daodan/MinGW/include/wincrypt.h	(revision 1046)
+++ 	(revision )
@@ -1,1505 +1,0 @@
-/*
- * wincrypt.h
- *
- * Cryptographic services API manifest constants and function prototypes.
- *
- * $Id: wincrypt.h,v 34e5e7606781 2016/05/23 18:31:09 keithmarshall $
- *
- * Written by Anders Norlander <anorland@hem2.passagen.se>
- * Copyright (C) 1998-2000, 2002-2004, 2006-2008, 2010, 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 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.
- *
- */
-#ifndef _WINCRYPT_H
-#define _WINCRYPT_H
-#pragma GCC system_header
-
-#ifndef WINADVAPI
-#define WINADVAPI
-#endif
-
-_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_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_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) & 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)
-#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)
-
-/* dwFlags definitions for CryptAcquireContext
- */
-#define CRYPT_VERIFYCONTEXT			0xF0000000
-#define CRYPT_NEWKEYSET 			0x00000008
-#define CRYPT_DELETEKEYSET			0x00000010	/* 16 */
-#define CRYPT_MACHINE_KEYSET			0x00000020	/* 32 */
-#define CRYPT_SILENT				0x00000040	/* 64 */
-
-#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				    0x0001
-#define CRYPT_DECRYPT				    0x0002
-#define CRYPT_EXPORT				    0x0004
-#define CRYPT_READ				    0x0008
-#define CRYPT_WRITE				    0x0010	/* 16 */
-#define CRYPT_MAC				    0x0020	/* 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		0x00000001
-#define CERT_TRUST_IS_NOT_TIME_NESTED		0x00000002
-#define CERT_TRUST_IS_REVOKED			0x00000004
-#define CERT_TRUST_IS_NOT_SIGNATURE_VALID	0x00000008
-#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE	0x00000010	/*         16 */
-#define CERT_TRUST_IS_UNTRUSTED_ROOT		0x00000020	/*         32 */
-#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN	0x00000040	/*         64 */
-#define CERT_TRUST_IS_CYCLIC			0x00000080	/*        128 */
-#define CERT_TRUST_IS_PARTIAL_CHAIN		0x00010000	/*      65336 */
-#define CERT_TRUST_CTL_IS_NOT_TIME_VALID	0x00020000	/*     131072 */
-#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID	0x00040000	/*     262144 */
-#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE	0x00080000	/*     524288 */
-
-#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER	0x00000001
-#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 	0x00000002
-#define CERT_TRUST_HAS_NAME_MATCH_ISSUER	0x00000004
-#define CERT_TRUST_IS_SELF_SIGNED		0x00000008
-#define CERT_TRUST_IS_COMPLEX_CHAIN		0x00010000	/*      65336 */
-
-#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_DISABLE_IE4_UTF8_FLAG	0x00010000
-#define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG	0x00020000	/*     131072 */
-#define CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG	0x00040000
-#define CERT_NAME_STR_REVERSE_FLAG		0x02000000	/*   33554432 */
-#define CERT_NAME_STR_COMMA_FLAG		0x04000000
-#define CERT_NAME_STR_CRLF_FLAG 		0x08000000	/*  134217728 */
-#define CERT_NAME_STR_NO_QUOTING_FLAG		0x10000000	/*  268435456 */
-#define CERT_NAME_STR_NO_PLUS_FLAG		0x20000000	/*  536870912 */
-#define CERT_NAME_STR_SEMICOLON_FLAG		0x40000000	/* 1073741824 */
-
-#define CERT_FIND_ANY					 0
-#define CERT_FIND_CERT_ID			0x00100000	/*    1048576 */
-#define CERT_FIND_CTL_USAGE			0x000A0000	/*     653360 */
-#define CERT_FIND_ENHKEY_USAGE			0x000A0000	/*     653360 */
-#define CERT_FIND_EXISTING			0x000D0000	/*     851968 */
-#define CERT_FIND_HASH				0x00010000	/*      65336 */
-#define CERT_FIND_ISSUER_ATTR			0x00030004	/*     196612 */
-#define CERT_FIND_ISSUER_NAME			0x00020004	/*     131076 */
-#define CERT_FIND_ISSUER_OF			0x000C0000	/*     786432 */
-#define CERT_FIND_KEY_IDENTIFIER		0x000F0000	/*     983040 */
-#define CERT_FIND_KEY_SPEC			0x00090000	/*     589824 */
-#define CERT_FIND_MD5_HASH			0x00040000	/*     262144 */
-#define CERT_FIND_PROPERTY			0x00050000	/*     327680 */
-#define CERT_FIND_PUBLIC_KEY			0x00060000	/*     393216 */
-#define CERT_FIND_SHA1_HASH			0x00010000	/*      65536 */
-#define CERT_FIND_SIGNATURE_HASH		0x000E0000	/*     917504 */
-#define CERT_FIND_SUBJECT_ATTR			0x00030007	/*     196615 */
-#define CERT_FIND_SUBJECT_CERT			0x000B0000	/*     720896 */
-#define CERT_FIND_SUBJECT_NAME			0x00020007	/*     131079 */
-
-#define CERT_FIND_SUBJECT_STR		   __AW_EXTENDED__( CERT_FIND_SUBJECT_STR )
-#define CERT_FIND_SUBJECT_STR_A 		0x00070007	/*     458759 */
-#define CERT_FIND_SUBJECT_STR_W 		0x00080007	/*     524295 */
-
-#define CERT_FIND_ISSUER_STR		   __AW_EXTENDED__( CERT_FIND_ISSUER_STR )
-#define CERT_FIND_ISSUER_STR_A			0x00070004	/*     458756 */
-#define CERT_FIND_ISSUER_STR_W			0x00080004	/*     524292 */
-
-#define CERT_FIND_OR_ENHKEY_USAGE_FLAG		0x00000010	/*         16 */
-#define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG	0x00000001
-#define CERT_FIND_NO_ENHKEY_USAGE_FLAG		0x00000008
-#define CERT_FIND_VALID_ENHKEY_USAGE_FLAG	0x00000020	/*         32 */
-#define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG	0x00000002
-
-#define \
- CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 	0x00000002
-#define CERT_UNICODE_IS_RDN_ATTRS_FLAG		0x00000001
-
-#define CERT_CHAIN_FIND_BY_ISSUER		0x00000001
-#define \
- CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG	0x00000001
-#define \
- CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG	0x00000002
-#define \
- CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG	0x00008000	/*      32768 */
-#define \
- CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG	0x00000004
-#define \
- CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG	0x00000008
-#define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG	0x00004000	/*      16384 */
-
-#define CERT_STORE_PROV_SYSTEM				10
-#define CERT_SYSTEM_STORE_LOCAL_MACHINE 	0x00020000	/*     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"
-
-/* dwFlag definitions for CryptGenKey
- */
-#define CRYPT_EXPORTABLE			0x00000001
-#define CRYPT_USER_PROTECTED			0x00000002
-#define CRYPT_CREATE_SALT			0x00000004
-#define CRYPT_UPDATE_KEY			0x00000008
-#define CRYPT_NO_SALT				0x00000010
-#define CRYPT_PREGEN				0x00000040
-#define CRYPT_RECIPIENT 			0x00000010
-#define CRYPT_INITIATOR 			0x00000040
-#define CRYPT_ONLINE				0x00000080
-#define CRYPT_SF				0x00000100
-#define CRYPT_CREATE_IV 			0x00000200
-#define CRYPT_KEK				0x00000400
-#define CRYPT_DATA_KEY				0x00000800
-#define CRYPT_VOLATILE				0x00001000
-#define CRYPT_SGCKEY				0x00002000
-#define CRYPT_ARCHIVABLE			0x00004000
-
-#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 			0x00000001
-#define CRYPT_FLAG_SSL2 			0x00000002
-#define CRYPT_FLAG_SSL3 			0x00000004
-#define CRYPT_FLAG_TLS1 			0x00000008
-#define CRYPT_FLAG_IPSEC			0x00000010
-#define CRYPT_FLAG_SIGNING			0x00000020
-
-#define SCHANNEL_MAC_KEY			0x00000000
-#define SCHANNEL_ENC_KEY			0x00000001
-
-#define INTERNATIONAL_USAGE			0x00000001
-
-#if WINVER >= _WIN32_WINNT_WINXP
-/* These are available only on Windows XP, Windows Server 2003, and later
- */
-#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 >= _WIN32_WINNT_WINXP */
-
-#define X509_ALGORITHM_IDENTIFIER	       ((LPCSTR)(74))
-#define X509_ALTERNATE_NAME		       ((LPCSTR)(12))
-
-/* FIXME: need #define X509_ANY_STRING */
-#ifdef MINGW_TENTATIVE_ASSUMPTIONS
-/* https://msdn.microsoft.com/en-us/library/aa378145.aspx suggests
- * that this may be an alias for...
- */
-#define X509_ANY_STRING			       X509_NAME_VALUE
-#endif
-
-#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_CONSTRAINTS		       ((LPCSTR) (13))
-#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))
-
-/* FIXME: need #define X509_CRL_REASON_CODE */
-#ifdef MINGW_TENTATIVE_ASSUMPTIONS
-/* https://msdn.microsoft.com/en-us/library/aa378145.aspx suggests
- * that this may be an alias for...
- */
-#define X509_CRL_REASON_CODE		       X509_ENUMERATED
-#endif
-
-#define RSA_CSP_PUBLICKEYBLOB		       ((LPCSTR) (19))
-#define PKCS_CTL			       ((LPCSTR) (37))
-#define X509_DSS_PARAMETERS		       ((LPCSTR) (39))
-
-/* FIXME: need #define X509_DSS_PUBLICKEY */
-#ifdef MINGW_TENTATIVE_ASSUMPTIONS
-/* https://msdn.microsoft.com/en-us/library/aa378145.aspx suggests
- * that this may be an alias for...
- */
-#define X509_DSS_PUBLICKEY		       X509_MULTI_BYTE_UINT
-#endif
-
-#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))
-
-/* FIXME: need #define X509_UNICODE_ANY_STRING */
-#ifdef MINGW_TENTATIVE_ASSUMPTIONS
-/* https://msdn.microsoft.com/en-us/library/aa378145.aspx suggests
- * that this may be an alias for...
- */
-#define X509_UNICODE_ANY_STRING 	       X509_UNICODE_NAME_VALUE
-#endif
-
-#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
-};
-
-/* FIXME: need #define CRYPT_DECODE_NOCOPY_FLAG */
-
-#define CRYPT_ENCODE_ALLOC_FLAG 				0x00008000
-#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
-
-/* Object ID codes from https://support.microsoft.com/en-gb/kb/287547
- * and/or from https://msdn.microsoft.com/en-us/library/aa378145.aspx
- */
-#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 szOID_INFOSEC_sdnsKeyManagement 	"2.16.840.1.101.2.1.1.9"
-#define szOID_INFOSEC_mosaicKeyManagement	"2.16.840.1.101.2.1.1.10"
-#define szOID_INFOSEC_sdnsKMandSig		"2.16.840.1.101.2.1.1.11"
-#define szOID_INFOSEC_mosaicKMandSig		"2.16.840.1.101.2.1.1.12"
-#define szOID_INFOSEC_SuiteASignature		"2.16.840.1.101.2.1.1.13"
-#define szOID_INFOSEC_SuiteAConfidentiality 	"2.16.840.1.101.2.1.1.14"
-#define szOID_INFOSEC_SuiteAIntegrity		"2.16.840.1.101.2.1.1.15"
-#define szOID_INFOSEC_SuiteATokenProtection	"2.16.840.1.101.2.1.1.16"
-#define szOID_INFOSEC_SuiteAKeyManagement	"2.16.840.1.101.2.1.1.17"
-#define szOID_INFOSEC_SuiteAKMandSig		"2.16.840.1.101.2.1.1.18"
-#define szOID_INFOSEC_mosaicUpdatedSig		"2.16.840.1.101.2.1.1.19"
-#define szOID_INFOSEC_mosaicKMandUpdSig 	"2.16.840.1.101.2.1.1.20"
-#define szOID_INFOSEC_mosaicUpdatedInteg	"2.16.840.1.101.2.1.1.21"
-#define szOID_PKIX_NO_SIGNATURE 		"1.3.6.1.5.5.7.6.2"
-
-#define szOID_COMMON_NAME			"2.5.4.3"
-#define szOID_COUNTRY_NAME			"2.5.4.6"
-#define szOID_DEVICE_SERIAL_NUMBER		"2.5.4.5"
-#define szOID_DOMAIN_COMPONENT			"0.9.2342.19200300.100.1.25"
-#define szOID_GIVEN_NAME			"2.5.4.42"
-#define szOID_INITIALS				"2.5.4.43"
-#define szOID_LOCALITY_NAME			"2.5.4.7"
-#define szOID_ORGANIZATION_NAME 		"2.5.4.10"
-#define szOID_ORGANIZATIONAL_UNIT_NAME		"2.5.4.11"
-#define szOID_STATE_OR_PROVINCE_NAME		"2.5.4.8"
-#define szOID_STREET_ADDRESS			"2.5.4.9"
-#define szOID_SUR_NAME				"2.5.4.4"
-#define szOID_TITLE				"2.5.4.12"
-#define szOID_BASIC_CONSTRAINTS2	 	"2.5.29.19"
-#define szOID_APPLICATION_CERT_POLICIES 	"1.3.6.1.4.1.311.21.10"
-#define szOID_APPLICATION_POLICY_CONSTRAINTS	"1.3.6.1.4.1.311.21.12"
-#define szOID_APPLICATION_POLICY_MAPPINGS	"1.3.6.1.4.1.311.21.11"
-#define szOID_AUTHORITY_INFO_ACCESS		"1.3.6.1.5.5.7.1.1"
-#define szOID_AUTHORITY_KEY_IDENTIFIER		"2.5.29.1"
-#define szOID_AUTHORITY_KEY_IDENTIFIER2 	"2.5.29.35"
-
-#define szOID_BIOMETRIC_EXT			"1.3.6.1.5.5.7.1.2"
-#define szOID_CERT_EXTENSIONS			"1.3.6.1.4.1.311.2.1.14"
-#define szOID_CERT_POLICIES			"2.5.29.32"
-
-#if WINVER >= _WIN32_WINNT_WINXP
-/* These are available only on Windows XP, Windows Server 2003, and later
- */
-#define szOID_CERTIFICATE_TEMPLATE		"1.3.6.1.4.1.311.21.7"
-#define szOID_CRL_NUMBER			"2.5.29.20"
-#define szOID_CROSS_CERT_DIST_POINTS		"1.3.6.1.4.1.311.10.9.1"
-#define szOID_DELTA_CRL_INDICATOR		"2.5.29.27"
-#define szOID_ENROLLMENT_NAME_VALUE_PAIR	"1.3.6.1.4.1.311.13.2.1"
-#define szOID_FRESHEST_CRL			"2.5.29.46"
-#define szOID_ISSUING_DIST_POINT		"2.5.29.28"
-#define szOID_NAME_CONSTRAINTS			"2.5.29.30"
-#endif /* WINVER >= _WIN32_WINNT_WINXP */
-
-#define szOID_CRL_DIST_POINTS			"2.5.29.31"
-#define szOID_CRL_REASON_CODE			"2.5.29.21"
-#define szOID_CRL_VIRTUAL_BASE			"1.3.6.1.4.1.311.21.3"
-#define szOID_ECC_PUBLIC_KEY			"1.2.840.10045.2.1"
-#define szOID_ECDSA_SPECIFIED			"1.2.840.10045.4.3"
-#define szOID_ENHANCED_KEY_USAGE		"2.5.29.37"
-#define szOID_ISSUER_ALT_NAME			"2.5.29.8"
-#define szOID_ISSUER_ALT_NAME2			"2.5.29.18"
-#define szOID_KEY_ATTRIBUTES			"2.5.29.2"
-#define szOID_KEY_USAGE 			"2.5.29.4"
-#define szOID_KEY_USAGE_RESTRICTION		"2.5.29.4"
-#define szOID_LOGOTYPE_EXT			"1.3.6.1.5.5.7.1.12"
-#define szOID_NEXT_UPDATE_LOCATION		"1.3.6.1.4.1.311.10.2"
-#define szOID_POLICY_CONSTRAINTS		"2.5.29.36"
-#define szOID_POLICY_MAPPINGS			"2.5.29.33"
-#define szOID_RSA_SSA_PSS			"1.2.840.113549.1.1.10"
-#define szOID_RSAES_OAEP			"1.2.840.113549.1.1.7"
-#define szOID_SUBJECT_ALT_NAME			"2.5.29.7"
-#define szOID_SUBJECT_ALT_NAME2 		"2.5.29.17"
-#define szOID_SUBJECT_KEY_IDENTIFIER		"2.5.29.14"
-
-typedef struct _CERT_BASIC_CONSTRAINTS2_INFO
-{ BOOL				 fCA;
-  BOOL				 fPathLenConstraint;
-  DWORD 			 dwPathLenConstraint;
-} CERT_BASIC_CONSTRAINTS2_INFO, *PCERT_BASIC_CONSTRAINTS2_INFO;
-
-typedef VOID (WINAPI *PFN_CRYPT_FREE)( LPVOID );
-typedef LPVOID (WINAPI *PFN_CRYPT_ALLOC)( size_t );
-
-typedef struct _CRYPT_ENCODE_PARA
-{ DWORD 			 cbSize;
-  PFN_CRYPT_ALLOC		 pfnAlloc;
-  PFN_CRYPT_FREE		 pfnFree;
-} CRYPT_ENCODE_PARA, *PCRYPT_ENCODE_PARA;
-
-/* FIXME: definition missing. */
-typedef struct _CRYPT_DECODE_PARA *PCRYPT_DECODE_PARA;
-
-typedef UINT ALG_ID;
-typedef struct _VTableProvStruc
-{ FARPROC			 FuncVerifyImage;
-} VTableProvStruc, *PVTableProvStruc;
-
-typedef ULONG HCRYPTPROV;
-typedef ULONG HCRYPTKEY;
-typedef ULONG HCRYPTHASH;
-typedef PVOID HCERTSTORE;
-typedef PVOID HCRYPTMSG;
-typedef PVOID HCERTCHAINENGINE;
-
-typedef struct _CRYPTOAPI_BLOB
-{ DWORD 			 cbData;
-  BYTE				*pbData;
-};
-typedef struct _CRYPTOAPI_BLOB CRYPT_INTEGER_BLOB, *PCRYPT_INTEGER_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB;
-typedef struct _CRYPTOAPI_BLOB CERT_NAME_BLOB, *PCERT_NAME_BLOB;
-typedef struct _CRYPTOAPI_BLOB CERT_RDN_VALUE_BLOB, *PCERT_RDN_VALUE_BLOB;
-typedef struct _CRYPTOAPI_BLOB CERT_BLOB, *PCERT_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRL_BLOB, *PCRL_BLOB;
-typedef struct _CRYPTOAPI_BLOB DATA_BLOB, *PDATA_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_DATA_BLOB, *PCRYPT_DATA_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_DER_BLOB, *PCRYPT_DER_BLOB;
-typedef struct _CRYPTOAPI_BLOB CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB;
-
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA
-{ /* not described in SDK; has the same layout as HTTPSPolicyCallbackData
-   */
-  DWORD 			 cbStruct;
-  DWORD 			 dwAuthType;
-  DWORD 			 fdwChecks;
-  LPWSTR			 pwszServerName;
-};
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA SSL_EXTRA_CERT_CHAIN_POLICY_PARA;
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA *PSSL_EXTRA_CERT_CHAIN_POLICY_PARA;
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA HTTPSPolicyCallbackData;
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA *PHTTPSPolicyCallbackData;
-
-/* #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-typedef struct _CERT_CHAIN_POLICY_PARA
-{ DWORD 			 cbSize;
-  DWORD 			 dwFlags;
-  void				*pvExtraPolicyPara;
-} CERT_CHAIN_POLICY_PARA, *PCERT_CHAIN_POLICY_PARA;
-
-typedef struct _CERT_CHAIN_POLICY_STATUS
-{ DWORD 			 cbSize;
-  DWORD 			 dwError;
-  LONG			 	 lChainIndex;
-  LONG				 lElementIndex;
-  void				*pvExtraPolicyStatus;
-} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;
-/* #endif _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-
-typedef struct _CRYPT_ALGORITHM_IDENTIFIER
-{ LPSTR 			 pszObjId;
-  CRYPT_OBJID_BLOB 		 Parameters;
-} CRYPT_ALGORITHM_IDENTIFIER, *PCRYPT_ALGORITHM_IDENTIFIER;
-
-typedef struct _CRYPT_BIT_BLOB
-{ DWORD 			 cbData;
-  BYTE				*pbData;
-  DWORD 			 cUnusedBits;
-} CRYPT_BIT_BLOB, *PCRYPT_BIT_BLOB;
-
-typedef struct _CERT_PUBLIC_KEY_INFO
-{ CRYPT_ALGORITHM_IDENTIFIER	 Algorithm;
-  CRYPT_BIT_BLOB		 PublicKey;
-} CERT_PUBLIC_KEY_INFO, *PCERT_PUBLIC_KEY_INFO;
-
-typedef struct _CERT_EXTENSION
-{ LPSTR 			 pszObjId;
-  BOOL				 fCritical;
-  CRYPT_OBJID_BLOB		 Value;
-} CERT_EXTENSION, *PCERT_EXTENSION;
-
-typedef struct _CERT_INFO
-{ DWORD 			 dwVersion;
-  CRYPT_INTEGER_BLOB		 SerialNumber;
-  CRYPT_ALGORITHM_IDENTIFIER	 SignatureAlgorithm;
-  CERT_NAME_BLOB		 Issuer;
-  FILETIME			 NotBefore;
-  FILETIME			 NotAfter;
-  CERT_NAME_BLOB		 Subject;
-  CERT_PUBLIC_KEY_INFO		 SubjectPublicKeyInfo;
-  CRYPT_BIT_BLOB		 IssuerUniqueId;
-  CRYPT_BIT_BLOB		 SubjectUniqueId;
-  DWORD 			 cExtension;
-  PCERT_EXTENSION		 rgExtension;
-} CERT_INFO, *PCERT_INFO;
-
-typedef struct _CERT_CONTEXT
-{ DWORD 			 dwCertEncodingType;
-  BYTE				*pbCertEncoded;
-  DWORD 			 cbCertEncoded;
-  PCERT_INFO			 pCertInfo;
-  HCERTSTORE			 hCertStore;
-} CERT_CONTEXT, *PCERT_CONTEXT;
-
-typedef const CERT_CONTEXT *PCCERT_CONTEXT;
-
-typedef struct _CTL_USAGE
-{ DWORD 			 cUsageIdentifier;
-  LPSTR 			*rgpszUsageIdentifier;
-} CTL_USAGE, *PCTRL_USAGE, CERT_ENHKEY_USAGE, *PCERT_ENHKEY_USAGE;
-
-typedef struct _CERT_USAGE_MATCH
-{ DWORD 			 dwType;
-  CERT_ENHKEY_USAGE		 Usage;
-} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
-
-/* #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-typedef struct _CERT_CHAIN_PARA
-{ DWORD 			 cbSize;
-  CERT_USAGE_MATCH		 RequestedUsage;
-
-# if CERT_CHAIN_PARA_HAS_EXTRA_FIELDS
-
-  CERT_USAGE_MATCH		 RequestedIssuancePolicy;
-  DWORD 			 dwUrlRetrievalTimeout;
-  BOOL				 fCheckRevocationFreshnessTime;
-  DWORD 			 dwRevocationFreshnessTime;
-# endif
-
-} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
-
-typedef BOOL (WINAPI *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK)( PCCERT_CONTEXT, void * );
-
-typedef struct _CERT_CHAIN_FIND_BY_ISSUER_PARA
-{ DWORD 					 cbSize;
-  LPCSTR					 pszUsageIdentifier;
-  DWORD 					 dwKeySpec;
-  DWORD 					 dwAcquirePrivateKeyFlags;
-  DWORD 					 cIssuer;
-  CERT_NAME_BLOB				*rgIssuer;
-  PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK	 pfnFIndCallback;
-  void						*pvFindArg;
-  DWORD 					*pdwIssuerChainIndex;
-  DWORD 					*pdwIssuerElementIndex;
-} CERT_CHAIN_FIND_BY_ISSUER_PARA, *PCERT_CHAIN_FIND_BY_ISSUER_PARA;
-/* #endif _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-
-typedef struct _CERT_TRUST_STATUS
-{ DWORD 			 dwErrorStatus;
-  DWORD 			 dwInfoStatus;
-} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;
-
-typedef struct _CRL_ENTRY
-{ CRYPT_INTEGER_BLOB		 SerialNumber;
-  FILETIME			 RevocationDate;
-  DWORD 			 cExtension;
-  PCERT_EXTENSION		 rgExtension;
-} CRL_ENTRY, *PCRL_ENTRY;
-
-typedef struct _CRL_INFO
-{ DWORD 			 dwVersion;
-  CRYPT_ALGORITHM_IDENTIFIER	 SignatureAlgorithm;
-  CERT_NAME_BLOB		 Issuer;
-  FILETIME			 ThisUpdate;
-  FILETIME			 NextUpdate;
-  DWORD 			 cCRLEntry;
-  PCRL_ENTRY			 rgCRLEntry;
-  DWORD 			 cExtension;
-  PCERT_EXTENSION		 rgExtension;
-} CRL_INFO, *PCRL_INFO;
-
-typedef struct _CRL_CONTEXT
-{ DWORD 			 dwCertEncodingType;
-  BYTE				*pbCrlEncoded;
-  DWORD 			 cbCrlEncoded;
-  PCRL_INFO			 pCrlInfo;
-  HCERTSTORE			 hCertStore;
-} CRL_CONTEXT, *PCRL_CONTEXT;
-
-typedef const CRL_CONTEXT *PCCRL_CONTEXT;
-typedef struct _CERT_REVOCATION_CRL_INFO
-{ DWORD 			 cbSize;
-  PCCRL_CONTEXT 		 pBaseCRLContext;
-  PCCRL_CONTEXT 		 pDeltaCRLContext;
-  PCRL_ENTRY			 pCrlEntry;
-  BOOL fDeltaCrlEntry;
-} CERT_REVOCATION_CRL_INFO, *PCERT_REVOCATION_CRL_INFO;
-
-typedef struct _CERT_REVOCATION_INFO
-{ DWORD 			 cbSize;
-  DWORD 			 dwRevocationResult;
-  LPCSTR			 pszRevocationOid;
-  LPVOID			 pvOidSpecificInfo;
-  BOOL				 fHasFreshnessTime;
-  DWORD 			 dwFreshnessTime;
-  PCERT_REVOCATION_CRL_INFO	 pCrlInfo;
-} CERT_REVOCATION_INFO, *PCERT_REVOCATION_INFO;
-
-/* #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-typedef struct _CERT_CHAIN_ELEMENT
-{ DWORD 			 cbSize;
-  PCCERT_CONTEXT		 pCertContext;
-  CERT_TRUST_STATUS		 TrustStatus;
-  PCERT_REVOCATION_INFO 	 pRevocationInfo;
-  PCERT_ENHKEY_USAGE		 pIssuanceUsage;
-  PCERT_ENHKEY_USAGE		 pApplicationUsage;
-} CERT_CHAIN_ELEMENT, *PCERT_CHAIN_ELEMENT;
-/* #endif _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-
-typedef struct _CRYPT_ATTRIBUTE
-{ LPSTR 			 pszObjId;
-  DWORD 			 cValue;
-  PCRYPT_ATTR_BLOB		 rgValue;
-} CRYPT_ATTRIBUTE, *PCRYPT_ATTRIBUTE;
-
-typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE
-{ LPSTR 			 pszObjId;
-  CRYPT_OBJID_BLOB		 rgValue;
-} CRYPT_ATTRIBUTE_TYPE_VALUE, *PCRYPT_ATTRIBUTE_TYPE_VALUE;
-
-typedef struct _CTL_ENTRY
-{ CRYPT_DATA_BLOB		 SubjectIdentifier;
-  DWORD 			 cAttribute;
-  PCRYPT_ATTRIBUTE		 rgAttribute;
-} CTL_ENTRY, *PCTL_ENTRY;
-
-typedef struct _CTL_INFO
-{ DWORD 			 dwVersion;
-  CTL_USAGE			 SubjectUsage;
-  CRYPT_DATA_BLOB		 ListIdentifier;
-  CRYPT_INTEGER_BLOB		 SequenceNumber;
-  FILETIME			 ThisUpdate;
-  FILETIME			 NextUpdate;
-  CRYPT_ALGORITHM_IDENTIFIER	 SubjectAlgorithm;
-  DWORD 			 cCTLEntry;
-  PCTL_ENTRY			 rgCTLEntry;
-  DWORD 			 cExtension;
-  PCERT_EXTENSION		 rgExtension;
-} CTL_INFO, *PCTL_INFO;
-
-typedef struct _CTL_CONTEXT
-{ DWORD 			 dwMsgAndCertEncodingType;
-  BYTE				*pbCtlEncoded;
-  DWORD 			 cbCtlEncoded;
-  PCTL_INFO			 pCtlInfo;
-  HCERTSTORE			 hCertStore;
-  HCRYPTMSG			 hCryptMsg;
-  BYTE				*pbCtlContent;
-  DWORD 			 cbCtlContent;
-} CTL_CONTEXT, *PCTL_CONTEXT;
-
-typedef const CTL_CONTEXT *PCCTL_CONTEXT;
-typedef struct _CERT_TRUST_LIST_INFO
-{ DWORD 			 cbSize;
-  PCTL_ENTRY			 pCtlEntry;
-  PCCTL_CONTEXT 		 pCtlContext;
-} CERT_TRUST_LIST_INFO, *PCERT_TRUST_LIST_INFO;
-
-typedef struct _CERT_SIMPLE_CHAIN
-{ DWORD 			 cbSize;
-  CERT_TRUST_STATUS		 TrustStatus;
-  DWORD 			 cElement;
-  PCERT_CHAIN_ELEMENT		*rgpElement;
-  PCERT_TRUST_LIST_INFO 	 pTrustListInfo;
-  BOOL				 fHasRevocationFreshnessTime;
-  DWORD 			 dwRevocationFreshnessTime;
-} CERT_SIMPLE_CHAIN, *PCERT_SIMPLE_CHAIN;
-
-/* #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-typedef const struct _CERT_CHAIN_CONTEXT* PCCERT_CHAIN_CONTEXT;
-typedef struct _CERT_CHAIN_CONTEXT
-{ DWORD 			 cbSize;
-  CERT_TRUST_STATUS		 TrustStatus;
-  DWORD 			 cChain;
-  PCERT_SIMPLE_CHAIN		*rgpChain;
-  DWORD 			 cLowerQualityChainContext;
-  PCCERT_CHAIN_CONTEXT		*rgpLowerQualityChainContext;
-  BOOL				 fHasRevocationFreshnessTime;
-  DWORD 			 dwRevocationFreshnessTime;
-} CERT_CHAIN_CONTEXT, *PCERT_CHAIN_CONTEXT;
-/* #endif _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
-
-typedef struct _PROV_ENUMALGS
-{ ALG_ID			 aiAlgid;
-  DWORD 			 dwBitLen;
-  DWORD 			 dwNameLen;
-  CHAR				 szName[20];
-} PROV_ENUMALGS;
-
-typedef struct _PUBLICKEYSTRUC
-{ BYTE				 bType;
-  BYTE				 bVersion;
-  WORD				 reserved;
-  ALG_ID			 aiKeyAlg;
-} BLOBHEADER, PUBLICKEYSTRUC;
-
-typedef struct _RSAPUBKEY
-{ DWORD 			 magic;
-  DWORD 			 bitlen;
-  DWORD 			 pubexp;
-} RSAPUBKEY;
-
-typedef struct _HMAC_Info
-{ ALG_ID			 HashAlgid;
-  BYTE				*pbInnerString;
-  DWORD 			 cbInnerString;
-  BYTE				*pbOuterString;
-  DWORD 			 cbOuterString;
-} HMAC_INFO, *PHMAC_INFO;
-
-#if WINVER >= _WIN32_WINNT_WINXP
-/* Available only on Windows-XP, Windows Server 2003, and later.
- */
-typedef struct _CMC_ADD_ATTRIBUTES_INFO
-{ DWORD 			 dwCmcDataReference;
-  DWORD 			 cCertReference;
-  DWORD 			*rgdwCertReference;
-  DWORD 			 cAttribute;
-  PCRYPT_ATTRIBUTE		 rgAttribute;
-} CMC_ADD_ATTRIBUTES_INFO, *PCMC_ADD_ATTRIBUTES_INFO;
-
-typedef struct _CMC_ADD_EXTENSIONS_INFO
-{ DWORD 			 dwCmcDataReference;
-  DWORD 			 cCertReference;
-  DWORD 			*rgdwCertReference;
-  DWORD 			 cExtension;
-  PCERT_EXTENSION		 rgExtension;
-} CMC_ADD_EXTENSIONS_INFO, *PCMC_ADD_EXTENSIONS_INFO;
-
-#endif /* WINVER >= _WIN32_WINNT_WINXP */
-
-#if WINVER >= _WIN32_WINDOWS_98
-#ifdef MINGW_TENTATIVE_ASSUMPTIONS
-/* FIXME: CERT_ALT_NAME_ENTRY needs definitions for PCERT_OTHER_NAME and
- * (allegedly) CERT_DATA_BLOB (for the the x400Address field, which according to
- * https://msdn.microsoft.com/en-us/library/windows/desktop/aa377173%28v=vs.85%29.aspx
- * is NOT a member of this structure; similarly, neither is pEdiPartyName)
- *
- * The CERT_OTHER_NAME structure, (to which a PCERT_OTHER_NAME would point), is
- * not documented on MSDN, (or on any other Microsoft reference site).  There is,
- * however, a tenuous suggestion within the CERT_ALT_NAME_ENTRY documentation, (at
- * the aforementioned URL), that it comprises an object identifier (OID), and a
- * BLOB specifying the name, (closely resembling a CRYPT_ATTRIBUTE_TYPE_VALUE);
- * that this tenuous resemblance may suffice as an actual representation of a
- * CERT_OTHER_NAME structure is further hinted at, in the form of a SEE ALSO
- * reference to CRYPT_ATTRIBUTE_TYPE_VALUE, which appears to have no other
- * relevance in the CERT_ALT_NAME_ENTRY context; hence, we may infer...
- */
-typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE   CERT_OTHER_NAME;
-typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE  *PCERT_OTHER_NAME;
-
-typedef struct _CERT_ALT_NAME_ENTRY
-{ DWORD 			 dwAltNameChoice;
-  union
-  { PCERT_OTHER_NAME		 pOtherName;
-    LPWSTR			 pwszRfc822Name;
-    LPWSTR			 pwszDNSName;
-    /* CERT_DATA_BLOB		 x400Address;	*/ /* never implemented? */
-    CERT_NAME_BLOB		 DirectoryName;
-    /* LPWSTR			 pEdiPartyName;	*/ /* never implemented? */
-    LPWSTR			 pwszURL;
-    CRYPT_DATA_BLOB		 IPAddress;
-    LPSTR			 pszRegisteredID;
-  };
-} CERT_ALT_NAME_ENTRY, *PCERT_ALT_NAME_ENTRY;
-
-typedef struct _CERT_ALT_NAME_INFO
-/* FIXME: this needs CERT_ALT_NAME_ENTRY above, which lacks prereqs */
-{ DWORD 			 cAltEntry;
-  PCERT_ALT_NAME_ENTRY		 rgAltEntry;
-} CERT_ALT_NAME_INFO, *PCERT_ALT_NAME_INFO;
-
-#endif /* MINGW_TENTATIVE_ASSUMPTIONS */
-
-typedef struct _CERT_NAME_VALUE
-{ DWORD 			 dwValueType;
-  CERT_RDN_VALUE_BLOB		 Value;
-} CERT_NAME_VALUE, *PCERT_NAME_VALUE;
-
-typedef struct _CERT_POLICY_QUALIFIER_INFO
-{ LPSTR 			 pszPolicyQualifierId;
-  CRYPT_OBJID_BLOB		 Qualifier;
-} CERT_POLICY_QUALIFIER_INFO, *PCERT_POLICY_QUALIFIER_INFO;
-
-typedef struct _CERT_POLICY_CONSTRAINTS_INFO
-{ BOOL				 fRequireExplicitPolicy;
-  DWORD 			 dwRequireExplicitPolicySkipCerts;
-  BOOL				 fInhibitPolicyMapping;
-  DWORD 			 dwInhibitPolicyMappingSkipCerts;
-} CERT_POLICY_CONSTRAINTS_INFO, *PCERT_POLICY_CONSTRAINTS_INFO;
-
-#endif /* WINVER >= _WIN32_WINDOWS_98 */
-
-#if WINVER >= _WIN32_WINNT_WINXP
-/* Available only on Windows-XP, Windows Server 2003, and later.
- */
-typedef struct _CERT_POLICY_MAPPING
-{ LPSTR 			 pszIssuerDomainPolicy;
-  LPSTR 			 pszSubjectDomainPolicy;
-} CERT_POLICY_MAPPING, *PCERT_POLICY_MAPPING;
-
-typedef struct _CERT_POLICY_MAPPINGS_INFO
-{ DWORD 			 cPolicyMapping;
-  PCERT_POLICY_MAPPING		 rgPolicyMapping;
-} CERT_POLICY_MAPPINGS_INFO, *PCERT_POLICY_MAPPINGS_INFO;
-
-#endif /* WINVER >= _WIN32_WINNT_WINXP */
-
-/* Some Crypto Key Provider Information structures.
- */
-typedef struct _CRYPT_KEY_PROV_PARAM
-{ /* From http://msdn.microsoft.com/en-us/library/aa922935.aspx
-   */
-  DWORD 			 dwParam;
-  BYTE				*pbData;
-  DWORD 			 cbData;
-  DWORD 			 dwFlags;
-} CRYPT_KEY_PROV_PARAM, *PCRYPT_KEY_PROV_PARAM;
-
-typedef struct _CRYPT_KEY_PROV_INFO
-{ /* From http://msdn.microsoft.com/en-us/library/aa381420(VS.85).aspx
-   */
-  LPWSTR			 pwszContainerName;
-  LPWSTR			 pwszProvName;
-  DWORD 			 dwProvType;
-  DWORD 			 dwFlags;
-  DWORD 			 cProvParam;
-  PCRYPT_KEY_PROV_PARAM 	 rgProvParam;
-  DWORD 			 dwKeySpec;
-} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO;
-
-#define CERT_SET_KEY_PROV_HANDLE_PROP_ID	0x00000001
-#define CERT_SET_KEY_CONTEXT_PROP_ID		0x00000001
-
-#define CRYPT_KEYID_DELETE_FLAG 		0x00000010
-#define CRYPT_KEYID_SET_NEW_FLAG		0x00002000
-
-/* Certificate crl ctl IDs.
- */
-#define CERT_KEY_PROV_HANDLE_PROP_ID			 1
-#define CERT_KEY_PROV_INFO_PROP_ID			 2
-#define CERT_SHA1_HASH_PROP_ID				 3
-#define CERT_MD5_HASH_PROP_ID				 4
-#define CERT_HASH_PROP_ID		     CERT_SHA1_HASH_PROP_ID
-#define CERT_KEY_CONTEXT_PROP_ID			 5
-#define CERT_KEY_SPEC_PROP_ID				 6
-#define CERT_IE30_RESERVED_PROP_ID			 7
-#define CERT_PUBKEY_HASH_RESERVED_PROP_ID		 8
-#define CERT_ENHKEY_USAGE_PROP_ID			 9
-#define CERT_CTL_USAGE_PROP_ID		     CERT_ENHKEY_USAGE_PROP_ID
-#define CERT_NEXT_UPDATE_LOCATION_PROP_ID		10
-#define CERT_FRIENDLY_NAME_PROP_ID			11
-#define CERT_PVK_FILE_PROP_ID				12
-#define CERT_DESCRIPTION_PROP_ID			13
-#define CERT_ACCESS_STATE_PROP_ID			14
-#define CERT_SIGNATURE_HASH_PROP_ID			15
-#define CERT_SMART_CARD_DATA_PROP_ID			16
-#define CERT_EFS_PROP_ID				17
-#define CERT_FORTEZZA_DATA_PROP_ID			18
-#define CERT_ARCHIVED_PROP_ID				19
-#define CERT_KEY_IDENTIFIER_PROP_ID			20
-#define CERT_AUTO_ENROLL_PROP_ID			21
-#define CERT_PUBKEY_ALG_PARA_PROP_ID			22
-#define CERT_CROSS_CERT_DIST_POINTS_PROP_ID		23
-#define CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID 	24
-#define CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID	25
-#define CERT_ENROLLMENT_PROP_ID 			26
-#define CERT_DATE_STAMP_PROP_ID 			27
-#define CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID	28
-#define CERT_SUBJECT_NAME_MD5_HASH_PROP_ID		29
-#define CERT_EXTENDED_ERROR_INFO_PROP_ID		30
-
-/* Certificate name type.
- */
-#define CERT_NAME_EMAIL_TYPE				 1
-#define CERT_NAME_RDN_TYPE				 2
-#define CERT_NAME_ATTR_TYPE				 3
-#define CERT_NAME_SIMPLE_DISPLAY_TYPE			 4
-#define CERT_NAME_FRIENDLY_DISPLAY_TYPE 		 5
-#define CERT_NAME_DNS_TYPE				 6
-#define CERT_NAME_URL_TYPE				 7
-#define CERT_NAME_UPN_TYPE				 8
-
-/* Certificate/CRL, encoded, context or element disposition values.
- */
-#define CERT_STORE_ADD_NEW				 1
-#define CERT_STORE_ADD_USE_EXISTING			 2
-#define CERT_STORE_ADD_REPLACE_EXISTING 		 3
-#define CERT_STORE_ADD_ALWAYS				 4
-
-#define CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES	5
-
-#define CERT_STORE_ADD_NEWER				 6
-#define CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES 	 7
-
-#define CRYPT_ACQUIRE_CACHE_FLAG		0x00000001
-#define CRYPT_ACQUIRE_USE_PROV_INFO_FLAG	0x00000002
-#define CRYPT_ACQUIRE_COMPARE_KEY_FLAG		0x00000004
-#define CRYPT_ACQUIRE_SILENT_FLAG		0x00000040
-
-#define RSA1024BIT_KEY				0x04000000
-
-/* dwFlags definitions for CryptDeriveKey
- */
-#define CRYPT_SERVER				0x00000400
-
-#define KEY_LENGTH_MASK 			0xFFFF0000
-
-/* dwFlag definitions for CryptExportKey
- */
-#define CRYPT_Y_ONLY				0x00000001
-#define CRYPT_SSL2_FALLBACK			0x00000002
-#define CRYPT_DESTROYKEY			0x00000004
-
-/* Used with RSA encryptions/decryptions, CryptExportKey, CryptImportKey,
- * CryptEncrypt, and CryptDecrypt
- */
-#define CRYPT_OAEP				0x00000040
-
-#define CRYPT_BLOB_VER3 			0x00000080  /* export version 3 of a blob type */
-#define CRYPT_IPSEC_HMAC_KEY			0x00000100  /* CryptImportKey only */
-
-/* dwFlags definitions for CryptDecrypt; see also CRYPT_OAEP, above.
- * Note, the following flag is not supported for CryptEncrypt
- */
-#define CRYPT_DECRYPT_RSA_NO_PADDING_CHECK	0x00000020
-
-/* dwFlags definitions for CryptCreateHash
- */
-#define CRYPT_SECRETDIGEST			0x00000001
-
-/* dwFlags definitions for CryptHashData
- */
-#define CRYPT_OWF_REPL_LM_HASH			0x00000001  /* this is only for the OWF replacement CSP */
-
-/* dwFlags definitions for CryptHashSessionKey
- */
-#define CRYPT_LITTLE_ENDIAN			0x00000001
-
-/* dwFlags definitions for CryptSignHash and CryptVerifySignature
- */
-#define CRYPT_NOHASHOID 			0x00000001
-#define CRYPT_TYPE2_FORMAT			0x00000002
-#define CRYPT_X931_FORMAT			0x00000004
-
-/* dwFlag definitions for CryptSetProviderEx and CryptGetDefaultProvider
- */
-#define CRYPT_MACHINE_DEFAULT			0x00000001
-#define CRYPT_USER_DEFAULT			0x00000002
-#define CRYPT_DELETE_DEFAULT			0x00000004
-
-/* algorithm.
- */
-#define CALG_SSL3_SHAMD5        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5)
-
-/* End of crypto key provider information structures.
- */
-
-BOOL WINAPI CertCloseStore( HCERTSTORE, DWORD );
-BOOL WINAPI CertGetCertificateChain( HCERTCHAINENGINE, PCCERT_CONTEXT, LPFILETIME, HCERTSTORE, PCERT_CHAIN_PARA, DWORD, LPVOID, PCCERT_CHAIN_CONTEXT * );
-BOOL WINAPI CertVerifyCertificateChainPolicy( LPCSTR, PCCERT_CHAIN_CONTEXT, PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS );
-void WINAPI CertFreeCertificateChain( PCCERT_CHAIN_CONTEXT );
-
-#define CertNameToStr  __AW_SUFFIXED__( CertNameToStr )
-DWORD WINAPI CertNameToStrA( DWORD, PCERT_NAME_BLOB, DWORD, LPSTR, DWORD );
-DWORD WINAPI CertNameToStrW( DWORD, PCERT_NAME_BLOB, DWORD, LPWSTR, DWORD );
-
-#define CertOpenSystemStore  __AW_SUFFIXED__( CertOpenSystemStore )
-HCERTSTORE WINAPI CertOpenSystemStoreA( HCRYPTPROV, LPCSTR );
-HCERTSTORE WINAPI CertOpenSystemStoreW( HCRYPTPROV, LPCWSTR );
-
-HCERTSTORE WINAPI CertOpenStore( LPCSTR, DWORD, HCRYPTPROV, DWORD, const void * );
-PCCERT_CONTEXT WINAPI CertFindCertificateInStore( HCERTSTORE, DWORD, DWORD, DWORD, const void *, PCCERT_CONTEXT );
-BOOL WINAPI CertFreeCertificateContext( PCCERT_CONTEXT );
-PCCERT_CONTEXT WINAPI CertGetIssuerCertificateFromStore( HCERTSTORE, PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD * );
-PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore( HCERTSTORE, DWORD, DWORD, DWORD, const void *, PCCERT_CHAIN_CONTEXT );
-
-HCERTSTORE WINAPI CertDuplicateStore( HCERTSTORE );
-PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore( HCERTSTORE, PCCERT_CONTEXT );
-PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext( PCCERT_CONTEXT );
-
-#define CertGetNameString  __AW_SUFFIXED__( CertGetNameString )
-DWORD WINAPI CertGetNameStringA( PCCERT_CONTEXT, DWORD, DWORD, void *, LPSTR, DWORD );
-DWORD WINAPI CertGetNameStringW( PCCERT_CONTEXT, DWORD, DWORD, void *, LPWSTR, DWORD );
-
-BOOL WINAPI PFXIsPFXBlob( CRYPT_DATA_BLOB * );
-PCERT_EXTENSION WINAPI CertFindExtension( LPCSTR, DWORD, CERT_EXTENSION * );
-BOOL WINAPI CryptDecodeObject( DWORD, LPCSTR, const BYTE *, DWORD, DWORD, void *, DWORD * );
-BOOL WINAPI CryptDecodeObjectEx( DWORD, LPCSTR, const BYTE *, DWORD, DWORD, PCRYPT_DECODE_PARA, void *, DWORD * );
-BOOL WINAPI CryptEncodeObject( DWORD, LPCSTR, const void *, BYTE *, DWORD * );
-BOOL WINAPI CryptEncodeObjectEx( DWORD, LPCSTR, const void *, DWORD, PCRYPT_ENCODE_PARA, void *, DWORD * );
-BOOL WINAPI CertAddCertificateContextToStore( HCERTSTORE, PCCERT_CONTEXT, DWORD, PCCERT_CONTEXT * );
-BOOL WINAPI CertCompareCertificate( DWORD, PCERT_INFO, PCERT_INFO );
-BOOL WINAPI PFXVerifyPassword( CRYPT_DATA_BLOB *, LPCWSTR, DWORD );
-HCERTSTORE WINAPI PFXImportCertStore( CRYPT_DATA_BLOB *, LPCWSTR, DWORD );
-BOOL WINAPI CertDeleteCertificateFromStore( PCCERT_CONTEXT );
-
-#define CryptAcquireContext  __AW_SUFFIXED__( CryptAcquireContext )
-WINADVAPI BOOL WINAPI CryptAcquireContextA( HCRYPTPROV *, LPCSTR, LPCSTR, DWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptAcquireContextW( HCRYPTPROV *, LPCWSTR, LPCWSTR, DWORD, DWORD );
-
-WINADVAPI BOOL WINAPI CryptContextAddRef( HCRYPTPROV, DWORD *, DWORD );
-WINADVAPI BOOL WINAPI CryptReleaseContext( HCRYPTPROV, DWORD );
-WINADVAPI BOOL WINAPI CryptGenKey( HCRYPTPROV, ALG_ID, DWORD, HCRYPTKEY * );
-WINADVAPI BOOL WINAPI CryptDeriveKey( HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY * );
-WINADVAPI BOOL WINAPI CryptDestroyKey( HCRYPTKEY );
-
-#if WINVER >= _WIN32_WINNT_WIN2K
-WINADVAPI BOOL WINAPI CryptDuplicateHash( HCRYPTHASH, DWORD *, DWORD, HCRYPTHASH * );
-WINADVAPI BOOL WINAPI CryptDuplicateKey( HCRYPTKEY, DWORD *, DWORD, HCRYPTKEY * );
-#endif
-
-WINADVAPI BOOL WINAPI CryptSetKeyParam( HCRYPTKEY, DWORD, PBYTE, DWORD );
-WINADVAPI BOOL WINAPI CryptGetKeyParam( HCRYPTKEY, DWORD, PBYTE, PDWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptSetHashParam( HCRYPTHASH, DWORD, PBYTE, DWORD );
-WINADVAPI BOOL WINAPI CryptGetHashParam( HCRYPTHASH, DWORD, PBYTE, PDWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptSetProvParam( HCRYPTPROV, DWORD, PBYTE, DWORD );
-WINADVAPI BOOL WINAPI CryptGetProvParam( HCRYPTPROV, DWORD, PBYTE, PDWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptGenRandom( HCRYPTPROV, DWORD, PBYTE );
-WINADVAPI BOOL WINAPI CryptGetUserKey( HCRYPTPROV, DWORD, HCRYPTKEY * );
-WINADVAPI BOOL WINAPI CryptExportKey( HCRYPTKEY, HCRYPTKEY, DWORD, DWORD, PBYTE, PDWORD );
-WINADVAPI BOOL WINAPI CryptImportKey( HCRYPTPROV, PBYTE, DWORD, HCRYPTKEY, DWORD, HCRYPTKEY * );
-WINADVAPI BOOL WINAPI CryptEncrypt( HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptDecrypt( HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD );
-WINADVAPI BOOL WINAPI CryptCreateHash( HCRYPTPROV, ALG_ID, HCRYPTKEY, DWORD, HCRYPTHASH * );
-WINADVAPI BOOL WINAPI CryptHashData( HCRYPTHASH, PBYTE, DWORD, DWORD );
-WINADVAPI BOOL WINAPI CryptHashSessionKey( HCRYPTHASH, HCRYPTKEY, DWORD );
-WINADVAPI BOOL WINAPI CryptGetHashValue( HCRYPTHASH, DWORD, PBYTE, PDWORD );
-WINADVAPI BOOL WINAPI CryptDestroyHash( HCRYPTHASH );
-
-#define CryptSignHash  __AW_SUFFIXED__( CryptSignHash )
-WINADVAPI BOOL WINAPI CryptSignHashA( HCRYPTHASH, DWORD, LPCSTR, DWORD, PBYTE, PDWORD );
-WINADVAPI BOOL WINAPI CryptSignHashW( HCRYPTHASH, DWORD, LPCWSTR, DWORD, PBYTE, PDWORD );
-
-#define CryptVerifySignature  __AW_SUFFIXED__( CryptVerifySignature )
-WINADVAPI BOOL WINAPI CryptVerifySignatureA( HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCSTR, DWORD );
-WINADVAPI BOOL WINAPI CryptVerifySignatureW( HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCWSTR, DWORD );
-
-#define CryptSetProvider  __AW_SUFFIXED__( CryptSetProvider )
-WINADVAPI BOOL WINAPI CryptSetProviderA( LPCSTR, DWORD );
-WINADVAPI BOOL WINAPI CryptSetProviderW( LPCWSTR, DWORD );
-
-#define CryptEnumProviders  __AW_SUFFIXED__( CryptEnumProviders )
-WINADVAPI BOOL WINAPI CryptEnumProvidersA( DWORD, DWORD *, DWORD, DWORD *, LPSTR, DWORD * );
-WINADVAPI BOOL WINAPI CryptEnumProvidersW( DWORD, DWORD *, DWORD, DWORD *, LPWSTR, DWORD * );
-
-typedef struct _CRYPTPROTECT_PROMPTSTRUCT
-{ /* From http://msdn2.microsoft.com/en-us/library/Aa380263.aspx:
-   */
-  DWORD cbSize;
-  DWORD dwPromptFlags;
-  HWND hwndApp;
-  LPCWSTR szPrompt;
-} CRYPTPROTECT_PROMPTSTRUCT, *PCRYPTPROTECT_PROMPTSTRUCT;
-
-
-/* From http://msdn2.microsoft.com/en-us/library/aa380261.aspx
- */
-BOOL WINAPI CryptProtectData( DATA_BLOB *, LPCWSTR, DATA_BLOB *, PVOID, CRYPTPROTECT_PROMPTSTRUCT *, DWORD, DATA_BLOB * );
-
-/* From http://msdn2.microsoft.com/en-us/library/aa380882.aspx
- */
-BOOL WINAPI CryptUnprotectData( DATA_BLOB *, LPWSTR *, DATA_BLOB *, PVOID, CRYPTPROTECT_PROMPTSTRUCT *, DWORD, DATA_BLOB * );
-
-/* From http://msdn2.microsoft.com/en-us/library/aa302402.aspx:
- */
-#define CRYPTPROTECT_UI_FORBIDDEN		       0x1
-#define CRYPTPROTECT_LOCAL_MACHINE		       0x4
-
-typedef BOOL (WINAPI *PFN_CRYPT_ENUM_KEYID_PROP)( const CRYPT_HASH_BLOB *, DWORD, void *, void *, DWORD, DWORD, void **, DWORD );
-
-BOOL WINAPI CertGetCertificateContextProperty( PCCERT_CONTEXT, DWORD, void *, DWORD * );
-BOOL WINAPI CryptEnumKeyIdentifierProperties( const CRYPT_HASH_BLOB *, DWORD, DWORD, LPCWSTR, void *, void *, PFN_CRYPT_ENUM_KEYID_PROP );
-BOOL WINAPI CryptAcquireCertificatePrivateKey( PCCERT_CONTEXT, DWORD, void *, HCRYPTPROV *, DWORD *, BOOL * );
-PCCERT_CONTEXT WINAPI CertCreateCertificateContext( DWORD, const BYTE *, DWORD );
-BOOL WINAPI CryptGetKeyIdentifierProperty( const CRYPT_HASH_BLOB *, DWORD, DWORD, LPCWSTR, void *, void *, DWORD * );
-BOOL WINAPI CertSetCertificateContextProperty( PCCERT_CONTEXT, DWORD, DWORD, void * );
-BOOL WINAPI CertCompareCertificateName( DWORD, PCERT_NAME_BLOB, PCERT_NAME_BLOB );
-BOOL WINAPI CryptSetKeyIdentifierProperty( const CRYPT_HASH_BLOB *, DWORD, DWORD, LPCWSTR, void *, void * );
-DWORD WINAPI CertOIDToAlgId( LPCSTR );
-
-#define CryptGetDefaultProvider __AW_SUFFIXED__( CryptGetDefaultProvider )
-BOOL WINAPI CryptGetDefaultProviderA( DWORD, DWORD, DWORD, LPSTR, DWORD );
-BOOL WINAPI CryptGetDefaultProviderW( DWORD, DWORD, DWORD, LPWSTR, DWORD );
-
-_END_C_DECLS
-
-#endif /* ! _WINCRYPT_H: $RCSfile: wincrypt.h,v $: end of file */
Index: Daodan/MinGW/include/windef.h
===================================================================
--- Daodan/MinGW/include/windef.h	(revision 1046)
+++ 	(revision )
@@ -1,353 +1,0 @@
-/*
- * windef.h
- *
- * Common definitions for the Win32 API.
- *
- * $Id: windef.h,v 34e5e7606781 2016/05/23 18:31:09 keithmarshall $
- *
- * Written by Anders Norlander  <anorland@hem2.passagen.se>
- * Copyright (C) 1998-2002, 2006-2008, 2010, 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 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.
- *
- */
-#ifndef _WINDEF_H
-#define _WINDEF_H
-#pragma GCC system_header
-
-/* We used to provide preprocessor code here, to ensure that WINVER
- * and _WIN32_WINNT are defined; this is now handled by inclusion of
- * w32api.h, which in turn includes sdkddkver.h, so implementing the
- * preferred technique of deriving these from a user assigned, (or
- * default), NTDDI_VERSION setting.
- */
-#include <w32api.h>
-
-_BEGIN_C_DECLS
-
-#ifndef WIN32
-#define WIN32
-#endif
-#ifndef _WIN32
-#define _WIN32
-#endif
-#define FAR
-#define far
-#define NEAR
-#define near
-#ifndef CONST
-#define CONST const
-#endif
-#undef MAX_PATH
-#define MAX_PATH 260
-
-#ifndef NULL
-#ifdef __cplusplus
-#define NULL 0
-#else
-#define NULL ((void*)0)
-#endif
-#endif
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef _NO_W32_PSEUDO_MODIFIERS
-/* Pseudo-modifiers support function argument classification:
- * we don't use these unnecessary defines in the w32api headers,
- * but define them by default, since that is what people expect;
- * this is conditional, so that users may avoid the pollution.
- */
-# define IN
-# define OUT
-# ifndef OPTIONAL
-#  define OPTIONAL
-# endif
-#endif
-
-#ifdef __GNUC__
-#ifndef _fastcall
-#define _fastcall __attribute__((fastcall))
-#endif
-#ifndef __fastcall
-#define __fastcall __attribute__((fastcall))
-#endif
-#ifndef _stdcall
-#define _stdcall __attribute__((stdcall))
-#endif
-#ifndef __stdcall
-#define __stdcall __attribute__((stdcall))
-#endif
-#ifndef _cdecl
-#define _cdecl __attribute__((cdecl))
-#endif
-#ifndef __cdecl
-#define __cdecl __attribute__((cdecl))
-#endif
-#ifndef __declspec
-#define __declspec(e) __attribute__((e))
-#endif
-#ifndef _declspec
-#define _declspec(e) __attribute__((e))
-#endif
-#else
-#define _cdecl
-#define __cdecl
-#endif
-
-#undef pascal
-#undef _pascal
-#undef __pascal
-#define pascal __stdcall
-#define _pascal __stdcall
-#define __pascal __stdcall
-#define PASCAL _pascal
-#define CDECL _cdecl
-#define STDCALL __stdcall
-#define FASTCALL __fastcall
-#define WINAPI __stdcall
-#define WINAPIV __cdecl
-#define APIENTRY __stdcall
-#define CALLBACK __stdcall
-#define APIPRIVATE __stdcall
-
-#define DECLSPEC_IMPORT __declspec(dllimport)
-#define DECLSPEC_EXPORT __declspec(dllexport)
-#ifdef __GNUC__
-#define DECLSPEC_NORETURN __declspec(noreturn)
-#define DECLARE_STDCALL_P( type ) __stdcall type
-#elif defined(__WATCOMC__)
-#define DECLSPEC_NORETURN
-#define DECLARE_STDCALL_P( type ) type __stdcall
-#endif /* __GNUC__/__WATCOMC__ */
-#define MAKEWORD(a,b)	((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
-#define MAKELONG(a,b)	((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
-#define LOWORD(l)	((WORD)((DWORD)(l)))
-#define HIWORD(l)	((WORD)(((DWORD)(l)>>16)&0xFFFF))
-#define LOBYTE(w)	((BYTE)(w))
-#define HIBYTE(w)	((BYTE)(((WORD)(w)>>8)&0xFF))
-
-#ifndef __WATCOMC__
-#ifndef _export
-#define _export
-#endif
-#ifndef __export
-#define __export
-#endif
-#endif
-
-#ifndef NOMINMAX
-#ifndef max
-#define max(a,b) ((a)>(b)?(a):(b))
-#endif
-#ifndef min
-#define min(a,b) ((a)<(b)?(a):(b))
-#endif
-#endif
-
-#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
-#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
-#define DBG_UNREFERENCED_PARAMETER(P)
-#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
-
-#ifndef NONAMELESSUNION
-#ifdef __GNUC__
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define _ANONYMOUS_UNION __extension__
-#define _ANONYMOUS_STRUCT __extension__
-#else
-#if defined(__cplusplus)
-#define _ANONYMOUS_UNION __extension__
-#endif /* __cplusplus */
-#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
-#elif defined(__WATCOMC__)
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif /* __GNUC__/__WATCOMC__ */
-#endif /* NONAMELESSUNION */
-
-#ifndef _ANONYMOUS_UNION
-#define _ANONYMOUS_UNION
-#define _UNION_NAME(x) x
-#define DUMMYUNIONNAME	u
-#define DUMMYUNIONNAME2	u2
-#define DUMMYUNIONNAME3	u3
-#define DUMMYUNIONNAME4	u4
-#define DUMMYUNIONNAME5	u5
-#define DUMMYUNIONNAME6	u6
-#define DUMMYUNIONNAME7	u7
-#define DUMMYUNIONNAME8	u8
-#else
-#define _UNION_NAME(x)
-#define DUMMYUNIONNAME
-#define DUMMYUNIONNAME2
-#define DUMMYUNIONNAME3
-#define DUMMYUNIONNAME4
-#define DUMMYUNIONNAME5
-#define DUMMYUNIONNAME6
-#define DUMMYUNIONNAME7
-#define DUMMYUNIONNAME8
-#endif
-#ifndef _ANONYMOUS_STRUCT
-#define _ANONYMOUS_STRUCT
-#define _STRUCT_NAME(x) x
-#define DUMMYSTRUCTNAME	s
-#define DUMMYSTRUCTNAME2 s2
-#define DUMMYSTRUCTNAME3 s3
-#else
-#define _STRUCT_NAME(x)
-#define DUMMYSTRUCTNAME
-#define DUMMYSTRUCTNAME2
-#define DUMMYSTRUCTNAME3
-#endif
-
-#ifndef NO_STRICT
-#ifndef STRICT
-#define STRICT 1
-#endif
-#endif
-
-#if defined (__GNUC__) && defined (__SEH_NOOP)
-/* FIXME: This will make some code compile. The programs will most
- * likely crash when an exception is raised, but at least they will
- * compile.
- */
-# define __try
-# define __except(x) if (0) /* don't execute handler */
-# define __finally
-
-# define _try __try
-# define _except __except
-# define _finally __finally
-#endif
-
-typedef unsigned long DWORD;
-typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
-/* FIXME: Is there a good solution to this? */
-#ifndef XFree86Server
-#ifndef __OBJC__
-typedef WINBOOL BOOL;
-#else
-#define BOOL WINBOOL
-#endif
-typedef unsigned char BYTE;
-#endif /* ndef XFree86Server */
-typedef BOOL *PBOOL,*LPBOOL;
-typedef unsigned short WORD;
-typedef float FLOAT;
-typedef FLOAT *PFLOAT;
-typedef BYTE *PBYTE,*LPBYTE;
-typedef int *PINT,*LPINT;
-typedef WORD *PWORD,*LPWORD;
-typedef long *LPLONG;
-typedef DWORD *PDWORD,*LPDWORD;
-typedef CONST void *PCVOID,*LPCVOID;
-typedef int INT;
-typedef unsigned int UINT,*PUINT,*LPUINT;
-
-#include <winnt.h>
-
-typedef UINT_PTR WPARAM;
-typedef LONG_PTR LPARAM;
-typedef LONG_PTR LRESULT;
-#ifndef _HRESULT_DEFINED
-typedef LONG HRESULT;
-#define _HRESULT_DEFINED
-#endif
-#ifndef XFree86Server
-typedef WORD ATOM;
-#endif /* XFree86Server */
-typedef HANDLE HHOOK;
-typedef HANDLE HGLOBAL;
-typedef HANDLE HLOCAL;
-typedef HANDLE GLOBALHANDLE;
-typedef HANDLE LOCALHANDLE;
-typedef void *HGDIOBJ;
-DECLARE_HANDLE(HACCEL);
-DECLARE_HANDLE(HBITMAP);
-DECLARE_HANDLE(HBRUSH);
-DECLARE_HANDLE(HCOLORSPACE);
-DECLARE_HANDLE(HDC);
-DECLARE_HANDLE(HGLRC);
-DECLARE_HANDLE(HDESK);
-DECLARE_HANDLE(HENHMETAFILE);
-DECLARE_HANDLE(HFONT);
-DECLARE_HANDLE(HICON);
-DECLARE_HANDLE(HKEY);
-/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
-DECLARE_HANDLE(HMONITOR);
-#define HMONITOR_DECLARED 1
-DECLARE_HANDLE(HTERMINAL);
-DECLARE_HANDLE(HWINEVENTHOOK);
-
-typedef HKEY *PHKEY;
-DECLARE_HANDLE(HMENU);
-DECLARE_HANDLE(HMETAFILE);
-DECLARE_HANDLE(HINSTANCE);
-typedef HINSTANCE HMODULE;
-DECLARE_HANDLE(HPALETTE);
-DECLARE_HANDLE(HPEN);
-DECLARE_HANDLE(HRGN);
-DECLARE_HANDLE(HRSRC);
-DECLARE_HANDLE(HSTR);
-DECLARE_HANDLE(HTASK);
-DECLARE_HANDLE(HWND);
-DECLARE_HANDLE(HWINSTA);
-DECLARE_HANDLE(HKL);
-typedef int HFILE;
-typedef HICON HCURSOR;
-typedef DWORD COLORREF;
-typedef int (WINAPI *FARPROC)();
-typedef int (WINAPI *NEARPROC)();
-typedef int (WINAPI *PROC)();
-typedef struct tagRECT {
-	LONG left;
-	LONG top;
-	LONG right;
-	LONG bottom;
-} RECT,*PRECT,*LPRECT;
-typedef const RECT *LPCRECT;
-typedef struct tagRECTL {
-	LONG left;
-	LONG top;
-	LONG right;
-	LONG bottom;
-} RECTL,*PRECTL,*LPRECTL;
-typedef const RECTL *LPCRECTL;
-typedef struct tagPOINT {
-	LONG x;
-	LONG y;
-} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
-typedef struct tagSIZE {
-	LONG cx;
-	LONG cy;
-} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
-typedef struct tagPOINTS {
-	SHORT x;
-	SHORT y;
-} POINTS,*PPOINTS,*LPPOINTS;
-
-_END_C_DECLS
-
-#endif /* _WINDEF_H: $RCSfile: windef.h,v $: end of file */
Index: Daodan/MinGW/include/windns.h
===================================================================
--- Daodan/MinGW/include/windns.h	(revision 1046)
+++ 	(revision )
@@ -1,405 +1,0 @@
-#ifndef _WINDNS_H
-#define _WINDNS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DNS_QUERY_STANDARD 0x0
-#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x1
-#define DNS_QUERY_USE_TCP_ONLY 0x2
-#define DNS_QUERY_NO_RECURSION 0x4
-#define DNS_QUERY_BYPASS_CACHE 0x8
-#define DNS_QUERY_NO_WIRE_QUERY	0x10
-#define DNS_QUERY_NO_LOCAL_NAME 0x20
-#define DNS_QUERY_NO_HOSTS_FILE 0x40
-#define DNS_QUERY_NO_NETBT 0x80
-#define DNS_QUERY_TREAT_AS_FQDN 0x1000
-#define DNS_QUERY_WIRE_ONLY 0x100
-#define DNS_QUERY_RETURN_MESSAGE 0x200
-#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x100000
-#define DNS_QUERY_RESERVED 0xff000000
-
-#define DNS_UPDATE_SECURITY_USE_DEFAULT	0x0
-#define DNS_UPDATE_SECURITY_OFF 0x10
-#define DNS_UPDATE_SECURITY_ON 0x20
-#define DNS_UPDATE_SECURITY_ONLY 0x100
-#define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x200
-#define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x400
-#define DNS_UPDATE_FORCE_SECURITY_NEGO 0x800
-#define DNS_UPDATE_RESERVED 0xffff0000
-
-#ifndef RC_INVOKE
-typedef DWORD IP4_ADDRESS;
-typedef DWORD DNS_STATUS;
-enum {
-	DNS_TYPE_A=1,
-	DNS_TYPE_NS,
-	DNS_TYPE_MD,
-	DNS_TYPE_MF,
-	DNS_TYPE_CNAME,
-	DNS_TYPE_SOA,
-	DNS_TYPE_MB,
-	DNS_TYPE_MG,
-	DNS_TYPE_MR,
-	DNS_TYPE_NULL,
-	DNS_TYPE_WKS,
-	DNS_TYPE_PTR,
-	DNS_TYPE_HINFO,
-	DNS_TYPE_MINFO,
-	DNS_TYPE_MX,
-	DNS_TYPE_TEXT,
-	DNS_TYPE_RP,
-	DNS_TYPE_AFSDB,
-	DNS_TYPE_X25,
-	DNS_TYPE_ISDN,
-	DNS_TYPE_RT,
-	DNS_TYPE_NSAP,
-	DNS_TYPE_NSAPPTR,
-	DNS_TYPE_SIG,
-	DNS_TYPE_KEY,
-	DNS_TYPE_PX,
-	DNS_TYPE_GPOS,
-	DNS_TYPE_AAAA,
-	DNS_TYPE_LOC,
-	DNS_TYPE_NXT,
-	DNS_TYPE_EID,
-	DNS_TYPE_NIMLOC,
-	DNS_TYPE_SRV,
-	DNS_TYPE_ATMA,
-	DNS_TYPE_NAPTR,
-	DNS_TYPE_KX,
-	DNS_TYPE_CERT,
-	DNS_TYPE_A6,
-	DNS_TYPE_DNAME,
-	DNS_TYPE_SINK,
-	DNS_TYPE_OPT,
-	DNS_TYPE_UINFO=100,
-	DNS_TYPE_UID,
-	DNS_TYPE_GID,
-	DNS_TYPE_UNSPEC,
-	DNS_TYPE_ADDRS=248,
-	DNS_TYPE_TKEY,
-	DNS_TYPE_TSIG,
-	DNS_TYPE_IXFR,
-	DNS_TYPE_AXFR,
-	DNS_TYPE_MAILB,
-	DNS_TYPE_MAILA,
-	DNS_TYPE_ALL,
-	DNS_TYPE_ANY=DNS_TYPE_ALL
-};
-typedef enum _DNS_CHARSET
-{
-	DnsCharSetUnknown,
-	DnsCharSetUnicode,
-	DnsCharSetUtf8,
-	DnsCharSetAnsi
-} DNS_CHARSET;
-typedef enum
-{
-	DnsConfigPrimaryDomainName_W,
-	DnsConfigPrimaryDomainName_A,
-	DnsConfigPrimaryDomainName_UTF8,
-	DnsConfigAdapterDomainName_W,
-	DnsConfigAdapterDomainName_A,
-	DnsConfigAdapterDomainName_UTF8,
-	DnsConfigDnsServerList,
-	DnsConfigSearchList,
-	DnsConfigAdapterInfo,
-	DnsConfigPrimaryHostNameRegistrationEnabled,
-	DnsConfigAdapterHostNameRegistrationEnabled,
-	DnsConfigAddressRegistrationMaxCount,
-	DnsConfigHostName_W,
-	DnsConfigHostName_A,
-	DnsConfigHostName_UTF8,
-	DnsConfigFullHostName_W,
-	DnsConfigFullHostName_A,
-	DnsConfigFullHostName_UTF8
-} DNS_CONFIG_TYPE;
-typedef enum
-{
-	DnsFreeFlat = 0,
-	DnsFreeRecordList,
-	DnsFreeParsedMessageFields
-} DNS_FREE_TYPE;
-typedef enum _DNS_NAME_FORMAT
-{
-	DnsNameDomain,
-	DnsNameDomainLabel,
-	DnsNameHostnameFull,
-	DnsNameHostnameLabel,
-	DnsNameWildcard,
-	DnsNameSrvRecord
-} DNS_NAME_FORMAT;
-typedef enum
-{
-	DnsSectionQuestion,
-	DnsSectionAnswer,
-	DnsSectionAuthority,
-	DnsSectionAdditional
-} DNS_SECTION;
-typedef struct _IP4_ARRAY {
-	DWORD AddrCount;
-	IP4_ADDRESS AddrArray[1];
-} IP4_ARRAY, *PIP4_ARRAY;
-typedef struct {
-	DWORD IP6Dword[4];
-} IP6_ADDRESS, *PIP6_ADDRESS, DNS_IP6_ADDRESS, *PDNS_IP6_ADDRESS;
-typedef struct _DNS_HEADER {
-	WORD Xid;
-	BYTE RecursionDesired;
-	BYTE Truncation;
-	BYTE Authoritative;
-	BYTE Opcode;
-	BYTE IsResponse;
-	BYTE ResponseCode;
-	BYTE Reserved;
-	BYTE RecursionAvailable;
-	WORD QuestionCount;
-	WORD AnswerCount;
-	WORD NameServerCount;
-	WORD AdditionalCount;
-} DNS_HEADER, *PDNS_HEADER;
-typedef struct _DNS_MESSAGE_BUFFER {
-	DNS_HEADER MessageHead;
-	CHAR MessageBody[1];
-} DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER;
-typedef struct _DnsRecordFlags {
-	DWORD Section	:2;
-	DWORD Delete	:1;
-	DWORD CharSet	:2;
-	DWORD Unused	:3;
-	DWORD Reserved	:24;
-} DNS_RECORD_FLAGS;
-#define DNSREC_QUESTION 0
-#define DNSREC_ANSWER 1
-#define DNSREC_AUTHORITY 2
-#define DNSREC_ADDITIONAL 3
-typedef struct {
-	IP4_ADDRESS IpAddress;
-} DNS_A_DATA, *PDNS_A_DATA;
-typedef struct {
-	DNS_IP6_ADDRESS Ip6Address;
-} DNS_AAAA_DATA, *PDNS_AAAA_DATA;
-#define DNS_ATMA_MAX_ADDR_LENGTH 20
-typedef struct {
-	BYTE AddressType;
-	BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH];
-} DNS_ATMA_DATA, *PDNS_ATMA_DATA;
-typedef struct {
-	WORD wFlags;
-	BYTE chProtocol;
-	BYTE chAlgorithm;
-	BYTE Key[1];
-} DNS_KEY_DATA, *PDNS_KEY_DATA;
-typedef struct {
-	WORD wVersion;
-	WORD wSize;
-	WORD wHorPrec;
-	WORD wVerPrec;
-	DWORD dwLatitude;
-	DWORD dwLongitude;
-	DWORD dwAltitude;
-} DNS_LOC_DATA, *PDNS_LOC_DATA;
-typedef struct {
-	LPTSTR pNameMailbox;
-	LPTSTR pNameErrorsMailbox;
-} DNS_MINFO_DATA, *PDNS_MINFO_DATA;
-typedef struct {
-	LPTSTR pNameExchange;
-	WORD wPreference;
-	WORD Pad;
-} DNS_MX_DATA, *PDNS_MX_DATA;
-typedef struct {
-	DWORD dwByteCount;
-	BYTE Data[1];
-} DNS_NULL_DATA, *PDNS_NULL_DATA;
-typedef struct {
-	LPTSTR pNameNext;
-	WORD wNumTypes;
-	WORD wTypes[1];
-} DNS_NXT_DATA, *PDNS_NXT_DATA;
-typedef struct {
-	LPTSTR pNameHost;
-} DNS_PTR_DATA, *PDNS_PTR_DATA;
-typedef struct {
-	LPTSTR pNameSigner;
-	WORD wTypeCovered;
-	BYTE chAlgorithm;
-	BYTE chLabelCount;
-	DWORD dwOriginalTtl;
-	DWORD dwExpiration;
-	DWORD dwTimeSigned;
-	WORD wKeyTag;
-	WORD Pad;
-	BYTE Signature[1];
-} DNS_SIG_DATA, *PDNS_SIG_DATA;
-typedef struct {
-	LPTSTR pNamePrimaryServer;
-	LPTSTR pNameAdministrator;
-	DWORD dwSerialNo;
-	DWORD dwRefresh;
-	DWORD dwRetry;
-	DWORD dwExpire;
-	DWORD dwDefaultTtl;
-} DNS_SOA_DATA, *PDNS_SOA_DATA;
-typedef struct {
-	LPTSTR pNameTarget;
-	WORD wPriority;
-	WORD wWeight;
-	WORD wPort;
-	WORD Pad;
-} DNS_SRV_DATA, *PDNS_SRV_DATA;
-typedef struct {
-	DWORD dwStringCount;
-	LPTSTR pStringArray[1];
-} DNS_TXT_DATA, *PDNS_TXT_DATA;
-typedef struct {
-	LPTSTR pNameAlgorithm;
-	PBYTE pAlgorithmPacket;
-	PBYTE pKey;
-	PBYTE pOtherData;
-	DWORD dwCreateTime;
-	DWORD dwExpireTime;
-	WORD wMode;
-	WORD wError;
-	WORD wKeyLength;
-	WORD wOtherLength;
-	UCHAR cAlgNameLength;
-	BOOL bPacketPointers;
-} DNS_TKEY_DATA, *PDNS_TKEY_DATA;
-typedef struct {
-	LPTSTR pNameAlgorithm;
-	PBYTE pAlgorithmPacket;
-	PBYTE pSignature;
-	PBYTE pOtherData;
-	LONGLONG i64CreateTime;
-	WORD wFudgeTime;
-	WORD wOriginalXid;
-	WORD wError;
-	WORD wSigLength;
-	WORD wOtherLength;
-	UCHAR cAlgNameLength;
-	BOOL bPacketPointers;
-} DNS_TSIG_DATA, *PDNS_TSIG_DATA;
-typedef struct {
-	DWORD dwMappingFlag;
-	DWORD dwLookupTimeout;
-	DWORD dwCacheTimeout;
-	DWORD cWinsServerCount;
-	IP4_ADDRESS WinsServers[1];
-} DNS_WINS_DATA, *PDNS_WINS_DATA;
-typedef struct {
-	DWORD dwMappingFlag;
-	DWORD dwLookupTimeout;
-	DWORD dwCacheTimeout;
-	LPTSTR pNameResultDomain;
-} DNS_WINSR_DATA, *PDNS_WINSR_DATA;
-typedef struct _DNS_WIRE_QUESTION {
-	WORD QuestionType;
-	WORD QuestionClass;
-} DNS_WIRE_QUESTION, *PDNS_WIRE_QUESTION;
-typedef struct _DNS_WIRE_RECORD {
-	WORD RecordType;
-	WORD RecordClass;
-	DWORD TimeToLive;
-	WORD DataLength;
-} DNS_WIRE_RECORD, *PDNS_WIRE_RECORD;
-typedef struct {
-	IP4_ADDRESS IpAddress;
-	UCHAR chProtocol;
-	BYTE BitMask[1];
-} DNS_WKS_DATA, *PDNS_WKS_DATA;
-typedef struct _DnsRecord {
-	struct _DnsRecord* pNext;
-	LPTSTR pName;
-	WORD wType;
-	WORD wDataLength;
-	union {
-		DWORD DW;
-		DNS_RECORD_FLAGS S;
-	} Flags;
-	DWORD dwTtl;
-	DWORD dwReserved;
-	union {
-		DNS_A_DATA A;
-		DNS_SOA_DATA SOA, Soa;
-		DNS_PTR_DATA PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
-			     MD, Md, MF, Mf, MG, Mg, MR, Mr;
-		DNS_MINFO_DATA MINFO, Minfo, RP, Rp;
-		DNS_MX_DATA MX, Mx, AFSDB, Afsdb, RT, Rt;
-		DNS_TXT_DATA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
-		DNS_NULL_DATA Null;
-		DNS_WKS_DATA WKS, Wks;
-		DNS_AAAA_DATA AAAA;
-		DNS_KEY_DATA KEY, Key;
-		DNS_SIG_DATA SIG, Sig;
-		DNS_ATMA_DATA ATMA, Atma;
-		DNS_NXT_DATA NXT, Nxt;
-		DNS_SRV_DATA SRV, Srv;
-		DNS_TKEY_DATA TKEY, Tkey;
-		DNS_TSIG_DATA TSIG, Tsig;
-		DNS_WINS_DATA WINS, Wins;
-		DNS_WINSR_DATA WINSR, WinsR, NBSTAT, Nbstat;
-	} Data;
-} DNS_RECORD, *PDNS_RECORD;
-typedef struct _DnsRRSet {
-	PDNS_RECORD pFirstRR;
-	PDNS_RECORD pLastRR;
-} DNS_RRSET, *PDNS_RRSET;
-
-DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,HANDLE*);
-DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,HANDLE*);
-DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
-DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-BOOL WINAPI DnsNameCompare_A(LPSTR,LPSTR);
-BOOL WINAPI DnsNameCompare_W(LPWSTR,LPWSTR);
-DNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PWSTR,PVOID,PVOID,PDWORD);
-BOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
-PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
-void WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
-BOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
-PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
-PDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
-void WINAPI DnsReleaseContextHandle(HANDLE);
-DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsValidateName_A(LPCSTR,DNS_NAME_FORMAT);
-DNS_STATUS WINAPI DnsValidateName_W(LPCWSTR, DNS_NAME_FORMAT);
-DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
-BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
-BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
-
-#ifdef UNICODE
-#define DnsAcquireContextHandle DnsAcquireContextHandle_W
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_W
-#define DnsNameCompare DnsNameCompare_W
-#define DnsQuery DnsQuery_W
-#define DnsReplaceRecordSet DnsReplaceRecordSetW
-#define DnsValidateName DnsValidateName_W
-#else
-#define DnsAcquireContextHandle DnsAcquireContextHandle_A
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_A
-#define DnsNameCompare DnsNameCompare_A
-#define DnsQuery DnsQuery_A
-#define DnsReplaceRecordSet DnsReplaceRecordSetA
-#define DnsValidateName DnsValidateName_A
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _WINDNS_H */
Index: Daodan/MinGW/include/windows.h
===================================================================
--- Daodan/MinGW/include/windows.h	(revision 1046)
+++ 	(revision )
@@ -1,113 +1,0 @@
-/*
- * windows.h
- *
- * Include supplementary headers for core Win32 API definitions.
- *
- * $Id: windows.h,v f02731a7c98a 2016/06/02 21:15:06 keithmarshall $
- *
- * Written by Anders Norlander <anorland@hem2.passagen.se>
- * Copyright (C) 1998-2003, 2006, 2007, 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.
- *
- */
-#ifndef _WINDOWS_H
-#pragma GCC system_header
-#define _WINDOWS_H
-
-#ifdef RC_INVOKED
-/* winresrc.h includes the necessary headers */
-#include <winresrc.h>
-#else
-
-#include <stdarg.h>
-#include <windef.h>
-#include <wincon.h>
-#include <winbase.h>
-#if !(defined NOGDI || defined  _WINGDI_H)
-#include <wingdi.h>
-#endif
-#include <winuser.h>
-#include <winnls.h>
-#include <winver.h>
-#include <winnetwk.h>
-#include <winreg.h>
-#include <winsvc.h>
-
-#ifndef WIN32_LEAN_AND_MEAN
-#include <cderr.h>
-#include <dde.h>
-#include <ddeml.h>
-#include <dlgs.h>
-#include <imm.h>
-#include <lzexpand.h>
-#include <mmsystem.h>
-#include <nb30.h>
-#include <rpc.h>
-#include <shellapi.h>
-#include <winperf.h>
-#ifndef NOGDI
-#include <commdlg.h>
-#include <winspool.h>
-#endif
-#if defined(Win32_Winsock)
-#warning "The  Win32_Winsock macro name is deprecated.\
-    Please use __USE_W32_SOCKETS instead"
-#ifndef __USE_W32_SOCKETS
-#define __USE_W32_SOCKETS
-#endif
-#endif
-#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
-#if (_WIN32_WINNT >= 0x0400)
-#include <winsock2.h>
-/*
- * MS likes to include mswsock.h here as well,
- * but that can cause undefined symbols if
- * winsock2.h is included before windows.h
- */
-#else
-#include <winsock.h>
-#endif /*  (_WIN32_WINNT >= 0x0400) */
-#endif
-#ifndef NOGDI
-/* In older versions we disallowed COM declarations in __OBJC__
-   because of conflicts with @interface directive.  Define _OBJC_NO_COM
-   to keep this behaviour.  */
-#if !defined (_OBJC_NO_COM)
-#if (__GNUC__ >= 3) || defined (__WATCOMC__)
-#include <ole2.h>
-#endif
-#endif /* _OBJC_NO_COM */
-#endif
-
-#endif /* WIN32_LEAN_AND_MEAN */
-
-#endif /* RC_INVOKED */
-
-#ifdef __OBJC__
-/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
-   but undefining it causes trouble as well if a file is included after
-   windows.h
-*/
-#undef BOOL
-#endif
-
-#endif	/* _WINDOWS_H: $RCSfile: windows.h,v $: end of file */
Index: Daodan/MinGW/include/windowsx.h
===================================================================
--- Daodan/MinGW/include/windowsx.h	(revision 1046)
+++ 	(revision )
@@ -1,552 +1,0 @@
-#ifndef _WINDOWSX_H
-#define _WINDOWSX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#define WM_CTLCOLOR 25
-#define Button_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Button_GetCheck(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),BM_GETCHECK,0,0))
-#define Button_GetState(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),BM_GETSTATE,0,0))
-#define Button_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Button_SetCheck(hwndCtl,check) ((void)SNDMSG((hwndCtl),BM_SETCHECK,(WPARAM)(int)(check),0))
-#define Button_SetState(hwndCtl,state) ((UINT)(DWORD)SNDMSG((hwndCtl),BM_SETSTATE,(WPARAM)(int)(state),0))
-#define Button_SetStyle(hwndCtl,style,fRedraw) ((void)SNDMSG((hwndCtl),BM_SETSTYLE,(WPARAM)LOWORD(style),MAKELPARAM(((fRedraw) ? TRUE : FALSE),0)))
-#define Button_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define CheckDefDlgRecursion(pfRecursion) if (*(pfRecursion)) {*(pfRecursion) = FALSE; return FALSE; }
-#define ComboBox_AddItemData(hwndCtl,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_ADDSTRING,0,(LPARAM)(data)))
-#define ComboBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),CB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz)))
-#define ComboBox_DeleteString(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_DELETESTRING,(WPARAM)(int)(index),0))
-#define ComboBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SNDMSG((hwndCtl),CB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec)))
-#define ComboBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define ComboBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ComboBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ComboBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETCOUNT,0,0))
-#define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETCURSEL,0,0))
-#define ComboBox_GetDroppedControlRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),CB_GETDROPPEDCONTROLRECT,0,(LPARAM)(RECT*)(lprc)))
-#define ComboBox_GetDroppedState(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),CB_GETDROPPEDSTATE,0,0))
-#define ComboBox_GetEditSel(hwndCtl) ((DWORD)SNDMSG((hwndCtl),CB_GETEDITSEL,0,0))
-#define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SNDMSG((hwndCtl),CB_GETEXTENDEDUI,0,0))
-#define ComboBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SNDMSG((hwndCtl),CB_GETITEMDATA,(WPARAM)(int)(index),0))
-#define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETITEMHEIGHT,0,0))
-#define ComboBox_GetLBText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETLBTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer)))
-#define ComboBox_GetLBTextLen(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETLBTEXTLEN,(WPARAM)(int)(index),0))
-#define ComboBox_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define ComboBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ComboBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz)))
-#define ComboBox_LimitText(hwndCtl,cchLimit) ((int)(DWORD)SNDMSG((hwndCtl),CB_LIMITTEXT,(WPARAM)(int)(cchLimit),0))
-#define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_RESETCONTENT,0,0))
-#define ComboBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ComboBox_SelectString(hwndCtl,indexStart,lpszSelect) ((int)(DWORD)SNDMSG((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszSelect)))
-#define ComboBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETCURSEL,(WPARAM)(int)(index),0))
-#define ComboBox_SetEditSel(hwndCtl,ichStart,ichEnd) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETEDITSEL,0,MAKELPARAM((ichStart),(ichEnd))))
-#define ComboBox_SetExtendedUI(hwndCtl,flags) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETEXTENDEDUI,(WPARAM)(UINT)(flags),0))
-#define ComboBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ComboBox_SetItemHeight(hwndCtl,index,cyItem) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETITEMHEIGHT,(WPARAM)(int)(index),(LPARAM)(int)cyItem))
-#define ComboBox_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define ComboBox_ShowDropdown(hwndCtl,fShow) ((BOOL)(DWORD)SNDMSG((hwndCtl),CB_SHOWDROPDOWN,(WPARAM)(BOOL)(fShow),0))
-#define CopyRgn(hrgnDst,hrgnSrc) CombineRgn(hrgnDst,hrgnSrc,0,RGN_COPY)
-#define DECLARE_HANDLE32 DECLARE_HANDLE
-#define DefDlgProcEx(hwnd,msg,wParam,lParam,pfRecursion) (*(pfRecursion) = TRUE,DefDlgProc(hwnd,msg,wParam,lParam))
-#define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm))
-#define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr))
-#define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont))
-#define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal))
-#define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen))
-#define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn))
-#define Edit_CanUndo(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_CANUNDO,0,0))
-#define Edit_EmptyUndoBuffer(hwndCtl) ((void)SNDMSG((hwndCtl),EM_EMPTYUNDOBUFFER,0,0))
-#define Edit_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Edit_FmtLines(hwndCtl,fAddEOL) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_FMTLINES,(WPARAM)(BOOL)(fAddEOL),0))
-#define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),EM_GETFIRSTVISIBLELINE,0,0))
-#define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT)(DWORD)SNDMSG((hwndCtl),EM_GETHANDLE,0,0))
-#define Edit_GetLine(hwndCtl,line,lpch,cchMax) ((*((int*)(lpch)) = (cchMax)),((int)(DWORD)SNDMSG((hwndCtl),EM_GETLINE,(WPARAM)(int)(line),(LPARAM)(LPTSTR)(lpch))))
-#define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),EM_GETLINECOUNT,0,0))
-#define Edit_GetModify(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_GETMODIFY,0,0))
-#define Edit_GetPasswordChar(hwndCtl) ((TCHAR)(DWORD)SNDMSG((hwndCtl),EM_GETPASSWORDCHAR,0,0))
-#define Edit_GetRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_GETRECT,0,(LPARAM)(RECT*)(lprc)))
-#define Edit_GetSel(hwndCtl) ((DWORD)SNDMSG((hwndCtl),EM_GETSEL,0,0))
-#define Edit_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SNDMSG((hwndCtl),EM_GETWORDBREAKPROC,0,0))
-#define Edit_LimitText(hwndCtl,cchMax) ((void)SNDMSG((hwndCtl),EM_LIMITTEXT,(WPARAM)(cchMax),0))
-#define Edit_LineFromChar(hwndCtl,ich) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINEFROMCHAR,(WPARAM)(int)(ich),0))
-#define Edit_LineIndex(hwndCtl,line) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINEINDEX,(WPARAM)(int)(line),0))
-#define Edit_LineLength(hwndCtl,line) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINELENGTH,(WPARAM)(int)(line),0))
-#define Edit_ReplaceSel(hwndCtl,lpszReplace) ((void)SNDMSG((hwndCtl),EM_REPLACESEL,0,(LPARAM)(LPCTSTR)(lpszReplace)))
-#define Edit_Scroll(hwndCtl,dv,dh) ((void)SNDMSG((hwndCtl),EM_LINESCROLL,(WPARAM)(dh),(LPARAM)(dv)))
-#define Edit_ScrollCaret(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_SCROLLCARET,0,0))
-#define Edit_SetHandle(hwndCtl,h) ((void)SNDMSG((hwndCtl),EM_SETHANDLE,(WPARAM)(UINT)(HLOCAL)(h),0))
-#define Edit_SetModify(hwndCtl,fModified) ((void)SNDMSG((hwndCtl),EM_SETMODIFY,(WPARAM)(UINT)(fModified),0))
-#define Edit_SetPasswordChar(hwndCtl,ch) ((void)SNDMSG((hwndCtl),EM_SETPASSWORDCHAR,(WPARAM)(UINT)(ch),0))
-#define Edit_SetReadOnly(hwndCtl,fReadOnly) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_SETREADONLY,(WPARAM)(BOOL)(fReadOnly),0))
-#define Edit_SetRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_SETRECT,0,(LPARAM)(const RECT*)(lprc)))
-#define Edit_SetRectNoPaint(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_SETRECTNP,0,(LPARAM)(const RECT*)(lprc)))
-#define Edit_SetSel(hwndCtl,ichStart,ichEnd) ((void)SNDMSG((hwndCtl),EM_SETSEL,(ichStart),(ichEnd)))
-#define Edit_SetTabStops(hwndCtl,cTabs,lpTabs) ((void)SNDMSG((hwndCtl),EM_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(const int*)(lpTabs)))
-#define Edit_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define Edit_SetWordBreakProc(hwndCtl,lpfnWordBreak) ((void)SNDMSG((hwndCtl),EM_SETWORDBREAKPROC,0,(LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak)))
-#define Edit_Undo(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),EM_UNDO,0,0))
-#define FORWARD_WM_ACTIVATE(hwnd,state,hwndActDeact,fMinimized,fn) (void)(fn)((hwnd),WM_ACTIVATE,MAKEWPARAM((state),(fMinimized)),(LPARAM)(HWND)(hwndActDeact))
-#define FORWARD_WM_ACTIVATEAPP(hwnd,fActivate,dwThreadId,fn) (void)(fn)((hwnd),WM_ACTIVATEAPP,(WPARAM)(BOOL)(fActivate),(LPARAM)(dwThreadId))
-#define FORWARD_WM_ASKCBFORMATNAME(hwnd,cchMax,rgchName,fn) (void)(fn)((hwnd),WM_ASKCBFORMATNAME,(WPARAM)(int)(cchMax),(LPARAM)(rgchName))
-#define FORWARD_WM_CANCELMODE(hwnd,fn) (void)(fn)((hwnd),WM_CANCELMODE,0,0)
-#define FORWARD_WM_CHANGECBCHAIN(hwnd,hwndRemove,hwndNext,fn) (void)(fn)((hwnd),WM_CHANGECBCHAIN,(WPARAM)(HWND)(hwndRemove),(LPARAM)(HWND)(hwndNext))
-#define FORWARD_WM_CHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_CHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_CHARTOITEM(hwnd,ch,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_CHARTOITEM,MAKEWPARAM((UINT)(iCaret),(UINT)(ch)),(LPARAM)(hwndListBox))
-#define FORWARD_WM_CHILDACTIVATE(hwnd,fn) (void)(fn)((hwnd),WM_CHILDACTIVATE,0,0)
-#define FORWARD_WM_CLEAR(hwnd,fn) (void)(fn)((hwnd),WM_CLEAR,0,0)
-#define FORWARD_WM_CLOSE(hwnd,fn) (void)(fn)((hwnd),WM_CLOSE,0,0)
-#define FORWARD_WM_COMMAND(hwnd,id,hwndCtl,codeNotify,fn) (void)(fn)((hwnd),WM_COMMAND,MAKEWPARAM((UINT)(id),(UINT)(codeNotify)),(LPARAM)(HWND)(hwndCtl))
-#define FORWARD_WM_COMMNOTIFY(hwnd,cid,flags,fn) (void)(fn)((hwnd),WM_COMMNOTIFY,(WPARAM)(cid),MAKELPARAM((flags),0))
-#define FORWARD_WM_COMPACTING(hwnd,compactRatio,fn) (void)(fn)((hwnd),WM_COMPACTING,(WPARAM)(UINT)(compactRatio),0)
-#define FORWARD_WM_COMPAREITEM(hwnd,lpCompareItem,fn) (int)(DWORD)(fn)((hwnd),WM_COMPAREITEM,(WPARAM)(((const COMPAREITEMSTRUCT*)(lpCompareItem))->CtlID),(LPARAM)(const COMPAREITEMSTRUCT*)(lpCompareItem))
-#define FORWARD_WM_COPY(hwnd,fn) (void)(fn)((hwnd),WM_COPY,0,0)
-#define FORWARD_WM_CREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_CREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
-#define FORWARD_WM_CTLCOLORBTN(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORBTN,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORDLG(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORDLG,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLOREDIT(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLOREDIT,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORLISTBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORLISTBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORMSGBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORMSGBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSCROLLBAR,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORSTATIC(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSTATIC,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CUT(hwnd,fn) (void)(fn)((hwnd),WM_CUT,0,0)
-#define FORWARD_WM_DEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_DEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_DELETEITEM(hwnd,lpDeleteItem,fn) (void)(fn)((hwnd),WM_DELETEITEM,(WPARAM)(((const DELETEITEMSTRUCT*)(lpDeleteItem))->CtlID),(LPARAM)(const DELETEITEMSTRUCT*)(lpDeleteItem))
-#define FORWARD_WM_DESTROY(hwnd,fn) (void)(fn)((hwnd),WM_DESTROY,0,0)
-#define FORWARD_WM_DESTROYCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DESTROYCLIPBOARD,0,0)
-#define FORWARD_WM_DEVMODECHANGE(hwnd,lpszDeviceName,fn) (void)(fn)((hwnd),WM_DEVMODECHANGE,0,(LPARAM)(LPCTSTR)(lpszDeviceName))
-#define FORWARD_WM_DRAWCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DRAWCLIPBOARD,0,0)
-#define FORWARD_WM_DRAWITEM(hwnd,lpDrawItem,fn) (void)(fn)((hwnd),WM_DRAWITEM,(WPARAM)(((const DRAWITEMSTRUCT*)lpDrawItem)->CtlID),(LPARAM)(const DRAWITEMSTRUCT*)(lpDrawItem))
-#define FORWARD_WM_DROPFILES(hwnd,hdrop,fn) (void)(fn)((hwnd),WM_DROPFILES,(WPARAM)(HDROP)(hdrop),0)
-#define FORWARD_WM_ENABLE(hwnd,fEnable,fn) (void)(fn)((hwnd),WM_ENABLE,(WPARAM)(BOOL)(fEnable),0)
-#define FORWARD_WM_ENDSESSION(hwnd,fEnding,fn) (void)(fn)((hwnd),WM_ENDSESSION,(WPARAM)(BOOL)(fEnding),0)
-#define FORWARD_WM_ENTERIDLE(hwnd,source,hwndSource,fn) (void)(fn)((hwnd),WM_ENTERIDLE,(WPARAM)(UINT)(source),(LPARAM)(HWND)(hwndSource))
-#define FORWARD_WM_ERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ERASEBKGND,(WPARAM)(HDC)(hdc),0)
-#define FORWARD_WM_FONTCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_FONTCHANGE,0,0)
-#define FORWARD_WM_GETDLGCODE(hwnd,lpmsg,fn) (UINT)(DWORD)(fn)((hwnd),WM_GETDLGCODE,(lpmsg ? lpmsg->wParam : 0),(LPARAM)(LPMSG)(lpmsg))
-#define FORWARD_WM_GETFONT(hwnd,fn) (HFONT)(UINT)(DWORD)(fn)((hwnd),WM_GETFONT,0,0)
-#define FORWARD_WM_GETMINMAXINFO(hwnd,lpMinMaxInfo,fn) (void)(fn)((hwnd),WM_GETMINMAXINFO,0,(LPARAM)(LPMINMAXINFO)(lpMinMaxInfo))
-#define FORWARD_WM_GETTEXT(hwnd,cchTextMax,lpszText,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXT,(WPARAM)(int)(cchTextMax),(LPARAM)(LPTSTR)(lpszText))
-#define FORWARD_WM_GETTEXTLENGTH(hwnd,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXTLENGTH,0,0)
-#define FORWARD_WM_HSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(UINT)(hwndCtl))
-#define FORWARD_WM_HSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos)))
-#define FORWARD_WM_ICONERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ICONERASEBKGND,(WPARAM)(HDC)(hdc),0)
-#define FORWARD_WM_INITDIALOG(hwnd,hwndFocus,lParam,fn) (BOOL)(DWORD)(fn)((hwnd),WM_INITDIALOG,(WPARAM)(HWND)(hwndFocus),(lParam))
-#define FORWARD_WM_INITMENU(hwnd,hMenu,fn) (void)(fn)((hwnd),WM_INITMENU,(WPARAM)(HMENU)(hMenu),0)
-#define FORWARD_WM_INITMENUPOPUP(hwnd,hMenu,item,fSystemMenu,fn) (void)(fn)((hwnd),WM_INITMENUPOPUP,(WPARAM)(HMENU)(hMenu),MAKELPARAM((item),(fSystemMenu)))
-#define FORWARD_WM_KEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_KEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_KILLFOCUS(hwnd,hwndNewFocus,fn) (void)(fn)((hwnd),WM_KILLFOCUS,(WPARAM)(HWND)(hwndNewFocus),0)
-#define FORWARD_WM_LBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_LBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_LBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MDIACTIVATE(hwnd,fActive,hwndActivate,hwndDeactivate,fn) (void)(fn)(hwnd,WM_MDIACTIVATE,(WPARAM)(hwndDeactivate),(LPARAM)(hwndActivate))
-#define FORWARD_WM_MDICASCADE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDICASCADE,(WPARAM)(cmd),0)
-#define FORWARD_WM_MDICREATE(hwnd,lpmcs,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)(lpmcs))
-#define FORWARD_WM_MDIDESTROY(hwnd,hwndDestroy,fn) (void)(fn)((hwnd),WM_MDIDESTROY,(WPARAM)(hwndDestroy),0)
-#define FORWARD_WM_MDIGETACTIVE(hwnd,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDIGETACTIVE,0,0)
-#define FORWARD_WM_MDIICONARRANGE(hwnd,fn) (void)(fn)((hwnd),WM_MDIICONARRANGE,0,0)
-#define FORWARD_WM_MDIMAXIMIZE(hwnd,hwndMaximize,fn) (void)(fn)((hwnd),WM_MDIMAXIMIZE,(WPARAM)(hwndMaximize),0)
-#define FORWARD_WM_MDINEXT(hwnd,hwndCur,fPrev,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDINEXT,(WPARAM)(hwndCur),(LPARAM)(fPrev))
-#define FORWARD_WM_MDIRESTORE(hwnd,hwndRestore,fn) (void)(fn)((hwnd),WM_MDIRESTORE,(WPARAM)(hwndRestore),0)
-#define FORWARD_WM_MDISETMENU(hwnd,fRefresh,hmenuFrame,hmenuWindow,fn) (HMENU)(UINT)(DWORD)(fn)((hwnd),WM_MDISETMENU,(WPARAM)((fRefresh) ? (hmenuFrame) : 0),(LPARAM)(hmenuWindow))
-#define FORWARD_WM_MDITILE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDITILE,(WPARAM)(cmd),0)
-#define FORWARD_WM_MEASUREITEM(hwnd,lpMeasureItem,fn) (void)(fn)((hwnd),WM_MEASUREITEM,(WPARAM)(((MEASUREITEMSTRUCT*)lpMeasureItem)->CtlID),(LPARAM)(MEASUREITEMSTRUCT*)(lpMeasureItem))
-#define FORWARD_WM_MENUCHAR(hwnd,ch,flags,hmenu,fn) (DWORD)(fn)((hwnd),WM_MENUCHAR,MAKEWPARAM(flags,(WORD)(ch)),(LPARAM)(HMENU)(hmenu))
-#define FORWARD_WM_MENUSELECT(hwnd,hmenu,item,hmenuPopup,flags,fn) (void)(fn)((hwnd),WM_MENUSELECT,MAKEWPARAM((item),(flags)),(LPARAM)(HMENU)((hmenu) ? (hmenu) : (hmenuPopup)))
-#define FORWARD_WM_MOUSEACTIVATE(hwnd,hwndTopLevel,codeHitTest,msg,fn) (int)(DWORD)(fn)((hwnd),WM_MOUSEACTIVATE,(WPARAM)(HWND)(hwndTopLevel),MAKELPARAM((codeHitTest),(msg)))
-#define FORWARD_WM_MOUSEMOVE(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MOUSEMOVE,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MOVE(hwnd,x,y,fn) (void)(fn)((hwnd),WM_MOVE,0,MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCACTIVATE(hwnd,fActive,hwndActDeact,fMinimized,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCACTIVATE,(WPARAM)(BOOL)(fActive),0)
-#define FORWARD_WM_NCCALCSIZE(hwnd,fCalcValidRects,lpcsp,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCCALCSIZE,0,(LPARAM)(NCCALCSIZE_PARAMS*)(lpcsp))
-#define FORWARD_WM_NCCREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCCREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
-#define FORWARD_WM_NCDESTROY(hwnd,fn) (void)(fn)((hwnd),WM_NCDESTROY,0,0)
-#define FORWARD_WM_NCHITTEST(hwnd,x,y,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCHITTEST,0,MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCLBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCLBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCLBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCMBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCMBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCMOUSEMOVE(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMOUSEMOVE,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCPAINT(hwnd,hrgn,fn) (void)(fn)((hwnd),WM_NCPAINT,(WPARAM)(HRGN)(hrgn),0)
-#define FORWARD_WM_NCRBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCRBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCRBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NEXTDLGCTL(hwnd,hwndSetFocus,fNext,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_NEXTDLGCTL,(WPARAM)(HWND)(hwndSetFocus),(LPARAM)(fNext))
-#define FORWARD_WM_PAINT(hwnd,fn) (void)(fn)((hwnd),WM_PAINT,0,0)
-#define FORWARD_WM_PAINTCLIPBOARD(hwnd,hwndCBViewer,lpPaintStruct,fn) (void)(fn)((hwnd),WM_PAINTCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPPAINTSTRUCT)(lpPaintStruct))
-#define FORWARD_WM_PALETTECHANGED(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTECHANGED,(WPARAM)(HWND)(hwndPaletteChange),0)
-#define FORWARD_WM_PALETTEISCHANGING(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTEISCHANGING,(WPARAM)(HWND)(hwndPaletteChange),0)
-#define FORWARD_WM_PARENTNOTIFY(hwnd,msg,hwndChild,idChild,fn) (void)(fn)((hwnd),WM_PARENTNOTIFY,MAKEWPARAM(msg,idChild),(LPARAM)(hwndChild))
-#define FORWARD_WM_PASTE(hwnd,fn) (void)(fn)((hwnd),WM_PASTE,0,0)
-#define FORWARD_WM_POWER(hwnd,code,fn) (void)(fn)((hwnd),WM_POWER,(WPARAM)(int)(code),0)
-#define FORWARD_WM_QUERYDRAGICON(hwnd,fn) (HICON)(UINT)(DWORD)(fn)((hwnd),WM_QUERYDRAGICON,0,0)
-#define FORWARD_WM_QUERYENDSESSION(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYENDSESSION,0,0)
-#define FORWARD_WM_QUERYNEWPALETTE(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYNEWPALETTE,0,0)
-#define FORWARD_WM_QUERYOPEN(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYOPEN,0,0)
-#define FORWARD_WM_QUEUESYNC(hwnd,fn) (void)(fn)((hwnd),WM_QUEUESYNC,0,0)
-#define FORWARD_WM_QUIT(hwnd,exitCode,fn) (void)(fn)((hwnd),WM_QUIT,(WPARAM)(exitCode),0)
-#define FORWARD_WM_RBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_RBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_RBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_RENDERALLFORMATS(hwnd,fn) (void)(fn)((hwnd),WM_RENDERALLFORMATS,0,0)
-#define FORWARD_WM_RENDERFORMAT(hwnd,fmt,fn) (HANDLE)(UINT)(DWORD)(fn)((hwnd),WM_RENDERFORMAT,(WPARAM)(UINT)(fmt),0)
-#define FORWARD_WM_SETCURSOR(hwnd,hwndCursor,codeHitTest,msg,fn) (BOOL)(DWORD)(fn)((hwnd),WM_SETCURSOR,(WPARAM)(HWND)(hwndCursor),MAKELPARAM((codeHitTest),(msg)))
-#define FORWARD_WM_SETFOCUS(hwnd,hwndOldFocus,fn) (void)(fn)((hwnd),WM_SETFOCUS,(WPARAM)(HWND)(hwndOldFocus),0)
-#define FORWARD_WM_SETFONT(hwnd,hfont,fRedraw,fn) (void)(fn)((hwnd),WM_SETFONT,(WPARAM)(HFONT)(hfont),(LPARAM)(BOOL)(fRedraw))
-#define FORWARD_WM_SETREDRAW(hwnd,fRedraw,fn) (void)(fn)((hwnd),WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0)
-#define FORWARD_WM_SETTEXT(hwnd,lpszText,fn) (void)(fn)((hwnd),WM_SETTEXT,0,(LPARAM)(LPCTSTR)(lpszText))
-#define FORWARD_WM_SHOWWINDOW(hwnd,fShow,status,fn) (void)(fn)((hwnd),WM_SHOWWINDOW,(WPARAM)(BOOL)(fShow),(LPARAM)(UINT)(status))
-#define FORWARD_WM_SIZE(hwnd,state,cx,cy,fn) (void)(fn)((hwnd),WM_SIZE,(WPARAM)(UINT)(state),MAKELPARAM((cx),(cy)))
-#define FORWARD_WM_SIZECLIPBOARD(hwnd,hwndCBViewer,lprc,fn) (void)(fn)((hwnd),WM_SIZECLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPRECT)(lprc))
-#define FORWARD_WM_SPOOLERSTATUS(hwnd,status,cJobInQueue,fn) (void)(fn)((hwnd),WM_SPOOLERSTATUS,(WPARAM)(status),MAKELPARAM((cJobInQueue),0))
-#define FORWARD_WM_SYSCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_SYSCOLORCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_SYSCOLORCHANGE,0,0)
-#define FORWARD_WM_SYSCOMMAND(hwnd,cmd,x,y,fn) (void)(fn)((hwnd),WM_SYSCOMMAND,(WPARAM)(UINT)(cmd),MAKELPARAM((x),(y)))
-#define FORWARD_WM_SYSDEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSDEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_SYSKEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_SYSKEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_SYSTEMERROR(hwnd,errCode,fn) 0
-#define FORWARD_WM_TIMECHANGE(hwnd,fn) (void)(fn)((hwnd),WM_TIMECHANGE,0,0)
-#define FORWARD_WM_TIMER(hwnd,id,fn) (void)(fn)((hwnd),WM_TIMER,(WPARAM)(UINT)(id),0)
-#define FORWARD_WM_UNDO(hwnd,fn) (void)(fn)((hwnd),WM_UNDO,0,0)
-#define FORWARD_WM_VKEYTOITEM(hwnd,vk,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_VKEYTOITEM,MAKEWPARAM((vk),(iCaret)),(LPARAM)(hwndListBox))
-#define FORWARD_WM_VSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(HWND)(hwndCtl))
-#define FORWARD_WM_VSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos)))
-#define FORWARD_WM_WINDOWPOSCHANGED(hwnd,lpwpos,fn) (void)(fn)((hwnd),WM_WINDOWPOSCHANGED,0,(LPARAM)(const LPWINDOWPOS)(lpwpos))
-#define FORWARD_WM_WINDOWPOSCHANGING(hwnd,lpwpos,fn) (BOOL)(DWORD)(fn)((hwnd),WM_WINDOWPOSCHANGING,0,(LPARAM)(LPWINDOWPOS)(lpwpos))
-#define FORWARD_WM_WININICHANGE(hwnd,lpszSectionName,fn) (void)(fn)((hwnd),WM_WININICHANGE,0,(LPARAM)(LPCTSTR)(lpszSectionName))
-#define GET_EM_LINESCROLL_MPS(vert,horz) (WPARAM)horz,(LONG)vert
-#define GET_EM_SETSEL_END(wp,lp) (lp)
-#define GET_EM_SETSEL_MPS(iStart,iEnd) (WPARAM)(iStart),(LONG)(iEnd)
-#define GET_EM_SETSEL_START(wp,lp) (INT)(wp)
-#define GET_LPARAM(wp,lp) (lp)
-#define GET_WM_ACTIVATE_FMINIMIZED(wp,lp) (BOOL)HIWORD(wp)
-#define GET_WM_ACTIVATE_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_ACTIVATE_MPS(s,fmin,hwnd) (WPARAM)MAKELONG((s),(fmin)),(LONG)(hwnd)
-#define GET_WM_ACTIVATE_STATE(wp,lp) LOWORD(wp)
-#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp,lp) (HWND)(lp)
-#define GET_WM_CHARTOITEM_CHAR(wp,lp) (TCHAR)LOWORD(wp)
-#define GET_WM_CHARTOITEM_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_CHARTOITEM_MPS(ch,pos,hwnd) (WPARAM)MAKELONG((pos),(ch)),(LONG)(hwnd)
-#define GET_WM_CHARTOITEM_POS(wp,lp) HIWORD(wp)
-#define GET_WM_COMMAND_CMD(wp,lp) HIWORD(wp)
-#define GET_WM_COMMAND_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_COMMAND_ID(wp,lp) LOWORD(wp)
-#define GET_WM_COMMAND_MPS(id,hwnd,cmd) (WPARAM)MAKELONG(id,cmd),(LONG)(hwnd)
-#define GET_WM_CTLCOLOR_HDC(wp,lp,msg) (HDC)(wp)
-#define GET_WM_CTLCOLOR_HWND(wp,lp,msg) (HWND)(lp)
-#define GET_WM_CTLCOLOR_MPS(hdc,hwnd,type) (WPARAM)(hdc),(LONG)(hwnd)
-#define GET_WM_CTLCOLOR_MSG(type) (WORD)(WM_CTLCOLORMSGBOX+(type))
-#define GET_WM_CTLCOLOR_TYPE(wp,lp,msg) (WORD)(msg - WM_CTLCOLORMSGBOX)
-#define GET_WM_HSCROLL_CODE(wp,lp) LOWORD(wp)
-#define GET_WM_HSCROLL_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_HSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd)
-#define GET_WM_HSCROLL_POS(wp,lp) HIWORD(wp)
-#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd,wp,lp) (lp == (LONG)hwnd)
-#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp,lp) (HWND)(lp)
-#define GET_WM_MDIACTIVATE_HWNDDEACT(wp,lp) (HWND)(wp)
-#define GET_WM_MDIACTIVATE_MPS(f,hwndD,hwndA) (WPARAM)(hwndA),0
-#define GET_WM_MDISETMENU_MPS(hmenuF,hmenuW) (WPARAM)hmenuF,(LONG)hmenuW
-#define GET_WM_MENUCHAR_CHAR(wp,lp) (TCHAR)LOWORD(wp)
-#define GET_WM_MENUCHAR_FMENU(wp,lp) (BOOL)HIWORD(wp)
-#define GET_WM_MENUCHAR_HMENU(wp,lp) (HMENU)(lp)
-#define GET_WM_MENUCHAR_MPS(ch,hmenu,f) (WPARAM)MAKELONG(ch,f),(LONG)(hmenu)
-#define GET_WM_MENUSELECT_CMD(wp,lp) LOWORD(wp)
-#define GET_WM_MENUSELECT_FLAGS(wp,lp) (UINT)(int)(short)HIWORD(wp)
-#define GET_WM_MENUSELECT_HMENU(wp,lp) (HMENU)(lp)
-#define GET_WM_MENUSELECT_MPS(cmd,f,hmenu) (WPARAM)MAKELONG(cmd,f),(LONG)(hmenu)
-#define GET_WM_PARENTNOTIFY2_MPS(msg,x,y) (WPARAM)MAKELONG(0,msg),MAKELONG(x,y)
-#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp,lp) (HWND)(lp)
-#define GET_WM_PARENTNOTIFY_ID(wp,lp) HIWORD(wp)
-#define GET_WM_PARENTNOTIFY_MPS(msg,id,hwnd) (WPARAM)MAKELONG(id,msg),(LONG)(hwnd)
-#define GET_WM_PARENTNOTIFY_MSG(wp,lp) LOWORD(wp)
-#define GET_WM_PARENTNOTIFY_X(wp,lp) (int)(short)LOWORD(lp)
-#define GET_WM_PARENTNOTIFY_Y(wp,lp) (int)(short)HIWORD(lp)
-#define GET_WM_VKEYTOITEM_CODE(wp,lp) (int)(short)LOWORD(wp)
-#define GET_WM_VKEYTOITEM_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_VKEYTOITEM_ITEM(wp,lp) HIWORD(wp)
-#define GET_WM_VKEYTOITEM_MPS(code,item,hwnd) (WPARAM)MAKELONG(item,code),(LONG)(hwnd)
-#define GET_WM_VSCROLL_CODE(wp,lp) LOWORD(wp)
-#define GET_WM_VSCROLL_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_VSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd)
-#define GET_WM_VSCROLL_POS(wp,lp) HIWORD(wp)
-#define GET_WPARAM(wp,lp) (wp)
-#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
-#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
-#define GetFirstChild(hwnd) GetTopWindow(hwnd)
-#define GetFirstSibling(hwnd) GetWindow(hwnd,GW_HWNDFIRST)
-#define GetInstanceModule(hInstance) (HMODULE)(hInstance)
-#define GetLastSibling(hwnd) GetWindow(hwnd,GW_HWNDLAST)
-#define GetNextSibling(hwnd) GetWindow(hwnd,GW_HWNDNEXT)
-#define GetPrevSibling(hwnd) GetWindow(hwnd,GW_HWNDPREV)
-#define GetStockBrush(i) ((HBRUSH)GetStockObject(i))
-#define GetStockFont(i) ((HFONT)GetStockObject(i))
-#define GetStockPen(i) ((HPEN)GetStockObject(i))
-#define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_EXSTYLE))
-#define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd),SNDMSG)
-#define GetWindowID(hwnd) GetDlgCtrlID(hwnd)
-#define GetWindowInstance(hwnd) ((HMODULE)GetWindowLong(hwnd,GWL_HINSTANCE))
-#define GetWindowOwner(hwnd) GetWindow(hwnd,GW_OWNER)
-#define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_STYLE))
-#define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb))))
-#define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(BOOL)GlobalFree(GlobalPtrHandle(lp)))
-#define GlobalLockPtr(lp) ((BOOL)GlobalLock(GlobalPtrHandle(lp)))
-#define GlobalPtrHandle(lp) ((HGLOBAL)GlobalHandle(lp))
-#define GlobalReAllocPtr(lp,cbNew,flags) (GlobalUnlockPtr(lp),GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) ,(cbNew),(flags))))
-#define GlobalUnlockPtr(lp) GlobalUnlock(GlobalPtrHandle(lp))
-#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn))
-#define HANDLE_WM_ACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(BOOL)HIWORD(wParam)),0)
-#define HANDLE_WM_ACTIVATEAPP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(DWORD)(lParam)),0)
-#define HANDLE_WM_ASKCBFORMATNAME(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)),0)
-#define HANDLE_WM_CANCELMODE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CHANGECBCHAIN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(HWND)(lParam)),0)
-#define HANDLE_WM_CHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_CHARTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam))
-#define HANDLE_WM_CHILDACTIVATE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CLEAR(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_COMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(LOWORD(wParam)),(HWND)(lParam),(UINT)HIWORD(wParam)),0)
-#define HANDLE_WM_COMMNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(UINT)LOWORD(lParam)),0)
-#define HANDLE_WM_COMPACTING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0)
-#define HANDLE_WM_COMPAREITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(const COMPAREITEMSTRUCT*)(lParam))
-#define HANDLE_WM_COPY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CREATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCREATESTRUCT)(lParam)) ? 0 : (LRESULT)-1L)
-#define HANDLE_WM_CTLCOLORBTN(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_BTN)
-#define HANDLE_WM_CTLCOLORDLG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_DLG)
-#define HANDLE_WM_CTLCOLOREDIT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_EDIT)
-#define HANDLE_WM_CTLCOLORLISTBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_LISTBOX)
-#define HANDLE_WM_CTLCOLORMSGBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_MSGBOX)
-#define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_SCROLLBAR)
-#define HANDLE_WM_CTLCOLORSTATIC(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_STATIC)
-#define HANDLE_WM_CUT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_DELETEITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DELETEITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_DESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DESTROYCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DEVMODECHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define HANDLE_WM_DRAWCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DRAWITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DRAWITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_DROPFILES(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HDROP)(wParam)),0)
-#define HANDLE_WM_ENABLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_ENDSESSION(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_ENTERIDLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)(lParam)),0)
-#define HANDLE_WM_ERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam))
-#define HANDLE_WM_FONTCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_GETDLGCODE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd,(LPMSG)(lParam))
-#define HANDLE_WM_GETFONT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd)
-#define HANDLE_WM_GETMINMAXINFO(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPMINMAXINFO)(lParam)),0)
-#define HANDLE_WM_GETTEXT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(int)(wParam),(LPTSTR)(lParam))
-#define HANDLE_WM_GETTEXTLENGTH(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)(hwnd)
-#define HANDLE_WM_HSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0)
-#define HANDLE_WM_HSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_ICONERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam))
-#define HANDLE_WM_INITDIALOG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(BOOL)(fn)((hwnd),(HWND)(wParam),lParam)
-#define HANDLE_WM_INITMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam)),0)
-#define HANDLE_WM_INITMENUPOPUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam),(UINT)LOWORD(lParam),(BOOL)HIWORD(lParam)),0)
-#define HANDLE_WM_KEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_KEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_KILLFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_LBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_LBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_LBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MDIACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(lParam == (LPARAM)hwnd),(HWND)(lParam),(HWND)(wParam)),0)
-#define HANDLE_WM_MDICASCADE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_MDICREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(LPMDICREATESTRUCT)(lParam))
-#define HANDLE_WM_MDIDESTROY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDIGETACTIVE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd)
-#define HANDLE_WM_MDIICONARRANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_MDIMAXIMIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDINEXT(hwnd,wParam,lParam,fn) (LRESULT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)lParam)
-#define HANDLE_WM_MDIRESTORE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDISETMENU(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(wParam),(HMENU)(wParam),(HMENU)(lParam))
-#define HANDLE_WM_MDITILE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_MEASUREITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MEASUREITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_MENUCHAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(LOWORD(wParam)),(UINT)HIWORD(wParam),(HMENU)(lParam))
-#define HANDLE_WM_MENUSELECT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(lParam),(int)(LOWORD(wParam)),(HIWORD(wParam) & MF_POPUP) ? GetSubMenu((HMENU)lParam,LOWORD(wParam)) : 0,(UINT)(((short)HIWORD(wParam) == -1) ? 0xFFFFFFFF : HIWORD(wParam))),0)
-#define HANDLE_WM_MOUSEACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam))
-#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_NCACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(BOOL)(wParam),0,0)
-#define HANDLE_WM_NCCALCSIZE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(0),(NCCALCSIZE_PARAMS*)(lParam))
-#define HANDLE_WM_NCCREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPCREATESTRUCT)(lParam))
-#define HANDLE_WM_NCDESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_NCHITTEST(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam))
-#define HANDLE_WM_NCLBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCLBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCLBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCPAINT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HRGN)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NEXTDLGCTL(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)(lParam))
-#define HANDLE_WM_PAINT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_PAINTCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPPAINTSTRUCT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0)
-#define HANDLE_WM_PALETTECHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_PALETTEISCHANGING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_PARENTNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(UINT)HIWORD(wParam)),0)
-#define HANDLE_WM_PASTE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_POWER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0)
-#define HANDLE_WM_QUERYDRAGICON(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd)
-#define HANDLE_WM_QUERYENDSESSION(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUERYNEWPALETTE(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUERYOPEN(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUEUESYNC(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_QUIT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0)
-#define HANDLE_WM_RBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RENDERALLFORMATS(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_RENDERFORMAT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_SETCURSOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam))
-#define HANDLE_WM_SETFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_SETFONT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HFONT)(wParam),(BOOL)(lParam)),0)
-#define HANDLE_WM_SETREDRAW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_SETTEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define HANDLE_WM_SHOWWINDOW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(UINT)(lParam)),0)
-#define HANDLE_WM_SIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_SIZECLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPRECT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0)
-#define HANDLE_WM_SPOOLERSTATUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSCOLORCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_SYSCOMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSDEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSKEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSKEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSTEMERROR(hwnd,wParam,lParam,fn) 0
-#define HANDLE_WM_TIMECHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_TIMER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0)
-#define HANDLE_WM_UNDO(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_VKEYTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam))
-#define HANDLE_WM_VSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0)
-#define HANDLE_WM_VSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_WINDOWPOSCHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const LPWINDOWPOS)(lParam)),0)
-#define HANDLE_WM_WINDOWPOSCHANGING(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPWINDOWPOS)(lParam))
-#define HANDLE_WM_WININICHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define InsetRect(lprc,dx,dy) InflateRect((lprc),-(dx),-(dy))
-#define IntersectRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_AND)
-#define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0)
-#define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0)
-#define IsMaximized(hwnd) IsZoomed(hwnd)
-#define IsMinimized(hwnd) IsIconic(hwnd)
-#define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0)
-#define IsRestored(hwnd) ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE)) == 0)
-#define ListBox_AddItemData(hwndCtl,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_ADDSTRING,0,(LPARAM)(data)))
-#define ListBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),LB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz)))
-#define ListBox_DeleteString(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_DELETESTRING,(WPARAM)(int)(index),0))
-#define ListBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SNDMSG((hwndCtl),LB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec)))
-#define ListBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define ListBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ListBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCARETINDEX,0,0))
-#define ListBox_GetCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCOUNT,0,0))
-#define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCURSEL,0,0))
-#define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETHORIZONTALEXTENT,0,0))
-#define ListBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SNDMSG((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),0))
-#define ListBox_GetItemHeight(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETITEMHEIGHT,(WPARAM)(int)(index),0))
-#define ListBox_GetItemRect(hwndCtl,index,lprc) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETITEMRECT,(WPARAM)(int)(index),(LPARAM)(RECT*)(lprc)))
-#define ListBox_GetSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSEL,(WPARAM)(int)(index),0))
-#define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSELCOUNT,0,0))
-#define ListBox_GetSelItems(hwndCtl,cItems,lpItems) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSELITEMS,(WPARAM)(int)(cItems),(LPARAM)(int*)(lpItems)))
-#define ListBox_GetText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer)))
-#define ListBox_GetTextLen(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTEXTLEN,(WPARAM)(int)(index),0))
-#define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTOPINDEX,0,0))
-#define ListBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ListBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz)))
-#define ListBox_ResetContent(hwndCtl) ((BOOL)(DWORD)SNDMSG((hwndCtl),LB_RESETCONTENT,0,0))
-#define ListBox_SelItemRange(hwndCtl,fSelect,first,last) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELITEMRANGE,(WPARAM)(BOOL)(fSelect),MAKELPARAM((first),(last))))
-#define ListBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ListBox_SelectString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_SetCaretIndex(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETCARETINDEX,(WPARAM)(int)(index),0))
-#define ListBox_SetColumnWidth(hwndCtl,cxColumn) ((void)SNDMSG((hwndCtl),LB_SETCOLUMNWIDTH,(WPARAM)(int)(cxColumn),0))
-#define ListBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETCURSEL,(WPARAM)(int)(index),0))
-#define ListBox_SetHorizontalExtent(hwndCtl,cxExtent) ((void)SNDMSG((hwndCtl),LB_SETHORIZONTALEXTENT,(WPARAM)(int)(cxExtent),0))
-#define ListBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ListBox_SetItemHeight(hwndCtl,index,cy) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETITEMHEIGHT,(WPARAM)(int)(index),MAKELPARAM((cy),0)))
-#define ListBox_SetSel(hwndCtl,fSelect,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETSEL,(WPARAM)(BOOL)(fSelect),(LPARAM)(index)))
-#define ListBox_SetTabStops(hwndCtl,cTabs,lpTabs) ((BOOL)(DWORD)SNDMSG((hwndCtl),LB_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(int*)(lpTabs)))
-#define ListBox_SetTopIndex(hwndCtl,indexTop) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETTOPINDEX,(WPARAM)(int)(indexTop),0))
-#define MapWindowRect(hwndFrom,hwndTo,lprc) MapWindowPoints((hwndFrom),(hwndTo),(POINT*)(lprc),2)
-#define ScrollBar_Enable(hwndCtl,flags) EnableScrollBar((hwndCtl),SB_CTL,(flags))
-#define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl),SB_CTL)
-#define ScrollBar_GetRange(hwndCtl,lpposMin,lpposMax) GetScrollRange((hwndCtl),SB_CTL,(lpposMin),(lpposMax))
-#define ScrollBar_SetPos(hwndCtl,pos,fRedraw) SetScrollPos((hwndCtl),SB_CTL,(pos),(fRedraw))
-#define ScrollBar_SetRange(hwndCtl,posMin,posMax,fRedraw) SetScrollRange((hwndCtl),SB_CTL,(posMin),(posMax),(fRedraw))
-#define ScrollBar_Show(hwndCtl,fShow) ShowWindow((hwndCtl),(fShow) ? SW_SHOWNORMAL : SW_HIDE)
-#define SelectBitmap(hdc,hbm) ((HBITMAP)SelectObject((hdc),(HGDIOBJ)(HBITMAP)(hbm)))
-#define SelectBrush(hdc,hbr) ((HBRUSH)SelectObject((hdc),(HGDIOBJ)(HBRUSH)(hbr)))
-#define SelectFont(hdc,hfont) ((HFONT)SelectObject((hdc),(HGDIOBJ)(HFONT)(hfont)))
-#define SelectPen(hdc,hpen) ((HPEN)SelectObject((hdc),(HGDIOBJ)(HPEN)(hpen)))
-#define SetDlgMsgResult(hwnd,msg,result) (( (msg) == WM_CTLCOLORMSGBOX || (msg) == WM_CTLCOLOREDIT || (msg) == WM_CTLCOLORLISTBOX || (msg) == WM_CTLCOLORBTN || (msg) == WM_CTLCOLORDLG || (msg) == WM_CTLCOLORSCROLLBAR || (msg) == WM_CTLCOLORSTATIC || (msg) == WM_COMPAREITEM || (msg) == WM_VKEYTOITEM || (msg) == WM_CHARTOITEM || (msg) == WM_QUERYDRAGICON || (msg) == WM_INITDIALOG ) ? (BOOL)(result) : (SetWindowLong((hwnd),DWL_MSGRESULT,(LPARAM)(LRESULT)(result)),TRUE))
-#define SetWindowFont(hwnd,hfont,fRedraw) FORWARD_WM_SETFONT((hwnd),(hfont),(fRedraw),SNDMSG)
-#define SetWindowRedraw(hwnd,fRedraw) ((void)SNDMSG(hwnd,WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0))
-#define Static_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Static_GetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SNDMSG((hwndCtl),STM_GETICON,0,0))
-#define Static_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Static_SetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SNDMSG((hwndCtl),STM_SETICON,(WPARAM)(HICON)(hIcon),0))
-#define Static_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define SubclassDialog(hwndDlg,lpfn) ((DLGPROC)SetWindowLong(hwndDlg,DWL_DLGPROC,(LPARAM)(DLGPROC)(lpfn)))
-#define SubclassWindow(hwnd,lpfn) ((WNDPROC)SetWindowLong((hwnd),GWL_WNDPROC,(LPARAM)(WNDPROC)(lpfn)))
-#define SubtractRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_DIFF)
-#define UnionRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_OR)
-#define XorRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_XOR)
-
-/* FAR versions of mem and string functions for porting from old code*/
-#define _ffree      free
-#define _fmalloc    malloc
-#define _frealloc   realloc
-#define _fmsize     _msize
-
-#define _fmemcpy    memcpy
-#define _fmemmove   memmove
-#define _fmemset    memset
-#define _fmemcmp    memcmp
-#define _fmemchr    memchr
-#define _fmemccpy   _memccpy
-#define _fmemicmp   _memicmp
-
-#define _fstrcat    strcat
-#define _fstrchr    strchr
-#define _fstrcmp    strcmp
-#define _fstrcpy    strcpy
-#define _fstrcspn   strcspn
-#define _fstrdup    _strdup
-#define _fstricmp   _stricmp
-#define _fstrlen    strlen
-#define _fstrlwr    _strlwr
-#define _fstrncat   strncat
-#define _fstrncmp   strncmp
-#define _fstrncpy   strncpy
-#define _fstrnicmp  _strnicmp
-#define _fstrnset   _strnset
-#define _fstrpbrk   strpbrk
-#define _fstrrchr   strrchr
-#define _fstrrev    _strrev
-#define _fstrset    _strset
-#define _fstrspn    strspn
-#define _fstrstr    strstr
-#define _fstrtok    strtok
-#define _fstrupr    _strupr
-
-#define hmemcpy MoveMemory
-
-#endif
Index: Daodan/MinGW/include/winerror.h
===================================================================
--- Daodan/MinGW/include/winerror.h	(revision 1046)
+++ 	(revision )
@@ -1,2282 +1,0 @@
-#ifndef _WINERROR_H
-#define _WINERROR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc)
-
-#define ERROR_SUCCESS 0L
-#define NO_ERROR 0L
-#define ERROR_INVALID_FUNCTION 1L
-#define ERROR_FILE_NOT_FOUND 2L
-#define ERROR_PATH_NOT_FOUND 3L
-#define ERROR_TOO_MANY_OPEN_FILES 4L
-#define ERROR_ACCESS_DENIED 5L
-#define ERROR_INVALID_HANDLE 6L
-#define ERROR_ARENA_TRASHED 7L
-#define ERROR_NOT_ENOUGH_MEMORY 8L
-#define ERROR_INVALID_BLOCK 9L
-#define ERROR_BAD_ENVIRONMENT 10L
-#define ERROR_BAD_FORMAT 11L
-#define ERROR_INVALID_ACCESS 12L
-#define ERROR_INVALID_DATA 13L
-#define ERROR_OUTOFMEMORY 14L
-#define ERROR_INVALID_DRIVE 15L
-#define ERROR_CURRENT_DIRECTORY 16L
-#define ERROR_NOT_SAME_DEVICE 17L
-#define ERROR_NO_MORE_FILES 18L
-#define ERROR_WRITE_PROTECT 19L
-#define ERROR_BAD_UNIT 20L
-#define ERROR_NOT_READY 21L
-#define ERROR_BAD_COMMAND 22L
-#define ERROR_CRC 23L
-#define ERROR_BAD_LENGTH 24L
-#define ERROR_SEEK 25L
-#define ERROR_NOT_DOS_DISK 26L
-#define ERROR_SECTOR_NOT_FOUND 27L
-#define ERROR_OUT_OF_PAPER 28L
-#define ERROR_WRITE_FAULT 29L
-#define ERROR_READ_FAULT 30L
-#define ERROR_GEN_FAILURE 31L
-#define ERROR_SHARING_VIOLATION 32L
-#define ERROR_LOCK_VIOLATION 33L
-#define ERROR_WRONG_DISK 34L
-#define ERROR_SHARING_BUFFER_EXCEEDED 36L
-#define ERROR_HANDLE_EOF 38L
-#define ERROR_HANDLE_DISK_FULL 39L
-#define ERROR_NOT_SUPPORTED 50L
-#define ERROR_REM_NOT_LIST 51L
-#define ERROR_DUP_NAME 52L
-#define ERROR_BAD_NETPATH 53L
-#define ERROR_NETWORK_BUSY 54L
-#define ERROR_DEV_NOT_EXIST 55L
-#define ERROR_TOO_MANY_CMDS 56L
-#define ERROR_ADAP_HDW_ERR 57L
-#define ERROR_BAD_NET_RESP 58L
-#define ERROR_UNEXP_NET_ERR 59L
-#define ERROR_BAD_REM_ADAP 60L
-#define ERROR_PRINTQ_FULL 61L
-#define ERROR_NO_SPOOL_SPACE 62L
-#define ERROR_PRINT_CANCELLED 63L
-#define ERROR_NETNAME_DELETED 64L
-#define ERROR_NETWORK_ACCESS_DENIED 65L
-#define ERROR_BAD_DEV_TYPE 66L
-#define ERROR_BAD_NET_NAME 67L
-#define ERROR_TOO_MANY_NAMES 68L
-#define ERROR_TOO_MANY_SESS 69L
-#define ERROR_SHARING_PAUSED 70L
-#define ERROR_REQ_NOT_ACCEP 71L
-#define ERROR_REDIR_PAUSED 72L
-#define ERROR_FILE_EXISTS 80L
-#define ERROR_CANNOT_MAKE 82L
-#define ERROR_FAIL_I24 83L
-#define ERROR_OUT_OF_STRUCTURES 84L
-#define ERROR_ALREADY_ASSIGNED 85L
-#define ERROR_INVALID_PASSWORD 86L
-#define ERROR_INVALID_PARAMETER 87L
-#define ERROR_NET_WRITE_FAULT 88L
-#define ERROR_NO_PROC_SLOTS 89L
-#define ERROR_TOO_MANY_SEMAPHORES 100L
-#define ERROR_EXCL_SEM_ALREADY_OWNED 101L
-#define ERROR_SEM_IS_SET 102L
-#define ERROR_TOO_MANY_SEM_REQUESTS 103L
-#define ERROR_INVALID_AT_INTERRUPT_TIME 104L
-#define ERROR_SEM_OWNER_DIED 105L
-#define ERROR_SEM_USER_LIMIT 106L
-#define ERROR_DISK_CHANGE 107L
-#define ERROR_DRIVE_LOCKED 108L
-#define ERROR_BROKEN_PIPE 109L
-#define ERROR_OPEN_FAILED 110L
-#define ERROR_BUFFER_OVERFLOW 111L
-#define ERROR_DISK_FULL 112L
-#define ERROR_NO_MORE_SEARCH_HANDLES 113L
-#define ERROR_INVALID_TARGET_HANDLE 114L
-#define ERROR_INVALID_CATEGORY 117L
-#define ERROR_INVALID_VERIFY_SWITCH 118L
-#define ERROR_BAD_DRIVER_LEVEL 119L
-#define ERROR_CALL_NOT_IMPLEMENTED 120L
-#define ERROR_SEM_TIMEOUT 121L
-#define ERROR_INSUFFICIENT_BUFFER 122L
-#define ERROR_INVALID_NAME 123L
-#define ERROR_INVALID_LEVEL 124L
-#define ERROR_NO_VOLUME_LABEL 125L
-#define ERROR_MOD_NOT_FOUND 126L
-#define ERROR_PROC_NOT_FOUND 127L
-#define ERROR_WAIT_NO_CHILDREN 128L
-#define ERROR_CHILD_NOT_COMPLETE 129L
-#define ERROR_DIRECT_ACCESS_HANDLE 130L
-#define ERROR_NEGATIVE_SEEK 131L
-#define ERROR_SEEK_ON_DEVICE 132L
-#define ERROR_IS_JOIN_TARGET 133L
-#define ERROR_IS_JOINED 134L
-#define ERROR_IS_SUBSTED 135L
-#define ERROR_NOT_JOINED 136L
-#define ERROR_NOT_SUBSTED 137L
-#define ERROR_JOIN_TO_JOIN 138L
-#define ERROR_SUBST_TO_SUBST 139L
-#define ERROR_JOIN_TO_SUBST 140L
-#define ERROR_SUBST_TO_JOIN 141L
-#define ERROR_BUSY_DRIVE 142L
-#define ERROR_SAME_DRIVE 143L
-#define ERROR_DIR_NOT_ROOT 144L
-#define ERROR_DIR_NOT_EMPTY 145L
-#define ERROR_IS_SUBST_PATH 146L
-#define ERROR_IS_JOIN_PATH 147L
-#define ERROR_PATH_BUSY 148L
-#define ERROR_IS_SUBST_TARGET 149L
-#define ERROR_SYSTEM_TRACE 150L
-#define ERROR_INVALID_EVENT_COUNT 151L
-#define ERROR_TOO_MANY_MUXWAITERS 152L
-#define ERROR_INVALID_LIST_FORMAT 153L
-#define ERROR_LABEL_TOO_LONG 154L
-#define ERROR_TOO_MANY_TCBS 155L
-#define ERROR_SIGNAL_REFUSED 156L
-#define ERROR_DISCARDED 157L
-#define ERROR_NOT_LOCKED 158L
-#define ERROR_BAD_THREADID_ADDR 159L
-#define ERROR_BAD_ARGUMENTS 160L
-#define ERROR_BAD_PATHNAME 161L
-#define ERROR_SIGNAL_PENDING 162L
-#define ERROR_MAX_THRDS_REACHED 164L
-#define ERROR_LOCK_FAILED 167L
-#define ERROR_BUSY 170L
-#define ERROR_CANCEL_VIOLATION 173L
-#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L
-#define ERROR_INVALID_SEGMENT_NUMBER 180L
-#define ERROR_INVALID_ORDINAL 182L
-#define ERROR_ALREADY_EXISTS 183L
-#define ERROR_INVALID_FLAG_NUMBER 186L
-#define ERROR_SEM_NOT_FOUND 187L
-#define ERROR_INVALID_STARTING_CODESEG 188L
-#define ERROR_INVALID_STACKSEG 189L
-#define ERROR_INVALID_MODULETYPE 190L
-#define ERROR_INVALID_EXE_SIGNATURE 191L
-#define ERROR_EXE_MARKED_INVALID 192L
-#define ERROR_BAD_EXE_FORMAT 193L
-#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L
-#define ERROR_INVALID_MINALLOCSIZE 195L
-#define ERROR_DYNLINK_FROM_INVALID_RING 196L
-#define ERROR_IOPL_NOT_ENABLED 197L
-#define ERROR_INVALID_SEGDPL 198L
-#define ERROR_AUTODATASEG_EXCEEDS_64k 199L
-#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L
-#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L
-#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L
-#define ERROR_ENVVAR_NOT_FOUND 203L
-#define ERROR_NO_SIGNAL_SENT 205L
-#define ERROR_FILENAME_EXCED_RANGE 206L
-#define ERROR_RING2_STACK_IN_USE 207L
-#define ERROR_META_EXPANSION_TOO_LONG 208L
-#define ERROR_INVALID_SIGNAL_NUMBER 209L
-#define ERROR_THREAD_1_INACTIVE 210L
-#define ERROR_LOCKED 212L
-#define ERROR_TOO_MANY_MODULES 214L
-#define ERROR_NESTING_NOT_ALLOWED 215L
-#define ERROR_EXE_MACHINE_TYPE_MISMATCH 216L
-#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY 217L
-#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY 218L
-#define ERROR_BAD_PIPE 230L
-#define ERROR_PIPE_BUSY 231L
-#define ERROR_NO_DATA 232L
-#define ERROR_PIPE_NOT_CONNECTED 233L
-#define ERROR_MORE_DATA 234L
-#define ERROR_VC_DISCONNECTED 240L
-#define ERROR_INVALID_EA_NAME 254L
-#define ERROR_EA_LIST_INCONSISTENT 255L
-#ifndef WAIT_TIMEOUT /* also in winbase.h */
-#define WAIT_TIMEOUT 258L
-#endif
-#define ERROR_NO_MORE_ITEMS 259L
-#define ERROR_CANNOT_COPY 266L
-#define ERROR_DIRECTORY 267L
-#define ERROR_EAS_DIDNT_FIT 275L
-#define ERROR_EA_FILE_CORRUPT 276L
-#define ERROR_EA_TABLE_FULL 277L
-#define ERROR_INVALID_EA_HANDLE 278L
-#define ERROR_EAS_NOT_SUPPORTED 282L
-#define ERROR_NOT_OWNER 288L
-#define ERROR_TOO_MANY_POSTS 298L
-#define ERROR_PARTIAL_COPY 299L
-#define ERROR_OPLOCK_NOT_GRANTED 300L
-#define ERROR_INVALID_OPLOCK_PROTOCOL 301L
-#define ERROR_DISK_TOO_FRAGMENTED 302L
-#define ERROR_DELETE_PENDING 303L
-#define ERROR_MR_MID_NOT_FOUND 317L
-#define ERROR_SCOPE_NOT_FOUND 318L
-#define ERROR_INVALID_ADDRESS 487L
-#define ERROR_ARITHMETIC_OVERFLOW 534L
-#define ERROR_PIPE_CONNECTED 535L
-#define ERROR_PIPE_LISTENING 536L
-#define ERROR_EA_ACCESS_DENIED 994L
-#define ERROR_OPERATION_ABORTED 995L
-#define ERROR_IO_INCOMPLETE 996L
-#define ERROR_IO_PENDING 997L
-#define ERROR_NOACCESS 998L
-#define ERROR_SWAPERROR 999L
-#define ERROR_STACK_OVERFLOW 1001L
-#define ERROR_INVALID_MESSAGE 1002L
-#define ERROR_CAN_NOT_COMPLETE 1003L
-#define ERROR_INVALID_FLAGS 1004L
-#define ERROR_UNRECOGNIZED_VOLUME 1005L
-#define ERROR_FILE_INVALID 1006L
-#define ERROR_FULLSCREEN_MODE 1007L
-#define ERROR_NO_TOKEN 1008L
-#define ERROR_BADDB 1009L
-#define ERROR_BADKEY 1010L
-#define ERROR_CANTOPEN 1011L
-#define ERROR_CANTREAD 1012L
-#define ERROR_CANTWRITE 1013L
-#define ERROR_REGISTRY_RECOVERED 1014L
-#define ERROR_REGISTRY_CORRUPT 1015L
-#define ERROR_REGISTRY_IO_FAILED 1016L
-#define ERROR_NOT_REGISTRY_FILE 1017L
-#define ERROR_KEY_DELETED 1018L
-#define ERROR_NO_LOG_SPACE 1019L
-#define ERROR_KEY_HAS_CHILDREN 1020L
-#define ERROR_CHILD_MUST_BE_VOLATILE 1021L
-#define ERROR_NOTIFY_ENUM_DIR 1022L
-#define ERROR_DEPENDENT_SERVICES_RUNNING 1051L
-#define ERROR_INVALID_SERVICE_CONTROL 1052L
-#define ERROR_SERVICE_REQUEST_TIMEOUT 1053L
-#define ERROR_SERVICE_NO_THREAD 1054L
-#define ERROR_SERVICE_DATABASE_LOCKED 1055L
-#define ERROR_SERVICE_ALREADY_RUNNING 1056L
-#define ERROR_INVALID_SERVICE_ACCOUNT 1057L
-#define ERROR_SERVICE_DISABLED 1058L
-#define ERROR_CIRCULAR_DEPENDENCY 1059L
-#define ERROR_SERVICE_DOES_NOT_EXIST 1060L
-#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061L
-#define ERROR_SERVICE_NOT_ACTIVE 1062L
-#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063L
-#define ERROR_EXCEPTION_IN_SERVICE 1064L
-#define ERROR_DATABASE_DOES_NOT_EXIST 1065L
-#define ERROR_SERVICE_SPECIFIC_ERROR 1066L
-#define ERROR_PROCESS_ABORTED 1067L
-#define ERROR_SERVICE_DEPENDENCY_FAIL 1068L
-#define ERROR_SERVICE_LOGON_FAILED 1069L
-#define ERROR_SERVICE_START_HANG 1070L
-#define ERROR_INVALID_SERVICE_LOCK 1071L
-#define ERROR_SERVICE_MARKED_FOR_DELETE 1072L
-#define ERROR_SERVICE_EXISTS 1073L
-#define ERROR_ALREADY_RUNNING_LKG 1074L
-#define ERROR_SERVICE_DEPENDENCY_DELETED 1075L
-#define ERROR_BOOT_ALREADY_ACCEPTED 1076L
-#define ERROR_SERVICE_NEVER_STARTED 1077L
-#define ERROR_DUPLICATE_SERVICE_NAME 1078L
-#define ERROR_DIFFERENT_SERVICE_ACCOUNT 1079L
-#define ERROR_CANNOT_DETECT_DRIVER_FAILURE 1080L
-#define ERROR_CANNOT_DETECT_PROCESS_ABORT 1081L
-#define ERROR_NO_RECOVERY_PROGRAM 1082L
-#define ERROR_SERVICE_NOT_IN_EXE 1083L
-#define ERROR_NOT_SAFEBOOT_SERVICE 1084L
-#define ERROR_END_OF_MEDIA 1100L
-#define ERROR_FILEMARK_DETECTED 1101L
-#define ERROR_BEGINNING_OF_MEDIA 1102L
-#define ERROR_SETMARK_DETECTED 1103L
-#define ERROR_NO_DATA_DETECTED 1104L
-#define ERROR_PARTITION_FAILURE 1105L
-#define ERROR_INVALID_BLOCK_LENGTH 1106L
-#define ERROR_DEVICE_NOT_PARTITIONED 1107L
-#define ERROR_UNABLE_TO_LOCK_MEDIA 1108L
-#define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109L
-#define ERROR_MEDIA_CHANGED 1110L
-#define ERROR_BUS_RESET 1111L
-#define ERROR_NO_MEDIA_IN_DRIVE 1112L
-#define ERROR_NO_UNICODE_TRANSLATION 1113L
-#define ERROR_DLL_INIT_FAILED 1114L
-#define ERROR_SHUTDOWN_IN_PROGRESS 1115L
-#define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116L
-#define ERROR_IO_DEVICE 1117L
-#define ERROR_SERIAL_NO_DEVICE 1118L
-#define ERROR_IRQ_BUSY 1119L
-#define ERROR_MORE_WRITES 1120L
-#define ERROR_COUNTER_TIMEOUT 1121L
-#define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122L
-#define ERROR_FLOPPY_WRONG_CYLINDER 1123L
-#define ERROR_FLOPPY_UNKNOWN_ERROR 1124L
-#define ERROR_FLOPPY_BAD_REGISTERS 1125L
-#define ERROR_DISK_RECALIBRATE_FAILED 1126L
-#define ERROR_DISK_OPERATION_FAILED 1127L
-#define ERROR_DISK_RESET_FAILED 1128L
-#define ERROR_EOM_OVERFLOW 1129L
-#define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130L
-#define ERROR_POSSIBLE_DEADLOCK 1131L
-#define ERROR_MAPPED_ALIGNMENT 1132L
-#define ERROR_SET_POWER_STATE_VETOED 1140L
-#define ERROR_SET_POWER_STATE_FAILED 1141L
-#define ERROR_TOO_MANY_LINKS 1142L
-#define ERROR_OLD_WIN_VERSION 1150L
-#define ERROR_APP_WRONG_OS 1151L
-#define ERROR_SINGLE_INSTANCE_APP 1152L
-#define ERROR_RMODE_APP 1153L
-#define ERROR_INVALID_DLL 1154L
-#define ERROR_NO_ASSOCIATION 1155L
-#define ERROR_DDE_FAIL 1156L
-#define ERROR_DLL_NOT_FOUND 1157L
-#define ERROR_NO_MORE_USER_HANDLES 1158L
-#define ERROR_MESSAGE_SYNC_ONLY 1159L
-#define ERROR_SOURCE_ELEMENT_EMPTY 1160L
-#define ERROR_DESTINATION_ELEMENT_FULL 1161L
-#define ERROR_ILLEGAL_ELEMENT_ADDRESS 1162L
-#define ERROR_MAGAZINE_NOT_PRESENT 1163L
-#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164L
-#define ERROR_DEVICE_REQUIRES_CLEANING 1165L
-#define ERROR_DEVICE_DOOR_OPEN 1166L
-#define ERROR_DEVICE_NOT_CONNECTED 1167L
-#define ERROR_NOT_FOUND 1168L
-#define ERROR_NO_MATCH 1169L
-#define ERROR_SET_NOT_FOUND 1170L
-#define ERROR_POINT_NOT_FOUND 1171L
-#define ERROR_NO_TRACKING_SERVICE 1172L
-#define ERROR_NO_VOLUME_ID 1173L
-#define ERROR_UNABLE_TO_REMOVE_REPLACED 1175L
-#define ERROR_UNABLE_TO_MOVE_REPLACEMENT 1176L
-#define ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 1177L
-#define ERROR_JOURNAL_DELETE_IN_PROGRESS 1178L
-#define ERROR_JOURNAL_NOT_ACTIVE 1179L
-#define ERROR_POTENTIAL_FILE_FOUND 1180L
-#define ERROR_JOURNAL_ENTRY_DELETED 1181L
-#define ERROR_BAD_DEVICE 1200L
-#define ERROR_CONNECTION_UNAVAIL 1201L
-#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L
-#define ERROR_NO_NET_OR_BAD_PATH 1203L
-#define ERROR_BAD_PROVIDER 1204L
-#define ERROR_CANNOT_OPEN_PROFILE 1205L
-#define ERROR_BAD_PROFILE 1206L
-#define ERROR_NOT_CONTAINER 1207L
-#define ERROR_EXTENDED_ERROR 1208L
-#define ERROR_INVALID_GROUPNAME 1209L
-#define ERROR_INVALID_COMPUTERNAME 1210L
-#define ERROR_INVALID_EVENTNAME 1211L
-#define ERROR_INVALID_DOMAINNAME 1212L
-#define ERROR_INVALID_SERVICENAME 1213L
-#define ERROR_INVALID_NETNAME 1214L
-#define ERROR_INVALID_SHARENAME 1215L
-#define ERROR_INVALID_PASSWORDNAME 1216L
-#define ERROR_INVALID_MESSAGENAME 1217L
-#define ERROR_INVALID_MESSAGEDEST 1218L
-#define ERROR_SESSION_CREDENTIAL_CONFLICT 1219L
-#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220L
-#define ERROR_DUP_DOMAINNAME 1221L
-#define ERROR_NO_NETWORK 1222L
-#define ERROR_CANCELLED 1223L
-#define ERROR_USER_MAPPED_FILE 1224L
-#define ERROR_CONNECTION_REFUSED 1225L
-#define ERROR_GRACEFUL_DISCONNECT 1226L
-#define ERROR_ADDRESS_ALREADY_ASSOCIATED 1227L
-#define ERROR_ADDRESS_NOT_ASSOCIATED 1228L
-#define ERROR_CONNECTION_INVALID 1229L
-#define ERROR_CONNECTION_ACTIVE 1230L
-#define ERROR_NETWORK_UNREACHABLE 1231L
-#define ERROR_HOST_UNREACHABLE 1232L
-#define ERROR_PROTOCOL_UNREACHABLE 1233L
-#define ERROR_PORT_UNREACHABLE 1234L
-#define ERROR_REQUEST_ABORTED 1235L
-#define ERROR_CONNECTION_ABORTED 1236L
-#define ERROR_RETRY 1237L
-#define ERROR_CONNECTION_COUNT_LIMIT 1238L
-#define ERROR_LOGIN_TIME_RESTRICTION 1239L
-#define ERROR_LOGIN_WKSTA_RESTRICTION 1240L
-#define ERROR_INCORRECT_ADDRESS 1241L
-#define ERROR_ALREADY_REGISTERED 1242L
-#define ERROR_SERVICE_NOT_FOUND 1243L
-#define ERROR_NOT_AUTHENTICATED 1244L
-#define ERROR_NOT_LOGGED_ON 1245L
-#define ERROR_CONTINUE 1246L
-#define ERROR_ALREADY_INITIALIZED 1247L
-#define ERROR_NO_MORE_DEVICES 1248L
-#define ERROR_NO_SUCH_SITE 1249L
-#define ERROR_DOMAIN_CONTROLLER_EXISTS 1250L
-#define ERROR_ONLY_IF_CONNECTED 1251L
-#define ERROR_OVERRIDE_NOCHANGES 1252L
-#define ERROR_BAD_USER_PROFILE 1253L
-#define ERROR_NOT_SUPPORTED_ON_SBS 1254L
-#define ERROR_SERVER_SHUTDOWN_IN_PROGRESS 1255L
-#define ERROR_HOST_DOWN 1256L
-#define ERROR_NON_ACCOUNT_SID 1257L
-#define ERROR_NON_DOMAIN_SID 1258L
-#define ERROR_APPHELP_BLOCK 1259L
-#define ERROR_ACCESS_DISABLED_BY_POLICY 1260L
-#define ERROR_REG_NAT_CONSUMPTION 1261L
-#define ERROR_CSCSHARE_OFFLINE 1262L
-#define ERROR_PKINIT_FAILURE 1263L
-#define ERROR_SMARTCARD_SUBSYSTEM_FAILURE 1264L
-#define ERROR_DOWNGRADE_DETECTED 1265L
-#define SEC_E_SMARTCARD_CERT_REVOKED 1266L
-#define SEC_E_ISSUING_CA_UNTRUSTED 1267L
-#define SEC_E_REVOCATION_OFFLINE_C 1268L
-#define SEC_E_PKINIT_CLIENT_FAILUR 1269L
-#define SEC_E_SMARTCARD_CERT_EXPIRED 1270L
-#define ERROR_MACHINE_LOCKED 1271L
-#define ERROR_CALLBACK_SUPPLIED_INVALID_DATA 1273L
-#define ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED 1274L
-#define ERROR_DRIVER_BLOCKED 1275L
-#define ERROR_INVALID_IMPORT_OF_NON_DLL 1276L
-#define ERROR_ACCESS_DISABLED_WEBBLADE 1277L
-#define ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER 1278L
-#define ERROR_RECOVERY_FAILURE 1279L
-#define ERROR_ALREADY_FIBER 1280L
-#define ERROR_ALREADY_THREAD 1281L
-#define ERROR_STACK_BUFFER_OVERRUN 1282L
-#define ERROR_PARAMETER_QUOTA_EXCEEDED 1283L
-#define ERROR_DEBUGGER_INACTIVE 1284L
-#define ERROR_NOT_ALL_ASSIGNED 1300L
-#define ERROR_SOME_NOT_MAPPED 1301L
-#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302L
-#define ERROR_LOCAL_USER_SESSION_KEY 1303L
-#define ERROR_NULL_LM_PASSWORD 1304L
-#define ERROR_UNKNOWN_REVISION 1305L
-#define ERROR_REVISION_MISMATCH 1306L
-#define ERROR_INVALID_OWNER 1307L
-#define ERROR_INVALID_PRIMARY_GROUP 1308L
-#define ERROR_NO_IMPERSONATION_TOKEN 1309L
-#define ERROR_CANT_DISABLE_MANDATORY 1310L
-#define ERROR_NO_LOGON_SERVERS 1311L
-#define ERROR_NO_SUCH_LOGON_SESSION 1312L
-#define ERROR_NO_SUCH_PRIVILEGE 1313L
-#define ERROR_PRIVILEGE_NOT_HELD 1314L
-#define ERROR_INVALID_ACCOUNT_NAME 1315L
-#define ERROR_USER_EXISTS 1316L
-#define ERROR_NO_SUCH_USER 1317L
-#define ERROR_GROUP_EXISTS 1318L
-#define ERROR_NO_SUCH_GROUP 1319L
-#define ERROR_MEMBER_IN_GROUP 1320L
-#define ERROR_MEMBER_NOT_IN_GROUP 1321L
-#define ERROR_LAST_ADMIN 1322L
-#define ERROR_WRONG_PASSWORD 1323L
-#define ERROR_ILL_FORMED_PASSWORD 1324L
-#define ERROR_PASSWORD_RESTRICTION 1325L
-#define ERROR_LOGON_FAILURE 1326L
-#define ERROR_ACCOUNT_RESTRICTION 1327L
-#define ERROR_INVALID_LOGON_HOURS 1328L
-#define ERROR_INVALID_WORKSTATION 1329L
-#define ERROR_PASSWORD_EXPIRED 1330L
-#define ERROR_ACCOUNT_DISABLED 1331L
-#define ERROR_NONE_MAPPED 1332L
-#define ERROR_TOO_MANY_LUIDS_REQUESTED 1333L
-#define ERROR_LUIDS_EXHAUSTED 1334L
-#define ERROR_INVALID_SUB_AUTHORITY 1335L
-#define ERROR_INVALID_ACL 1336L
-#define ERROR_INVALID_SID 1337L
-#define ERROR_INVALID_SECURITY_DESCR 1338L
-#define ERROR_BAD_INHERITANCE_ACL 1340L
-#define ERROR_SERVER_DISABLED 1341L
-#define ERROR_SERVER_NOT_DISABLED 1342L
-#define ERROR_INVALID_ID_AUTHORITY 1343L
-#define ERROR_ALLOTTED_SPACE_EXCEEDED 1344L
-#define ERROR_INVALID_GROUP_ATTRIBUTES 1345L
-#define ERROR_BAD_IMPERSONATION_LEVEL 1346L
-#define ERROR_CANT_OPEN_ANONYMOUS 1347L
-#define ERROR_BAD_VALIDATION_CLASS 1348L
-#define ERROR_BAD_TOKEN_TYPE 1349L
-#define ERROR_NO_SECURITY_ON_OBJECT 1350L
-#define ERROR_CANT_ACCESS_DOMAIN_INFO 1351L
-#define ERROR_INVALID_SERVER_STATE 1352L
-#define ERROR_INVALID_DOMAIN_STATE 1353L
-#define ERROR_INVALID_DOMAIN_ROLE 1354L
-#define ERROR_NO_SUCH_DOMAIN 1355L
-#define ERROR_DOMAIN_EXISTS 1356L
-#define ERROR_DOMAIN_LIMIT_EXCEEDED 1357L
-#define ERROR_INTERNAL_DB_CORRUPTION 1358L
-#define ERROR_INTERNAL_ERROR 1359L
-#define ERROR_GENERIC_NOT_MAPPED 1360L
-#define ERROR_BAD_DESCRIPTOR_FORMAT 1361L
-#define ERROR_NOT_LOGON_PROCESS 1362L
-#define ERROR_LOGON_SESSION_EXISTS 1363L
-#define ERROR_NO_SUCH_PACKAGE 1364L
-#define ERROR_BAD_LOGON_SESSION_STATE 1365L
-#define ERROR_LOGON_SESSION_COLLISION 1366L
-#define ERROR_INVALID_LOGON_TYPE 1367L
-#define ERROR_CANNOT_IMPERSONATE 1368L
-#define ERROR_RXACT_INVALID_STATE 1369L
-#define ERROR_RXACT_COMMIT_FAILURE 1370L
-#define ERROR_SPECIAL_ACCOUNT 1371L
-#define ERROR_SPECIAL_GROUP 1372L
-#define ERROR_SPECIAL_USER 1373L
-#define ERROR_MEMBERS_PRIMARY_GROUP 1374L
-#define ERROR_TOKEN_ALREADY_IN_USE 1375L
-#define ERROR_NO_SUCH_ALIAS 1376L
-#define ERROR_MEMBER_NOT_IN_ALIAS 1377L
-#define ERROR_MEMBER_IN_ALIAS 1378L
-#define ERROR_ALIAS_EXISTS 1379L
-#define ERROR_LOGON_NOT_GRANTED 1380L
-#define ERROR_TOO_MANY_SECRETS 1381L
-#define ERROR_SECRET_TOO_LONG 1382L
-#define ERROR_INTERNAL_DB_ERROR 1383L
-#define ERROR_TOO_MANY_CONTEXT_IDS 1384L
-#define ERROR_LOGON_TYPE_NOT_GRANTED 1385L
-#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386L
-#define ERROR_NO_SUCH_MEMBER 1387L
-#define ERROR_INVALID_MEMBER 1388L
-#define ERROR_TOO_MANY_SIDS 1389L
-#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390L
-#define ERROR_NO_INHERITANCE 1391L
-#define ERROR_FILE_CORRUPT 1392L
-#define ERROR_DISK_CORRUPT 1393L
-#define ERROR_NO_USER_SESSION_KEY 1394L
-#define ERROR_LICENSE_QUOTA_EXCEEDED 1395L
-#define ERROR_WRONG_TARGET_NAME 1396L
-#define ERROR_MUTUAL_AUTH_FAILED 1397L
-#define ERROR_TIME_SKEW 1398L
-#define ERROR_CURRENT_DOMAIN_NOT_ALLOWED 1399L
-#define ERROR_INVALID_WINDOW_HANDLE 1400L
-#define ERROR_INVALID_MENU_HANDLE 1401L
-#define ERROR_INVALID_CURSOR_HANDLE 1402L
-#define ERROR_INVALID_ACCEL_HANDLE 1403L
-#define ERROR_INVALID_HOOK_HANDLE 1404L
-#define ERROR_INVALID_DWP_HANDLE 1405L
-#define ERROR_TLW_WITH_WSCHILD 1406L
-#define ERROR_CANNOT_FIND_WND_CLASS 1407L
-#define ERROR_WINDOW_OF_OTHER_THREAD 1408L
-#define ERROR_HOTKEY_ALREADY_REGISTERED 1409L
-#define ERROR_CLASS_ALREADY_EXISTS 1410L
-#define ERROR_CLASS_DOES_NOT_EXIST 1411L
-#define ERROR_CLASS_HAS_WINDOWS 1412L
-#define ERROR_INVALID_INDEX 1413L
-#define ERROR_INVALID_ICON_HANDLE 1414L
-#define ERROR_PRIVATE_DIALOG_INDEX 1415L
-#define ERROR_LISTBOX_ID_NOT_FOUND 1416L
-#define ERROR_NO_WILDCARD_CHARACTERS 1417L
-#define ERROR_CLIPBOARD_NOT_OPEN 1418L
-#define ERROR_HOTKEY_NOT_REGISTERED 1419L
-#define ERROR_WINDOW_NOT_DIALOG 1420L
-#define ERROR_CONTROL_ID_NOT_FOUND 1421L
-#define ERROR_INVALID_COMBOBOX_MESSAGE 1422L
-#define ERROR_WINDOW_NOT_COMBOBOX 1423L
-#define ERROR_INVALID_EDIT_HEIGHT 1424L
-#define ERROR_DC_NOT_FOUND 1425L
-#define ERROR_INVALID_HOOK_FILTER 1426L
-#define ERROR_INVALID_FILTER_PROC 1427L
-#define ERROR_HOOK_NEEDS_HMOD 1428L
-#define ERROR_GLOBAL_ONLY_HOOK 1429L
-#define ERROR_JOURNAL_HOOK_SET 1430L
-#define ERROR_HOOK_NOT_INSTALLED 1431L
-#define ERROR_INVALID_LB_MESSAGE 1432L
-#define ERROR_SETCOUNT_ON_BAD_LB 1433L
-#define ERROR_LB_WITHOUT_TABSTOPS 1434L
-#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435L
-#define ERROR_CHILD_WINDOW_MENU 1436L
-#define ERROR_NO_SYSTEM_MENU 1437L
-#define ERROR_INVALID_MSGBOX_STYLE 1438L
-#define ERROR_INVALID_SPI_VALUE 1439L
-#define ERROR_SCREEN_ALREADY_LOCKED 1440L
-#define ERROR_HWNDS_HAVE_DIFF_PARENT 1441L
-#define ERROR_NOT_CHILD_WINDOW 1442L
-#define ERROR_INVALID_GW_COMMAND 1443L
-#define ERROR_INVALID_THREAD_ID 1444L
-#define ERROR_NON_MDICHILD_WINDOW 1445L
-#define ERROR_POPUP_ALREADY_ACTIVE 1446L
-#define ERROR_NO_SCROLLBARS 1447L
-#define ERROR_INVALID_SCROLLBAR_RANGE 1448L
-#define ERROR_INVALID_SHOWWIN_COMMAND 1449L
-#define ERROR_NO_SYSTEM_RESOURCES 1450L
-#define ERROR_NONPAGED_SYSTEM_RESOURCES 1451L
-#define ERROR_PAGED_SYSTEM_RESOURCES 1452L
-#define ERROR_WORKING_SET_QUOTA 1453L
-#define ERROR_PAGEFILE_QUOTA 1454L
-#define ERROR_COMMITMENT_LIMIT 1455L
-#define ERROR_MENU_ITEM_NOT_FOUND 1456L
-#define ERROR_INVALID_KEYBOARD_HANDLE 1457L
-#define ERROR_HOOK_TYPE_NOT_ALLOWED 1458L
-#define ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION 1459L
-#define ERROR_TIMEOUT 1460L
-#define ERROR_INVALID_MONITOR_HANDLE 1461L
-#define ERROR_EVENTLOG_FILE_CORRUPT 1500L
-#define ERROR_EVENTLOG_CANT_START 1501L
-#define ERROR_LOG_FILE_FULL 1502L
-#define ERROR_EVENTLOG_FILE_CHANGED 1503L
-#define ERROR_INSTALL_SERVICE_FAILURE 1601L
-#define ERROR_INSTALL_USEREXIT 1602L
-#define ERROR_INSTALL_FAILURE 1603L
-#define ERROR_INSTALL_SUSPEND 1604L
-#define ERROR_UNKNOWN_PRODUCT 1605L
-#define ERROR_UNKNOWN_FEATURE 1606L
-#define ERROR_UNKNOWN_COMPONENT 1607L
-#define ERROR_UNKNOWN_PROPERTY 1608L
-#define ERROR_INVALID_HANDLE_STATE 1609L
-#define ERROR_BAD_CONFIGURATION 1610L
-#define ERROR_INDEX_ABSENT 1611L
-#define ERROR_INSTALL_SOURCE_ABSENT 1612L
-#define ERROR_INSTALL_PACKAGE_VERSION 1613L
-#define ERROR_PRODUCT_UNINSTALLED 1614L
-#define ERROR_BAD_QUERY_SYNTAX 1615L
-#define ERROR_INVALID_FIELD 1616L
-#define ERROR_DEVICE_REMOVED 1617L
-#define ERROR_INSTALL_ALREADY_RUNNING 1618L
-#define ERROR_INSTALL_PACKAGE_OPEN_FAILED 1619L
-#define ERROR_INSTALL_PACKAGE_INVALID 1620L
-#define ERROR_INSTALL_UI_FAILURE 1621L
-#define ERROR_INSTALL_LOG_FAILURE 1622L
-#define ERROR_INSTALL_LANGUAGE_UNSUPPORTED 1623L
-#define ERROR_INSTALL_TRANSFORM_FAILURE 1624L
-#define ERROR_INSTALL_PACKAGE_REJECTED 1625L
-#define ERROR_FUNCTION_NOT_CALLED 1626L
-#define ERROR_FUNCTION_FAILED 1627L
-#define ERROR_INVALID_TABLE 1628L
-#define ERROR_DATATYPE_MISMATCH 1629L
-#define ERROR_UNSUPPORTED_TYPE 1630L
-#define ERROR_CREATE_FAILED 1631L
-#define ERROR_INSTALL_TEMP_UNWRITABLE 1632L
-#define ERROR_INSTALL_PLATFORM_UNSUPPORTED 1633L
-#define ERROR_INSTALL_NOTUSED 1634L
-#define ERROR_PATCH_PACKAGE_OPEN_FAILED 1635L
-#define ERROR_PATCH_PACKAGE_INVALID 1636L
-#define ERROR_PATCH_PACKAGE_UNSUPPORTED 1637L
-#define ERROR_PRODUCT_VERSION 1638L
-#define ERROR_INVALID_COMMAND_LINE 1639L
-#define ERROR_INSTALL_REMOTE_DISALLOWED 1640L
-#define ERROR_SUCCESS_REBOOT_INITIATED 1641L
-#define ERROR_PATCH_TARGET_NOT_FOUND 1642L
-#define ERROR_PATCH_PACKAGE_REJECTED 1643L
-#define ERROR_INSTALL_TRANSFORM_REJECTED 1644L
-#define ERROR_INSTALL_REMOTE_PROHIBITED 1645L
-#define RPC_S_INVALID_STRING_BINDING 1700L
-#define RPC_S_WRONG_KIND_OF_BINDING 1701L
-#define RPC_S_INVALID_BINDING 1702L
-#define RPC_S_PROTSEQ_NOT_SUPPORTED 1703L
-#define RPC_S_INVALID_RPC_PROTSEQ 1704L
-#define RPC_S_INVALID_STRING_UUID 1705L
-#define RPC_S_INVALID_ENDPOINT_FORMAT 1706L
-#define RPC_S_INVALID_NET_ADDR 1707L
-#define RPC_S_NO_ENDPOINT_FOUND 1708L
-#define RPC_S_INVALID_TIMEOUT 1709L
-#define RPC_S_OBJECT_NOT_FOUND 1710L
-#define RPC_S_ALREADY_REGISTERED 1711L
-#define RPC_S_TYPE_ALREADY_REGISTERED 1712L
-#define RPC_S_ALREADY_LISTENING 1713L
-#define RPC_S_NO_PROTSEQS_REGISTERED 1714L
-#define RPC_S_NOT_LISTENING 1715L
-#define RPC_S_UNKNOWN_MGR_TYPE 1716L
-#define RPC_S_UNKNOWN_IF 1717L
-#define RPC_S_NO_BINDINGS 1718L
-#define RPC_S_NO_PROTSEQS 1719L
-#define RPC_S_CANT_CREATE_ENDPOINT 1720L
-#define RPC_S_OUT_OF_RESOURCES 1721L
-#define RPC_S_SERVER_UNAVAILABLE 1722L
-#define RPC_S_SERVER_TOO_BUSY 1723L
-#define RPC_S_INVALID_NETWORK_OPTIONS 1724L
-#define RPC_S_NO_CALL_ACTIVE 1725L
-#define RPC_S_CALL_FAILED 1726L
-#define RPC_S_CALL_FAILED_DNE 1727L
-#define RPC_S_PROTOCOL_ERROR 1728L
-#define RPC_S_UNSUPPORTED_TRANS_SYN 1730L
-#define RPC_S_UNSUPPORTED_TYPE 1732L
-#define RPC_S_INVALID_TAG 1733L
-#define RPC_S_INVALID_BOUND 1734L
-#define RPC_S_NO_ENTRY_NAME 1735L
-#define RPC_S_INVALID_NAME_SYNTAX 1736L
-#define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737L
-#define RPC_S_UUID_NO_ADDRESS 1739L
-#define RPC_S_DUPLICATE_ENDPOINT 1740L
-#define RPC_S_UNKNOWN_AUTHN_TYPE 1741L
-#define RPC_S_MAX_CALLS_TOO_SMALL 1742L
-#define RPC_S_STRING_TOO_LONG 1743L
-#define RPC_S_PROTSEQ_NOT_FOUND 1744L
-#define RPC_S_PROCNUM_OUT_OF_RANGE 1745L
-#define RPC_S_BINDING_HAS_NO_AUTH 1746L
-#define RPC_S_UNKNOWN_AUTHN_SERVICE 1747L
-#define RPC_S_UNKNOWN_AUTHN_LEVEL 1748L
-#define RPC_S_INVALID_AUTH_IDENTITY 1749L
-#define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750L
-#define EPT_S_INVALID_ENTRY 1751L
-#define EPT_S_CANT_PERFORM_OP 1752L
-#define EPT_S_NOT_REGISTERED 1753L
-#define RPC_S_NOTHING_TO_EXPORT 1754L
-#define RPC_S_INCOMPLETE_NAME 1755L
-#define RPC_S_INVALID_VERS_OPTION 1756L
-#define RPC_S_NO_MORE_MEMBERS 1757L
-#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758L
-#define RPC_S_INTERFACE_NOT_FOUND 1759L
-#define RPC_S_ENTRY_ALREADY_EXISTS 1760L
-#define RPC_S_ENTRY_NOT_FOUND 1761L
-#define RPC_S_NAME_SERVICE_UNAVAILABLE 1762L
-#define RPC_S_INVALID_NAF_ID 1763L
-#define RPC_S_CANNOT_SUPPORT 1764L
-#define RPC_S_NO_CONTEXT_AVAILABLE 1765L
-#define RPC_S_INTERNAL_ERROR 1766L
-#define RPC_S_ZERO_DIVIDE 1767L
-#define RPC_S_ADDRESS_ERROR 1768L
-#define RPC_S_FP_DIV_ZERO 1769L
-#define RPC_S_FP_UNDERFLOW 1770L
-#define RPC_S_FP_OVERFLOW 1771L
-#define RPC_X_NO_MORE_ENTRIES 1772L
-#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773L
-#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774L
-#define RPC_X_SS_IN_NULL_CONTEXT 1775L
-#define RPC_X_SS_CONTEXT_DAMAGED 1777L
-#define RPC_X_SS_HANDLES_MISMATCH 1778L
-#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779L
-#define RPC_X_NULL_REF_POINTER 1780L
-#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781L
-#define RPC_X_BYTE_COUNT_TOO_SMALL 1782L
-#define RPC_X_BAD_STUB_DATA 1783L
-#define ERROR_INVALID_USER_BUFFER 1784L
-#define ERROR_UNRECOGNIZED_MEDIA 1785L
-#define ERROR_NO_TRUST_LSA_SECRET 1786L
-#define ERROR_NO_TRUST_SAM_ACCOUNT 1787L
-#define ERROR_TRUSTED_DOMAIN_FAILURE 1788L
-#define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789L
-#define ERROR_TRUST_FAILURE 1790L
-#define RPC_S_CALL_IN_PROGRESS 1791L
-#define ERROR_NETLOGON_NOT_STARTED 1792L
-#define ERROR_ACCOUNT_EXPIRED 1793L
-#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794L
-#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795L
-#define ERROR_UNKNOWN_PORT 1796L
-#define ERROR_UNKNOWN_PRINTER_DRIVER 1797L
-#define ERROR_UNKNOWN_PRINTPROCESSOR 1798L
-#define ERROR_INVALID_SEPARATOR_FILE 1799L
-#define ERROR_INVALID_PRIORITY 1800L
-#define ERROR_INVALID_PRINTER_NAME 1801L
-#define ERROR_PRINTER_ALREADY_EXISTS 1802L
-#define ERROR_INVALID_PRINTER_COMMAND 1803L
-#define ERROR_INVALID_DATATYPE 1804L
-#define ERROR_INVALID_ENVIRONMENT 1805L
-#define RPC_S_NO_MORE_BINDINGS 1806L
-#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807L
-#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808L
-#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809L
-#define ERROR_DOMAIN_TRUST_INCONSISTENT 1810L
-#define ERROR_SERVER_HAS_OPEN_HANDLES 1811L
-#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L
-#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L
-#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L
-#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L
-#define ERROR_NOT_ENOUGH_QUOTA 1816L
-#define RPC_S_NO_INTERFACES 1817L
-#define RPC_S_CALL_CANCELLED 1818L
-#define RPC_S_BINDING_INCOMPLETE 1819L
-#define RPC_S_COMM_FAILURE 1820L
-#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 1821L
-#define RPC_S_NO_PRINC_NAME 1822L
-#define RPC_S_NOT_RPC_ERROR 1823L
-#define RPC_S_UUID_LOCAL_ONLY 1824L
-#define RPC_S_SEC_PKG_ERROR 1825L
-#define RPC_S_NOT_CANCELLED 1826L
-#define RPC_X_INVALID_ES_ACTION 1827L
-#define RPC_X_WRONG_ES_VERSION 1828L
-#define RPC_X_WRONG_STUB_VERSION 1829L
-#define RPC_X_INVALID_PIPE_OBJECT 1830L
-#define RPC_X_WRONG_PIPE_ORDER 1831L
-#define RPC_X_WRONG_PIPE_VERSION 1832L
-#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L
-#define EPT_S_CANT_CREATE 1899L
-#define RPC_S_INVALID_OBJECT 1900L
-#define ERROR_INVALID_TIME 1901L
-#define ERROR_INVALID_FORM_NAME 1902L
-#define ERROR_INVALID_FORM_SIZE 1903L
-#define ERROR_ALREADY_WAITING 1904L
-#define ERROR_PRINTER_DELETED 1905L
-#define ERROR_INVALID_PRINTER_STATE 1906L
-#define ERROR_PASSWORD_MUST_CHANGE 1907L
-#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L
-#define ERROR_ACCOUNT_LOCKED_OUT 1909L
-#define OR_INVALID_OXID 1910L
-#define OR_INVALID_OID 1911L
-#define OR_INVALID_SET 1912L
-#define RPC_S_SEND_INCOMPLETE 1913L
-#define RPC_S_INVALID_ASYNC_HANDLE 1914L
-#define RPC_S_INVALID_ASYNC_CALL 1915L
-#define RPC_X_PIPE_CLOSED 1916L
-#define RPC_X_PIPE_DISCIPLINE_ERROR 1917L
-#define RPC_X_PIPE_EMPTY 1918L
-#define ERROR_NO_SITENAME 1919L
-#define ERROR_CANT_ACCESS_FILE 1920L
-#define ERROR_CANT_RESOLVE_FILENAME 1921L
-#define RPC_S_ENTRY_TYPE_MISMATCH 1922L
-#define RPC_S_NOT_ALL_OBJS_EXPORTED 1923L
-#define RPC_S_INTERFACE_NOT_EXPORTED 1924L
-#define RPC_S_PROFILE_NOT_ADDED 1925L
-#define RPC_S_PRF_ELT_NOT_ADDED 1926L
-#define RPC_S_PRF_ELT_NOT_REMOVED 1927L
-#define RPC_S_GRP_ELT_NOT_ADDED 1928L
-#define RPC_S_GRP_ELT_NOT_REMOVED 1929L
-#define ERROR_KM_DRIVER_BLOCKED 1930L
-#define ERROR_CONTEXT_EXPIRED 1931L
-#define ERROR_PER_USER_TRUST_QUOTA_EXCEEDED 1932L
-#define ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED 1933L
-#define ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED 1934L
-#define ERROR_INVALID_PIXEL_FORMAT 2000L
-#define ERROR_BAD_DRIVER 2001L
-#define ERROR_INVALID_WINDOW_STYLE 2002L
-#define ERROR_METAFILE_NOT_SUPPORTED 2003L
-#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L
-#define ERROR_CLIPPING_NOT_SUPPORTED 2005L
-#define ERROR_INVALID_CMM 2010L
-#define ERROR_INVALID_PROFILE 2011L
-#define ERROR_TAG_NOT_FOUND 2012L
-#define ERROR_TAG_NOT_PRESENT 2013L
-#define ERROR_DUPLICATE_TAG 2014L
-#define ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE 2015L
-#define ERROR_PROFILE_NOT_FOUND 2016L
-#define ERROR_INVALID_COLORSPACE 2017L
-#define ERROR_ICM_NOT_ENABLED 2018L
-#define ERROR_DELETING_ICM_XFORM 2019L
-#define ERROR_INVALID_TRANSFORM 2020L
-#define ERROR_COLORSPACE_MISMATCH 2021L
-#define ERROR_INVALID_COLORINDEX 2022L
-#define ERROR_CONNECTED_OTHER_PASSWORD 2108L
-#define ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT 2109L
-#define ERROR_BAD_USERNAME 2202L
-#define ERROR_NOT_CONNECTED 2250L
-#define ERROR_OPEN_FILES 2401L
-#define ERROR_ACTIVE_CONNECTIONS 2402L
-#define ERROR_DEVICE_IN_USE 2404L
-#define ERROR_UNKNOWN_PRINT_MONITOR 3000L
-#define ERROR_PRINTER_DRIVER_IN_USE 3001L
-#define ERROR_SPOOL_FILE_NOT_FOUND 3002L
-#define ERROR_SPL_NO_STARTDOC 3003L
-#define ERROR_SPL_NO_ADDJOB 3004L
-#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005L
-#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006L
-#define ERROR_INVALID_PRINT_MONITOR 3007L
-#define ERROR_PRINT_MONITOR_IN_USE 3008L
-#define ERROR_PRINTER_HAS_JOBS_QUEUED 3009L
-#define ERROR_SUCCESS_REBOOT_REQUIRED 3010L
-#define ERROR_SUCCESS_RESTART_REQUIRED 3011L
-#define ERROR_PRINTER_NOT_FOUND 3012L
-#define ERROR_PRINTER_DRIVER_WARNED 3013L
-#define ERROR_PRINTER_DRIVER_BLOCKED 3014L
-#define ERROR_WINS_INTERNAL 4000L
-#define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001L
-#define ERROR_STATIC_INIT 4002L
-#define ERROR_INC_BACKUP 4003L
-#define ERROR_FULL_BACKUP 4004L
-#define ERROR_REC_NON_EXISTENT 4005L
-#define ERROR_RPL_NOT_ALLOWED 4006L
-#define ERROR_DHCP_ADDRESS_CONFLICT 4100L
-#define ERROR_WMI_GUID_NOT_FOUND 4200L
-#define ERROR_WMI_INSTANCE_NOT_FOUND 4201L
-#define ERROR_WMI_ITEMID_NOT_FOUND 4202L
-#define ERROR_WMI_TRY_AGAIN 4203L
-#define ERROR_WMI_DP_NOT_FOUND 4204L
-#define ERROR_WMI_UNRESOLVED_INSTANCE_REF 4205L
-#define ERROR_WMI_ALREADY_ENABLED 4206L
-#define ERROR_WMI_GUID_DISCONNECTED 4207L
-#define ERROR_WMI_SERVER_UNAVAILABLE 4208L
-#define ERROR_WMI_DP_FAILED 4209L
-#define ERROR_WMI_INVALID_MOF 4210L
-#define ERROR_WMI_INVALID_REGINFO 4211L
-#define ERROR_WMI_ALREADY_DISABLED 4212L
-#define ERROR_WMI_READ_ONLY 4213L
-#define ERROR_WMI_SET_FAILURE 4214L
-#define ERROR_INVALID_MEDIA 4300L
-#define ERROR_INVALID_LIBRARY 4301L
-#define ERROR_INVALID_MEDIA_POOL 4302L
-#define ERROR_DRIVE_MEDIA_MISMATCH 4303L
-#define ERROR_MEDIA_OFFLINE 4304L
-#define ERROR_LIBRARY_OFFLINE 4305L
-#define ERROR_EMPTY 4306L
-#define ERROR_NOT_EMPTY 4307L
-#define ERROR_MEDIA_UNAVAILABLE 4308L
-#define ERROR_RESOURCE_DISABLED 4309L
-#define ERROR_INVALID_CLEANER 4310L
-#define ERROR_UNABLE_TO_CLEAN 4311L
-#define ERROR_OBJECT_NOT_FOUND 4312L
-#define ERROR_DATABASE_FAILURE 4313L
-#define ERROR_DATABASE_FULL 4314L
-#define ERROR_MEDIA_INCOMPATIBLE 4315L
-#define ERROR_RESOURCE_NOT_PRESENT 4316L
-#define ERROR_INVALID_OPERATION 4317L
-#define ERROR_MEDIA_NOT_AVAILABLE 4318L
-#define ERROR_DEVICE_NOT_AVAILABLE 4319L
-#define ERROR_REQUEST_REFUSED 4320L
-#define ERROR_INVALID_DRIVE_OBJECT 4321L
-#define ERROR_LIBRARY_FULL 4322L
-#define ERROR_MEDIUM_NOT_ACCESSIBLE 4323L
-#define ERROR_UNABLE_TO_LOAD_MEDIUM 4324L
-#define ERROR_UNABLE_TO_INVENTORY_DRIVE 4325L
-#define ERROR_UNABLE_TO_INVENTORY_SLOT 4326L
-#define ERROR_UNABLE_TO_INVENTORY_TRANSPORT 4327L
-#define ERROR_TRANSPORT_FULL 4328L
-#define ERROR_CONTROLLING_IEPORT 4329L
-#define ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA 4330L
-#define ERROR_CLEANER_SLOT_SET 4331L
-#define ERROR_CLEANER_SLOT_NOT_SET 4332L
-#define ERROR_CLEANER_CARTRIDGE_SPENT 4333L
-#define ERROR_UNEXPECTED_OMID 4334L
-#define ERROR_CANT_DELETE_LAST_ITEM 4335L
-#define ERROR_MESSAGE_EXCEEDS_MAX_SIZE 4336L
-#define ERROR_VOLUME_CONTAINS_SYS_FILES 4337L
-#define ERROR_INDIGENOUS_TYPE 4338L
-#define ERROR_NO_SUPPORTING_DRIVES 4339L
-#define ERROR_CLEANER_CARTRIDGE_INSTALLED 4340L
-#define ERROR_FILE_OFFLINE 4350L
-#define ERROR_REMOTE_STORAGE_NOT_ACTIVE 4351L
-#define ERROR_REMOTE_STORAGE_MEDIA_ERROR 4352L
-#define ERROR_NOT_A_REPARSE_POINT 4390L
-#define ERROR_REPARSE_ATTRIBUTE_CONFLICT 4391L
-#define ERROR_INVALID_REPARSE_DATA 4392L
-#define ERROR_REPARSE_TAG_INVALID 4393L
-#define ERROR_REPARSE_TAG_MISMATCH 4394L
-#define ERROR_VOLUME_NOT_SIS_ENABLED 4500L
-#define ERROR_DEPENDENT_RESOURCE_EXISTS 5001L
-#define ERROR_DEPENDENCY_NOT_FOUND 5002L
-#define ERROR_DEPENDENCY_ALREADY_EXISTS 5003L
-#define ERROR_RESOURCE_NOT_ONLINE 5004L
-#define ERROR_HOST_NODE_NOT_AVAILABLE 5005L
-#define ERROR_RESOURCE_NOT_AVAILABLE 5006L
-#define ERROR_RESOURCE_NOT_FOUND 5007L
-#define ERROR_SHUTDOWN_CLUSTER 5008L
-#define ERROR_CANT_EVICT_ACTIVE_NODE 5009L
-#define ERROR_OBJECT_ALREADY_EXISTS 5010L
-#define ERROR_OBJECT_IN_LIST 5011L
-#define ERROR_GROUP_NOT_AVAILABLE 5012L
-#define ERROR_GROUP_NOT_FOUND 5013L
-#define ERROR_GROUP_NOT_ONLINE 5014L
-#define ERROR_HOST_NODE_NOT_RESOURCE_OWNER 5015L
-#define ERROR_HOST_NODE_NOT_GROUP_OWNER 5016L
-#define ERROR_RESMON_CREATE_FAILED 5017L
-#define ERROR_RESMON_ONLINE_FAILED 5018L
-#define ERROR_RESOURCE_ONLINE 5019L
-#define ERROR_QUORUM_RESOURCE 5020L
-#define ERROR_NOT_QUORUM_CAPABLE 5021L
-#define ERROR_CLUSTER_SHUTTING_DOWN 5022L
-#define ERROR_INVALID_STATE 5023L
-#define ERROR_RESOURCE_PROPERTIES_STORED 5024L
-#define ERROR_NOT_QUORUM_CLASS 5025L
-#define ERROR_CORE_RESOURCE 5026L
-#define ERROR_QUORUM_RESOURCE_ONLINE_FAILED 5027L
-#define ERROR_QUORUMLOG_OPEN_FAILED 5028L
-#define ERROR_CLUSTERLOG_CORRUPT 5029L
-#define ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE 5030L
-#define ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE 5031L
-#define ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND 5032L
-#define ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE 5033L
-#define ERROR_QUORUM_OWNER_ALIVE 5034L
-#define ERROR_NETWORK_NOT_AVAILABLE 5035L
-#define ERROR_NODE_NOT_AVAILABLE 5036L
-#define ERROR_ALL_NODES_NOT_AVAILABLE 5037L
-#define ERROR_RESOURCE_FAILED 5038L
-#define ERROR_CLUSTER_INVALID_NODE 5039L
-#define ERROR_CLUSTER_NODE_EXISTS 5040L
-#define ERROR_CLUSTER_JOIN_IN_PROGRESS 5041L
-#define ERROR_CLUSTER_NODE_NOT_FOUND 5042L
-#define ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND 5043L
-#define ERROR_CLUSTER_NETWORK_EXISTS 5044L
-#define ERROR_CLUSTER_NETWORK_NOT_FOUND 5045L
-#define ERROR_CLUSTER_NETINTERFACE_EXISTS 5046L
-#define ERROR_CLUSTER_NETINTERFACE_NOT_FOUND 5047L
-#define ERROR_CLUSTER_INVALID_REQUEST 5048L
-#define ERROR_CLUSTER_INVALID_NETWORK_PROVIDER 5049L
-#define ERROR_CLUSTER_NODE_DOWN 5050L
-#define ERROR_CLUSTER_NODE_UNREACHABLE 5051L
-#define ERROR_CLUSTER_NODE_NOT_MEMBER 5052L
-#define ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS 5053L
-#define ERROR_CLUSTER_INVALID_NETWORK 5054L
-#define ERROR_CLUSTER_NODE_UP 5056L
-#define ERROR_CLUSTER_IPADDR_IN_USE 5057L
-#define ERROR_CLUSTER_NODE_NOT_PAUSED 5058L
-#define ERROR_CLUSTER_NO_SECURITY_CONTEXT 5059L
-#define ERROR_CLUSTER_NETWORK_NOT_INTERNAL 5060L
-#define ERROR_CLUSTER_NODE_ALREADY_UP 5061L
-#define ERROR_CLUSTER_NODE_ALREADY_DOWN 5062L
-#define ERROR_CLUSTER_NETWORK_ALREADY_ONLINE 5063L
-#define ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE 5064L
-#define ERROR_CLUSTER_NODE_ALREADY_MEMBER 5065L
-#define ERROR_CLUSTER_LAST_INTERNAL_NETWORK 5066L
-#define ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS 5067L
-#define ERROR_INVALID_OPERATION_ON_QUORUM 5068L
-#define ERROR_DEPENDENCY_NOT_ALLOWED 5069L
-#define ERROR_CLUSTER_NODE_PAUSED 5070L
-#define ERROR_NODE_CANT_HOST_RESOURCE 5071L
-#define ERROR_CLUSTER_NODE_NOT_READY 5072L
-#define ERROR_CLUSTER_NODE_SHUTTING_DOWN 5073L
-#define ERROR_CLUSTER_JOIN_ABORTED 5074L
-#define ERROR_CLUSTER_INCOMPATIBLE_VERSIONS 5075L
-#define ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED 5076L
-#define ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED 5077L
-#define ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND 5078L
-#define ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED 5079L
-#define ERROR_CLUSTER_RESNAME_NOT_FOUND 5080L
-#define ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED 5081L
-#define ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST 5082L
-#define ERROR_CLUSTER_DATABASE_SEQMISMATCH 5083L
-#define ERROR_RESMON_INVALID_STATE 5084L
-#define ERROR_CLUSTER_GUM_NOT_LOCKER 5085L
-#define ERROR_QUORUM_DISK_NOT_FOUND 5086L
-#define ERROR_DATABASE_BACKUP_CORRUPT 5087L
-#define ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT 5088L
-#define ERROR_RESOURCE_PROPERTY_UNCHANGEABLE 5089L
-#define ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE 5890L
-#define ERROR_CLUSTER_QUORUMLOG_NOT_FOUND 5891L
-#define ERROR_CLUSTER_MEMBERSHIP_HALT 5892L
-#define ERROR_CLUSTER_INSTANCE_ID_MISMATCH 5893L
-#define ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP 5894L
-#define ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH 5895L
-#define ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP 5896L
-#define ERROR_CLUSTER_PARAMETER_MISMATCH 5897L
-#define ERROR_NODE_CANNOT_BE_CLUSTERED 5898L
-#define ERROR_CLUSTER_WRONG_OS_VERSION 5899L
-#define ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME 5900L
-#define ERROR_CLUSCFG_ALREADY_COMMITTED 5901L
-#define ERROR_CLUSCFG_ROLLBACK_FAILED 5902L
-#define ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT 5903L
-#define ERROR_CLUSTER_OLD_VERSION 5904L
-#define ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME 5905L
-#define ERROR_ENCRYPTION_FAILED 6000L
-#define ERROR_DECRYPTION_FAILED 6001L
-#define ERROR_FILE_ENCRYPTED 6002L
-#define ERROR_NO_RECOVERY_POLICY 6003L
-#define ERROR_NO_EFS 6004L
-#define ERROR_WRONG_EFS 6005L
-#define ERROR_NO_USER_KEYS 6006L
-#define ERROR_FILE_NOT_ENCRYPTED 6007L
-#define ERROR_NOT_EXPORT_FORMAT 6008L
-#define ERROR_FILE_READ_ONLY 6009L
-#define ERROR_DIR_EFS_DISALLOWED 6010L
-#define ERROR_EFS_SERVER_NOT_TRUSTED 6011L
-#define ERROR_BAD_RECOVERY_POLICY 6012L
-#define ERROR_EFS_ALG_BLOB_TOO_BIG 6013L
-#define ERROR_VOLUME_NOT_SUPPORT_EFS 6014L
-#define ERROR_EFS_DISABLED 6015L
-#define ERROR_EFS_VERSION_NOT_SUPPORT 6016L
-#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L
-#define SCHED_E_SERVICE_NOT_LOCALSYSTEM 6200L
-
-#define ERROR_CTX_WINSTATION_NAME_INVALID 7001L
-#define ERROR_CTX_INVALID_PD 7002L
-#define ERROR_CTX_PD_NOT_FOUND 7003L
-#define ERROR_CTX_WD_NOT_FOUND 7004L
-#define ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY 7005L
-#define ERROR_CTX_SERVICE_NAME_COLLISION 7006L
-#define ERROR_CTX_CLOSE_PENDING 7007L
-#define ERROR_CTX_NO_OUTBUF 7008L
-#define ERROR_CTX_MODEM_INF_NOT_FOUND 7009L
-#define ERROR_CTX_INVALID_MODEMNAME 7010L
-#define ERROR_CTX_MODEM_RESPONSE_ERROR 7011L
-#define ERROR_CTX_MODEM_RESPONSE_TIMEOUT 7012L
-#define ERROR_CTX_MODEM_RESPONSE_NO_CARRIER 7013L
-#define ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE 7014L
-#define ERROR_CTX_MODEM_RESPONSE_BUSY 7015L
-#define ERROR_CTX_MODEM_RESPONSE_VOICE 7016L
-#define ERROR_CTX_TD_ERROR 7017L
-#define ERROR_CTX_WINSTATION_NOT_FOUND 7022L
-#define ERROR_CTX_WINSTATION_ALREADY_EXISTS 7023L
-#define ERROR_CTX_WINSTATION_BUSY 7024L
-#define ERROR_CTX_BAD_VIDEO_MODE 7025L
-#define ERROR_CTX_GRAPHICS_INVALID 7035L
-#define ERROR_CTX_LOGON_DISABLED 7037L
-#define ERROR_CTX_NOT_CONSOLE 7038L
-#define ERROR_CTX_CLIENT_QUERY_TIMEOUT 7040L
-#define ERROR_CTX_CONSOLE_DISCONNECT 7041L
-#define ERROR_CTX_CONSOLE_CONNECT 7042L
-#define ERROR_CTX_SHADOW_DENIED 7044L
-#define ERROR_CTX_WINSTATION_ACCESS_DENIED 7045L
-#define ERROR_CTX_INVALID_WD 7049L
-#define ERROR_CTX_SHADOW_INVALID 7050L
-#define ERROR_CTX_SHADOW_DISABLED 7051L
-#define ERROR_CTX_CLIENT_LICENSE_IN_USE 7052L
-#define ERROR_CTX_CLIENT_LICENSE_NOT_SET 7053L
-#define ERROR_CTX_LICENSE_NOT_AVAILABLE 7054L
-#define ERROR_CTX_LICENSE_CLIENT_INVALID 7055L
-#define ERROR_CTX_LICENSE_EXPIRED 7056L
-#define ERROR_CTX_SHADOW_NOT_RUNNING 7057L
-#define ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE 7058L
-#define ERROR_ACTIVATION_COUNT_EXCEEDED 7059L
-
-#define FRS_ERR_INVALID_API_SEQUENCE 8001L
-#define FRS_ERR_STARTING_SERVICE 8002L
-#define FRS_ERR_STOPPING_SERVICE 8003L
-#define FRS_ERR_INTERNAL_API 8004L
-#define FRS_ERR_INTERNAL 8005L
-#define FRS_ERR_SERVICE_COMM 8006L
-#define FRS_ERR_INSUFFICIENT_PRIV 8007L
-#define FRS_ERR_AUTHENTICATION 8008L
-#define FRS_ERR_PARENT_INSUFFICIENT_PRIV 8009L
-#define FRS_ERR_PARENT_AUTHENTICATION 8010L
-#define FRS_ERR_CHILD_TO_PARENT_COMM 8011L
-#define FRS_ERR_PARENT_TO_CHILD_COMM 8012L
-#define FRS_ERR_SYSVOL_POPULATE 8013L
-#define FRS_ERR_SYSVOL_POPULATE_TIMEOUT 8014L
-#define FRS_ERR_SYSVOL_IS_BUSY 8015L
-#define FRS_ERR_SYSVOL_DEMOTE 8016L
-#define FRS_ERR_INVALID_SERVICE_PARAMETER 8017L
-#define ERROR_DS_NOT_INSTALLED 8200L
-#define ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY 8201L
-#define ERROR_DS_NO_ATTRIBUTE_OR_VALUE 8202L
-#define ERROR_DS_INVALID_ATTRIBUTE_SYNTAX 8203L
-#define ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED 8204L
-#define ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS 8205L
-#define ERROR_DS_BUSY 8206L
-#define ERROR_DS_UNAVAILABLE 8207L
-#define ERROR_DS_NO_RIDS_ALLOCATED 8208L
-#define ERROR_DS_NO_MORE_RIDS 8209L
-#define ERROR_DS_INCORRECT_ROLE_OWNER 8210L
-#define ERROR_DS_RIDMGR_INIT_ERROR 8211L
-#define ERROR_DS_OBJ_CLASS_VIOLATION 8212L
-#define ERROR_DS_CANT_ON_NON_LEAF 8213L
-#define ERROR_DS_CANT_ON_RDN 8214L
-#define ERROR_DS_CANT_MOD_OBJ_CLASS 8215L
-#define ERROR_DS_CROSS_DOM_MOVE_ERROR 8216L
-#define ERROR_DS_GC_NOT_AVAILABLE 8217L
-#define ERROR_SHARED_POLICY 8218L
-#define ERROR_POLICY_OBJECT_NOT_FOUND 8219L
-#define ERROR_POLICY_ONLY_IN_DS 8220L
-#define ERROR_PROMOTION_ACTIVE 8221L
-#define ERROR_NO_PROMOTION_ACTIVE 8222L
-#define ERROR_DS_OPERATIONS_ERROR 8224L
-#define ERROR_DS_PROTOCOL_ERROR 8225L
-#define ERROR_DS_TIMELIMIT_EXCEEDED 8226L
-#define ERROR_DS_SIZELIMIT_EXCEEDED 8227L
-#define ERROR_DS_ADMIN_LIMIT_EXCEEDED 8228L
-#define ERROR_DS_COMPARE_FALSE 8229L
-#define ERROR_DS_COMPARE_TRUE 8230L
-#define ERROR_DS_AUTH_METHOD_NOT_SUPPORTED 8231L
-#define ERROR_DS_STRONG_AUTH_REQUIRED 8232L
-#define ERROR_DS_INAPPROPRIATE_AUTH 8233L
-#define ERROR_DS_AUTH_UNKNOWN 8234L
-#define ERROR_DS_REFERRAL 8235L
-#define ERROR_DS_UNAVAILABLE_CRIT_EXTENSION 8236L
-#define ERROR_DS_CONFIDENTIALITY_REQUIRED 8237L
-#define ERROR_DS_INAPPROPRIATE_MATCHING 8238L
-#define ERROR_DS_CONSTRAINT_VIOLATION 8239L
-#define ERROR_DS_NO_SUCH_OBJECT 8240L
-#define ERROR_DS_ALIAS_PROBLEM 8241L
-#define ERROR_DS_INVALID_DN_SYNTAX 8242L
-#define ERROR_DS_IS_LEAF 8243L
-#define ERROR_DS_ALIAS_DEREF_PROBLEM 8244L
-#define ERROR_DS_UNWILLING_TO_PERFORM 8245L
-#define ERROR_DS_LOOP_DETECT 8246L
-#define ERROR_DS_NAMING_VIOLATION 8247L
-#define ERROR_DS_OBJECT_RESULTS_TOO_LARGE 8248L
-#define ERROR_DS_AFFECTS_MULTIPLE_DSAS 8249L
-#define ERROR_DS_SERVER_DOWN 8250L
-#define ERROR_DS_LOCAL_ERROR 8251L
-#define ERROR_DS_ENCODING_ERROR 8252L
-#define ERROR_DS_DECODING_ERROR 8253L
-#define ERROR_DS_FILTER_UNKNOWN 8254L
-#define ERROR_DS_PARAM_ERROR 8255L
-#define ERROR_DS_NOT_SUPPORTED 8256L
-#define ERROR_DS_NO_RESULTS_RETURNED 8257L
-#define ERROR_DS_CONTROL_NOT_FOUND 8258L
-#define ERROR_DS_CLIENT_LOOP 8259L
-#define ERROR_DS_REFERRAL_LIMIT_EXCEEDED 8260L
-#define ERROR_DS_SORT_CONTROL_MISSING 8261L
-#define ERROR_DS_OFFSET_RANGE_ERROR 8262L
-#define ERROR_DS_ROOT_MUST_BE_NC 8301L
-#define ERROR_DS_ADD_REPLICA_INHIBITED 8302L
-#define ERROR_DS_ATT_NOT_DEF_IN_SCHEMA 8303L
-#define ERROR_DS_MAX_OBJ_SIZE_EXCEEDED 8304L
-#define ERROR_DS_OBJ_STRING_NAME_EXISTS 8305L
-#define ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA 8306L
-#define ERROR_DS_RDN_DOESNT_MATCH_SCHEMA 8307L
-#define ERROR_DS_NO_REQUESTED_ATTS_FOUND 8308L
-#define ERROR_DS_USER_BUFFER_TO_SMALL 8309L
-#define ERROR_DS_ATT_IS_NOT_ON_OBJ 8310L
-#define ERROR_DS_ILLEGAL_MOD_OPERATION 8311L
-#define ERROR_DS_OBJ_TOO_LARGE 8312L
-#define ERROR_DS_BAD_INSTANCE_TYPE 8313L
-#define ERROR_DS_MASTERDSA_REQUIRED 8314L
-#define ERROR_DS_OBJECT_CLASS_REQUIRED 8315L
-#define ERROR_DS_MISSING_REQUIRED_ATT 8316L
-#define ERROR_DS_ATT_NOT_DEF_FOR_CLASS 8317L
-#define ERROR_DS_ATT_ALREADY_EXISTS 8318L
-#define ERROR_DS_CANT_ADD_ATT_VALUES 8320L
-#define ERROR_DS_SINGLE_VALUE_CONSTRAINT 8321L
-#define ERROR_DS_RANGE_CONSTRAINT 8322L
-#define ERROR_DS_ATT_VAL_ALREADY_EXISTS 8323L
-#define ERROR_DS_CANT_REM_MISSING_ATT 8324L
-#define ERROR_DS_CANT_REM_MISSING_ATT_VAL 8325L
-#define ERROR_DS_ROOT_CANT_BE_SUBREF 8326L
-#define ERROR_DS_NO_CHAINING 8327L
-#define ERROR_DS_NO_CHAINED_EVAL 8328L
-#define ERROR_DS_NO_PARENT_OBJECT 8329L
-#define ERROR_DS_PARENT_IS_AN_ALIAS 8330L
-#define ERROR_DS_CANT_MIX_MASTER_AND_REPS 8331L
-#define ERROR_DS_CHILDREN_EXIST 8332L
-#define ERROR_DS_OBJ_NOT_FOUND 8333L
-#define ERROR_DS_ALIASED_OBJ_MISSING 8334L
-#define ERROR_DS_BAD_NAME_SYNTAX 8335L
-#define ERROR_DS_ALIAS_POINTS_TO_ALIAS 8336L
-#define ERROR_DS_CANT_DEREF_ALIAS 8337L
-#define ERROR_DS_OUT_OF_SCOPE 8338L
-#define ERROR_DS_OBJECT_BEING_REMOVED 8339L
-#define ERROR_DS_CANT_DELETE_DSA_OBJ 8340L
-#define ERROR_DS_GENERIC_ERROR 8341L
-#define ERROR_DS_DSA_MUST_BE_INT_MASTER 8342L
-#define ERROR_DS_CLASS_NOT_DSA 8343L
-#define ERROR_DS_INSUFF_ACCESS_RIGHTS 8344L
-#define ERROR_DS_ILLEGAL_SUPERIOR 8345L
-#define ERROR_DS_ATTRIBUTE_OWNED_BY_SAM 8346L
-#define ERROR_DS_NAME_TOO_MANY_PARTS 8347L
-#define ERROR_DS_NAME_TOO_LONG 8348L
-#define ERROR_DS_NAME_VALUE_TOO_LONG 8349L
-#define ERROR_DS_NAME_UNPARSEABLE 8350L
-#define ERROR_DS_NAME_TYPE_UNKNOWN 8351L
-#define ERROR_DS_NOT_AN_OBJECT 8352L
-#define ERROR_DS_SEC_DESC_TOO_SHORT 8353L
-#define ERROR_DS_SEC_DESC_INVALID 8354L
-#define ERROR_DS_NO_DELETED_NAME 8355L
-#define ERROR_DS_SUBREF_MUST_HAVE_PARENT 8356L
-#define ERROR_DS_NCNAME_MUST_BE_NC 8357L
-#define ERROR_DS_CANT_ADD_SYSTEM_ONLY 8358L
-#define ERROR_DS_CLASS_MUST_BE_CONCRETE 8359L
-#define ERROR_DS_INVALID_DMD 8360L
-#define ERROR_DS_OBJ_GUID_EXISTS 8361L
-#define ERROR_DS_NOT_ON_BACKLINK 8362L
-#define ERROR_DS_NO_CROSSREF_FOR_NC 8363L
-#define ERROR_DS_SHUTTING_DOWN 8364L
-#define ERROR_DS_UNKNOWN_OPERATION 8365L
-#define ERROR_DS_INVALID_ROLE_OWNER 8366L
-#define ERROR_DS_COULDNT_CONTACT_FSMO 8367L
-#define ERROR_DS_CROSS_NC_DN_RENAME 8368L
-#define ERROR_DS_CANT_MOD_SYSTEM_ONLY 8369L
-#define ERROR_DS_REPLICATOR_ONLY 8370L
-#define ERROR_DS_OBJ_CLASS_NOT_DEFINED 8371L
-#define ERROR_DS_OBJ_CLASS_NOT_SUBCLASS 8372L
-#define ERROR_DS_NAME_REFERENCE_INVALID 8373L
-#define ERROR_DS_CROSS_REF_EXISTS 8374L
-#define ERROR_DS_CANT_DEL_MASTER_CROSSREF 8375L
-#define ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD 8376L
-#define ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX 8377L
-#define ERROR_DS_DUP_RDN 8378L
-#define ERROR_DS_DUP_OID 8379L
-#define ERROR_DS_DUP_MAPI_ID 8380L
-#define ERROR_DS_DUP_SCHEMA_ID_GUID 8381L
-#define ERROR_DS_DUP_LDAP_DISPLAY_NAME 8382L
-#define ERROR_DS_SEMANTIC_ATT_TEST 8383L
-#define ERROR_DS_SYNTAX_MISMATCH 8384L
-#define ERROR_DS_EXISTS_IN_MUST_HAVE 8385L
-#define ERROR_DS_EXISTS_IN_MAY_HAVE 8386L
-#define ERROR_DS_NONEXISTENT_MAY_HAVE 8387L
-#define ERROR_DS_NONEXISTENT_MUST_HAVE 8388L
-#define ERROR_DS_AUX_CLS_TEST_FAIL 8389L
-#define ERROR_DS_NONEXISTENT_POSS_SUP 8390L
-#define ERROR_DS_SUB_CLS_TEST_FAIL 8391L
-#define ERROR_DS_BAD_RDN_ATT_ID_SYNTAX 8392L
-#define ERROR_DS_EXISTS_IN_AUX_CLS 8393L
-#define ERROR_DS_EXISTS_IN_SUB_CLS 8394L
-#define ERROR_DS_EXISTS_IN_POSS_SUP 8395L
-#define ERROR_DS_RECALCSCHEMA_FAILED 8396L
-#define ERROR_DS_TREE_DELETE_NOT_FINISHED 8397L
-#define ERROR_DS_CANT_DELETE 8398L
-#define ERROR_DS_ATT_SCHEMA_REQ_ID 8399L
-#define ERROR_DS_BAD_ATT_SCHEMA_SYNTAX 8400L
-#define ERROR_DS_CANT_CACHE_ATT 8401L
-#define ERROR_DS_CANT_CACHE_CLASS 8402L
-#define ERROR_DS_CANT_REMOVE_ATT_CACHE 8403L
-#define ERROR_DS_CANT_REMOVE_CLASS_CACHE 8404L
-#define ERROR_DS_CANT_RETRIEVE_DN 8405L
-#define ERROR_DS_MISSING_SUPREF 8406L
-#define ERROR_DS_CANT_RETRIEVE_INSTANCE 8407L
-#define ERROR_DS_CODE_INCONSISTENCY 8408L
-#define ERROR_DS_DATABASE_ERROR 8409L
-#define ERROR_DS_GOVERNSID_MISSING 8410L
-#define ERROR_DS_MISSING_EXPECTED_ATT 8411L
-#define ERROR_DS_NCNAME_MISSING_CR_REF 8412L
-#define ERROR_DS_SECURITY_CHECKING_ERROR 8413L
-#define ERROR_DS_SCHEMA_NOT_LOADED 8414L
-#define ERROR_DS_SCHEMA_ALLOC_FAILED 8415L
-#define ERROR_DS_ATT_SCHEMA_REQ_SYNTAX 8416L
-#define ERROR_DS_GCVERIFY_ERROR 8417L
-#define ERROR_DS_DRA_SCHEMA_MISMATCH 8418L
-#define ERROR_DS_CANT_FIND_DSA_OBJ 8419L
-#define ERROR_DS_CANT_FIND_EXPECTED_NC 8420L
-#define ERROR_DS_CANT_FIND_NC_IN_CACHE 8421L
-#define ERROR_DS_CANT_RETRIEVE_CHILD 8422L
-#define ERROR_DS_SECURITY_ILLEGAL_MODIFY 8423L
-#define ERROR_DS_CANT_REPLACE_HIDDEN_REC 8424L
-#define ERROR_DS_BAD_HIERARCHY_FILE 8425L
-#define ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED 8426L
-#define ERROR_DS_CONFIG_PARAM_MISSING 8427L
-#define ERROR_DS_COUNTING_AB_INDICES_FAILED 8428L
-#define ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED 8429L
-#define ERROR_DS_INTERNAL_FAILURE 8430L
-#define ERROR_DS_UNKNOWN_ERROR 8431L
-#define ERROR_DS_ROOT_REQUIRES_CLASS_TOP 8432L
-#define ERROR_DS_REFUSING_FSMO_ROLES 8433L
-#define ERROR_DS_MISSING_FSMO_SETTINGS 8434L
-#define ERROR_DS_UNABLE_TO_SURRENDER_ROLES 8435L
-#define ERROR_DS_DRA_GENERIC 8436L
-#define ERROR_DS_DRA_INVALID_PARAMETER 8437L
-#define ERROR_DS_DRA_BUSY 8438L
-#define ERROR_DS_DRA_BAD_DN 8439L
-#define ERROR_DS_DRA_BAD_NC 8440L
-#define ERROR_DS_DRA_DN_EXISTS 8441L
-#define ERROR_DS_DRA_INTERNAL_ERROR 8442L
-#define ERROR_DS_DRA_INCONSISTENT_DIT 8443L
-#define ERROR_DS_DRA_CONNECTION_FAILED 8444L
-#define ERROR_DS_DRA_BAD_INSTANCE_TYPE 8445L
-#define ERROR_DS_DRA_OUT_OF_MEM 8446L
-#define ERROR_DS_DRA_MAIL_PROBLEM 8447L
-#define ERROR_DS_DRA_REF_ALREADY_EXISTS 8448L
-#define ERROR_DS_DRA_REF_NOT_FOUND 8449L
-#define ERROR_DS_DRA_OBJ_IS_REP_SOURCE 8450L
-#define ERROR_DS_DRA_DB_ERROR 8451L
-#define ERROR_DS_DRA_NO_REPLICA 8452L
-#define ERROR_DS_DRA_ACCESS_DENIED 8453L
-#define ERROR_DS_DRA_NOT_SUPPORTED 8454L
-#define ERROR_DS_DRA_RPC_CANCELLED 8455L
-#define ERROR_DS_DRA_SOURCE_DISABLED 8456L
-#define ERROR_DS_DRA_SINK_DISABLED 8457L
-#define ERROR_DS_DRA_NAME_COLLISION 8458L
-#define ERROR_DS_DRA_SOURCE_REINSTALLED 8459L
-#define ERROR_DS_DRA_MISSING_PARENT 8460L
-#define ERROR_DS_DRA_PREEMPTED 8461L
-#define ERROR_DS_DRA_ABANDON_SYNC 8462L
-#define ERROR_DS_DRA_SHUTDOWN 8463L
-#define ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET 8464L
-#define ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA 8465L
-#define ERROR_DS_DRA_EXTN_CONNECTION_FAILED 8466L
-#define ERROR_DS_INSTALL_SCHEMA_MISMATCH 8467L
-#define ERROR_DS_DUP_LINK_ID 8468L
-#define ERROR_DS_NAME_ERROR_RESOLVING 8469L
-#define ERROR_DS_NAME_ERROR_NOT_FOUND 8470L
-#define ERROR_DS_NAME_ERROR_NOT_UNIQUE 8471L
-#define ERROR_DS_NAME_ERROR_NO_MAPPING 8472L
-#define ERROR_DS_NAME_ERROR_DOMAIN_ONLY 8473L
-#define ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING 8474L
-#define ERROR_DS_CONSTRUCTED_ATT_MOD 8475L
-#define ERROR_DS_WRONG_OM_OBJ_CLASS 8476L
-#define ERROR_DS_DRA_REPL_PENDING 8477L
-#define ERROR_DS_DS_REQUIRED 8478L
-#define ERROR_DS_INVALID_LDAP_DISPLAY_NAME 8479L
-#define ERROR_DS_NON_BASE_SEARCH 8480L
-#define ERROR_DS_CANT_RETRIEVE_ATTS 8481L
-#define ERROR_DS_BACKLINK_WITHOUT_LINK 8482L
-#define ERROR_DS_EPOCH_MISMATCH 8483L
-#define ERROR_DS_SRC_NAME_MISMATCH 8484L
-#define ERROR_DS_SRC_AND_DST_NC_IDENTICAL 8485L
-#define ERROR_DS_DST_NC_MISMATCH 8486L
-#define ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC 8487L
-#define ERROR_DS_SRC_GUID_MISMATCH 8488L
-#define ERROR_DS_CANT_MOVE_DELETED_OBJECT 8489L
-#define ERROR_DS_PDC_OPERATION_IN_PROGRESS 8490L
-#define ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD 8491L
-#define ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION 8492L
-#define ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS 8493L
-#define ERROR_DS_NC_MUST_HAVE_NC_PARENT 8494L
-#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE 8495L
-#define ERROR_DS_DST_DOMAIN_NOT_NATIVE 8496L
-#define ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER 8497L
-#define ERROR_DS_CANT_MOVE_ACCOUNT_GROUP 8498L
-#define ERROR_DS_CANT_MOVE_RESOURCE_GROUP 8499L
-#define ERROR_DS_INVALID_SEARCH_FLAG 8500L
-#define ERROR_DS_NO_TREE_DELETE_ABOVE_NC 8501L
-#define ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE 8502L
-#define ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE 8503L
-#define ERROR_DS_SAM_INIT_FAILURE 8504L
-#define ERROR_DS_SENSITIVE_GROUP_VIOLATION 8505L
-#define ERROR_DS_CANT_MOD_PRIMARYGROUPID 8506L
-#define ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD 8507L
-#define ERROR_DS_NONSAFE_SCHEMA_CHANGE 8508L
-#define ERROR_DS_SCHEMA_UPDATE_DISALLOWED 8509L
-#define ERROR_DS_CANT_CREATE_UNDER_SCHEMA 8510L
-#define ERROR_DS_INSTALL_NO_SRC_SCH_VERSION 8511L
-#define ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE 8512L
-#define ERROR_DS_INVALID_GROUP_TYPE 8513L
-#define ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN 8514L
-#define ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN 8515L
-#define ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER 8516L
-#define ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER 8517L
-#define ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER 8518L
-#define ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER 8519L
-#define ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER 8520L
-#define ERROR_DS_HAVE_PRIMARY_MEMBERS 8521L
-#define ERROR_DS_STRING_SD_CONVERSION_FAILED 8522L
-#define ERROR_DS_NAMING_MASTER_GC 8523L
-#define ERROR_DS_DNS_LOOKUP_FAILURE 8524L
-#define ERROR_DS_COULDNT_UPDATE_SPNS 8525L
-#define ERROR_DS_CANT_RETRIEVE_SD 8526L
-#define ERROR_DS_KEY_NOT_UNIQUE 8527L
-#define ERROR_DS_WRONG_LINKED_ATT_SYNTAX 8528L
-#define ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD 8529L
-#define ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY 8530L
-#define ERROR_DS_CANT_START 8531L
-#define ERROR_DS_INIT_FAILURE 8532L
-#define ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION 8533L
-#define ERROR_DS_SOURCE_DOMAIN_IN_FOREST 8534L
-#define ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST 8535L
-#define ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED 8536L
-#define ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN 8537L
-#define ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER 8538L
-#define ERROR_DS_SRC_SID_EXISTS_IN_FOREST 8539L
-#define ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH 8540L
-#define ERROR_SAM_INIT_FAILURE 8541L
-#define ERROR_DS_DRA_SCHEMA_INFO_SHIP 8542L
-#define ERROR_DS_DRA_SCHEMA_CONFLICT 8543L
-#define ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT 8544L
-#define ERROR_DS_DRA_OBJ_NC_MISMATCH 8545L
-#define ERROR_DS_NC_STILL_HAS_DSAS 8546L
-#define ERROR_DS_GC_REQUIRED 8547L
-#define ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY 8548L
-#define ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS 8549L
-#define ERROR_DS_CANT_ADD_TO_GC 8550L
-#define ERROR_DS_NO_CHECKPOINT_WITH_PDC 8551L
-#define ERROR_DS_SOURCE_AUDITING_NOT_ENABLED 8552L
-#define ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC 8553L
-#define ERROR_DS_INVALID_NAME_FOR_SPN 8554L
-#define ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS 8555L
-#define ERROR_DS_UNICODEPWD_NOT_IN_QUOTES 8556L
-#define ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED 8557L
-#define ERROR_DS_MUST_BE_RUN_ON_DST_DC 8558L
-#define ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER 8559L
-#define ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ 8560L
-#define ERROR_DS_INIT_FAILURE_CONSOLE 8561L
-#define ERROR_DS_SAM_INIT_FAILURE_CONSOLE 8562L
-#define ERROR_DS_FOREST_VERSION_TOO_HIGH 8563L
-#define ERROR_DS_DOMAIN_VERSION_TOO_HIGH 8564L
-#define ERROR_DS_FOREST_VERSION_TOO_LOW 8565L
-#define ERROR_DS_DOMAIN_VERSION_TOO_LOW 8566L
-#define ERROR_DS_INCOMPATIBLE_VERSION 8567L
-#define ERROR_DS_LOW_DSA_VERSION 8568L
-#define ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN 8569L
-#define ERROR_DS_NOT_SUPPORTED_SORT_ORDER 8570L
-#define ERROR_DS_NAME_NOT_UNIQUE 8571L
-#define ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 8572L
-#define ERROR_DS_OUT_OF_VERSION_STORE 8573L
-#define ERROR_DS_INCOMPATIBLE_CONTROLS_USED 8574L
-#define ERROR_DS_NO_REF_DOMAIN 8575L
-#define ERROR_DS_RESERVED_LINK_ID 8576L
-#define ERROR_DS_LINK_ID_NOT_AVAILABLE 8577L
-#define ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER 8578L
-#define ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE 8579L
-#define ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC 8580L
-#define ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG 8581L
-#define ERROR_DS_MODIFYDN_WRONG_GRANDPARENT 8582L
-#define ERROR_DS_NAME_ERROR_TRUST_REFERRAL 8583L
-#define ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER 8584L
-#define ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD 8585L
-#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 8586L
-#define ERROR_DS_THREAD_LIMIT_EXCEEDED 8587L
-#define ERROR_DS_NOT_CLOSEST 8588L
-#define ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF 8589L
-#define ERROR_DS_SINGLE_USER_MODE_FAILED 8590L
-#define ERROR_DS_NTDSCRIPT_SYNTAX_ERROR 8591L
-#define ERROR_DS_NTDSCRIPT_PROCESS_ERROR 8592L
-#define ERROR_DS_DIFFERENT_REPL_EPOCHS 8593L
-#define ERROR_DS_DRS_EXTENSIONS_CHANGED 8594L
-#define ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR 8595L
-#define ERROR_DS_NO_MSDS_INTID 8596L
-#define ERROR_DS_DUP_MSDS_INTID 8597L
-#define ERROR_DS_EXISTS_IN_RDNATTID 8598L
-#define ERROR_DS_AUTHORIZATION_FAILED 8599L
-#define ERROR_DS_INVALID_SCRIPT 8600L
-#define ERROR_DS_REMOTE_CROSSREF_OP_FAILED 8601L
-#define ERROR_DS_CROSS_REF_BUSY 8602L
-#define ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN 8603L
-#define ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC 8604L
-#define ERROR_DS_DUPLICATE_ID_FOUND 8605L
-#define ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT 8606L
-#define ERROR_DS_GROUP_CONVERSION_ERROR 8607L
-#define ERROR_DS_CANT_MOVE_APP_BASIC_GROUP 8608L
-#define ERROR_DS_CANT_MOVE_APP_QUERY_GROUP 8609L
-#define ERROR_DS_ROLE_NOT_VERIFIED 8610L
-#define ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL 8611L
-#define ERROR_DS_DOMAIN_RENAME_IN_PROGRESS 8612L
-#define ERROR_DS_EXISTING_AD_CHILD_NC 8613L
-#define DNS_ERROR_RCODE_FORMAT_ERROR 9001L
-#define DNS_ERROR_RCODE_SERVER_FAILURE 9002L
-#define DNS_ERROR_RCODE_NAME_ERROR 9003L
-#define DNS_ERROR_RCODE_NOT_IMPLEMENTED 9004L
-#define DNS_ERROR_RCODE_REFUSED 9005L
-#define DNS_ERROR_RCODE_YXDOMAIN 9006L
-#define DNS_ERROR_RCODE_YXRRSET 9007L
-#define DNS_ERROR_RCODE_NXRRSET 9008L
-#define DNS_ERROR_RCODE_NOTAUTH 9009L
-#define DNS_ERROR_RCODE_NOTZONE 9010L
-#define DNS_ERROR_RCODE_BADSIG 9016L
-#define DNS_ERROR_RCODE_BADKEY 9017L
-#define DNS_ERROR_RCODE_BADTIME 9018L
-#define DNS_INFO_NO_RECORDS 9501L
-#define DNS_ERROR_BAD_PACKET 9502L
-#define DNS_ERROR_NO_PACKET 9503L
-#define DNS_ERROR_RCODE 9504L
-#define DNS_ERROR_UNSECURE_PACKET 9505L
-#define DNS_ERROR_INVALID_TYPE 9551L
-#define DNS_ERROR_INVALID_IP_ADDRESS 9552L
-#define DNS_ERROR_INVALID_PROPERTY 9553L
-#define DNS_ERROR_TRY_AGAIN_LATER 9554L
-#define DNS_ERROR_NOT_UNIQUE 9555L
-#define DNS_ERROR_NON_RFC_NAME 9556L
-#define DNS_STATUS_FQDN 9557L
-#define DNS_STATUS_DOTTED_NAME 9558L
-#define DNS_STATUS_SINGLE_PART_NAME 9559L
-#define DNS_ERROR_INVALID_NAME_CHAR 9560L
-#define DNS_ERROR_NUMERIC_NAME 9561L
-#define DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER 9562L
-#define DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION 9563L
-#define DNS_ERROR_CANNOT_FIND_ROOT_HINTS 9564L
-#define DNS_ERROR_INCONSISTENT_ROOT_HINTS 9565L
-#define DNS_ERROR_ZONE_DOES_NOT_EXIST 9601L
-#define DNS_ERROR_NO_ZONE_INFO 9602L
-#define DNS_ERROR_INVALID_ZONE_OPERATION 9603L
-#define DNS_ERROR_ZONE_CONFIGURATION_ERROR 9604L
-#define DNS_ERROR_ZONE_HAS_NO_SOA_RECORD 9605L
-#define DNS_ERROR_ZONE_HAS_NO_NS_RECORDS 9606L
-#define DNS_ERROR_ZONE_LOCKED 9607L
-#define DNS_ERROR_ZONE_CREATION_FAILED 9608L
-#define DNS_ERROR_ZONE_ALREADY_EXISTS 9609L
-#define DNS_ERROR_AUTOZONE_ALREADY_EXISTS 9610L
-#define DNS_ERROR_INVALID_ZONE_TYPE 9611L
-#define DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP 9612L
-#define DNS_ERROR_ZONE_NOT_SECONDARY 9613L
-#define DNS_ERROR_NEED_SECONDARY_ADDRESSES 9614L
-#define DNS_ERROR_WINS_INIT_FAILED 9615L
-#define DNS_ERROR_NEED_WINS_SERVERS 9616L
-#define DNS_ERROR_NBSTAT_INIT_FAILED 9617L
-#define DNS_ERROR_SOA_DELETE_INVALID 9618L
-#define DNS_ERROR_FORWARDER_ALREADY_EXISTS 9619L
-#define DNS_ERROR_ZONE_REQUIRES_MASTER_IP 9620L
-#define DNS_ERROR_ZONE_IS_SHUTDOWN 9621L
-#define DNS_ERROR_PRIMARY_REQUIRES_DATAFILE 9651L
-#define DNS_ERROR_INVALID_DATAFILE_NAME 9652L
-#define DNS_ERROR_DATAFILE_OPEN_FAILURE 9653L
-#define DNS_ERROR_FILE_WRITEBACK_FAILED 9654L
-#define DNS_ERROR_DATAFILE_PARSING 9655L
-#define DNS_ERROR_RECORD_DOES_NOT_EXIST 9701L
-#define DNS_ERROR_RECORD_FORMAT 9702L
-#define DNS_ERROR_NODE_CREATION_FAILED 9703L
-#define DNS_ERROR_UNKNOWN_RECORD_TYPE 9704L
-#define DNS_ERROR_RECORD_TIMED_OUT 9705L
-#define DNS_ERROR_NAME_NOT_IN_ZONE 9706L
-#define DNS_ERROR_CNAME_LOOP 9707L
-#define DNS_ERROR_NODE_IS_CNAME 9708L
-#define DNS_ERROR_CNAME_COLLISION 9709L
-#define DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT 9710L
-#define DNS_ERROR_RECORD_ALREADY_EXISTS 9711L
-#define DNS_ERROR_SECONDARY_DATA 9712L
-#define DNS_ERROR_NO_CREATE_CACHE_DATA 9713L
-#define DNS_ERROR_NAME_DOES_NOT_EXIST 9714L
-#define DNS_WARNING_PTR_CREATE_FAILED 9715L
-#define DNS_WARNING_DOMAIN_UNDELETED 9716L
-#define DNS_ERROR_DS_UNAVAILABLE 9717L
-#define DNS_ERROR_DS_ZONE_ALREADY_EXISTS 9718L
-#define DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE 9719L
-#define DNS_INFO_AXFR_COMPLETE 9751L
-#define DNS_ERROR_AXFR 9752L
-#define DNS_INFO_ADDED_LOCAL_WINS 9753L
-#define DNS_STATUS_CONTINUE_NEEDED 9801L
-#define DNS_ERROR_NO_TCPIP 9851L
-#define DNS_ERROR_NO_DNS_SERVERS 9852L
-#define DNS_ERROR_DP_DOES_NOT_EXIST 9901L
-#define DNS_ERROR_DP_ALREADY_EXISTS 9902L
-#define DNS_ERROR_DP_NOT_ENLISTED 9903L
-#define DNS_ERROR_DP_ALREADY_ENLISTED 9904L
-#define DNS_ERROR_DP_NOT_AVAILABLE 9905L
-
-#ifndef WSABASEERR
-#define WSABASEERR 10000
-#define WSAEINTR 10004L
-#define WSAEBADF 10009L
-#define WSAEACCES 10013L
-#define WSAEFAULT 10014L
-#define WSAEINVAL 10022L
-#define WSAEMFILE 10024L
-#define WSAEWOULDBLOCK 10035L
-#define WSAEINPROGRESS 10036L
-#define WSAEALREADY 10037L
-#define WSAENOTSOCK 10038L
-#define WSAEDESTADDRREQ 10039L
-#define WSAEMSGSIZE 10040L
-#define WSAEPROTOTYPE 10041L
-#define WSAENOPROTOOPT 10042L
-#define WSAEPROTONOSUPPORT 10043L
-#define WSAESOCKTNOSUPPORT 10044L
-#define WSAEOPNOTSUPP 10045L
-#define WSAEPFNOSUPPORT 10046L
-#define WSAEAFNOSUPPORT 10047L
-#define WSAEADDRINUSE 10048L
-#define WSAEADDRNOTAVAIL 10049L
-#define WSAENETDOWN 10050L
-#define WSAENETUNREACH 10051L
-#define WSAENETRESET 10052L
-#define WSAECONNABORTED 10053L
-#define WSAECONNRESET 10054L
-#define WSAENOBUFS 10055L
-#define WSAEISCONN 10056L
-#define WSAENOTCONN 10057L
-#define WSAESHUTDOWN 10058L
-#define WSAETOOMANYREFS 10059L
-#define WSAETIMEDOUT 10060L
-#define WSAECONNREFUSED 10061L
-#define WSAELOOP 10062L
-#define WSAENAMETOOLONG 10063L
-#define WSAEHOSTDOWN 10064L
-#define WSAEHOSTUNREACH 10065L
-#define WSAENOTEMPTY 10066L
-#define WSAEPROCLIM 10067L
-#define WSAEUSERS 10068L
-#define WSAEDQUOT 10069L
-#define WSAESTALE 10070L
-#define WSAEREMOTE 10071L
-#define WSASYSNOTREADY 10091L
-#define WSAVERNOTSUPPORTED 10092L
-#define WSANOTINITIALISED 10093L
-#define WSAEDISCON 10101L
-#define WSAENOMORE 10102L
-#define WSAECANCELLED 10103L
-#define WSAEINVALIDPROCTABLE 10104L
-#define WSAEINVALIDPROVIDER 10105L
-#define WSAEPROVIDERFAILEDINIT 10106L
-#define WSASYSCALLFAILURE 10107L
-#define WSASERVICE_NOT_FOUND 10108L
-#define WSATYPE_NOT_FOUND 10109L
-#define WSA_E_NO_MORE 10110L
-#define WSA_E_CANCELLED 10111L
-#define WSAEREFUSED 10112L
-#define WSAHOST_NOT_FOUND 11001L
-#define WSATRY_AGAIN 11002L
-#define WSANO_RECOVERY 11003L
-#define WSANO_DATA 11004L
-#define WSA_QOS_RECEIVERS 11005L
-#define WSA_QOS_SENDERS 11006L
-#define WSA_QOS_NO_SENDERS 11007L
-#define WSA_QOS_NO_RECEIVERS 11008L
-#define WSA_QOS_REQUEST_CONFIRMED 11009L
-#define WSA_QOS_ADMISSION_FAILURE 11010L
-#define WSA_QOS_POLICY_FAILURE 11011L
-#define WSA_QOS_BAD_STYLE 11012L
-#define WSA_QOS_BAD_OBJECT 11013L
-#define WSA_QOS_TRAFFIC_CTRL_ERROR 11014L
-#define WSA_QOS_GENERIC_ERROR 11015L
-#define WSA_QOS_ESERVICETYPE 11016L
-#define WSA_QOS_EFLOWSPEC 11017L
-#define WSA_QOS_EPROVSPECBUF 11018L
-#define WSA_QOS_EFILTERSTYLE 11019L
-#define WSA_QOS_EFILTERTYPE 11020L
-#define WSA_QOS_EFILTERCOUNT 11021L
-#define WSA_QOS_EOBJLENGTH 11022L
-#define WSA_QOS_EFLOWCOUNT 11023L
-#define WSA_QOS_EUNKOWNPSOBJ 11024L
-#define WSA_QOS_EPOLICYOBJ 11025L
-#define WSA_QOS_EFLOWDESC 11026L
-#define WSA_QOS_EPSFLOWSPEC 11027L
-#define WSA_QOS_EPSFILTERSPEC 11028L
-#define WSA_QOS_ESDMODEOBJ 11029L
-#define WSA_QOS_ESHAPERATEOBJ 11030L
-#define WSA_QOS_RESERVED_PETYPE 11031L
-#endif /* !WSABASEERR */
-
-#define ERROR_IPSEC_QM_POLICY_EXISTS 13000L
-#define ERROR_IPSEC_QM_POLICY_NOT_FOUND 13001L
-#define ERROR_IPSEC_QM_POLICY_IN_USE 13002L
-#define ERROR_IPSEC_MM_POLICY_EXISTS 13003L
-#define ERROR_IPSEC_MM_POLICY_NOT_FOUND 13004L
-#define ERROR_IPSEC_MM_POLICY_IN_USE 13005L
-#define ERROR_IPSEC_MM_FILTER_EXISTS 13006L
-#define ERROR_IPSEC_MM_FILTER_NOT_FOUND 13007L
-#define ERROR_IPSEC_TRANSPORT_FILTER_EXISTS 13008L
-#define ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND 13009L
-#define ERROR_IPSEC_MM_AUTH_EXISTS 13010L
-#define ERROR_IPSEC_MM_AUTH_NOT_FOUND 13011L
-#define ERROR_IPSEC_MM_AUTH_IN_USE 13012L
-#define ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND 13013L
-#define ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND 13014L
-#define ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND 13015L
-#define ERROR_IPSEC_TUNNEL_FILTER_EXISTS 13016L
-#define ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND 13017L
-#define ERROR_IPSEC_MM_FILTER_PENDING_DELETION 13018L
-#define ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION 13019L
-#define ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION 13020L
-#define ERROR_IPSEC_MM_POLICY_PENDING_DELETION 13021L
-#define ERROR_IPSEC_MM_AUTH_PENDING_DELETION 13022L
-#define ERROR_IPSEC_QM_POLICY_PENDING_DELETION 13023L
-#define WARNING_IPSEC_MM_POLICY_PRUNED 13024L
-#define WARNING_IPSEC_QM_POLICY_PRUNED 13025L
-#define ERROR_IPSEC_IKE_AUTH_FAIL 13801L
-#define ERROR_IPSEC_IKE_ATTRIB_FAIL 13802L
-#define ERROR_IPSEC_IKE_NEGOTIATION_PENDING 13803L
-#define ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR 13804L
-#define ERROR_IPSEC_IKE_TIMED_OUT 13805L
-#define ERROR_IPSEC_IKE_NO_CERT 13806L
-#define ERROR_IPSEC_IKE_SA_DELETED 13807L
-#define ERROR_IPSEC_IKE_SA_REAPED 13808L
-#define ERROR_IPSEC_IKE_MM_ACQUIRE_DROP 13809L
-#define ERROR_IPSEC_IKE_QM_ACQUIRE_DROP 13810L
-#define ERROR_IPSEC_IKE_QUEUE_DROP_MM 13811L
-#define ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM 13812L
-#define ERROR_IPSEC_IKE_DROP_NO_RESPONSE 13813L
-#define ERROR_IPSEC_IKE_MM_DELAY_DROP 13814L
-#define ERROR_IPSEC_IKE_QM_DELAY_DROP 13815L
-#define ERROR_IPSEC_IKE_ERROR 13816L
-#define ERROR_IPSEC_IKE_CRL_FAILED 13817L
-#define ERROR_IPSEC_IKE_INVALID_KEY_USAGE 13818L
-#define ERROR_IPSEC_IKE_INVALID_CERT_TYPE 13819L
-#define ERROR_IPSEC_IKE_NO_PRIVATE_KEY 13820L
-#define ERROR_IPSEC_IKE_DH_FAIL 13822L
-#define ERROR_IPSEC_IKE_INVALID_HEADER 13824L
-#define ERROR_IPSEC_IKE_NO_POLICY 13825L
-#define ERROR_IPSEC_IKE_INVALID_SIGNATURE 13826L
-#define ERROR_IPSEC_IKE_KERBEROS_ERROR 13827L
-#define ERROR_IPSEC_IKE_NO_PUBLIC_KEY 13828L
-#define ERROR_IPSEC_IKE_PROCESS_ERR 13829L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_SA 13830L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_PROP 13831L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_TRANS 13832L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_KE 13833L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_ID 13834L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT 13835L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ 13836L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_HASH 13837L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_SIG 13838L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_NONCE 13839L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY 13840L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_DELETE 13841L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR 13842L
-#define ERROR_IPSEC_IKE_INVALID_PAYLOAD 13843L
-#define ERROR_IPSEC_IKE_LOAD_SOFT_SA 13844L
-#define ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN 13845L
-#define ERROR_IPSEC_IKE_INVALID_COOKIE 13846L
-#define ERROR_IPSEC_IKE_NO_PEER_CERT 13847L
-#define ERROR_IPSEC_IKE_PEER_CRL_FAILED 13848L
-#define ERROR_IPSEC_IKE_POLICY_CHANGE 13849L
-#define ERROR_IPSEC_IKE_NO_MM_POLICY 13850L
-#define ERROR_IPSEC_IKE_NOTCBPRIV 13851L
-#define ERROR_IPSEC_IKE_SECLOADFAIL 13852L
-#define ERROR_IPSEC_IKE_FAILSSPINIT 13853L
-#define ERROR_IPSEC_IKE_FAILQUERYSSP 13854L
-#define ERROR_IPSEC_IKE_SRVACQFAIL 13855L
-#define ERROR_IPSEC_IKE_SRVQUERYCRED 13856L
-#define ERROR_IPSEC_IKE_GETSPIFAIL 13857L
-#define ERROR_IPSEC_IKE_INVALID_FILTER 13858L
-#define ERROR_IPSEC_IKE_OUT_OF_MEMORY 13859L
-#define ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED 13860L
-#define ERROR_IPSEC_IKE_INVALID_POLICY 13861L
-#define ERROR_IPSEC_IKE_UNKNOWN_DOI 13862L
-#define ERROR_IPSEC_IKE_INVALID_SITUATION 13863L
-#define ERROR_IPSEC_IKE_DH_FAILURE 13864L
-#define ERROR_IPSEC_IKE_INVALID_GROUP 13865L
-#define ERROR_IPSEC_IKE_ENCRYPT 13866L
-#define ERROR_IPSEC_IKE_DECRYPT 13867L
-#define ERROR_IPSEC_IKE_POLICY_MATCH 13868L
-#define ERROR_IPSEC_IKE_UNSUPPORTED_ID 13869L
-#define ERROR_IPSEC_IKE_INVALID_HASH 13870L
-#define ERROR_IPSEC_IKE_INVALID_HASH_ALG 13871L
-#define ERROR_IPSEC_IKE_INVALID_HASH_SIZE 13872L
-#define ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG 13873L
-#define ERROR_IPSEC_IKE_INVALID_AUTH_ALG 13874L
-#define ERROR_IPSEC_IKE_INVALID_SIG 13875L
-#define ERROR_IPSEC_IKE_LOAD_FAILED 13876L
-#define ERROR_IPSEC_IKE_RPC_DELETE 13877L
-#define ERROR_IPSEC_IKE_BENIGN_REINIT 13878L
-#define ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY 13879L
-#define ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN 13881L
-#define ERROR_IPSEC_IKE_MM_LIMIT 13882L
-#define ERROR_IPSEC_IKE_NEGOTIATION_DISABLED 13883L
-#define ERROR_IPSEC_IKE_NEG_STATUS_END 13884L
-
-#define ERROR_SXS_SECTION_NOT_FOUND 14000L
-#define ERROR_SXS_CANT_GEN_ACTCTX 14001L
-#define ERROR_SXS_INVALID_ACTCTXDATA_FORMAT 14002L
-#define ERROR_SXS_ASSEMBLY_NOT_FOUND 14003L
-#define ERROR_SXS_MANIFEST_FORMAT_ERROR 14004L
-#define ERROR_SXS_MANIFEST_PARSE_ERROR 14005L
-#define ERROR_SXS_ACTIVATION_CONTEXT_DISABLED 14006L
-#define ERROR_SXS_KEY_NOT_FOUND 14007L
-#define ERROR_SXS_VERSION_CONFLICT 14008L
-#define ERROR_SXS_WRONG_SECTION_TYPE 14009L
-#define ERROR_SXS_THREAD_QUERIES_DISABLED 14010L
-#define ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET 14011L
-#define ERROR_SXS_UNKNOWN_ENCODING_GROUP 14012L
-#define ERROR_SXS_UNKNOWN_ENCODING 14013L
-#define ERROR_SXS_INVALID_XML_NAMESPACE_URI 14014L
-#define ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED 14015L
-#define ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED 14016L
-#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE 14017L
-#define ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE 14018L
-#define ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE 14019L
-#define ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT 14020L
-#define ERROR_SXS_DUPLICATE_DLL_NAME 14021L
-#define ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME 14022L
-#define ERROR_SXS_DUPLICATE_CLSID 14023L
-#define ERROR_SXS_DUPLICATE_IID 14024L
-#define ERROR_SXS_DUPLICATE_TLBID 14025L
-#define ERROR_SXS_DUPLICATE_PROGID 14026L
-#define ERROR_SXS_DUPLICATE_ASSEMBLY_NAME 14027L
-#define ERROR_SXS_FILE_HASH_MISMATCH 14028L
-#define ERROR_SXS_POLICY_PARSE_ERROR 14029L
-#define ERROR_SXS_XML_E_MISSINGQUOTE 14030L
-#define ERROR_SXS_XML_E_COMMENTSYNTAX 14031L
-#define ERROR_SXS_XML_E_BADSTARTNAMECHAR 14032L
-#define ERROR_SXS_XML_E_BADNAMECHAR 14033L
-#define ERROR_SXS_XML_E_BADCHARINSTRING 14034L
-#define ERROR_SXS_XML_E_XMLDECLSYNTAX 14035L
-#define ERROR_SXS_XML_E_BADCHARDATA 14036L
-#define ERROR_SXS_XML_E_MISSINGWHITESPACE 14037L
-#define ERROR_SXS_XML_E_EXPECTINGTAGEND 14038L
-#define ERROR_SXS_XML_E_MISSINGSEMICOLON 14039L
-#define ERROR_SXS_XML_E_UNBALANCEDPAREN 14040L
-#define ERROR_SXS_XML_E_INTERNALERROR 14041L
-#define ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE 14042L
-#define ERROR_SXS_XML_E_INCOMPLETE_ENCODING 14043L
-#define ERROR_SXS_XML_E_MISSING_PAREN 14044L
-#define ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE 14045L
-#define ERROR_SXS_XML_E_MULTIPLE_COLONS 14046L
-#define ERROR_SXS_XML_E_INVALID_DECIMAL 14047L
-#define ERROR_SXS_XML_E_INVALID_HEXIDECIMAL 14048L
-#define ERROR_SXS_XML_E_INVALID_UNICODE 14049L
-#define ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK 14050L
-#define ERROR_SXS_XML_E_UNEXPECTEDENDTAG 14051L
-#define ERROR_SXS_XML_E_UNCLOSEDTAG 14052L
-#define ERROR_SXS_XML_E_DUPLICATEATTRIBUTE 14053L
-#define ERROR_SXS_XML_E_MULTIPLEROOTS 14054L
-#define ERROR_SXS_XML_E_INVALIDATROOTLEVEL 14055L
-#define ERROR_SXS_XML_E_BADXMLDECL 14056L
-#define ERROR_SXS_XML_E_MISSINGROOT 14057L
-#define ERROR_SXS_XML_E_UNEXPECTEDEOF 14058L
-#define ERROR_SXS_XML_E_BADPEREFINSUBSET 14059L
-#define ERROR_SXS_XML_E_UNCLOSEDSTARTTAG 14060L
-#define ERROR_SXS_XML_E_UNCLOSEDENDTAG 14061L
-#define ERROR_SXS_XML_E_UNCLOSEDSTRING 14062L
-#define ERROR_SXS_XML_E_UNCLOSEDCOMMENT 14063L
-#define ERROR_SXS_XML_E_UNCLOSEDDECL 14064L
-#define ERROR_SXS_XML_E_UNCLOSEDCDATA 14065L
-#define ERROR_SXS_XML_E_RESERVEDNAMESPACE 14066L
-#define ERROR_SXS_XML_E_INVALIDENCODING 14067L
-#define ERROR_SXS_XML_E_INVALIDSWITCH 14068L
-#define ERROR_SXS_XML_E_BADXMLCASE 14069L
-#define ERROR_SXS_XML_E_INVALID_STANDALONE 14070L
-#define ERROR_SXS_XML_E_UNEXPECTED_STANDALONE 14071L
-#define ERROR_SXS_XML_E_INVALID_VERSION 14072L
-#define ERROR_SXS_XML_E_MISSINGEQUALS 14073L
-#define ERROR_SXS_PROTECTION_RECOVERY_FAILED 14074L
-#define ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT 14075L
-#define ERROR_SXS_PROTECTION_CATALOG_NOT_VALID 14076L
-#define ERROR_SXS_UNTRANSLATABLE_HRESULT 14077L
-#define ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING 14078L
-#define ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE 14079L
-#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME 14080L
-
-//Crypto realted errors
-#define CRYPT_E_NOT_FOUND                _HRESULT_TYPEDEF_(0x80092004L)
-#define CRYPT_E_EXISTS                   _HRESULT_TYPEDEF_(0x80092005L)
-#define CRYPT_E_NO_PROVIDER              _HRESULT_TYPEDEF_(0x80092006L)
-#define CRYPT_E_SELF_SIGNED              _HRESULT_TYPEDEF_(0x80092007L)
-#define CRYPT_E_DELETED_PREV             _HRESULT_TYPEDEF_(0x80092008L)
-#define CRYPT_E_NO_MATCH                 _HRESULT_TYPEDEF_(0x80092009L)
-#define CRYPT_E_UNEXPECTED_MSG_TYPE      _HRESULT_TYPEDEF_(0x8009200AL)
-#define CRYPT_E_NO_KEY_PROPERTY          _HRESULT_TYPEDEF_(0x8009200BL)
-#define CRYPT_E_NO_DECRYPT_CERT          _HRESULT_TYPEDEF_(0x8009200CL)
-#define CRYPT_E_BAD_MSG                  _HRESULT_TYPEDEF_(0x8009200DL)
-#define CRYPT_E_NO_SIGNER                _HRESULT_TYPEDEF_(0x8009200EL)
-#define CRYPT_E_PENDING_CLOSE            _HRESULT_TYPEDEF_(0x8009200FL)
-#define CRYPT_E_NO_REVOCATION_DLL        _HRESULT_TYPEDEF_(0x80092011L)
-#define CRYPT_E_NO_REVOCATION_CHECK      _HRESULT_TYPEDEF_(0x80092012L)
-
-#define SEVERITY_SUCCESS 0
-#define SEVERITY_ERROR 1
-#define FACILITY_WINDOWS 8
-#define FACILITY_STORAGE 3
-#define FACILITY_RPC 1
-#define FACILITY_WIN32 7
-#define FACILITY_CONTROL 10
-#define FACILITY_NULL 0
-#define FACILITY_ITF 4
-#define FACILITY_DISPATCH 2
-#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
-#define FAILED(Status) ((HRESULT)(Status)<0)
-#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR)
-#define HRESULT_CODE(r) ((r)&0xFFFF)
-#define SCODE_CODE(c) ((c)&0xFFFF)
-#define HRESULT_FACILITY(r) (((r)>>16)&0x1fff)
-#define SCODE_FACILITY(c) (((c)>>16)&0x1fff)
-#define HRESULT_SEVERITY(r) (((r)>>31)&0x1)
-#define SCODE_SEVERITY(c) (((c)>>31)&0x1)
-#define MAKE_HRESULT(s,f,c) ((HRESULT)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))))
-#define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) )
-#define FACILITY_NT_BIT 0x10000000
-#define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0)
-#define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT))
-#define GetScode(hr) ((SCODE) (hr))
-#define ResultFromScode(sc) ((HRESULT) (sc))
-#define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase)
-
-#define NOERROR S_OK
-#define E_UNEXPECTED ((HRESULT)0x8000FFFFL)
-#define E_NOTIMPL ((HRESULT)0x80004001L)
-#define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
-#define E_INVALIDARG ((HRESULT)0x80070057L)
-#define E_NOINTERFACE ((HRESULT)0x80004002L)
-#define E_POINTER ((HRESULT)0x80004003L)
-#define E_HANDLE ((HRESULT)0x80070006L)
-#define E_ABORT ((HRESULT)0x80004004L)
-#define E_FAIL ((HRESULT)0x80004005L)
-#define E_ACCESSDENIED ((HRESULT)0x80070005L)
-#define E_PENDING ((HRESULT)0x8000000AL)
-#define CO_E_INIT_TLS ((HRESULT)0x80004006L)
-#define CO_E_INIT_SHARED_ALLOCATOR ((HRESULT)0x80004007L)
-#define CO_E_INIT_MEMORY_ALLOCATOR ((HRESULT)0x80004008L)
-#define CO_E_INIT_CLASS_CACHE ((HRESULT)0x80004009L)
-#define CO_E_INIT_RPC_CHANNEL ((HRESULT)0x8000400AL)
-#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL ((HRESULT)0x8000400BL)
-#define CO_E_INIT_TLS_CHANNEL_CONTROL ((HRESULT)0x8000400CL)
-#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR ((HRESULT)0x8000400DL)
-#define CO_E_INIT_SCM_MUTEX_EXISTS ((HRESULT)0x8000400EL)
-#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS ((HRESULT)0x8000400FL)
-#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE ((HRESULT)0x80004010L)
-#define CO_E_INIT_SCM_EXEC_FAILURE ((HRESULT)0x80004011L)
-#define CO_E_INIT_ONLY_SINGLE_THREADED ((HRESULT)0x80004012L)
-#define S_OK ((HRESULT)0x00000000L)
-#define S_FALSE ((HRESULT)0x00000001L)
-#define OLE_E_FIRST ((HRESULT)0x80040000L)
-#define OLE_E_LAST ((HRESULT)0x800400FFL)
-#define OLE_S_FIRST ((HRESULT)0x00040000L)
-#define OLE_S_LAST ((HRESULT)0x000400FFL)
-#define OLE_E_OLEVERB ((HRESULT)0x80040000L)
-#define OLE_E_ADVF ((HRESULT)0x80040001L)
-#define OLE_E_ENUM_NOMORE ((HRESULT)0x80040002L)
-#define OLE_E_ADVISENOTSUPPORTED ((HRESULT)0x80040003L)
-#define OLE_E_NOCONNECTION ((HRESULT)0x80040004L)
-#define OLE_E_NOTRUNNING ((HRESULT)0x80040005L)
-#define OLE_E_NOCACHE ((HRESULT)0x80040006L)
-#define OLE_E_BLANK ((HRESULT)0x80040007L)
-#define OLE_E_CLASSDIFF ((HRESULT)0x80040008L)
-#define OLE_E_CANT_GETMONIKER ((HRESULT)0x80040009L)
-#define OLE_E_CANT_BINDTOSOURCE ((HRESULT)0x8004000AL)
-#define OLE_E_STATIC ((HRESULT)0x8004000BL)
-#define OLE_E_PROMPTSAVECANCELLED ((HRESULT)0x8004000CL)
-#define OLE_E_INVALIDRECT ((HRESULT)0x8004000DL)
-#define OLE_E_WRONGCOMPOBJ ((HRESULT)0x8004000EL)
-#define OLE_E_INVALIDHWND ((HRESULT)0x8004000FL)
-#define OLE_E_NOT_INPLACEACTIVE ((HRESULT)0x80040010L)
-#define OLE_E_CANTCONVERT ((HRESULT)0x80040011L)
-#define OLE_E_NOSTORAGE ((HRESULT)0x80040012L)
-#define DV_E_FORMATETC ((HRESULT)0x80040064L)
-#define DV_E_DVTARGETDEVICE ((HRESULT)0x80040065L)
-#define DV_E_STGMEDIUM ((HRESULT)0x80040066L)
-#define DV_E_STATDATA ((HRESULT)0x80040067L)
-#define DV_E_LINDEX ((HRESULT)0x80040068L)
-#define DV_E_TYMED ((HRESULT)0x80040069L)
-#define DV_E_CLIPFORMAT ((HRESULT)0x8004006AL)
-#define DV_E_DVASPECT ((HRESULT)0x8004006BL)
-#define DV_E_DVTARGETDEVICE_SIZE ((HRESULT)0x8004006CL)
-#define DV_E_NOIVIEWOBJECT ((HRESULT)0x8004006DL)
-#define DRAGDROP_E_FIRST ((HRESULT)0x80040100L)
-#define DRAGDROP_E_LAST ((HRESULT)0x8004010FL)
-#define DRAGDROP_S_FIRST ((HRESULT)0x00040100L)
-#define DRAGDROP_S_LAST ((HRESULT)0x0004010FL)
-#define DRAGDROP_E_NOTREGISTERED ((HRESULT)0x80040100L)
-#define DRAGDROP_E_ALREADYREGISTERED ((HRESULT)0x80040101L)
-#define DRAGDROP_E_INVALIDHWND ((HRESULT)0x80040102L)
-#define CLASSFACTORY_E_FIRST ((HRESULT)0x80040110L)
-#define CLASSFACTORY_E_LAST ((HRESULT)0x8004011FL)
-#define CLASSFACTORY_S_FIRST ((HRESULT)0x00040110L)
-#define CLASSFACTORY_S_LAST ((HRESULT)0x0004011FL)
-#define CLASS_E_NOAGGREGATION ((HRESULT)0x80040110L)
-#define CLASS_E_CLASSNOTAVAILABLE ((HRESULT)0x80040111L)
-#define MARSHAL_E_FIRST ((HRESULT)0x80040120L)
-#define MARSHAL_E_LAST ((HRESULT)0x8004012FL)
-#define MARSHAL_S_FIRST ((HRESULT)0x00040120L)
-#define MARSHAL_S_LAST ((HRESULT)0x0004012FL)
-#define DATA_E_FIRST ((HRESULT)0x80040130L)
-#define DATA_E_LAST ((HRESULT)0x8004013FL)
-#define DATA_S_FIRST ((HRESULT)0x00040130L)
-#define DATA_S_LAST ((HRESULT)0x0004013FL)
-#define VIEW_E_FIRST ((HRESULT)0x80040140L)
-#define VIEW_E_LAST ((HRESULT)0x8004014FL)
-#define VIEW_S_FIRST ((HRESULT)0x00040140L)
-#define VIEW_S_LAST ((HRESULT)0x0004014FL)
-#define VIEW_E_DRAW ((HRESULT)0x80040140L)
-#define REGDB_E_FIRST ((HRESULT)0x80040150L)
-#define REGDB_E_LAST ((HRESULT)0x8004015FL)
-#define REGDB_S_FIRST ((HRESULT)0x00040150L)
-#define REGDB_S_LAST ((HRESULT)0x0004015FL)
-#define REGDB_E_READREGDB ((HRESULT)0x80040150L)
-#define REGDB_E_WRITEREGDB ((HRESULT)0x80040151L)
-#define REGDB_E_KEYMISSING ((HRESULT)0x80040152L)
-#define REGDB_E_INVALIDVALUE ((HRESULT)0x80040153L)
-#define REGDB_E_CLASSNOTREG ((HRESULT)0x80040154L)
-#define REGDB_E_IIDNOTREG ((HRESULT)0x80040155L)
-#define CACHE_E_FIRST ((HRESULT)0x80040170L)
-#define CACHE_E_LAST ((HRESULT)0x8004017FL)
-#define CACHE_S_FIRST ((HRESULT)0x00040170L)
-#define CACHE_S_LAST ((HRESULT)0x0004017FL)
-#define CACHE_E_NOCACHE_UPDATED ((HRESULT)0x80040170L)
-#define OLEOBJ_E_FIRST ((HRESULT)0x80040180L)
-#define OLEOBJ_E_LAST ((HRESULT)0x8004018FL)
-#define OLEOBJ_S_FIRST ((HRESULT)0x00040180L)
-#define OLEOBJ_S_LAST ((HRESULT)0x0004018FL)
-#define OLEOBJ_E_NOVERBS ((HRESULT)0x80040180L)
-#define OLEOBJ_E_INVALIDVERB ((HRESULT)0x80040181L)
-#define CLIENTSITE_E_FIRST ((HRESULT)0x80040190L)
-#define CLIENTSITE_E_LAST ((HRESULT)0x8004019FL)
-#define CLIENTSITE_S_FIRST ((HRESULT)0x00040190L)
-#define CLIENTSITE_S_LAST ((HRESULT)0x0004019FL)
-#define INPLACE_E_NOTUNDOABLE ((HRESULT)0x800401A0L)
-#define INPLACE_E_NOTOOLSPACE ((HRESULT)0x800401A1L)
-#define INPLACE_E_FIRST ((HRESULT)0x800401A0L)
-#define INPLACE_E_LAST ((HRESULT)0x800401AFL)
-#define INPLACE_S_FIRST ((HRESULT)0x000401A0L)
-#define INPLACE_S_LAST ((HRESULT)0x000401AFL)
-#define ENUM_E_FIRST ((HRESULT)0x800401B0L)
-#define ENUM_E_LAST ((HRESULT)0x800401BFL)
-#define ENUM_S_FIRST ((HRESULT)0x000401B0L)
-#define ENUM_S_LAST ((HRESULT)0x000401BFL)
-#define CONVERT10_E_FIRST ((HRESULT)0x800401C0L)
-#define CONVERT10_E_LAST ((HRESULT)0x800401CFL)
-#define CONVERT10_S_FIRST ((HRESULT)0x000401C0L)
-#define CONVERT10_S_LAST ((HRESULT)0x000401CFL)
-#define CONVERT10_E_OLESTREAM_GET ((HRESULT)0x800401C0L)
-#define CONVERT10_E_OLESTREAM_PUT ((HRESULT)0x800401C1L)
-#define CONVERT10_E_OLESTREAM_FMT ((HRESULT)0x800401C2L)
-#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB ((HRESULT)0x800401C3L)
-#define CONVERT10_E_STG_FMT ((HRESULT)0x800401C4L)
-#define CONVERT10_E_STG_NO_STD_STREAM ((HRESULT)0x800401C5L)
-#define CONVERT10_E_STG_DIB_TO_BITMAP ((HRESULT)0x800401C6L)
-#define CLIPBRD_E_FIRST ((HRESULT)0x800401D0L)
-#define CLIPBRD_E_LAST ((HRESULT)0x800401DFL)
-#define CLIPBRD_S_FIRST ((HRESULT)0x000401D0L)
-#define CLIPBRD_S_LAST ((HRESULT)0x000401DFL)
-#define CLIPBRD_E_CANT_OPEN ((HRESULT)0x800401D0L)
-#define CLIPBRD_E_CANT_EMPTY ((HRESULT)0x800401D1L)
-#define CLIPBRD_E_CANT_SET ((HRESULT)0x800401D2L)
-#define CLIPBRD_E_BAD_DATA ((HRESULT)0x800401D3L)
-#define CLIPBRD_E_CANT_CLOSE ((HRESULT)0x800401D4L)
-#define MK_E_FIRST ((HRESULT)0x800401E0L)
-#define MK_E_LAST ((HRESULT)0x800401EFL)
-#define MK_S_FIRST ((HRESULT)0x000401E0L)
-#define MK_S_LAST ((HRESULT)0x000401EFL)
-#define MK_E_CONNECTMANUALLY ((HRESULT)0x800401E0L)
-#define MK_E_EXCEEDEDDEADLINE ((HRESULT)0x800401E1L)
-#define MK_E_NEEDGENERIC ((HRESULT)0x800401E2L)
-#define MK_E_UNAVAILABLE ((HRESULT)0x800401E3L)
-#define MK_E_SYNTAX ((HRESULT)0x800401E4L)
-#define MK_E_NOOBJECT ((HRESULT)0x800401E5L)
-#define MK_E_INVALIDEXTENSION ((HRESULT)0x800401E6L)
-#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED ((HRESULT)0x800401E7L)
-#define MK_E_NOTBINDABLE ((HRESULT)0x800401E8L)
-#define MK_E_NOTBOUND ((HRESULT)0x800401E9L)
-#define MK_E_CANTOPENFILE ((HRESULT)0x800401EAL)
-#define MK_E_MUSTBOTHERUSER ((HRESULT)0x800401EBL)
-#define MK_E_NOINVERSE ((HRESULT)0x800401ECL)
-#define MK_E_NOSTORAGE ((HRESULT)0x800401EDL)
-#define MK_E_NOPREFIX ((HRESULT)0x800401EEL)
-#define MK_E_ENUMERATION_FAILED ((HRESULT)0x800401EFL)
-#define CO_E_FIRST ((HRESULT)0x800401F0L)
-#define CO_E_LAST ((HRESULT)0x800401FFL)
-#define CO_S_FIRST ((HRESULT)0x000401F0L)
-#define CO_S_LAST ((HRESULT)0x000401FFL)
-#define CO_E_NOTINITIALIZED ((HRESULT)0x800401F0L)
-#define CO_E_ALREADYINITIALIZED ((HRESULT)0x800401F1L)
-#define CO_E_CANTDETERMINECLASS ((HRESULT)0x800401F2L)
-#define CO_E_CLASSSTRING ((HRESULT)0x800401F3L)
-#define CO_E_IIDSTRING ((HRESULT)0x800401F4L)
-#define CO_E_APPNOTFOUND ((HRESULT)0x800401F5L)
-#define CO_E_APPSINGLEUSE ((HRESULT)0x800401F6L)
-#define CO_E_ERRORINAPP ((HRESULT)0x800401F7L)
-#define CO_E_DLLNOTFOUND ((HRESULT)0x800401F8L)
-#define CO_E_ERRORINDLL ((HRESULT)0x800401F9L)
-#define CO_E_WRONGOSFORAPP ((HRESULT)0x800401FAL)
-#define CO_E_OBJNOTREG ((HRESULT)0x800401FBL)
-#define CO_E_OBJISREG ((HRESULT)0x800401FCL)
-#define CO_E_OBJNOTCONNECTED ((HRESULT)0x800401FDL)
-#define CO_E_APPDIDNTREG ((HRESULT)0x800401FEL)
-#define CO_E_RELEASED ((HRESULT)0x800401FFL)
-#define OLE_S_USEREG ((HRESULT)0x00040000L)
-#define OLE_S_STATIC ((HRESULT)0x00040001L)
-#define OLE_S_MAC_CLIPFORMAT ((HRESULT)0x00040002L)
-#define DRAGDROP_S_DROP ((HRESULT)0x00040100L)
-#define DRAGDROP_S_CANCEL ((HRESULT)0x00040101L)
-#define DRAGDROP_S_USEDEFAULTCURSORS ((HRESULT)0x00040102L)
-#define DATA_S_SAMEFORMATETC ((HRESULT)0x00040130L)
-#define VIEW_S_ALREADY_FROZEN ((HRESULT)0x00040140L)
-#define CACHE_S_FORMATETC_NOTSUPPORTED ((HRESULT)0x00040170L)
-#define CACHE_S_SAMECACHE ((HRESULT)0x00040171L)
-#define CACHE_S_SOMECACHES_NOTUPDATED ((HRESULT)0x00040172L)
-#define OLEOBJ_S_INVALIDVERB ((HRESULT)0x00040180L)
-#define OLEOBJ_S_CANNOT_DOVERB_NOW ((HRESULT)0x00040181L)
-#define OLEOBJ_S_INVALIDHWND ((HRESULT)0x00040182L)
-#define INPLACE_S_TRUNCATED ((HRESULT)0x000401A0L)
-#define CONVERT10_S_NO_PRESENTATION ((HRESULT)0x000401C0L)
-#define MK_S_REDUCED_TO_SELF ((HRESULT)0x000401E2L)
-#define MK_S_ME ((HRESULT)0x000401E4L)
-#define MK_S_HIM ((HRESULT)0x000401E5L)
-#define MK_S_US ((HRESULT)0x000401E6L)
-#define MK_S_MONIKERALREADYREGISTERED ((HRESULT)0x000401E7L)
-#define CO_E_CLASS_CREATE_FAILED ((HRESULT)0x80080001L)
-#define CO_E_SCM_ERROR ((HRESULT)0x80080002L)
-#define CO_E_SCM_RPC_FAILURE ((HRESULT)0x80080003L)
-#define CO_E_BAD_PATH ((HRESULT)0x80080004L)
-#define CO_E_SERVER_EXEC_FAILURE ((HRESULT)0x80080005L)
-#define CO_E_OBJSRV_RPC_FAILURE ((HRESULT)0x80080006L)
-#define MK_E_NO_NORMALIZED ((HRESULT)0x80080007L)
-#define CO_E_SERVER_STOPPING ((HRESULT)0x80080008L)
-#define MEM_E_INVALID_ROOT ((HRESULT)0x80080009L)
-#define MEM_E_INVALID_LINK ((HRESULT)0x80080010L)
-#define MEM_E_INVALID_SIZE ((HRESULT)0x80080011L)
-#define CO_S_NOTALLINTERFACES ((HRESULT)0x00080012L)
-#define CO_S_MACHINENAMENOTFOUND ((HRESULT)0x00080013L)
-#define DISP_E_UNKNOWNINTERFACE ((HRESULT)0x80020001L)
-#define DISP_E_MEMBERNOTFOUND ((HRESULT)0x80020003L)
-#define DISP_E_PARAMNOTFOUND ((HRESULT)0x80020004L)
-#define DISP_E_TYPEMISMATCH ((HRESULT)0x80020005L)
-#define DISP_E_UNKNOWNNAME ((HRESULT)0x80020006L)
-#define DISP_E_NONAMEDARGS ((HRESULT)0x80020007L)
-#define DISP_E_BADVARTYPE ((HRESULT)0x80020008L)
-#define DISP_E_EXCEPTION ((HRESULT)0x80020009L)
-#define DISP_E_OVERFLOW ((HRESULT)0x8002000AL)
-#define DISP_E_BADINDEX ((HRESULT)0x8002000BL)
-#define DISP_E_UNKNOWNLCID ((HRESULT)0x8002000CL)
-#define DISP_E_ARRAYISLOCKED ((HRESULT)0x8002000DL)
-#define DISP_E_BADPARAMCOUNT ((HRESULT)0x8002000EL)
-#define DISP_E_PARAMNOTOPTIONAL ((HRESULT)0x8002000FL)
-#define DISP_E_BADCALLEE ((HRESULT)0x80020010L)
-#define DISP_E_NOTACOLLECTION ((HRESULT)0x80020011L)
-#define DISP_E_DIVBYZERO ((HRESULT)0x80020012L)
-#define TYPE_E_BUFFERTOOSMALL ((HRESULT)0x80028016L)
-#define TYPE_E_INVDATAREAD ((HRESULT)0x80028018L)
-#define TYPE_E_UNSUPFORMAT ((HRESULT)0x80028019L)
-#define TYPE_E_REGISTRYACCESS ((HRESULT)0x8002801CL)
-#define TYPE_E_LIBNOTREGISTERED ((HRESULT)0x8002801DL)
-#define TYPE_E_UNDEFINEDTYPE ((HRESULT)0x80028027L)
-#define TYPE_E_QUALIFIEDNAMEDISALLOWED ((HRESULT)0x80028028L)
-#define TYPE_E_INVALIDSTATE ((HRESULT)0x80028029L)
-#define TYPE_E_WRONGTYPEKIND ((HRESULT)0x8002802AL)
-#define TYPE_E_ELEMENTNOTFOUND ((HRESULT)0x8002802BL)
-#define TYPE_E_AMBIGUOUSNAME ((HRESULT)0x8002802CL)
-#define TYPE_E_NAMECONFLICT ((HRESULT)0x8002802DL)
-#define TYPE_E_UNKNOWNLCID ((HRESULT)0x8002802EL)
-#define TYPE_E_DLLFUNCTIONNOTFOUND ((HRESULT)0x8002802FL)
-#define TYPE_E_BADMODULEKIND ((HRESULT)0x800288BDL)
-#define TYPE_E_SIZETOOBIG ((HRESULT)0x800288C5L)
-#define TYPE_E_DUPLICATEID ((HRESULT)0x800288C6L)
-#define TYPE_E_INVALIDID ((HRESULT)0x800288CFL)
-#define TYPE_E_TYPEMISMATCH ((HRESULT)0x80028CA0L)
-#define TYPE_E_OUTOFBOUNDS ((HRESULT)0x80028CA1L)
-#define TYPE_E_IOERROR ((HRESULT)0x80028CA2L)
-#define TYPE_E_CANTCREATETMPFILE ((HRESULT)0x80028CA3L)
-#define TYPE_E_CANTLOADLIBRARY ((HRESULT)0x80029C4AL)
-#define TYPE_E_INCONSISTENTPROPFUNCS ((HRESULT)0x80029C83L)
-#define TYPE_E_CIRCULARTYPE ((HRESULT)0x80029C84L)
-#define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
-#define STG_E_FILENOTFOUND ((HRESULT)0x80030002L)
-#define STG_E_PATHNOTFOUND ((HRESULT)0x80030003L)
-#define STG_E_TOOMANYOPENFILES ((HRESULT)0x80030004L)
-#define STG_E_ACCESSDENIED ((HRESULT)0x80030005L)
-#define STG_E_INVALIDHANDLE ((HRESULT)0x80030006L)
-#define STG_E_INSUFFICIENTMEMORY ((HRESULT)0x80030008L)
-#define STG_E_INVALIDPOINTER ((HRESULT)0x80030009L)
-#define STG_E_NOMOREFILES ((HRESULT)0x80030012L)
-#define STG_E_DISKISWRITEPROTECTED ((HRESULT)0x80030013L)
-#define STG_E_SEEKERROR ((HRESULT)0x80030019L)
-#define STG_E_WRITEFAULT ((HRESULT)0x8003001DL)
-#define STG_E_READFAULT ((HRESULT)0x8003001EL)
-#define STG_E_SHAREVIOLATION ((HRESULT)0x80030020L)
-#define STG_E_LOCKVIOLATION ((HRESULT)0x80030021L)
-#define STG_E_FILEALREADYEXISTS ((HRESULT)0x80030050L)
-#define STG_E_INVALIDPARAMETER ((HRESULT)0x80030057L)
-#define STG_E_MEDIUMFULL ((HRESULT)0x80030070L)
-#define STG_E_PROPSETMISMATCHED ((HRESULT)0x800300F0L)
-#define STG_E_ABNORMALAPIEXIT ((HRESULT)0x800300FAL)
-#define STG_E_INVALIDHEADER ((HRESULT)0x800300FBL)
-#define STG_E_INVALIDNAME ((HRESULT)0x800300FCL)
-#define STG_E_UNKNOWN ((HRESULT)0x800300FDL)
-#define STG_E_UNIMPLEMENTEDFUNCTION ((HRESULT)0x800300FEL)
-#define STG_E_INVALIDFLAG ((HRESULT)0x800300FFL)
-#define STG_E_INUSE ((HRESULT)0x80030100L)
-#define STG_E_NOTCURRENT ((HRESULT)0x80030101L)
-#define STG_E_REVERTED ((HRESULT)0x80030102L)
-#define STG_E_CANTSAVE ((HRESULT)0x80030103L)
-#define STG_E_OLDFORMAT ((HRESULT)0x80030104L)
-#define STG_E_OLDDLL ((HRESULT)0x80030105L)
-#define STG_E_SHAREREQUIRED ((HRESULT)0x80030106L)
-#define STG_E_NOTFILEBASEDSTORAGE ((HRESULT)0x80030107L)
-#define STG_E_EXTANTMARSHALLINGS ((HRESULT)0x80030108L)
-#define STG_E_DOCFILECORRUPT ((HRESULT)0x80030109L)
-#define STG_E_BADBASEADDRESS ((HRESULT)0x80030110L)
-#define STG_E_DOCFILETOOLARGE ((HRESULT)0x80030111L)
-#define STG_E_NOTSIMPLEFORMAT ((HRESULT)0x80030112L)
-#define STG_E_INCOMPLETE ((HRESULT)0x80030201L)
-#define STG_E_TERMINATED ((HRESULT)0x80030202L)
-#define STG_S_CONVERTED ((HRESULT)0x00030200L)
-#define STG_S_BLOCK ((HRESULT)0x00030201L)
-#define STG_S_RETRYNOW ((HRESULT)0x00030202L)
-#define STG_S_MONITORING ((HRESULT)0x00030203L)
-#define STG_S_MULTIPLEOPENS ((HRESULT)0x00030204L)
-#define STG_S_CONSOLIDATIONFAILED ((HRESULT)0x00030205L)
-#define STG_S_CANNOTCONSOLIDATE ((HRESULT)0x00030206L)
-#define RPC_E_CALL_REJECTED ((HRESULT)0x80010001L)
-#define RPC_E_CALL_CANCELED ((HRESULT)0x80010002L)
-#define RPC_E_CANTPOST_INSENDCALL ((HRESULT)0x80010003L)
-#define RPC_E_CANTCALLOUT_INASYNCCALL ((HRESULT)0x80010004L)
-#define RPC_E_CANTCALLOUT_INEXTERNALCALL ((HRESULT)0x80010005L)
-#define RPC_E_CONNECTION_TERMINATED ((HRESULT)0x80010006L)
-#define RPC_E_SERVER_DIED ((HRESULT)0x80010007L)
-#define RPC_E_CLIENT_DIED ((HRESULT)0x80010008L)
-#define RPC_E_INVALID_DATAPACKET ((HRESULT)0x80010009L)
-#define RPC_E_CANTTRANSMIT_CALL ((HRESULT)0x8001000AL)
-#define RPC_E_CLIENT_CANTMARSHAL_DATA ((HRESULT)0x8001000BL)
-#define RPC_E_CLIENT_CANTUNMARSHAL_DATA ((HRESULT)0x8001000CL)
-#define RPC_E_SERVER_CANTMARSHAL_DATA ((HRESULT)0x8001000DL)
-#define RPC_E_SERVER_CANTUNMARSHAL_DATA ((HRESULT)0x8001000EL)
-#define RPC_E_INVALID_DATA ((HRESULT)0x8001000FL)
-#define RPC_E_INVALID_PARAMETER ((HRESULT)0x80010010L)
-#define RPC_E_CANTCALLOUT_AGAIN ((HRESULT)0x80010011L)
-#define RPC_E_SERVER_DIED_DNE ((HRESULT)0x80010012L)
-#define RPC_E_SYS_CALL_FAILED ((HRESULT)0x80010100L)
-#define RPC_E_OUT_OF_RESOURCES ((HRESULT)0x80010101L)
-#define RPC_E_ATTEMPTED_MULTITHREAD ((HRESULT)0x80010102L)
-#define RPC_E_NOT_REGISTERED ((HRESULT)0x80010103L)
-#define RPC_E_FAULT ((HRESULT)0x80010104L)
-#define RPC_E_SERVERFAULT ((HRESULT)0x80010105L)
-#define RPC_E_CHANGED_MODE ((HRESULT)0x80010106L)
-#define RPC_E_INVALIDMETHOD ((HRESULT)0x80010107L)
-#define RPC_E_DISCONNECTED ((HRESULT)0x80010108L)
-#define RPC_E_RETRY ((HRESULT)0x80010109L)
-#define RPC_E_SERVERCALL_RETRYLATER ((HRESULT)0x8001010AL)
-#define RPC_E_SERVERCALL_REJECTED ((HRESULT)0x8001010BL)
-#define RPC_E_INVALID_CALLDATA ((HRESULT)0x8001010CL)
-#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL ((HRESULT)0x8001010DL)
-#define RPC_E_WRONG_THREAD ((HRESULT)0x8001010EL)
-#define RPC_E_THREAD_NOT_INIT ((HRESULT)0x8001010FL)
-#define RPC_E_VERSION_MISMATCH  ((HRESULT)0x80010110L)
-#define RPC_E_INVALID_HEADER ((HRESULT)0x80010111L)
-#define RPC_E_INVALID_EXTENSION ((HRESULT)0x80010112L)
-#define RPC_E_INVALID_IPID ((HRESULT)0x80010113L)
-#define RPC_E_INVALID_OBJECT ((HRESULT)0x80010114L)
-#define RPC_E_CALL_COMPLETE ((HRESULT)0x80010117L)
-#define RPC_E_UNSECURE_CALL ((HRESULT)0x80010118L)
-#define RPC_E_TOO_LATE ((HRESULT)0x80010119L)
-#define RPC_E_NO_GOOD_SECURITY_PACKAGES ((HRESULT)0x8001011AL)
-#define RPC_E_ACCESS_DENIED ((HRESULT)0x8001011BL)
-#define RPC_E_REMOTE_DISABLED ((HRESULT)0x8001011CL)
-#define RPC_E_INVALID_OBJREF ((HRESULT)0x8001011DL)
-#define RPC_E_NO_CONTEXT ((HRESULT)0x8001011EL)
-#define RPC_E_TIMEOUT ((HRESULT)0x8001011FL)
-#define RPC_E_NO_SYNC ((HRESULT)0x80010120L)
-#define RPC_E_FULLSIC_REQUIRED ((HRESULT)0x80010121L)
-#define RPC_E_INVALID_STD_NAME ((HRESULT)0x80010122L)
-#define RPC_E_UNEXPECTED ((HRESULT)0x8001FFFFL)
-
-#define NTE_BAD_UID ((HRESULT)0x80090001L)
-#define NTE_BAD_HASH ((HRESULT)0x80090002L)
-#define NTE_BAD_KEY ((HRESULT)0x80090003L)
-#define NTE_BAD_LEN ((HRESULT)0x80090004L)
-#define NTE_BAD_DATA ((HRESULT)0x80090005L)
-#define NTE_BAD_SIGNATURE ((HRESULT)0x80090006L)
-#define NTE_BAD_VER ((HRESULT)0x80090007L)
-#define NTE_BAD_ALGID ((HRESULT)0x80090008L)
-#define NTE_BAD_FLAGS ((HRESULT)0x80090009L)
-#define NTE_BAD_TYPE ((HRESULT)0x8009000AL)
-#define NTE_BAD_KEY_STATE ((HRESULT)0x8009000BL)
-#define NTE_BAD_HASH_STATE ((HRESULT)0x8009000CL)
-#define NTE_NO_KEY ((HRESULT)0x8009000DL)
-#define NTE_NO_MEMORY ((HRESULT)0x8009000EL)
-#define NTE_EXISTS ((HRESULT)0x8009000FL)
-#define NTE_PERM ((HRESULT)0x80090010L)
-#define NTE_NOT_FOUND ((HRESULT)0x80090011L)
-#define NTE_DOUBLE_ENCRYPT ((HRESULT)0x80090012L)
-#define NTE_BAD_PROVIDER ((HRESULT)0x80090013L)
-#define NTE_BAD_PROV_TYPE ((HRESULT)0x80090014L)
-#define NTE_BAD_PUBLIC_KEY ((HRESULT)0x80090015L)
-#define NTE_BAD_KEYSET ((HRESULT)0x80090016L)
-#define NTE_PROV_TYPE_NOT_DEF ((HRESULT)0x80090017L)
-#define NTE_PROV_TYPE_ENTRY_BAD ((HRESULT)0x80090018L)
-#define NTE_KEYSET_NOT_DEF ((HRESULT)0x80090019L)
-#define NTE_KEYSET_ENTRY_BAD ((HRESULT)0x8009001AL)
-#define NTE_PROV_TYPE_NO_MATCH ((HRESULT)0x8009001BL)
-#define NTE_SIGNATURE_FILE_BAD ((HRESULT)0x8009001CL)
-#define NTE_PROVIDER_DLL_FAIL ((HRESULT)0x8009001DL)
-#define NTE_PROV_DLL_NOT_FOUND ((HRESULT)0x8009001EL)
-#define NTE_BAD_KEYSET_PARAM ((HRESULT)0x8009001FL)
-#define NTE_FAIL ((HRESULT)0x80090020L)
-#define NTE_SYS_ERR ((HRESULT)0x80090021L)
-#define NTE_SILENT_CONTEXT ((HRESULT)0x80090022L)
-#define NTE_TOKEN_KEYSET_STORAGE_FULL ((HRESULT)0x80090023L)
-#define NTE_TEMPORARY_PROFILE ((HRESULT)0x80090024L)
-#define NTE_FIXEDPARAMETER ((HRESULT)0x80090025L)
-
-#endif
Index: Daodan/MinGW/include/wingdi.h
===================================================================
--- Daodan/MinGW/include/wingdi.h	(revision 1046)
+++ 	(revision )
@@ -1,3235 +1,0 @@
-#ifndef _WINGDI_H
-#define _WINGDI_H
-#define _WINGDI_
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINGDIAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINGDIAPI DECLSPEC_IMPORT
-#else
-#define WINGDIAPI
-#endif
-#endif
-
-#define BI_RGB 0
-#define BI_RLE8 1
-#define BI_RLE4 2
-#define BI_BITFIELDS 3
-#define BI_JPEG 4
-#define BI_PNG 5
-#define LF_FACESIZE	32
-#define LF_FULLFACESIZE	64
-#define CA_NEGATIVE	1
-#define CA_LOG_FILTER	2
-#define ILLUMINANT_DEVICE_DEFAULT	0
-#define ILLUMINANT_A	1
-#define ILLUMINANT_B	2
-#define ILLUMINANT_C	3
-#define ILLUMINANT_D50	4
-#define ILLUMINANT_D55	5
-#define ILLUMINANT_D65	6
-#define ILLUMINANT_D75	7
-#define ILLUMINANT_F2	8
-#define ILLUMINANT_MAX_INDEX	ILLUMINANT_F2
-#define ILLUMINANT_TUNGSTEN	ILLUMINANT_A
-#define ILLUMINANT_DAYLIGHT	ILLUMINANT_C
-#define ILLUMINANT_FLUORESCENT	ILLUMINANT_F2
-#define ILLUMINANT_NTSC	ILLUMINANT_C
-#define RGB_GAMMA_MIN	2500
-#define RGB_GAMMA_MAX	65000
-#define REFERENCE_WHITE_MIN	6000
-#define REFERENCE_WHITE_MAX	10000
-#define REFERENCE_BLACK_MIN	0
-#define REFERENCE_BLACK_MAX	4000
-#define COLOR_ADJ_MIN	(-100)
-#define COLOR_ADJ_MAX	100
-#define CCHDEVICENAME 32
-#define CCHFORMNAME 32
-#define DI_COMPAT	4
-#define DI_DEFAULTSIZE	8
-#define DI_IMAGE	2
-#define DI_MASK	1
-#define DI_NORMAL	3
-#define DI_APPBANDING 1
-#define EMR_HEADER	1
-#define EMR_POLYBEZIER 2
-#define EMR_POLYGON	3
-#define EMR_POLYLINE	4
-#define EMR_POLYBEZIERTO	5
-#define EMR_POLYLINETO 6
-#define EMR_POLYPOLYLINE	7
-#define EMR_POLYPOLYGON 8
-#define EMR_SETWINDOWEXTEX	9
-#define EMR_SETWINDOWORGEX	10
-#define EMR_SETVIEWPORTEXTEX 11
-#define EMR_SETVIEWPORTORGEX 12
-#define EMR_SETBRUSHORGEX 13
-#define EMR_EOF 14
-#define EMR_SETPIXELV 15
-#define EMR_SETMAPPERFLAGS 16
-#define EMR_SETMAPMODE 17
-#define EMR_SETBKMODE 18
-#define EMR_SETPOLYFILLMODE 19
-#define EMR_SETROP2 20
-#define EMR_SETSTRETCHBLTMODE 21
-#define EMR_SETTEXTALIGN 22
-#define EMR_SETCOLORADJUSTMENT 23
-#define EMR_SETTEXTCOLOR 24
-#define EMR_SETBKCOLOR 25
-#define EMR_OFFSETCLIPRGN 26
-#define EMR_MOVETOEX 27
-#define EMR_SETMETARGN 28
-#define EMR_EXCLUDECLIPRECT 29
-#define EMR_INTERSECTCLIPRECT 30
-#define EMR_SCALEVIEWPORTEXTEX 31
-#define EMR_SCALEWINDOWEXTEX 32
-#define EMR_SAVEDC 33
-#define EMR_RESTOREDC 34
-#define EMR_SETWORLDTRANSFORM 35
-#define EMR_MODIFYWORLDTRANSFORM 36
-#define EMR_SELECTOBJECT 37
-#define EMR_CREATEPEN 38
-#define EMR_CREATEBRUSHINDIRECT 39
-#define EMR_DELETEOBJECT 40
-#define EMR_ANGLEARC 41
-#define EMR_ELLIPSE  42
-#define EMR_RECTANGLE 43
-#define EMR_ROUNDRECT 44
-#define EMR_ARC 45
-#define EMR_CHORD 46
-#define EMR_PIE 47
-#define EMR_SELECTPALETTE 48
-#define EMR_CREATEPALETTE 49
-#define EMR_SETPALETTEENTRIES 50
-#define EMR_RESIZEPALETTE 51
-#define EMR_REALIZEPALETTE 52
-#define EMR_EXTFLOODFILL 53
-#define EMR_LINETO 54
-#define EMR_ARCTO 55
-#define EMR_POLYDRAW 56
-#define EMR_SETARCDIRECTION 57
-#define EMR_SETMITERLIMIT 58
-#define EMR_BEGINPATH 59
-#define EMR_ENDPATH 60
-#define EMR_CLOSEFIGURE 61
-#define EMR_FILLPATH 62
-#define EMR_STROKEANDFILLPATH 63
-#define EMR_STROKEPATH 64
-#define EMR_FLATTENPATH 65
-#define EMR_WIDENPATH 66
-#define EMR_SELECTCLIPPATH 67
-#define EMR_ABORTPATH 68
-#define EMR_GDICOMMENT 70
-#define EMR_FILLRGN 71
-#define EMR_FRAMERGN 72
-#define EMR_INVERTRGN 73
-#define EMR_PAINTRGN 74
-#define EMR_EXTSELECTCLIPRGN 75
-#define EMR_BITBLT 76
-#define EMR_STRETCHBLT 77
-#define EMR_MASKBLT 78
-#define EMR_PLGBLT 79
-#define EMR_SETDIBITSTODEVICE 80
-#define EMR_STRETCHDIBITS 81
-#define EMR_EXTCREATEFONTINDIRECTW 82
-#define EMR_EXTTEXTOUTA 83
-#define EMR_EXTTEXTOUTW 84
-#define EMR_POLYBEZIER16 85
-#define EMR_POLYGON16 86
-#define EMR_POLYLINE16 87
-#define EMR_POLYBEZIERTO16 88
-#define EMR_POLYLINETO16 89
-#define EMR_POLYPOLYLINE16 90
-#define EMR_POLYPOLYGON16 91
-#define EMR_POLYDRAW16 92
-#define EMR_CREATEMONOBRUSH 93
-#define EMR_CREATEDIBPATTERNBRUSHPT 94
-#define EMR_EXTCREATEPEN 95
-#define EMR_POLYTEXTOUTA 96
-#define EMR_POLYTEXTOUTW 97
-#define EMR_SETICMMODE 98
-#define EMR_CREATECOLORSPACE 99
-#define EMR_SETCOLORSPACE 100
-#define EMR_DELETECOLORSPACE 101
-#define EMR_GLSRECORD 102
-#define EMR_GLSBOUNDEDRECORD 103
-#define EMR_PIXELFORMAT 104
-#define ENHMETA_SIGNATURE 1179469088
-#define EPS_SIGNATURE 0x46535045
-#if (_WIN32_WINNT >= 0x0500)
-#define FR_PRIVATE 0x10
-#define FR_NOT_ENUM 0x20
-#endif
-#define META_SETBKCOLOR	0x201
-#define META_SETBKMODE	0x102
-#define META_SETMAPMODE	0x103
-#define META_SETROP2	0x104
-#define META_SETRELABS	0x105
-#define META_SETPOLYFILLMODE	0x106
-#define META_SETSTRETCHBLTMODE	0x107
-#define META_SETTEXTCHAREXTRA	0x108
-#define META_SETTEXTCOLOR	0x209
-#define META_SETTEXTJUSTIFICATION	0x20A
-#define META_SETWINDOWORG	0x20B
-#define META_SETWINDOWEXT	0x20C
-#define META_SETVIEWPORTORG	0x20D
-#define META_SETVIEWPORTEXT	0x20E
-#define META_OFFSETWINDOWORG	0x20F
-#define META_SCALEWINDOWEXT	0x410
-#define META_OFFSETVIEWPORTORG	0x211
-#define META_SCALEVIEWPORTEXT	0x412
-#define META_LINETO	0x213
-#define META_MOVETO	0x214
-#define META_EXCLUDECLIPRECT	0x415
-#define META_INTERSECTCLIPRECT	0x416
-#define META_ARC	0x817
-#define META_ELLIPSE	0x418
-#define META_FLOODFILL	0x419
-#define META_PIE	0x81A
-#define META_RECTANGLE	0x41B
-#define META_ROUNDRECT	0x61C
-#define META_PATBLT	0x61D
-#define META_SAVEDC	0x1E
-#define META_SETPIXEL	0x41F
-#define META_OFFSETCLIPRGN	0x220
-#define META_TEXTOUT	0x521
-#define META_BITBLT	0x922
-#define META_STRETCHBLT	0xB23
-#define META_POLYGON	0x324
-#define META_POLYLINE	0x325
-#define META_ESCAPE	0x626
-#define META_RESTOREDC	0x127
-#define META_FILLREGION	0x228
-#define META_FRAMEREGION	0x429
-#define META_INVERTREGION	0x12A
-#define META_PAINTREGION	0x12B
-#define META_SELECTCLIPREGION	0x12C
-#define META_SELECTOBJECT	0x12D
-#define META_SETTEXTALIGN	0x12E
-#define META_CHORD	0x830
-#define META_SETMAPPERFLAGS	0x231
-#define META_EXTTEXTOUT	0xa32
-#define META_SETDIBTODEV	0xd33
-#define META_SELECTPALETTE	0x234
-#define META_REALIZEPALETTE	0x35
-#define META_ANIMATEPALETTE	0x436
-#define META_SETPALENTRIES	0x37
-#define META_POLYPOLYGON	0x538
-#define META_RESIZEPALETTE	0x139
-#define META_DIBBITBLT	0x940
-#define META_DIBSTRETCHBLT	0xb41
-#define META_DIBCREATEPATTERNBRUSH	0x142
-#define META_STRETCHDIB	0xf43
-#define META_EXTFLOODFILL	0x548
-#define META_DELETEOBJECT	0x1f0
-#define META_CREATEPALETTE	0xf7
-#define META_CREATEPATTERNBRUSH	0x1F9
-#define META_CREATEPENINDIRECT	0x2FA
-#define META_CREATEFONTINDIRECT	0x2FB
-#define META_CREATEBRUSHINDIRECT	0x2FC
-#define META_CREATEREGION	0x6FF
-#define PT_MOVETO	6
-#define PT_LINETO	2
-#define PT_BEZIERTO	4
-#define PT_CLOSEFIGURE 1
-#define ELF_VENDOR_SIZE	4
-#define ELF_VERSION	0
-#define ELF_CULTURE_LATIN	0
-#define PFD_TYPE_RGBA	0
-#define PFD_TYPE_COLORINDEX	1
-#define PFD_MAIN_PLANE	0
-#define PFD_OVERLAY_PLANE	1
-#define PFD_UNDERLAY_PLANE	(-1)
-#define PFD_DOUBLEBUFFER	1
-#define PFD_STEREO	2
-#define PFD_DRAW_TO_WINDOW	4
-#define PFD_DRAW_TO_BITMAP	8
-#define PFD_SUPPORT_GDI	16
-#define PFD_SUPPORT_OPENGL	32
-#define PFD_GENERIC_FORMAT	64
-#define PFD_NEED_PALETTE	128
-#define PFD_NEED_SYSTEM_PALETTE	0x00000100
-#define PFD_SWAP_EXCHANGE	0x00000200
-#define PFD_SWAP_COPY	0x00000400
-#define PFD_SWAP_LAYER_BUFFERS	0x00000800
-#define PFD_GENERIC_ACCELERATED	0x00001000
-#define PFD_DEPTH_DONTCARE	0x20000000
-#define PFD_DOUBLEBUFFER_DONTCARE	0x40000000
-#define PFD_STEREO_DONTCARE	0x80000000
-#define SP_ERROR	(-1)
-#define SP_OUTOFDISK	(-4)
-#define SP_OUTOFMEMORY	(-5)
-#define SP_USERABORT	(-3)
-#define SP_APPABORT	(-2)
-#define BLACKNESS	0x00000042
-#define NOTSRCERASE	0x001100A6
-#define NOTSRCCOPY	0x00330008
-#define SRCERASE	0x00440328
-#define DSTINVERT	0x00550009
-#define PATINVERT	0x005A0049
-#define SRCINVERT	0x00660046
-#define SRCAND	0x008800C6
-#define MERGEPAINT	0x00BB0226
-#define MERGECOPY	0x00C000CA
-#define SRCCOPY 0x00CC0020
-#define SRCPAINT	0x00EE0086
-#define PATCOPY	0x00F00021
-#define PATPAINT	0x00FB0A09
-#define WHITENESS	0x00FF0062
-#define CAPTUREBLT	0x40000000
-#define NOMIRRORBITMAP	0x80000000
-#define R2_BLACK	1
-#define R2_COPYPEN	13
-#define R2_MASKNOTPEN	3
-#define R2_MASKPEN	9
-#define R2_MASKPENNOT	5
-#define R2_MERGENOTPEN	12
-#define R2_MERGEPEN	15
-#define R2_MERGEPENNOT	14
-#define R2_NOP	11
-#define R2_NOT	6
-#define R2_NOTCOPYPEN	4
-#define R2_NOTMASKPEN	8
-#define R2_NOTMERGEPEN	2
-#define R2_NOTXORPEN	10
-#define R2_WHITE	16
-#define R2_XORPEN	7
-#define CM_OUT_OF_GAMUT	255
-#define CM_IN_GAMUT	0
-#define RGN_AND 1
-#define RGN_COPY	5
-#define RGN_DIFF	4
-#define RGN_OR	2
-#define RGN_XOR	3
-#define NULLREGION	1
-#define SIMPLEREGION	2
-#define COMPLEXREGION	3
-#define ERROR 0
-#define CBM_INIT	4
-#define DIB_PAL_COLORS	1
-#define DIB_RGB_COLORS	0
-#define FW_DONTCARE	0
-#define FW_THIN	100
-#define FW_EXTRALIGHT	200
-#define FW_ULTRALIGHT	FW_EXTRALIGHT
-#define FW_LIGHT	300
-#define FW_NORMAL	400
-#define FW_REGULAR	400
-#define FW_MEDIUM	500
-#define FW_SEMIBOLD	600
-#define FW_DEMIBOLD	FW_SEMIBOLD
-#define FW_BOLD	700
-#define FW_EXTRABOLD	800
-#define FW_ULTRABOLD	FW_EXTRABOLD
-#define FW_HEAVY	900
-#define FW_BLACK	FW_HEAVY
-#define ANSI_CHARSET	0
-#define DEFAULT_CHARSET	1
-#define SYMBOL_CHARSET	2
-#define SHIFTJIS_CHARSET	128
-#define HANGEUL_CHARSET	129
-#define HANGUL_CHARSET  129
-#define GB2312_CHARSET	134
-#define CHINESEBIG5_CHARSET	136
-#define GREEK_CHARSET	161
-#define TURKISH_CHARSET	162
-#define HEBREW_CHARSET	177
-#define ARABIC_CHARSET	178
-#define BALTIC_CHARSET	186
-#define RUSSIAN_CHARSET	204
-#define THAI_CHARSET	222
-#define EASTEUROPE_CHARSET	238
-#define OEM_CHARSET	255
-#define JOHAB_CHARSET	130
-#define VIETNAMESE_CHARSET	163
-#define MAC_CHARSET 77
-#define OUT_DEFAULT_PRECIS	0
-#define OUT_STRING_PRECIS	1
-#define OUT_CHARACTER_PRECIS	2
-#define OUT_STROKE_PRECIS	3
-#define OUT_TT_PRECIS	4
-#define OUT_DEVICE_PRECIS	5
-#define OUT_RASTER_PRECIS	6
-#define OUT_TT_ONLY_PRECIS	7
-#define OUT_OUTLINE_PRECIS	8
-/* http://www.pinvoke.net/default.aspx/Structures/LOGFONT.html */
-#define OUT_PS_ONLY_PRECIS      10
-#define CLIP_DEFAULT_PRECIS	0
-#define CLIP_CHARACTER_PRECIS	1
-#define CLIP_STROKE_PRECIS	2
-#define CLIP_MASK	15
-#define CLIP_LH_ANGLES	16
-#define CLIP_TT_ALWAYS	32
-#define CLIP_EMBEDDED	128
-#define DEFAULT_QUALITY	0
-#define DRAFT_QUALITY	1
-#define PROOF_QUALITY	2
-#define NONANTIALIASED_QUALITY 3
-#define ANTIALIASED_QUALITY 4
-#if _WIN32_WINNT >= 0x0500
-#define CLEARTYPE_QUALITY 5
-#endif
-#define DEFAULT_PITCH	0
-#define FIXED_PITCH	1
-#define VARIABLE_PITCH	2
-#define MONO_FONT 8
-#define FF_DECORATIVE	80
-#define FF_DONTCARE	0
-#define FF_MODERN	48
-#define FF_ROMAN	16
-#define FF_SCRIPT	64
-#define FF_SWISS	32
-#define PANOSE_COUNT 10
-#define PAN_FAMILYTYPE_INDEX 0
-#define PAN_SERIFSTYLE_INDEX 1
-#define PAN_WEIGHT_INDEX 2
-#define PAN_PROPORTION_INDEX 3
-#define PAN_CONTRAST_INDEX 4
-#define PAN_STROKEVARIATION_INDEX 5
-#define PAN_ARMSTYLE_INDEX 6
-#define PAN_LETTERFORM_INDEX 7
-#define PAN_MIDLINE_INDEX 8
-#define PAN_XHEIGHT_INDEX 9
-#define PAN_CULTURE_LATIN 0
-#define PAN_ANY 0
-#define PAN_NO_FIT 1
-#define PAN_FAMILY_TEXT_DISPLAY 2
-#define PAN_FAMILY_SCRIPT 3
-#define PAN_FAMILY_DECORATIVE 4
-#define PAN_FAMILY_PICTORIAL 5
-#define PAN_SERIF_COVE 2
-#define PAN_SERIF_OBTUSE_COVE 3
-#define PAN_SERIF_SQUARE_COVE 4
-#define PAN_SERIF_OBTUSE_SQUARE_COVE 5
-#define PAN_SERIF_SQUARE 6
-#define PAN_SERIF_THIN 7
-#define PAN_SERIF_BONE 8
-#define PAN_SERIF_EXAGGERATED 9
-#define PAN_SERIF_TRIANGLE 10
-#define PAN_SERIF_NORMAL_SANS 11
-#define PAN_SERIF_OBTUSE_SANS 12
-#define PAN_SERIF_PERP_SANS 13
-#define PAN_SERIF_FLARED 14
-#define PAN_SERIF_ROUNDED 15
-#define PAN_WEIGHT_VERY_LIGHT 2
-#define PAN_WEIGHT_LIGHT 3
-#define PAN_WEIGHT_THIN 4
-#define PAN_WEIGHT_BOOK 5
-#define PAN_WEIGHT_MEDIUM 6
-#define PAN_WEIGHT_DEMI 7
-#define PAN_WEIGHT_BOLD 8
-#define PAN_WEIGHT_HEAVY 9
-#define PAN_WEIGHT_BLACK 10
-#define PAN_WEIGHT_NORD 11
-#define PAN_PROP_OLD_STYLE 2
-#define PAN_PROP_MODERN 3
-#define PAN_PROP_EVEN_WIDTH 4
-#define PAN_PROP_EXPANDED 5
-#define PAN_PROP_CONDENSED 6
-#define PAN_PROP_VERY_EXPANDED 7
-#define PAN_PROP_VERY_CONDENSED 8
-#define PAN_PROP_MONOSPACED 9
-#define PAN_CONTRAST_NONE 2
-#define PAN_CONTRAST_VERY_LOW 3
-#define PAN_CONTRAST_LOW 4
-#define PAN_CONTRAST_MEDIUM_LOW 5
-#define PAN_CONTRAST_MEDIUM 6
-#define PAN_CONTRAST_MEDIUM_HIGH 7
-#define PAN_CONTRAST_HIGH 8
-#define PAN_CONTRAST_VERY_HIGH 9
-#define PAN_STROKE_GRADUAL_DIAG 2
-#define PAN_STROKE_GRADUAL_TRAN 3
-#define PAN_STROKE_GRADUAL_VERT 4
-#define PAN_STROKE_GRADUAL_HORZ 5
-#define PAN_STROKE_RAPID_VERT 6
-#define PAN_STROKE_RAPID_HORZ 7
-#define PAN_STROKE_INSTANT_VERT 8
-#define PAN_STRAIGHT_ARMS_HORZ 2
-#define PAN_STRAIGHT_ARMS_WEDGE 3
-#define PAN_STRAIGHT_ARMS_VERT 4
-#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
-#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
-#define PAN_BENT_ARMS_HORZ 7
-#define PAN_BENT_ARMS_WEDGE 8
-#define PAN_BENT_ARMS_VERT 9
-#define PAN_BENT_ARMS_SINGLE_SERIF 10
-#define PAN_BENT_ARMS_DOUBLE_SERIF 11
-#define PAN_LETT_NORMAL_CONTACT 2
-#define PAN_LETT_NORMAL_WEIGHTED 3
-#define PAN_LETT_NORMAL_BOXED 4
-#define PAN_LETT_NORMAL_FLATTENED 5
-#define PAN_LETT_NORMAL_ROUNDED 6
-#define PAN_LETT_NORMAL_OFF_CENTER 7
-#define PAN_LETT_NORMAL_SQUARE 8
-#define PAN_LETT_OBLIQUE_CONTACT 9
-#define PAN_LETT_OBLIQUE_WEIGHTED 10
-#define PAN_LETT_OBLIQUE_BOXED 11
-#define PAN_LETT_OBLIQUE_FLATTENED 12
-#define PAN_LETT_OBLIQUE_ROUNDED 13
-#define PAN_LETT_OBLIQUE_OFF_CENTER 14
-#define PAN_LETT_OBLIQUE_SQUARE 15
-#define PAN_MIDLINE_STANDARD_TRIMMED 2
-#define PAN_MIDLINE_STANDARD_POINTED 3
-#define PAN_MIDLINE_STANDARD_SERIFED 4
-#define PAN_MIDLINE_HIGH_TRIMMED 5
-#define PAN_MIDLINE_HIGH_POINTED 6
-#define PAN_MIDLINE_HIGH_SERIFED 7
-#define PAN_MIDLINE_CONSTANT_TRIMMED 8
-#define PAN_MIDLINE_CONSTANT_POINTED 9
-#define PAN_MIDLINE_CONSTANT_SERIFED 10
-#define PAN_MIDLINE_LOW_TRIMMED 11
-#define PAN_MIDLINE_LOW_POINTED 12
-#define PAN_MIDLINE_LOW_SERIFED 13
-#define PAN_XHEIGHT_CONSTANT_SMALL 2
-#define PAN_XHEIGHT_CONSTANT_STD 3
-#define PAN_XHEIGHT_CONSTANT_LARGE 4
-#define PAN_XHEIGHT_DUCKING_SMALL 5
-#define PAN_XHEIGHT_DUCKING_STD 6
-#define PAN_XHEIGHT_DUCKING_LARGE 7
-#define FS_LATIN1 1
-#define FS_LATIN2 2
-#define FS_CYRILLIC 4
-#define FS_GREEK 8
-#define FS_TURKISH 16
-#define FS_HEBREW 32
-#define FS_ARABIC 64
-#define FS_BALTIC 128
-#define FS_THAI 0x10000
-#define FS_JISJAPAN 0x20000
-#define FS_CHINESESIMP 0x40000
-#define FS_WANSUNG 0x80000
-#define FS_CHINESETRAD 0x100000
-#define FS_JOHAB 0x200000
-#define FS_SYMBOL 0x80000000
-#define HS_BDIAGONAL	3
-#define HS_CROSS	4
-#define HS_DIAGCROSS	5
-#define HS_FDIAGONAL	2
-#define HS_HORIZONTAL	0
-#define HS_VERTICAL	1
-#define PS_GEOMETRIC	65536
-#define PS_COSMETIC	0
-#define PS_ALTERNATE	8
-#define PS_SOLID	0
-#define PS_DASH	1
-#define PS_DOT	2
-#define PS_DASHDOT	3
-#define PS_DASHDOTDOT	4
-#define PS_NULL	5
-#define PS_USERSTYLE	7
-#define PS_INSIDEFRAME	6
-#define PS_ENDCAP_ROUND	0
-#define PS_ENDCAP_SQUARE	256
-#define PS_ENDCAP_FLAT	512
-#define PS_JOIN_BEVEL	4096
-#define PS_JOIN_MITER	8192
-#define PS_JOIN_ROUND	0
-#define PS_STYLE_MASK	15
-#define PS_ENDCAP_MASK	3840
-#define PS_TYPE_MASK	983040
-#define ALTERNATE	1
-#define WINDING	2
-#define DC_BINNAMES	12
-#define DC_BINS	6
-#define DC_COPIES	18
-#define DC_DRIVER	11
-#define DC_DATATYPE_PRODUCED	21
-#define DC_DUPLEX	7
-#define DC_EMF_COMPLIANT	20
-#define DC_ENUMRESOLUTIONS	13
-#define DC_EXTRA	9
-#define DC_FIELDS	1
-#define DC_FILEDEPENDENCIES	14
-#define DC_MAXEXTENT	5
-#define DC_MINEXTENT	4
-#define DC_ORIENTATION	17
-#define DC_PAPERNAMES	16
-#define DC_PAPERS	2
-#define DC_PAPERSIZE	3
-#define DC_SIZE	8
-#define DC_TRUETYPE	15
-#define DCTT_BITMAP	1
-#define DCTT_DOWNLOAD	2
-#define DCTT_SUBDEV	4
-#define DCTT_DOWNLOAD_OUTLINE 8
-#define DC_VERSION	10
-#define DC_BINADJUST	19
-#define DC_EMF_COMPLIANT	20
-#define DC_DATATYPE_PRODUCED	21
-#define DC_MANUFACTURER	23
-#define DC_MODEL	24
-#if (WINVER >= 0x0500)
-#define DC_PERSONALITY	25
-#define DC_PRINTRATE	26
-#define DC_PRINTRATEUNIT	27
-#define DC_PRINTERMEM	28
-#define DC_MEDIAREADY	29
-#define DC_STAPLE	30
-#define DC_PRINTRATEPPM	31
-#define DC_COLORDEVICE	32
-#define DC_NUP	33
-#endif
-#if (WINVER >= 0x0501)
-#define DC_MEDIATYPENAMES	34
-#define DC_MEDIATYPES	35
-#endif
-#define DCBA_FACEUPNONE	0
-#define DCBA_FACEUPCENTER	1
-#define DCBA_FACEUPLEFT	2
-#define DCBA_FACEUPRIGHT	3
-#define DCBA_FACEDOWNNONE	256
-#define DCBA_FACEDOWNCENTER	257
-#define DCBA_FACEDOWNLEFT	258
-#define DCBA_FACEDOWNRIGHT	259
-#define FLOODFILLBORDER 0
-#define FLOODFILLSURFACE 1
-#define ETO_CLIPPED 0x0004
-#define ETO_GLYPH_INDEX 0x0010
-#define ETO_OPAQUE 0x0002
-#define ETO_NUMERICSLATIN 0x0800
-#define ETO_NUMERICSLOCAL 0x0400
-#define ETO_RTLREADING 0x0080
-#if (_WIN32_WINNT >= 0x0400)
-#define ETO_IGNORELANGUAGE 0x1000
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define ETO_PDY 0x2000
-#endif
-#define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
-#define GDICOMMENT_BEGINGROUP 2
-#define GDICOMMENT_ENDGROUP 3
-#define GDICOMMENT_MULTIFORMATS 1073741828
-#define GDICOMMENT_IDENTIFIER 1128875079
-#define AD_COUNTERCLOCKWISE 1
-#define AD_CLOCKWISE 2
-#define RDH_RECTANGLES	1
-#define GCPCLASS_LATIN	1
-#define GCPCLASS_HEBREW	2
-#define GCPCLASS_ARABIC	2
-#define GCPCLASS_NEUTRAL	3
-#define GCPCLASS_LOCALNUMBER	4
-#define GCPCLASS_LATINNUMBER	5
-#define GCPCLASS_LATINNUMERICTERMINATOR	6
-#define GCPCLASS_LATINNUMERICSEPARATOR	7
-#define GCPCLASS_NUMERICSEPARATOR	8
-#define GCPCLASS_PREBOUNDLTR	128
-#define GCPCLASS_PREBOUNDRTL	64
-#define GCPCLASS_POSTBOUNDLTR	32
-#define GCPCLASS_POSTBOUNDRTL	16
-#define GCPGLYPH_LINKBEFORE	0x8000
-#define GCPGLYPH_LINKAFTER	0x4000
-#define DCB_DISABLE 8
-#define DCB_ENABLE 4
-#define DCB_RESET 1
-#define DCB_SET 3
-#define DCB_ACCUMULATE 2
-#define DCB_DIRTY	2
-#define OBJ_BRUSH 2
-#define OBJ_PEN 1
-#define OBJ_PAL 5
-#define OBJ_FONT 6
-#define OBJ_BITMAP 7
-#define OBJ_EXTPEN 11
-#define OBJ_REGION 8
-#define OBJ_DC 3
-#define OBJ_MEMDC 10
-#define OBJ_METAFILE 9
-#define OBJ_METADC 4
-#define OBJ_ENHMETAFILE 13
-#define OBJ_ENHMETADC 12
-#define DRIVERVERSION 0
-#define TECHNOLOGY 2
-#define DT_PLOTTER 0
-#define DT_RASDISPLAY 1
-#define DT_RASPRINTER 2
-#define DT_RASCAMERA 3
-#define DT_CHARSTREAM 4
-#define DT_METAFILE 5
-#define DT_DISPFILE 6
-#define HORZSIZE 4
-#define VERTSIZE 6
-#define HORZRES 8
-#define VERTRES 10
-#define LOGPIXELSX 88
-#define LOGPIXELSY 90
-#define BITSPIXEL 12
-#define PLANES 14
-#define NUMBRUSHES 16
-#define NUMPENS 18
-#define NUMFONTS 22
-#define NUMCOLORS 24
-#define NUMMARKERS 20
-#define ASPECTX 40
-#define ASPECTY 42
-#define ASPECTXY 44
-#define PDEVICESIZE 26
-#define CLIPCAPS 36
-#define SIZEPALETTE 104
-#define NUMRESERVED 106
-#define COLORRES 108
-#define PHYSICALWIDTH 110
-#define PHYSICALHEIGHT 111
-#define PHYSICALOFFSETX 112
-#define PHYSICALOFFSETY 113
-#define SCALINGFACTORX 114
-#define SCALINGFACTORY 115
-#define VREFRESH 116
-#define DESKTOPHORZRES 118
-#define DESKTOPVERTRES 117
-#define BLTALIGNMENT 119
-#if(WINVER >= 0x0500)
-#define SHADEBLENDCAPS 120
-#define SB_NONE 0x00
-#define SB_CONST_ALPHA 0x01
-#define SB_PIXEL_ALPHA 0x02
-#define SB_PREMULT_ALPHA 0x04
-#define SB_GRAD_RECT 0x10
-#define SB_GRAD_TRI 0x20
-#define COLORMGMTCAPS 121
-#define CM_NONE 0x00
-#define CM_DEVICE_ICM 0x01
-#define CM_GAMMA_RAMP 0x02
-#define CM_CMYK_COLOR 0x04
-#endif
-#define RASTERCAPS 38
-#define RC_BANDING 2
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DI_BITMAP 128
-#define RC_DIBTODEV 512
-#define RC_FLOODFILL 4096
-#define RC_GDI20_OUTPUT 16
-#define RC_PALETTE 256
-#define RC_SCALING 4
-#define RC_STRETCHBLT 2048
-#define RC_STRETCHDIB 8192
-#define RC_DEVBITS 0x8000
-#define RC_OP_DX_OUTPUT 0x4000
-#define CURVECAPS 28
-#define CC_NONE 0
-#define CC_CIRCLES 1
-#define CC_PIE 2
-#define CC_CHORD 4
-#define CC_ELLIPSES 8
-#define CC_WIDE 16
-#define CC_STYLED 32
-#define CC_WIDESTYLED 64
-#define CC_INTERIORS 128
-#define CC_ROUNDRECT 256
-#define LINECAPS 30
-#define LC_NONE 0
-#define LC_POLYLINE 2
-#define LC_MARKER 4
-#define LC_POLYMARKER 8
-#define LC_WIDE 16
-#define LC_STYLED 32
-#define LC_WIDESTYLED 64
-#define LC_INTERIORS 128
-#define POLYGONALCAPS 32
-#define RC_BANDING 2
-#define RC_BIGFONT 1024
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DEVBITS 0x8000
-#define RC_DI_BITMAP 128
-#define RC_GDI20_OUTPUT 16
-#define RC_GDI20_STATE 32
-#define RC_NONE 0
-#define RC_OP_DX_OUTPUT 0x4000
-#define RC_PALETTE 256
-#define RC_SAVEBITMAP 64
-#define RC_SCALING 4
-#define PC_NONE 0
-#define PC_POLYGON 1
-#define PC_POLYPOLYGON 256
-#define PC_PATHS 512
-#define PC_RECTANGLE 2
-#define PC_WINDPOLYGON 4
-#define PC_SCANLINE 8
-#define PC_TRAPEZOID 4
-#define PC_WIDE 16
-#define PC_STYLED 32
-#define PC_WIDESTYLED 64
-#define PC_INTERIORS 128
-#define PC_PATHS 512
-#define TEXTCAPS 34
-#define TC_OP_CHARACTER 1
-#define TC_OP_STROKE 2
-#define TC_CP_STROKE 4
-#define TC_CR_90 8
-#define TC_CR_ANY 16
-#define TC_SF_X_YINDEP 32
-#define TC_SA_DOUBLE 64
-#define TC_SA_INTEGER 128
-#define TC_SA_CONTIN 256
-#define TC_EA_DOUBLE 512
-#define TC_IA_ABLE 1024
-#define TC_UA_ABLE 2048
-#define TC_SO_ABLE 4096
-#define TC_RA_ABLE 8192
-#define TC_VA_ABLE 16384
-#define TC_RESERVED 32768
-#define TC_SCROLLBLT 65536
-#define GCP_DBCS 1
-#define GCP_ERROR 0x8000
-#define GCP_CLASSIN 0x80000
-#define GCP_DIACRITIC 256
-#define GCP_DISPLAYZWG 0x400000
-#define GCP_GLYPHSHAPE 16
-#define GCP_JUSTIFY 0x10000
-#define GCP_JUSTIFYIN 0x200000
-#define GCP_KASHIDA 1024
-#define GCP_LIGATE 32
-#define GCP_MAXEXTENT 0x100000
-#define GCP_NEUTRALOVERRIDE 0x2000000
-#define GCP_NUMERICOVERRIDE 0x1000000
-#define GCP_NUMERICSLATIN 0x4000000
-#define GCP_NUMERICSLOCAL 0x8000000
-#define GCP_REORDER 2
-#define GCP_SYMSWAPOFF 0x800000
-#define GCP_USEKERNING 8
-#define FLI_GLYPHS 0x40000
-#define FLI_MASK 0x103b
-#define GGO_METRICS 0
-#define GGO_BITMAP 1
-#define GGO_NATIVE 2
-#define GGO_BEZIER 3
-#define GGO_GRAY2_BITMAP 4
-#define GGO_GRAY4_BITMAP 5
-#define GGO_GRAY8_BITMAP 6
-#define GGO_GLYPH_INDEX 128
-#if (WINVER >= 0x0500)
-#define GGO_UNHINTED 256
-#endif
-#define GM_COMPATIBLE 1
-#define GM_ADVANCED 2
-#define MM_ANISOTROPIC 8
-#define MM_HIENGLISH 5
-#define MM_HIMETRIC 3
-#define MM_ISOTROPIC 7
-#define MM_LOENGLISH 4
-#define MM_LOMETRIC 2
-#define MM_TEXT 1
-#define MM_TWIPS 6
-#define MM_MAX_FIXEDSCALE	MM_TWIPS
-#define ABSOLUTE	1
-#define RELATIVE	2
-#define PC_EXPLICIT 2
-#define PC_NOCOLLAPSE 4
-#define PC_RESERVED 1
-#define CLR_NONE 0xffffffff
-#define CLR_INVALID CLR_NONE
-#define CLR_DEFAULT 0xff000000
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define TT_AVAILABLE 1
-#define TT_ENABLED 2
-#define BLACK_BRUSH 4
-#define DKGRAY_BRUSH 3
-#define GRAY_BRUSH 2
-#define HOLLOW_BRUSH 5
-#define LTGRAY_BRUSH 1
-#define NULL_BRUSH 5
-#define WHITE_BRUSH 0
-#define BLACK_PEN 7
-#define NULL_PEN 8
-#define WHITE_PEN 6
-#define ANSI_FIXED_FONT 11
-#define ANSI_VAR_FONT 12
-#define DEVICE_DEFAULT_FONT 14
-#define DEFAULT_GUI_FONT 17
-#define OEM_FIXED_FONT 10
-#define SYSTEM_FONT 13
-#define SYSTEM_FIXED_FONT 16
-#define DEFAULT_PALETTE 15
-#if (_WIN32_WINNT >= 0x0500)
-#define DC_BRUSH	18
-#define DC_PEN	19
-#endif
-#define SYSPAL_ERROR 0
-#define SYSPAL_STATIC 1
-#define SYSPAL_NOSTATIC 2
-#define SYSPAL_NOSTATIC256 3
-#define TA_BASELINE 24
-#define TA_BOTTOM 8
-#define TA_TOP 0
-#define TA_CENTER 6
-#define TA_LEFT 0
-#define TA_RIGHT 2
-#define TA_RTLREADING 256
-#define TA_NOUPDATECP 0
-#define TA_UPDATECP 1
-#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
-#define VTA_BASELINE 24
-#define VTA_CENTER 6
-#define VTA_LEFT TA_BOTTOM
-#define VTA_RIGHT TA_TOP
-#define VTA_BOTTOM TA_RIGHT
-#define VTA_TOP TA_LEFT
-#define MWT_IDENTITY 1
-#define MWT_LEFTMULTIPLY 2
-#define MWT_RIGHTMULTIPLY 3
-#define OPAQUE 2
-#define TRANSPARENT 1
-#define BLACKONWHITE 1
-#define WHITEONBLACK 2
-#define COLORONCOLOR 3
-#define HALFTONE 4
-#define MAXSTRETCHBLTMODE 4
-#define STRETCH_ANDSCANS 1
-#define STRETCH_DELETESCANS 3
-#define STRETCH_HALFTONE 4
-#define STRETCH_ORSCANS 2
-#define TCI_SRCCHARSET 1
-#define TCI_SRCCODEPAGE 2
-#define TCI_SRCFONTSIG 3
-#define ICM_ON 2
-#define ICM_OFF 1
-#define ICM_QUERY 3
-#define NEWFRAME	1
-#define ABORTDOC	2
-#define NEXTBAND	3
-#define SETCOLORTABLE	4
-#define GETCOLORTABLE	5
-#define FLUSHOUTPUT	6
-#define DRAFTMODE	7
-#define QUERYESCSUPPORT	8
-#define SETABORTPROC	9
-#define STARTDOC	10
-#define ENDDOC	11
-#define GETPHYSPAGESIZE	12
-#define GETPRINTINGOFFSET	13
-#define GETSCALINGFACTOR	14
-#define MFCOMMENT	15
-#define GETPENWIDTH	16
-#define SETCOPYCOUNT	17
-#define SELECTPAPERSOURCE	18
-#define DEVICEDATA	19
-#define PASSTHROUGH	19
-#define GETTECHNOLGY	20
-#define GETTECHNOLOGY	20
-#define SETLINECAP	21
-#define SETLINEJOIN	22
-#define SETMITERLIMIT	23
-#define BANDINFO	24
-#define DRAWPATTERNRECT	25
-#define GETVECTORPENSIZE	26
-#define GETVECTORBRUSHSIZE	27
-#define ENABLEDUPLEX	28
-#define GETSETPAPERBINS	29
-#define GETSETPRINTORIENT	30
-#define ENUMPAPERBINS	31
-#define SETDIBSCALING	32
-#define EPSPRINTING	33
-#define ENUMPAPERMETRICS	34
-#define GETSETPAPERMETRICS	35
-#define POSTSCRIPT_DATA	37
-#define POSTSCRIPT_IGNORE	38
-#define MOUSETRAILS	39
-#define GETDEVICEUNITS	42
-#define GETEXTENDEDTEXTMETRICS	256
-#define GETEXTENTTABLE	257
-#define GETPAIRKERNTABLE	258
-#define GETTRACKKERNTABLE	259
-#define EXTTEXTOUT	512
-#define GETFACENAME	513
-#define DOWNLOADFACE	514
-#define ENABLERELATIVEWIDTHS	768
-#define ENABLEPAIRKERNING	769
-#define SETKERNTRACK	770
-#define SETALLJUSTVALUES	771
-#define SETCHARSET	772
-#define STRETCHBLT	2048
-#define GETSETSCREENPARAMS	3072
-#define QUERYDIBSUPPORT	3073
-#define BEGIN_PATH	4096
-#define CLIP_TO_PATH	4097
-#define END_PATH	4098
-#define EXT_DEVICE_CAPS	4099
-#define RESTORE_CTM	4100
-#define SAVE_CTM	4101
-#define SET_ARC_DIRECTION	4102
-#define SET_BACKGROUND_COLOR	4103
-#define SET_POLY_MODE	4104
-#define SET_SCREEN_ANGLE	4105
-#define SET_SPREAD	4106
-#define TRANSFORM_CTM	4107
-#define SET_CLIP_BOX	4108
-#define SET_BOUNDS	4109
-#define SET_MIRROR_MODE	4110
-#define OPENCHANNEL	4110
-#define DOWNLOADHEADER	4111
-#define CLOSECHANNEL	4112
-#define POSTSCRIPT_PASSTHROUGH	4115
-#define ENCAPSULATED_POSTSCRIPT	4116
-#define QDI_SETDIBITS	1
-#define QDI_GETDIBITS	2
-#define QDI_DIBTOSCREEN	4
-#define QDI_STRETCHDIB	8
-#define SP_NOTREPORTED	0x4000
-#define PR_JOBSTATUS	0
-#define ASPECT_FILTERING	1
-#define BS_SOLID	0
-#define BS_NULL	1
-#define BS_HOLLOW	1
-#define BS_HATCHED	2
-#define BS_PATTERN	3
-#define BS_INDEXED	4
-#define BS_DIBPATTERN	5
-#define BS_DIBPATTERNPT	6
-#define BS_PATTERN8X8	7
-#define BS_DIBPATTERN8X8	8
-#define LCS_CALIBRATED_RGB	0
-#define LCS_DEVICE_RGB	1
-#define LCS_DEVICE_CMYK	2
-#define LCS_GM_BUSINESS	1
-#define LCS_GM_GRAPHICS	2
-#define LCS_GM_IMAGES	4
-#define RASTER_FONTTYPE	1
-#define DEVICE_FONTTYPE	2
-#define TRUETYPE_FONTTYPE	4
-#define DMORIENT_PORTRAIT   1
-#define DMORIENT_LANDSCAPE  2
-#define DMPAPER_FIRST	1
-#define DMPAPER_LETTER	1
-#define DMPAPER_LETTERSMALL	2
-#define DMPAPER_TABLOID	3
-#define DMPAPER_LEDGER	4
-#define DMPAPER_LEGAL	5
-#define DMPAPER_STATEMENT	6
-#define DMPAPER_EXECUTIVE	7
-#define DMPAPER_A3	8
-#define DMPAPER_A4	9
-#define DMPAPER_A4SMALL	10
-#define DMPAPER_A5	11
-#define DMPAPER_B4	12
-#define DMPAPER_B5	13
-#define DMPAPER_FOLIO	14
-#define DMPAPER_QUARTO	15
-#define DMPAPER_10X14	16
-#define DMPAPER_11X17	17
-#define DMPAPER_NOTE	18
-#define DMPAPER_ENV_9	19
-#define DMPAPER_ENV_10	20
-#define DMPAPER_ENV_11	21
-#define DMPAPER_ENV_12	22
-#define DMPAPER_ENV_14	23
-#define DMPAPER_CSHEET	24
-#define DMPAPER_DSHEET	25
-#define DMPAPER_ESHEET	26
-#define DMPAPER_ENV_DL	27
-#define DMPAPER_ENV_C5	28
-#define DMPAPER_ENV_C3	29
-#define DMPAPER_ENV_C4	30
-#define DMPAPER_ENV_C6	31
-#define DMPAPER_ENV_C65	32
-#define DMPAPER_ENV_B4	33
-#define DMPAPER_ENV_B5	34
-#define DMPAPER_ENV_B6	35
-#define DMPAPER_ENV_ITALY	36
-#define DMPAPER_ENV_MONARCH	37
-#define DMPAPER_ENV_PERSONAL	38
-#define DMPAPER_FANFOLD_US	39
-#define DMPAPER_FANFOLD_STD_GERMAN	40
-#define DMPAPER_FANFOLD_LGL_GERMAN	41
-#define DMPAPER_ISO_B4	42
-#define DMPAPER_JAPANESE_POSTCARD	43
-#define DMPAPER_9X11	44
-#define DMPAPER_10X11	45
-#define DMPAPER_15X11	46
-#define DMPAPER_ENV_INVITE	47
-#define DMPAPER_RESERVED_48	48
-#define DMPAPER_RESERVED_49	49
-#define DMPAPER_LETTER_EXTRA	50
-#define DMPAPER_LEGAL_EXTRA	51
-#define DMPAPER_TABLOID_EXTRA	52
-#define DMPAPER_A4_EXTRA	53
-#define DMPAPER_LETTER_TRANSVERSE	54
-#define DMPAPER_A4_TRANSVERSE	55
-#define DMPAPER_LETTER_EXTRA_TRANSVERSE	56
-#define DMPAPER_A_PLUS	57
-#define DMPAPER_B_PLUS	58
-#define DMPAPER_LETTER_PLUS	59
-#define DMPAPER_A4_PLUS	60
-#define DMPAPER_A5_TRANSVERSE	61
-#define DMPAPER_B5_TRANSVERSE	62
-#define DMPAPER_A3_EXTRA	63
-#define DMPAPER_A5_EXTRA	64
-#define DMPAPER_B5_EXTRA	65
-#define DMPAPER_A2	66
-#define DMPAPER_A3_TRANSVERSE	67
-#define DMPAPER_A3_EXTRA_TRANSVERSE	68
-#if (WINVER >= 0x0500)
-#define DMPAPER_DBL_JAPANESE_POSTCARD	69
-#define DMPAPER_A6	70
-#define DMPAPER_JENV_KAKU2	71
-#define DMPAPER_JENV_KAKU3	72
-#define DMPAPER_JENV_CHOU3	73
-#define DMPAPER_JENV_CHOU4	74
-#define DMPAPER_LETTER_ROTATED	75
-#define DMPAPER_A3_ROTATED	76
-#define DMPAPER_A4_ROTATED	77
-#define DMPAPER_A5_ROTATED	78
-#define DMPAPER_B4_JIS_ROTATED	79
-#define DMPAPER_B5_JIS_ROTATED	80
-#define DMPAPER_JAPANESE_POSTCARD_ROTATED	81
-#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED	82
-#define DMPAPER_A6_ROTATED	83
-#define DMPAPER_JENV_KAKU2_ROTATED	84
-#define DMPAPER_JENV_KAKU3_ROTATED	85
-#define DMPAPER_JENV_CHOU3_ROTATED	86
-#define DMPAPER_JENV_CHOU4_ROTATED	87
-#define DMPAPER_B6_JIS	88
-#define DMPAPER_B6_JIS_ROTATED	89
-#define DMPAPER_12X11	90
-#define DMPAPER_JENV_YOU4	91
-#define DMPAPER_JENV_YOU4_ROTATED	92
-#define DMPAPER_P16K	93
-#define DMPAPER_P32K	94
-#define DMPAPER_P32KBIG	95
-#define DMPAPER_PENV_1	96
-#define DMPAPER_PENV_2	97
-#define DMPAPER_PENV_3	98
-#define DMPAPER_PENV_4	99
-#define DMPAPER_PENV_5	100
-#define DMPAPER_PENV_6	101
-#define DMPAPER_PENV_7	102
-#define DMPAPER_PENV_8	103
-#define DMPAPER_PENV_9	104
-#define DMPAPER_PENV_10	105
-#define DMPAPER_P16K_ROTATED	106
-#define DMPAPER_P32K_ROTATED	107
-#define DMPAPER_P32KBIG_ROTATED	108
-#define DMPAPER_PENV_1_ROTATED	109
-#define DMPAPER_PENV_2_ROTATED	110
-#define DMPAPER_PENV_3_ROTATED	111
-#define DMPAPER_PENV_4_ROTATED	112
-#define DMPAPER_PENV_5_ROTATED	113
-#define DMPAPER_PENV_6_ROTATED	114
-#define DMPAPER_PENV_7_ROTATED	115
-#define DMPAPER_PENV_8_ROTATED	116
-#define DMPAPER_PENV_9_ROTATED	117
-#define DMPAPER_PENV_10_ROTATED	118
-#define DMPAPER_LAST	118
-#else
-#define DMPAPER_LAST	68
-#endif
-#define DMPAPER_USER	256
-#define DMBIN_FIRST	1
-#define DMBIN_UPPER	1
-#define DMBIN_ONLYONE	1
-#define DMBIN_LOWER	2
-#define DMBIN_MIDDLE	3
-#define DMBIN_MANUAL	4
-#define DMBIN_ENVELOPE	5
-#define DMBIN_ENVMANUAL	6
-#define DMBIN_AUTO	7
-#define DMBIN_TRACTOR	8
-#define DMBIN_SMALLFMT	9
-#define DMBIN_LARGEFMT	10
-#define DMBIN_LARGECAPACITY	11
-#define DMBIN_CASSETTE	14
-#define DMBIN_FORMSOURCE	15
-#define DMBIN_LAST	15
-#define DMBIN_USER	256
-#define DMRES_DRAFT	(-1)
-#define DMRES_LOW	(-2)
-#define DMRES_MEDIUM	(-3)
-#define DMRES_HIGH	(-4)
-#define DMCOLOR_MONOCHROME	1
-#define DMCOLOR_COLOR	2
-#define DMDUP_SIMPLEX	1
-#define DMDUP_VERTICAL	2
-#define DMDUP_HORIZONTAL	3
-#define DMTT_BITMAP	1
-#define DMTT_DOWNLOAD	2
-#define DMTT_SUBDEV	3
-#define DMTT_DOWNLOAD_OUTLINE	4
-#define DMCOLLATE_FALSE	0
-#define DMCOLLATE_TRUE	1
-#define DM_SPECVERSION	800
-#define DM_GRAYSCALE	1
-#define DM_INTERLACED	2
-#define DM_UPDATE	1
-#define DM_COPY	2
-#define DM_PROMPT	4
-#define DM_MODIFY	8
-#define DM_IN_BUFFER	DM_MODIFY
-#define DM_IN_PROMPT	DM_PROMPT
-#define DM_OUT_BUFFER	DM_COPY
-#define DM_OUT_DEFAULT	DM_UPDATE
-#define DM_ORIENTATION 0x00000001
-#define DM_PAPERSIZE 0x00000002
-#define DM_PAPERLENGTH 0x00000004
-#define DM_PAPERWIDTH 0x00000008
-#define DM_SCALE 0x00000010
-#define DM_POSITION 0x00000020
-#define DM_COPIES 0x00000100
-#define DM_DEFAULTSOURCE 0x00000200
-#define DM_PRINTQUALITY 0x00000400
-#define DM_COLOR 0x00000800
-#define DM_DUPLEX 0x00001000
-#define DM_YRESOLUTION 0x00002000
-#define DM_TTOPTION 0x00004000
-#define DM_COLLATE 0x00008000
-#define DM_FORMNAME 0x00010000
-#define DM_LOGPIXELS 0x00020000
-#define DM_BITSPERPEL 0x00040000
-#define DM_PELSWIDTH 0x00080000
-#define DM_PELSHEIGHT 0x00100000
-#define DM_DISPLAYFLAGS 0x00200000
-#define DM_DISPLAYFREQUENCY 0x00400000
-#define DM_ICMMETHOD 0x00800000
-#define DM_ICMINTENT 0x01000000
-#define DM_MEDIATYPE 0x02000000
-#define DM_DITHERTYPE 0x04000000
-#if(WINVER >= 0x0500)
-#define DM_PANNINGWIDTH 0x08000000
-#define DM_PANNINGHEIGHT 0x10000000
-#endif
-#if(WINVER >= 0x0501)
-#define DM_DISPLAYFIXEDOUTPUT 0x20000000
-#define DM_DISPLAYORIENTATION 0x00000080
-#define DMDO_DEFAULT 0x00000000
-#define DMDO_90 0x00000001
-#define DMDO_180 0x00000002
-#define DMDO_270 0x00000003
-#define DMDFO_DEFAULT 0x00000000
-#define DMDFO_STRETCH 0x00000001
-#define DMDFO_CENTER 0x00000002
-#endif
-#define DMICMMETHOD_NONE	1
-#define DMICMMETHOD_SYSTEM	2
-#define DMICMMETHOD_DRIVER	3
-#define DMICMMETHOD_DEVICE	4
-#define DMICMMETHOD_USER	256
-#define DMICM_SATURATE	1
-#define DMICM_CONTRAST	2
-#define DMICM_COLORMETRIC	3
-#define DMICM_USER	256
-#define DMMEDIA_STANDARD	1
-#define DMMEDIA_TRANSPARENCY	2
-#define DMMEDIA_GLOSSY	3
-#define DMMEDIA_USER	256
-#define DMDITHER_NONE	1
-#define DMDITHER_COARSE	2
-#define DMDITHER_FINE	3
-#define DMDITHER_LINEART	4
-#define DMDITHER_ERRORDIFFUSION	5
-#define DMDITHER_RESERVED6	6
-#define DMDITHER_RESERVED7	7
-#define DMDITHER_RESERVED8	8
-#define DMDITHER_RESERVED9	9
-#define DMDITHER_GRAYSCALE	10
-#define DMDITHER_USER	256
-#define GDI_ERROR 0xFFFFFFFF
-#define HGDI_ERROR ((HANDLE)GDI_ERROR)
-#define TMPF_FIXED_PITCH 1
-#define TMPF_VECTOR 2
-#define TMPF_TRUETYPE 4
-#define TMPF_DEVICE 8
-#define NTM_ITALIC 1
-#define NTM_BOLD 32
-#define NTM_REGULAR 64
-#define TT_POLYGON_TYPE 24
-#define TT_PRIM_LINE 1
-#define TT_PRIM_QSPLINE 2
-#define TT_PRIM_CSPLINE 3
-#define FONTMAPPER_MAX 10
-#define ENHMETA_STOCK_OBJECT 0x80000000
-#define WGL_FONT_LINES 0
-#define WGL_FONT_POLYGONS 1
-#define LPD_DOUBLEBUFFER 1
-#define LPD_STEREO 2
-#define LPD_SUPPORT_GDI 16
-#define LPD_SUPPORT_OPENGL 32
-#define LPD_SHARE_DEPTH 64
-#define LPD_SHARE_STENCIL 128
-#define LPD_SHARE_ACCUM 256
-#define LPD_SWAP_EXCHANGE 512
-#define LPD_SWAP_COPY 1024
-#define LPD_TRANSPARENT 4096
-#define LPD_TYPE_RGBA 0
-#define LPD_TYPE_COLORINDEX 1
-#define WGL_SWAP_MAIN_PLANE 1
-#define WGL_SWAP_OVERLAY1 2
-#define WGL_SWAP_OVERLAY2 4
-#define WGL_SWAP_OVERLAY3 8
-#define WGL_SWAP_OVERLAY4 16
-#define WGL_SWAP_OVERLAY5 32
-#define WGL_SWAP_OVERLAY6 64
-#define WGL_SWAP_OVERLAY7 128
-#define WGL_SWAP_OVERLAY8 256
-#define WGL_SWAP_OVERLAY9 512
-#define WGL_SWAP_OVERLAY10 1024
-#define WGL_SWAP_OVERLAY11 2048
-#define WGL_SWAP_OVERLAY12 4096
-#define WGL_SWAP_OVERLAY13 8192
-#define WGL_SWAP_OVERLAY14 16384
-#define WGL_SWAP_OVERLAY15 32768
-#define WGL_SWAP_UNDERLAY1 65536
-#define WGL_SWAP_UNDERLAY2 0x20000
-#define WGL_SWAP_UNDERLAY3 0x40000
-#define WGL_SWAP_UNDERLAY4 0x80000
-#define WGL_SWAP_UNDERLAY5 0x100000
-#define WGL_SWAP_UNDERLAY6 0x200000
-#define WGL_SWAP_UNDERLAY7 0x400000
-#define WGL_SWAP_UNDERLAY8 0x800000
-#define WGL_SWAP_UNDERLAY9 0x1000000
-#define WGL_SWAP_UNDERLAY10 0x2000000
-#define WGL_SWAP_UNDERLAY11 0x4000000
-#define WGL_SWAP_UNDERLAY12 0x8000000
-#define WGL_SWAP_UNDERLAY13 0x10000000
-#define WGL_SWAP_UNDERLAY14 0x20000000
-#define WGL_SWAP_UNDERLAY15 0x40000000
-#define AC_SRC_OVER		0x00
-#define AC_SRC_ALPHA		0x01
-#define AC_SRC_NO_PREMULT_ALPHA	0x01
-#define AC_SRC_NO_ALPHA		0x02
-#define AC_DST_NO_PREMULT_ALPHA	0x10
-#define AC_DST_NO_ALPHA		0x20
-#define LAYOUT_RTL 1
-#define LAYOUT_BITMAPORIENTATIONPRESERVED 8
-#if (WINVER >= 0x0400)
-#define CS_ENABLE           0x00000001
-#define CS_DISABLE          0x00000002
-#define CS_DELETE_TRANSFORM 0x00000003
-#endif
-#if (WINVER >= 0x0500)
-#define GRADIENT_FILL_RECT_H 0x00
-#define GRADIENT_FILL_RECT_V 0x01
-#define GRADIENT_FILL_TRIANGLE 0x02
-#define GRADIENT_FILL_OP_FLAG 0xff
-#define COLORMATCHTOTARGET_EMBEDED 0x00000001
-#define CREATECOLORSPACE_EMBEDED   0x00000001
-#define SETICMPROFILE_EMBEDED      0x00000001
-#endif
-
-#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
-#define DISPLAY_DEVICE_MULTI_DRIVER        0x00000002
-#define DISPLAY_DEVICE_PRIMARY_DEVICE      0x00000004
-#define DISPLAY_DEVICE_MIRRORING_DRIVER    0x00000008
-#define DISPLAY_DEVICE_VGA_COMPATIBLE      0x00000010
-#define DISPLAY_DEVICE_REMOVABLE           0x00000020
-#define DISPLAY_DEVICE_MODESPRUNED         0x08000000
-
-#if (_WIN32_WINNT >= 0x0500)
-#define NTM_NONNEGATIVE_AC  0x00010000
-#define NTM_PS_OPENTYPE     0x00020000
-#define NTM_TT_OPENTYPE     0x00040000
-#define NTM_MULTIPLEMASTER  0x00080000
-#define NTM_TYPE1           0x00100000
-#define NTM_DSIG            0x00200000
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-#define GGI_MARK_NONEXISTING_GLYPHS 1
-#endif
-
-#ifndef RC_INVOKED
-typedef struct _ABC {
-	int abcA;
-	UINT abcB;
-	int abcC;
-} ABC,*LPABC;
-typedef struct _ABCFLOAT {
-	FLOAT abcfA;
-	FLOAT abcfB;
-	FLOAT abcfC;
-} ABCFLOAT,*LPABCFLOAT;
-typedef struct tagBITMAP {
-	LONG	bmType;
-	LONG	bmWidth;
-	LONG	bmHeight;
-	LONG	bmWidthBytes;
-	WORD	bmPlanes;
-	WORD	bmBitsPixel;
-	LPVOID	bmBits;
-} BITMAP,*PBITMAP,*LPBITMAP;
-typedef struct tagBITMAPCOREHEADER {
-	DWORD	bcSize;
-	WORD	bcWidth;
-	WORD	bcHeight;
-	WORD	bcPlanes;
-	WORD	bcBitCount;
-} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
-#pragma pack(push,1)
-typedef struct tagRGBTRIPLE {
-	BYTE rgbtBlue;
-	BYTE rgbtGreen;
-	BYTE rgbtRed;
-} RGBTRIPLE,*LPRGBTRIPLE;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct tagBITMAPFILEHEADER {
-	WORD	bfType;
-	DWORD	bfSize;
-	WORD	bfReserved1;
-	WORD	bfReserved2;
-	DWORD	bfOffBits;
-} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
-#pragma pack(pop)
-typedef struct _BITMAPCOREINFO {
-	BITMAPCOREHEADER	bmciHeader;
-	RGBTRIPLE	bmciColors[1];
-} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
-typedef struct tagBITMAPINFOHEADER{
-	DWORD	biSize;
-	LONG	biWidth;
-	LONG	biHeight;
-	WORD	biPlanes;
-	WORD	biBitCount;
-	DWORD	biCompression;
-	DWORD	biSizeImage;
-	LONG	biXPelsPerMeter;
-	LONG	biYPelsPerMeter;
-	DWORD	biClrUsed;
-	DWORD	biClrImportant;
-} BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
-typedef struct tagRGBQUAD {
-	BYTE	rgbBlue;
-	BYTE	rgbGreen;
-	BYTE	rgbRed;
-	BYTE	rgbReserved;
-} RGBQUAD,*LPRGBQUAD;
-typedef struct tagBITMAPINFO {
-	BITMAPINFOHEADER bmiHeader;
-	RGBQUAD bmiColors[1];
-} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
-typedef long FXPT16DOT16,*LPFXPT16DOT16;
-typedef long FXPT2DOT30,*LPFXPT2DOT30;
-typedef struct tagCIEXYZ {
-	FXPT2DOT30 ciexyzX;
-	FXPT2DOT30 ciexyzY;
-	FXPT2DOT30 ciexyzZ;
-} CIEXYZ,*LPCIEXYZ;
-typedef struct tagCIEXYZTRIPLE {
-	CIEXYZ ciexyzRed;
-	CIEXYZ ciexyzGreen;
-	CIEXYZ ciexyzBlue;
-} CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
-typedef struct {
-	DWORD	bV4Size;
-	LONG	bV4Width;
-	LONG	bV4Height;
-	WORD	bV4Planes;
-	WORD	bV4BitCount;
-	DWORD	bV4V4Compression;
-	DWORD	bV4SizeImage;
-	LONG	bV4XPelsPerMeter;
-	LONG	bV4YPelsPerMeter;
-	DWORD	bV4ClrUsed;
-	DWORD	bV4ClrImportant;
-	DWORD	bV4RedMask;
-	DWORD	bV4GreenMask;
-	DWORD	bV4BlueMask;
-	DWORD	bV4AlphaMask;
-	DWORD	bV4CSType;
-	CIEXYZTRIPLE bV4Endpoints;
-	DWORD	bV4GammaRed;
-	DWORD	bV4GammaGreen;
-	DWORD	bV4GammaBlue;
-} BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
-typedef struct {
-	DWORD	bV5Size;
-	LONG	bV5Width;
-	LONG	bV5Height;
-	WORD	bV5Planes;
-	WORD	bV5BitCount;
-	DWORD	bV5Compression;
-	DWORD	bV5SizeImage;
-	LONG	bV5XPelsPerMeter;
-	LONG	bV5YPelsPerMeter;
-	DWORD	bV5ClrUsed;
-	DWORD	bV5ClrImportant;
-	DWORD	bV5RedMask;
-	DWORD	bV5GreenMask;
-	DWORD	bV5BlueMask;
-	DWORD	bV5AlphaMask;
-	DWORD	bV5CSType;
-	CIEXYZTRIPLE bV5Endpoints;
-	DWORD	bV5GammaRed;
-	DWORD	bV5GammaGreen;
-	DWORD	bV5GammaBlue;
-	DWORD	bV5Intent;
-	DWORD	bV5ProfileData;
-	DWORD	bV5ProfileSize;
-	DWORD	bV5Reserved;
-} BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER;
-typedef struct tagFONTSIGNATURE {
-	DWORD	fsUsb[4];
-	DWORD	fsCsb[2];
-} FONTSIGNATURE,*LPFONTSIGNATURE;
-typedef struct {
-	UINT ciCharset;
-	UINT ciACP;
-	FONTSIGNATURE fs;
-} CHARSETINFO,*LPCHARSETINFO;
-typedef struct  tagCOLORADJUSTMENT {
-	WORD	caSize;
-	WORD	caFlags;
-	WORD	caIlluminantIndex;
-	WORD	caRedGamma;
-	WORD	caGreenGamma;
-	WORD	caBlueGamma;
-	WORD	caReferenceBlack;
-	WORD	caReferenceWhite;
-	SHORT	caContrast;
-	SHORT	caBrightness;
-	SHORT	caColorfulness;
-	SHORT	caRedGreenTint;
-} COLORADJUSTMENT,*LPCOLORADJUSTMENT;
-typedef struct _devicemodeA {
-  BYTE   dmDeviceName[CCHDEVICENAME];
-  WORD   dmSpecVersion;
-  WORD   dmDriverVersion;
-  WORD   dmSize;
-  WORD   dmDriverExtra;
-  DWORD  dmFields;
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      short dmOrientation;
-      short dmPaperSize;
-      short dmPaperLength;
-      short dmPaperWidth;
-      short dmScale;
-      short dmCopies;
-      short dmDefaultSource;
-      short dmPrintQuality;
-    } DUMMYSTRUCTNAME;
-    _ANONYMOUS_STRUCT struct {
-      POINTL dmPosition;
-      DWORD  dmDisplayOrientation;
-      DWORD  dmDisplayFixedOutput;
-    } DUMMYSTRUCTNAME2;
-  } DUMMYUNIONNAME;
-
-  short  dmColor;
-  short  dmDuplex;
-  short  dmYResolution;
-  short  dmTTOption;
-  short  dmCollate;
-  BYTE   dmFormName[CCHFORMNAME];
-  WORD   dmLogPixels;
-  DWORD  dmBitsPerPel;
-  DWORD  dmPelsWidth;
-  DWORD  dmPelsHeight;
-  _ANONYMOUS_UNION union {
-    DWORD  dmDisplayFlags;
-    DWORD  dmNup;
-  } DUMMYUNIONNAME2;
-  DWORD  dmDisplayFrequency;
-#if(WINVER >= 0x0400)
-  DWORD  dmICMMethod;
-  DWORD  dmICMIntent;
-  DWORD  dmMediaType;
-  DWORD  dmDitherType;
-  DWORD  dmReserved1;
-  DWORD  dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
-  DWORD  dmPanningWidth;
-  DWORD  dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
-} DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
-typedef struct _devicemodeW {
-  WCHAR   dmDeviceName[CCHDEVICENAME];
-  WORD   dmSpecVersion;
-  WORD   dmDriverVersion;
-  WORD   dmSize;
-  WORD   dmDriverExtra;
-  DWORD  dmFields;
-  _ANONYMOUS_UNION union {
-    _ANONYMOUS_STRUCT struct {
-      short dmOrientation;
-      short dmPaperSize;
-      short dmPaperLength;
-      short dmPaperWidth;
-      short dmScale;
-      short dmCopies;
-      short dmDefaultSource;
-      short dmPrintQuality;
-    } DUMMYSTRUCTNAME;
-    _ANONYMOUS_STRUCT struct {
-      POINTL dmPosition;
-      DWORD  dmDisplayOrientation;
-      DWORD  dmDisplayFixedOutput;
-    } DUMMYSTRUCTNAME2;
-  } DUMMYUNIONNAME;
-
-  short  dmColor;
-  short  dmDuplex;
-  short  dmYResolution;
-  short  dmTTOption;
-  short  dmCollate;
-  WCHAR  dmFormName[CCHFORMNAME];
-  WORD   dmLogPixels;
-  DWORD  dmBitsPerPel;
-  DWORD  dmPelsWidth;
-  DWORD  dmPelsHeight;
-  _ANONYMOUS_UNION union {
-    DWORD  dmDisplayFlags;
-    DWORD  dmNup;
-  } DUMMYUNIONNAME2;
-  DWORD  dmDisplayFrequency;
-#if(WINVER >= 0x0400)
-  DWORD  dmICMMethod;
-  DWORD  dmICMIntent;
-  DWORD  dmMediaType;
-  DWORD  dmDitherType;
-  DWORD  dmReserved1;
-  DWORD  dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
-  DWORD  dmPanningWidth;
-  DWORD  dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
-} DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
-typedef struct tagDIBSECTION {
-	BITMAP dsBm;
-	BITMAPINFOHEADER dsBmih;
-	DWORD dsBitfields[3];
-	HANDLE dshSection;
-	DWORD dsOffset;
-} DIBSECTION;
-typedef struct _DOCINFOA {
-	int cbSize;
-	LPCSTR lpszDocName;
-	LPCSTR lpszOutput;
-	LPCSTR lpszDatatype;
-	DWORD fwType;
-} DOCINFOA,*LPDOCINFOA;
-typedef struct _DOCINFOW {
-	int cbSize;
-	LPCWSTR lpszDocName;
-	LPCWSTR lpszOutput;
-	LPCWSTR lpszDatatype;
-	DWORD fwType;
-} DOCINFOW,*LPDOCINFOW;
-typedef struct tagEMR {
-	DWORD iType;
-	DWORD nSize;
-} EMR,*PEMR;
-typedef struct tagEMRANGLEARC {
-	EMR emr;
-	POINTL ptlCenter;
-	DWORD nRadius;
-	FLOAT eStartAngle;
-	FLOAT eSweepAngle;
-} EMRANGLEARC,*PEMRANGLEARC;
-typedef struct tagEMRARC {
-	EMR emr;
-	RECTL rclBox;
-	POINTL ptlStart;
-	POINTL ptlEnd;
-} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
-typedef struct  _XFORM {
-	FLOAT eM11;
-	FLOAT eM12;
-	FLOAT eM21;
-	FLOAT eM22;
-	FLOAT eDx;
-	FLOAT eDy;
-} XFORM,*PXFORM,*LPXFORM;
-typedef struct tagEMRBITBLT {
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-} EMRBITBLT,*PEMRBITBLT;
-typedef struct tagLOGBRUSH {
-	UINT lbStyle;
-	COLORREF lbColor;
-	LONG lbHatch;
-} LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH;
-typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
-typedef struct tagEMRCREATEBRUSHINDIRECT {
-	EMR emr;
-	DWORD ihBrush;
-	LOGBRUSH lb;
-} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
-typedef LONG LCSCSTYPE;
-typedef LONG LCSGAMUTMATCH;
-typedef struct tagLOGCOLORSPACEA {
-	DWORD lcsSignature;
-	DWORD lcsVersion;
-	DWORD lcsSize;
-	LCSCSTYPE lcsCSType;
-	LCSGAMUTMATCH lcsIntent;
-	CIEXYZTRIPLE lcsEndpoints;
-	DWORD lcsGammaRed;
-	DWORD lcsGammaGreen;
-	DWORD lcsGammaBlue;
-	CHAR lcsFilename[MAX_PATH];
-} LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
-typedef struct tagLOGCOLORSPACEW {
-	DWORD lcsSignature;
-	DWORD lcsVersion;
-	DWORD lcsSize;
-	LCSCSTYPE lcsCSType;
-	LCSGAMUTMATCH lcsIntent;
-	CIEXYZTRIPLE lcsEndpoints;
-	DWORD lcsGammaRed;
-	DWORD lcsGammaGreen;
-	DWORD lcsGammaBlue;
-	WCHAR lcsFilename[MAX_PATH];
-} LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
-typedef struct tagEMRCREATECOLORSPACE {
-	EMR emr;
-	DWORD ihCS;
-	LOGCOLORSPACEW lcs;
-} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
-typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
-	EMR emr;
-	DWORD ihBrush;
-	DWORD iUsage;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
-typedef struct tagEMRCREATEMONOBRUSH {
-	EMR emr;
-	DWORD ihBrush;
-	DWORD iUsage;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
-typedef struct tagPALETTEENTRY {
-	BYTE peRed;
-	BYTE peGreen;
-	BYTE peBlue;
-	BYTE peFlags;
-} PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
-typedef struct tagLOGPALETTE {
-	WORD palVersion;
-	WORD palNumEntries;
-	PALETTEENTRY palPalEntry[1];
-} LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
-typedef struct tagEMRCREATEPALETTE {
-	EMR emr;
-	DWORD ihPal;
-	LOGPALETTE lgpl;
-} EMRCREATEPALETTE,*PEMRCREATEPALETTE;
-typedef struct tagLOGPEN {
-	UINT lopnStyle;
-	POINT lopnWidth;
-	COLORREF lopnColor;
-} LOGPEN,*PLOGPEN,*LPLOGPEN;
-typedef struct tagEMRCREATEPEN {
-	EMR emr;
-	DWORD ihPen;
-	LOGPEN lopn;
-} EMRCREATEPEN,*PEMRCREATEPEN;
-typedef struct tagEMRELLIPSE {
-	EMR emr;
-	RECTL rclBox;
-} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
-typedef struct tagEMREOF {
-	EMR emr;
-	DWORD nPalEntries;
-	DWORD offPalEntries;
-	DWORD nSizeLast;
-} EMREOF,*PEMREOF;
-typedef struct tagEMREXCLUDECLIPRECT {
-	EMR emr;
-	RECTL rclClip;
-} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
-typedef struct tagPANOSE {
-	BYTE bFamilyType;
-	BYTE bSerifStyle;
-	BYTE bWeight;
-	BYTE bProportion;
-	BYTE bContrast;
-	BYTE bStrokeVariation;
-	BYTE bArmStyle;
-	BYTE bLetterform;
-	BYTE bMidline;
-	BYTE bXHeight;
-} PANOSE;
-typedef struct tagLOGFONTA {
-	LONG	lfHeight;
-	LONG	lfWidth;
-	LONG	lfEscapement;
-	LONG	lfOrientation;
-	LONG	lfWeight;
-	BYTE	lfItalic;
-	BYTE	lfUnderline;
-	BYTE	lfStrikeOut;
-	BYTE	lfCharSet;
-	BYTE	lfOutPrecision;
-	BYTE	lfClipPrecision;
-	BYTE	lfQuality;
-	BYTE	lfPitchAndFamily;
-	CHAR	lfFaceName[LF_FACESIZE];
-} LOGFONTA,*PLOGFONTA,*LPLOGFONTA;
-typedef struct tagLOGFONTW {
-	LONG	lfHeight;
-	LONG	lfWidth;
-	LONG	lfEscapement;
-	LONG	lfOrientation;
-	LONG	lfWeight;
-	BYTE	lfItalic;
-	BYTE	lfUnderline;
-	BYTE	lfStrikeOut;
-	BYTE	lfCharSet;
-	BYTE	lfOutPrecision;
-	BYTE	lfClipPrecision;
-	BYTE	lfQuality;
-	BYTE	lfPitchAndFamily;
-	WCHAR	lfFaceName[LF_FACESIZE];
-} LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
-typedef struct tagEXTLOGFONTA {
-	LOGFONTA	elfLogFont;
-	BYTE	elfFullName[LF_FULLFACESIZE];
-	BYTE	elfStyle[LF_FACESIZE];
-	DWORD	elfVersion;
-	DWORD	elfStyleSize;
-	DWORD	elfMatch;
-	DWORD	elfReserved;
-	BYTE	elfVendorId[ELF_VENDOR_SIZE];
-	DWORD	elfCulture;
-	PANOSE	elfPanose;
-} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
-typedef struct tagEXTLOGFONTW {
-	LOGFONTW	elfLogFont;
-	WCHAR	elfFullName[LF_FULLFACESIZE];
-	WCHAR	elfStyle[LF_FACESIZE];
-	DWORD	elfVersion;
-	DWORD	elfStyleSize;
-	DWORD	elfMatch;
-	DWORD	elfReserved;
-	BYTE	elfVendorId[ELF_VENDOR_SIZE];
-	DWORD	elfCulture;
-	PANOSE	elfPanose;
-} EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
-typedef struct tagEMREXTCREATEFONTINDIRECTW {
-	EMR emr;
-	DWORD ihFont;
-	EXTLOGFONTW elfw;
-} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
-typedef struct tagEXTLOGPEN {
-	UINT elpPenStyle;
-	UINT elpWidth;
-	UINT elpBrushStyle;
-	COLORREF elpColor;
-	LONG elpHatch;
-	DWORD elpNumEntries;
-	DWORD elpStyleEntry[1];
-} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN;
-typedef struct tagEMREXTCREATEPEN {
-	EMR emr;
-	DWORD ihPen;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-	EXTLOGPEN elp;
-} EMREXTCREATEPEN,*PEMREXTCREATEPEN;
-typedef struct tagEMREXTFLOODFILL {
-	EMR emr;
-	POINTL ptlStart;
-	COLORREF crColor;
-	DWORD iMode;
-} EMREXTFLOODFILL,*PEMREXTFLOODFILL;
-typedef struct tagEMREXTSELECTCLIPRGN {
-	EMR emr;
-	DWORD cbRgnData;
-	DWORD iMode;
-	BYTE RgnData[1];
-} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
-typedef struct tagEMRTEXT {
-	POINTL ptlReference;
-	DWORD nChars;
-	DWORD offString;
-	DWORD fOptions;
-	RECTL rcl;
-	DWORD offDx;
-} EMRTEXT,*PEMRTEXT;
-typedef struct tagEMREXTTEXTOUTA {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD iGraphicsMode;
-	FLOAT exScale;
-	FLOAT eyScale;
-	EMRTEXT emrtext;
-} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
-typedef struct tagEMRFILLPATH {
-	EMR emr;
-	RECTL rclBounds;
-} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
-typedef struct tagEMRFILLRGN {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	DWORD ihBrush;
-	BYTE RgnData[1];
-} EMRFILLRGN,*PEMRFILLRGN;
-typedef struct tagEMRFORMAT   {
-	DWORD dSignature;
-	DWORD nVersion;
-	DWORD cbData;
-	DWORD offData;
-} EMRFORMAT;
-typedef struct tagEMRFRAMERGN {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	DWORD ihBrush;
-	SIZEL szlStroke;
-	BYTE RgnData[1];
-} EMRFRAMERGN,*PEMRFRAMERGN;
-typedef struct tagEMRGDICOMMENT {
-	EMR emr;
-	DWORD cbData;
-	BYTE Data[1];
-} EMRGDICOMMENT,*PEMRGDICOMMENT;
-typedef struct tagEMRINVERTRGN {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	BYTE RgnData[1];
-} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
-typedef struct tagEMRLINETO {
-	EMR emr;
-	POINTL ptl;
-} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
-typedef struct tagEMRMASKBLT {
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG xMask;
-	LONG yMask;
-	DWORD iUsageMask;
-	DWORD offBmiMask;
-	DWORD cbBmiMask;
-	DWORD offBitsMask;
-	DWORD cbBitsMask;
-} EMRMASKBLT,*PEMRMASKBLT;
-typedef struct tagEMRMODIFYWORLDTRANSFORM {
-	EMR emr;
-	XFORM xform;
-	DWORD iMode;
-} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
-typedef struct tagEMROFFSETCLIPRGN {
-	EMR emr;
-	POINTL ptlOffset;
-} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
-typedef struct tagEMRPLGBLT {
-	EMR emr;
-	RECTL rclBounds;
-	POINTL aptlDest[3];
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG xMask;
-	LONG yMask;
-	DWORD iUsageMask;
-	DWORD offBmiMask;
-	DWORD cbBmiMask;
-	DWORD offBitsMask;
-	DWORD cbBitsMask;
-} EMRPLGBLT,*PEMRPLGBLT;
-typedef struct tagEMRPOLYDRAW {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cptl;
-	POINTL aptl[1];
-	BYTE abTypes[1];
-} EMRPOLYDRAW,*PEMRPOLYDRAW;
-typedef struct tagEMRPOLYDRAW16 {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cpts;
-	POINTS apts[1];
-	BYTE abTypes[1];
-} EMRPOLYDRAW16,*PEMRPOLYDRAW16;
-typedef struct tagEMRPOLYLINE {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cptl;
-	POINTL aptl[1];
-} EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
-typedef struct tagEMRPOLYLINE16 {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cpts;
-	POINTL apts[1];
-} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
-typedef struct tagEMRPOLYPOLYLINE {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD nPolys;
-	DWORD cptl;
-	DWORD aPolyCounts[1];
-	POINTL aptl[1];
-} EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
-typedef struct tagEMRPOLYPOLYLINE16 {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD nPolys;
-	DWORD cpts;
-	DWORD aPolyCounts[1];
-	POINTS apts[1];
-} EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
-typedef struct tagEMRPOLYTEXTOUTA {
-	EMR emr;
-	RECTL rclBounds;
-	DWORD iGraphicsMode;
-	FLOAT exScale;
-	FLOAT eyScale;
-	LONG cStrings;
-	EMRTEXT aemrtext[1];
-} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
-typedef struct tagEMRRESIZEPALETTE {
-	EMR emr;
-	DWORD ihPal;
-	DWORD cEntries;
-} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
-typedef struct tagEMRRESTOREDC {
-	EMR emr;
-	LONG iRelative;
-} EMRRESTOREDC,*PEMRRESTOREDC;
-typedef struct tagEMRROUNDRECT {
-	EMR emr;
-	RECTL rclBox;
-	SIZEL szlCorner;
-} EMRROUNDRECT,*PEMRROUNDRECT;
-typedef struct tagEMRSCALEVIEWPORTEXTEX {
-	EMR emr;
-	LONG xNum;
-	LONG xDenom;
-	LONG yNum;
-	LONG yDenom;
-} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
-typedef struct tagEMRSELECTCOLORSPACE {
-	EMR emr;
-	DWORD ihCS;
-} EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
-typedef struct tagEMRSELECTOBJECT {
-	EMR emr;
-	DWORD ihObject;
-} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
-typedef struct tagEMRSELECTPALETTE {
-	EMR emr;
-	DWORD ihPal;
-} EMRSELECTPALETTE,*PEMRSELECTPALETTE;
-typedef struct tagEMRSETARCDIRECTION {
-	EMR emr;
-	DWORD iArcDirection;
-} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
-typedef struct tagEMRSETTEXTCOLOR {
-	EMR emr;
-	COLORREF crColor;
-} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
-typedef struct tagEMRSETCOLORADJUSTMENT {
-	EMR emr;
-	COLORADJUSTMENT ColorAdjustment;
-} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
-typedef struct tagEMRSETDIBITSTODEVICE {
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	DWORD iUsageSrc;
-	DWORD iStartScan;
-	DWORD cScans;
-} EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
-typedef struct tagEMRSETMAPPERFLAGS {
-	EMR emr;
-	DWORD dwFlags;
-} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
-typedef struct tagEMRSETMITERLIMIT {
-	EMR emr;
-	FLOAT eMiterLimit;
-} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
-typedef struct tagEMRSETPALETTEENTRIES {
-	EMR emr;
-	DWORD ihPal;
-	DWORD iStart;
-	DWORD cEntries;
-	PALETTEENTRY aPalEntries[1];
-} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
-typedef struct tagEMRSETPIXELV {
-	EMR emr;
-	POINTL ptlPixel;
-	COLORREF crColor;
-} EMRSETPIXELV,*PEMRSETPIXELV;
-typedef struct tagEMRSETVIEWPORTEXTEX {
-	EMR emr;
-	SIZEL szlExtent;
-} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
-typedef struct tagEMRSETVIEWPORTORGEX {
-	EMR emr;
-	POINTL ptlOrigin;
-} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
-typedef struct tagEMRSETWORLDTRANSFORM {
-	EMR emr;
-	XFORM xform;
-} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
-typedef struct tagEMRSTRETCHBLT {
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG cxSrc;
-	LONG cySrc;
-} EMRSTRETCHBLT,*PEMRSTRETCHBLT;
-typedef struct tagEMRSTRETCHDIBITS {
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	DWORD iUsageSrc;
-	DWORD dwRop;
-	LONG cxDest;
-	LONG cyDest;
-} EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
-typedef struct tagABORTPATH {
-	EMR emr;
-} EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
-typedef struct tagEMRSELECTCLIPPATH {
-	EMR emr;
-	DWORD iMode;
-} EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM;
-#pragma pack(push,2)
-typedef struct tagMETAHEADER {
-	WORD mtType;
-	WORD mtHeaderSize;
-	WORD mtVersion;
-	DWORD mtSize;
-	WORD mtNoObjects;
-	DWORD mtMaxRecord;
-	WORD mtNoParameters;
-} METAHEADER,*PMETAHEADER,*LPMETAHEADER;
-#pragma pack(pop)
-typedef struct tagENHMETAHEADER {
-	DWORD iType;
-	DWORD nSize;
-	RECTL rclBounds;
-	RECTL rclFrame;
-	DWORD dSignature;
-	DWORD nVersion;
-	DWORD nBytes;
-	DWORD nRecords;
-	WORD nHandles;
-	WORD sReserved;
-	DWORD nDescription;
-	DWORD offDescription;
-	DWORD nPalEntries;
-	SIZEL szlDevice;
-	SIZEL szlMillimeters;
-#if (WINVER >= 0x0400)
-	DWORD cbPixelFormat;
-	DWORD offPixelFormat;
-	DWORD bOpenGL;
-#endif
-#if (WINVER >= 0x0500)
-	SIZEL szlMicrometers;
-#endif
-} ENHMETAHEADER,*LPENHMETAHEADER;
-typedef struct tagMETARECORD {
-	DWORD rdSize;
-	WORD rdFunction;
-	WORD rdParm[1];
-} METARECORD,*PMETARECORD,*LPMETARECORD;
-typedef struct tagENHMETARECORD {
-	DWORD iType;
-	DWORD nSize;
-	DWORD dParm[1];
-} ENHMETARECORD,*LPENHMETARECORD;
-typedef struct tagHANDLETABLE {
-	HGDIOBJ objectHandle[1];
-} HANDLETABLE,*LPHANDLETABLE;
-typedef struct tagTEXTMETRICA {
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	BYTE tmFirstChar;
-	BYTE tmLastChar;
-	BYTE tmDefaultChar;
-	BYTE tmBreakChar;
-	BYTE tmItalic;
-	BYTE tmUnderlined;
-	BYTE tmStruckOut;
-	BYTE tmPitchAndFamily;
-	BYTE tmCharSet;
-} TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA;
-typedef struct tagTEXTMETRICW {
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	WCHAR tmFirstChar;
-	WCHAR tmLastChar;
-	WCHAR tmDefaultChar;
-	WCHAR tmBreakChar;
-	BYTE tmItalic;
-	BYTE tmUnderlined;
-	BYTE tmStruckOut;
-	BYTE tmPitchAndFamily;
-	BYTE tmCharSet;
-} TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW;
-typedef struct _RGNDATAHEADER {
-	DWORD dwSize;
-	DWORD iType;
-	DWORD nCount;
-	DWORD nRgnSize;
-	RECT rcBound;
-} RGNDATAHEADER;
-typedef struct _RGNDATA {
-	RGNDATAHEADER rdh;
-	char Buffer[1];
-} RGNDATA,*PRGNDATA, *LPRGNDATA;
-/* for GetRandomRgn */
-#define SYSRGN  4
-typedef struct tagGCP_RESULTSA {
-	DWORD lStructSize;
-	LPSTR lpOutString;
-	UINT *lpOrder;
-	INT *lpDx;
-	INT *lpCaretPos;
-	LPSTR lpClass;
-	LPWSTR lpGlyphs;
-	UINT nGlyphs;
-	UINT nMaxFit;
-} GCP_RESULTSA,*LPGCP_RESULTSA;
-typedef struct tagGCP_RESULTSW {
-	DWORD lStructSize;
-	LPWSTR lpOutString;
-	UINT *lpOrder;
-	INT *lpDx;
-	INT *lpCaretPos;
-	LPSTR lpClass;
-	LPWSTR lpGlyphs;
-	UINT nGlyphs;
-	UINT nMaxFit;
-} GCP_RESULTSW,*LPGCP_RESULTSW;
-typedef struct _GLYPHMETRICS {
-	UINT gmBlackBoxX;
-	UINT gmBlackBoxY;
-	POINT gmptGlyphOrigin;
-	short gmCellIncX;
-	short gmCellIncY;
-} GLYPHMETRICS,*LPGLYPHMETRICS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct tagWCRANGE
-{
-	WCHAR wcLow;
-	USHORT cGlyphs;
-} WCRANGE, *PWCRANGE, *LPWCRANGE;
-typedef struct tagGLYPHSET
-{
-	DWORD cbThis;
-	DWORD flAccel;
-	DWORD cGlyphsSupported;
-	DWORD cRanges;
-	WCRANGE ranges[1];
-} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
-#endif
-typedef struct tagKERNINGPAIR {
-	WORD wFirst;
-	WORD wSecond;
-	int iKernAmount;
-} KERNINGPAIR,*LPKERNINGPAIR;
-typedef struct _FIXED {
-	WORD fract;
-	short value;
-} FIXED;
-typedef struct _MAT2 {
-	FIXED eM11;
-	FIXED eM12;
-	FIXED eM21;
-	FIXED eM22;
-} MAT2,*LPMAT2;
-typedef struct _OUTLINETEXTMETRICA {
-	UINT otmSize;
-	TEXTMETRICA otmTextMetrics;
-	BYTE otmFiller;
-	PANOSE otmPanoseNumber;
-	UINT otmfsSelection;
-	UINT otmfsType;
-	int otmsCharSlopeRise;
-	int otmsCharSlopeRun;
-	int otmItalicAngle;
-	UINT otmEMSquare;
-	int otmAscent;
-	int otmDescent;
-	UINT otmLineGap;
-	UINT otmsCapEmHeight;
-	UINT otmsXHeight;
-	RECT otmrcFontBox;
-	int otmMacAscent;
-	int otmMacDescent;
-	UINT otmMacLineGap;
-	UINT otmusMinimumPPEM;
-	POINT otmptSubscriptSize;
-	POINT otmptSubscriptOffset;
-	POINT otmptSuperscriptSize;
-	POINT otmptSuperscriptOffset;
-	UINT otmsStrikeoutSize;
-	int otmsStrikeoutPosition;
-	int otmsUnderscoreSize;
-	int otmsUnderscorePosition;
-	PSTR otmpFamilyName;
-	PSTR otmpFaceName;
-	PSTR otmpStyleName;
-	PSTR otmpFullName;
-} OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
-typedef struct _OUTLINETEXTMETRICW {
-	UINT otmSize;
-	TEXTMETRICW otmTextMetrics;
-	BYTE otmFiller;
-	PANOSE otmPanoseNumber;
-	UINT otmfsSelection;
-	UINT otmfsType;
-	int otmsCharSlopeRise;
-	int otmsCharSlopeRun;
-	int otmItalicAngle;
-	UINT otmEMSquare;
-	int otmAscent;
-	int otmDescent;
-	UINT otmLineGap;
-	UINT otmsCapEmHeight;
-	UINT otmsXHeight;
-	RECT otmrcFontBox;
-	int otmMacAscent;
-	int otmMacDescent;
-	UINT otmMacLineGap;
-	UINT otmusMinimumPPEM;
-	POINT otmptSubscriptSize;
-	POINT otmptSubscriptOffset;
-	POINT otmptSuperscriptSize;
-	POINT otmptSuperscriptOffset;
-	UINT otmsStrikeoutSize;
-	int otmsStrikeoutPosition;
-	int otmsUnderscoreSize;
-	int otmsUnderscorePosition;
-	PSTR otmpFamilyName;
-	PSTR otmpFaceName;
-	PSTR otmpStyleName;
-	PSTR otmpFullName;
-} OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
-typedef struct _RASTERIZER_STATUS {
-	short nSize;
-	short wFlags;
-	short nLanguageID;
-} RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
-typedef struct _POLYTEXTA {
-	int x;
-	int y;
-	UINT n;
-	LPCSTR lpstr;
-	UINT uiFlags;
-	RECT rcl;
-	int *pdx;
-} POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
-typedef struct _POLYTEXTW {
-	int x;
-	int y;
-	UINT n;
-	LPCWSTR lpstr;
-	UINT uiFlags;
-	RECT rcl;
-	int *pdx;
-} POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
-typedef struct tagPIXELFORMATDESCRIPTOR {
-	WORD nSize;
-	WORD nVersion;
-	DWORD dwFlags;
-	BYTE iPixelType;
-	BYTE cColorBits;
-	BYTE cRedBits;
-	BYTE cRedShift;
-	BYTE cGreenBits;
-	BYTE cGreenShift;
-	BYTE cBlueBits;
-	BYTE cBlueShift;
-	BYTE cAlphaBits;
-	BYTE cAlphaShift;
-	BYTE cAccumBits;
-	BYTE cAccumRedBits;
-	BYTE cAccumGreenBits;
-	BYTE cAccumBlueBits;
-	BYTE cAccumAlphaBits;
-	BYTE cDepthBits;
-	BYTE cStencilBits;
-	BYTE cAuxBuffers;
-	BYTE iLayerType;
-	BYTE bReserved;
-	DWORD dwLayerMask;
-	DWORD dwVisibleMask;
-	DWORD dwDamageMask;
-} PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
-typedef struct tagMETAFILEPICT {
-	LONG mm;
-	LONG xExt;
-	LONG yExt;
-	HMETAFILE hMF;
-} METAFILEPICT,*LPMETAFILEPICT;
-typedef struct tagLOCALESIGNATURE {
-	DWORD lsUsb[4];
-	DWORD lsCsbDefault[2];
-	DWORD lsCsbSupported[2];
-} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
-typedef LONG LCSTYPE;
-#pragma pack(push,4)
-typedef struct tagNEWTEXTMETRICA {
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	BYTE tmFirstChar;
-	BYTE tmLastChar;
-	BYTE tmDefaultChar;
-	BYTE tmBreakChar;
-	BYTE tmItalic;
-	BYTE tmUnderlined;
-	BYTE tmStruckOut;
-	BYTE tmPitchAndFamily;
-	BYTE tmCharSet;
-	DWORD ntmFlags;
-	UINT ntmSizeEM;
-	UINT ntmCellHeight;
-	UINT ntmAvgWidth;
-} NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
-typedef struct tagNEWTEXTMETRICW {
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	WCHAR tmFirstChar;
-	WCHAR tmLastChar;
-	WCHAR tmDefaultChar;
-	WCHAR tmBreakChar;
-	BYTE tmItalic;
-	BYTE tmUnderlined;
-	BYTE tmStruckOut;
-	BYTE tmPitchAndFamily;
-	BYTE tmCharSet;
-	DWORD ntmFlags;
-	UINT ntmSizeEM;
-	UINT ntmCellHeight;
-	UINT ntmAvgWidth;
-} NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
-#pragma pack(pop)
-typedef struct tagNEWTEXTMETRICEXA {
-	NEWTEXTMETRICA ntmTm;
-	FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXA;
-typedef struct tagNEWTEXTMETRICEXW {
-	NEWTEXTMETRICW ntmTm;
-	FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXW;
-typedef struct tagPELARRAY {
-	LONG paXCount;
-	LONG paYCount;
-	LONG paXExt;
-	LONG paYExt;
-	BYTE paRGBs;
-} PELARRAY,*PPELARRAY,*LPPELARRAY;
-typedef struct tagENUMLOGFONTA {
-	LOGFONTA elfLogFont;
-	BYTE elfFullName[LF_FULLFACESIZE];
-	BYTE elfStyle[LF_FACESIZE];
-} ENUMLOGFONTA,*LPENUMLOGFONTA;
-typedef struct tagENUMLOGFONTW {
-	LOGFONTW elfLogFont;
-	WCHAR elfFullName[LF_FULLFACESIZE];
-	WCHAR elfStyle[LF_FACESIZE];
-} ENUMLOGFONTW,*LPENUMLOGFONTW;
-typedef struct tagENUMLOGFONTEXA {
-	LOGFONTA elfLogFont;
-	BYTE elfFullName[LF_FULLFACESIZE];
-	BYTE elfStyle[LF_FACESIZE];
-	BYTE elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
-typedef struct tagENUMLOGFONTEXW {
-	LOGFONTW elfLogFont;
-	WCHAR elfFullName[LF_FULLFACESIZE];
-	WCHAR elfStyle[LF_FACESIZE];
-	WCHAR elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
-typedef struct tagPOINTFX {
-	FIXED x;
-	FIXED y;
-} POINTFX,*LPPOINTFX;
-typedef struct tagTTPOLYCURVE {
-	WORD wType;
-	WORD cpfx;
-	POINTFX apfx[1];
-} TTPOLYCURVE,*LPTTPOLYCURVE;
-typedef struct tagTTPOLYGONHEADER {
-	DWORD cb;
-	DWORD dwType;
-	POINTFX pfxStart;
-} TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
-typedef struct _POINTFLOAT {
-	FLOAT x;
-	FLOAT y;
-} POINTFLOAT,*PPOINTFLOAT;
-typedef struct _GLYPHMETRICSFLOAT {
-	FLOAT gmfBlackBoxX;
-	FLOAT gmfBlackBoxY;
-	POINTFLOAT gmfptGlyphOrigin;
-	FLOAT gmfCellIncX;
-	FLOAT gmfCellIncY;
-} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
-typedef struct tagLAYERPLANEDESCRIPTOR {
-	WORD nSize;
-	WORD nVersion;
-	DWORD dwFlags;
-	BYTE iPixelType;
-	BYTE cColorBits;
-	BYTE cRedBits;
-	BYTE cRedShift;
-	BYTE cGreenBits;
-	BYTE cGreenShift;
-	BYTE cBlueBits;
-	BYTE cBlueShift;
-	BYTE cAlphaBits;
-	BYTE cAlphaShift;
-	BYTE cAccumBits;
-	BYTE cAccumRedBits;
-	BYTE cAccumGreenBits;
-	BYTE cAccumBlueBits;
-	BYTE cAccumAlphaBits;
-	BYTE cDepthBits;
-	BYTE cStencilBits;
-	BYTE cAuxBuffers;
-	BYTE iLayerPlane;
-	BYTE bReserved;
-	COLORREF crTransparent;
-} LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
-typedef struct _BLENDFUNCTION {
-    BYTE BlendOp;
-    BYTE BlendFlags;
-    BYTE SourceConstantAlpha;
-    BYTE AlphaFormat;
-} BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;
-#define MM_MAX_NUMAXES  16
-typedef struct _DESIGNVECTOR {
-	DWORD dvReserved;
-	DWORD dvNumAxes;
-	LONG dvValues[MM_MAX_NUMAXES];
-} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
-#if _WIN32_WINNT >= 0x0500
-typedef struct tagENUMLOGFONTEXDVA
-{
-	ENUMLOGFONTEXA elfEnumLogfontEx;
-	DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
-typedef struct tagENUMLOGFONTEXDVW
-{
-	ENUMLOGFONTEXW elfEnumLogfontEx;
-	DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
-#endif /* _WIN32_WINNT >= 0x0500 */
-typedef USHORT COLOR16;
-typedef struct _TRIVERTEX {
-	LONG x;
-	LONG y;
-	COLOR16 Red;
-	COLOR16 Green;
-	COLOR16 Blue;
-	COLOR16 Alpha;
-} TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
-typedef struct _GRADIENT_TRIANGLE {
-	ULONG Vertex1;
-	ULONG Vertex2;
-	ULONG Vertex3;
-} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
-typedef struct _GRADIENT_RECT {
-	ULONG UpperLeft;
-	ULONG LowerRight;
-}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
-typedef struct _DISPLAY_DEVICEA {
-  DWORD cb;
-  CHAR DeviceName[32];
-  CHAR DeviceString[128];
-  DWORD StateFlags;
-  CHAR DeviceID[128];
-  CHAR DeviceKey[128];
-} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
-typedef struct _DISPLAY_DEVICEW {
-  DWORD cb;
-  WCHAR DeviceName[32];
-  WCHAR DeviceString[128];
-  DWORD StateFlags;
-  WCHAR DeviceID[128];
-  WCHAR DeviceKey[128];
-} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
-
-typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
-typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
-typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,const ENHMETARECORD*,int,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
-typedef OLDFONTENUMPROCA FONTENUMPROCA;
-typedef OLDFONTENUMPROCW FONTENUMPROCW;
-typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
-typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
-typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
-typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
-typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
-typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
-
-#define MAKEPOINTS(l) (*((POINTS*)&(l)))
-#define MAKEROP4(f,b)	(DWORD)((((b)<<8)&0xFF000000)|(f))
-
-#define GetCValue(cmyk) ((BYTE)(cmyk))
-#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
-#define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
-#define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
-#define CMYK(c,m,y,k) ((COLORREF)((BYTE)(k)|((BYTE)(y)<<8)|((BYTE)(m)<<16)|((BYTE)(c)<<24)))
-
-#define GetRValue(c) ((BYTE)(c))
-#define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
-#define GetBValue(c) ((BYTE)((c)>>16))
-#define RGB(r,g,b) ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
-
-#define PALETTEINDEX(i)	((0x01000000|(COLORREF)(WORD)(i)))
-#define PALETTERGB(r,g,b)	(0x02000000|RGB(r,g,b))
-
-WINGDIAPI int WINAPI AbortDoc(HDC);
-WINGDIAPI BOOL WINAPI AbortPath(HDC);
-WINGDIAPI int WINAPI AddFontResourceA(LPCSTR);
-WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
-WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
-WINGDIAPI BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
-WINGDIAPI BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-WINGDIAPI BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI BeginPath(HDC);
-WINGDIAPI BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
-WINGDIAPI BOOL WINAPI CancelDC(HDC);
-WINGDIAPI BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
-WINGDIAPI BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
-WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
-WINGDIAPI BOOL WINAPI CloseFigure(HDC);
-WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
-#endif
-WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
-WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
-WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
-WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
-WINGDIAPI HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
-WINGDIAPI HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
-WINGDIAPI HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
-WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
-WINGDIAPI HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
-WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
-WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
-WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
-WINGDIAPI HDC WINAPI CreateCompatibleDC(HDC);
-WINGDIAPI HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-WINGDIAPI HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-WINGDIAPI HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
-WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
-WINGDIAPI HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
-WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
-WINGDIAPI HRGN WINAPI CreateEllipticRgn(int,int,int,int);
-WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
-WINGDIAPI HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
-WINGDIAPI HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
-WINGDIAPI HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
-WINGDIAPI HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
-WINGDIAPI HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
-WINGDIAPI HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
-WINGDIAPI HPALETTE WINAPI CreateHalftonePalette(HDC);
-WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
-WINGDIAPI HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-WINGDIAPI HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-WINGDIAPI HDC WINAPI CreateMetaFileA(LPCSTR);
-WINGDIAPI HDC WINAPI CreateMetaFileW(LPCWSTR);
-WINGDIAPI HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
-WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP);
-WINGDIAPI HPEN WINAPI CreatePen(int,int,COLORREF);
-WINGDIAPI HPEN WINAPI CreatePenIndirect(const LOGPEN*);
-WINGDIAPI HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
-WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
-WINGDIAPI HRGN WINAPI CreateRectRgn(int,int,int,int);
-WINGDIAPI HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
-WINGDIAPI HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
-WINGDIAPI BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF);
-WINGDIAPI BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
-WINGDIAPI BOOL WINAPI DeleteDC(HDC);
-WINGDIAPI BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
-WINGDIAPI BOOL WINAPI DeleteMetaFile(HMETAFILE);
-WINGDIAPI BOOL WINAPI DeleteObject(HGDIOBJ);
-WINGDIAPI int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
-WINGDIAPI DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
-WINGDIAPI DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
-WINGDIAPI BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
-WINGDIAPI int WINAPI DrawEscape(HDC,int,int,LPCSTR);
-WINGDIAPI BOOL WINAPI Ellipse(HDC,int,int,int,int);
-WINGDIAPI int WINAPI EndDoc(HDC);
-WINGDIAPI int WINAPI EndPage(HDC);
-WINGDIAPI BOOL WINAPI EndPath(HDC);
-WINGDIAPI BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
-WINGDIAPI int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
-WINGDIAPI int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
-WINGDIAPI int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
-WINGDIAPI int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
-WINGDIAPI int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
-WINGDIAPI BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
-WINGDIAPI int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
-WINGDIAPI BOOL WINAPI EqualRgn(HRGN,HRGN);
-WINGDIAPI int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
-WINGDIAPI int WINAPI ExcludeClipRect(HDC,int,int,int,int);
-WINGDIAPI int WINAPI ExcludeUpdateRgn(HDC,HWND);
-WINGDIAPI HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
-WINGDIAPI HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
-WINGDIAPI int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
-WINGDIAPI BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
-WINGDIAPI int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
-WINGDIAPI BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
-WINGDIAPI BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
-WINGDIAPI BOOL WINAPI FillPath(HDC);
-WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
-WINGDIAPI int WINAPI FillRgn(HDC,HRGN,HBRUSH);
-WINGDIAPI BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI FlattenPath(HDC);
-WINGDIAPI BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
-WINGDIAPI BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
-WINGDIAPI BOOL WINAPI GdiFlush(void);
-WINGDIAPI DWORD WINAPI GdiGetBatchLimit(void);
-WINGDIAPI DWORD WINAPI GdiSetBatchLimit(DWORD);
-WINGDIAPI int WINAPI GetArcDirection(HDC);
-WINGDIAPI BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
-WINGDIAPI LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
-WINGDIAPI BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
-WINGDIAPI COLORREF WINAPI GetBkColor(HDC);
-WINGDIAPI int WINAPI GetBkMode(HDC);
-WINGDIAPI UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
-WINGDIAPI BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
-WINGDIAPI DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
-WINGDIAPI DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
-WINGDIAPI BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
-WINGDIAPI BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
-WINGDIAPI int WINAPI GetClipBox(HDC,LPRECT);
-WINGDIAPI int WINAPI GetClipRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
-WINGDIAPI HANDLE WINAPI GetColorSpace(HDC);
-WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
-WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
-WINGDIAPI HCURSOR WINAPI GetCursor(void);
-#if (WINVER >= 0x0500)
-WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC);
-WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC);
-#endif
-WINGDIAPI BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
-WINGDIAPI int WINAPI GetDeviceCaps(HDC,int);
-WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
-WINGDIAPI UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
-WINGDIAPI int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
-WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
-WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
-WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
-WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
-WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,CONST PIXELFORMATDESCRIPTOR*);
-WINGDIAPI DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
-WINGDIAPI DWORD WINAPI GetFontLanguageInfo(HDC);
-WINGDIAPI DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-WINGDIAPI DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-WINGDIAPI int WINAPI GetGraphicsMode(HDC);
-WINGDIAPI BOOL WINAPI GetICMProfileA(HDC,LPDWORD,LPSTR);
-WINGDIAPI BOOL WINAPI GetICMProfileW(HDC,LPDWORD,LPWSTR);
-WINGDIAPI DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
-WINGDIAPI DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
-WINGDIAPI BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
-WINGDIAPI BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
-WINGDIAPI int WINAPI GetMapMode(HDC);
-WINGDIAPI HMETAFILE WINAPI GetMetaFileA(LPCSTR);
-WINGDIAPI HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
-WINGDIAPI UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
-WINGDIAPI int WINAPI GetMetaRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
-WINGDIAPI COLORREF WINAPI GetNearestColor(HDC,COLORREF);
-WINGDIAPI UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
-WINGDIAPI int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
-WINGDIAPI int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
-WINGDIAPI DWORD WINAPI GetObjectType(HGDIOBJ);
-WINGDIAPI UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
-WINGDIAPI UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
-WINGDIAPI UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
-WINGDIAPI int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
-WINGDIAPI COLORREF WINAPI GetPixel(HDC,int,int);
-WINGDIAPI int WINAPI GetPixelFormat(HDC);
-WINGDIAPI int WINAPI GetPolyFillMode(HDC);
-WINGDIAPI BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
-WINGDIAPI int WINAPI GetRandomRgn (HDC,HRGN,INT);
-WINGDIAPI DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
-WINGDIAPI int WINAPI GetRgnBox(HRGN,LPRECT);
-WINGDIAPI int WINAPI GetROP2(HDC);
-WINGDIAPI HGDIOBJ WINAPI GetStockObject(int);
-WINGDIAPI int WINAPI GetStretchBltMode(HDC);
-WINGDIAPI UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
-WINGDIAPI UINT WINAPI GetSystemPaletteUse(HDC);
-WINGDIAPI UINT WINAPI GetTextAlign(HDC);
-WINGDIAPI int WINAPI GetTextCharacterExtra(HDC);
-WINGDIAPI int WINAPI GetTextCharset(HDC);
-WINGDIAPI int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
-WINGDIAPI COLORREF WINAPI GetTextColor(HDC);
-WINGDIAPI BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
-WINGDIAPI BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
-#endif
-#ifdef _WIN32_WCE
-extern BOOL GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
-extern BOOL GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
-#else
-WINGDIAPI BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
-#endif
-WINGDIAPI int WINAPI GetTextFaceA(HDC,int,LPSTR);
-WINGDIAPI int WINAPI GetTextFaceW(HDC,int,LPWSTR);
-WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
-WINGDIAPI BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
-WINGDIAPI BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
-WINGDIAPI BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
-WINGDIAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
-WINGDIAPI BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
-WINGDIAPI UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
-WINGDIAPI BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
-WINGDIAPI int WINAPI IntersectClipRect(HDC,int,int,int,int);
-WINGDIAPI BOOL WINAPI InvertRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
-WINGDIAPI BOOL WINAPI LineTo(HDC,int,int);
-WINGDIAPI BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
-WINGDIAPI BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
-WINGDIAPI BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
-WINGDIAPI BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
-WINGDIAPI int WINAPI OffsetClipRgn(HDC,int,int);
-WINGDIAPI int WINAPI OffsetRgn(HRGN,int,int);
-WINGDIAPI BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI PaintRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
-WINGDIAPI HRGN WINAPI PathToRegion(HDC);
-WINGDIAPI BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
-WINGDIAPI BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
-WINGDIAPI BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
-WINGDIAPI BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
-WINGDIAPI BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
-WINGDIAPI BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
-WINGDIAPI BOOL WINAPI Polygon(HDC,const POINT*,int);
-WINGDIAPI BOOL WINAPI Polyline(HDC,const POINT*,int);
-WINGDIAPI BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
-WINGDIAPI BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
-WINGDIAPI BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
-WINGDIAPI BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
-WINGDIAPI BOOL WINAPI PtInRegion(HRGN,int,int);
-WINGDIAPI BOOL WINAPI PtVisible(HDC,int,int);
-WINGDIAPI UINT WINAPI RealizePalette(HDC);
-WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
-WINGDIAPI BOOL WINAPI RectInRegion(HRGN,LPCRECT);
-WINGDIAPI BOOL WINAPI RectVisible(HDC,LPCRECT);
-WINGDIAPI BOOL WINAPI RemoveFontResourceA(LPCSTR);
-WINGDIAPI BOOL WINAPI RemoveFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
-WINGDIAPI HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
-WINGDIAPI HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
-WINGDIAPI BOOL WINAPI ResizePalette(HPALETTE,UINT);
-WINGDIAPI BOOL WINAPI RestoreDC(HDC,int);
-WINGDIAPI BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
-WINGDIAPI int WINAPI SaveDC(HDC);
-WINGDIAPI BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SelectClipPath(HDC,int);
-WINGDIAPI int WINAPI SelectClipRgn(HDC,HRGN);
-WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
-WINGDIAPI HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
-WINGDIAPI int WINAPI SetAbortProc(HDC,ABORTPROC);
-WINGDIAPI int WINAPI SetArcDirection(HDC,int);
-WINGDIAPI LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
-WINGDIAPI BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
-WINGDIAPI COLORREF WINAPI SetBkColor(HDC,COLORREF);
-WINGDIAPI int WINAPI SetBkMode(HDC,int);
-WINGDIAPI UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
-WINGDIAPI BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
-WINGDIAPI BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
-WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
-#endif
-WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
-WINGDIAPI UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
-WINGDIAPI int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
-WINGDIAPI int WINAPI SetGraphicsMode(HDC,int);
-WINGDIAPI int WINAPI SetICMMode(HDC,int);
-WINGDIAPI BOOL WINAPI SetICMProfileA(HDC,LPSTR);
-WINGDIAPI BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
-WINGDIAPI int WINAPI SetMapMode(HDC,int);
-WINGDIAPI DWORD WINAPI SetMapperFlags(HDC,DWORD);
-WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
-WINGDIAPI int WINAPI SetMetaRgn(HDC);
-WINGDIAPI BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
-WINGDIAPI UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-WINGDIAPI COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
-WINGDIAPI BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
-WINGDIAPI BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
-WINGDIAPI int WINAPI SetPolyFillMode(HDC,int);
-WINGDIAPI BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
-WINGDIAPI int WINAPI SetROP2(HDC,int);
-WINGDIAPI int WINAPI SetStretchBltMode(HDC,int);
-WINGDIAPI UINT WINAPI SetSystemPaletteUse(HDC,UINT);
-WINGDIAPI UINT WINAPI SetTextAlign(HDC,UINT);
-WINGDIAPI int WINAPI SetTextCharacterExtra(HDC,int);
-WINGDIAPI COLORREF WINAPI SetTextColor(HDC,COLORREF);
-WINGDIAPI BOOL WINAPI SetTextJustification(HDC,int,int);
-WINGDIAPI BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
-WINGDIAPI BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
-WINGDIAPI int WINAPI StartDocA(HDC,const DOCINFOA*);
-WINGDIAPI int WINAPI StartDocW(HDC,const DOCINFOW*);
-WINGDIAPI int WINAPI StartPage(HDC);
-WINGDIAPI BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
-WINGDIAPI int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
-WINGDIAPI BOOL WINAPI StrokeAndFillPath(HDC);
-WINGDIAPI BOOL WINAPI StrokePath(HDC);
-WINGDIAPI BOOL WINAPI SwapBuffers(HDC);
-WINGDIAPI BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
-WINGDIAPI BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
-WINGDIAPI BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
-WINGDIAPI BOOL WINAPI UnrealizeObject(HGDIOBJ);
-WINGDIAPI BOOL WINAPI UpdateColors(HDC);
-WINGDIAPI BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
-WINGDIAPI BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
-WINGDIAPI BOOL WINAPI WidenPath(HDC);
-WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
-WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
-WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
-WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
-WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
-WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
-WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
-WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
-WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
-WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
-WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
-WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
-WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
-WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
-WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-#if (WINVER >= 0x0410)
-WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
-WINGDIAPI BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
-WINGDIAPI BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI DWORD WINAPI GetFontUnicodeRanges(HDC,LPGLYPHSET);
-WINGDIAPI DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,int,LPWORD,DWORD);
-WINGDIAPI DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,int,LPWORD,DWORD);
-#endif
-#if (WINVER >= 0x0500)
-WINGDIAPI DWORD WINAPI GetLayout(HDC);
-WINGDIAPI DWORD WINAPI SetLayout(HDC, DWORD);
-#endif
-
-#ifdef UNICODE
-typedef WCHAR BCHAR;
-typedef DOCINFOW DOCINFO, *LPDOCINFO;
-typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCW
-#define FONTENUMPROC FONTENUMPROCW
-typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExW
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileW
-#define CopyMetaFile CopyMetaFileW
-#define CreateColorSpace CreateColorSpaceW
-#define CreateDC CreateDCW
-#define CreateEnhMetaFile CreateEnhMetaFileW
-#define CreateFont CreateFontW
-#define CreateFontIndirect CreateFontIndirectW
-#define CreateIC CreateICW
-#define CreateMetaFile CreateMetaFileW
-#define CreateScalableFontResource CreateScalableFontResourceW
-#define DeviceCapabilities DeviceCapabilitiesW
-#define EnumFontFamilies EnumFontFamiliesW
-#define EnumFontFamiliesEx EnumFontFamiliesExW
-#define EnumFonts EnumFontsW
-#define EnumICMProfiles EnumICMProfilesW
-#define ExtTextOut ExtTextOutW
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatW
-#define GetCharABCWidths GetCharABCWidthsW
-#define GetCharacterPlacement GetCharacterPlacementW
-#define GetCharWidth32 GetCharWidth32W
-#define GetCharWidthFloat GetCharWidthFloatW
-#define GetCharWidth GetCharWidthW
-#define GetEnhMetaFile GetEnhMetaFileW
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
-#define GetGlyphOutline GetGlyphOutlineW
-#define GetICMProfile GetICMProfileW
-#define GetKerningPairs GetKerningPairsW
-#define GetLogColorSpace GetLogColorSpaceW
-#define GetMetaFile GetMetaFileW
-#define GetObject GetObjectW
-#define GetOutlineTextMetrics GetOutlineTextMetricsW
-#define GetTextExtentPoint GetTextExtentPointW
-#define GetTextExtentExPoint GetTextExtentExPointW
-#define GetTextExtentPoint32 GetTextExtentPoint32W
-#define GetTextFace GetTextFaceW
-#define GetTextMetrics GetTextMetricsW
-#define PolyTextOut PolyTextOutW
-#define RemoveFontResource RemoveFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExW
-#endif
-#define ResetDC ResetDCW
-#define SetICMProfile SetICMProfileW
-#define StartDoc StartDocW
-#define TextOut TextOutW
-#define UpdateICMRegKey UpdateICMRegKeyW
-#define wglUseFontBitmaps wglUseFontBitmapsW
-#define wglUseFontOutlines wglUseFontOutlinesW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices  GetGlyphIndicesW
-#endif
-#else  /* UNICODE */
-typedef BYTE BCHAR;
-typedef DOCINFOA DOCINFO, *LPDOCINFO;
-typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCA
-#define FONTENUMPROC FONTENUMPROCA
-typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
-typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExA
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileA
-#define CopyMetaFile CopyMetaFileA
-#define CreateColorSpace CreateColorSpaceA
-#define CreateDC CreateDCA
-#define CreateEnhMetaFile CreateEnhMetaFileA
-#define CreateFont CreateFontA
-#define CreateFontIndirect CreateFontIndirectA
-#define CreateIC CreateICA
-#define CreateMetaFile CreateMetaFileA
-#define CreateScalableFontResource CreateScalableFontResourceA
-#define DeviceCapabilities DeviceCapabilitiesA
-#define EnumFontFamilies EnumFontFamiliesA
-#define EnumFontFamiliesEx EnumFontFamiliesExA
-#define EnumFonts EnumFontsA
-#define EnumICMProfiles EnumICMProfilesA
-#define ExtTextOut ExtTextOutA
-#define GetCharWidthFloat GetCharWidthFloatA
-#define GetCharWidth GetCharWidthA
-#define GetCharacterPlacement GetCharacterPlacementA
-#define GetCharABCWidths GetCharABCWidthsA
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatA
-#define GetCharWidth32 GetCharWidth32A
-#define GetEnhMetaFile GetEnhMetaFileA
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
-#define GetGlyphOutline GetGlyphOutlineA
-#define GetICMProfile GetICMProfileA
-#define GetKerningPairs GetKerningPairsA
-#define GetLogColorSpace GetLogColorSpaceA
-#define GetMetaFile GetMetaFileA
-#define GetObject GetObjectA
-#define GetOutlineTextMetrics GetOutlineTextMetricsA
-#define GetTextExtentPoint GetTextExtentPointA
-#define GetTextExtentExPoint GetTextExtentExPointA
-#define GetTextExtentPoint32 GetTextExtentPoint32A
-#define GetTextFace GetTextFaceA
-#define GetTextMetrics GetTextMetricsA
-#define PolyTextOut PolyTextOutA
-#define RemoveFontResource RemoveFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExA
-#endif
-#define ResetDC ResetDCA
-#define SetICMProfile SetICMProfileA
-#define StartDoc StartDocA
-#define TextOut TextOutA
-#define UpdateICMRegKey UpdateICMRegKeyA
-#define wglUseFontBitmaps wglUseFontBitmapsA
-#define wglUseFontOutlines wglUseFontOutlinesA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices  GetGlyphIndicesA
-#endif
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/wininet.h
===================================================================
--- Daodan/MinGW/include/wininet.h	(revision 1046)
+++ 	(revision )
@@ -1,992 +1,0 @@
-#ifndef _WININET_H
-#define _WININET_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define INTERNET_INVALID_PORT_NUMBER 0
-#define INTERNET_DEFAULT_FTP_PORT 21
-#define INTERNET_DEFAULT_GOPHER_PORT 70
-#define INTERNET_DEFAULT_HTTP_PORT 80
-#define INTERNET_DEFAULT_HTTPS_PORT 443
-#define INTERNET_DEFAULT_SOCKS_PORT 1080
-#define MAX_CACHE_ENTRY_INFO_SIZE 4096
-#define INTERNET_MAX_HOST_NAME_LENGTH 256
-#define INTERNET_MAX_USER_NAME_LENGTH 128
-#define INTERNET_MAX_PASSWORD_LENGTH 128
-#define INTERNET_MAX_PORT_NUMBER_LENGTH 5
-#define INTERNET_MAX_PORT_NUMBER_VALUE 65535
-#define INTERNET_MAX_PATH_LENGTH 2048
-#define INTERNET_MAX_SCHEME_LENGTH 32
-#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH+sizeof("://")+INTERNET_MAX_PATH_LENGTH)
-#define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1)
-#define INTERNET_KEEP_ALIVE_ENABLED 1
-#define INTERNET_KEEP_ALIVE_DISABLED 0
-#define INTERNET_REQFLAG_FROM_CACHE 1
-#define INTERNET_REQFLAG_ASYNC 2
-#define INTERNET_FLAG_RELOAD 0x80000000
-#define INTERNET_FLAG_RAW_DATA 0x40000000
-#define INTERNET_FLAG_EXISTING_CONNECT 0x20000000
-#define INTERNET_FLAG_ASYNC 0x10000000
-#define INTERNET_FLAG_PASSIVE 0x08000000
-#define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000
-#define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE
-#define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000
-#define INTERNET_FLAG_OFFLINE 0x1000000
-#define INTERNET_FLAG_SECURE 0x800000
-#define INTERNET_FLAG_KEEP_CONNECTION 0x400000
-#define INTERNET_FLAG_NO_AUTO_REDIRECT 0x200000
-#define INTERNET_FLAG_READ_PREFETCH 0x100000
-#define INTERNET_FLAG_NO_COOKIES 0x80000
-#define INTERNET_FLAG_NO_AUTH 0x40000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x8000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x4000
-#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x2000
-#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x1000
-#define INTERNET_FLAG_MUST_CACHE_REQUEST 16
-#define INTERNET_FLAG_RESYNCHRONIZE 0x800
-#define INTERNET_FLAG_HYPERLINK 0x400
-#define INTERNET_FLAG_NO_UI 0x200
-#define INTERNET_FLAG_PRAGMA_NOCACHE 0x100
-#define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII
-#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
-#define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP)
-#define SECURITY_SET_MASK SECURITY_INTERNET_MASK
-#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD|INTERNET_FLAG_RAW_DATA|INTERNET_FLAG_EXISTING_CONNECT|\
-INTERNET_FLAG_ASYNC|INTERNET_FLAG_PASSIVE|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_MAKE_PERSISTENT|INTERNET_FLAG_OFFLINE|\
-INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_READ_PREFETCH |\
-INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_AUTH|SECURITY_INTERNET_MASK|INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_TRANSFER_BINARY\
-|INTERNET_FLAG_RESYNCHRONIZE|INTERNET_FLAG_MUST_CACHE_REQUEST|INTERNET_FLAG_HYPERLINK|INTERNET_FLAG_NO_UI)
-#define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK)
-#define INTERNET_NO_CALLBACK 0
-#define INTERNET_RFC1123_FORMAT 0
-#define INTERNET_RFC1123_BUFSIZE 30
-#define ICU_ESCAPE 0x80000000
-#define ICU_USERNAME 0x40000000
-#define ICU_NO_ENCODE 0x20000000
-#define ICU_DECODE 0x10000000
-#define ICU_NO_META 0x08000000
-#define ICU_ENCODE_SPACES_ONLY 0x04000000
-#define ICU_BROWSER_MODE 0x02000000
-#define INTERNET_OPEN_TYPE_PRECONFIG 0
-#define INTERNET_OPEN_TYPE_DIRECT 1
-#define INTERNET_OPEN_TYPE_PROXY 3
-#define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG
-#define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT
-#define GATEWAY_INTERNET_ACCESS 2
-#define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY
-#define ISO_GLOBAL 1
-#define ISO_REGISTRY 2
-#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
-#define INTERNET_OPTION_CALLBACK 1
-#define INTERNET_OPTION_CONNECT_TIMEOUT 2
-#define INTERNET_OPTION_CONNECT_RETRIES 3
-#define INTERNET_OPTION_CONNECT_BACKOFF 4
-#define INTERNET_OPTION_SEND_TIMEOUT 5
-#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT
-#define INTERNET_OPTION_RECEIVE_TIMEOUT 6
-#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
-#define INTERNET_OPTION_DATA_SEND_TIMEOUT 7
-#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8
-#define INTERNET_OPTION_HANDLE_TYPE 9
-#define INTERNET_OPTION_CONTEXT_VALUE 10
-#define INTERNET_OPTION_LISTEN_TIMEOUT 11
-#define INTERNET_OPTION_READ_BUFFER_SIZE 12
-#define INTERNET_OPTION_WRITE_BUFFER_SIZE 13
-#define INTERNET_OPTION_ASYNC_ID 15
-#define INTERNET_OPTION_ASYNC_PRIORITY 16
-#define INTERNET_OPTION_PARENT_HANDLE 21
-#define INTERNET_OPTION_KEEP_CONNECTION 22
-#define INTERNET_OPTION_REQUEST_FLAGS 23
-#define INTERNET_OPTION_EXTENDED_ERROR 24
-#define INTERNET_OPTION_OFFLINE_MODE 26
-#define INTERNET_OPTION_CACHE_STREAM_HANDLE 27
-#define INTERNET_OPTION_USERNAME 28
-#define INTERNET_OPTION_PASSWORD 29
-#define INTERNET_OPTION_ASYNC 30
-#define INTERNET_OPTION_SECURITY_FLAGS 31
-#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
-#define INTERNET_OPTION_DATAFILE_NAME 33
-#define INTERNET_OPTION_URL 34
-#define INTERNET_OPTION_SECURITY_CERTIFICATE 35
-#define INTERNET_OPTION_SECURITY_KEY_BITNESS 36
-#define INTERNET_OPTION_REFRESH 37
-#define INTERNET_OPTION_PROXY 38
-#define INTERNET_OPTION_SETTINGS_CHANGED 39
-#define INTERNET_OPTION_VERSION 40
-#define INTERNET_OPTION_USER_AGENT 41
-#define INTERNET_OPTION_END_BROWSER_SESSION 42
-#define INTERNET_OPTION_PROXY_USERNAME 43
-#define INTERNET_OPTION_PROXY_PASSWORD 44
-#define INTERNET_OPTION_CONNECTED_STATE 50
-#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
-/* FIXME: missing INTERNET_OPTION_*?   */
-#define INTERNET_LAST_OPTION INTERNET_OPTION_CONNECTED_STATE
-#define INTERNET_PRIORITY_FOREGROUND 1000
-#define INTERNET_HANDLE_TYPE_INTERNET 1
-#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
-#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
-#define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4
-#define INTERNET_HANDLE_TYPE_FTP_FIND 5
-#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6
-#define INTERNET_HANDLE_TYPE_FTP_FILE 7
-#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND 9
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE 11
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12
-#define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13
-#define SECURITY_FLAG_SECURE 1
-#define SECURITY_FLAG_SSL 2
-#define SECURITY_FLAG_SSL3 4
-#define SECURITY_FLAG_PCT 8
-#define SECURITY_FLAG_PCT4 16
-#define SECURITY_FLAG_IETFSSL4 0x20
-#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
-#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
-#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
-#define SECURITY_FLAG_40BIT 0x10000000
-#define SECURITY_FLAG_128BIT 0x20000000
-#define SECURITY_FLAG_56BIT 0x40000000
-#define SECURITY_FLAG_UNKNOWNBIT 0x80000000
-#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_40BIT
-#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
-#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
-#define INTERNET_SERVICE_FTP 1
-#define INTERNET_SERVICE_GOPHER 2
-#define INTERNET_SERVICE_HTTP 3
-#define INTERNET_STATUS_RESOLVING_NAME 10
-#define INTERNET_STATUS_NAME_RESOLVED 11
-#define INTERNET_STATUS_CONNECTING_TO_SERVER 20
-#define INTERNET_STATUS_CONNECTED_TO_SERVER 21
-#define INTERNET_STATUS_SENDING_REQUEST 30
-#define INTERNET_STATUS_REQUEST_SENT 31
-#define INTERNET_STATUS_RECEIVING_RESPONSE 40
-#define INTERNET_STATUS_RESPONSE_RECEIVED 41
-#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42
-#define INTERNET_STATUS_PREFETCH 43
-#define INTERNET_STATUS_CLOSING_CONNECTION 50
-#define INTERNET_STATUS_CONNECTION_CLOSED 51
-#define INTERNET_STATUS_HANDLE_CREATED 60
-#define INTERNET_STATUS_HANDLE_CLOSING 70
-#define INTERNET_STATUS_REQUEST_COMPLETE 100
-#define INTERNET_STATUS_REDIRECT 110
-#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L))
-#define FTP_TRANSFER_TYPE_UNKNOWN 0
-#define FTP_TRANSFER_TYPE_ASCII 1
-#define FTP_TRANSFER_TYPE_BINARY 2
-#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
-#define MAX_GOPHER_DISPLAY_TEXT 128
-#define MAX_GOPHER_SELECTOR_TEXT 256
-#define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH
-#define MAX_GOPHER_LOCATOR_LENGTH (1+MAX_GOPHER_DISPLAY_TEXT+1+MAX_GOPHER_SELECTOR_TEXT+1+MAX_GOPHER_HOST_NAME+1+INTERNET_MAX_PORT_NUMBER_LENGTH+1+1+2)
-#define GOPHER_TYPE_TEXT_FILE 1
-#define GOPHER_TYPE_DIRECTORY 2
-#define GOPHER_TYPE_CSO 4
-#define GOPHER_TYPE_ERROR 8
-#define GOPHER_TYPE_MAC_BINHEX 16
-#define GOPHER_TYPE_DOS_ARCHIVE 32
-#define GOPHER_TYPE_UNIX_UUENCODED 64
-#define GOPHER_TYPE_INDEX_SERVER 128
-#define GOPHER_TYPE_TELNET 256
-#define GOPHER_TYPE_BINARY 512
-#define GOPHER_TYPE_REDUNDANT 1024
-#define GOPHER_TYPE_TN3270 0x800
-#define GOPHER_TYPE_GIF 0x1000
-#define GOPHER_TYPE_IMAGE 0x2000
-#define GOPHER_TYPE_BITMAP 0x4000
-#define GOPHER_TYPE_MOVIE 0x8000
-#define GOPHER_TYPE_SOUND 0x10000
-#define GOPHER_TYPE_HTML 0x20000
-#define GOPHER_TYPE_PDF 0x40000
-#define GOPHER_TYPE_CALENDAR 0x80000
-#define GOPHER_TYPE_INLINE 0x100000
-#define GOPHER_TYPE_UNKNOWN 0x20000000
-#define GOPHER_TYPE_ASK 0x40000000
-#define GOPHER_TYPE_GOPHER_PLUS 0x80000000
-#define IS_GOPHER_FILE(t) (BOOL)(((t)&GOPHER_TYPE_FILE_MASK)?TRUE:FALSE)
-#define IS_GOPHER_DIRECTORY(t) (BOOL)(((t)&GOPHER_TYPE_DIRECTORY)?TRUE:FALSE)
-#define IS_GOPHER_PHONE_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_CSO)?TRUE:FALSE)
-#define IS_GOPHER_ERROR(t) (BOOL)(((t)&GOPHER_TYPE_ERROR)?TRUE:FALSE)
-#define IS_GOPHER_INDEX_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_INDEX_SERVER)?TRUE:FALSE)
-#define IS_GOPHER_TELNET_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TELNET)?TRUE:FALSE)
-#define IS_GOPHER_BACKUP_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_REDUNDANT)?TRUE:FALSE)
-#define IS_GOPHER_TN3270_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TN3270)?TRUE:FALSE)
-#define IS_GOPHER_ASK(t) (BOOL)(((t)&GOPHER_TYPE_ASK)?TRUE:FALSE)
-#define IS_GOPHER_PLUS(t) (BOOL)(((t)&GOPHER_TYPE_GOPHER_PLUS)?TRUE:FALSE)
-#define IS_GOPHER_TYPE_KNOWN(t) (BOOL)(((t)&GOPHER_TYPE_UNKNOWN)?FALSE:TRUE)
-#define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE|GOPHER_TYPE_MAC_BINHEX|GOPHER_TYPE_DOS_ARCHIVE|\
-GOPHER_TYPE_UNIX_UUENCODED|GOPHER_TYPE_BINARY|GOPHER_TYPE_GIF|GOPHER_TYPE_IMAGE|GOPHER_TYPE_BITMAP\
-|GOPHER_TYPE_MOVIE|GOPHER_TYPE_SOUND|GOPHER_TYPE_HTML|GOPHER_TYPE_PDF|GOPHER_TYPE_CALENDAR|GOPHER_TYPE_INLINE)
-#define MAX_GOPHER_CATEGORY_NAME 128
-#define MAX_GOPHER_ATTRIBUTE_NAME 128
-#define MIN_GOPHER_ATTRIBUTE_LENGTH 256
-#define GOPHER_INFO_CATEGORY TEXT("+INFO")
-#define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN")
-#define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS")
-#define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT")
-#define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA")
-#define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin")
-#define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date")
-#define GOPHER_TTL_ATTRIBUTE TEXT("TTL")
-#define GOPHER_SCORE_ATTRIBUTE TEXT("Score")
-#define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range")
-#define GOPHER_SITE_ATTRIBUTE TEXT("Site")
-#define GOPHER_ORG_ATTRIBUTE TEXT("Org")
-#define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc")
-#define GOPHER_GEOG_ATTRIBUTE TEXT("Geog")
-#define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ")
-#define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider")
-#define GOPHER_VERSION_ATTRIBUTE TEXT("Version")
-#define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract")
-#define GOPHER_VIEW_ATTRIBUTE TEXT("View")
-#define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk")
-#define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00
-#define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+1)
-#define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE+2)
-#define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+3)
-#define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE+4)
-#define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+5)
-#define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE+6)
-#define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE+7)
-#define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+8)
-#define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+9)
-#define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+10)
-#define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE+11)
-#define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE+12)
-#define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE+13)
-#define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE+14)
-#define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE+15)
-#define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE+16)
-#define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE+17)
-#define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE+18)
-#define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE+19)
-#define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE+20)
-#define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE+21)
-#define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+22)
-#define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE+23)
-#define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE+24)
-#define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+25)
-#define HTTP_MAJOR_VERSION 1
-#define HTTP_MINOR_VERSION 0
-#define HTTP_VERSION TEXT("HTTP/1.0")
-#define HTTP_QUERY_MIME_VERSION 0
-#define HTTP_QUERY_CONTENT_TYPE 1
-#define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2
-#define HTTP_QUERY_CONTENT_ID 3
-#define HTTP_QUERY_CONTENT_DESCRIPTION 4
-#define HTTP_QUERY_CONTENT_LENGTH 5
-#define HTTP_QUERY_CONTENT_LANGUAGE 6
-#define HTTP_QUERY_ALLOW 7
-#define HTTP_QUERY_PUBLIC 8
-#define HTTP_QUERY_DATE 9
-#define HTTP_QUERY_EXPIRES 10
-#define HTTP_QUERY_LAST_MODIFIED 11
-#define HTTP_QUERY_MESSAGE_ID 12
-#define HTTP_QUERY_URI 13
-#define HTTP_QUERY_DERIVED_FROM 14
-#define HTTP_QUERY_COST 15
-#define HTTP_QUERY_LINK 16
-#define HTTP_QUERY_PRAGMA 17
-#define HTTP_QUERY_VERSION 18
-#define HTTP_QUERY_STATUS_CODE 19
-#define HTTP_QUERY_STATUS_TEXT 20
-#define HTTP_QUERY_RAW_HEADERS 21
-#define HTTP_QUERY_RAW_HEADERS_CRLF 22
-#define HTTP_QUERY_CONNECTION 23
-#define HTTP_QUERY_ACCEPT 24
-#define HTTP_QUERY_ACCEPT_CHARSET 25
-#define HTTP_QUERY_ACCEPT_ENCODING 26
-#define HTTP_QUERY_ACCEPT_LANGUAGE 27
-#define HTTP_QUERY_AUTHORIZATION 28
-#define HTTP_QUERY_CONTENT_ENCODING 29
-#define HTTP_QUERY_FORWARDED 30
-#define HTTP_QUERY_FROM 31
-#define HTTP_QUERY_IF_MODIFIED_SINCE 32
-#define HTTP_QUERY_LOCATION 33
-#define HTTP_QUERY_ORIG_URI 34
-#define HTTP_QUERY_REFERER 35
-#define HTTP_QUERY_RETRY_AFTER 36
-#define HTTP_QUERY_SERVER 37
-#define HTTP_QUERY_TITLE 38
-#define HTTP_QUERY_USER_AGENT 39
-#define HTTP_QUERY_WWW_AUTHENTICATE 40
-#define HTTP_QUERY_PROXY_AUTHENTICATE 41
-#define HTTP_QUERY_ACCEPT_RANGES 42
-#define HTTP_QUERY_SET_COOKIE 43
-#define HTTP_QUERY_COOKIE 44
-#define HTTP_QUERY_REQUEST_METHOD 45
-#define HTTP_QUERY_MAX 45
-#define HTTP_QUERY_CUSTOM 65535
-#define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000
-#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
-#define HTTP_QUERY_FLAG_NUMBER 0x20000000
-#define HTTP_QUERY_FLAG_COALESCE 0x10000000
-#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS|HTTP_QUERY_FLAG_SYSTEMTIME|HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_FLAG_COALESCE)
-#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
-#define HTTP_STATUS_OK 200
-#define HTTP_STATUS_CREATED 201
-#define HTTP_STATUS_ACCEPTED 202
-#define HTTP_STATUS_PARTIAL 203
-#define HTTP_STATUS_NO_CONTENT 204
-#define HTTP_STATUS_AMBIGUOUS 300
-#define HTTP_STATUS_MOVED 301
-#define HTTP_STATUS_REDIRECT 302
-#define HTTP_STATUS_REDIRECT_METHOD 303
-#define HTTP_STATUS_NOT_MODIFIED 304
-#define HTTP_STATUS_BAD_REQUEST 400
-#define HTTP_STATUS_DENIED 401
-#define HTTP_STATUS_PAYMENT_REQ 402
-#define HTTP_STATUS_FORBIDDEN 403
-#define HTTP_STATUS_NOT_FOUND 404
-#define HTTP_STATUS_BAD_METHOD 405
-#define HTTP_STATUS_NONE_ACCEPTABLE 406
-#define HTTP_STATUS_PROXY_AUTH_REQ 407
-#define HTTP_STATUS_REQUEST_TIMEOUT 408
-#define HTTP_STATUS_CONFLICT 409
-#define HTTP_STATUS_GONE 410
-#define HTTP_STATUS_AUTH_REFUSED 411
-#define HTTP_STATUS_SERVER_ERROR 500
-#define HTTP_STATUS_NOT_SUPPORTED 501
-#define HTTP_STATUS_BAD_GATEWAY 502
-#define HTTP_STATUS_SERVICE_UNAVAIL 503
-#define HTTP_STATUS_GATEWAY_TIMEOUT 504
-#define INTERNET_PREFETCH_PROGRESS 0
-#define INTERNET_PREFETCH_COMPLETE 1
-#define INTERNET_PREFETCH_ABORTED 2
-#define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01
-#define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02
-#define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04
-#define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08
-#define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF
-#define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000
-#define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000
-#define HTTP_ADDREQ_FLAG_ADD 0x20000000
-#define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000
-#define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000
-#define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
-#define HTTP_ADDREQ_FLAG_REPLACE 0x80000000
-#define INTERNET_ERROR_BASE 12000
-#define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE+1)
-#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE+2)
-#define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE+3)
-#define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE+4)
-#define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE+5)
-#define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE+6)
-#define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE+7)
-#define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE+8)
-#define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE+9)
-#define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE+10)
-#define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE+11)
-#define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE+12)
-#define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE+13)
-#define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE+14)
-#define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE+15)
-#define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE+16)
-#define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE+17)
-#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE+18)
-#define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE+19)
-#define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE+20)
-#define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE+21)
-#define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE+22)
-#define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE+23)
-#define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE+24)
-#define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE+25)
-#define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE+26)
-#define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE+27)
-#define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE+28)
-#define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE+29)
-#define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE+30)
-#define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE+31)
-#define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE+32)
-#define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE+33)
-#define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE+34)
-#define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE+36)
-#define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE+37)
-#define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE+38)
-#define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE+39)
-#define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE+40)
-#define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE+41)
-#define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+42)
-#define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+43)
-#define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE+44)
-#define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE+45)
-#define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE+46)
-#define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE+47)
-#define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE+48)
-#define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE+110)
-#define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE+111)
-#define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE+130)
-#define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE+131)
-#define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE+132)
-#define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE+133)
-#define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE+134)
-#define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE+135)
-#define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE+136)
-#define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE+137)
-#define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE+138)
-#define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE+150)
-#define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE+151)
-#define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE+152)
-#define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE+153)
-#define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE+154)
-#define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE+155)
-#define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE+156)
-#define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE+160)
-#define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE+157)
-#define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE+158)
-#define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE+159)
-#define INTERNET_ERROR_LAST ERROR_INTERNET_TCPIP_NOT_INSTALLED
-#define URLCACHEAPI DECLSPEC_IMPORT
-#define NORMAL_CACHE_ENTRY 1
-#define STABLE_CACHE_ENTRY 2
-#define STICKY_CACHE_ENTRY 4
-#define SPARSE_CACHE_ENTRY 0x10000
-#define OCX_CACHE_ENTRY 0x20000
-#define COOKIE_CACHE_ENTRY 0x100000
-#define URLHISTORY_CACHE_ENTRY 0x200000
-#define CACHE_ENTRY_ATTRIBUTE_FC 4
-#define CACHE_ENTRY_HITRATE_FC 0x10
-#define CACHE_ENTRY_MODTIME_FC 0x40
-#define CACHE_ENTRY_EXPTIME_FC 0x80
-#define CACHE_ENTRY_ACCTIME_FC 0x100
-#define CACHE_ENTRY_SYNCTIME_FC 0x200
-#define CACHE_ENTRY_HEADERINFO_FC 0x400
-#define IRF_ASYNC WININET_API_FLAG_ASYNC
-#define IRF_SYNC WININET_API_FLAG_SYNC
-#define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
-#define IRF_NO_WAIT 8
-#define HSR_ASYNC	WININET_API_FLAG_ASYNC
-#define HSR_SYNC	WININET_API_FLAG_SYNC
-#define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
-#define HSR_INITIATE	8
-#define HSR_DOWNLOAD	16
-#define HSR_CHUNKED	32
-#define INTERNET_DIAL_UNATTENDED	0x8000
-#define INTERNET_DIALSTATE_DISCONNECTED	1
-#define INTERENT_GOONLINE_REFRESH	1
-#define INTERENT_GOONLINE_MASK	1
-#define INTERNET_AUTODIAL_FORCE_ONLINE	1
-#define INTERNET_AUTODIAL_FORCE_UNATTENDED	2
-#define INTERNET_AUTODIAL_FAILIFSECURITYCHECK	4
-#define INTERNET_CONNECTION_MODEM	0x01
-#define INTERNET_CONNECTION_LAN		0x02
-#define INTERNET_CONNECTION_PROXY	0x04
-#define INTERNET_CONNECTION_MODEM_BUSY	0x08
-#define INTERNET_RAS_INSTALLED		0x10
-#define INTERNET_CONNECTION_OFFLINE	0x20
-#define INTERNET_CONNECTION_CONFIGURED	0x40
-#define CACHEGROUP_SEARCH_ALL	0
-#define CACHEGROUP_SEARCH_BYURL	1
-#define INTERNET_CACHE_GROUP_ADD	0
-#define INTERNET_CACHE_GROUP_REMOVE	1
-#define WININET_API_FLAG_ASYNC 0x00000001	/* Force asynchronous operations.  */
-#define WININET_API_FLAG_SYNC 0x00000004	/* Force synchronous operations.  */
-#define WININET_API_FLAG_USE_CONTEXT 0x00000008	/* Force the API to use the context value, even if it is set to zero.  */
-
-#define INTERNET_STATE_CONNECTED		0x0001
-#define INTERNET_STATE_DISCONNECTED		0x0002
-#define INTERNET_STATE_DISCONNECTED_BY_USER	0x0010
-#define INTERNET_STATE_IDLE			0x0100
-#define INTERNET_STATE_BUSY			0x0200
-
-#ifndef RC_INVOKED
-typedef PVOID HINTERNET;
-typedef HINTERNET *LPHINTERNET;
-typedef LONGLONG GROUPID;
-typedef WORD INTERNET_PORT,*LPINTERNET_PORT;
-typedef enum {
-	INTERNET_SCHEME_PARTIAL = -2, INTERNET_SCHEME_UNKNOWN = -1,
-	INTERNET_SCHEME_DEFAULT = 0, INTERNET_SCHEME_FTP, INTERNET_SCHEME_GOPHER,
-	INTERNET_SCHEME_HTTP, INTERNET_SCHEME_HTTPS, INTERNET_SCHEME_FILE,
-	INTERNET_SCHEME_NEWS, INTERNET_SCHEME_MAILTO, INTERNET_SCHEME_SOCKS,
-	INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS
-} INTERNET_SCHEME,*LPINTERNET_SCHEME;
-typedef struct { DWORD dwResult; DWORD dwError; } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT;
-typedef struct { DWORD dwStatus; DWORD dwSize; } INTERNET_PREFETCH_STATUS,*LPINTERNET_PREFETCH_STATUS;
-typedef struct {
-	DWORD dwAccessType;
-	LPCTSTR lpszProxy;
-	LPCTSTR lpszProxyBypass;
-} INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO;
-typedef struct {
-	DWORD dwMajorVersion;
-	DWORD dwMinorVersion;
-} INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO;
-typedef struct {
-	DWORD dwStructSize;
-	LPSTR lpszScheme;
-	DWORD dwSchemeLength;
-	INTERNET_SCHEME nScheme;
-	LPSTR lpszHostName;
-	DWORD dwHostNameLength;
-	INTERNET_PORT nPort;
-	LPSTR lpszUserName;
-	DWORD dwUserNameLength;
-	LPSTR lpszPassword;
-	DWORD dwPasswordLength;
-	LPSTR lpszUrlPath;
-	DWORD dwUrlPathLength;
-	LPSTR lpszExtraInfo;
-	DWORD dwExtraInfoLength;
-} URL_COMPONENTSA,*LPURL_COMPONENTSA;
-typedef struct {
-	DWORD dwStructSize;
-	LPWSTR lpszScheme;
-	DWORD dwSchemeLength;
-	INTERNET_SCHEME nScheme;
-	LPWSTR lpszHostName;
-	DWORD dwHostNameLength;
-	INTERNET_PORT nPort;
-	LPWSTR lpszUserName;
-	DWORD dwUserNameLength;
-	LPWSTR lpszPassword;
-	DWORD dwPasswordLength;
-	LPWSTR lpszUrlPath;
-	DWORD dwUrlPathLength;
-	LPWSTR lpszExtraInfo;
-	DWORD dwExtraInfoLength;
-} URL_COMPONENTSW,*LPURL_COMPONENTSW;
-typedef struct {
-	FILETIME ftExpiry;
-	FILETIME ftStart;
-	LPTSTR lpszSubjectInfo;
-	LPTSTR lpszIssuerInfo;
-	LPTSTR lpszProtocolName;
-	LPTSTR lpszSignatureAlgName;
-	LPTSTR lpszEncryptionAlgName;
-	DWORD dwKeySize;
-} INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO;
-typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET,DWORD,DWORD,PVOID,DWORD);
-typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
-typedef struct {
-	CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
-	DWORD GopherType;
-	DWORD SizeLow;
-	DWORD SizeHigh;
-	FILETIME LastModificationTime;
-	CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
-} GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA;
-typedef struct {
-	WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
-	DWORD GopherType;
-	DWORD SizeLow;
-	DWORD SizeHigh;
-	FILETIME LastModificationTime;
-	WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
-} GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW;
-typedef struct {
-	LPCTSTR Comment;
-	LPCTSTR EmailAddress;
-} GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
-typedef struct {FILETIME DateAndTime;} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
-typedef struct {DWORD Ttl;} GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE;
-typedef struct {INT Score;} GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE;
-typedef struct {
-	INT LowerBound;
-	INT UpperBound;
-} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Site;} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Organization;} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Location;} GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
-typedef struct {
-	INT DegreesNorth;
-	INT MinutesNorth;
-	INT SecondsNorth;
-	INT DegreesEast;
-	INT MinutesEast;
-	INT SecondsEast;
-} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
-typedef struct {INT Zone;} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Provider;} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Version;} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE;
-typedef struct {
-	LPCTSTR ShortAbstract;
-	LPCTSTR AbstractFile;
-} GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
-typedef struct {
-	LPCTSTR ContentType;
-	LPCTSTR Language;
-	DWORD Size;
-} GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE;
-typedef struct {BOOL TreeWalk;} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
-typedef struct {
-	LPCTSTR QuestionType;
-	LPCTSTR QuestionText;
-} GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Text;} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
-typedef struct {
-	DWORD CategoryId;
-	DWORD AttributeId;
-	union {
-		GOPHER_ADMIN_ATTRIBUTE_TYPE Admin;
-		GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
-		GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
-		GOPHER_SCORE_ATTRIBUTE_TYPE Score;
-		GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
-		GOPHER_SITE_ATTRIBUTE_TYPE Site;
-		GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization;
-		GOPHER_LOCATION_ATTRIBUTE_TYPE Location;
-		GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
-		GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
-		GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider;
-		GOPHER_VERSION_ATTRIBUTE_TYPE Version;
-		GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract;
-		GOPHER_VIEW_ATTRIBUTE_TYPE View;
-		GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
-		GOPHER_ASK_ATTRIBUTE_TYPE Ask;
-		GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown;
-	} AttributeType;
-} GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE;
-typedef BOOL(CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE,DWORD);
-typedef struct _INTERNET_CACHE_ENTRY_INFOA {
-	DWORD dwStructSize;
-	LPSTR lpszSourceUrlName;
-	LPSTR lpszLocalFileName;
-	DWORD CacheEntryType;
-	DWORD dwUseCount;
-	DWORD dwHitRate;
-	DWORD dwSizeLow;
-	DWORD dwSizeHigh;
-	FILETIME LastModifiedTime;
-	FILETIME ExpireTime;
-	FILETIME LastAccessTime;
-	FILETIME LastSyncTime;
-	PBYTE lpHeaderInfo;
-	DWORD dwHeaderInfoSize;
-	LPSTR lpszFileExtension;
-	DWORD dwReserved;
-} INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA;
-typedef struct _INTERNET_CACHE_ENTRY_INFOW {
-	DWORD dwStructSize;
-	LPWSTR lpszSourceUrlName;
-	LPWSTR lpszLocalFileName;
-	DWORD CacheEntryType;
-	DWORD dwUseCount;
-	DWORD dwHitRate;
-	DWORD dwSizeLow;
-	DWORD dwSizeHigh;
-	FILETIME LastModifiedTime;
-	FILETIME ExpireTime;
-	FILETIME LastAccessTime;
-	FILETIME LastSyncTime;
-	PBYTE lpHeaderInfo;
-	DWORD dwHeaderInfoSize;
-	LPWSTR lpszFileExtension;
-	DWORD dwReserved;
-} INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW;
-typedef struct _INTERNET_BUFFERSA {
-	DWORD dwStructSize;
-	struct _INTERNET_BUFFERSA *Next;
-	LPCSTR lpcszHeader;
-	DWORD dwHeadersLength;
-	DWORD dwHeadersTotal;
-	LPVOID lpvBuffer;
-	DWORD dwBufferLength;
-	DWORD dwBufferTotal;
-	DWORD dwOffsetLow;
-	DWORD dwOffsetHigh;
-} INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA;
-typedef struct _INTERNET_BUFFERSW {
-	DWORD dwStructSize;
-	struct _INTERNET_BUFFERS *Next;
-	LPCWSTR  lpcszHeader;
-	DWORD dwHeadersLength;
-	DWORD dwHeadersTotal;
-	LPVOID lpvBuffer;
-	DWORD dwBufferLength;
-	DWORD dwBufferTotal;
-	DWORD dwOffsetLow;
-	DWORD dwOffsetHigh;
-} INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW;
-
-#define GROUP_OWNER_STORAGE_SIZE 4
-#define GROUPNAME_MAX_LENGTH 120
-typedef struct _INTERNET_CACHE_GROUP_INFOA {
-	DWORD dwGroupSize;
-	DWORD dwGroupFlags;
-	DWORD dwGroupType;
-	DWORD dwDiskUsage;
-	DWORD dwDiskQuota;
-	DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
-	CHAR  szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA;
-typedef struct _INTERNET_CACHE_GROUP_INFOW {
-	DWORD dwGroupSize;
-	DWORD dwGroupFlags;
-	DWORD dwGroupType;
-	DWORD dwDiskUsage;
-	DWORD dwDiskQuota;
-	DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
-	WCHAR szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOW, * LPINTERNET_CACHE_GROUP_INFOW;
-typedef struct {
- 	DWORD dwConnectedState;
-	DWORD dwFlags;
-} INTERNET_CONNECTED_INFO, * LPINTERNET_CONNECTED_INFO;
-
-#ifdef UNICODE
-typedef URL_COMPONENTSW URL_COMPONENTS;
-typedef LPURL_COMPONENTSW LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSW INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO;
-#else
-typedef URL_COMPONENTSA URL_COMPONENTS;
-typedef LPURL_COMPONENTSA LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSA INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO;
-#endif
-BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD);
-BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD);
-BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD);
-BOOL WINAPI InternetCrackUrlA(LPCSTR,DWORD,DWORD,LPURL_COMPONENTSA);
-BOOL WINAPI InternetCrackUrlW(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTSW);
-BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA,DWORD,LPSTR,PDWORD);
-BOOL WINAPI InternetCreateUrlW(LPURL_COMPONENTSW,DWORD,LPWSTR,PDWORD);
-BOOL WINAPI InternetCanonicalizeUrlA(LPCSTR,LPSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCanonicalizeUrlW(LPCWSTR,LPWSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCheckConnectionA(LPCSTR,DWORD,DWORD);
-BOOL WINAPI InternetCheckConnectionW(LPCWSTR,DWORD,DWORD);
-BOOL WINAPI InternetCombineUrlA(LPCSTR,LPCSTR,LPSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCombineUrlW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,DWORD);
-HINTERNET WINAPI InternetOpenA(LPCSTR,DWORD,LPCSTR,LPCSTR,DWORD);
-HINTERNET WINAPI InternetOpenW(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
-BOOL WINAPI InternetCloseHandle(HINTERNET);
-HINTERNET WINAPI InternetConnectA(HINTERNET,LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetConnectW(HINTERNET,LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetOpenUrlA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetOpenUrlW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
-BOOL WINAPI InternetReadFile(HINTERNET,PVOID,DWORD,PDWORD);
-DWORD WINAPI InternetSetFilePointer( HINTERNET,LONG,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetWriteFile(HINTERNET,LPCVOID,DWORD,PDWORD);
-BOOL WINAPI InternetQueryDataAvailable( HINTERNET,PDWORD,DWORD,DWORD);
-BOOL WINAPI InternetFindNextFileA(HINTERNET,PVOID);
-BOOL WINAPI InternetFindNextFileW(HINTERNET,PVOID);
-BOOL WINAPI InternetQueryOptionA(HINTERNET,DWORD,PVOID,PDWORD);
-BOOL WINAPI InternetQueryOptionW(HINTERNET,DWORD,PVOID,PDWORD);
-BOOL WINAPI InternetSetOptionA(HINTERNET,DWORD,PVOID,DWORD);
-BOOL WINAPI InternetSetOptionW(HINTERNET,DWORD,PVOID,DWORD);
-BOOL WINAPI InternetSetOptionExA(HINTERNET,DWORD,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetSetOptionExW(HINTERNET,DWORD,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetGetLastResponseInfoA(PDWORD,LPSTR,PDWORD);
-BOOL WINAPI InternetGetLastResponseInfoW(PDWORD,LPWSTR,PDWORD);
-INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(HINTERNET,INTERNET_STATUS_CALLBACK);
-DWORD WINAPI FtpGetFileSize(HINTERNET,LPDWORD);
-HINTERNET WINAPI FtpFindFirstFileA(HINTERNET,LPCSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
-HINTERNET WINAPI FtpFindFirstFileW(HINTERNET,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
-BOOL WINAPI FtpGetFileA(HINTERNET,LPCSTR,LPCSTR,BOOL,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpGetFileW( HINTERNET,LPCWSTR,LPCWSTR,BOOL,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpPutFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
-BOOL WINAPI FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI FtpDeleteFileA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpDeleteFileW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpRenameFileA(HINTERNET, LPCSTR,LPCSTR);
-BOOL WINAPI FtpRenameFileW(HINTERNET,LPCWSTR,LPCWSTR);
-HINTERNET WINAPI FtpOpenFileA(HINTERNET,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI FtpOpenFileW(HINTERNET,LPCWSTR,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpCreateDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpCreateDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpRemoveDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpRemoveDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET,LPSTR,PDWORD);
-BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET,LPWSTR,PDWORD);
-BOOL WINAPI FtpCommandA(HINTERNET,BOOL,DWORD,LPCSTR,DWORD_PTR,HINTERNET*);
-BOOL WINAPI FtpCommandW(HINTERNET,BOOL,DWORD,LPCWSTR,DWORD_PTR,HINTERNET*);
-BOOL WINAPI GopherCreateLocatorA(LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD);
-BOOL WINAPI GopherCreateLocatorW(LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD);
-BOOL WINAPI GopherGetLocatorTypeA(LPCSTR,PDWORD);
-BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR,PDWORD);
-HINTERNET WINAPI GopherFindFirstFileA(HINTERNET,LPCSTR,LPCSTR,LPGOPHER_FIND_DATAA,DWORD,DWORD);
-HINTERNET WINAPI GopherFindFirstFileW(HINTERNET,LPCWSTR,LPCWSTR,LPGOPHER_FIND_DATAW,DWORD,DWORD);
-HINTERNET WINAPI GopherOpenFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
-HINTERNET WINAPI GopherOpenFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI GopherGetAttributeA(HINTERNET,LPCSTR,LPCSTR,LPBYTE,DWORD,PDWORD,GOPHER_ATTRIBUTE_ENUMERATOR,DWORD);
-BOOL WINAPI GopherGetAttributeW(HINTERNET,LPCWSTR,
-LPCWSTR, LPBYTE, DWORD, PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD);
-HINTERNET WINAPI HttpOpenRequestA(HINTERNET,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR *,DWORD,DWORD);
-HINTERNET WINAPI HttpOpenRequestW(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR FAR * lplpszAcceptTypes , DWORD dwFlags, DWORD dwContext);
-BOOL WINAPI HttpAddRequestHeadersA(HINTERNET,LPCSTR,DWORD,DWORD);
-BOOL WINAPI HttpAddRequestHeadersW(HINTERNET,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI HttpSendRequestA(HINTERNET,LPCSTR,DWORD,PVOID,DWORD);
-BOOL WINAPI HttpSendRequestW(HINTERNET,LPCWSTR,DWORD,PVOID,DWORD);
-BOOL WINAPI HttpQueryInfoA(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
-BOOL WINAPI HttpQueryInfoW(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
-BOOL WINAPI InternetSetCookieA(LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI InternetSetCookieW(LPCSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI InternetGetCookieA(LPCSTR,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI InternetGetCookieW(LPCSTR,LPCWSTR,LPWSTR,PDWORD);
-DWORD WINAPI InternetAttemptConnect(DWORD);
-DWORD WINAPI InternetErrorDlg(HWND,HINTERNET,DWORD,DWORD,PVOID *);
-DWORD WINAPI InternetConfirmZoneCrossing(HWND,LPSTR,LPSTR,BOOL);
-BOOL WINAPI CreateUrlCacheEntryA(LPCSTR,DWORD,LPCSTR,LPSTR,DWORD);
-BOOL WINAPI CreateUrlCacheEntryW(LPCSTR,DWORD,LPCSTR,LPWSTR,DWORD);
-BOOL WINAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCSTR,DWORD);
-BOOL WINAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCWSTR,DWORD);
-BOOL WINAPI RetrieveUrlCacheEntryFileA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,DWORD);
-BOOL WINAPI RetrieveUrlCacheEntryFileW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,DWORD);
-BOOL WINAPI UnlockUrlCacheEntryFile(LPCSTR,DWORD);
-HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,BOOL,DWORD);
-HANDLE WINAPI RetrieveUrlCacheEntryStreamW( LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,BOOL,DWORD);
-BOOL WINAPI ReadUrlCacheEntryStream(HANDLE,DWORD,PVOID,PDWORD,DWORD);
-BOOL WINAPI UnlockUrlCacheEntryStream( HANDLE,DWORD);
-BOOL WINAPI GetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-BOOL WINAPI GetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,DWORD);
-BOOL WINAPI SetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,DWORD);
-HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-HANDLE WINAPI FindFirstUrlCacheEntryW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI FindNextUrlCacheEntryA(HANDLE,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-BOOL WINAPI FindNextUrlCacheEntryW(HANDLE,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI FindCloseUrlCache(HANDLE);
-BOOL WINAPI DeleteUrlCacheEntryA(LPCSTR);
-BOOL WINAPI DeleteUrlCacheEntryW(LPCWSTR);
-
-DWORD AuthenticateUser(PVOID*,LPSTR,LPSTR,DWORD,LPSTR,DWORD,LPSTR,LPSTR);
-BOOL WINAPI HttpSendRequestExA(HINTERNET,LPINTERNET_BUFFERSA,LPINTERNET_BUFFERSA,DWORD,DWORD);
-BOOL WINAPI HttpSendRequestExW(HINTERNET,LPINTERNET_BUFFERSW,LPINTERNET_BUFFERSW,DWORD,DWORD);
-BOOL WINAPI HttpEndRequestA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD);
-BOOL WINAPI HttpEndRequestW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD);
-DWORD WINAPI InternetDial(HWND,LPTSTR,DWORD,LPDWORD,DWORD);
-DWORD WINAPI InternetHangUp(DWORD,DWORD);
-BOOL WINAPI InternetGoOnline(LPTSTR,HWND,DWORD);
-BOOL WINAPI InternetAutodial(DWORD,DWORD);
-BOOL WINAPI InternetAutodialHangup(DWORD);
-BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD);
-BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD);
-BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR);
-BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR);
-GROUPID WINAPI CreateUrlCacheGroup(DWORD,LPVOID);
-BOOL WINAPI DeleteUrlCacheGroup(GROUPID,DWORD,LPVOID);
-HANDLE WINAPI FindFirstUrlCacheGroup(DWORD,DWORD,LPVOID,DWORD,GROUPID*,LPVOID);
-BOOL WINAPI FindNextUrlCacheGroup(HANDLE,GROUPID*,LPVOID);
-BOOL WINAPI GetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPDWORD,LPVOID);
-BOOL WINAPI GetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPDWORD,LPVOID);
-BOOL WINAPI SetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPVOID);
-BOOL WINAPI SetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPVOID);
-
-#ifdef UNICODE
-#define InternetCrackUrl InternetCrackUrlW
-#define InternetCreateUrl InternetCreateUrlW
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlW
-#define InternetCheckConnection InternetCheckConnectionW
-#define InternetCombineUrl InternetCombineUrlW
-#define InternetOpen InternetOpenW
-#define InternetConnect InternetConnectW
-#define InternetOpenUrl InternetOpenUrlW
-#define InternetFindNextFile InternetFindNextFileW
-#define InternetQueryOption InternetQueryOptionW
-#define InternetSetOption InternetSetOptionW
-#define InternetSetOptionEx InternetSetOptionExW
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoW
-#define InternetReadFileEx  InternetReadFileExW
-#define FtpFindFirstFile FtpFindFirstFileW
-#define FtpGetFile FtpGetFileW
-#define FtpPutFile FtpPutFileW
-#define FtpDeleteFile FtpDeleteFileW
-#define FtpRenameFile FtpRenameFileW
-#define FtpOpenFile FtpOpenFileW
-#define FtpCreateDirectory FtpCreateDirectoryW
-#define FtpRemoveDirectory FtpRemoveDirectoryW
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW
-#define FtpCommand FtpCommandW
-#define GopherGetLocatorType GopherGetLocatorTypeW
-#define GopherCreateLocator GopherCreateLocatorW
-#define GopherFindFirstFile GopherFindFirstFileW
-#define GopherOpenFile GopherOpenFileW
-#define GopherGetAttribute GopherGetAttributeW
-#define HttpSendRequest HttpSendRequestW
-#define HttpOpenRequest HttpOpenRequestW
-#define HttpAddRequestHeaders HttpAddRequestHeadersW
-#define HttpQueryInfo HttpQueryInfoW
-#define InternetSetCookie InternetSetCookieW
-#define InternetGetCookie InternetGetCookieW
-#define CreateUrlCacheEntry CreateUrlCacheEntryW
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryW
-#define CommitUrlCacheEntry CommitUrlCacheEntryW
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW
-#define HttpSendRequestEx	 HttpSendRequestExW
-#define HttpEndRequest		 HttpEndRequestW
-#define GetUrlCacheGroupAttribute  GetUrlCacheGroupAttributeW
-#define SetUrlCacheGroupAttribute  SetUrlCacheGroupAttributeW
-#define DeleteUrlCacheEntry  DeleteUrlCacheEntryW
-
-#else
-#define GopherGetAttribute GopherGetAttributeA
-#define InternetCrackUrl InternetCrackUrlA
-#define InternetCreateUrl InternetCreateUrlA
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlA
-#define InternetCheckConnection InternetCheckConnectionA
-#define InternetCombineUrl InternetCombineUrlA
-#define InternetOpen InternetOpenA
-#define InternetConnect InternetConnectA
-#define InternetOpenUrl InternetOpenUrlA
-#define InternetFindNextFile InternetFindNextFileA
-#define InternetQueryOption InternetQueryOptionA
-#define InternetSetOption InternetSetOptionA
-#define InternetSetOptionEx InternetSetOptionExA
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoA
-#define InternetReadFileEx  InternetReadFileExA
-#define FtpFindFirstFile FtpFindFirstFileA
-#define FtpGetFile FtpGetFileA
-#define FtpPutFile FtpPutFileA
-#define FtpDeleteFile FtpDeleteFileA
-#define FtpRenameFile FtpRenameFileA
-#define FtpOpenFile FtpOpenFileA
-#define FtpCreateDirectory FtpCreateDirectoryA
-#define FtpRemoveDirectory FtpRemoveDirectoryA
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA
-#define FtpCommand FtpCommandA
-#define GopherGetLocatorType GopherGetLocatorTypeA
-#define GopherCreateLocator GopherCreateLocatorA
-#define GopherFindFirstFile GopherFindFirstFileA
-#define GopherOpenFile GopherOpenFileA
-#define HttpSendRequest HttpSendRequestA
-#define HttpOpenRequest HttpOpenRequestA
-#define HttpAddRequestHeaders HttpAddRequestHeadersA
-#define HttpQueryInfo HttpQueryInfoA
-#define InternetSetCookie InternetSetCookieA
-#define InternetGetCookie InternetGetCookieA
-#define CreateUrlCacheEntry CreateUrlCacheEntryA
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryA
-#define CommitUrlCacheEntry CommitUrlCacheEntryA
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA
-#define HttpSendRequestEx	 HttpSendRequestExA
-#define HttpEndRequest		 HttpEndRequestA
-#define GetUrlCacheGroupAttribute  GetUrlCacheGroupAttributeA
-#define SetUrlCacheGroupAttribute  SetUrlCacheGroupAttributeA
-#define DeleteUrlCacheEntry  DeleteUrlCacheEntryA
-
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winioctl.h
===================================================================
--- Daodan/MinGW/include/winioctl.h	(revision 1046)
+++ 	(revision )
@@ -1,278 +1,0 @@
-/*
- * winioctl.h
- *
- * Windows IOCTL subsystem declarations and definitions; includes some
- * elements in common with the Windows Device Driver Kit.
- *
- * $Id: winioctl.h,v ed94503bab84 2016/05/04 19:34:24 keithmarshall $
- *
- * Written by Anders Norlander  <anorland@hem2.passagen.se>
- * Copyright (C) 1999-2005, 2009-2011, 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.
- *
- */
-#ifndef _WINIOCTL_H
-#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; 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 these definitions by
- * selective inclusion from the appropriate DDK header files...
- */
-#include <ddk/winddk.h>
-#include <ddk/ntdddisk.h>
-
-_BEGIN_C_DECLS
-
-#define HIST_NO_OF_BUCKETS		24
-#define HISTOGRAM_BUCKET_SIZE		sizeof(HISTOGRAM_BUCKET)
-#define DISK_HISTOGRAM_SIZE		sizeof(DISK_HISTOGRAM)
-
-#define IOCTL_DISK_LOGGING		CTL_CODE(IOCTL_DISK_BASE,10,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_STRUCTURE	CTL_CODE(IOCTL_DISK_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_DATA	CTL_CODE(IOCTL_DISK_BASE,13,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_RESET	CTL_CODE(IOCTL_DISK_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_REQUEST_STRUCTURE	CTL_CODE(IOCTL_DISK_BASE,15,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_REQUEST_DATA		CTL_CODE(IOCTL_DISK_BASE,16,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_UPDATE_PROPERTIES	CTL_CODE(IOCTL_DISK_BASE,0x50,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_MEDIA_REMOVAL	CTL_CODE(IOCTL_DISK_BASE,0x201,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_EJECT_MEDIA		CTL_CODE(IOCTL_DISK_BASE,0x202,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_LOAD_MEDIA		CTL_CODE(IOCTL_DISK_BASE,0x203,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_RELEASE		CTL_CODE(IOCTL_DISK_BASE,0x205,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_REMOVE_DEVICE	CTL_CODE(IOCTL_DISK_BASE,0x207,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_SERIAL_LSRMST_INSERT	CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-/* FIXME: also in ddk/ntddvol.h; should be factored out.
- */
-#define IOCTL_VOLUME_BASE   ((ULONG)('V'))
-#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_VOLUME_IS_CLUSTERED	CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_LOCK_VOLUME		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_UNLOCK_VOLUME		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_DISMOUNT_VOLUME		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_MOUNT_DBLS_VOLUME		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,13,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_COMPRESSION		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_SET_COMPRESSION		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA)
-#define FSCTL_READ_COMPRESSION		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA)
-#define FSCTL_WRITE_COMPRESSION		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA)
-#define FSCTL_GET_NTFS_VOLUME_DATA 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_VOLUME_BITMAP 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS)
-#define FSCTL_GET_RETRIEVAL_POINTERS 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,28,METHOD_NEITHER,FILE_ANY_ACCESS)
-#define FSCTL_MOVE_FILE 		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_REPARSE_POINT 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,42,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_SET_REPARSE_POINT 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,41,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_DELETE_REPARSE_POINT 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,43,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_SET_SPARSE		CTL_CODE(FILE_DEVICE_FILE_SYSTEM,49,METHOD_BUFFERED,FILE_SPECIAL_ACCESS)
-#define FSCTL_ALLOW_EXTENDED_DASD_IO 	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,32,METHOD_NEITHER,FILE_ANY_ACCESS)
-
-typedef DWORD DEVICE_TYPE;
-
-enum
-{ SERIAL_LSRMST_ESCAPE		= 0,
-  SERIAL_LSRMST_LSR_DATA	= 1,
-  SERIAL_LSRMST_LSR_NODATA	= 2,
-  SERIAL_LSRMST_MST		= 3
-};
-
-enum
-{ DISK_LOGGING_START		= 0,
-  DISK_LOGGING_STOP		= 1,
-  DISK_LOGGING_DUMP		= 2,
-  DISK_BINNING			= 3
-};
-
-typedef WORD BAD_TRACK_NUMBER, *PBAD_TRACK_NUMBER;
-typedef enum _BIN_TYPES {RequestSize, RequestLocation} BIN_TYPES;
-
-typedef
-struct _BIN_RANGE
-{ LARGE_INTEGER 		StartValue;
-  LARGE_INTEGER 		Length;
-} BIN_RANGE, *PBIN_RANGE;
-
-typedef
-struct _BIN_COUNT
-{ BIN_RANGE			BinRange;
-  DWORD 			BinCount;
-} BIN_COUNT, *PBIN_COUNT;
-
-typedef
-struct _BIN_RESULTS
-{ DWORD 			NumberOfBins;
-  BIN_COUNT			BinCounts[1];
-} BIN_RESULTS, *PBIN_RESULTS;
-
-typedef
-struct _DISK_RECORD
-{ LARGE_INTEGER 		ByteOffset;
-  LARGE_INTEGER 		StartTime;
-  LARGE_INTEGER 		EndTime;
-  PVOID 			VirtualAddress;
-  DWORD 			NumberOfBytes;
-  BYTE				DeviceNumber;
-  BOOLEAN			ReadRequest;
-} DISK_RECORD, *PDISK_RECORD;
-
-typedef
-struct _DISK_LOGGING
-{ BYTE				Function;
-  PVOID 			BufferAddress;
-  DWORD 			BufferSize;
-} DISK_LOGGING, *PDISK_LOGGING;
-
-typedef
-struct DiskQuotaUserInformation
-{ LONGLONG			QuotaUsed;
-  LONGLONG			QuotaThreshold;
-  LONGLONG			QuotaLimit;
-} DISKQUOTA_USER_INFORMATION, *PDISKQUOTA_USER_INFORMATION;
-
-typedef
-struct _HISTOGRAM_BUCKET
-{ DWORD 			Reads;
-  DWORD 			Writes;
-} HISTOGRAM_BUCKET, *PHISTOGRAM_BUCKET;
-
-typedef
-struct _DISK_HISTOGRAM
-{ LARGE_INTEGER 		DiskSize;
-  LARGE_INTEGER 		Start;
-  LARGE_INTEGER 		End;
-  LARGE_INTEGER 		Average;
-  LARGE_INTEGER 		AverageRead;
-  LARGE_INTEGER 		AverageWrite;
-  DWORD 			Granularity;
-  DWORD 			Size;
-  DWORD 			ReadCount;
-  DWORD 			WriteCount;
-  PHISTOGRAM_BUCKET		Histogram;
-} DISK_HISTOGRAM, *PDISK_HISTOGRAM;
-
-typedef
-struct _DISK_EXTENT
-{ DWORD 			DiskNumber;
-  LARGE_INTEGER 		StartingOffset;
-  LARGE_INTEGER 		ExtentLength;
-} DISK_EXTENT, *PDISK_EXTENT;
-
-typedef
-struct _VOLUME_DISK_EXTENTS
-{ DWORD 			NumberOfDiskExtents;
-  DISK_EXTENT			Extents[1];
-} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
-
-typedef
-struct _DRIVE_LAYOUT_INFORMATION
-{ DWORD 			PartitionCount;
-  DWORD 			Signature;
-  PARTITION_INFORMATION 	PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION;
-
-typedef
-struct _DRIVE_LAYOUT_INFORMATION_EX
-{ DWORD 				PartitionStyle;
-  DWORD 				PartitionCount;
-  _ANONYMOUS_UNION union
-  { DRIVE_LAYOUT_INFORMATION_MBR	  Mbr;
-    DRIVE_LAYOUT_INFORMATION_GPT	  Gpt;
-  };
-  PARTITION_INFORMATION_EX		PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;
-
-typedef struct
-{ HANDLE FileHandle;
-  LARGE_INTEGER 		StartingVcn;
-  LARGE_INTEGER 		StartingLcn;
-  DWORD 			ClusterCount;
-} MOVE_FILE_DATA, *PMOVE_FILE_DATA;
-
-typedef
-struct _PERF_BIN
-{ DWORD 			NumberOfBins;
-  DWORD 			TypeOfBin;
-  BIN_RANGE			BinsRanges[1];
-} PERF_BIN, *PPERF_BIN;
-
-typedef
-struct _PREVENT_MEDIA_REMOVAL
-{ BOOLEAN			PreventMediaRemoval;
-} PREVENT_MEDIA_REMOVAL, *PPREVENT_MEDIA_REMOVAL;
-
-typedef
-struct RETRIEVAL_POINTERS_BUFFER
-{ DWORD 			ExtentCount;
-  LARGE_INTEGER 		StartingVcn;
-  struct
-  { LARGE_INTEGER		  NextVcn;
-    LARGE_INTEGER		  Lcn;
-  }				Extents[1];
-} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
-
-typedef struct
-{ LARGE_INTEGER 		StartingLcn;
-} STARTING_LCN_INPUT_BUFFER, *PSTARTING_LCN_INPUT_BUFFER;
-
-typedef struct
-{ LARGE_INTEGER 		StartingVcn;
-} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
-
-typedef struct
-{ LARGE_INTEGER 		StartingLcn;
-  LARGE_INTEGER 		BitmapSize;
-  BYTE				Buffer[1];
-} VOLUME_BITMAP_BUFFER, *PVOLUME_BITMAP_BUFFER;
-
-typedef struct
-{ LARGE_INTEGER 		VolumeSerialNumber;
-  LARGE_INTEGER 		NumberSectors;
-  LARGE_INTEGER 		TotalClusters;
-  LARGE_INTEGER 		FreeClusters;
-  LARGE_INTEGER 		TotalReserved;
-  DWORD 			BytesPerSector;
-  DWORD 			BytesPerCluster;
-  DWORD 			BytesPerFileRecordSegment;
-  DWORD 			ClustersPerFileRecordSegment;
-  LARGE_INTEGER 		MftValidDataLength;
-  LARGE_INTEGER 		MftStartLcn;
-  LARGE_INTEGER 		Mft2StartLcn;
-  LARGE_INTEGER 		MftZoneStart;
-  LARGE_INTEGER 		MftZoneEnd;
-} NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
-
-_END_C_DECLS
-
-#undef __WINIOCTL_H_SOURCED__
-#endif  /* _WINIOCTL_H: $RCSfile: winioctl.h,v $: end of file */
Index: Daodan/MinGW/include/winldap.h
===================================================================
--- Daodan/MinGW/include/winldap.h	(revision 1046)
+++ 	(revision )
@@ -1,713 +1,0 @@
-/*
-  winldap.h - Header file for the Windows LDAP API
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References:
-    The C LDAP Application Program Interface
-    http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
-
-    Lightweight Directory Access Protocol Reference
-    http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _WINLDAP_H
-#define _WINLDAP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _SCHANNEL_H
-#include <schannel.h>
-#endif
-
-#ifndef _WINBER_H
-#include <winber.h>
-#endif
-
-#ifndef WINLDAPAPI
-#define WINLDAPAPI DECLSPEC_IMPORT
-#endif
-
-#ifndef _WINLDAP_DEPRECATED
-#if (( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3)
-#define _WINLDAP_DEPRECATED __attribute__((__deprecated__))
-#else
-#define _WINLDAP_DEPRECATED
-#endif
-#endif
-
-#include <pshpack4.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define LDAP_VERSION1	1
-#define LDAP_VERSION2	2
-#define LDAP_VERSION3	3
-#define LDAP_VERSION	LDAP_VERSION2
-#define LDAP_API_VERSION	2004
-#define LDAP_VERSION_MIN	LDAP_VERSION2
-#define LDAP_VERSION_MAX	LDAP_VERSION3
-#define LDAP_VENDOR_NAME	"Microsoft Corporation."
-#define LDAP_VENDOR_NAME_W	L"Microsoft Corporation."
-#define LDAP_VENDOR_VERSION	510
-#define LDAP_API_INFO_VERSION	1
-#define LDAP_FEATURE_INFO_VERSION	1
-#define LDAP_SUCCESS	0x00
-#define LDAP_OPERATIONS_ERROR	0x01
-#define LDAP_PROTOCOL_ERROR	0x02
-#define LDAP_TIMELIMIT_EXCEEDED	0x03
-#define LDAP_SIZELIMIT_EXCEEDED	0x04
-#define LDAP_COMPARE_FALSE	0x05
-#define LDAP_COMPARE_TRUE	0x06
-#define LDAP_STRONG_AUTH_NOT_SUPPORTED	0x07
-#define LDAP_STRONG_AUTH_REQUIRED	0x08
-#define LDAP_REFERRAL_V2	0x09
-#define LDAP_REFERRAL	0x0a
-#define LDAP_ADMIN_LIMIT_EXCEEDED	0x0b
-#define LDAP_UNAVAILABLE_CRIT_EXTENSION	0x0c
-#define LDAP_CONFIDENTIALITY_REQUIRED	0x0d
-#define LDAP_SASL_BIND_IN_PROGRESS	0x0e
-#define LDAP_NO_SUCH_ATTRIBUTE	0x10
-#define LDAP_UNDEFINED_TYPE	0x11
-#define LDAP_INAPPROPRIATE_MATCHING	0x12
-#define LDAP_CONSTRAINT_VIOLATION	0x13
-#define LDAP_TYPE_OR_VALUE_EXISTS	0x14
-#define LDAP_INVALID_SYNTAX	0x15
-#define LDAP_NO_SUCH_OBJECT	0x20
-#define LDAP_ALIAS_PROBLEM	0x21
-#define LDAP_INVALID_DN_SYNTAX	0x22
-#define LDAP_IS_LEAF	0x23
-#define LDAP_ALIAS_DEREF_PROBLEM	0x24
-#define LDAP_INAPPROPRIATE_AUTH	0x30
-#define LDAP_INVALID_CREDENTIALS	0x31
-#define LDAP_INSUFFICIENT_ACCESS	0x32
-#define LDAP_BUSY	0x33
-#define LDAP_UNAVAILABLE	0x34
-#define LDAP_UNWILLING_TO_PERFORM	0x35
-#define LDAP_LOOP_DETECT	0x36
-#define LDAP_NAMING_VIOLATION	0x40
-#define LDAP_OBJECT_CLASS_VIOLATION	0x41
-#define LDAP_NOT_ALLOWED_ON_NONLEAF	0x42
-#define LDAP_NOT_ALLOWED_ON_RDN	0x43
-#define LDAP_ALREADY_EXISTS	0x44
-#define LDAP_NO_OBJECT_CLASS_MODS	0x45
-#define LDAP_RESULTS_TOO_LARGE	0x46
-#define LDAP_AFFECTS_MULTIPLE_DSAS	0x47
-#define LDAP_OTHER	0x50
-#define LDAP_SERVER_DOWN	0x51
-#define LDAP_LOCAL_ERROR	0x52
-#define LDAP_ENCODING_ERROR	0x53
-#define LDAP_DECODING_ERROR	0x54
-#define LDAP_TIMEOUT	0x55
-#define LDAP_AUTH_UNKNOWN	0x56
-#define LDAP_FILTER_ERROR	0x57
-#define LDAP_USER_CANCELLED	0x58
-#define LDAP_PARAM_ERROR	0x59
-#define LDAP_NO_MEMORY	0x5a
-#define LDAP_CONNECT_ERROR	0x5b
-#define LDAP_NOT_SUPPORTED	0x5c
-#define LDAP_CONTROL_NOT_FOUND	0x5d
-#define LDAP_NO_RESULTS_RETURNED	0x5e
-#define LDAP_MORE_RESULTS_TO_RETURN	0x5f
-#define LDAP_CLIENT_LOOP	0x60
-#define LDAP_REFERRAL_LIMIT_EXCEEDED	0x61
-#define LDAP_OPT_SUCCESS	LDAP_SUCCESS
-#define LDAP_AUTH_METHOD_NOT_SUPPORTED	LDAP_STRONG_AUTH_NOT_SUPPORTED
-#define LDAP_ATTRIBUTE_OR_VALUE_EXISTS	LDAP_TYPE_OR_VALUE_EXISTS
-#define LDAP_INSUFFICIENT_RIGHTS	LDAP_INSUFFICIENT_ACCESS
-#define LDAP_PARTIAL_RESULTS	LDAP_REFERRAL_V2
-#define LDAP_PORT	389
-#define LDAP_SSL_PORT	636
-#define LDAP_GC_PORT	3268
-#define LDAP_SSL_GC_PORT	3269
-#define LDAP_OPT_ON	((void*)1)
-#define LDAP_OPT_OFF	((void*)0)
-#define LDAP_OPT_API_INFO	0x00
-#define LDAP_OPT_DESC	0x01
-#define LDAP_OPT_DEREF	0x02
-#define LDAP_OPT_SIZELIMIT	0x03
-#define LDAP_OPT_TIMELIMIT	0x04
-#define LDAP_OPT_THREAD_FN_PTRS	0x05
-#define LDAP_OPT_REBIND_FN	0x06
-#define LDAP_OPT_REBIND_ARG	0x07
-#define LDAP_OPT_REFERRALS	0x08
-#define LDAP_OPT_RESTART	0x09
-#define LDAP_OPT_SSL	0x0a
-#define LDAP_OPT_IO_FN_PTRS	0x0b
-#define LDAP_OPT_CACHE_FN_PTRS	0x0d
-#define LDAP_OPT_CACHE_STRATEGY	0x0e
-#define LDAP_OPT_CACHE_ENABLE	0x0f
-#define LDAP_OPT_REFERRAL_HOP_LIMIT	0x10
-#define LDAP_OPT_PROTOCOL_VERSION	0x11
-#define LDAP_OPT_SERVER_CONTROLS	0x12
-#define LDAP_OPT_CLIENT_CONTROLS	0x13
-#define LDAP_OPT_API_FEATURE_INFO	0x15
-#define LDAP_OPT_HOST_NAME	0x30
-#define LDAP_OPT_ERROR_NUMBER	0x31
-#define LDAP_OPT_ERROR_STRING	0x32
-#define LDAP_OPT_SERVER_ERROR	0x33
-#define LDAP_OPT_SERVER_EXT_ERROR	0x34
-#define LDAP_OPT_PING_KEEP_ALIVE	0x36
-#define LDAP_OPT_PING_WAIT_TIME	0x37
-#define LDAP_OPT_PING_LIMIT	0x38
-#define LDAP_OPT_DNSDOMAIN_NAME	0x3b
-#define LDAP_OPT_GETDSNAME_FLAGS	0x3d
-#define LDAP_OPT_HOST_REACHABLE	0x3e
-#define LDAP_OPT_PROMPT_CREDENTIALS	0x3f
-#define LDAP_OPT_TCP_KEEPALIVE	0x40
-#define LDAP_OPT_REFERRAL_CALLBACK	0x70
-#define LDAP_OPT_CLIENT_CERTIFICATE	0x80
-#define LDAP_OPT_SERVER_CERTIFICATE	0x81
-#define LDAP_OPT_AUTO_RECONNECT	0x91
-#define LDAP_OPT_SSPI_FLAGS	0x92
-#define LDAP_OPT_SSL_INFO	0x93
-#define LDAP_OPT_REF_DEREF_CONN_PER_MSG	0x94
-#define LDAP_OPT_SIGN	0x95
-#define LDAP_OPT_ENCRYPT	0x96
-#define LDAP_OPT_SASL_METHOD	0x97
-#define LDAP_OPT_AREC_EXCLUSIVE	0x98
-#define LDAP_OPT_SECURITY_CONTEXT	0x99
-#define LDAP_OPT_ROOTDSE_CACHE	0x9a
-#define LDAP_OPT_VERSION	LDAP_OPT_PROTOCOL_VERSION
-#define LDAP_OPT_TLS	LDAP_OPT_SSL
-#define LDAP_OPT_TLS_INFO	LDAP_OPT_SSL_INFO
-#define LDAP_DEREF_NEVER	0x00
-#define LDAP_DEREF_SEARCHING	0x01
-#define LDAP_DEREF_FINDING	0x02
-#define LDAP_DEREF_ALWAYS	0x03
-#define LDAP_NO_LIMIT	0
-#define LDAP_CONTROL_REFERRALS	"1.2.840.113556.1.4.616"
-#define LDAP_CONTROL_REFERRALS_W	L"1.2.840.113556.1.4.616"
-#define LDAP_CHASE_SUBORDINATE_REFERRALS	0x20U
-#define LDAP_CHASE_EXTERNAL_REFERRALS	0x40U
-#define LDAP_SCOPE_DEFAULT	-1
-#define LDAP_SCOPE_BASE	0x0000
-#define LDAP_SCOPE_ONELEVEL	0x0001
-#define LDAP_SCOPE_SUBTREE	0x0002
-#define LDAP_MOD_ADD	0x00
-#define LDAP_MOD_DELETE	0x01
-#define LDAP_MOD_REPLACE	0x02
-#define LDAP_MOD_BVALUES	0x80
-#define LDAP_RES_BIND	0x61
-#define LDAP_RES_SEARCH_ENTRY	0x64
-#define LDAP_RES_SEARCH_RESULT	0x65
-#define LDAP_RES_MODIFY	0x67
-#define LDAP_RES_ADD	0x69
-#define LDAP_RES_DELETE	0x6b
-#define LDAP_RES_MODRDN	0x6d
-#define LDAP_RES_COMPARE	0x6f
-#define LDAP_RES_SEARCH_REFERENCE	0x73
-#define LDAP_RES_EXTENDED	0x78
-#define LDAP_RES_ANY	(-1L)
-#define LDAP_MSG_ONE	0x00
-#define LDAP_MSG_ALL	0x01
-#define LDAP_MSG_RECEIVED	0x02
-#define LDAP_SERVER_SORT_OID	"1.2.840.113556.1.4.473"
-#define LDAP_SERVER_SORT_OID_W	L"1.2.840.113556.1.4.473"
-#define LDAP_SERVER_RESP_SORT_OID	"1.2.840.113556.1.4.474"
-#define LDAP_SERVER_RESP_SORT_OID_W	L"1.2.840.113556.1.4.474"
-#define LDAP_PAGED_RESULT_OID_STRING	"1.2.840.113556.1.4.319"
-#define LDAP_PAGED_RESULT_OID_STRING_W	L"1.2.840.113556.1.4.319"
-#define LDAP_CONTROL_VLVREQUEST	"2.16.840.1.113730.3.4.9"
-#define LDAP_CONTROL_VLVREQUEST_W	L"2.16.840.1.113730.3.4.9"
-#define LDAP_CONTROL_VLVRESPONSE	"2.16.840.1.113730.3.4.10"
-#define LDAP_CONTROL_VLVRESPONSE_W	L"2.16.840.1.113730.3.4.10"
-#define LDAP_START_TLS_OID	"1.3.6.1.4.1.1466.20037"
-#define LDAP_START_TLS_OID_W	L"1.3.6.1.4.1.1466.20037"
-#define LDAP_TTL_EXTENDED_OP_OID	"1.3.6.1.4.1.1466.101.119.1"
-#define LDAP_TTL_EXTENDED_OP_OID_W	L"1.3.6.1.4.1.1466.101.119.1"
-#define LDAP_AUTH_NONE	0x00U
-#define LDAP_AUTH_SIMPLE	0x80U
-#define LDAP_AUTH_SASL	0x83U
-#define LDAP_AUTH_OTHERKIND	0x86U
-#define LDAP_AUTH_EXTERNAL	(LDAP_AUTH_OTHERKIND | 0x20U)
-#define LDAP_AUTH_SICILY	(LDAP_AUTH_OTHERKIND | 0x200U)
-#define LDAP_AUTH_NEGOTIATE	(LDAP_AUTH_OTHERKIND | 0x400U)
-#define LDAP_AUTH_MSN	(LDAP_AUTH_OTHERKIND | 0x800U)
-#define LDAP_AUTH_NTLM	(LDAP_AUTH_OTHERKIND | 0x1000U)
-#define LDAP_AUTH_DIGEST	(LDAP_AUTH_OTHERKIND | 0x4000U)
-#define LDAP_AUTH_DPA	(LDAP_AUTH_OTHERKIND | 0x2000U)
-#define LDAP_AUTH_SSPI	LDAP_AUTH_NEGOTIATE
-#define LDAP_FILTER_AND	0xa0
-#define LDAP_FILTER_OR	0xa1
-#define LDAP_FILTER_NOT	0xa2
-#define LDAP_FILTER_EQUALITY	0xa3
-#define LDAP_FILTER_SUBSTRINGS	0xa4
-#define LDAP_FILTER_GE	0xa5
-#define LDAP_FILTER_LE	0xa6
-#define LDAP_FILTER_APPROX	0xa8
-#define LDAP_FILTER_EXTENSIBLE	0xa9
-#define LDAP_FILTER_PRESENT	0x87
-#define LDAP_SUBSTRING_INITIAL	0x80
-#define LDAP_SUBSTRING_ANY	0x81
-#define LDAP_SUBSTRING_FINAL	0x82
-
-typedef struct ldap {
-	char Reserved[76];
-	PCHAR ld_host;
-	ULONG ld_version;
-	UCHAR ld_lberoptions;
-	int ld_deref;
-	int ld_timelimit;
-	int ld_sizelimit;
-	int ld_errno;
-	PCHAR ld_matched;
-	PCHAR ld_error;
-} LDAP, *PLDAP;
-typedef struct ldapmsg {
-	ULONG lm_msgid;
-	ULONG lm_msgtype;
-	BerElement *lm_ber;
-	struct ldapmsg *lm_chain;
-	struct ldapmsg *lm_next;
-	ULONG lm_time;
-} LDAPMessage, *PLDAPMessage;
-typedef struct l_timeval {
-	LONG tv_sec;
-	LONG tv_usec;
-} LDAP_TIMEVAL, *PLDAP_TIMEVAL;
-typedef struct ldapapiinfoA {
-	int ldapai_info_version;
-	int ldapai_api_version;
-	int ldapai_protocol_version;
-	char **ldapai_extensions;
-	char *ldapai_vendor_name;
-	int ldapai_vendor_version;
-} LDAPAPIInfoA, *PLDAPAPIInfoA;
-typedef struct ldapapiinfoW {
-	int ldapai_info_version;
-	int ldapai_api_version;
-	int ldapai_protocol_version;
-	PWCHAR *ldapai_extensions;
-	PWCHAR ldapai_vendor_name;
-	int ldapai_vendor_version;
-} LDAPAPIInfoW, *PLDAPAPIInfoW;
-typedef struct ldap_apifeature_infoA {
-	int ldapaif_info_version;
-	char *ldapaif_name;
-	int ldapaif_version;
-} LDAPAPIFeatureInfoA, *PLDAPAPIFeatureInfoA;
-typedef struct ldap_apifeature_infoW {
-	int ldapaif_info_version;
-	PWCHAR ldapaif_name;
-	int ldapaif_version;
-} LDAPAPIFeatureInfoW, *PLDAPAPIFeatureInfoW;
-typedef struct ldapcontrolA {
-	PCHAR ldctl_oid;
-	BerValue ldctl_value;
-	BOOLEAN ldctl_iscritical;
-} LDAPControlA, *PLDAPControlA;
-typedef struct ldapcontrolW {
-	PWCHAR ldctl_oid;
-	BerValue ldctl_value;
-	BOOLEAN ldctl_iscritical;
-} LDAPControlW, *PLDAPControlW;
-typedef union mod_vals_uA {
-	PCHAR *modv_strvals;
-	BerValue **modv_bvals;
-} mod_vals_u_tA;
-typedef union mod_vals_uW {
-	PWCHAR *modv_strvals;
-	BerValue **modv_bvals;
-} mod_vals_u_tW;
-typedef struct ldapmodA {
-	ULONG mod_op;
-	PCHAR mod_type;
-	mod_vals_u_tA mod_vals;
-} LDAPModA, *PLDAPModA;
-typedef struct ldapmodW {
-	ULONG mod_op;
-	PWCHAR mod_type;
-	mod_vals_u_tW mod_vals;
-} LDAPModW, *PLDAPModW;
-
-#define mod_values      mod_vals.modv_strvals
-#define mod_bvalues     mod_vals.modv_bvals
-
-typedef struct ldapsearch LDAPSearch, *PLDAPSearch;
-typedef struct ldapsortkeyA {
-	PCHAR sk_attrtype;
-	PCHAR sk_matchruleoid;
-	BOOLEAN sk_reverseorder;
-} LDAPSortKeyA, *PLDAPSortKeyA;
-typedef struct ldapsortkeyW {
-	PWCHAR sk_attrtype;
-	PWCHAR sk_matchruleoid;
-	BOOLEAN sk_reverseorder;
-} LDAPSortKeyW, *PLDAPSortKeyW;
-typedef ULONG (__cdecl QUERYFORCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,ULONG,PVOID,PVOID,PLDAP*);
-typedef BOOLEAN (__cdecl NOTIFYOFNEWCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,PLDAP,ULONG,PVOID,PVOID,ULONG);
-typedef ULONG (__cdecl DEREFERENCECONNECTION)(PLDAP,PLDAP);
-typedef BOOLEAN (__cdecl QUERYCLIENTCERT)(PLDAP,PSecPkgContext_IssuerListInfoEx,PCCERT_CONTEXT*);
-typedef struct LdapReferralCallback {
-	ULONG SizeOfCallbacks;
-	QUERYFORCONNECTION *QueryForConnection;
-	NOTIFYOFNEWCONNECTION *NotifyRoutine;
-	DEREFERENCECONNECTION *DereferenceRoutine;
-} LDAP_REFERRAL_CALLBACK, *PLDAP_REFERRAL_CALLBACK;
-typedef struct ldapvlvinfo {
-	int ldvlv_version;
-	unsigned long ldvlv_before_count;
-	unsigned long ldvlv_after_count;
-	unsigned long ldvlv_offset;
-	unsigned long ldvlv_count;
-	BerValue *ldvlv_attrvalue;
-	BerValue *ldvlv_context;
-	void *ldvlv_extradata;
-} LDAPVLVInfo;
-
-/*
- * Under Microsoft WinLDAP the function ldap_error is only stub.
- * This macro uses LDAP structure to get error string and pass it to the user.
- */
-#define ldap_perror(handle,message) printf("%s: %s\n", message, handle->ld_error);
-
-WINLDAPAPI PLDAP ldap_initA(PCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_initW(PWCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_openA(const PCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_openW(const PWCHAR,ULONG);
-WINLDAPAPI PLDAP cldap_openA(const PCHAR,ULONG);
-WINLDAPAPI PLDAP cldap_openW(const PWCHAR,ULONG);
-WINLDAPAPI ULONG ldap_connect(LDAP*,struct l_timeval*);
-WINLDAPAPI PLDAP ldap_sslinitA(PCHAR,ULONG,int);
-WINLDAPAPI PLDAP ldap_sslinitW(PWCHAR,ULONG,int);
-WINLDAPAPI ULONG ldap_start_tls_sA(LDAP*,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_start_tls_sW(LDAP*,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI BOOLEAN ldap_stop_tls_s(LDAP*);
-WINLDAPAPI ULONG ldap_get_optionA(LDAP*,int,void*);
-WINLDAPAPI ULONG ldap_get_optionW(LDAP*,int,void*);
-WINLDAPAPI ULONG ldap_set_optionA(LDAP*,int,const void*);
-WINLDAPAPI ULONG ldap_set_optionW(LDAP*,int,const void*);
-WINLDAPAPI ULONG ldap_control_freeA(LDAPControlA*);
-WINLDAPAPI ULONG ldap_control_freeW(LDAPControlW*);
-WINLDAPAPI ULONG ldap_controls_freeA(LDAPControlA**);
-WINLDAPAPI ULONG ldap_controls_freeW(LDAPControlW**);
-WINLDAPAPI ULONG ldap_free_controlsA(LDAPControlA**);
-WINLDAPAPI ULONG ldap_free_controlsW(LDAPControlW**);
-WINLDAPAPI ULONG ldap_sasl_bindA(LDAP*,const PCHAR, const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*);
-WINLDAPAPI ULONG ldap_sasl_bindW(LDAP*,const PWCHAR, const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*);
-WINLDAPAPI ULONG ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*);
-WINLDAPAPI ULONG ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*);
-WINLDAPAPI ULONG ldap_simple_bindA(LDAP*,const PCHAR,const PCHAR);
-WINLDAPAPI ULONG ldap_simple_bindW(LDAP*,const PWCHAR,const PWCHAR);
-WINLDAPAPI ULONG ldap_simple_bind_sA(LDAP*,const PCHAR,const PCHAR);
-WINLDAPAPI ULONG ldap_simple_bind_sW(LDAP*,const PWCHAR,const PWCHAR);
-WINLDAPAPI ULONG ldap_bindA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bindW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bind_sA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bind_sW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_unbind(LDAP*);
-WINLDAPAPI ULONG ldap_unbind_s(LDAP*);
-WINLDAPAPI ULONG ldap_search_extA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_search_extW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_search_ext_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_ext_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_searchA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG);
-WINLDAPAPI ULONG ldap_searchW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG);
-WINLDAPAPI ULONG ldap_search_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_compare_extA(LDAP*,const PCHAR,const PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_compare_extW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_compare_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_compare_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_compareA(LDAP*,const PCHAR,const PCHAR,PCHAR);
-WINLDAPAPI ULONG ldap_compareW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
-WINLDAPAPI ULONG ldap_compare_sA(LDAP*,const PCHAR,const PCHAR,PCHAR);
-WINLDAPAPI ULONG ldap_compare_sW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
-WINLDAPAPI ULONG ldap_modify_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_modify_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_modify_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_modify_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_modifyA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_modifyW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_modify_sA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_modify_sW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_rename_extA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_rename_extW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_rename_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_rename_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_modrdnA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdnW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn_sA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_add_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_add_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_add_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_add_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_addA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_addW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_add_sA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_add_sW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_delete_extA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_delete_extW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_delete_ext_sA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_delete_ext_sW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_deleteA(LDAP*,const PCHAR);
-WINLDAPAPI ULONG ldap_deleteW(LDAP*,const PWCHAR);
-WINLDAPAPI ULONG ldap_delete_sA(LDAP*,const PCHAR);
-WINLDAPAPI ULONG ldap_delete_sW(LDAP*,const PWCHAR);
-WINLDAPAPI ULONG ldap_extended_operationA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_extended_operationW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_extended_operation_sA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**);
-WINLDAPAPI ULONG ldap_extended_operation_sW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**);
-WINLDAPAPI ULONG ldap_close_extended_op(LDAP*,ULONG);
-WINLDAPAPI ULONG ldap_abandon(LDAP*,ULONG);
-WINLDAPAPI ULONG ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_msgfree(LDAPMessage*);
-WINLDAPAPI ULONG ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_extended_resultA(LDAP,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_extended_resultW(LDAP,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN);
-WINLDAPAPI PCHAR ldap_err2stringA(ULONG);
-WINLDAPAPI PWCHAR ldap_err2stringW(ULONG);
-WINLDAPAPI ULONG LdapGetLastError(void);
-WINLDAPAPI ULONG LdapMapErrorToWin32(ULONG);
-WINLDAPAPI ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG);
-WINLDAPAPI PLDAPMessage ldap_first_entry(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_next_entry(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_first_reference(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_next_reference(LDAP*,LDAPMessage*);
-WINLDAPAPI ULONG ldap_count_entries(LDAP*,LDAPMessage*);
-WINLDAPAPI ULONG ldap_count_references(LDAP*,LDAPMessage*);
-WINLDAPAPI PCHAR ldap_first_attributeA(LDAP*,LDAPMessage*,BerElement**);
-WINLDAPAPI PWCHAR ldap_first_attributeW(LDAP*,LDAPMessage*,BerElement**);
-WINLDAPAPI PCHAR ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*);
-WINLDAPAPI PWCHAR ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*);
-WINLDAPAPI VOID ldap_memfreeA(PCHAR);
-WINLDAPAPI VOID ldap_memfreeW(PWCHAR);
-WINLDAPAPI PCHAR* ldap_get_valuesA(LDAP*,LDAPMessage*,const PCHAR);
-WINLDAPAPI PWCHAR* ldap_get_valuesW(LDAP*,LDAPMessage*,const PWCHAR);
-WINLDAPAPI BerValue** ldap_get_values_lenA(LDAP*,LDAPMessage*,const PCHAR);
-WINLDAPAPI BerValue** ldap_get_values_lenW(LDAP*,LDAPMessage*,const PWCHAR);
-WINLDAPAPI ULONG ldap_count_valuesA(PCHAR*);
-WINLDAPAPI ULONG ldap_count_valuesW(PWCHAR*);
-WINLDAPAPI ULONG ldap_count_values_len(struct berval**);
-WINLDAPAPI ULONG ldap_value_freeA(PCHAR*);
-WINLDAPAPI ULONG ldap_value_freeW(PWCHAR*);
-WINLDAPAPI ULONG ldap_value_free_len(struct berval**);
-WINLDAPAPI PCHAR ldap_get_dnA(LDAP*,LDAPMessage*);
-WINLDAPAPI PWCHAR ldap_get_dnW(LDAP*,LDAPMessage*);
-WINLDAPAPI PCHAR ldap_explode_dnA(PCHAR,ULONG);
-WINLDAPAPI PWCHAR ldap_explode_dnW(PWCHAR,ULONG);
-WINLDAPAPI PCHAR ldap_dn2ufnA(PCHAR);
-WINLDAPAPI PWCHAR ldap_dn2ufnW(PWCHAR);
-WINLDAPAPI ULONG ldap_ufn2dnA(const PCHAR,PCHAR*);
-WINLDAPAPI ULONG ldap_ufn2dnW(const PWCHAR,PWCHAR*);
-WINLDAPAPI ULONG ldap_parse_referenceA(LDAP*,LDAPMessage*,PCHAR**);
-WINLDAPAPI ULONG ldap_parse_referenceW(LDAP*,LDAPMessage*,PWCHAR**);
-WINLDAPAPI ULONG ldap_check_filterA(LDAP*,PCHAR);
-WINLDAPAPI ULONG ldap_check_filterW(LDAP*,PWCHAR);
-WINLDAPAPI ULONG ldap_create_page_controlA(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_create_page_controlW(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
-WINLDAPAPI INT ldap_create_vlv_controlA(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlA**);
-WINLDAPAPI INT ldap_create_vlv_controlW(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlW**);
-WINLDAPAPI ULONG ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN);
-WINLDAPAPI ULONG ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN);
-WINLDAPAPI ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG);
-WINLDAPAPI ULONG ldap_escape_filter_elementW(PWCHAR,ULONG,PWCHAR,ULONG);
-WINLDAPAPI ULONG ldap_get_next_page(PLDAP,PLDAPSearch,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_get_next_page_s(PLDAP,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_get_paged_count(PLDAP,PLDAPSearch,ULONG*,PLDAPMessage);
-WINLDAPAPI ULONG ldap_parse_page_controlA(PLDAP,PLDAPControlA*,ULONG*,struct berval**);
-WINLDAPAPI ULONG ldap_parse_page_controlW(PLDAP,PLDAPControlW*,ULONG*,struct berval**);
-WINLDAPAPI ULONG ldap_parse_sort_controlA(PLDAP,PLDAPControlA*,ULONG*,PCHAR*);
-WINLDAPAPI ULONG ldap_parse_sort_controlW(PLDAP,PLDAPControlW*,ULONG*,PWCHAR*);
-WINLDAPAPI INT ldap_parse_vlv_controlA(LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct berval**,int*);
-WINLDAPAPI INT ldap_parse_vlv_controlW(LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct berval**,int*);
-WINLDAPAPI PLDAPSearch ldap_search_init_pageA(PLDAP,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*);
-WINLDAPAPI PLDAPSearch ldap_search_init_pageW(PLDAP,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,PLDAPSortKeyW*);
-WINLDAPAPI ULONG ldap_search_abandon_page(PLDAP,PLDAPSearch);
-WINLDAPAPI LDAP ldap_conn_from_msg(LDAP*,LDAPMessage*);
-WINLDAPAPI INT LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
-WINLDAPAPI INT LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int);
-
-#ifdef UNICODE
-#define LDAPControl LDAPControlW
-#define PLDAPControl PLDAPControlW
-#define LDAPMod LDAPModW
-#define PLDAPMod LDAPModW
-#define LDAPSortKey LDAPSortKeyW
-#define PLDAPSortKey PLDAPSortKeyW
-#define LDAPAPIInfo LDAPAPIInfoW
-#define PLDAPAPIInfo PLDAPAPIInfoW
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoW
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoW
-#define cldap_open cldap_openW
-#define ldap_open ldap_openW
-#define ldap_bind ldap_bindW
-#define ldap_bind_s ldap_bind_sW
-#define ldap_simple_bind ldap_simple_bindW
-#define ldap_simple_bind_s ldap_simple_bind_sW
-#define ldap_sasl_bind ldap_sasl_bindW
-#define ldap_sasl_bind_s ldap_sasl_bind_sW
-#define ldap_init ldap_initW
-#define ldap_sslinit ldap_sslinitW
-#define ldap_get_option ldap_get_optionW
-#define ldap_set_option ldap_set_optionW
-#define ldap_start_tls_s ldap_start_tls_sW
-#define ldap_add ldap_addW
-#define ldap_add_ext ldap_add_extW
-#define ldap_add_s ldap_add_sW
-#define ldap_add_ext_s ldap_add_ext_sW
-#define ldap_compare ldap_compareW
-#define ldap_compare_ext ldap_compare_extW
-#define ldap_compare_s ldap_compare_sW
-#define ldap_compare_ext_s ldap_compare_ext_sW
-#define ldap_delete ldap_deleteW
-#define ldap_delete_ext ldap_delete_extW
-#define ldap_delete_s ldap_delete_sW
-#define ldap_delete_ext_s ldap_delete_ext_sW
-#define ldap_extended_operation_s ldap_extended_operation_sW
-#define ldap_extended_operation ldap_extended_operationW
-#define ldap_modify ldap_modifyW
-#define ldap_modify_ext ldap_modify_extW
-#define ldap_modify_s ldap_modify_sW
-#define ldap_modify_ext_s ldap_modify_ext_sW
-#define ldap_check_filter ldap_check_filterW
-#define ldap_count_values ldap_count_valuesW
-#define ldap_create_page_control ldap_create_page_controlW
-#define ldap_create_sort_control ldap_create_sort_controlW
-#define ldap_create_vlv_control ldap_create_vlv_controlW
-#define ldap_encode_sort_control ldap_encode_sort_controlW
-#define ldap_escape_filter_element ldap_escape_filter_elementW
-#define ldap_first_attribute ldap_first_attributeW
-#define ldap_next_attribute ldap_next_attributeW
-#define ldap_get_values ldap_get_valuesW
-#define ldap_get_values_len ldap_get_values_lenW
-#define ldap_parse_extended_result ldap_parse_extended_resultW
-#define ldap_parse_page_control ldap_parse_page_controlW
-#define ldap_parse_reference ldap_parse_referenceW
-#define ldap_parse_result ldap_parse_resultW
-#define ldap_parse_sort_control ldap_parse_sort_controlW
-#define ldap_parse_vlv_control ldap_parse_vlv_controlW
-#define ldap_search ldap_searchW
-#define ldap_search_s ldap_search_sW
-#define ldap_search_st ldap_search_stW
-#define ldap_search_ext ldap_search_extW
-#define ldap_search_ext_s ldap_search_ext_sW
-#define ldap_search_init_page ldap_search_init_pageW
-#define ldap_err2string ldap_err2stringW
-#define ldap_control_free ldap_control_freeW
-#define ldap_controls_free ldap_controls_freeW
-#define ldap_free_controls ldap_free_controlsW
-#define ldap_memfree ldap_memfreeW
-#define ldap_value_free ldap_value_freeW
-#define ldap_dn2ufn ldap_dn2ufnW
-#define ldap_ufn2dn ldap_ufn2dnW
-#define ldap_explode_dn ldap_explode_dnW
-#define ldap_get_dn ldap_get_dnW
-#define ldap_modrdn ldap_modrdnW
-#define ldap_modrdn_s ldap_modrdn_sW
-#define ldap_modrdn2 ldap_modrdn2W
-#define ldap_modrdn2_s ldap_modrdn2_sW
-#define ldap_rename ldap_rename_extW
-#define ldap_rename_s ldap_rename_ext_sW
-#define ldap_rename_ext ldap_rename_extW
-#define ldap_rename_ext_s ldap_rename_ext_sW
-#else
-#define LDAPControl LDAPControlA
-#define PLDAPControl PLDAPControlA
-#define LDAPMod LDAPModA
-#define PLDAPMod LDAPModA
-#define LDAPSortKey LDAPSortKeyA
-#define PLDAPSortKey PLDAPSortKeyA
-#define LDAPAPIInfo LDAPAPIInfoA
-#define PLDAPAPIInfo PLDAPAPIInfoA
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoA
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoA
-#define cldap_open cldap_openA
-#define ldap_open ldap_openA
-#define ldap_bind ldap_bindA
-#define ldap_bind_s ldap_bind_sA
-#define ldap_simple_bind ldap_simple_bindA
-#define ldap_simple_bind_s ldap_simple_bind_sA
-#define ldap_sasl_bind ldap_sasl_bindA
-#define ldap_sasl_bind_s ldap_sasl_bind_sA
-#define ldap_init ldap_initA
-#define ldap_sslinit ldap_sslinitA
-#define ldap_get_option ldap_get_optionA
-#define ldap_set_option ldap_set_optionA
-#define ldap_start_tls_s ldap_start_tls_sA
-#define ldap_add ldap_addA
-#define ldap_add_ext ldap_add_extA
-#define ldap_add_s ldap_add_sA
-#define ldap_add_ext_s ldap_add_ext_sA
-#define ldap_compare ldap_compareA
-#define ldap_compare_ext ldap_compare_extA
-#define ldap_compare_s ldap_compare_sA
-#define ldap_compare_ext_s ldap_compare_ext_sA
-#define ldap_delete ldap_deleteA
-#define ldap_delete_ext ldap_delete_extA
-#define ldap_delete_s ldap_delete_sA
-#define ldap_delete_ext_s ldap_delete_ext_sA
-#define ldap_extended_operation_s ldap_extended_operation_sA
-#define ldap_extended_operation ldap_extended_operationA
-#define ldap_modify ldap_modifyA
-#define ldap_modify_ext ldap_modify_extA
-#define ldap_modify_s ldap_modify_sA
-#define ldap_modify_ext_s ldap_modify_ext_sA
-#define ldap_check_filter ldap_check_filterA
-#define ldap_count_values ldap_count_valuesA
-#define ldap_create_page_control ldap_create_page_controlA
-#define ldap_create_sort_control ldap_create_sort_controlA
-#define ldap_create_vlv_control ldap_create_vlv_controlA
-#define ldap_encode_sort_control ldap_encode_sort_controlA
-#define ldap_escape_filter_element ldap_escape_filter_elementA
-#define ldap_first_attribute ldap_first_attributeA
-#define ldap_next_attribute ldap_next_attributeA
-#define ldap_get_values ldap_get_valuesA
-#define ldap_get_values_len ldap_get_values_lenA
-#define ldap_parse_extended_result ldap_parse_extended_resultA
-#define ldap_parse_page_control ldap_parse_page_controlA
-#define ldap_parse_reference ldap_parse_referenceA
-#define ldap_parse_result ldap_parse_resultA
-#define ldap_parse_sort_control ldap_parse_sort_controlA
-#define ldap_parse_vlv_control ldap_parse_vlv_controlA
-#define ldap_search ldap_searchA
-#define ldap_search_s ldap_search_sA
-#define ldap_search_st ldap_search_stA
-#define ldap_search_ext ldap_search_extA
-#define ldap_search_ext_s ldap_search_ext_sA
-#define ldap_search_init_page ldap_search_init_pageA
-#define ldap_err2string ldap_err2stringA
-#define ldap_control_free ldap_control_freeA
-#define ldap_controls_free ldap_controls_freeA
-#define ldap_free_controls ldap_free_controlsA
-#define ldap_memfree ldap_memfreeA
-#define ldap_value_free ldap_value_freeA
-#define ldap_dn2ufn ldap_dn2ufnA
-#define ldap_ufn2dn ldap_ufn2dnA
-#define ldap_explode_dn ldap_explode_dnA
-#define ldap_get_dn ldap_get_dnA
-#define ldap_modrdn ldap_modrdnA
-#define ldap_modrdn_s ldap_modrdn_sA
-#define ldap_modrdn2 ldap_modrdn2A
-#define ldap_modrdn2_s ldap_modrdn2_sA
-#define ldap_rename ldap_rename_extA
-#define ldap_rename_s ldap_rename_ext_sA
-#define ldap_rename_ext ldap_rename_extA
-#define ldap_rename_ext_s ldap_rename_ext_sA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <poppack.h>
-
-#endif /* _WINLDAP_H */
Index: Daodan/MinGW/include/winnetwk.h
===================================================================
--- Daodan/MinGW/include/winnetwk.h	(revision 1046)
+++ 	(revision )
@@ -1,350 +1,0 @@
-#ifndef _WINNETWK_H
-#define _WINNETWK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WNNC_NET_MSNET      0x00010000
-#define WNNC_NET_LANMAN     0x00020000
-#define WNNC_NET_NETWARE    0x00030000
-#define WNNC_NET_VINES      0x00040000
-#define WNNC_NET_10NET      0x00050000
-#define WNNC_NET_LOCUS      0x00060000
-#define WNNC_NET_SUN_PC_NFS 0x00070000
-#define WNNC_NET_LANSTEP    0x00080000
-#define WNNC_NET_9TILES     0x00090000
-#define WNNC_NET_LANTASTIC  0x000A0000
-#define WNNC_NET_AS400      0x000B0000
-#define WNNC_NET_FTP_NFS    0x000C0000
-#define WNNC_NET_PATHWORKS  0x000D0000
-#define WNNC_NET_LIFENET    0x000E0000
-#define WNNC_NET_POWERLAN   0x000F0000
-#define WNNC_NET_BWNFS      0x00100000
-#define WNNC_NET_COGENT     0x00110000
-#define WNNC_NET_FARALLON	0x00120000
-#define WNNC_NET_APPLETALK	0x00130000
-#define WNNC_NET_INTERGRAPH	0x00140000
-#define WNNC_NET_SYMFONET   0x00150000
-#define WNNC_NET_CLEARCASE  0x00160000
-#define WNNC_NET_FRONTIER   0x00170000
-#define WNNC_NET_BMC        0x00180000
-#define WNNC_NET_DCE        0x00190000
-#define WNNC_NET_AVID       0x001A0000
-#define WNNC_NET_DOCUSPACE  0x001B0000
-#define WNNC_NET_MANGOSOFT  0x001C0000
-#define WNNC_NET_SERNET     0x001D0000
-#define WNNC_NET_DECORB     0x00200000
-#define WNNC_NET_PROTSTOR   0x00210000
-#define WNNC_NET_FJ_REDIR   0x00220000
-#define WNNC_NET_DISTINCT   0x00230000
-#define WNNC_NET_TWINS      0x00240000
-#define WNNC_NET_RDR2SAMPLE 0x00250000
-#define WNNC_NET_CSC        0x00260000
-#define WNNC_NET_3IN1       0x00270000
-#define WNNC_NET_EXTENDNET  0x00290000
-#define WNNC_NET_OBJECT_DIRE 0x00300000
-#define WNNC_NET_MASFAX     0x00310000
-#define WNNC_NET_HOB_NFS    0x00320000
-#define WNNC_NET_SHIVA      0x00330000
-#define WNNC_NET_IBMAL      0x00340000
-#define WNNC_CRED_MANAGER   0xFFFF0000
-
-#define RESOURCE_CONNECTED 1
-#define RESOURCE_GLOBALNET 2
-#define RESOURCE_REMEMBERED 3
-#define RESOURCE_RECENT 4
-#define RESOURCE_CONTEXT 5
-#define RESOURCETYPE_ANY 0
-#define RESOURCETYPE_DISK 1
-#define RESOURCETYPE_PRINT 2
-#define RESOURCETYPE_RESERVED 8
-#define RESOURCETYPE_UNKNOWN        0xFFFFFFFF
-#define RESOURCEUSAGE_CONNECTABLE   0x00000001
-#define RESOURCEUSAGE_CONTAINER     0x00000002
-#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
-#define RESOURCEUSAGE_SIBLING       0x00000008
-#define RESOURCEUSAGE_ATTACHED      0x00000010
-#define RESOURCEUSAGE_ALL           (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
-#define RESOURCEUSAGE_RESERVED      0x80000000
-#define RESOURCEDISPLAYTYPE_GENERIC 0
-#define RESOURCEDISPLAYTYPE_DOMAIN 1
-#define RESOURCEDISPLAYTYPE_SERVER 2
-#define RESOURCEDISPLAYTYPE_SHARE 3
-#define RESOURCEDISPLAYTYPE_FILE 4
-#define RESOURCEDISPLAYTYPE_GROUP 5
-#define RESOURCEDISPLAYTYPE_NETWORK 6
-#define RESOURCEDISPLAYTYPE_ROOT 7
-#define RESOURCEDISPLAYTYPE_SHAREADMIN 8
-#define RESOURCEDISPLAYTYPE_DIRECTORY 9
-#define RESOURCEDISPLAYTYPE_TREE 10
-#define NETPROPERTY_PERSISTENT 1
-#define CONNECT_UPDATE_PROFILE 1
-#define CONNECT_UPDATE_RECENT 2
-#define CONNECT_TEMPORARY 4
-#define CONNECT_INTERACTIVE 8
-#define CONNECT_PROMPT 16
-#define CONNECT_NEED_DRIVE 32
-#define CONNECT_REFCOUNT 64
-#define CONNECT_REDIRECT 128
-#define CONNECT_LOCALDRIVE 256
-#define CONNECT_CURRENT_MEDIA 512
-#define CONNDLG_RO_PATH 1
-#define CONNDLG_CONN_POINT 2
-#define CONNDLG_USE_MRU 4
-#define CONNDLG_HIDE_BOX 8
-#define CONNDLG_PERSIST 16
-#define CONNDLG_NOT_PERSIST 32
-#define DISC_UPDATE_PROFILE 1
-#define DISC_NO_FORCE 64
-#define WNFMT_MULTILINE 1
-#define WNFMT_ABBREVIATED 2
-#define WNFMT_INENUM 16
-#define WNFMT_CONNECTION 32
-#define WN_SUCCESS NO_ERROR
-#define WN_NO_ERROR NO_ERROR
-#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
-#define WN_CANCEL ERROR_CANCELLED
-#define WN_RETRY ERROR_RETRY
-#define WN_NET_ERROR ERROR_UNEXP_NET_ERR
-#define WN_MORE_DATA ERROR_MORE_DATA
-#define WN_BAD_POINTER ERROR_INVALID_ADDRESS
-#define WN_BAD_VALUE ERROR_INVALID_PARAMETER
-#define WN_BAD_USER ERROR_BAD_USERNAME
-#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
-#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
-#define WN_FUNCTION_BUSY ERROR_BUSY
-#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
-#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
-#define WN_NO_NETWORK ERROR_NO_NETWORK
-#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
-#define WN_BAD_LEVEL ERROR_INVALID_LEVEL
-#define WN_BAD_HANDLE ERROR_INVALID_HANDLE
-#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
-#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
-#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
-#define WN_OPEN_FILES ERROR_OPEN_FILES
-#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
-#define WN_BAD_NETNAME ERROR_BAD_NET_NAME
-#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
-#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
-#define WN_DEVICE_ERROR ERROR_GEN_FAILURE
-#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
-#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
-#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
-#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
-#define WN_BAD_PROFILE ERROR_BAD_PROFILE
-#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
-#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
-#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
-#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
-#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
-#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
-#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
-#define UNIVERSAL_NAME_INFO_LEVEL 1
-#define REMOTE_NAME_INFO_LEVEL 2
-#define NETINFO_DLL16 1
-#define NETINFO_DISKRED 4
-#define NETINFO_PRINTERRED 8
-#define RP_LOGON 1
-#define RP_INIFILE 2
-#define PP_DISPLAYERRORS 1
-#define WNCON_FORNETCARD 1
-#define WNCON_NOTROUTED 2
-#define WNCON_SLOWLINK 4
-#define WNCON_DYNAMIC 8
-
-#ifndef RC_INVOKED
-typedef struct _NETRESOURCEA {
-	DWORD dwScope;
-	DWORD dwType;
-	DWORD dwDisplayType;
-	DWORD dwUsage;
-	LPSTR lpLocalName;
-	LPSTR lpRemoteName;
-	LPSTR lpComment ;
-	LPSTR lpProvider;
-}NETRESOURCEA,*LPNETRESOURCEA;
-typedef struct _NETRESOURCEW {
-	DWORD dwScope;
-	DWORD dwType;
-	DWORD dwDisplayType;
-	DWORD dwUsage;
-	LPWSTR lpLocalName;
-	LPWSTR lpRemoteName;
-	LPWSTR lpComment ;
-	LPWSTR lpProvider;
-}NETRESOURCEW,*LPNETRESOURCEW;
-typedef struct _CONNECTDLGSTRUCTA{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPNETRESOURCEA lpConnRes;
-	DWORD dwFlags;
-	DWORD dwDevNum;
-} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
-typedef struct _CONNECTDLGSTRUCTW{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPNETRESOURCEW lpConnRes;
-	DWORD dwFlags;
-	DWORD dwDevNum;
-} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
-typedef struct _DISCDLGSTRUCTA{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPSTR lpLocalName;
-	LPSTR lpRemoteName;
-	DWORD dwFlags;
-} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
-typedef struct _DISCDLGSTRUCTW{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPWSTR lpLocalName;
-	LPWSTR lpRemoteName;
-	DWORD dwFlags;
-} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
-typedef struct _UNIVERSAL_NAME_INFOA { LPSTR lpUniversalName; }UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
-typedef struct _UNIVERSAL_NAME_INFOW { LPWSTR lpUniversalName; }UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
-typedef struct _REMOTE_NAME_INFOA {
-	LPSTR lpUniversalName;
-	LPSTR lpConnectionName;
-	LPSTR lpRemainingPath;
-}REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
-typedef struct _REMOTE_NAME_INFOW {
-	LPWSTR lpUniversalName;
-	LPWSTR lpConnectionName;
-	LPWSTR lpRemainingPath;
-}REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
-typedef struct _NETINFOSTRUCT{
-	DWORD cbStructure;
-	DWORD dwProviderVersion;
-	DWORD dwStatus;
-	DWORD dwCharacteristics;
-	DWORD dwHandle;
-	WORD wNetType;
-	DWORD dwPrinters;
-	DWORD dwDrives;
-} NETINFOSTRUCT,*LPNETINFOSTRUCT;
-typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT);
-typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
-typedef struct _NETCONNECTINFOSTRUCT{
-	DWORD cbStructure;
-	DWORD dwFlags;
-	DWORD dwSpeed;
-	DWORD dwDelay;
-	DWORD dwOptDataSize;
-} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
-
-DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
-DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL);
-DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL);
-DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
-DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
-DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID);
-DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
-DWORD APIENTRY WNetConnectionDialog(HWND,DWORD);
-DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD);
-DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
-DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
-DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
-DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
-DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
-DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
-DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetCloseEnum(HANDLE);
-DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
-DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*);
-DWORD APIENTRY WNetGetResourceParentA(LPNETRESOURCEA,LPVOID,LPDWORD);
-DWORD APIENTRY WNetGetResourceParentW(LPNETRESOURCEW,LPVOID,LPDWORD);
-DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
-DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
-DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
-DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
-#ifdef UNICODE
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
-typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-#define WNetEnumResource WNetEnumResourceW
-#define WNetOpenEnum WNetOpenEnumW
-#define WNetGetResourceInformation WNetGetResourceInformationW
-#define WNetGetResourceParent WNetGetResourceParentW
-#define WNetGetUniversalName WNetGetUniversalNameW
-#define WNetSetConnection WNetSetConnectionW
-#define WNetUseConnection WNetUseConnectionW
-#define WNetGetConnection WNetGetConnectionW
-#define WNetCancelConnection2 WNetCancelConnection2W
-#define WNetCancelConnection WNetCancelConnectionW
-#define WNetAddConnection3 WNetAddConnection3W
-#define WNetAddConnection2 WNetAddConnection2W
-#define WNetAddConnection WNetAddConnectionW
-#define WNetConnectionDialog1 WNetConnectionDialog1W
-#define WNetDisconnectDialog1 WNetDisconnectDialog1W
-#define WNetGetNetworkInformation WNetGetNetworkInformationW
-#define WNetGetProviderName WNetGetProviderNameW
-#define WNetGetUser WNetGetUserW
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
-#define WNetGetLastError WNetGetLastErrorW
-#else
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
-typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-#define WNetOpenEnum WNetOpenEnumA
-#define WNetEnumResource WNetEnumResourceA
-#define WNetGetResourceInformation WNetGetResourceInformationA
-#define WNetGetResourceParent WNetGetResourceParentA
-#define WNetGetUniversalName WNetGetUniversalNameA
-#define WNetConnectionDialog1 WNetConnectionDialog1A
-#define WNetDisconnectDialog1 WNetDisconnectDialog1A
-#define WNetAddConnection2 WNetAddConnection2A
-#define WNetAddConnection3 WNetAddConnection3A
-#define WNetCancelConnection WNetCancelConnectionA
-#define WNetCancelConnection2 WNetCancelConnection2A
-#define WNetGetConnection WNetGetConnectionA
-#define WNetUseConnection WNetUseConnectionA
-#define WNetSetConnection WNetSetConnectionA
-#define WNetAddConnection WNetAddConnectionA
-#define WNetGetUser WNetGetUserA
-#define WNetGetProviderName WNetGetProviderNameA
-#define WNetGetNetworkInformation WNetGetNetworkInformationA
-#define WNetGetLastError WNetGetLastErrorA
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winnls.h
===================================================================
--- Daodan/MinGW/include/winnls.h	(revision 1046)
+++ 	(revision )
@@ -1,737 +1,0 @@
-#ifndef _WINNLS_H
-#define _WINNLS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINBASEAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINBASEAPI DECLSPEC_IMPORT
-#else
-#define WINBASEAPI
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAX_LEADBYTES 	12
-#define MAX_DEFAULTCHAR	2
-#define LOCALE_NOUSEROVERRIDE	0x80000000
-#define LOCALE_USE_CP_ACP	0x40000000
-#if (WINVER >= 0x0400)
-#define LOCALE_RETURN_NUMBER	0x20000000
-#endif
-#define LOCALE_ILANGUAGE	1
-#define LOCALE_SLANGUAGE	2
-#define LOCALE_SENGLANGUAGE	0x1001
-#define LOCALE_SABBREVLANGNAME	3
-#define LOCALE_SNATIVELANGNAME	4
-#define LOCALE_ICOUNTRY	5
-#define LOCALE_SCOUNTRY	6
-#define LOCALE_SENGCOUNTRY	0x1002
-#define LOCALE_SABBREVCTRYNAME	7
-#define LOCALE_SNATIVECTRYNAME	8
-#define LOCALE_IDEFAULTLANGUAGE	9
-#define LOCALE_IDEFAULTCOUNTRY	10
-#define LOCALE_IDEFAULTCODEPAGE	11
-#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
-#define LOCALE_SLIST	12
-#define LOCALE_IMEASURE	13
-#define LOCALE_SDECIMAL	14
-#define LOCALE_STHOUSAND	15
-#define LOCALE_SGROUPING	16
-#define LOCALE_IDIGITS	17
-#define LOCALE_ILZERO	18
-#define LOCALE_INEGNUMBER	0x1010
-#define LOCALE_SNATIVEDIGITS	19
-#define LOCALE_SCURRENCY	20
-#define LOCALE_SINTLSYMBOL	21
-#define LOCALE_SMONDECIMALSEP	22
-#define LOCALE_SMONTHOUSANDSEP	23
-#define LOCALE_SMONGROUPING	24
-#define LOCALE_ICURRDIGITS	25
-#define LOCALE_IINTLCURRDIGITS	26
-#define LOCALE_ICURRENCY	27
-#define LOCALE_INEGCURR	28
-#define LOCALE_SDATE	29
-#define LOCALE_STIME	30
-#define LOCALE_SSHORTDATE	31
-#define LOCALE_SLONGDATE	32
-#define LOCALE_STIMEFORMAT	0x1003
-#define LOCALE_IDATE	33
-#define LOCALE_ILDATE	34
-#define LOCALE_ITIME	35
-#define LOCALE_ITIMEMARKPOSN	0x1005
-#define LOCALE_ICENTURY	36
-#define LOCALE_ITLZERO	37
-#define LOCALE_IDAYLZERO	38
-#define LOCALE_IMONLZERO	39
-#define LOCALE_S1159	40
-#define LOCALE_S2359	41
-#define LOCALE_ICALENDARTYPE	0x1009
-#define LOCALE_IOPTIONALCALENDAR	0x100B
-#define LOCALE_IFIRSTDAYOFWEEK	0x100C
-#define LOCALE_IFIRSTWEEKOFYEAR	0x100D
-#define LOCALE_SDAYNAME1	42
-#define LOCALE_SDAYNAME2	43
-#define LOCALE_SDAYNAME3	44
-#define LOCALE_SDAYNAME4	45
-#define LOCALE_SDAYNAME5	46
-#define LOCALE_SDAYNAME6	47
-#define LOCALE_SDAYNAME7	48
-#define LOCALE_SABBREVDAYNAME1	49
-#define LOCALE_SABBREVDAYNAME2	50
-#define LOCALE_SABBREVDAYNAME3	51
-#define LOCALE_SABBREVDAYNAME4	52
-#define LOCALE_SABBREVDAYNAME5	53
-#define LOCALE_SABBREVDAYNAME6	54
-#define LOCALE_SABBREVDAYNAME7	55
-#define LOCALE_SMONTHNAME1	56
-#define LOCALE_SMONTHNAME2	57
-#define LOCALE_SMONTHNAME3	58
-#define LOCALE_SMONTHNAME4	59
-#define LOCALE_SMONTHNAME5	60
-#define LOCALE_SMONTHNAME6	61
-#define LOCALE_SMONTHNAME7	62
-#define LOCALE_SMONTHNAME8	63
-#define LOCALE_SMONTHNAME9	64
-#define LOCALE_SMONTHNAME10	65
-#define LOCALE_SMONTHNAME11	66
-#define LOCALE_SMONTHNAME12	67
-#define LOCALE_SMONTHNAME13	0x100E
-#define LOCALE_SABBREVMONTHNAME1	68
-#define LOCALE_SABBREVMONTHNAME2	69
-#define LOCALE_SABBREVMONTHNAME3	70
-#define LOCALE_SABBREVMONTHNAME4	71
-#define LOCALE_SABBREVMONTHNAME5	72
-#define LOCALE_SABBREVMONTHNAME6	73
-#define LOCALE_SABBREVMONTHNAME7	74
-#define LOCALE_SABBREVMONTHNAME8	75
-#define LOCALE_SABBREVMONTHNAME9	76
-#define LOCALE_SABBREVMONTHNAME10	77
-#define LOCALE_SABBREVMONTHNAME11	78
-#define LOCALE_SABBREVMONTHNAME12	79
-#define LOCALE_SABBREVMONTHNAME13	0x100F
-#define LOCALE_SPOSITIVESIGN	80
-#define LOCALE_SNEGATIVESIGN	81
-#define LOCALE_IPOSSIGNPOSN	82
-#define LOCALE_INEGSIGNPOSN	83
-#define LOCALE_IPOSSYMPRECEDES	84
-#define LOCALE_IPOSSEPBYSPACE	85
-#define LOCALE_INEGSYMPRECEDES	86
-#define LOCALE_INEGSEPBYSPACE	87
-#define LOCALE_FONTSIGNATURE	88
-#define LOCALE_SISO639LANGNAME 89
-#define LOCALE_SISO3166CTRYNAME 90
-#define LOCALE_SYSTEM_DEFAULT	0x800
-#define LOCALE_USER_DEFAULT	0x400
-#define NORM_IGNORECASE	1
-#define NORM_IGNOREKANATYPE	65536
-#define NORM_IGNORENONSPACE	2
-#define NORM_IGNORESYMBOLS	4
-#define NORM_IGNOREWIDTH	131072
-#define SORT_STRINGSORT	4096
-#define LCMAP_LOWERCASE 0x00000100
-#define LCMAP_UPPERCASE 0x00000200
-#define LCMAP_SORTKEY 0x00000400
-#define LCMAP_BYTEREV 0x00000800
-#define LCMAP_HIRAGANA 0x00100000
-#define LCMAP_KATAKANA 0x00200000
-#define LCMAP_HALFWIDTH 0x00400000
-#define LCMAP_FULLWIDTH 0x00800000
-#define LCMAP_LINGUISTIC_CASING 0x01000000
-#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
-#define LCMAP_TRADITIONAL_CHINESE 0x04000000
-#define ENUM_ALL_CALENDARS (-1)
-#define DATE_SHORTDATE 1
-#define DATE_LONGDATE 2
-#define DATE_USE_ALT_CALENDAR 4
-#define CP_INSTALLED 1
-#define CP_SUPPORTED 2
-#define LCID_INSTALLED 1
-#define LCID_SUPPORTED 2
-#define LCID_ALTERNATE_SORTS 4
-#define MAP_FOLDCZONE 16
-#define MAP_FOLDDIGITS 128
-#define MAP_PRECOMPOSED 32
-#define MAP_COMPOSITE 64
-#define CP_ACP 0
-#define CP_OEMCP 1
-#define CP_MACCP 2
-#define CP_THREAD_ACP 3
-#define CP_SYMBOL 42
-#define CP_UTF7 65000
-#define CP_UTF8 65001
-#define CT_CTYPE1 1
-#define CT_CTYPE2 2
-#define CT_CTYPE3 4
-#define C1_UPPER 1
-#define C1_LOWER 2
-#define C1_DIGIT 4
-#define C1_SPACE 8
-#define C1_PUNCT 16
-#define C1_CNTRL 32
-#define C1_BLANK 64
-#define C1_XDIGIT 128
-#define C1_ALPHA 256
-#define C2_LEFTTORIGHT 1
-#define C2_RIGHTTOLEFT 2
-#define C2_EUROPENUMBER 3
-#define C2_EUROPESEPARATOR 4
-#define C2_EUROPETERMINATOR 5
-#define C2_ARABICNUMBER 6
-#define C2_COMMONSEPARATOR 7
-#define C2_BLOCKSEPARATOR 8
-#define C2_SEGMENTSEPARATOR 9
-#define C2_WHITESPACE 10
-#define C2_OTHERNEUTRAL 11
-#define C2_NOTAPPLICABLE 0
-#define C3_NONSPACING 1
-#define C3_DIACRITIC 2
-#define C3_VOWELMARK 4
-#define C3_SYMBOL 8
-#define C3_KATAKANA 16
-#define C3_HIRAGANA 32
-#define C3_HALFWIDTH 64
-#define C3_FULLWIDTH 128
-#define C3_IDEOGRAPH 256
-#define C3_KASHIDA 512
-#define C3_LEXICAL 1024
-#define C3_ALPHA 32768
-#define C3_NOTAPPLICABLE 0
-#define TIME_NOMINUTESORSECONDS 1
-#define TIME_NOSECONDS 2
-#define TIME_NOTIMEMARKER 4
-#define TIME_FORCE24HOURFORMAT 8
-#define MB_PRECOMPOSED 1
-#define MB_COMPOSITE 2
-#define MB_ERR_INVALID_CHARS 8
-#define MB_USEGLYPHCHARS 4
-#define WC_COMPOSITECHECK 512
-#define WC_DISCARDNS 16
-#define WC_SEPCHARS 32
-#define WC_DEFAULTCHAR 64
-#define CTRY_DEFAULT 0
-#define CTRY_ALBANIA 355
-#define CTRY_ALGERIA 213
-#define CTRY_ARGENTINA 54
-#define CTRY_ARMENIA 374
-#define CTRY_AUSTRALIA 61
-#define CTRY_AUSTRIA 43
-#define CTRY_AZERBAIJAN 994
-#define CTRY_BAHRAIN 973
-#define CTRY_BELARUS 375
-#define CTRY_BELGIUM 32
-#define CTRY_BELIZE 501
-#define CTRY_BOLIVIA 591
-#define CTRY_BRAZIL 55
-#define CTRY_BRUNEI_DARUSSALAM 673
-#define CTRY_BULGARIA 359
-#define CTRY_CANADA 2
-#define CTRY_CARIBBEAN 1
-#define CTRY_CHILE 56
-#define CTRY_COLOMBIA 57
-#define CTRY_COSTA_RICA 506
-#define CTRY_CROATIA 385
-#define CTRY_CZECH 420
-#define CTRY_DENMARK 45
-#define CTRY_DOMINICAN_REPUBLIC 1
-#define CTRY_ECUADOR 593
-#define CTRY_EGYPT 20
-#define CTRY_EL_SALVADOR 503
-#define CTRY_ESTONIA 372
-#define CTRY_FAEROE_ISLANDS 298
-#define CTRY_FINLAND 358
-#define CTRY_FRANCE 33
-#define CTRY_GEORGIA 995
-#define CTRY_GERMANY 49
-#define CTRY_GREECE 30
-#define CTRY_GUATEMALA 502
-#define CTRY_HONDURAS 504
-#define CTRY_HONG_KONG 852
-#define CTRY_HUNGARY 36
-#define CTRY_ICELAND 354
-#define CTRY_INDIA 91
-#define CTRY_INDONESIA 62
-#define CTRY_IRAN 981
-#define CTRY_IRAQ 964
-#define CTRY_IRELAND 353
-#define CTRY_ISRAEL 972
-#define CTRY_ITALY 39
-#define CTRY_JAMAICA 1
-#define CTRY_JAPAN 81
-#define CTRY_JORDAN 962
-#define CTRY_KAZAKSTAN 7
-#define CTRY_KENYA 254
-#define CTRY_KUWAIT 965
-#define CTRY_KYRGYZSTAN 996
-#define CTRY_LATVIA 371
-#define CTRY_LEBANON 961
-#define CTRY_LIBYA 218
-#define CTRY_LIECHTENSTEIN 41
-#define CTRY_LITHUANIA 370
-#define CTRY_LUXEMBOURG 352
-#define CTRY_MACAU 853
-#define CTRY_MACEDONIA 389
-#define CTRY_MALAYSIA 60
-#define CTRY_MALDIVES 960
-#define CTRY_MEXICO 52
-#define CTRY_MONACO 33
-#define CTRY_MONGOLIA 976
-#define CTRY_MOROCCO 212
-#define CTRY_NETHERLANDS 31
-#define CTRY_NEW_ZEALAND 64
-#define CTRY_NICARAGUA 505
-#define CTRY_NORWAY 47
-#define CTRY_OMAN 968
-#define CTRY_PAKISTAN 92
-#define CTRY_PANAMA 507
-#define CTRY_PARAGUAY 595
-#define CTRY_PERU 51
-#define CTRY_PHILIPPINES 63
-#define CTRY_POLAND 48
-#define CTRY_PORTUGAL 351
-#define CTRY_PRCHINA 86
-#define CTRY_PUERTO_RICO 1
-#define CTRY_QATAR 974
-#define CTRY_ROMANIA 40
-#define CTRY_RUSSIA 7
-#define CTRY_SAUDI_ARABIA 966
-#define CTRY_SERBIA 381
-#define CTRY_SINGAPORE 65
-#define CTRY_SLOVAK 421
-#define CTRY_SLOVENIA 386
-#define CTRY_SOUTH_AFRICA 27
-#define CTRY_SOUTH_KOREA 82
-#define CTRY_SPAIN 34
-#define CTRY_SWEDEN 46
-#define CTRY_SWITZERLAND 41
-#define CTRY_SYRIA 963
-#define CTRY_TAIWAN 886
-#define CTRY_TATARSTAN 7
-#define CTRY_THAILAND 66
-#define CTRY_TRINIDAD_Y_TOBAGO 1
-#define CTRY_TUNISIA 216
-#define CTRY_TURKEY 90
-#define CTRY_UAE 971
-#define CTRY_UKRAINE 380
-#define CTRY_UNITED_KINGDOM 44
-#define CTRY_UNITED_STATES 1
-#define CTRY_URUGUAY 598
-#define CTRY_UZBEKISTAN 7
-#define CTRY_VENEZUELA 58
-#define CTRY_VIET_NAM 84
-#define CTRY_YEMEN 967
-#define CTRY_ZIMBABWE 263
-#define CAL_ICALINTVALUE 1
-#define CAL_SCALNAME 2
-#define CAL_IYEAROFFSETRANGE 3
-#define CAL_SERASTRING 4
-#define CAL_SSHORTDATE 5
-#define CAL_SLONGDATE 6
-#define CAL_SDAYNAME1 7
-#define CAL_SDAYNAME2 8
-#define CAL_SDAYNAME3 9
-#define CAL_SDAYNAME4 10
-#define CAL_SDAYNAME5 11
-#define CAL_SDAYNAME6 12
-#define CAL_SDAYNAME7 13
-#define CAL_SABBREVDAYNAME1 14
-#define CAL_SABBREVDAYNAME2 15
-#define CAL_SABBREVDAYNAME3 16
-#define CAL_SABBREVDAYNAME4 17
-#define CAL_SABBREVDAYNAME5 18
-#define CAL_SABBREVDAYNAME6 19
-#define CAL_SABBREVDAYNAME7 20
-#define CAL_SMONTHNAME1 21
-#define CAL_SMONTHNAME2 22
-#define CAL_SMONTHNAME3 23
-#define CAL_SMONTHNAME4 24
-#define CAL_SMONTHNAME5 25
-#define CAL_SMONTHNAME6 26
-#define CAL_SMONTHNAME7 27
-#define CAL_SMONTHNAME8 28
-#define CAL_SMONTHNAME9 29
-#define CAL_SMONTHNAME10 30
-#define CAL_SMONTHNAME11 31
-#define CAL_SMONTHNAME12 32
-#define CAL_SMONTHNAME13 33
-#define CAL_SABBREVMONTHNAME1 34
-#define CAL_SABBREVMONTHNAME2 35
-#define CAL_SABBREVMONTHNAME3 36
-#define CAL_SABBREVMONTHNAME4 37
-#define CAL_SABBREVMONTHNAME5 38
-#define CAL_SABBREVMONTHNAME6 39
-#define CAL_SABBREVMONTHNAME7 40
-#define CAL_SABBREVMONTHNAME8 41
-#define CAL_SABBREVMONTHNAME9 42
-#define CAL_SABBREVMONTHNAME10 43
-#define CAL_SABBREVMONTHNAME11 44
-#define CAL_SABBREVMONTHNAME12 45
-#define CAL_SABBREVMONTHNAME13 46
-#define CAL_GREGORIAN 1
-#define CAL_GREGORIAN_US 2
-#define CAL_JAPAN 3
-#define CAL_TAIWAN 4
-#define CAL_KOREA 5
-#define CAL_HIJRI 6
-#define CAL_THAI 7
-#define CAL_HEBREW 8
-#define CAL_GREGORIAN_ME_FRENCH 9
-#define CAL_GREGORIAN_ARABIC 10
-#define CAL_GREGORIAN_XLIT_ENGLISH 11
-#define CAL_GREGORIAN_XLIT_FRENCH 12
-#define CSTR_LESS_THAN 1
-#define CSTR_EQUAL 2
-#define CSTR_GREATER_THAN 3
-#define LGRPID_INSTALLED 1
-#define LGRPID_SUPPORTED 2
-#define LGRPID_WESTERN_EUROPE 1
-#define LGRPID_CENTRAL_EUROPE 2
-#define LGRPID_BALTIC 3
-#define LGRPID_GREEK 4
-#define LGRPID_CYRILLIC 5
-#define LGRPID_TURKISH 6
-#define LGRPID_JAPANESE 7
-#define LGRPID_KOREAN 8
-#define LGRPID_TRADITIONAL_CHINESE 9
-#define LGRPID_SIMPLIFIED_CHINESE 10
-#define LGRPID_THAI 11
-#define LGRPID_HEBREW 12
-#define LGRPID_ARABIC 13
-#define LGRPID_VIETNAMESE 14
-#define LGRPID_INDIC 15
-#define LGRPID_GEORGIAN 16
-#define LGRPID_ARMENIAN 17
-#define IS_HIGH_SURROGATE(c) (((c) & 0xFC00) == 0xD800)
-#define IS_LOW_SURROGATE(c) (((c) & 0xFC00) == 0xDC00)
-#define IS_SURROGATE_PAIR(hc,lc) (IS_HIGH_SURROGATE(hc) && IS_LOW_SURROGATE(lc))
-#if (WINVER >= 0x0410)
-#define CAL_SYEARMONTH 47
-#define CAL_ITWODIGITYEARMAX 48
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#define LOCALE_SYEARMONTH 0x1006
-#define LOCALE_SENGCURRNAME 0x1007
-#define LOCALE_SNATIVECURRNAME 0x1008
-#define LOCALE_SSORTNAME 0x1013
-#endif /* (WINVER >= 0x0410) */
-#if (WINVER >= 0x0500)
-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
-#define LOCALE_IDIGITSUBSTITUTION 0x1014
-#define LOCALE_IPAPERSIZE 0x100A
-#define DATE_YEARMONTH 8
-#define DATE_LTRREADING 16
-#define DATE_RTLREADING 32
-#define MAP_EXPAND_LIGATURES   0x2000
-#define WC_NO_BEST_FIT_CHARS 1024
-#endif /* (WINVER >= 0x0500) */
-#if (WINVER >= 0x0600)
-/*#define CAL_SSHORTESTDAYNAME1 */
-/*#define CAL_SSHORTESTDAYNAME2 */
-/*#define CAL_SSHORTESTDAYNAME3 */
-/*#define CAL_SSHORTESTDAYNAME4 */
-/*#define CAL_SSHORTESTDAYNAME5 */
-/*#define CAL_SSHORTESTDAYNAME6 */
-/*#define CAL_SSHORTESTDAYNAME7 */
-#define CAL_UMALQURA 23
-/*#define LOCALE_SDURATION */
-/*#define LOCALE_SIETFLANGUAGE */
-/*#define LOCALE_SISO3166CTRYNAME2 */
-/*#define LOCALE_SISO639LANGNAME2 */
-/*#define LOCALE_SKEYBOARDSTOINSTALL */
-/*#define LOCALE_SNAME */
-/*#define LOCALE_SNAN */
-/*#define LOCALE_SNEGINFINITY */
-/*#define LOCALE_SPOSINFINITY */
-/*#define LOCALE_SSCRIPTS */
-#endif /* (WINVER >= 0x0600) */
-#ifndef  _BASETSD_H
-typedef long LONG_PTR;
-#endif
-
-#ifndef RC_INVOKED
-typedef DWORD LCTYPE;
-typedef DWORD CALTYPE;
-typedef DWORD CALID;
-typedef DWORD LGRPID;
-typedef DWORD GEOID;
-typedef DWORD GEOTYPE;
-typedef DWORD GEOCLASS;
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
-
-enum NLS_FUNCTION {
-	COMPARE_STRING = 0x0001
-};
-typedef enum NLS_FUNCTION NLS_FUNCTION;
-enum SYSGEOCLASS {
-	GEOCLASS_NATION = 16,
-	GEOCLASS_REGION = 14
-};
-enum SYSGEOTYPE {
-	GEO_NATION            = 0x0001,
-	GEO_LATITUDE          = 0x0002,
-	GEO_LONGITUDE         = 0x0003,
-	GEO_ISO2              = 0x0004,
-	GEO_ISO3              = 0x0005,
-	GEO_RFC1766           = 0x0006,
-	GEO_LCID              = 0x0007,
-	GEO_FRIENDLYNAME      = 0x0008,
-	GEO_OFFICIALNAME      = 0x0009,
-	GEO_TIMEZONES         = 0x000a,
-	GEO_OFFICIALLANGUAGES = 0x000a
-};
-
-typedef struct _cpinfo {
-	UINT MaxCharSize;
-	BYTE DefaultChar[MAX_DEFAULTCHAR];
-	BYTE LeadByte[MAX_LEADBYTES];
-} CPINFO,*LPCPINFO;
-typedef struct _cpinfoexA {
-	UINT MaxCharSize;
-	BYTE DefaultChar[MAX_DEFAULTCHAR];
-	BYTE LeadByte[MAX_LEADBYTES];
-	WCHAR UnicodeDefaultChar;
-	UINT CodePage;
-	CHAR CodePageName[MAX_PATH];
-} CPINFOEXA,*LPCPINFOEXA;
-typedef struct _cpinfoexW {
-	UINT MaxCharSize;
-	BYTE DefaultChar[MAX_DEFAULTCHAR];
-	BYTE LeadByte[MAX_LEADBYTES];
-	WCHAR UnicodeDefaultChar;
-	UINT CodePage;
-	WCHAR CodePageName[MAX_PATH];
-} CPINFOEXW,*LPCPINFOEXW;
-typedef struct _currencyfmtA {
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPSTR lpDecimalSep;
-	LPSTR lpThousandSep;
-	UINT NegativeOrder;
-	UINT PositiveOrder;
-	LPSTR lpCurrencySymbol;
-} CURRENCYFMTA,*LPCURRENCYFMTA;
-typedef struct _currencyfmtW {
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPWSTR lpDecimalSep;
-	LPWSTR lpThousandSep;
-	UINT NegativeOrder;
-	UINT PositiveOrder;
-	LPWSTR lpCurrencySymbol;
-} CURRENCYFMTW,*LPCURRENCYFMTW;
-typedef struct nlsversioninfo {
-	DWORD dwNLSVersionInfoSize;
-	DWORD dwNLSVersion;
-	DWORD dwDefinedVersion;
-} NLSVERSIONINFO,*LPNLSVERSIONINFO;
-typedef struct _numberfmtA {
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPSTR lpDecimalSep;
-	LPSTR lpThousandSep;
-	UINT NegativeOrder;
-} NUMBERFMTA,*LPNUMBERFMTA;
-typedef struct _numberfmtW {
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPWSTR lpDecimalSep;
-	LPWSTR lpThousandSep;
-	UINT NegativeOrder;
-} NUMBERFMTW,*LPNUMBERFMTW;
-
-WINBASEAPI int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
-WINBASEAPI int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
-WINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemGeoID(GEOCLASS,GEOID,GEO_ENUMPROC);
-WINBASEAPI BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
-WINBASEAPI BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
-WINBASEAPI int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
-WINBASEAPI int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
-WINBASEAPI UINT WINAPI GetACP(void);
-WINBASEAPI int WINAPI GetCalendarInfoA(LCID,CALID,CALTYPE,LPSTR,int,LPDWORD);
-WINBASEAPI int WINAPI GetCalendarInfoW(LCID,CALID,CALTYPE,LPWSTR,int,LPDWORD);
-WINBASEAPI BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
-WINBASEAPI BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
-WINBASEAPI BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
-WINBASEAPI int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
-WINBASEAPI int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
-WINBASEAPI int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-WINBASEAPI int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-WINBASEAPI int WINAPI GetGeoInfoA(GEOID,GEOTYPE,LPSTR,int,LANGID);
-WINBASEAPI int WINAPI GetGeoInfoW(GEOID,GEOTYPE,LPWSTR,int,LANGID);
-WINBASEAPI int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
-WINBASEAPI int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
-WINBASEAPI BOOL WINAPI GetNLSVersion(NLS_FUNCTION,LCID,LPNLSVERSIONINFO);
-WINBASEAPI int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-WINBASEAPI int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-WINBASEAPI UINT WINAPI GetOEMCP(void);
-WINBASEAPI BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
-WINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
-WINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
-WINBASEAPI LCID WINAPI GetThreadLocale(void);
-WINBASEAPI int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-WINBASEAPI int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-WINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
-WINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
-WINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS);
-WINBASEAPI BOOL WINAPI IsDBCSLeadByte(BYTE);
-WINBASEAPI BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
-WINBASEAPI BOOL WINAPI IsNLSDefinedString(NLS_FUNCTION,DWORD,LPNLSVERSIONINFO,LPCWSTR,int);
-WINBASEAPI BOOL WINAPI IsValidCodePage(UINT);
-WINBASEAPI BOOL WINAPI IsValidLocale(LCID,DWORD);
-WINBASEAPI int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
-WINBASEAPI int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
-WINBASEAPI int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
-WINBASEAPI int WINAPI SetCalendarInfoA(LCID,CALID,CALTYPE,LPCSTR);
-WINBASEAPI int WINAPI SetCalendarInfoW(LCID,CALID,CALTYPE,LPCWSTR);
-WINBASEAPI BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
-WINBASEAPI BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
-WINBASEAPI BOOL WINAPI SetThreadLocale(LCID);
-WINBASEAPI BOOL WINAPI SetUserGeoID(GEOID);
-WINBASEAPI int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
-#if (WINVER >= 0x0500)
-WINBASEAPI BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
-WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
-WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
-WINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
-#endif /* (WINVER >= 0x0500) */
-
-#ifdef UNICODE
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-#define CompareString CompareStringW
-#define EnumCalendarInfo EnumCalendarInfoW
-#define EnumSystemCodePages EnumSystemCodePagesW
-#define EnumSystemLocales EnumSystemLocalesW
-#define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringW
-#define GetCalendarInfo GetCalendarInfoW
-#define GetCPInfoEx GetCPInfoExW
-#define GetCurrencyFormat GetCurrencyFormatW
-#define GetDateFormat GetDateFormatW
-#define GetGeoInfo GetGeoInfoW
-#define GetLocaleInfo GetLocaleInfoW
-#define GetNumberFormat GetNumberFormatW
-#define GetStringTypeEx GetStringTypeExW
-#define GetTimeFormat GetTimeFormatW
-#define LCMapString LCMapStringW
-#define SetCalendarInfo  SetCalendarInfoW
-#define SetLocaleInfo SetLocaleInfoW
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExW
-#define EnumDateFormatsEx EnumDateFormatsExW
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
-#define EnumUILanguages EnumUILanguagesW
-#endif /* (WINVER >= 0x0500) */
-#else
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
-typedef CPINFOEXA CPINFOEX;
-typedef LPCPINFOEXA LPCPINFOEX;
-typedef CURRENCYFMTA CURRENCYFMT;
-typedef LPCURRENCYFMTA LPCURRENCYFMT;
-typedef NUMBERFMTA NUMBERFMT;
-typedef LPNUMBERFMTA LPNUMBERFMT;
-#define CompareString CompareStringA
-#define EnumCalendarInfo EnumCalendarInfoA
-#define EnumSystemCodePages EnumSystemCodePagesA
-#define EnumSystemLocales EnumSystemLocalesA
-#define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringA
-#define GetCalendarInfo GetCalendarInfoA
-#define GetCPInfoEx GetCPInfoExA
-#define GetCurrencyFormat GetCurrencyFormatA
-#define GetDateFormat GetDateFormatA
-#define GetGeoInfo GetGeoInfoA
-#define GetLocaleInfo GetLocaleInfoA
-#define GetNumberFormat GetNumberFormatA
-#define GetStringTypeEx GetStringTypeExA
-#define GetTimeFormat GetTimeFormatA
-#define LCMapString LCMapStringA
-#define SetCalendarInfo SetCalendarInfoA
-#define SetLocaleInfo SetLocaleInfoA
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExA
-#define EnumDateFormatsEx EnumDateFormatsExA
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
-#define EnumUILanguages EnumUILanguagesA
-#endif /* (WINVER >= 0x0500) */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winnt.h
===================================================================
--- Daodan/MinGW/include/winnt.h	(revision 1046)
+++ 	(revision )
@@ -1,4324 +1,0 @@
-/*
- * winnt.h
- *
- * Win32-API macros and definitions originating from the WinNT product line.
- *
- * $Id: winnt.h,v 9bdd9bcd51f9 2016/06/04 13:44:52 keithmarshall $
- *
- * Written by Anders Norlander <anorland@hem2.passagen.se>
- * Copyright (C) 1998-2011, 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.
- *
- */
-#ifndef _WINNT_H
-#pragma GCC system_header
-#define _WINNT_H
-
-#include <winerror.h>
-
-#ifndef RC_INVOKED
-#include <string.h>
-
-_BEGIN_C_DECLS
-
-/* FIXME: add more architectures. Is there a way to specify this in GCC? */
-#ifdef _X86_
-#define UNALIGNED
-#else
-#define UNALIGNED
-#endif
-
-#ifndef DECLSPEC_ALIGN
-#ifdef __GNUC__
-#define DECLSPEC_ALIGN(x)   __attribute__((__aligned__(x)))
-#else
-#define DECLSPEC_ALIGN(x)
-#endif
-#endif
-
-#ifndef DECLSPEC_SELECTANY
-#if (__GNUC__ >= 4)
-#define DECLSPEC_SELECTANY  __attribute__((__selectany__))
-#else
-#define DECLSPEC_SELECTANY
-#endif
-#endif
-
-#ifndef FORCEINLINE
-#if (__GNUC__ >= 3)
-#define FORCEINLINE	    __inline__ __attribute__((__always_inline__))
-#else
-#define FORCEINLINE	    __inline__
-#endif
-#endif
-
-#ifndef C_ASSERT
-#define C_ASSERT(expr)  typedef char __C_ASSERT__[(expr)?1:-1]
-#endif
-
-#ifndef VOID
-#define VOID		void
-#endif
-typedef char		CHAR;
-typedef short		SHORT;
-typedef long		LONG;
-typedef char		CCHAR,  *PCCHAR;
-typedef unsigned char   UCHAR,  *PUCHAR;
-typedef unsigned short	USHORT, *PUSHORT;
-typedef unsigned long	ULONG,  *PULONG;
-typedef char		*PSZ;
-
-typedef void		*PVOID, *LPVOID;
-
-/* FIXME for __WIN64 */
-#ifndef __ptr64
-#define __ptr64
-#endif
-typedef void		*__ptr64 PVOID64;
-
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED
-#ifndef _WCHAR_T_
-#define _WCHAR_T_
-#undef __need_wchar_t
-#ifndef __cplusplus
-typedef unsigned short wchar_t;
-#endif
-#endif
-#endif
-
-typedef wchar_t WCHAR;
-typedef WCHAR *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR;
-typedef CONST WCHAR *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR;
-typedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR;
-typedef CONST CHAR *LPCCH, *PCSTR, *LPCSTR;
-#ifndef _TCHAR_DEFINED
-#define _TCHAR_DEFINED
-#ifdef UNICODE
-/*
- * NOTE: This tests UNICODE, which is different from the _UNICODE define
- *       used to differentiate standard C runtime calls.
- */
-typedef WCHAR TCHAR;
-typedef WCHAR _TCHAR;
-#else
-typedef CHAR TCHAR;
-typedef CHAR _TCHAR;
-#endif
-#endif
-typedef TCHAR TBYTE, *PTCH, *PTBYTE;
-typedef TCHAR *LPTCH, *PTSTR, *LPTSTR, *LP, *PTCHAR;
-typedef const TCHAR *LPCTSTR;
-#ifdef UNICODE
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macro TEXT.  DO NOT use this
- * macro within your programs.  It's name and function could change without
- * notice.
- */
-#define __TEXT(q) L##q
-#else
-#define __TEXT(q) q
-#endif
-/*
- * UNICODE a constant string when UNICODE is defined, else returns the string
- * unmodified.
- * The corresponding macros  _TEXT() and _T() for mapping _UNICODE strings
- * passed to C runtime functions are defined in mingw/tchar.h
- */
-#define TEXT(q) 	 __TEXT(q)
-typedef SHORT *PSHORT;
-typedef LONG *PLONG;
-#ifdef STRICT
-typedef void *HANDLE;
-#define DECLARE_HANDLE(n)  typedef struct n##__{int i;}*n
-#else
-typedef PVOID HANDLE;
-#define DECLARE_HANDLE(n)  typedef HANDLE n
-#endif
-typedef HANDLE *PHANDLE, *LPHANDLE;
-typedef DWORD LCID;
-typedef PDWORD PLCID;
-typedef WORD LANGID;
-#ifdef __GNUC__
-#define _HAVE_INT64
-#define _INTEGRAL_MAX_BITS  64
-#undef __int64
-#define __int64 long long
-#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-#define _HAVE_INT64
-#endif /* __GNUC__/__WATCOMC */
-#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-typedef __int64 LONGLONG;
-typedef unsigned __int64 DWORDLONG;
-#else
-typedef double LONGLONG, DWORDLONG;
-#endif
-typedef LONGLONG *PLONGLONG;
-typedef DWORDLONG *PDWORDLONG;
-typedef DWORDLONG ULONGLONG, *PULONGLONG;
-typedef LONGLONG USN;
-#ifdef _HAVE_INT64
-#define Int32x32To64(a,b)		((LONGLONG)(a)*(LONGLONG)(b))
-#define UInt32x32To64(a,b)		((DWORDLONG)(a)*(DWORDLONG)(b))
-#define Int64ShllMod32(a,b)		((DWORDLONG)(a)<<(b))
-#define Int64ShraMod32(a,b)		((LONGLONG)(a)>>(b))
-#define Int64ShrlMod32(a,b)		((DWORDLONG)(a)>>(b))
-#endif
-#define ANSI_NULL				   '\0'
-#define UNICODE_NULL				  L'\0'
-typedef BYTE BOOLEAN, *PBOOLEAN;
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-
-typedef BYTE FCHAR;
-typedef WORD FSHORT;
-typedef DWORD FLONG;
-
-#define NTAPI  __stdcall
-#include <basetsd.h>
-#define ACE_OBJECT_TYPE_PRESENT 		0x00000001
-#define ACE_INHERITED_OBJECT_TYPE_PRESENT	0x00000002
-#define APPLICATION_ERROR_MASK			0x20000000
-#define ERROR_SEVERITY_SUCCESS			0x00000000
-#define ERROR_SEVERITY_INFORMATIONAL		0x40000000
-#define ERROR_SEVERITY_WARNING			0x80000000
-#define ERROR_SEVERITY_ERROR			0xC0000000
-/* also in ddk/ntifs.h */
-#define COMPRESSION_FORMAT_NONE 		   (0x0000)
-#define COMPRESSION_FORMAT_DEFAULT		   (0x0001)
-#define COMPRESSION_FORMAT_LZNT1		   (0x0002)
-#define COMPRESSION_ENGINE_STANDARD		   (0x0000)
-#define COMPRESSION_ENGINE_MAXIMUM		   (0x0100)
-#define COMPRESSION_ENGINE_HIBER		   (0x0200)
-#define ACCESS_ALLOWED_ACE_TYPE 		      (0x0)
-#define ACCESS_DENIED_ACE_TYPE			      (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE			      (0x2)
-#define SYSTEM_ALARM_ACE_TYPE			      (0x3)
-/*end ntifs.h */
-#define ANYSIZE_ARRAY					 1
-#define OBJECT_INHERIT_ACE				 1
-#define CONTAINER_INHERIT_ACE				 2
-#define NO_PROPAGATE_INHERIT_ACE			 4
-#define INHERIT_ONLY_ACE				 8
-#define INHERITED_ACE					16
-
-#define VALID_INHERIT_FLAGS  \
-    OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE | NO_PROPAGATE_INHERIT_ACE | \
-    INHERIT_ONLY_ACE   | INHERITED_ACE
-
-#define SUCCESSFUL_ACCESS_ACE_FLAG			64
-#define FAILED_ACCESS_ACE_FLAG			       128
-#define DELETE					0x00010000L
-#define READ_CONTROL				   0x20000L
-#define WRITE_DAC				   0x40000L
-#define WRITE_OWNER				   0x80000L
-#define SYNCHRONIZE				  0x100000L
-#define STANDARD_RIGHTS_REQUIRED		   0xF0000
-#define STANDARD_RIGHTS_READ			   0x20000
-#define STANDARD_RIGHTS_WRITE			   0x20000
-#define STANDARD_RIGHTS_EXECUTE 		   0x20000
-#define STANDARD_RIGHTS_ALL			  0x1F0000
-#define SPECIFIC_RIGHTS_ALL			    0xFFFF
-#define ACCESS_SYSTEM_SECURITY			 0x1000000
-
-#define MAXIMUM_ALLOWED 			 0x2000000
-#define GENERIC_READ				0x80000000
-#define GENERIC_WRITE				0x40000000
-#define GENERIC_EXECUTE 			0x20000000
-#define GENERIC_ALL				0x10000000
-
-#define INVALID_FILE_ATTRIBUTES 		((DWORD)-1)
-
-/* Also in ddk/winddk.h */
-#define FILE_LIST_DIRECTORY			0x00000001
-#define FILE_READ_DATA				0x00000001
-#define FILE_ADD_FILE				0x00000002
-#define FILE_WRITE_DATA 			0x00000002
-#define FILE_ADD_SUBDIRECTORY			0x00000004
-#define FILE_APPEND_DATA			0x00000004
-#define FILE_CREATE_PIPE_INSTANCE		0x00000004
-#define FILE_READ_EA				0x00000008
-#define FILE_READ_PROPERTIES			0x00000008
-#define FILE_WRITE_EA				0x00000010
-#define FILE_WRITE_PROPERTIES			0x00000010
-#define FILE_EXECUTE				0x00000020
-#define FILE_TRAVERSE				0x00000020
-#define FILE_DELETE_CHILD			0x00000040
-#define FILE_READ_ATTRIBUTES			0x00000080
-#define FILE_WRITE_ATTRIBUTES			0x00000100
-
-#define FILE_SHARE_READ 			0x00000001
-#define FILE_SHARE_WRITE			0x00000002
-#define FILE_SHARE_DELETE			0x00000004
-#define FILE_SHARE_VALID_FLAGS			0x00000007
-
-#define FILE_ATTRIBUTE_READONLY 		0x00000001
-#define FILE_ATTRIBUTE_HIDDEN			0x00000002
-#define FILE_ATTRIBUTE_SYSTEM			0x00000004
-#define FILE_ATTRIBUTE_DIRECTORY		0x00000010
-#define FILE_ATTRIBUTE_ARCHIVE			0x00000020
-#define FILE_ATTRIBUTE_DEVICE			0x00000040
-#define FILE_ATTRIBUTE_NORMAL			0x00000080
-#define FILE_ATTRIBUTE_TEMPORARY		0x00000100
-#define FILE_ATTRIBUTE_SPARSE_FILE		0x00000200
-#define FILE_ATTRIBUTE_REPARSE_POINT		0x00000400
-#define FILE_ATTRIBUTE_COMPRESSED		0x00000800
-#define FILE_ATTRIBUTE_OFFLINE			0x00001000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED	0x00002000
-#define FILE_ATTRIBUTE_ENCRYPTED		0x00004000
-#define FILE_ATTRIBUTE_VIRTUAL			0x00010000
-#define FILE_ATTRIBUTE_VALID_FLAGS		0x00017fb7
-#define FILE_ATTRIBUTE_VALID_SET_FLAGS		0x000031a7
-
-#define FILE_COPY_STRUCTURED_STORAGE		0x00000041
-#define FILE_STRUCTURED_STORAGE 		0x00000441
-
-#define FILE_VALID_OPTION_FLAGS 		0x00ffffff
-#define FILE_VALID_PIPE_OPTION_FLAGS		0x00000032
-#define FILE_VALID_MAILSLOT_OPTION_FLAGS	0x00000032
-#define FILE_VALID_SET_FLAGS			0x00000036
-
-#define FILE_SUPERSEDE				0x00000000
-#define FILE_OPEN				0x00000001
-#define FILE_CREATE				0x00000002
-#define FILE_OPEN_IF				0x00000003
-#define FILE_OVERWRITE				0x00000004
-#define FILE_OVERWRITE_IF			0x00000005
-#define FILE_MAXIMUM_DISPOSITION		0x00000005
-
-#define FILE_DIRECTORY_FILE			0x00000001
-#define FILE_WRITE_THROUGH			0x00000002
-#define FILE_SEQUENTIAL_ONLY			0x00000004
-#define FILE_NO_INTERMEDIATE_BUFFERING		0x00000008
-#define FILE_SYNCHRONOUS_IO_ALERT		0x00000010
-#define FILE_SYNCHRONOUS_IO_NONALERT		0x00000020
-#define FILE_NON_DIRECTORY_FILE 		0x00000040
-#define FILE_CREATE_TREE_CONNECTION		0x00000080
-#define FILE_COMPLETE_IF_OPLOCKED		0x00000100
-#define FILE_NO_EA_KNOWLEDGE			0x00000200
-#define FILE_OPEN_FOR_RECOVERY			0x00000400
-#define FILE_RANDOM_ACCESS			0x00000800
-#define FILE_DELETE_ON_CLOSE			0x00001000
-#define FILE_OPEN_BY_FILE_ID			0x00002000
-#define FILE_OPEN_FOR_BACKUP_INTENT		0x00004000
-#define FILE_NO_COMPRESSION			0x00008000
-#define FILE_RESERVE_OPFILTER			0x00100000
-#define FILE_OPEN_REPARSE_POINT 		0x00200000
-#define FILE_OPEN_NO_RECALL			0x00400000
-#define FILE_OPEN_FOR_FREE_SPACE_QUERY		0x00800000
-
-#define FILE_ALL_ACCESS     ( STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF )
-
-#define FILE_GENERIC_EXECUTE	\
-  ( STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE \
-  )
-#define FILE_GENERIC_READ   \
-  ( STANDARD_RIGHTS_READ    | FILE_READ_DATA       | FILE_READ_ATTRIBUTES  | \
-    FILE_READ_EA	    | SYNCHRONIZE	   \
-  )
-#define FILE_GENERIC_WRITE  \
-  ( STANDARD_RIGHTS_WRITE   | FILE_WRITE_DATA      | FILE_WRITE_ATTRIBUTES | \
-    FILE_WRITE_EA	    | FILE_APPEND_DATA	   | SYNCHRONIZE	   \
-  )
-/* end winddk.h */
-/* also in ddk/ntifs.h */
-#define FILE_NOTIFY_CHANGE_FILE_NAME		0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME		0x00000002
-#define FILE_NOTIFY_CHANGE_NAME 		0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES		0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE 		0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE		0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS		0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION		0x00000040
-#define FILE_NOTIFY_CHANGE_EA			0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY		0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME		0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE		0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 	0x00000800
-#define FILE_NOTIFY_VALID_MASK			0x00000fff
-
-#define FILE_CASE_SENSITIVE_SEARCH		0x00000001
-#define FILE_CASE_PRESERVED_NAMES		0x00000002
-#define FILE_UNICODE_ON_DISK			0x00000004
-#define FILE_PERSISTENT_ACLS			0x00000008
-#define FILE_FILE_COMPRESSION			0x00000010
-#define FILE_VOLUME_QUOTAS			0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES		0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS		0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE		0x00000100
-#define FS_LFN_APIS				0x00004000
-#define FILE_VOLUME_IS_COMPRESSED		0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS		0x00010000
-#define FILE_SUPPORTS_ENCRYPTION		0x00020000
-#define FILE_NAMED_STREAMS			0x00040000
-#define FILE_READ_ONLY_VOLUME			0x00080000
-#define FILE_SEQUENTIAL_WRITE_ONCE		0x00100000
-#define FILE_SUPPORTS_TRANSACTIONS		0x00200000
-/* Note: These flags only have a meaning starting with Windows 7/2008 R2.
-   Their absence on older OSes does NOT mean that a filesystem is missing
-   that property. */
-#define FILE_SUPPORTS_HARD_LINKS		0x00400000
-#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES	0x00800000
-#define FILE_SUPPORTS_OPEN_BY_FILE_ID		0x01000000
-#define FILE_SUPPORTS_USN_JOURNAL		0x02000000
-
-
-#define IO_COMPLETION_QUERY_STATE		    0x0001
-#define IO_COMPLETION_MODIFY_STATE		    0x0002
-#define IO_COMPLETION_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-/* end ntifs.h */
-
-/* also in ddk/winddk.h */
-#define DUPLICATE_CLOSE_SOURCE			0x00000001
-#define DUPLICATE_SAME_ACCESS			0x00000002
-#define DUPLICATE_SAME_ATTRIBUTES		0x00000004
-/* end winddk.k */
-
-#define MAILSLOT_NO_MESSAGE			((DWORD)-1)
-#define MAILSLOT_WAIT_FOREVER			((DWORD)-1)
-#define PROCESS_TERMINATE				 1
-#define PROCESS_CREATE_THREAD				 2
-#define PROCESS_SET_SESSIONID				 4
-#define PROCESS_VM_OPERATION				 8
-#define PROCESS_VM_READ 				16
-#define PROCESS_VM_WRITE				32
-#define PROCESS_DUP_HANDLE				64
-#define PROCESS_CREATE_PROCESS			       128
-#define PROCESS_SET_QUOTA			       256
-#define PROCESS_SUSPEND_RESUME			    0x0800
-#define PROCESS_SET_INFORMATION 		       512
-#define PROCESS_QUERY_INFORMATION		      1024
-#define PROCESS_QUERY_LIMITED_INFORMATION	    0x1000
-
-#define PROCESS_ALL_ACCESS		(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
-#define THREAD_TERMINATE				 1
-#define THREAD_SUSPEND_RESUME				 2
-#define THREAD_GET_CONTEXT				 8
-#define THREAD_SET_CONTEXT				16
-#define THREAD_SET_INFORMATION				32
-#define THREAD_QUERY_INFORMATION			64
-#define THREAD_SET_THREAD_TOKEN 		       128
-#define THREAD_IMPERSONATE			       256
-#define THREAD_DIRECT_IMPERSONATION		     0x200
-#define THREAD_ALL_ACCESS		(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF)
-#define THREAD_BASE_PRIORITY_LOWRT			15
-#define THREAD_BASE_PRIORITY_MAX			 2
-#define THREAD_BASE_PRIORITY_MIN		       (-2)
-#define THREAD_BASE_PRIORITY_IDLE		      (-15)
-#define EXCEPTION_NONCONTINUABLE			 1
-#define EXCEPTION_MAXIMUM_PARAMETERS			15
-#define MUTANT_QUERY_STATE			    0x0001
-#define MUTANT_ALL_ACCESS		(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
-#define TIMER_QUERY_STATE			    0x0001
-#define TIMER_MODIFY_STATE			    0x0002
-#define TIMER_ALL_ACCESS		(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
-/*
- * To prevent gcc compiler warnings, bracket these defines when initialising
- * a  SID_IDENTIFIER_AUTHORITY, eg.
- * SID_IDENTIFIER_AUTHORITY aNullSidAuthority = {SECURITY_NULL_SID_AUTHORITY};
- */
-#define SECURITY_NULL_SID_AUTHORITY		{0,0,0,0,0,0}
-#define SECURITY_WORLD_SID_AUTHORITY		{0,0,0,0,0,1}
-#define SECURITY_LOCAL_SID_AUTHORITY		{0,0,0,0,0,2}
-#define SECURITY_CREATOR_SID_AUTHORITY		{0,0,0,0,0,3}
-#define SECURITY_NON_UNIQUE_AUTHORITY		{0,0,0,0,0,4}
-#define SECURITY_NT_AUTHORITY			{0,0,0,0,0,5}
-#define SECURITY_MANDATORY_LABEL_AUTHORITY	{0,0,0,0,0,16}
-#define SECURITY_NULL_RID				 0
-#define SECURITY_WORLD_RID			(0x00000000L)
-#define SECURITY_LOCAL_RID				 0
-#define SECURITY_CREATOR_OWNER_RID			 0
-#define SECURITY_CREATOR_GROUP_RID			 1
-#define SECURITY_DIALUP_RID				 1
-#define SECURITY_NETWORK_RID				 2
-#define SECURITY_BATCH_RID				 3
-#define SECURITY_INTERACTIVE_RID			 4
-#define SECURITY_LOGON_IDS_RID				 5
-#define SECURITY_SERVICE_RID				 6
-#define SECURITY_LOCAL_SYSTEM_RID			18
-#define SECURITY_BUILTIN_DOMAIN_RID			32
-#define SECURITY_PRINCIPAL_SELF_RID			10
-#define SECURITY_CREATOR_OWNER_SERVER_RID	       0x2
-#define SECURITY_CREATOR_GROUP_SERVER_RID	       0x3
-#define SECURITY_LOGON_IDS_RID_COUNT		       0x3
-#define SECURITY_ANONYMOUS_LOGON_RID		       0x7
-#define SECURITY_PROXY_RID			       0x8
-#define SECURITY_ENTERPRISE_CONTROLLERS_RID	       0x9
-#define SECURITY_SERVER_LOGON_RID		SECURITY_ENTERPRISE_CONTROLLERS_RID
-#define SECURITY_AUTHENTICATED_USER_RID 	       0xB
-#define SECURITY_RESTRICTED_CODE_RID		       0xC
-#define SECURITY_NT_NON_UNIQUE_RID		      0x15
-#define SID_REVISION					 1
-#if (_WIN32_WINNT >= 0x0600)
-#define SID_HASH_SIZE					32
-#endif
-#define DOMAIN_USER_RID_ADMIN			     0x1F4L
-#define DOMAIN_USER_RID_GUEST			     0x1F5L
-#define DOMAIN_GROUP_RID_ADMINS 		     0x200L
-#define DOMAIN_GROUP_RID_USERS			     0x201L
-#define DOMAIN_ALIAS_RID_ADMINS 		     0x220L
-#define DOMAIN_ALIAS_RID_USERS			     0x221L
-#define DOMAIN_ALIAS_RID_GUESTS 		     0x222L
-#define DOMAIN_ALIAS_RID_POWER_USERS		     0x223L
-#define DOMAIN_ALIAS_RID_ACCOUNT_OPS		     0x224L
-#define DOMAIN_ALIAS_RID_SYSTEM_OPS		     0x225L
-#define DOMAIN_ALIAS_RID_PRINT_OPS		     0x226L
-#define DOMAIN_ALIAS_RID_BACKUP_OPS		     0x227L
-#define DOMAIN_ALIAS_RID_REPLICATOR		     0x228L
-#define DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS	     0x22BL
-#define SECURITY_MANDATORY_UNTRUSTED_RID		 0
-#define SECURITY_MANDATORY_LOW_RID		    0x1000
-#define SECURITY_MANDATORY_MEDIUM_RID		    0x2000
-#define SECURITY_MANDATORY_HIGH_RID		    0x3000
-#define SECURITY_MANDATORY_SYSTEM_RID		    0x4000
-#define SECURITY_MANDATORY_PROTECTED_PROCESS_RID    0x5000
-
-#define SECURITY_MANDATORY_MAXIMUM_USER_RID	SECURITY_MANDATORY_SYSTEM_RID
-#define SE_CREATE_TOKEN_NAME			TEXT("SeCreateTokenPrivilege")
-#define SE_ASSIGNPRIMARYTOKEN_NAME		TEXT("SeAssignPrimaryTokenPrivilege")
-#define SE_LOCK_MEMORY_NAME			TEXT("SeLockMemoryPrivilege")
-#define SE_INCREASE_QUOTA_NAME			TEXT("SeIncreaseQuotaPrivilege")
-#define SE_UNSOLICITED_INPUT_NAME		TEXT("SeUnsolicitedInputPrivilege")
-#define SE_MACHINE_ACCOUNT_NAME 		TEXT("SeMachineAccountPrivilege")
-#define SE_TCB_NAME				TEXT("SeTcbPrivilege")
-#define SE_SECURITY_NAME			TEXT("SeSecurityPrivilege")
-#define SE_TAKE_OWNERSHIP_NAME			TEXT("SeTakeOwnershipPrivilege")
-#define SE_LOAD_DRIVER_NAME			TEXT("SeLoadDriverPrivilege")
-#define SE_SYSTEM_PROFILE_NAME			TEXT("SeSystemProfilePrivilege")
-#define SE_SYSTEMTIME_NAME			TEXT("SeSystemtimePrivilege")
-#define SE_PROF_SINGLE_PROCESS_NAME		TEXT("SeProfileSingleProcessPrivilege")
-#define SE_INC_BASE_PRIORITY_NAME		TEXT("SeIncreaseBasePriorityPrivilege")
-#define SE_CREATE_PAGEFILE_NAME 		TEXT("SeCreatePagefilePrivilege")
-#define SE_CREATE_PERMANENT_NAME		TEXT("SeCreatePermanentPrivilege")
-#define SE_BACKUP_NAME				TEXT("SeBackupPrivilege")
-#define SE_RESTORE_NAME 			TEXT("SeRestorePrivilege")
-#define SE_SHUTDOWN_NAME			TEXT("SeShutdownPrivilege")
-#define SE_DEBUG_NAME				TEXT("SeDebugPrivilege")
-#define SE_AUDIT_NAME				TEXT("SeAuditPrivilege")
-#define SE_SYSTEM_ENVIRONMENT_NAME		TEXT("SeSystemEnvironmentPrivilege")
-#define SE_CHANGE_NOTIFY_NAME			TEXT("SeChangeNotifyPrivilege")
-#define SE_REMOTE_SHUTDOWN_NAME 		TEXT("SeRemoteShutdownPrivilege")
-#define SE_CREATE_GLOBAL_NAME			TEXT("SeCreateGlobalPrivilege")
-#define SE_UNDOCK_NAME				TEXT("SeUndockPrivilege")
-#define SE_MANAGE_VOLUME_NAME			TEXT("SeManageVolumePrivilege")
-#define SE_IMPERSONATE_NAME			TEXT("SeImpersonatePrivilege")
-#define SE_ENABLE_DELEGATION_NAME		TEXT("SeEnableDelegationPrivilege")
-#define SE_SYNC_AGENT_NAME			TEXT("SeSyncAgentPrivilege")
-#define SE_TRUSTED_CREDMAN_ACCESS_NAME		TEXT("SeTrustedCredManAccessPrivilege")
-#define SE_RELABEL_NAME 			TEXT("SeRelabelPrivilege")
-#define SE_INCREASE_WORKING_SET_NAME		TEXT("SeIncreaseWorkingSetPrivilege")
-#define SE_TIME_ZONE_NAME			TEXT("SeTimeZonePrivilege")
-#define SE_CREATE_SYMBOLIC_LINK_NAME		TEXT("SeCreateSymbolicLinkPrivilege")
-#define SE_GROUP_MANDATORY				 1
-#define SE_GROUP_ENABLED_BY_DEFAULT			 2
-#define SE_GROUP_ENABLED				 4
-#define SE_GROUP_OWNER					 8
-#define SE_GROUP_USE_FOR_DENY_ONLY			16
-#define SE_GROUP_INTEGRITY				32
-#define SE_GROUP_INTEGRITY_ENABLED			64
-#define SE_GROUP_LOGON_ID			3221225472U
-#define SE_GROUP_RESOURCE			 536870912
-#define LANG_NEUTRAL				      0x00
-#define LANG_ARABIC				      0x01
-#define LANG_BULGARIAN				      0x02
-#define LANG_CATALAN				      0x03
-#define LANG_CHINESE				      0x04
-#define LANG_CZECH				      0x05
-#define LANG_DANISH				      0x06
-#define LANG_GERMAN				      0x07
-#define LANG_GREEK				      0x08
-#define LANG_ENGLISH				      0x09
-#define LANG_SPANISH				      0x0a
-#define LANG_FINNISH				      0x0b
-#define LANG_FRENCH				      0x0c
-#define LANG_HEBREW				      0x0d
-#define LANG_HUNGARIAN				      0x0e
-#define LANG_ICELANDIC				      0x0f
-#define LANG_ITALIAN				      0x10
-#define LANG_JAPANESE				      0x11
-#define LANG_KOREAN				      0x12
-#define LANG_DUTCH				      0x13
-#define LANG_NORWEGIAN				      0x14
-#define LANG_POLISH				      0x15
-#define LANG_PORTUGUESE 			      0x16
-#define LANG_ROMANIAN				      0x18
-#define LANG_RUSSIAN				      0x19
-#define LANG_CROATIAN				      0x1a
-#define LANG_SERBIAN				      0x1a
-#define LANG_SERBIAN_NEUTRAL			    0x7c1a
-#define LANG_BOSNIAN				      0x1a
-#define LANG_BOSNIAN_NEUTRAL			    0x781a
-#define LANG_SLOVAK				      0x1b
-#define LANG_ALBANIAN				      0x1c
-#define LANG_SWEDISH				      0x1d
-#define LANG_THAI				      0x1e
-#define LANG_TURKISH				      0x1f
-#define LANG_URDU				      0x20
-#define LANG_INDONESIAN 			      0x21
-#define LANG_UKRAINIAN				      0x22
-#define LANG_BELARUSIAN 			      0x23
-#define LANG_SLOVENIAN				      0x24
-#define LANG_ESTONIAN				      0x25
-#define LANG_LATVIAN				      0x26
-#define LANG_LITHUANIAN 			      0x27
-#define LANG_PERSIAN				      0x29
-#define LANG_FARSI				  LANG_PERSIAN
-#define LANG_VIETNAMESE 			      0x2a
-#define LANG_ARMENIAN				      0x2b
-#define LANG_AZERI				      0x2c
-#define LANG_BASQUE				      0x2d
-#define LANG_LOWER_SORBIAN			      0x2e
-#define LANG_UPPER_SORBIAN			      0x2e
-#define LANG_MACEDONIAN 			      0x2f
-#define LANG_TSWANA				      0x32
-#define LANG_XHOSA				      0x34
-#define LANG_ZULU				      0x35
-#define LANG_AFRIKAANS				      0x36
-#define LANG_GEORGIAN				      0x37
-#define LANG_FAEROESE				      0x38
-#define LANG_HINDI				      0x39
-#define LANG_MALTESE				      0x3a
-#define LANG_SAMI				      0x3b
-#define LANG_IRISH				      0x3c
-#define LANG_MALAY				      0x3e
-#define LANG_KAZAK				      0x3f
-#define LANG_KYRGYZ				      0x40
-#define LANG_SWAHILI				      0x41
-#define LANG_UZBEK				      0x43
-#define LANG_TATAR				      0x44
-#define LANG_BENGALI				      0x45
-#define LANG_PUNJABI				      0x46
-#define LANG_GUJARATI				      0x47
-#define LANG_ORIYA				      0x48
-#define LANG_TAMIL				      0x49
-#define LANG_TELUGU				      0x4a
-#define LANG_KANNADA				      0x4b
-#define LANG_MALAYALAM				      0x4c
-#define LANG_ASSAMESE				      0x4d
-#define LANG_MARATHI				      0x4e
-#define LANG_SANSKRIT				      0x4f
-#define LANG_MONGOLIAN				      0x50
-#define LANG_TIBETAN				      0x51
-#define LANG_WELSH				      0x52
-#define LANG_KHMER				      0x53
-#define LANG_LAO				      0x54
-#define LANG_GALICIAN				      0x56
-#define LANG_KONKANI				      0x57
-#define LANG_MANIPURI				      0x58
-#define LANG_SINDHI				      0x59
-#define LANG_SYRIAC				      0x5a
-#define LANG_SINHALESE				      0x5b
-#define LANG_INUKTITUT				      0x5d
-#define LANG_AMHARIC				      0x5e
-#define LANG_TAMAZIGHT				      0x5f
-#define LANG_KASHMIRI				      0x60
-#define LANG_NEPALI				      0x61
-#define LANG_FRISIAN				      0x62
-#define LANG_PASHTO				      0x63
-#define LANG_FILIPINO				      0x64
-#define LANG_DIVEHI				      0x65
-#define LANG_HAUSA				      0x68
-#define LANG_YORUBA				      0x6a
-#define LANG_QUECHUA				      0x6b
-#define LANG_SOTHO				      0x6c
-#define LANG_BASHKIR				      0x6d
-#define LANG_LUXEMBOURGISH			      0x6e
-#define LANG_GREENLANDIC			      0x6f
-#define LANG_IGBO				      0x70
-#define LANG_TIGRIGNA				      0x73
-#define LANG_YI 				      0x78
-#define LANG_MAPUDUNGUN 			      0x7a
-#define LANG_MOHAWK				      0x7c
-#define LANG_BRETON				      0x7e
-#define LANG_INVARIANT				      0x7f
-#define LANG_UIGHUR				      0x80
-#define LANG_MAORI				      0x81
-#define LANG_OCCITAN				      0x82
-#define LANG_CORSICAN				      0x83
-#define LANG_ALSATIAN				      0x84
-#define LANG_YAKUT				      0x85
-#define LANG_KICHE				      0x86
-#define LANG_KINYARWANDA			      0x87
-#define LANG_WOLOF				      0x88
-#define LANG_DARI				      0x8c
-#define LANG_MALAGASY				      0x8d
-#define SUBLANG_NEUTRAL 			      0x00
-#define SUBLANG_DEFAULT 			      0x01
-#define SUBLANG_SYS_DEFAULT			      0x02
-#define SUBLANG_CUSTOM_DEFAULT			      0x03
-#define SUBLANG_CUSTOM_UNSPECIFIED		      0x04
-#define SUBLANG_UI_CUSTOM_DEFAULT		      0x05
-#define SUBLANG_AFRIKAANS_SOUTH_AFRICA		      0x01
-#define SUBLANG_ALBANIAN_ALBANIA		      0x01
-#define SUBLANG_ALSATIAN_FRANCE 		      0x01
-#define SUBLANG_AMHARIC_ETHIOPIA		      0x01
-#define SUBLANG_ARABIC_SAUDI_ARABIA		      0x01
-#define SUBLANG_ARABIC_IRAQ			      0x02
-#define SUBLANG_ARABIC_EGYPT			      0x03
-#define SUBLANG_ARABIC_LIBYA			      0x04
-#define SUBLANG_ARABIC_ALGERIA			      0x05
-#define SUBLANG_ARABIC_MOROCCO			      0x06
-#define SUBLANG_ARABIC_TUNISIA			      0x07
-#define SUBLANG_ARABIC_OMAN			      0x08
-#define SUBLANG_ARABIC_YEMEN			      0x09
-#define SUBLANG_ARABIC_SYRIA			      0x0a
-#define SUBLANG_ARABIC_JORDAN			      0x0b
-#define SUBLANG_ARABIC_LEBANON			      0x0c
-#define SUBLANG_ARABIC_KUWAIT			      0x0d
-#define SUBLANG_ARABIC_UAE			      0x0e
-#define SUBLANG_ARABIC_BAHRAIN			      0x0f
-#define SUBLANG_ARABIC_QATAR			      0x10
-#define SUBLANG_ARMENIAN_ARMENIA		      0x01
-#define SUBLANG_ASSAMESE_INDIA			      0x01
-#define SUBLANG_AZERI_LATIN			      0x01
-#define SUBLANG_AZERI_CYRILLIC			      0x02
-#define SUBLANG_BASHKIR_RUSSIA			      0x01
-#define SUBLANG_BASQUE_BASQUE			      0x01
-#define SUBLANG_BELARUSIAN_BELARUS		      0x01
-#define SUBLANG_BENGALI_INDIA			      0x01
-#define SUBLANG_BENGALI_BANGLADESH		      0x02
-#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN      0x05
-#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC   0x08
-#define SUBLANG_BRETON_FRANCE			      0x01
-#define SUBLANG_BULGARIAN_BULGARIA		      0x01
-#define SUBLANG_CATALAN_CATALAN 		      0x01
-#define SUBLANG_CHINESE_TRADITIONAL		      0x01
-#define SUBLANG_CHINESE_SIMPLIFIED		      0x02
-#define SUBLANG_CHINESE_HONGKONG		      0x03
-#define SUBLANG_CHINESE_SINGAPORE		      0x04
-#define SUBLANG_CHINESE_MACAU			      0x05
-#define SUBLANG_CORSICAN_FRANCE 		      0x01
-#define SUBLANG_CZECH_CZECH_REPUBLIC		      0x01
-#define SUBLANG_CROATIAN_CROATIA		      0x01
-#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN     0x04
-#define SUBLANG_DANISH_DENMARK			      0x01
-#define SUBLANG_DIVEHI_MALDIVES 		      0x01
-#define SUBLANG_DUTCH				      0x01
-#define SUBLANG_DUTCH_BELGIAN			      0x02
-#define SUBLANG_ENGLISH_US			      0x01
-#define SUBLANG_ENGLISH_UK			      0x02
-#define SUBLANG_ENGLISH_AUS			      0x03
-#define SUBLANG_ENGLISH_CAN			      0x04
-#define SUBLANG_ENGLISH_NZ			      0x05
-#if (WINVER >= 0x0600)
-#define SUBLANG_ENGLISH_IRELAND 		      0x06
-#endif
-#define SUBLANG_ENGLISH_EIRE			      0x06
-#define SUBLANG_ENGLISH_SOUTH_AFRICA		      0x07
-#define SUBLANG_ENGLISH_JAMAICA 		      0x08
-#define SUBLANG_ENGLISH_CARIBBEAN		      0x09
-#define SUBLANG_ENGLISH_BELIZE			      0x0a
-#define SUBLANG_ENGLISH_TRINIDAD		      0x0b
-#define SUBLANG_ENGLISH_ZIMBABWE		      0x0c
-#define SUBLANG_ENGLISH_PHILIPPINES		      0x0d
-#define SUBLANG_ENGLISH_INDIA			      0x10
-#define SUBLANG_ENGLISH_MALAYSIA		      0x11
-#define SUBLANG_ENGLISH_SINGAPORE		      0x12
-#define SUBLANG_ESTONIAN_ESTONIA		      0x01
-#define SUBLANG_FAEROESE_FAROE_ISLANDS		      0x01
-#define SUBLANG_FILIPINO_PHILIPPINES		      0x01
-#define SUBLANG_FINNISH_FINLAND 		      0x01
-#define SUBLANG_FRENCH				      0x01
-#define SUBLANG_FRENCH_BELGIAN			      0x02
-#define SUBLANG_FRENCH_CANADIAN 		      0x03
-#define SUBLANG_FRENCH_SWISS			      0x04
-#define SUBLANG_FRENCH_LUXEMBOURG		      0x05
-#define SUBLANG_FRENCH_MONACO			      0x06
-#define SUBLANG_FRISIAN_NETHERLANDS		      0x01
-#define SUBLANG_GALICIAN_GALICIAN		      0x01
-#define SUBLANG_GEORGIAN_GEORGIA		      0x01
-#define SUBLANG_GERMAN				      0x01
-#define SUBLANG_GERMAN_SWISS			      0x02
-#define SUBLANG_GERMAN_AUSTRIAN 		      0x03
-#define SUBLANG_GERMAN_LUXEMBOURG		      0x04
-#define SUBLANG_GERMAN_LIECHTENSTEIN		      0x05
-#define SUBLANG_GREEK_GREECE			      0x01
-#define SUBLANG_GREENLANDIC_GREENLAND		      0x01
-#define SUBLANG_GUJARATI_INDIA			      0x01
-#define SUBLANG_HAUSA_NIGERIA_LATIN		      0x01
-#define SUBLANG_HAUSA_NIGERIA			SUBLANG_HAUSA_NIGERIA_LATIN /* SUBLANG_HAUSA_NIGERIA_LATIN is what MS defines */
-#define SUBLANG_HEBREW_ISRAEL			      0x01
-#define SUBLANG_HINDI_INDIA			      0x01
-#define SUBLANG_HUNGARIAN_HUNGARY		      0x01
-#define SUBLANG_ICELANDIC_ICELAND		      0x01
-#define SUBLANG_IGBO_NIGERIA			      0x01
-#define SUBLANG_INDONESIAN_INDONESIA		      0x01
-#define SUBLANG_INUKTITUT_CANADA		      0x01
-#define SUBLANG_INUKTITUT_CANADA_LATIN		      0x02
-#define SUBLANG_IRISH_IRELAND			      0x02
-#define SUBLANG_ITALIAN 			      0x01
-#define SUBLANG_ITALIAN_SWISS			      0x02
-#define SUBLANG_JAPANESE_JAPAN			      0x01
-#define SUBLANG_KASHMIRI_INDIA			      0x02
-#define SUBLANG_KASHMIRI_SASIA			      0x02
-#define SUBLANG_KAZAK_KAZAKHSTAN		      0x01
-#define SUBLANG_KHMER_CAMBODIA			      0x01
-#define SUBLANG_KICHE_GUATEMALA 		      0x01
-#define SUBLANG_KINYARWANDA_RWANDA		      0x01
-#define SUBLANG_KONKANI_INDIA			      0x01
-#define SUBLANG_KOREAN				      0x01
-#define SUBLANG_KYRGYZ_KYRGYZSTAN		      0x01
-#define SUBLANG_LAO_LAO 			      0x01
-#define SUBLANG_LAO_LAO_PDR			SUBLANG_LAO_LAO /* SUBLANG_LAO_LAO is what MS defines */
-#define SUBLANG_LATVIAN_LATVIA			      0x01
-#if (WINVER >= 0x0600)
-#define SUBLANG_LITHUANIAN_LITHUANIA		      0x01
-#endif
-#define SUBLANG_LITHUANIAN			      0x01
-#define SUBLANG_LOWER_SORBIAN_GERMANY		      0x02
-#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG	      0x01
-#define SUBLANG_MACEDONIAN_MACEDONIA		      0x01
-#define SUBLANG_MALAY_MALAYSIA			      0x01
-#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 	      0x02
-#define SUBLANG_MALAYALAM_INDIA 		      0x01
-#define SUBLANG_MALTESE_MALTA			      0x01
-#define SUBLANG_MAORI_NEW_ZEALAND		      0x01
-#define SUBLANG_MAPUDUNGUN_CHILE		      0x01
-#define SUBLANG_MARATHI_INDIA			      0x01
-#define SUBLANG_MOHAWK_MOHAWK			      0x01
-#define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA	      0x01
-#define SUBLANG_MONGOLIAN_PRC			      0x02
-#define SUBLANG_NEPALI_NEPAL			      0x01
-#define SUBLANG_NEPALI_INDIA			      0x02
-#define SUBLANG_NORWEGIAN_BOKMAL		      0x01
-#define SUBLANG_NORWEGIAN_NYNORSK		      0x02
-#define SUBLANG_OCCITAN_FRANCE			      0x01
-#define SUBLANG_ORIYA_INDIA			      0x01
-#define SUBLANG_PASHTO_AFGHANISTAN		      0x01
-#define SUBLANG_PERSIAN_IRAN			      0x01
-#define SUBLANG_POLISH_POLAND			      0x01
-#define SUBLANG_PORTUGUESE_BRAZILIAN		      0x01
-#if (WINVER >= 0x0600)
-#define SUBLANG_PORTUGUESE_PORTUGAL		      0x02
-#endif
-#define SUBLANG_PORTUGUESE			      0x02
-#define SUBLANG_PUNJABI_INDIA			      0x01
-/* ??? #define SUBLANG_PUNJABI_PAKISTAN		      0x01 ??? */
-#define SUBLANG_QUECHUA_BOLIVIA 		      0x01
-#define SUBLANG_QUECHUA_ECUADOR 		      0x02
-#define SUBLANG_QUECHUA_PERU			      0x03
-#define SUBLANG_ROMANIAN_ROMANIA		      0x01
-/* ??? #define SUBLANG_ROMANIAN_MOLDOVA		      0x01 ??? */
-#define SUBLANG_ROMANSH_SWITZERLAND		      0x01
-#define SUBLANG_RUSSIAN_RUSSIA			      0x01
-#define SUBLANG_SAMI_NORTHERN_NORWAY		      0x01
-#define SUBLANG_SAMI_NORTHERN_SWEDEN		      0x02
-#define SUBLANG_SAMI_NORTHERN_FINLAND		      0x03
-#define SUBLANG_SAMI_LULE_NORWAY		      0x04
-#define SUBLANG_SAMI_LULE_SWEDEN		      0x05
-#define SUBLANG_SAMI_SOUTHERN_NORWAY		      0x06
-#define SUBLANG_SAMI_SOUTHERN_SWEDEN		      0x07
-#define SUBLANG_SAMI_SKOLT_FINLAND		      0x08
-#define SUBLANG_SAMI_INARI_FINLAND		      0x09
-#define SUBLANG_SANSKRIT_INDIA			      0x01
-#define SUBLANG_SERBIAN_LATIN			      0x02
-#define SUBLANG_SERBIAN_CYRILLIC		      0x03
-#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN      0x06
-#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC   0x07
-#define SUBLANG_SINDHI_AFGHANISTAN		      0x02
-#define SUBLANG_SINHALESE_SRI_LANKA		      0x01
-#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA	      0x01
-#define SUBLANG_SLOVAK_SLOVAKIA 		      0x01
-#define SUBLANG_SLOVENIAN_SLOVENIA		      0x01
-#define SUBLANG_SPANISH 			      0x01
-#define SUBLANG_SPANISH_MEXICAN 		      0x02
-#define SUBLANG_SPANISH_MODERN			      0x03
-#define SUBLANG_SPANISH_GUATEMALA		      0x04
-#define SUBLANG_SPANISH_COSTA_RICA		      0x05
-#define SUBLANG_SPANISH_PANAMA			      0x06
-#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC	      0x07
-#define SUBLANG_SPANISH_VENEZUELA		      0x08
-#define SUBLANG_SPANISH_COLOMBIA		      0x09
-#define SUBLANG_SPANISH_PERU			      0x0a
-#define SUBLANG_SPANISH_ARGENTINA		      0x0b
-#define SUBLANG_SPANISH_ECUADOR 		      0x0c
-#define SUBLANG_SPANISH_CHILE			      0x0d
-#define SUBLANG_SPANISH_URUGUAY 		      0x0e
-#define SUBLANG_SPANISH_PARAGUAY		      0x0f
-#define SUBLANG_SPANISH_BOLIVIA 		      0x10
-#define SUBLANG_SPANISH_EL_SALVADOR		      0x11
-#define SUBLANG_SPANISH_HONDURAS		      0x12
-#define SUBLANG_SPANISH_NICARAGUA		      0x13
-#define SUBLANG_SPANISH_PUERTO_RICO		      0x14
-#define SUBLANG_SPANISH_US			      0x15
-#if (WINVER >= 0x0600)
-#define SUBLANG_SWEDISH_SWEDEN			      0x01
-#endif
-#define SUBLANG_SWEDISH 			      0x01
-#define SUBLANG_SWEDISH_FINLAND 		      0x02
-#define SUBLANG_SYRIAC				      0x01
-#define SUBLANG_SYRIAC_SYRIA			SUBLANG_SYRIAC /* SUBLANG_SYRIAC_SYRIA is what MSDN mentions */
-#define SUBLANG_TAJIK_TAJIKISTAN		      0x01
-#define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 	      0x02
-#define SUBLANG_TAMIL_INDIA			      0x01
-#define SUBLANG_TATAR_RUSSIA			      0x01
-#define SUBLANG_TELUGU_INDIA			      0x01
-#define SUBLANG_THAI_THAILAND			      0x01
-#define SUBLANG_TIBETAN_PRC			      0x01
-#define SUBLANG_TIBETAN_BHUTAN			      0x02
-#define SUBLANG_TIGRIGNA_ERITREA		      0x02
-#define SUBLANG_TSWANA_SOUTH_AFRICA		      0x01
-#define SUBLANG_TURKISH_TURKEY			      0x01
-#define SUBLANG_TURKMEN_TURKMENISTAN		      0x01
-#define SUBLANG_UIGHUR_PRC			      0x01
-#define SUBLANG_UKRAINIAN_UKRAINE		      0x01
-#define SUBLANG_UPPER_SORBIAN_GERMANY		      0x01
-#define SUBLANG_URDU_PAKISTAN			      0x01
-#define SUBLANG_URDU_INDIA			      0x02
-#define SUBLANG_UZBEK_LATIN			      0x01
-#define SUBLANG_UZBEK_CYRILLIC			      0x02
-#define SUBLANG_VIETNAMESE_VIETNAM		      0x01
-#define SUBLANG_WELSH_UNITED_KINGDOM		      0x01
-#define SUBLANG_WOLOF_SENEGAL			      0x01
-#define SUBLANG_YORUBA_NIGERIA			      0x01
-#define SUBLANG_XHOSA_SOUTH_AFRICA		      0x01
-#define SUBLANG_YAKUT_RUSSIA			      0x01
-#define SUBLANG_YI_PRC				      0x01
-#define SUBLANG_ZULU_SOUTH_AFRICA		      0x01
-#define NLS_VALID_LOCALE_MASK			   1048575
-#define SORT_DEFAULT					 0
-#define SORT_JAPANESE_XJIS				 0
-#define SORT_JAPANESE_UNICODE				 1
-#define SORT_CHINESE_BIG5				 0
-#define SORT_CHINESE_PRCP				 0
-#define SORT_CHINESE_UNICODE				 1
-#define SORT_CHINESE_PRC				 2
-#define SORT_CHINESE_BOPOMOFO				 3
-#define SORT_KOREAN_KSC 				 0
-#define SORT_KOREAN_UNICODE				 1
-#define SORT_GERMAN_PHONE_BOOK				 1
-#define SORT_HUNGARIAN_DEFAULT				 0
-#define SORT_HUNGARIAN_TECHNICAL			 1
-#define SORT_GEORGIAN_TRADITIONAL			 0
-#define SORT_GEORGIAN_MODERN				 1
-#define MAKELANGID(p,s) 		((((WORD)(s))<<10)|(WORD)(p))
-#define MAKELCID(l,s)			((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l)))))
-#define PRIMARYLANGID(l)		((WORD)(l)&0x3ff)
-#define SORTIDFROMLCID(l)		((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16))
-#define SORTVERSIONFROMLCID(l)		((WORD)((((DWORD)(l))>>20)&0xf))
-#define SUBLANGID(l)			((WORD)(l)>>10)
-#define LANGIDFROMLCID(l)		((WORD)(l))
-#define LANG_SYSTEM_DEFAULT		MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)
-#define LANG_USER_DEFAULT		MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)
-#define LOCALE_NEUTRAL			MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)
-#define ACL_REVISION					 2
-#define ACL_REVISION_DS 				 4
-#define ACL_REVISION1					 1
-#define ACL_REVISION2					 2
-#define ACL_REVISION3					 3
-#define ACL_REVISION4					 4
-#define MIN_ACL_REVISION				 2
-#define MAX_ACL_REVISION				 4
-#define MINCHAR 				      0x80
-#define MAXCHAR 				      0x7f
-#define MINSHORT				    0x8000
-#define MAXSHORT				    0x7fff
-#define MINLONG 				0x80000000
-#define MAXLONG  				0x7fffffff
-#define MAXBYTE 				      0xff
-#define MAXWORD 				    0xffff
-#define MAXDWORD				0xffffffff
-#define PROCESSOR_INTEL_386			       386
-#define PROCESSOR_INTEL_486			       486
-#define PROCESSOR_INTEL_PENTIUM 		       586
-#define PROCESSOR_MIPS_R4000			      4000
-#define PROCESSOR_ALPHA_21064			     21064
-#define PROCESSOR_INTEL_IA64			      2200
-#define PROCESSOR_ARCHITECTURE_INTEL			 0
-#define PROCESSOR_ARCHITECTURE_MIPS			 1
-#define PROCESSOR_ARCHITECTURE_ALPHA			 2
-#define PROCESSOR_ARCHITECTURE_PPC			 3
-#define PROCESSOR_ARCHITECTURE_SHX			 4
-#define PROCESSOR_ARCHITECTURE_ARM			 5
-#define PROCESSOR_ARCHITECTURE_IA64			 6
-#define PROCESSOR_ARCHITECTURE_ALPHA64			 7
-#define PROCESSOR_ARCHITECTURE_MSIL			 8
-#define PROCESSOR_ARCHITECTURE_AMD64			 9
-#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64		10
-#define PROCESSOR_ARCHITECTURE_UNKNOWN		    0xFFFF
-#define PF_FLOATING_POINT_PRECISION_ERRATA		 0
-#define PF_FLOATING_POINT_EMULATED			 1
-#define PF_COMPARE_EXCHANGE_DOUBLE			 2
-#define PF_MMX_INSTRUCTIONS_AVAILABLE			 3
-#define PF_PPC_MOVEMEM_64BIT_OK 			 4
-#define PF_ALPHA_BYTE_INSTRUCTIONS			 5
-#define PF_XMMI_INSTRUCTIONS_AVAILABLE			 6
-#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 		 7
-#define PF_RDTSC_INSTRUCTION_AVAILABLE			 8
-#define PF_PAE_ENABLED					 9
-#define PF_XMMI64_INSTRUCTIONS_AVAILABLE		10
-/* also in ddk/ntifs.h */
-#define FILE_ACTION_ADDED			0x00000001
-#define FILE_ACTION_REMOVED			0x00000002
-#define FILE_ACTION_MODIFIED			0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME		0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME		0x00000005
-#define FILE_ACTION_ADDED_STREAM		0x00000006
-#define FILE_ACTION_REMOVED_STREAM		0x00000007
-#define FILE_ACTION_MODIFIED_STREAM		0x00000008
-#define FILE_ACTION_REMOVED_BY_DELETE		0x00000009
-#define FILE_ACTION_ID_NOT_TUNNELLED		0x0000000A
-#define FILE_ACTION_TUNNELLED_ID_COLLISION	0x0000000B
-/* end ntifs.h */
-#define HEAP_NO_SERIALIZE				 1
-#define HEAP_GROWABLE					 2
-#define HEAP_GENERATE_EXCEPTIONS			 4
-#define HEAP_ZERO_MEMORY				 8
-#define HEAP_REALLOC_IN_PLACE_ONLY			16
-#define HEAP_TAIL_CHECKING_ENABLED			32
-#define HEAP_FREE_CHECKING_ENABLED			64
-#define HEAP_DISABLE_COALESCE_ON_FREE		       128
-#define HEAP_CREATE_ALIGN_16			    0x0000
-#define HEAP_CREATE_ENABLE_TRACING		   0x20000
-#define HEAP_MAXIMUM_TAG			     0xFFF
-#define HEAP_PSEUDO_TAG_FLAG			    0x8000
-#define HEAP_TAG_SHIFT					16
-#define HEAP_MAKE_TAG_FLAGS(b,o)	     ((DWORD)((b)+(o)<<16))
-#define KEY_QUERY_VALUE 				 1
-#define KEY_SET_VALUE					 2
-#define KEY_CREATE_SUB_KEY				 4
-#define KEY_ENUMERATE_SUB_KEYS				 8
-#define KEY_NOTIFY					16
-#define KEY_CREATE_LINK 				32
-#define KEY_WRITE				   0x20006
-#define KEY_EXECUTE				   0x20019
-#define KEY_READ				   0x20019
-#if (_WIN32_WINNT >= 0x0502)
-#define KEY_WOW64_64KEY 			    0x0100
-#define KEY_WOW64_32KEY 			    0x0200
-#endif
-#define KEY_ALL_ACCESS				   0xf003f
-#define REG_WHOLE_HIVE_VOLATILE 			 1
-#define REG_REFRESH_HIVE				 2
-#define REG_NO_LAZY_FLUSH				 4
-#define REG_OPTION_RESERVED				 0
-#define REG_OPTION_NON_VOLATILE 			 0
-#define REG_OPTION_VOLATILE				 1
-#define REG_OPTION_CREATE_LINK				 2
-#define REG_OPTION_BACKUP_RESTORE			 4
-#define REG_OPTION_OPEN_LINK				 8
-#define REG_LEGAL_OPTION				15
-#define OWNER_SECURITY_INFORMATION		0x00000001
-#define GROUP_SECURITY_INFORMATION		0x00000002
-#define DACL_SECURITY_INFORMATION		0x00000004
-#define SACL_SECURITY_INFORMATION		0x00000008
-#define LABEL_SECURITY_INFORMATION		0x00000010
-#define UNPROTECTED_SACL_SECURITY_INFORMATION	0x10000000
-#define UNPROTECTED_DACL_SECURITY_INFORMATION	0x20000000
-#define PROTECTED_SACL_SECURITY_INFORMATION	0x40000000
-#define PROTECTED_DACL_SECURITY_INFORMATION	0x80000000
-#define MAXIMUM_PROCESSORS				32
-#define PAGE_NOACCESS				    0x0001
-#define PAGE_READONLY				    0x0002
-#define PAGE_READWRITE				    0x0004
-#define PAGE_WRITECOPY				    0x0008
-#define PAGE_EXECUTE				    0x0010
-#define PAGE_EXECUTE_READ			    0x0020
-#define PAGE_EXECUTE_READWRITE			    0x0040
-#define PAGE_EXECUTE_WRITECOPY			    0x0080
-#define PAGE_GUARD				    0x0100
-#define PAGE_NOCACHE				    0x0200
-#define PAGE_WRITECOMBINE			    0x0400
-#define MEM_COMMIT				    0x1000
-#define MEM_RESERVE				    0x2000
-#define MEM_DECOMMIT				    0x4000
-#define MEM_RELEASE				    0x8000
-#define MEM_FREE				   0x10000
-#define MEM_PRIVATE				   0x20000
-#define MEM_MAPPED				   0x40000
-#define MEM_RESET				   0x80000
-#define MEM_TOP_DOWN				  0x100000
-#define MEM_WRITE_WATCH 			  0x200000 /* 98/Me */
-#define MEM_PHYSICAL				  0x400000
-#define MEM_4MB_PAGES				0x80000000
-/* also in ddk/ntifs.h */
-#define MEM_IMAGE				SEC_IMAGE
-#define SEC_BASED				0x00200000
-#define SEC_NO_CHANGE				0x00400000
-#define SEC_FILE				0x00800000
-#define SEC_IMAGE				0x01000000
-#define SEC_VLM 				0x02000000
-#define SEC_RESERVE				0x04000000
-#define SEC_COMMIT				0x08000000
-#define SEC_NOCACHE				0x10000000
-/* end ntifs.h */
-#define SECTION_EXTEND_SIZE				16
-#define SECTION_MAP_READ				 4
-#define SECTION_MAP_WRITE				 2
-#define SECTION_QUERY					 1
-#define SECTION_MAP_EXECUTE				 8
-#define SECTION_ALL_ACCESS			   0xf001f
-#define MESSAGE_RESOURCE_UNICODE			 1
-#define RTL_CRITSECT_TYPE				 0
-#define RTL_RESOURCE_TYPE				 1
-/* Also in winddk.h */
-#define FIELD_OFFSET(t,f)		((LONG)&(((t*)0)->f))
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(address, type, field) \
-  ((type*)((PCHAR)(address) - (PCHAR)(&((type *)0)->field)))
-#endif
-/* end winddk.h */
-#define IMAGE_SIZEOF_FILE_HEADER			20
-#define IMAGE_FILE_RELOCS_STRIPPED			 1
-#define IMAGE_FILE_EXECUTABLE_IMAGE			 2
-#define IMAGE_FILE_LINE_NUMS_STRIPPED			 4
-#define IMAGE_FILE_LOCAL_SYMS_STRIPPED			 8
-#define IMAGE_FILE_AGGRESIVE_WS_TRIM			16
-#define IMAGE_FILE_LARGE_ADDRESS_AWARE			32
-#define IMAGE_FILE_BYTES_REVERSED_LO		       128
-#define IMAGE_FILE_32BIT_MACHINE		       256
-#define IMAGE_FILE_DEBUG_STRIPPED		       512
-#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP	      1024
-#define IMAGE_FILE_NET_RUN_FROM_SWAP		      2048
-#define IMAGE_FILE_SYSTEM			      4096
-#define IMAGE_FILE_DLL				      8192
-#define IMAGE_FILE_UP_SYSTEM_ONLY		     16384
-#define IMAGE_FILE_BYTES_REVERSED_HI		     32768
-
-#define IMAGE_FILE_MACHINE_UNKNOWN		    0x0000
-#define IMAGE_FILE_MACHINE_AM33 		    0x01d3 /* Matsushita AM33 */
-#define IMAGE_FILE_MACHINE_AMD64		    0x8664 /* x64 */
-#define IMAGE_FILE_MACHINE_ARM			    0x01c0 /* ARM little endian */
-#define IMAGE_FILE_MACHINE_EBC			    0x0ebc /* EFI byte code */
-#define IMAGE_FILE_MACHINE_I386 		    0x014c /* Intel 386 or later processors and compatible processors */
-#define IMAGE_FILE_MACHINE_IA64 		    0x0200 /* Intel Itanium processor family */
-#define IMAGE_FILE_MACHINE_M32R 		    0x9041 /* Mitsubishi M32R little endian */
-#define IMAGE_FILE_MACHINE_MIPS16		    0x0266 /* MIPS16 */
-#define IMAGE_FILE_MACHINE_MIPSFPU		    0x0366 /* MIPS with FPU */
-#define IMAGE_FILE_MACHINE_MIPSFPU16		    0x0466 /* MIPS16 with FPU */
-#define IMAGE_FILE_MACHINE_POWERPC		    0x01f0 /* Power PC little endian */
-#define IMAGE_FILE_MACHINE_POWERPCFP		    0x01f1 /* Power PC with floating point support */
-#define IMAGE_FILE_MACHINE_R4000		    0x0166 /* MIPS little endian */
-#define IMAGE_FILE_MACHINE_SH3			    0x01a2 /* Hitachi SH3 */
-#define IMAGE_FILE_MACHINE_SH3DSP		    0x01a3 /* Hitachi SH3 DSP */
-#define IMAGE_FILE_MACHINE_SH4			    0x01a6 /* Hitachi SH4 */
-#define IMAGE_FILE_MACHINE_SH5			    0x01a8 /* Hitachi SH5 */
-#define IMAGE_FILE_MACHINE_THUMB		    0x01c2 /* Thumb */
-#define IMAGE_FILE_MACHINE_WCEMIPSV2		    0x0169 /* MIPS little-endian WCE v2 */
-
-#define IMAGE_DOS_SIGNATURE			    0x5A4D
-#define IMAGE_OS2_SIGNATURE			    0x454E
-#define IMAGE_OS2_SIGNATURE_LE			    0x454C
-#define IMAGE_VXD_SIGNATURE			    0x454C
-#define IMAGE_NT_SIGNATURE			0x00004550
-#define IMAGE_NT_OPTIONAL_HDR32_MAGIC		     0x10b
-#define IMAGE_NT_OPTIONAL_HDR64_MAGIC		     0x20b
-#ifdef _WIN64
-#define IMAGE_NT_OPTIONAL_HDR_MAGIC	IMAGE_NT_OPTIONAL_HDR64_MAGIC
-#else
-#define IMAGE_NT_OPTIONAL_HDR_MAGIC	IMAGE_NT_OPTIONAL_HDR32_MAGIC
-#endif
-#define IMAGE_ROM_OPTIONAL_HDR_MAGIC		     0x107
-#define IMAGE_SEPARATE_DEBUG_SIGNATURE		    0x4944
-#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES		16
-#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER		56
-#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER		28
-#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 	       224
-#define IMAGE_SIZEOF_SHORT_NAME 			 8
-#define IMAGE_SIZEOF_SECTION_HEADER			40
-#define IMAGE_SIZEOF_SYMBOL				18
-#define IMAGE_SIZEOF_AUX_SYMBOL 			18
-#define IMAGE_SIZEOF_RELOCATION 			10
-#define IMAGE_SIZEOF_BASE_RELOCATION			 8
-#define IMAGE_SIZEOF_LINENUMBER 			 6
-#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 		60
-#define SIZEOF_RFPO_DATA				16
-
-#define IMAGE_SUBSYSTEM_UNKNOWN 			 0
-#define IMAGE_SUBSYSTEM_NATIVE				 1
-#define IMAGE_SUBSYSTEM_WINDOWS_GUI			 2
-#define IMAGE_SUBSYSTEM_WINDOWS_CUI			 3
-#define IMAGE_SUBSYSTEM_OS2_CUI 			 5  /* Not in PECOFF v8 spec */
-#define IMAGE_SUBSYSTEM_POSIX_CUI			 7
-#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS			 8  /* Not in PECOFF v8 spec */
-#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI			 9
-#define IMAGE_SUBSYSTEM_EFI_APPLICATION 		10
-#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 	11
-#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER		12
-#define IMAGE_SUBSYSTEM_EFI_ROM 			13
-#define IMAGE_SUBSYSTEM_XBOX				14
-
-#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE		0x0040
-#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY	0x0080
-#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT		0x0100
-#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION		0x0200
-#define IMAGE_DLLCHARACTERISTICS_NO_SEH 		0x0400
-#define IMAGE_DLLCHARACTERISTICS_NO_BIND		0x0800
-#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER		0x2000
-#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE	0x8000
-
-/* Keep broken definitions for backward compatibility. */
-#define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE		IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
-#define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY	IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY
-#define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT		IMAGE_DLLCHARACTERISTICS_NX_COMPAT
-
-#define IMAGE_FIRST_SECTION(h)				((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
-#define IMAGE_DIRECTORY_ENTRY_EXPORT			 0
-#define IMAGE_DIRECTORY_ENTRY_IMPORT			 1
-#define IMAGE_DIRECTORY_ENTRY_RESOURCE			 2
-#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 		 3
-#define IMAGE_DIRECTORY_ENTRY_SECURITY			 4
-#define IMAGE_DIRECTORY_ENTRY_BASERELOC 		 5
-#define IMAGE_DIRECTORY_ENTRY_DEBUG			 6
-#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 		 7
-#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE		 7
-#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 		 8
-#define IMAGE_DIRECTORY_ENTRY_TLS			 9
-#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG		10
-#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT		11
-#define IMAGE_DIRECTORY_ENTRY_IAT			12
-#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT		13
-#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR		14
-#define IMAGE_SCN_TYPE_REG				 0
-#define IMAGE_SCN_TYPE_DSECT				 1
-#define IMAGE_SCN_TYPE_NOLOAD				 2
-#define IMAGE_SCN_TYPE_GROUP				 4
-#define IMAGE_SCN_TYPE_NO_PAD				 8
-#define IMAGE_SCN_TYPE_COPY				16
-#define IMAGE_SCN_CNT_CODE				32
-#define IMAGE_SCN_CNT_INITIALIZED_DATA			64
-#define IMAGE_SCN_CNT_UNINITIALIZED_DATA	       128
-#define IMAGE_SCN_LNK_OTHER			       256
-#define IMAGE_SCN_LNK_INFO			       512
-#define IMAGE_SCN_TYPE_OVER			      1024
-#define IMAGE_SCN_LNK_REMOVE			      2048
-#define IMAGE_SCN_LNK_COMDAT			      4096
-#define IMAGE_SCN_GPREL 			    0x8000 /*  Valid only for IA64 */
-#define IMAGE_SCN_MEM_FARDATA			    0x8000 /* Not in PECOFF v8 spec */
-#define IMAGE_SCN_MEM_PURGEABLE 		   0x20000
-#define IMAGE_SCN_MEM_16BIT			   0x20000
-#define IMAGE_SCN_MEM_LOCKED			   0x40000
-#define IMAGE_SCN_MEM_PRELOAD			   0x80000
-#define IMAGE_SCN_ALIGN_1BYTES			  0x100000
-#define IMAGE_SCN_ALIGN_2BYTES			  0x200000
-#define IMAGE_SCN_ALIGN_4BYTES			  0x300000
-#define IMAGE_SCN_ALIGN_8BYTES			  0x400000
-#define IMAGE_SCN_ALIGN_16BYTES 		  0x500000
-#define IMAGE_SCN_ALIGN_32BYTES 		  0x600000
-#define IMAGE_SCN_ALIGN_64BYTES 		  0x700000
-#define IMAGE_SCN_ALIGN_128BYTES		  0x800000
-#define IMAGE_SCN_ALIGN_256BYTES		  0x900000
-#define IMAGE_SCN_ALIGN_512BYTES		  0xa00000
-#define IMAGE_SCN_ALIGN_1024BYTES		  0xb00000
-#define IMAGE_SCN_ALIGN_2048BYTES		  0xc00000
-#define IMAGE_SCN_ALIGN_4096BYTES		  0xd00000
-#define IMAGE_SCN_ALIGN_8192BYTES		  0xe00000
-#define IMAGE_SCN_LNK_NRELOC_OVFL		 0x1000000
-#define IMAGE_SCN_MEM_DISCARDABLE		 0x2000000
-#define IMAGE_SCN_MEM_NOT_CACHED		 0x4000000
-#define IMAGE_SCN_MEM_NOT_PAGED 		 0x8000000
-#define IMAGE_SCN_MEM_SHARED			0x10000000
-#define IMAGE_SCN_MEM_EXECUTE			0x20000000
-#define IMAGE_SCN_MEM_READ			0x40000000
-#define IMAGE_SCN_MEM_WRITE			0x80000000
-#define IMAGE_SYM_UNDEFINED				 0
-#define IMAGE_SYM_ABSOLUTE			       (-1)
-#define IMAGE_SYM_DEBUG 			       (-2)
-#define IMAGE_SYM_TYPE_NULL				 0
-#define IMAGE_SYM_TYPE_VOID				 1
-#define IMAGE_SYM_TYPE_CHAR				 2
-#define IMAGE_SYM_TYPE_SHORT				 3
-#define IMAGE_SYM_TYPE_INT				 4
-#define IMAGE_SYM_TYPE_LONG				 5
-#define IMAGE_SYM_TYPE_FLOAT				 6
-#define IMAGE_SYM_TYPE_DOUBLE				 7
-#define IMAGE_SYM_TYPE_STRUCT				 8
-#define IMAGE_SYM_TYPE_UNION				 9
-#define IMAGE_SYM_TYPE_ENUM				10
-#define IMAGE_SYM_TYPE_MOE				11
-#define IMAGE_SYM_TYPE_BYTE				12
-#define IMAGE_SYM_TYPE_WORD				13
-#define IMAGE_SYM_TYPE_UINT				14
-#define IMAGE_SYM_TYPE_DWORD				15
-#define IMAGE_SYM_TYPE_PCODE			     32768
-#define IMAGE_SYM_DTYPE_NULL				 0
-#define IMAGE_SYM_DTYPE_POINTER 			 1
-#define IMAGE_SYM_DTYPE_FUNCTION			 2
-#define IMAGE_SYM_DTYPE_ARRAY				 3
-#define IMAGE_SYM_CLASS_END_OF_FUNCTION 	       (-1)
-#define IMAGE_SYM_CLASS_NULL				 0
-#define IMAGE_SYM_CLASS_AUTOMATIC			 1
-#define IMAGE_SYM_CLASS_EXTERNAL			 2
-#define IMAGE_SYM_CLASS_STATIC				 3
-#define IMAGE_SYM_CLASS_REGISTER			 4
-#define IMAGE_SYM_CLASS_EXTERNAL_DEF			 5
-#define IMAGE_SYM_CLASS_LABEL				 6
-#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 		 7
-#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT		 8
-#define IMAGE_SYM_CLASS_ARGUMENT			 9
-#define IMAGE_SYM_CLASS_STRUCT_TAG			10
-#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 		11
-#define IMAGE_SYM_CLASS_UNION_TAG			12
-#define IMAGE_SYM_CLASS_TYPE_DEFINITION 		13
-#define IMAGE_SYM_CLASS_UNDEFINED_STATIC		14
-#define IMAGE_SYM_CLASS_ENUM_TAG			15
-#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM			16
-#define IMAGE_SYM_CLASS_REGISTER_PARAM			17
-#define IMAGE_SYM_CLASS_BIT_FIELD			18
-#define IMAGE_SYM_CLASS_FAR_EXTERNAL			68 /* Not in PECOFF v8 spec */
-#define IMAGE_SYM_CLASS_BLOCK			       100
-#define IMAGE_SYM_CLASS_FUNCTION		       101
-#define IMAGE_SYM_CLASS_END_OF_STRUCT		       102
-#define IMAGE_SYM_CLASS_FILE			       103
-#define IMAGE_SYM_CLASS_SECTION 		       104
-#define IMAGE_SYM_CLASS_WEAK_EXTERNAL		       105
-#define IMAGE_SYM_CLASS_CLR_TOKEN		       107
-
-#define IMAGE_COMDAT_SELECT_NODUPLICATES		 1
-#define IMAGE_COMDAT_SELECT_ANY 			 2
-#define IMAGE_COMDAT_SELECT_SAME_SIZE			 3
-#define IMAGE_COMDAT_SELECT_EXACT_MATCH 		 4
-#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 		 5
-#define IMAGE_COMDAT_SELECT_LARGEST			 6
-#define IMAGE_COMDAT_SELECT_NEWEST			 7 /* Not in PECOFF v8 spec */
-
-#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY		 1
-#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY		 2
-#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS			 3
-
-#define IMAGE_REL_I386_ABSOLUTE 		    0x0000
-#define IMAGE_REL_I386_DIR16			    0x0001
-#define IMAGE_REL_I386_REL16			    0x0002
-#define IMAGE_REL_I386_DIR32			    0x0006
-#define IMAGE_REL_I386_DIR32NB			    0x0007
-#define IMAGE_REL_I386_SEG12			    0x0009
-#define IMAGE_REL_I386_SECTION			    0x000A
-#define IMAGE_REL_I386_SECREL			    0x000B
-#define IMAGE_REL_I386_TOKEN			    0x000C
-#define IMAGE_REL_I386_SECREL7			    0x000D
-#define IMAGE_REL_I386_REL32			    0x0014
-
-#define IMAGE_REL_AMD64_ABSOLUTE		    0x0000
-#define IMAGE_REL_AMD64_ADDR64			    0x0001
-#define IMAGE_REL_AMD64_ADDR32			    0x0002
-#define IMAGE_REL_AMD64_ADDR32NB		    0x0003
-#define IMAGE_REL_AMD64_REL32			    0x0004
-#define IMAGE_REL_AMD64_REL32_1 		    0x0005
-#define IMAGE_REL_AMD64_REL32_2 		    0x0006
-#define IMAGE_REL_AMD64_REL32_3 		    0x0007
-#define IMAGE_REL_AMD64_REL32_4 		    0x0008
-#define IMAGE_REL_AMD64_REL32_5 		    0x0009
-#define IMAGE_REL_AMD64_SECTION 		    0x000A
-#define IMAGE_REL_AMD64_SECREL			    0x000B
-#define IMAGE_REL_AMD64_SECREL7 		    0x000C
-#define IMAGE_REL_AMD64_TOKEN			    0x000D
-#define IMAGE_REL_AMD64_SREL32			    0x000E
-#define IMAGE_REL_AMD64_PAIR			    0x000F
-#define IMAGE_REL_AMD64_SSPAN32 		    0x0010
-
-#define IMAGE_REL_IA64_ABSOLUTE 		    0x0000
-#define IMAGE_REL_IA64_IMM14			    0x0001
-#define IMAGE_REL_IA64_IMM22			    0x0002
-#define IMAGE_REL_IA64_IMM64			    0x0003
-#define IMAGE_REL_IA64_DIR32			    0x0004
-#define IMAGE_REL_IA64_DIR64			    0x0005
-#define IMAGE_REL_IA64_PCREL21B 		    0x0006
-#define IMAGE_REL_IA64_PCREL21M 		    0x0007
-#define IMAGE_REL_IA64_PCREL21F 		    0x0008
-#define IMAGE_REL_IA64_GPREL22			    0x0009
-#define IMAGE_REL_IA64_LTOFF22			    0x000A
-#define IMAGE_REL_IA64_SECTION			    0x000B
-#define IMAGE_REL_IA64_SECREL22 		    0x000C
-#define IMAGE_REL_IA64_SECREL64I		    0x000D
-#define IMAGE_REL_IA64_SECREL32 		    0x000E
-#define IMAGE_REL_IA64_DIR32NB			    0x0010
-#define IMAGE_REL_IA64_SREL14			    0x0011
-#define IMAGE_REL_IA64_SREL22			    0x0012
-#define IMAGE_REL_IA64_SREL32			    0x0013
-#define IMAGE_REL_IA64_UREL32			    0x0014
-#define IMAGE_REL_IA64_PCREL60X 		    0x0015
-#define IMAGE_REL_IA64_PCREL60B 		    0x0016
-#define IMAGE_REL_IA64_PCREL60F 		    0x0017
-#define IMAGE_REL_IA64_PCREL60I 		    0x0018
-#define IMAGE_REL_IA64_PCREL60M 		    0x0019
-#define IMAGE_REL_IA64_IMMGPREL64		    0x001a
-#define IMAGE_REL_IA64_TOKEN			    0x001b
-#define IMAGE_REL_IA64_GPREL32			    0x001c
-#define IMAGE_REL_IA64_ADDEND			    0x001F
-
-#define IMAGE_REL_SH3_ABSOLUTE			    0x0000
-#define IMAGE_REL_SH3_DIRECT16			    0x0001
-#define IMAGE_REL_SH3_DIRECT32			    0x0002
-#define IMAGE_REL_SH3_DIRECT8			    0x0003
-#define IMAGE_REL_SH3_DIRECT8_WORD		    0x0004
-#define IMAGE_REL_SH3_DIRECT8_LONG		    0x0005
-#define IMAGE_REL_SH3_DIRECT4			    0x0006
-#define IMAGE_REL_SH3_DIRECT4_WORD		    0x0007
-#define IMAGE_REL_SH3_DIRECT4_LONG		    0x0008
-#define IMAGE_REL_SH3_PCREL8_WORD		    0x0009
-#define IMAGE_REL_SH3_PCREL8_LONG		    0x000A
-#define IMAGE_REL_SH3_PCREL12_WORD		    0x000B
-#define IMAGE_REL_SH3_STARTOF_SECTION		    0x000C
-#define IMAGE_REL_SH3_SIZEOF_SECTION		    0x000D
-#define IMAGE_REL_SH3_SECTION			    0x000E
-#define IMAGE_REL_SH3_SECREL			    0x000F
-#define IMAGE_REL_SH3_DIRECT32_NB		    0x0010
-#define IMAGE_REL_SH3_GPREL4_LONG		    0x0011
-#define IMAGE_REL_SH3_TOKEN			    0x0012
-#define IMAGE_REL_SHM_PCRELPT			    0x0013
-#define IMAGE_REL_SHM_REFLO			    0x0014
-#define IMAGE_REL_SHM_REFHALF			    0x0015
-#define IMAGE_REL_SHM_RELLO			    0x0016
-#define IMAGE_REL_SHM_RELHALF			    0x0017
-#define IMAGE_REL_SHM_PAIR			    0x0018
-#define IMAGE_REL_SHM_NOMODE			    0x8000
-
-#define IMAGE_REL_M32R_ABSOLUTE 		    0x0000
-#define IMAGE_REL_M32R_ADDR32			    0x0001
-#define IMAGE_REL_M32R_ADDR32NB 		    0x0002
-#define IMAGE_REL_M32R_ADDR24			    0x0003
-#define IMAGE_REL_M32R_GPREL16			    0x0004
-#define IMAGE_REL_M32R_PCREL24			    0x0005
-#define IMAGE_REL_M32R_PCREL16			    0x0006
-#define IMAGE_REL_M32R_PCREL8			    0x0007
-#define IMAGE_REL_M32R_REFHALF			    0x0008
-#define IMAGE_REL_M32R_REFHI			    0x0009
-#define IMAGE_REL_M32R_REFLO			    0x000A
-#define IMAGE_REL_M32R_PAIR			    0x000B
-#define IMAGE_REL_M32R_SECTION			    0x000C
-#define IMAGE_REL_M32R_SECREL			    0x000D
-#define IMAGE_REL_M32R_TOKEN			    0x000E
-
-#define IMAGE_REL_MIPS_ABSOLUTE 		    0x0000
-#define IMAGE_REL_MIPS_REFHALF			    0x0001
-#define IMAGE_REL_MIPS_REFWORD			    0x0002
-#define IMAGE_REL_MIPS_JMPADDR			    0x0003
-#define IMAGE_REL_MIPS_REFHI			    0x0004
-#define IMAGE_REL_MIPS_REFLO			    0x0005
-#define IMAGE_REL_MIPS_GPREL			    0x0006
-#define IMAGE_REL_MIPS_LITERAL			    0x0007
-#define IMAGE_REL_MIPS_SECTION			    0x000A
-#define IMAGE_REL_MIPS_SECREL			    0x000B
-#define IMAGE_REL_MIPS_SECRELLO 		    0x000C
-#define IMAGE_REL_MIPS_SECRELHI 		    0x000D
-#define IMAGE_REL_MIPS_JMPADDR16		    0x0010
-#define IMAGE_REL_MIPS_REFWORDNB		    0x0022
-#define IMAGE_REL_MIPS_PAIR			    0x0025
-
-#define IMAGE_REL_ALPHA_ABSOLUTE			 0
-#define IMAGE_REL_ALPHA_REFLONG 			 1
-#define IMAGE_REL_ALPHA_REFQUAD 			 2
-#define IMAGE_REL_ALPHA_GPREL32 			 3
-#define IMAGE_REL_ALPHA_LITERAL 			 4
-#define IMAGE_REL_ALPHA_LITUSE				 5
-#define IMAGE_REL_ALPHA_GPDISP				 6
-#define IMAGE_REL_ALPHA_BRADDR				 7
-#define IMAGE_REL_ALPHA_HINT				 8
-#define IMAGE_REL_ALPHA_INLINE_REFLONG			 9
-#define IMAGE_REL_ALPHA_REFHI				10
-#define IMAGE_REL_ALPHA_REFLO				11
-#define IMAGE_REL_ALPHA_PAIR				12
-#define IMAGE_REL_ALPHA_MATCH				13
-#define IMAGE_REL_ALPHA_SECTION 			14
-#define IMAGE_REL_ALPHA_SECREL				15
-#define IMAGE_REL_ALPHA_REFLONGNB			16
-#define IMAGE_REL_ALPHA_SECRELLO			17
-#define IMAGE_REL_ALPHA_SECRELHI			18
-#define IMAGE_REL_PPC_ABSOLUTE				 0
-#define IMAGE_REL_PPC_ADDR64				 1
-#define IMAGE_REL_PPC_ADDR32				 2
-#define IMAGE_REL_PPC_ADDR24				 3
-#define IMAGE_REL_PPC_ADDR16				 4
-#define IMAGE_REL_PPC_ADDR14				 5
-#define IMAGE_REL_PPC_REL24				 6
-#define IMAGE_REL_PPC_REL14				 7
-#define IMAGE_REL_PPC_TOCREL16				 8
-#define IMAGE_REL_PPC_TOCREL14				 9
-#define IMAGE_REL_PPC_ADDR32NB				10
-#define IMAGE_REL_PPC_SECREL				11
-#define IMAGE_REL_PPC_SECTION				12
-#define IMAGE_REL_PPC_IFGLUE				13
-#define IMAGE_REL_PPC_IMGLUE				14
-#define IMAGE_REL_PPC_SECREL16				15
-#define IMAGE_REL_PPC_REFHI				16
-#define IMAGE_REL_PPC_REFLO				17
-#define IMAGE_REL_PPC_PAIR				18
-#define IMAGE_REL_PPC_TYPEMASK			       255
-#define IMAGE_REL_PPC_NEG			       256
-#define IMAGE_REL_PPC_BRTAKEN			       512
-#define IMAGE_REL_PPC_BRNTAKEN			      1024
-#define IMAGE_REL_PPC_TOCDEFN			      2048
-#define IMAGE_REL_BASED_ABSOLUTE			 0
-#define IMAGE_REL_BASED_HIGH				 1
-#define IMAGE_REL_BASED_LOW				 2
-#define IMAGE_REL_BASED_HIGHLOW 			 3
-#define IMAGE_REL_BASED_HIGHADJ 			 4
-#define IMAGE_REL_BASED_MIPS_JMPADDR			 5
-#define IMAGE_ARCHIVE_START_SIZE			 8
-#define IMAGE_ARCHIVE_START			"!<arch>\n"
-#define IMAGE_ARCHIVE_END			"`\n"
-#define IMAGE_ARCHIVE_PAD			"\n"
-#define IMAGE_ARCHIVE_LINKER_MEMBER		"/               "
-#define IMAGE_ARCHIVE_LONGNAMES_MEMBER		"//              "
-#define IMAGE_ORDINAL_FLAG32			0x80000000
-#define IMAGE_SNAP_BY_ORDINAL32(o)		((o&IMAGE_ORDINAL_FLAG32)!=0)
-#define IMAGE_ORDINAL32(o)			(o&0xffff)
-#define IMAGE_ORDINAL_FLAG64			0x8000000000000000ULL
-#define IMAGE_SNAP_BY_ORDINAL64(o)		((o&IMAGE_ORDINAL_FLAG64)!=0)
-#define IMAGE_ORDINAL64(o)			(o&0xffff)
-#ifdef _WIN64
-#define IMAGE_ORDINAL_FLAG			IMAGE_ORDINAL_FLAG64
-#define IMAGE_SNAP_BY_ORDINAL(o)		IMAGE_SNAP_BY_ORDINAL64(o)
-#define IMAGE_ORDINAL(o)			IMAGE_ORDINAL64(o)
-#else
-#define IMAGE_ORDINAL_FLAG			IMAGE_ORDINAL_FLAG32
-#define IMAGE_SNAP_BY_ORDINAL(o)		IMAGE_SNAP_BY_ORDINAL32(o)
-#define IMAGE_ORDINAL(o)			IMAGE_ORDINAL32(o)
-#endif
-#define IMAGE_RESOURCE_NAME_IS_STRING		0x80000000
-#define IMAGE_RESOURCE_DATA_IS_DIRECTORY	0x80000000
-#define IMAGE_DEBUG_TYPE_UNKNOWN			 0
-#define IMAGE_DEBUG_TYPE_COFF				 1
-#define IMAGE_DEBUG_TYPE_CODEVIEW			 2
-#define IMAGE_DEBUG_TYPE_FPO				 3
-#define IMAGE_DEBUG_TYPE_MISC				 4
-#define IMAGE_DEBUG_TYPE_EXCEPTION			 5
-#define IMAGE_DEBUG_TYPE_FIXUP				 6
-#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC			 7
-#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC			 8
-#define IMAGE_DEBUG_TYPE_BORLAND			 9
-#define FRAME_FPO					 0
-#define FRAME_TRAP					 1
-#define FRAME_TSS					 2
-#define FRAME_NONFPO					 3
-#define IMAGE_DEBUG_MISC_EXENAME			 1
-#define N_BTMASK				    0x000F
-#define N_TMASK 				    0x0030
-#define N_TMASK1				    0x00C0
-#define N_TMASK2				    0x00F0
-#define N_BTSHFT					 4
-#define N_TSHIFT					 2
-#define IS_TEXT_UNICODE_ASCII16 			 1
-#define IS_TEXT_UNICODE_REVERSE_ASCII16 		16
-#define IS_TEXT_UNICODE_STATISTICS			 2
-#define IS_TEXT_UNICODE_REVERSE_STATISTICS		32
-#define IS_TEXT_UNICODE_CONTROLS			 4
-#define IS_TEXT_UNICODE_REVERSE_CONTROLS		64
-#define IS_TEXT_UNICODE_SIGNATURE			 8
-#define IS_TEXT_UNICODE_REVERSE_SIGNATURE	       128
-#define IS_TEXT_UNICODE_ILLEGAL_CHARS		       256
-#define IS_TEXT_UNICODE_ODD_LENGTH		       512
-#define IS_TEXT_UNICODE_NULL_BYTES		      4096
-#define IS_TEXT_UNICODE_UNICODE_MASK			15
-#define IS_TEXT_UNICODE_REVERSE_MASK		       240
-#define IS_TEXT_UNICODE_NOT_UNICODE_MASK	      3840
-#define IS_TEXT_UNICODE_NOT_ASCII_MASK		     61440
-#define SERVICE_KERNEL_DRIVER				 1
-#define SERVICE_FILE_SYSTEM_DRIVER			 2
-#define SERVICE_ADAPTER 				 4
-#define SERVICE_RECOGNIZER_DRIVER			 8
-#define SERVICE_DRIVER  (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER)
-#define SERVICE_WIN32_OWN_PROCESS			16
-#define SERVICE_WIN32_SHARE_PROCESS			32
-#define SERVICE_WIN32  (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS)
-#define SERVICE_INTERACTIVE_PROCESS		       256
-#define SERVICE_TYPE_ALL  (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS)
-#define SERVICE_BOOT_START				 0
-#define SERVICE_SYSTEM_START				 1
-#define SERVICE_AUTO_START				 2
-#define SERVICE_DEMAND_START				 3
-#define SERVICE_DISABLED				 4
-#define SERVICE_ERROR_IGNORE				 0
-#define SERVICE_ERROR_NORMAL				 1
-#define SERVICE_ERROR_SEVERE				 2
-#define SERVICE_ERROR_CRITICAL				 3
-#define SE_OWNER_DEFAULTED				 1
-#define SE_GROUP_DEFAULTED				 2
-#define SE_DACL_PRESENT 				 4
-#define SE_DACL_DEFAULTED				 8
-#define SE_SACL_PRESENT 				16
-#define SE_SACL_DEFAULTED				32
-#define SE_DACL_AUTO_INHERIT_REQ		       256
-#define SE_SACL_AUTO_INHERIT_REQ		       512
-#define SE_DACL_AUTO_INHERITED			      1024
-#define SE_SACL_AUTO_INHERITED			      2048
-#define SE_DACL_PROTECTED			      4096
-#define SE_SACL_PROTECTED			      8192
-#define SE_SELF_RELATIVE			    0x8000
-#define SECURITY_DESCRIPTOR_MIN_LENGTH			20
-#define SECURITY_DESCRIPTOR_REVISION			 1
-#define SECURITY_DESCRIPTOR_REVISION1			 1
-#define SE_PRIVILEGE_ENABLED_BY_DEFAULT 		 1
-#define SE_PRIVILEGE_ENABLED				 2
-#define SE_PRIVILEGE_USED_FOR_ACCESS		0x80000000
-#define PRIVILEGE_SET_ALL_NECESSARY			 1
-#define SECURITY_MAX_IMPERSONATION_LEVEL	SecurityDelegation
-#define DEFAULT_IMPERSONATION_LEVEL		SecurityImpersonation
-#define SECURITY_DYNAMIC_TRACKING		      TRUE
-#define SECURITY_STATIC_TRACKING		     FALSE
-/* also in ddk/ntifs.h */
-#define TOKEN_ASSIGN_PRIMARY			   (0x0001)
-#define TOKEN_DUPLICATE 			   (0x0002)
-#define TOKEN_IMPERSONATE			   (0x0004)
-#define TOKEN_QUERY				   (0x0008)
-#define TOKEN_QUERY_SOURCE			   (0x0010)
-#define TOKEN_ADJUST_PRIVILEGES 		   (0x0020)
-#define TOKEN_ADJUST_GROUPS			   (0x0040)
-#define TOKEN_ADJUST_DEFAULT			   (0x0080)
-
-#define TOKEN_ALL_ACCESS     \
-  ( STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE      | \
-    TOKEN_IMPERSONATE        | TOKEN_QUERY          | TOKEN_QUERY_SOURCE   | \
-    TOKEN_ADJUST_PRIVILEGES  | TOKEN_ADJUST_GROUPS  | TOKEN_ADJUST_DEFAULT \
-  )
-#define TOKEN_READ	  ( STANDARD_RIGHTS_READ | TOKEN_QUERY )
-#define TOKEN_WRITE	  \
-  ( STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | \
-    TOKEN_ADJUST_GROUPS   | TOKEN_ADJUST_DEFAULT    \
-  )
-#define TOKEN_EXECUTE	  ( STANDARD_RIGHTS_EXECUTE )
-
-#define TOKEN_SOURCE_LENGTH				 8
-#if (_WIN32_WINNT >= 0x0600)
-#define TOKEN_MANDATORY_POLICY_OFF			 0
-#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP		 1
-#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN		 2
-#define TOKEN_MANDATORY_POLICY_VALID_MASK		 3
-#endif
-/* end ddk/ntifs.h */
-#define DLL_PROCESS_DETACH				 0
-#define DLL_PROCESS_ATTACH				 1
-#define DLL_THREAD_ATTACH				 2
-#define DLL_THREAD_DETACH				 3
-#define DBG_CONTINUE				   0x10002
-#define DBG_TERMINATE_THREAD			0x40010003
-#define DBG_TERMINATE_PROCESS			0x40010004
-#define DBG_CONTROL_C				0x40010005
-#define DBG_CONTROL_BREAK			0x40010008
-#define DBG_EXCEPTION_NOT_HANDLED		0x80010001
-#define TAPE_ABSOLUTE_POSITION				 0
-#define TAPE_LOGICAL_POSITION				 1
-#define TAPE_PSEUDO_LOGICAL_POSITION			 2
-#define TAPE_REWIND					 0
-#define TAPE_ABSOLUTE_BLOCK				 1
-#define TAPE_LOGICAL_BLOCK				 2
-#define TAPE_PSEUDO_LOGICAL_BLOCK			 3
-#define TAPE_SPACE_END_OF_DATA				 4
-#define TAPE_SPACE_RELATIVE_BLOCKS			 5
-#define TAPE_SPACE_FILEMARKS				 6
-#define TAPE_SPACE_SEQUENTIAL_FMKS			 7
-#define TAPE_SPACE_SETMARKS				 8
-#define TAPE_SPACE_SEQUENTIAL_SMKS			 9
-#define TAPE_DRIVE_FIXED				 1
-#define TAPE_DRIVE_SELECT				 2
-#define TAPE_DRIVE_INITIATOR				 4
-#define TAPE_DRIVE_ERASE_SHORT				16
-#define TAPE_DRIVE_ERASE_LONG				32
-#define TAPE_DRIVE_ERASE_BOP_ONLY			64
-#define TAPE_DRIVE_ERASE_IMMEDIATE		       128
-#define TAPE_DRIVE_TAPE_CAPACITY		       256
-#define TAPE_DRIVE_TAPE_REMAINING		       512
-#define TAPE_DRIVE_FIXED_BLOCK			      1024
-#define TAPE_DRIVE_VARIABLE_BLOCK		      2048
-#define TAPE_DRIVE_WRITE_PROTECT		      4096
-#define TAPE_DRIVE_EOT_WZ_SIZE			      8192
-#define TAPE_DRIVE_ECC				   0x10000
-#define TAPE_DRIVE_COMPRESSION			   0x20000
-#define TAPE_DRIVE_PADDING			   0x40000
-#define TAPE_DRIVE_REPORT_SMKS			   0x80000
-#define TAPE_DRIVE_GET_ABSOLUTE_BLK		  0x100000
-#define TAPE_DRIVE_GET_LOGICAL_BLK		  0x200000
-#define TAPE_DRIVE_SET_EOT_WZ_SIZE		  0x400000
-#define TAPE_DRIVE_EJECT_MEDIA			 0x1000000
-#define TAPE_DRIVE_CLEAN_REQUESTS		 0x2000000
-#define TAPE_DRIVE_SET_CMP_BOP_ONLY		 0x4000000
-#define TAPE_DRIVE_RESERVED_BIT 		0x80000000
-#define TAPE_DRIVE_LOAD_UNLOAD			0x80000001
-#define TAPE_DRIVE_TENSION			0x80000002
-#define TAPE_DRIVE_LOCK_UNLOCK			0x80000004
-#define TAPE_DRIVE_REWIND_IMMEDIATE		0x80000008
-#define TAPE_DRIVE_SET_BLOCK_SIZE		0x80000010
-#define TAPE_DRIVE_LOAD_UNLD_IMMED		0x80000020
-#define TAPE_DRIVE_TENSION_IMMED		0x80000040
-#define TAPE_DRIVE_LOCK_UNLK_IMMED		0x80000080
-#define TAPE_DRIVE_SET_ECC			0x80000100
-#define TAPE_DRIVE_SET_COMPRESSION		0x80000200
-#define TAPE_DRIVE_SET_PADDING			0x80000400
-#define TAPE_DRIVE_SET_REPORT_SMKS		0x80000800
-#define TAPE_DRIVE_ABSOLUTE_BLK 		0x80001000
-#define TAPE_DRIVE_ABS_BLK_IMMED		0x80002000
-#define TAPE_DRIVE_LOGICAL_BLK			0x80004000
-#define TAPE_DRIVE_LOG_BLK_IMMED		0x80008000
-#define TAPE_DRIVE_END_OF_DATA			0x80010000
-#define TAPE_DRIVE_RELATIVE_BLKS		0x80020000
-#define TAPE_DRIVE_FILEMARKS			0x80040000
-#define TAPE_DRIVE_SEQUENTIAL_FMKS		0x80080000
-#define TAPE_DRIVE_SETMARKS			0x80100000
-#define TAPE_DRIVE_SEQUENTIAL_SMKS		0x80200000
-#define TAPE_DRIVE_REVERSE_POSITION		0x80400000
-#define TAPE_DRIVE_SPACE_IMMEDIATE		0x80800000
-#define TAPE_DRIVE_WRITE_SETMARKS		0x81000000
-#define TAPE_DRIVE_WRITE_FILEMARKS		0x82000000
-#define TAPE_DRIVE_WRITE_SHORT_FMKS		0x84000000
-#define TAPE_DRIVE_WRITE_LONG_FMKS		0x88000000
-#define TAPE_DRIVE_WRITE_MARK_IMMED		0x90000000
-#define TAPE_DRIVE_FORMAT			0xA0000000
-#define TAPE_DRIVE_FORMAT_IMMEDIATE		0xC0000000
-#define TAPE_DRIVE_HIGH_FEATURES		0x80000000
-#define TAPE_FIXED_PARTITIONS				 0
-#define TAPE_INITIATOR_PARTITIONS			 2
-#define TAPE_SELECT_PARTITIONS				 1
-#define TAPE_FILEMARKS					 1
-#define TAPE_LONG_FILEMARKS				 3
-#define TAPE_SETMARKS					 0
-#define TAPE_SHORT_FILEMARKS				 2
-#define TAPE_ERASE_LONG 				 1
-#define TAPE_ERASE_SHORT				 0
-#define TAPE_LOAD					 0
-#define TAPE_UNLOAD					 1
-#define TAPE_TENSION					 2
-#define TAPE_LOCK					 3
-#define TAPE_UNLOCK					 4
-#define TAPE_FORMAT					 5
-#if (_WIN32_WINNT >= 0x0500)
-#define VER_MINORVERSION			 0x0000001
-#define VER_MAJORVERSION			 0x0000002
-#define VER_BUILDNUMBER 			 0x0000004
-#define VER_PLATFORMID				 0x0000008
-#define VER_SERVICEPACKMINOR			 0x0000010
-#define VER_SERVICEPACKMAJOR			 0x0000020
-#define VER_SUITENAME				 0x0000040
-#define VER_PRODUCT_TYPE			 0x0000080
-#define VER_EQUAL					 1
-#define VER_GREATER					 2
-#define VER_GREATER_EQUAL				 3
-#define VER_LESS					 4
-#define VER_LESS_EQUAL					 5
-#define VER_AND 					 6
-#define VER_OR						 7
-#endif
-#define VER_PLATFORM_WIN32s				 0
-#define VER_PLATFORM_WIN32_WINDOWS			 1
-#define VER_PLATFORM_WIN32_NT				 2
-#define VER_NT_WORKSTATION				 1
-#define VER_NT_DOMAIN_CONTROLLER			 2
-#define VER_NT_SERVER					 3
-#define VER_SUITE_SMALLBUSINESS 			 1
-#define VER_SUITE_ENTERPRISE				 2
-#define VER_SUITE_BACKOFFICE				 4
-#define VER_SUITE_TERMINAL				16
-#define VER_SUITE_SMALLBUSINESS_RESTRICTED		32
-#define VER_SUITE_EMBEDDEDNT				64
-#define VER_SUITE_DATACENTER			       128
-#define VER_SUITE_SINGLEUSERTS			       256
-#define VER_SUITE_PERSONAL			       512
-#define VER_SUITE_BLADE 			      1024
-#define VER_SUITE_STORAGE_SERVER		      8192
-#define VER_SUITE_COMPUTE_SERVER		     16384
-#define WT_EXECUTEDEFAULT			0x00000000
-#define WT_EXECUTEINIOTHREAD			0x00000001
-#define WT_EXECUTEINWAITTHREAD			0x00000004
-#define WT_EXECUTEONLYONCE			0x00000008
-#define WT_EXECUTELONGFUNCTION			0x00000010
-#define WT_EXECUTEINTIMERTHREAD 		0x00000020
-#define WT_EXECUTEINPERSISTENTTHREAD		0x00000080
-#define WT_TRANSFER_IMPERSONATION		0x00000100
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 	 1
-#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION		 2
-#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION	 3
-#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION	 4
-#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION	 5
-#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION  6
-#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION	 7
-#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES		 9
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BTYPE(x)	((x)&N_BTMASK)
-#define ISPTR(x)	(((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
-#define ISFCN(x)	(((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
-#define ISARY(x)	(((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))
-#define ISTAG(x)	((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)
-#define INCREF(x)	((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
-#define DECREF(x)	((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
-
-#define TLS_MINIMUM_AVAILABLE				64
-#define REPARSE_DATA_BUFFER_HEADER_SIZE  FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
-#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE  FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
-#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE	     16384
-#define IO_REPARSE_TAG_RESERVED_ZERO			 0
-#define IO_REPARSE_TAG_RESERVED_ONE			 1
-#define IO_REPARSE_TAG_RESERVED_RANGE	IO_REPARSE_TAG_RESERVED_ONE
-#define IsReparseTagMicrosoft(x)	   ((x)&0x80000000)
-#define IsReparseTagHighLatency(x)	   ((x)&0x40000000)
-#define IsReparseTagNameSurrogate(x)	   ((x)&0x20000000)
-#define IO_REPARSE_TAG_VALID_VALUES		0xE000FFFF
-#define IsReparseTagValid(x)  (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
-#define IO_REPARSE_TAG_SYMBOLIC_LINK  IO_REPARSE_TAG_RESERVED_ZERO
-#define IO_REPARSE_TAG_MOUNT_POINT		0xA0000003
-#define IO_REPARSE_TAG_SYMLINK			0xA000000C
-
-#define WT_SET_MAX_THREADPOOL_THREADS(Flags,Limit)  ((Flags)|=(Limit)<<16)
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-typedef DWORD ACCESS_MASK, *PACCESS_MASK;
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED) /* also defined in basetyps.h */
-#define GUID_DEFINED
-typedef struct _GUID
-{ unsigned long 	Data1;
-  unsigned short	Data2;
-  unsigned short	Data3;
-  unsigned char 	Data4[8];
-} GUID, *REFGUID, *LPGUID;
-#define SYSTEM_LUID			      { 0x3e7, 0x0 }
-#endif /* GUID_DEFINED */
-
-typedef struct _GENERIC_MAPPING
-{ ACCESS_MASK		GenericRead;
-  ACCESS_MASK		GenericWrite;
-  ACCESS_MASK		GenericExecute;
-  ACCESS_MASK		GenericAll;
-} GENERIC_MAPPING, *PGENERIC_MAPPING;
-
-typedef struct _ACE_HEADER
-{ BYTE			AceType;
-  BYTE			AceFlags;
-  WORD			AceSize;
-} ACE_HEADER, *PACE_HEADER;
-
-typedef struct _ACCESS_ALLOWED_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		SidStart;
-} ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
-
-typedef struct _ACCESS_DENIED_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		SidStart;
-} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
-
-typedef struct _SYSTEM_AUDIT_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		SidStart;
-} SYSTEM_AUDIT_ACE;
-typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
-
-typedef struct _SYSTEM_ALARM_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		SidStart;
-} SYSTEM_ALARM_ACE, *PSYSTEM_ALARM_ACE;
-
-typedef struct _ACCESS_ALLOWED_OBJECT_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		Flags;
-  GUID			ObjectType;
-  GUID			InheritedObjectType;
-  DWORD 		SidStart;
-} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
-
-typedef struct _ACCESS_DENIED_OBJECT_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		Flags;
-  GUID			ObjectType;
-  GUID			InheritedObjectType;
-  DWORD 		SidStart;
-} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
-
-typedef struct _SYSTEM_AUDIT_OBJECT_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		Flags;
-  GUID			ObjectType;
-  GUID			InheritedObjectType;
-  DWORD 		SidStart;
-} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
-
-typedef struct _SYSTEM_ALARM_OBJECT_ACE
-{ ACE_HEADER		Header;
-  ACCESS_MASK		Mask;
-  DWORD 		Flags;
-  GUID			ObjectType;
-  GUID			InheritedObjectType;
-  DWORD 		SidStart;
-} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
-
-typedef struct _ACL
-{ BYTE			AclRevision;
-  BYTE			Sbz1;
-  WORD			AclSize;
-  WORD			AceCount;
-  WORD			Sbz2;
-} ACL, *PACL;
-
-typedef struct _ACL_REVISION_INFORMATION
-{ DWORD 		AclRevision;
-} ACL_REVISION_INFORMATION;
-
-typedef struct _ACL_SIZE_INFORMATION
-{ DWORD 		AceCount;
-  DWORD 		AclBytesInUse;
-  DWORD 		AclBytesFree;
-} ACL_SIZE_INFORMATION;
-
-/* FIXME: add more machines */
-#ifdef _X86_
-#define SIZE_OF_80387_REGISTERS 			80
-#define CONTEXT_i386				   0x10000
-#define CONTEXT_i486				   0x10000
-#define CONTEXT_CONTROL 		  (CONTEXT_i386|0x00000001L)
-#define CONTEXT_INTEGER 		  (CONTEXT_i386|0x00000002L)
-#define CONTEXT_SEGMENTS		  (CONTEXT_i386|0x00000004L)
-#define CONTEXT_FLOATING_POINT		  (CONTEXT_i386|0x00000008L)
-#define CONTEXT_DEBUG_REGISTERS 	  (CONTEXT_i386|0x00000010L)
-#define CONTEXT_EXTENDED_REGISTERS	  (CONTEXT_i386|0x00000020L)
-
-#define CONTEXT_FULL		(CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
-
-#define MAXIMUM_SUPPORTED_EXTENSION		       512
-
-typedef struct _FLOATING_SAVE_AREA
-{ DWORD 		ControlWord;
-  DWORD 		StatusWord;
-  DWORD 		TagWord;
-  DWORD 		ErrorOffset;
-  DWORD 		ErrorSelector;
-  DWORD 		DataOffset;
-  DWORD 		DataSelector;
-  BYTE			RegisterArea[80];
-  DWORD 		Cr0NpxState;
-} FLOATING_SAVE_AREA;
-
-typedef struct _CONTEXT
-{ DWORD 		ContextFlags;
-  DWORD 		Dr0;
-  DWORD 		Dr1;
-  DWORD 		Dr2;
-  DWORD 		Dr3;
-  DWORD 		Dr6;
-  DWORD 		Dr7;
-  FLOATING_SAVE_AREA	FloatSave;
-  DWORD 		SegGs;
-  DWORD 		SegFs;
-  DWORD 		SegEs;
-  DWORD 		SegDs;
-  DWORD 		Edi;
-  DWORD 		Esi;
-  DWORD 		Ebx;
-  DWORD 		Edx;
-  DWORD 		Ecx;
-  DWORD 		Eax;
-  DWORD 		Ebp;
-  DWORD 		Eip;
-  DWORD 		SegCs;
-  DWORD 		EFlags;
-  DWORD 		Esp;
-  DWORD 		SegSs;
-  BYTE			ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
-} CONTEXT;
-
-#elif defined(_M_PPC)
-#define CONTEXT_CONTROL 				 1L
-#define CONTEXT_FLOATING_POINT				 2L
-#define CONTEXT_INTEGER 				 4L
-#define CONTEXT_DEBUG_REGISTERS 			 8L
-#define CONTEXT_FULL		(CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-
-typedef struct
-{ double		Fpr0;
-  double		Fpr1;
-  double		Fpr2;
-  double		Fpr3;
-  double		Fpr4;
-  double		Fpr5;
-  double		Fpr6;
-  double		Fpr7;
-  double		Fpr8;
-  double		Fpr9;
-  double		Fpr10;
-  double		Fpr11;
-  double		Fpr12;
-  double		Fpr13;
-  double		Fpr14;
-  double		Fpr15;
-  double		Fpr16;
-  double		Fpr17;
-  double		Fpr18;
-  double		Fpr19;
-  double		Fpr20;
-  double		Fpr21;
-  double		Fpr22;
-  double		Fpr23;
-  double		Fpr24;
-  double		Fpr25;
-  double		Fpr26;
-  double		Fpr27;
-  double		Fpr28;
-  double		Fpr29;
-  double		Fpr30;
-  double		Fpr31;
-  double		Fpscr;
-  DWORD 		Gpr0;
-  DWORD 		Gpr1;
-  DWORD 		Gpr2;
-  DWORD 		Gpr3;
-  DWORD 		Gpr4;
-  DWORD 		Gpr5;
-  DWORD 		Gpr6;
-  DWORD 		Gpr7;
-  DWORD 		Gpr8;
-  DWORD 		Gpr9;
-  DWORD 		Gpr10;
-  DWORD 		Gpr11;
-  DWORD 		Gpr12;
-  DWORD 		Gpr13;
-  DWORD 		Gpr14;
-  DWORD 		Gpr15;
-  DWORD 		Gpr16;
-  DWORD 		Gpr17;
-  DWORD 		Gpr18;
-  DWORD 		Gpr19;
-  DWORD 		Gpr20;
-  DWORD 		Gpr21;
-  DWORD 		Gpr22;
-  DWORD 		Gpr23;
-  DWORD 		Gpr24;
-  DWORD 		Gpr25;
-  DWORD 		Gpr26;
-  DWORD 		Gpr27;
-  DWORD 		Gpr28;
-  DWORD 		Gpr29;
-  DWORD 		Gpr30;
-  DWORD 		Gpr31;
-  DWORD 		Cr;
-  DWORD 		Xer;
-  DWORD 		Msr;
-  DWORD 		Iar;
-  DWORD 		Lr;
-  DWORD 		Ctr;
-  DWORD 		ContextFlags;
-  DWORD 		Fill[3];
-  DWORD 		Dr0;
-  DWORD 		Dr1;
-  DWORD 		Dr2;
-  DWORD 		Dr3;
-  DWORD 		Dr4;
-  DWORD 		Dr5;
-  DWORD 		Dr6;
-  DWORD 		Dr7;
-} CONTEXT;
-
-#elif defined(_M_ALPHA)
-#define CONTEXT_ALPHA				   0x20000
-#define CONTEXT_CONTROL 		      (CONTEXT_ALPHA|1L)
-#define CONTEXT_FLOATING_POINT		      (CONTEXT_ALPHA|2L)
-#define CONTEXT_INTEGER 		      (CONTEXT_ALPHA|4L)
-#define CONTEXT_FULL		(CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-
-typedef struct _CONTEXT
-{ ULONGLONG		FltF0;
-  ULONGLONG		FltF1;
-  ULONGLONG		FltF2;
-  ULONGLONG		FltF3;
-  ULONGLONG		FltF4;
-  ULONGLONG		FltF5;
-  ULONGLONG		FltF6;
-  ULONGLONG		FltF7;
-  ULONGLONG		FltF8;
-  ULONGLONG		FltF9;
-  ULONGLONG		FltF10;
-  ULONGLONG		FltF11;
-  ULONGLONG		FltF12;
-  ULONGLONG		FltF13;
-  ULONGLONG		FltF14;
-  ULONGLONG		FltF15;
-  ULONGLONG		FltF16;
-  ULONGLONG		FltF17;
-  ULONGLONG		FltF18;
-  ULONGLONG		FltF19;
-  ULONGLONG		FltF20;
-  ULONGLONG		FltF21;
-  ULONGLONG		FltF22;
-  ULONGLONG		FltF23;
-  ULONGLONG		FltF24;
-  ULONGLONG		FltF25;
-  ULONGLONG		FltF26;
-  ULONGLONG		FltF27;
-  ULONGLONG		FltF28;
-  ULONGLONG		FltF29;
-  ULONGLONG		FltF30;
-  ULONGLONG		FltF31;
-  ULONGLONG		IntV0;
-  ULONGLONG		IntT0;
-  ULONGLONG		IntT1;
-  ULONGLONG		IntT2;
-  ULONGLONG		IntT3;
-  ULONGLONG		IntT4;
-  ULONGLONG		IntT5;
-  ULONGLONG		IntT6;
-  ULONGLONG		IntT7;
-  ULONGLONG		IntS0;
-  ULONGLONG		IntS1;
-  ULONGLONG		IntS2;
-  ULONGLONG		IntS3;
-  ULONGLONG		IntS4;
-  ULONGLONG		IntS5;
-  ULONGLONG		IntFp;
-  ULONGLONG		IntA0;
-  ULONGLONG		IntA1;
-  ULONGLONG		IntA2;
-  ULONGLONG		IntA3;
-  ULONGLONG		IntA4;
-  ULONGLONG		IntA5;
-  ULONGLONG		IntT8;
-  ULONGLONG		IntT9;
-  ULONGLONG		IntT10;
-  ULONGLONG		IntT11;
-  ULONGLONG		IntRa;
-  ULONGLONG		IntT12;
-  ULONGLONG		IntAt;
-  ULONGLONG		IntGp;
-  ULONGLONG		IntSp;
-  ULONGLONG		IntZero;
-  ULONGLONG		Fpcr;
-  ULONGLONG		SoftFpcr;
-  ULONGLONG		Fir;
-  DWORD 		Psr;
-  DWORD 		ContextFlags;
-  DWORD 		Fill[4];
-} CONTEXT;
-
-#elif defined(SHx)
-/* These are the debug or break registers on the SH3 */
-typedef struct _DEBUG_REGISTERS
-{ ULONG 		BarA;
-  UCHAR 		BasrA;
-  UCHAR 		BamrA;
-  USHORT		BbrA;
-  ULONG 		BarB;
-  UCHAR 		BasrB;
-  UCHAR 		BamrB;
-  USHORT		BbrB;
-  ULONG 		BdrB;
-  ULONG 		BdmrB;
-  USHORT		Brcr;
-  USHORT		Align;
-} DEBUG_REGISTERS, *PDEBUG_REGISTERS;
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_SH3				0x00000040
-#define CONTEXT_SH4				0x000000c0	/* CONTEXT_SH3 | 0x80 - must contain the SH3 bits */
-
-#ifdef SH3
-#define CONTEXT_CONTROL 		(CONTEXT_SH3 | 0x00000001L)
-#define CONTEXT_INTEGER 		(CONTEXT_SH3 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS 	(CONTEXT_SH3 | 0x00000008L)
-#define CONTEXT_FULL			(CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
-#else	/* SH4 */
-#define CONTEXT_CONTROL 		(CONTEXT_SH4 | 0x00000001L)
-#define CONTEXT_INTEGER 		(CONTEXT_SH4 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS 	(CONTEXT_SH4 | 0x00000008L)
-#define CONTEXT_FLOATING_POINT		(CONTEXT_SH4 | 0x00000004L)
-#define CONTEXT_FULL			(CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT)
-#endif
-
-/* Context Frame
- * -------------
- *
- * This frame is used to store a limited processor context into the
- * thread structure for CPUs which have no floating point support.
- */
-typedef struct _CONTEXT
-{ /* The flags values within this structure control the contents
-   * of a CONTEXT record.
-   *
-   * If the context record is used as an input parameter, then
-   * for each portion of the context record controlled by a flag
-   * whose value is set, it is assumed that that portion of the
-   * context record contains valid context. If the context record
-   * is being used to modify a thread's context, then only that
-   * portion of the threads context will be modified.
-   *
-   * If the context record is used as an IN OUT parameter to
-   * capture the context of a thread, then only those portions
-   * of the thread's context corresponding to set flags will be
-   * returned.
-   *
-   * The context record is never used as an OUT only parameter.
-   */
-  ULONG 		ContextFlags;
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_INTEGER.
-   *
-   * N.B. The registers RA and R15 are defined in this section,
-   * but are considered part of the control context rather than
-   * part of the integer context.
-   */
-  ULONG 		PR;
-  ULONG 		MACH;
-  ULONG 		MACL;
-  ULONG 		GBR;
-  ULONG 		R0;
-  ULONG 		R1;
-  ULONG 		R2;
-  ULONG 		R3;
-  ULONG 		R4;
-  ULONG 		R5;
-  ULONG 		R6;
-  ULONG 		R7;
-  ULONG 		R8;
-  ULONG 		R9;
-  ULONG 		R10;
-  ULONG 		R11;
-  ULONG 		R12;
-  ULONG 		R13;
-  ULONG 		R14;
-  ULONG 		R15;
-  /*
-   * This section is specified/returned if the ContextFlags
-   * word contains the flag CONTEXT_CONTROL.
-   *
-   * N.B. The registers r15 and ra are defined in the integer
-   * section, but are considered part of the control context
-   * rather than part of the integer context.
-   */
-  ULONG 		Fir;
-  ULONG 		Psr;
-#if !defined(SH3e) && !defined(SH4)
-  ULONG 		OldStuff[2];
-  DEBUG_REGISTERS	DebugRegisters;
-#else
-  ULONG 		Fpscr;
-  ULONG 		Fpul;
-  ULONG 		FRegs[16];
-#if defined(SH4)
-  ULONG 		xFRegs[16];
-#endif
-#endif
-} CONTEXT;
-
-#elif defined(_M_MRX000)	/* MIPS */
-
-/* The following flags control the contents of the CONTEXT structure.
- */
-#define CONTEXT_R4000				0x00010000    /* r4000 context */
-
-#define CONTEXT_CONTROL 		(CONTEXT_R4000 | 0x00000001L)
-#define CONTEXT_FLOATING_POINT		(CONTEXT_R4000 | 0x00000002L)
-#define CONTEXT_INTEGER 		(CONTEXT_R4000 | 0x00000004L)
-
-#define CONTEXT_FULL		(CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-
-/* Context Frame
- * -------------
- *
- * N.B. This frame must be exactly a multiple of 16 bytes in
- * length; it has a several purposes:--
- *
- *   1) it is used as an argument to NtContinue;
- *   2) it is used to constuct a call frame for APC delivery;
- *   3) it is used to construct a call frame for exception
- *      dispatching in user mode;
- *   4) it is used in user level thread creation routines.
- *
- * The layout of the record conforms to a standard call frame.
- */
-typedef struct _CONTEXT
-{ /* This section is always present and is used as an argument
-   * build area.
-   */
-  DWORD 		Argument[4];
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_FLOATING_POINT.
-   */
-  DWORD 		FltF0;
-  DWORD 		FltF1;
-  DWORD 		FltF2;
-  DWORD 		FltF3;
-  DWORD 		FltF4;
-  DWORD 		FltF5;
-  DWORD 		FltF6;
-  DWORD 		FltF7;
-  DWORD 		FltF8;
-  DWORD 		FltF9;
-  DWORD 		FltF10;
-  DWORD 		FltF11;
-  DWORD 		FltF12;
-  DWORD 		FltF13;
-  DWORD 		FltF14;
-  DWORD 		FltF15;
-  DWORD 		FltF16;
-  DWORD 		FltF17;
-  DWORD 		FltF18;
-  DWORD 		FltF19;
-  DWORD 		FltF20;
-  DWORD 		FltF21;
-  DWORD 		FltF22;
-  DWORD 		FltF23;
-  DWORD 		FltF24;
-  DWORD 		FltF25;
-  DWORD 		FltF26;
-  DWORD 		FltF27;
-  DWORD 		FltF28;
-  DWORD 		FltF29;
-  DWORD 		FltF30;
-  DWORD 		FltF31;
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_INTEGER.
-   *
-   * N.B. The registers gp, sp, and ra are defined in this section,
-   * but are considered part of the control context rather than part
-   * of the integer context.
-   *
-   * N.B. Register zero is not stored in the frame.
-   */
-  DWORD 		IntZero;
-  DWORD 		IntAt;
-  DWORD 		IntV0;
-  DWORD 		IntV1;
-  DWORD 		IntA0;
-  DWORD 		IntA1;
-  DWORD 		IntA2;
-  DWORD 		IntA3;
-  DWORD 		IntT0;
-  DWORD 		IntT1;
-  DWORD 		IntT2;
-  DWORD 		IntT3;
-  DWORD 		IntT4;
-  DWORD 		IntT5;
-  DWORD 		IntT6;
-  DWORD 		IntT7;
-  DWORD 		IntS0;
-  DWORD 		IntS1;
-  DWORD 		IntS2;
-  DWORD 		IntS3;
-  DWORD 		IntS4;
-  DWORD 		IntS5;
-  DWORD 		IntS6;
-  DWORD 		IntS7;
-  DWORD 		IntT8;
-  DWORD 		IntT9;
-  DWORD 		IntK0;
-  DWORD 		IntK1;
-  DWORD 		IntGp;
-  DWORD 		IntSp;
-  DWORD 		IntS8;
-  DWORD 		IntRa;
-  DWORD 		IntLo;
-  DWORD 		IntHi;
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_FLOATING_POINT.
-   */
-  DWORD 		Fsr;
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_CONTROL.
-   *
-   * N.B. The registers gp, sp, and ra are defined in the integer
-   * section, but are considered part of the control context rather
-   * than part of the integer context.
-   */
-  DWORD 		Fir;
-  DWORD 		Psr;
-  /*
-   * The bits within the following flag control the contents of
-   * a CONTEXT record.  If the context record is used as an input
-   * parameter, then for each portion of the context record which is
-   * controlled by a flag bit whose value is set, it is assumed that
-   * the associated portion of the context record specifies valid
-   * context.  If the context record is being used to modify a
-   * thread's context, then only that portion of the thread's
-   * context will be modified.
-   *
-   * If the context record is used as an IN OUT parameter, to
-   * capture the context of a thread, then only those portions of
-   * the thread's context corresponding to flag bits which have
-   * been set will be returned.
-   *
-   * The context record is never used as an OUT only parameter.
-   */
-  DWORD 		ContextFlags;
-  DWORD 		Fill[2];
-} CONTEXT;
-
-#elif defined(_M_ARM)
-/* The following flags control the contents of the CONTEXT structure.
- */
-#define CONTEXT_ARM				0x0000040
-#define CONTEXT_CONTROL 		(CONTEXT_ARM | 0x00000001L)
-#define CONTEXT_INTEGER 		(CONTEXT_ARM | 0x00000002L)
-
-#define CONTEXT_FULL		    (CONTEXT_CONTROL | CONTEXT_INTEGER)
-
-typedef struct _CONTEXT
-{ /* The bit values within this flag control the contents of
-   * a CONTEXT record.
-   *
-   * If the context record is used as an input parameter, then
-   * for each portion of the context record controlled by a bit
-   * flag which is set, it is assumed that the associated portion
-   * of the context record contains valid context.  If the context
-   * record is being used to modify a thread's context, then only
-   * that portion of the thread's context will be modified.
-   *
-   * If the context record is used as an IN OUT parameter to,
-   * capture the context of a thread, then only those portions
-   * of the thread's context corresponding to flag bits which
-   * have been set will be returned.
-   *
-   * The context record is never used as an OUT only parameter.
-   */
-  ULONG 		ContextFlags;
-  /*
-   * This section is specified/returned if the ContextFlags word
-   * contains the flag CONTEXT_INTEGER.
-   */
-  ULONG 		R0;
-  ULONG 		R1;
-  ULONG 		R2;
-  ULONG 		R3;
-  ULONG 		R4;
-  ULONG 		R5;
-  ULONG 		R6;
-  ULONG 		R7;
-  ULONG 		R8;
-  ULONG 		R9;
-  ULONG 		R10;
-  ULONG 		R11;
-  ULONG 		R12;
-  ULONG 		Sp;
-  ULONG 		Lr;
-  ULONG 		Pc;
-  ULONG 		Psr;
-} CONTEXT;
-
-#else
-#error "undefined processor type"
-#endif
-typedef CONTEXT *PCONTEXT, *LPCONTEXT;
-
-typedef struct _EXCEPTION_RECORD
-{ DWORD 			ExceptionCode;
-  DWORD 			ExceptionFlags;
-  struct _EXCEPTION_RECORD     *ExceptionRecord;
-  PVOID 			ExceptionAddress;
-  DWORD 			NumberParameters;
-  DWORD 			ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
-} EXCEPTION_RECORD, *PEXCEPTION_RECORD, *LPEXCEPTION_RECORD;
-
-typedef struct _EXCEPTION_POINTERS
-{ PEXCEPTION_RECORD		ExceptionRecord;
-  PCONTEXT			ContextRecord;
-} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS, *LPEXCEPTION_POINTERS;
-
-typedef union _LARGE_INTEGER
-{ struct
-  { DWORD			  LowPart;
-    LONG			  HighPart;
-  }				u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
-  _ANONYMOUS_STRUCT struct
-  { DWORD			LowPart;
-    LONG			HighPart;
-  };
-#endif /* NONAMELESSUNION */
-  LONGLONG			QuadPart;
-} LARGE_INTEGER, *PLARGE_INTEGER;
-
-typedef union _ULARGE_INTEGER
-{ struct
-  { DWORD			  LowPart;
-    DWORD			  HighPart;
-  }				u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
-  _ANONYMOUS_STRUCT struct
-  { DWORD			LowPart;
-    DWORD			HighPart;
-  };
-#endif /* NONAMELESSUNION */
-  ULONGLONG			QuadPart;
-} ULARGE_INTEGER, *PULARGE_INTEGER;
-
-typedef struct _LUID
-{ DWORD 		LowPart;
-  LONG			HighPart;
-} LUID, *PLUID;
-#pragma pack(push,4)
-
-typedef struct _LUID_AND_ATTRIBUTES
-{ LUID			Luid;
-  DWORD 		Attributes;
-} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
-#pragma pack(pop)
-typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-
-typedef struct _PRIVILEGE_SET
-{ DWORD 		PrivilegeCount;
-  DWORD 		Control;
-  LUID_AND_ATTRIBUTES	Privilege[ANYSIZE_ARRAY];
-} PRIVILEGE_SET, *PPRIVILEGE_SET;
-
-typedef struct _SECURITY_ATTRIBUTES
-{ DWORD 		nLength;
-  LPVOID		lpSecurityDescriptor;
-  BOOL			bInheritHandle;
-} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
-
-typedef enum _SECURITY_IMPERSONATION_LEVEL
-{ SecurityAnonymous,
-  SecurityIdentification,
-  SecurityImpersonation,
-  SecurityDelegation
-} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
-typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, *PSECURITY_CONTEXT_TRACKING_MODE;
-
-typedef struct _SECURITY_QUALITY_OF_SERVICE
-{ DWORD 				Length;
-  SECURITY_IMPERSONATION_LEVEL		ImpersonationLevel;
-  SECURITY_CONTEXT_TRACKING_MODE	ContextTrackingMode;
-  BOOLEAN				EffectiveOnly;
-} SECURITY_QUALITY_OF_SERVICE, *PSECURITY_QUALITY_OF_SERVICE;
-typedef PVOID PACCESS_TOKEN;
-
-typedef struct _SE_IMPERSONATION_STATE
-{ PACCESS_TOKEN 		Token;
-  BOOLEAN			CopyOnOpen;
-  BOOLEAN			EffectiveOnly;
-  SECURITY_IMPERSONATION_LEVEL	Level;
-} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
-
-typedef struct _SID_IDENTIFIER_AUTHORITY
-{ BYTE				Value[6];
-} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY, *LPSID_IDENTIFIER_AUTHORITY;
-typedef PVOID PSID;
-
-typedef struct _SID
-{ BYTE				Revision;
-  BYTE				SubAuthorityCount;
-  SID_IDENTIFIER_AUTHORITY	IdentifierAuthority;
-  DWORD 			SubAuthority[ANYSIZE_ARRAY];
-} SID, *PISID;
-
-typedef struct _SID_AND_ATTRIBUTES
-{ PSID			Sid;
-  DWORD 		Attributes;
-} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
-typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-
-#if (_WIN32_WINNT >= 0x0600)
-typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY;
-
-typedef struct _SID_AND_ATTRIBUTES_HASH
-{ DWORD 		SidCount;
-  PSID_AND_ATTRIBUTES	SidAttr;
-  SID_HASH_ENTRY	Hash[SID_HASH_SIZE];
-} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
-#endif
-
-typedef struct _TOKEN_SOURCE
-{ CHAR			SourceName[TOKEN_SOURCE_LENGTH];
-  LUID			SourceIdentifier;
-} TOKEN_SOURCE, *PTOKEN_SOURCE;
-
-typedef struct _TOKEN_CONTROL
-{ LUID			TokenId;
-  LUID			AuthenticationId;
-  LUID			ModifiedId;
-  TOKEN_SOURCE		TokenSource;
-} TOKEN_CONTROL, *PTOKEN_CONTROL;
-
-typedef struct _TOKEN_DEFAULT_DACL
-{ PACL			DefaultDacl;
-} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
-
-typedef struct _TOKEN_GROUPS
-{ DWORD 		GroupCount;
-  SID_AND_ATTRIBUTES	Groups[ANYSIZE_ARRAY];
-} TOKEN_GROUPS, *PTOKEN_GROUPS, *LPTOKEN_GROUPS;
-
-typedef struct _TOKEN_OWNER
-{ PSID			Owner;
-} TOKEN_OWNER, *PTOKEN_OWNER;
-
-typedef struct _TOKEN_PRIMARY_GROUP
-{ PSID			PrimaryGroup;
-} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
-
-typedef struct _TOKEN_PRIVILEGES
-{ DWORD 		PrivilegeCount;
-  LUID_AND_ATTRIBUTES	Privileges[ANYSIZE_ARRAY];
-} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES, *LPTOKEN_PRIVILEGES;
-
-typedef enum tagTOKEN_TYPE
-{ TokenPrimary		=	1,
-  TokenImpersonation
-} TOKEN_TYPE, *PTOKEN_TYPE;
-
-typedef struct _TOKEN_STATISTICS
-{ LUID				TokenId;
-  LUID				AuthenticationId;
-  LARGE_INTEGER 		ExpirationTime;
-  TOKEN_TYPE			TokenType;
-  SECURITY_IMPERSONATION_LEVEL	ImpersonationLevel;
-  DWORD 			DynamicCharged;
-  DWORD 			DynamicAvailable;
-  DWORD 			GroupCount;
-  DWORD 			PrivilegeCount;
-  LUID ModifiedId;
-} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
-
-typedef struct _TOKEN_USER
-{ SID_AND_ATTRIBUTES		User;
-} TOKEN_USER, *PTOKEN_USER;
-#if (_WIN32_WINNT >= 0x0600)
-
-typedef struct _TOKEN_LINKED_TOKEN
-{ HANDLE			LinkedToken;
-} TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
-
-typedef struct _TOKEN_MANDATORY_LABEL
-{ SID_AND_ATTRIBUTES		Label;
-} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
-
-typedef struct _TOKEN_MANDATORY_POLICY
-{ DWORD 			Policy;
-} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
-
-typedef struct _TOKEN_ELEVATION
-{ DWORD 			TokenIsElevated;
-} TOKEN_ELEVATION, *PTOKEN_ELEVATION;
-
-typedef struct _TOKEN_ACCESS_INFORMATION
-{ PSID_AND_ATTRIBUTES_HASH	SidHash;
-  PSID_AND_ATTRIBUTES_HASH	RestrictedSidHash;
-  PTOKEN_PRIVILEGES		Privileges;
-  LUID				AuthenticationId;
-  TOKEN_TYPE			TokenType;
-  SECURITY_IMPERSONATION_LEVEL	ImpersonationLevel;
-  TOKEN_MANDATORY_POLICY	MandatoryPolicy;
-  DWORD 			Flags;
-} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
-#endif
-typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
-typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
-
-typedef struct _SECURITY_DESCRIPTOR
-{ BYTE				Revision;
-  BYTE				Sbz1;
-  SECURITY_DESCRIPTOR_CONTROL	Control;
-  PSID				Owner;
-  PSID				Group;
-  PACL				Sacl;
-  PACL				Dacl;
-} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
-
-typedef enum _TOKEN_INFORMATION_CLASS
-{ TokenUser		=	1,
-  TokenGroups,
-  TokenPrivileges,
-  TokenOwner,
-  TokenPrimaryGroup,
-  TokenDefaultDacl,
-  TokenSource,
-  TokenType,
-  TokenImpersonationLevel,
-  TokenStatistics,
-  TokenRestrictedSids,
-  TokenSessionId,
-  TokenGroupsAndPrivileges,
-  TokenSessionReference,
-  TokenSandBoxInert,
-  TokenAuditPolicy,
-  TokenOrigin,
-#if (_WIN32_WINNT >= 0x0600)
-  TokenElevationType,
-  TokenLinkedToken,
-  TokenElevation,
-  TokenHasRestrictions,
-  TokenAccessInformation,
-  TokenVirtualizationAllowed,
-  TokenVirtualizationEnabled,
-  TokenIntegrityLevel,
-  TokenUIAccess,
-  TokenMandatoryPolicy,
-  TokenLogonSid,
-#endif
-  MaxTokenInfoClass
-} TOKEN_INFORMATION_CLASS;
-
-typedef enum _SID_NAME_USE
-{ SidTypeUser		=	1,
-  SidTypeGroup,
-  SidTypeDomain,
-  SidTypeAlias,
-  SidTypeWellKnownGroup,
-  SidTypeDeletedAccount,
-  SidTypeInvalid,
-  SidTypeUnknown,
-  SidTypeComputer
-} SID_NAME_USE, *PSID_NAME_USE;
-
-typedef struct _QUOTA_LIMITS
-{ SIZE_T		PagedPoolLimit;
-  SIZE_T		NonPagedPoolLimit;
-  SIZE_T		MinimumWorkingSetSize;
-  SIZE_T		MaximumWorkingSetSize;
-  SIZE_T		PagefileLimit;
-  LARGE_INTEGER 	TimeLimit;
-} QUOTA_LIMITS, *PQUOTA_LIMITS;
-
-typedef struct _IO_COUNTERS
-{ ULONGLONG		ReadOperationCount;
-  ULONGLONG		WriteOperationCount;
-  ULONGLONG		OtherOperationCount;
-  ULONGLONG		ReadTransferCount;
-  ULONGLONG		WriteTransferCount;
-  ULONGLONG		OtherTransferCount;
-} IO_COUNTERS, *PIO_COUNTERS;
-
-typedef struct _FILE_NOTIFY_INFORMATION
-{ DWORD 		NextEntryOffset;
-  DWORD 		Action;
-  DWORD 		FileNameLength;
-  WCHAR 		FileName[1];
-} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
-
-typedef struct _TAPE_ERASE
-{ DWORD 		Type;
-  BOOLEAN		Immediate;
-} TAPE_ERASE, *PTAPE_ERASE;
-
-typedef struct _TAPE_GET_DRIVE_PARAMETERS
-{ BOOLEAN		ECC;
-  BOOLEAN		Compression;
-  BOOLEAN		DataPadding;
-  BOOLEAN		ReportSetmarks;
-  DWORD 		DefaultBlockSize;
-  DWORD 		MaximumBlockSize;
-  DWORD 		MinimumBlockSize;
-  DWORD 		MaximumPartitionCount;
-  DWORD 		FeaturesLow;
-  DWORD 		FeaturesHigh;
-  DWORD 		EOTWarningZoneSize;
-} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
-
-typedef struct _TAPE_GET_MEDIA_PARAMETERS
-{ LARGE_INTEGER 	Capacity;
-  LARGE_INTEGER 	Remaining;
-  DWORD 		BlockSize;
-  DWORD 		PartitionCount;
-  BOOLEAN		WriteProtected;
-} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS;
-
-typedef struct _TAPE_GET_POSITION
-{ ULONG 		Type;
-  ULONG 		Partition;
-  ULONG 		OffsetLow;
-  ULONG 		OffsetHigh;
-} TAPE_GET_POSITION, *PTAPE_GET_POSITION;
-
-typedef struct _TAPE_PREPARE
-{ DWORD 		Operation;
-  BOOLEAN		Immediate;
-} TAPE_PREPARE, *PTAPE_PREPARE;
-
-typedef struct _TAPE_SET_DRIVE_PARAMETERS
-{ BOOLEAN		ECC;
-  BOOLEAN		Compression;
-  BOOLEAN		DataPadding;
-  BOOLEAN		ReportSetmarks;
-  ULONG 		EOTWarningZoneSize;
-} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS;
-
-typedef struct _TAPE_SET_MEDIA_PARAMETERS
-{ ULONG 		BlockSize;
-} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;
-
-typedef struct _TAPE_SET_POSITION
-{ DWORD 		Method;
-  DWORD 		Partition;
-  LARGE_INTEGER 	Offset;
-  BOOLEAN		Immediate;
-} TAPE_SET_POSITION, *PTAPE_SET_POSITION;
-
-typedef struct _TAPE_WRITE_MARKS
-{ DWORD 		Type;
-  DWORD 		Count;
-  BOOLEAN		Immediate;
-} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS;
-
-typedef struct _TAPE_CREATE_PARTITION
-{ DWORD 		Method;
-  DWORD 		Count;
-  DWORD 		Size;
-} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION;
-
-typedef struct _MEMORY_BASIC_INFORMATION
-{ PVOID 		BaseAddress;
-  PVOID 		AllocationBase;
-  DWORD 		AllocationProtect;
-  DWORD 		RegionSize;
-  DWORD 		State;
-  DWORD 		Protect;
-  DWORD 		Type;
-} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
-
-typedef struct _MESSAGE_RESOURCE_ENTRY
-{ WORD			Length;
-  WORD			Flags;
-  BYTE			Text[1];
-} MESSAGE_RESOURCE_ENTRY, *PMESSAGE_RESOURCE_ENTRY;
-
-typedef struct _MESSAGE_RESOURCE_BLOCK
-{ DWORD 		LowId;
-  DWORD 		HighId;
-  DWORD 		OffsetToEntries;
-} MESSAGE_RESOURCE_BLOCK, *PMESSAGE_RESOURCE_BLOCK;
-
-typedef struct _MESSAGE_RESOURCE_DATA
-{ DWORD 			NumberOfBlocks;
-  MESSAGE_RESOURCE_BLOCK	Blocks[1];
-} MESSAGE_RESOURCE_DATA, *PMESSAGE_RESOURCE_DATA;
-
-typedef struct _LIST_ENTRY
-{ struct _LIST_ENTRY		*Flink;
-  struct _LIST_ENTRY		*Blink;
-} LIST_ENTRY, *PLIST_ENTRY;
-
-typedef struct _SINGLE_LIST_ENTRY
-{ struct _SINGLE_LIST_ENTRY	*Next;
-} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
-
-#ifndef _SLIST_HEADER_
-#define _SLIST_HEADER_
-#define SLIST_ENTRY		SINGLE_LIST_ENTRY
-#define _SLIST_ENTRY	       _SINGLE_LIST_ENTRY
-#define PSLIST_ENTRY		PSINGLE_LIST_ENTRY
-
-typedef union _SLIST_HEADER
-{ ULONGLONG			Alignment;
-  _ANONYMOUS_STRUCT struct
-  { SLIST_ENTRY 		  Next;
-    WORD			  Depth;
-    WORD			  Sequence;
-  }				DUMMYSTRUCTNAME;
-} SLIST_HEADER, *PSLIST_HEADER;
-#endif /* !_SLIST_HEADER_ */
-
-typedef struct _RTL_CRITICAL_SECTION_DEBUG
-{ WORD				Type;
-  WORD				CreatorBackTraceIndex;
-  struct _RTL_CRITICAL_SECTION *CriticalSection;
-  LIST_ENTRY			ProcessLocksList;
-  DWORD 			EntryCount;
-  DWORD 			ContentionCount;
-  DWORD 			Spare[2];
-} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG;
-
-typedef struct _RTL_CRITICAL_SECTION
-{ PRTL_CRITICAL_SECTION_DEBUG	DebugInfo;
-  LONG				LockCount;
-  LONG				RecursionCount;
-  HANDLE			OwningThread;
-  HANDLE			LockSemaphore;
-  DWORD 			Reserved;
-} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
-
-typedef struct _EVENTLOGRECORD
-{ DWORD 		Length;
-  DWORD 		Reserved;
-  DWORD 		RecordNumber;
-  DWORD 		TimeGenerated;
-  DWORD 		TimeWritten;
-  DWORD 		EventID;
-  WORD			EventType;
-  WORD			NumStrings;
-  WORD			EventCategory;
-  WORD			ReservedFlags;
-  DWORD 		ClosingRecordNumber;
-  DWORD 		StringOffset;
-  DWORD 		UserSidLength;
-  DWORD 		UserSidOffset;
-  DWORD 		DataLength;
-  DWORD 		DataOffset;
-} EVENTLOGRECORD, *PEVENTLOGRECORD;
-
-typedef struct _OSVERSIONINFOA
-{ DWORD 		dwOSVersionInfoSize;
-  DWORD 		dwMajorVersion;
-  DWORD 		dwMinorVersion;
-  DWORD 		dwBuildNumber;
-  DWORD 		dwPlatformId;
-  CHAR			szCSDVersion[128];
-} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
-
-typedef struct _OSVERSIONINFOW
-{ DWORD 		dwOSVersionInfoSize;
-  DWORD 		dwMajorVersion;
-  DWORD 		dwMinorVersion;
-  DWORD 		dwBuildNumber;
-  DWORD 		dwPlatformId;
-  WCHAR 		szCSDVersion[128];
-} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW;
-
-typedef struct _OSVERSIONINFOEXA
-{ DWORD 		dwOSVersionInfoSize;
-  DWORD 		dwMajorVersion;
-  DWORD 		dwMinorVersion;
-  DWORD 		dwBuildNumber;
-  DWORD 		dwPlatformId;
-  CHAR			szCSDVersion[128];
-  WORD			wServicePackMajor;
-  WORD			wServicePackMinor;
-  WORD			wSuiteMask;
-  BYTE			wProductType;
-  BYTE			wReserved;
-} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
-
-typedef struct _OSVERSIONINFOEXW
-{ DWORD 		dwOSVersionInfoSize;
-  DWORD 		dwMajorVersion;
-  DWORD 		dwMinorVersion;
-  DWORD 		dwBuildNumber;
-  DWORD 		dwPlatformId;
-  WCHAR szCSDVersion[128];
-  WORD			wServicePackMajor;
-  WORD			wServicePackMinor;
-  WORD			wSuiteMask;
-  BYTE			wProductType;
-  BYTE			wReserved;
-} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
-
-#pragma pack(push,2)
-typedef struct _IMAGE_VXD_HEADER
-{ WORD			e32_magic;
-  BYTE			e32_border;
-  BYTE			e32_worder;
-  DWORD 		e32_level;
-  WORD			e32_cpu;
-  WORD			e32_os;
-  DWORD 		e32_ver;
-  DWORD 		e32_mflags;
-  DWORD 		e32_mpages;
-  DWORD 		e32_startobj;
-  DWORD 		e32_eip;
-  DWORD 		e32_stackobj;
-  DWORD 		e32_esp;
-  DWORD 		e32_pagesize;
-  DWORD 		e32_lastpagesize;
-  DWORD 		e32_fixupsize;
-  DWORD 		e32_fixupsum;
-  DWORD 		e32_ldrsize;
-  DWORD 		e32_ldrsum;
-  DWORD 		e32_objtab;
-  DWORD 		e32_objcnt;
-  DWORD 		e32_objmap;
-  DWORD 		e32_itermap;
-  DWORD 		e32_rsrctab;
-  DWORD 		e32_rsrccnt;
-  DWORD 		e32_restab;
-  DWORD 		e32_enttab;
-  DWORD 		e32_dirtab;
-  DWORD 		e32_dircnt;
-  DWORD 		e32_fpagetab;
-  DWORD 		e32_frectab;
-  DWORD 		e32_impmod;
-  DWORD 		e32_impmodcnt;
-  DWORD 		e32_impproc;
-  DWORD 		e32_pagesum;
-  DWORD 		e32_datapage;
-  DWORD 		e32_preload;
-  DWORD 		e32_nrestab;
-  DWORD 		e32_cbnrestab;
-  DWORD 		e32_nressum;
-  DWORD 		e32_autodata;
-  DWORD 		e32_debuginfo;
-  DWORD 		e32_debuglen;
-  DWORD 		e32_instpreload;
-  DWORD 		e32_instdemand;
-  DWORD 		e32_heapsize;
-  BYTE			e32_res3[12];
-  DWORD 		e32_winresoff;
-  DWORD 		e32_winreslen;
-  WORD			e32_devid;
-  WORD			e32_ddkver;
-} IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;
-#pragma pack(pop)
-
-#pragma pack(push,4)
-typedef struct _IMAGE_FILE_HEADER
-{ WORD			Machine;
-  WORD			NumberOfSections;
-  DWORD 		TimeDateStamp;
-  DWORD 		PointerToSymbolTable;
-  DWORD 		NumberOfSymbols;
-  WORD			SizeOfOptionalHeader;
-  WORD			Characteristics;
-} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
-
-typedef struct _IMAGE_DATA_DIRECTORY
-{ DWORD 		VirtualAddress;
-  DWORD 		Size;
-} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
-
-typedef struct _IMAGE_OPTIONAL_HEADER
-{ WORD			Magic;
-  BYTE			MajorLinkerVersion;
-  BYTE			MinorLinkerVersion;
-  DWORD 		SizeOfCode;
-  DWORD 		SizeOfInitializedData;
-  DWORD 		SizeOfUninitializedData;
-  DWORD 		AddressOfEntryPoint;
-  DWORD 		BaseOfCode;
-  DWORD 		BaseOfData;
-  DWORD 		ImageBase;
-  DWORD 		SectionAlignment;
-  DWORD 		FileAlignment;
-  WORD			MajorOperatingSystemVersion;
-  WORD			MinorOperatingSystemVersion;
-  WORD			MajorImageVersion;
-  WORD			MinorImageVersion;
-  WORD			MajorSubsystemVersion;
-  WORD			MinorSubsystemVersion;
-  DWORD 		Win32VersionValue;
-  DWORD 		SizeOfImage;
-  DWORD 		SizeOfHeaders;
-  DWORD 		CheckSum;
-  WORD			Subsystem;
-  WORD			DllCharacteristics;
-  DWORD 		SizeOfStackReserve;
-  DWORD 		SizeOfStackCommit;
-  DWORD 		SizeOfHeapReserve;
-  DWORD 		SizeOfHeapCommit;
-  DWORD 		LoaderFlags;
-  DWORD 		NumberOfRvaAndSizes;
-  IMAGE_DATA_DIRECTORY	DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
-
-typedef struct _IMAGE_OPTIONAL_HEADER64
-{ WORD			Magic;
-  BYTE			MajorLinkerVersion;
-  BYTE			MinorLinkerVersion;
-  DWORD 		SizeOfCode;
-  DWORD 		SizeOfInitializedData;
-  DWORD 		SizeOfUninitializedData;
-  DWORD 		AddressOfEntryPoint;
-  DWORD 		BaseOfCode;
-  ULONGLONG		ImageBase;
-  DWORD 		SectionAlignment;
-  DWORD 		FileAlignment;
-  WORD			MajorOperatingSystemVersion;
-  WORD			MinorOperatingSystemVersion;
-  WORD			MajorImageVersion;
-  WORD			MinorImageVersion;
-  WORD			MajorSubsystemVersion;
-  WORD			MinorSubsystemVersion;
-  DWORD 		Win32VersionValue;
-  DWORD 		SizeOfImage;
-  DWORD 		SizeOfHeaders;
-  DWORD 		CheckSum;
-  WORD			Subsystem;
-  WORD			DllCharacteristics;
-  ULONGLONG		SizeOfStackReserve;
-  ULONGLONG		SizeOfStackCommit;
-  ULONGLONG		SizeOfHeapReserve;
-  ULONGLONG		SizeOfHeapCommit;
-  DWORD 		LoaderFlags;
-  DWORD 		NumberOfRvaAndSizes;
-  IMAGE_DATA_DIRECTORY	DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;
-#ifdef _WIN64
-typedef IMAGE_OPTIONAL_HEADER64		IMAGE_OPTIONAL_HEADER;
-typedef PIMAGE_OPTIONAL_HEADER64	PIMAGE_OPTIONAL_HEADER;
-#else
-typedef IMAGE_OPTIONAL_HEADER32		IMAGE_OPTIONAL_HEADER;
-typedef PIMAGE_OPTIONAL_HEADER32	PIMAGE_OPTIONAL_HEADER;
-#endif
-
-typedef struct _IMAGE_ROM_OPTIONAL_HEADER
-{ WORD			Magic;
-  BYTE			MajorLinkerVersion;
-  BYTE			MinorLinkerVersion;
-  DWORD 		SizeOfCode;
-  DWORD 		SizeOfInitializedData;
-  DWORD 		SizeOfUninitializedData;
-  DWORD 		AddressOfEntryPoint;
-  DWORD 		BaseOfCode;
-  DWORD 		BaseOfData;
-  DWORD 		BaseOfBss;
-  DWORD 		GprMask;
-  DWORD 		CprMask[4];
-  DWORD 		GpValue;
-} IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER;
-#pragma pack(pop)
-
-#pragma pack(push,2)
-typedef struct _IMAGE_DOS_HEADER
-{ WORD			e_magic;
-  WORD			e_cblp;
-  WORD			e_cp;
-  WORD			e_crlc;
-  WORD			e_cparhdr;
-  WORD			e_minalloc;
-  WORD			e_maxalloc;
-  WORD			e_ss;
-  WORD			e_sp;
-  WORD			e_csum;
-  WORD			e_ip;
-  WORD			e_cs;
-  WORD			e_lfarlc;
-  WORD			e_ovno;
-  WORD			e_res[4];
-  WORD			e_oemid;
-  WORD			e_oeminfo;
-  WORD			e_res2[10];
-  LONG			e_lfanew;
-} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
-
-typedef struct _IMAGE_OS2_HEADER
-{ WORD			ne_magic;
-  CHAR			ne_ver;
-  CHAR			ne_rev;
-  WORD			ne_enttab;
-  WORD			ne_cbenttab;
-  LONG			ne_crc;
-  WORD			ne_flags;
-  WORD			ne_autodata;
-  WORD			ne_heap;
-  WORD			ne_stack;
-  LONG			ne_csip;
-  LONG			ne_sssp;
-  WORD			ne_cseg;
-  WORD			ne_cmod;
-  WORD			ne_cbnrestab;
-  WORD			ne_segtab;
-  WORD			ne_rsrctab;
-  WORD			ne_restab;
-  WORD			ne_modtab;
-  WORD			ne_imptab;
-  LONG			ne_nrestab;
-  WORD			ne_cmovent;
-  WORD			ne_align;
-  WORD			ne_cres;
-  BYTE			ne_exetyp;
-  BYTE			ne_flagsothers;
-  WORD			ne_pretthunks;
-  WORD			ne_psegrefbytes;
-  WORD			ne_swaparea;
-  WORD			ne_expver;
-} IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
-#pragma pack(pop)
-
-#pragma pack(push,4)
-typedef struct _IMAGE_NT_HEADERS
-{ DWORD 			Signature;
-  IMAGE_FILE_HEADER		FileHeader;
-  IMAGE_OPTIONAL_HEADER32	OptionalHeader;
-} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
-
-typedef struct _IMAGE_NT_HEADERS64
-{ DWORD 			Signature;
-  IMAGE_FILE_HEADER		FileHeader;
-  IMAGE_OPTIONAL_HEADER64	OptionalHeader;
-} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;
-#ifdef _WIN64
-typedef IMAGE_NT_HEADERS64	IMAGE_NT_HEADERS;
-typedef PIMAGE_NT_HEADERS64	PIMAGE_NT_HEADERS;
-#else
-typedef IMAGE_NT_HEADERS32	IMAGE_NT_HEADERS;
-typedef PIMAGE_NT_HEADERS32	PIMAGE_NT_HEADERS;
-#endif
-
-typedef struct _IMAGE_ROM_HEADERS
-{ IMAGE_FILE_HEADER		FileHeader;
-  IMAGE_ROM_OPTIONAL_HEADER	OptionalHeader;
-} IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS;
-
-typedef struct _IMAGE_SECTION_HEADER
-{ BYTE		Name[IMAGE_SIZEOF_SHORT_NAME];
-  union
-  { DWORD	  PhysicalAddress;
-    DWORD	  VirtualSize;
-  }		Misc;
-  DWORD 	VirtualAddress;
-  DWORD 	SizeOfRawData;
-  DWORD 	PointerToRawData;
-  DWORD 	PointerToRelocations;
-  DWORD 	PointerToLinenumbers;
-  WORD		NumberOfRelocations;
-  WORD		NumberOfLinenumbers;
-  DWORD 	Characteristics;
-} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
-#pragma pack(pop)
-
-#pragma pack(push,2)
-typedef struct _IMAGE_SYMBOL
-{ union
-  { BYTE	  ShortName[8];
-    struct
-    { DWORD	    Short;
-      DWORD	    Long;
-    }		  Name;
-    PBYTE	  LongName[2];
-  }		N;
-  DWORD 			Value;
-  SHORT 	SectionNumber;
-  WORD		Type;
-  BYTE		StorageClass;
-  BYTE		NumberOfAuxSymbols;
-} IMAGE_SYMBOL, *PIMAGE_SYMBOL;
-
-typedef union _IMAGE_AUX_SYMBOL
-{ struct
-  { DWORD	  TagIndex;
-    union
-    { struct
-      { WORD	      Linenumber;
-	WORD	      Size;
-      } 	    LnSz;
-      DWORD	    TotalSize;
-    }		  Misc;
-    union
-    { struct
-      { DWORD	      PointerToLinenumber;
-	DWORD	      PointerToNextFunction;
-      } 	    Function;
-      struct
-      { WORD	      Dimension[4];
-      } 	    Array;
-    }		  FcnAry;
-    WORD	  TvIndex;
-  }		Sym;
-  struct
-  { BYTE	  Name[IMAGE_SIZEOF_SYMBOL];
-  }		File;
-  struct
-  { DWORD	  Length;
-    WORD	  NumberOfRelocations;
-    WORD	  NumberOfLinenumbers;
-    DWORD	  CheckSum;
-    SHORT	  Number;
-    BYTE	  Selection;
-  }		Section;
-} IMAGE_AUX_SYMBOL, *PIMAGE_AUX_SYMBOL;
-
-typedef struct _IMAGE_COFF_SYMBOLS_HEADER
-{ DWORD 	NumberOfSymbols;
-  DWORD 	LvaToFirstSymbol;
-  DWORD 	NumberOfLinenumbers;
-  DWORD 	LvaToFirstLinenumber;
-  DWORD 	RvaToFirstByteOfCode;
-  DWORD 	RvaToLastByteOfCode;
-  DWORD 	RvaToFirstByteOfData;
-  DWORD 	RvaToLastByteOfData;
-} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;
-
-typedef struct _IMAGE_RELOCATION
-{ _ANONYMOUS_UNION union
-  { DWORD		  VirtualAddress;
-    DWORD		  RelocCount;
-  }			DUMMYUNIONNAME;
-  DWORD 		SymbolTableIndex;
-  WORD			Type;
-} IMAGE_RELOCATION, *PIMAGE_RELOCATION;
-#pragma pack(pop)
-
-#pragma pack(push,4)
-typedef struct _IMAGE_BASE_RELOCATION
-{ DWORD 	VirtualAddress;
-  DWORD 	SizeOfBlock;
-} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION;
-#pragma pack(pop)
-
-#pragma pack(push,2)
-typedef struct _IMAGE_LINENUMBER
-{ union
-  { DWORD	  SymbolTableIndex;
-    DWORD	  VirtualAddress;
-  }		Type;
-  WORD		Linenumber;
-} IMAGE_LINENUMBER, *PIMAGE_LINENUMBER;
-#pragma pack(pop)
-
-#pragma pack(push,4)
-typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER
-{ BYTE		Name[16];
-  BYTE		Date[12];
-  BYTE		UserID[6];
-  BYTE		GroupID[6];
-  BYTE		Mode[8];
-  BYTE		Size[10];
-  BYTE		EndHeader[2];
-} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;
-
-typedef struct _IMAGE_EXPORT_DIRECTORY
-{ DWORD 	Characteristics;
-  DWORD 	TimeDateStamp;
-  WORD		MajorVersion;
-  WORD		MinorVersion;
-  DWORD 	Name;
-  DWORD 	Base;
-  DWORD 	NumberOfFunctions;
-  DWORD 	NumberOfNames;
-  DWORD 	AddressOfFunctions;
-  DWORD 	AddressOfNames;
-  DWORD 	AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
-
-typedef struct _IMAGE_IMPORT_BY_NAME
-{ WORD		Hint;
-  BYTE		Name[1];
-} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
-
-typedef struct _IMAGE_THUNK_DATA32
-{ union
-  { DWORD	  ForwarderString;
-    DWORD	  Function;
-    DWORD	  Ordinal;
-    DWORD	  AddressOfData;
-  }		u1;
-} IMAGE_THUNK_DATA32, *PIMAGE_THUNK_DATA32;
-
-typedef struct _IMAGE_THUNK_DATA64
-{ union
-  { ULONGLONG	  ForwarderString;
-    ULONGLONG	  Function;
-    ULONGLONG	  Ordinal;
-    ULONGLONG	  AddressOfData;
-  }		u1;
-} IMAGE_THUNK_DATA64, *PIMAGE_THUNK_DATA64;
-#ifdef __WIN64
-typedef IMAGE_THUNK_DATA64	IMAGE_THUNK_DATA;
-typedef PIMAGE_THUNK_DATA64	PIMAGE_THUNK_DATA;
-#else
-typedef IMAGE_THUNK_DATA32	IMAGE_THUNK_DATA;
-typedef PIMAGE_THUNK_DATA32	PIMAGE_THUNK_DATA;
-#endif
-
-typedef struct _IMAGE_IMPORT_DESCRIPTOR
-{ _ANONYMOUS_UNION union
-  { DWORD		  Characteristics;
-    DWORD		  OriginalFirstThunk;
-  }			DUMMYUNIONNAME;
-  DWORD 		TimeDateStamp;
-  DWORD 		ForwarderChain;
-  DWORD 		Name;
-  DWORD 		FirstThunk;
-} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
-
-typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR
-{ DWORD 	TimeDateStamp;
-  WORD		OffsetModuleName;
-  WORD		NumberOfModuleForwarderRefs;
-} IMAGE_BOUND_IMPORT_DESCRIPTOR, *PIMAGE_BOUND_IMPORT_DESCRIPTOR;
-
-typedef struct _IMAGE_BOUND_FORWARDER_REF
-{ DWORD 	TimeDateStamp;
-  WORD		OffsetModuleName;
-  WORD		Reserved;
-} IMAGE_BOUND_FORWARDER_REF, *PIMAGE_BOUND_FORWARDER_REF;
-typedef void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID);
-
-typedef struct _IMAGE_TLS_DIRECTORY32
-{ DWORD 	StartAddressOfRawData;
-  DWORD 	EndAddressOfRawData;
-  DWORD 	AddressOfIndex;
-  DWORD 	AddressOfCallBacks;
-  DWORD 	SizeOfZeroFill;
-  DWORD 	Characteristics;
-} IMAGE_TLS_DIRECTORY32, *PIMAGE_TLS_DIRECTORY32;
-
-typedef struct _IMAGE_TLS_DIRECTORY64
-{ ULONGLONG	StartAddressOfRawData;
-  ULONGLONG	EndAddressOfRawData;
-  ULONGLONG	AddressOfIndex;
-  ULONGLONG	AddressOfCallBacks;
-  DWORD 	SizeOfZeroFill;
-  DWORD 	Characteristics;
-} IMAGE_TLS_DIRECTORY64, *PIMAGE_TLS_DIRECTORY64;
-#ifdef __WIN64
-typedef IMAGE_TLS_DIRECTORY64	IMAGE_TLS_DIRECTORY;
-typedef PIMAGE_TLS_DIRECTORY64	PIMAGE_TLS_DIRECTORY;
-#else
-typedef IMAGE_TLS_DIRECTORY32	IMAGE_TLS_DIRECTORY;
-typedef PIMAGE_TLS_DIRECTORY32	PIMAGE_TLS_DIRECTORY;
-#endif
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY
-{ DWORD 	Characteristics;
-  DWORD 	TimeDateStamp;
-  WORD		MajorVersion;
-  WORD		MinorVersion;
-  WORD		NumberOfNamedEntries;
-  WORD		NumberOfIdEntries;
-} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
-
-_ANONYMOUS_STRUCT typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY
-{ _ANONYMOUS_UNION union
-  { _ANONYMOUS_STRUCT struct
-    { DWORD			    NameOffset	  : 31;
-      DWORD			    NameIsString  :  1;
-    }				  DUMMYSTRUCTNAME;
-    DWORD			  Name;
-    WORD			  Id;
-  }				DUMMYUNIONNAME;
-  _ANONYMOUS_UNION union
-  { DWORD			  OffsetToData;
-    _ANONYMOUS_STRUCT struct
-    { DWORD			    OffsetToDirectory:31;
-      DWORD			    DataIsDirectory:1;
-    }				  DUMMYSTRUCTNAME2;
-  }				DUMMYUNIONNAME2;
-} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING
-{ WORD		Length;
-  CHAR		NameString[1];
-} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING;
-
-typedef struct _IMAGE_RESOURCE_DIR_STRING_U
-{ WORD		Length;
-  WCHAR 	NameString[1];
-} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;
-
-typedef struct _IMAGE_RESOURCE_DATA_ENTRY
-{ DWORD 	OffsetToData;
-  DWORD 	Size;
-  DWORD 	CodePage;
-  DWORD 	Reserved;
-} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
-
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY
-{ DWORD 	Characteristics;
-  DWORD 	TimeDateStamp;
-  WORD		MajorVersion;
-  WORD		MinorVersion;
-  DWORD 	GlobalFlagsClear;
-  DWORD 	GlobalFlagsSet;
-  DWORD 	CriticalSectionDefaultTimeout;
-  DWORD 	DeCommitFreeBlockThreshold;
-  DWORD 	DeCommitTotalFreeThreshold;
-  PVOID 	LockPrefixTable;
-  DWORD 	MaximumAllocationSize;
-  DWORD 	VirtualMemoryThreshold;
-  DWORD 	ProcessHeapFlags;
-  DWORD 	Reserved[4];
-} IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY;
-
-typedef struct
-{ DWORD 	Characteristics;
-  DWORD 	TimeDateStamp;
-  WORD		MajorVersion;
-  WORD		MinorVersion;
-  DWORD 	GlobalFlagsClear;
-  DWORD 	GlobalFlagsSet;
-  DWORD 	CriticalSectionDefaultTimeout;
-  ULONGLONG	DeCommitFreeBlockThreshold;
-  ULONGLONG	DeCommitTotalFreeThreshold;
-  ULONGLONG	LockPrefixTable;
-  ULONGLONG	MaximumAllocationSize;
-  ULONGLONG	VirtualMemoryThreshold;
-  ULONGLONG	ProcessAffinityMask;
-  DWORD 	ProcessHeapFlags;
-  WORD		CSDFlags;
-  WORD		Reserved1;
-  ULONGLONG	EditList;
-  DWORD 	Reserved[2];
-} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;
-
-typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY
-{ DWORD 	BeginAddress;
-  DWORD 	EndAddress;
-  PVOID 	ExceptionHandler;
-  PVOID 	HandlerData;
-  DWORD 	PrologEndAddress;
-} IMAGE_RUNTIME_FUNCTION_ENTRY, *PIMAGE_RUNTIME_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY
-{ unsigned int	FuncStart:32;
-  unsigned int	PrologLen:8;
-  unsigned int	FuncLen:22;
-  unsigned int	ThirtyTwoBit:1;
-  unsigned int	ExceptionFlag:1;
-} IMAGE_CE_RUNTIME_FUNCTION_ENTRY, *PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_DEBUG_DIRECTORY
-{ DWORD 	Characteristics;
-  DWORD 	TimeDateStamp;
-  WORD		MajorVersion;
-  WORD		MinorVersion;
-  DWORD 	Type;
-  DWORD 	SizeOfData;
-  DWORD 	AddressOfRawData;
-  DWORD 	PointerToRawData;
-} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
-
-typedef struct _FPO_DATA
-{ DWORD 	ulOffStart;
-  DWORD 	cbProcSize;
-  DWORD 	cdwLocals;
-  WORD		cdwParams;
-  WORD		cbProlog:8;
-  WORD		cbRegs:3;
-  WORD		fHasSEH:1;
-  WORD		fUseBP:1;
-  WORD		reserved:1;
-  WORD		cbFrame:2;
-} FPO_DATA, *PFPO_DATA;
-
-typedef struct _IMAGE_DEBUG_MISC
-{ DWORD 	DataType;
-  DWORD 	Length;
-  BOOLEAN	Unicode;
-  BYTE		Reserved[3];
-  BYTE		Data[1];
-} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC;
-
-typedef struct _IMAGE_FUNCTION_ENTRY
-{ DWORD 	StartingAddress;
-  DWORD 	EndingAddress;
-  DWORD 	EndOfPrologue;
-} IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_FUNCTION_ENTRY64
-{ ULONGLONG		StartingAddress;
-  ULONGLONG		EndingAddress;
-  _ANONYMOUS_UNION union
-  { ULONGLONG		  EndOfPrologue;
-    ULONGLONG		  UnwindInfoAddress;
-  }			DUMMYUNIONNAME;
-} IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64;
-
-typedef struct _IMAGE_SEPARATE_DEBUG_HEADER
-{ WORD		Signature;
-  WORD		Flags;
-  WORD		Machine;
-  WORD		Characteristics;
-  DWORD 	TimeDateStamp;
-  DWORD 	CheckSum;
-  DWORD 	ImageBase;
-  DWORD 	SizeOfImage;
-  DWORD 	NumberOfSections;
-  DWORD 	ExportedNamesSize;
-  DWORD 	DebugDirectorySize;
-  DWORD 	SectionAlignment;
-  DWORD 	Reserved[2];
-} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;
-#pragma pack(pop)
-
-typedef enum _CM_SERVICE_NODE_TYPE
-{ DriverType			=	SERVICE_KERNEL_DRIVER,
-  FileSystemType		=	SERVICE_FILE_SYSTEM_DRIVER,
-  Win32ServiceOwnProcess	=	SERVICE_WIN32_OWN_PROCESS,
-  Win32ServiceShareProcess	=	SERVICE_WIN32_SHARE_PROCESS,
-  AdapterType			=	SERVICE_ADAPTER,
-  RecognizerType		=	SERVICE_RECOGNIZER_DRIVER
-} SERVICE_NODE_TYPE;
-
-typedef enum _CM_SERVICE_LOAD_TYPE
-{ BootLoad			=	SERVICE_BOOT_START,
-  SystemLoad			=	SERVICE_SYSTEM_START,
-  AutoLoad			=	SERVICE_AUTO_START,
-  DemandLoad			=	SERVICE_DEMAND_START,
-  DisableLoad			=	SERVICE_DISABLED
-} SERVICE_LOAD_TYPE;
-
-typedef enum _CM_ERROR_CONTROL_TYPE
-{ IgnoreError			=	SERVICE_ERROR_IGNORE,
-  NormalError			=	SERVICE_ERROR_NORMAL,
-  SevereError			=	SERVICE_ERROR_SEVERE,
-  CriticalError			=	SERVICE_ERROR_CRITICAL
-} SERVICE_ERROR_TYPE;
-
-typedef struct _NT_TIB
-{ struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
-  PVOID 				 StackBase;
-  PVOID 				 StackLimit;
-  PVOID 				 SubSystemTib;
-  _ANONYMOUS_UNION union
-  { PVOID		  		   FiberData;
-    DWORD		  		   Version;
-  }					 DUMMYUNIONNAME;
-  PVOID 				 ArbitraryUserPointer;
-  struct _NT_TIB			*Self;
-} NT_TIB, *PNT_TIB;
-
-typedef struct _REPARSE_DATA_BUFFER
-{ DWORD 			ReparseTag;
-  WORD				ReparseDataLength;
-  WORD				Reserved;
-  _ANONYMOUS_UNION union
-  { struct
-    { WORD			    SubstituteNameOffset;
-      WORD			    SubstituteNameLength;
-      WORD			    PrintNameOffset;
-      WORD			    PrintNameLength;
-      ULONG			    Flags;
-      WCHAR			    PathBuffer[1];
-    }				  SymbolicLinkReparseBuffer;
-    struct
-    { WORD			    SubstituteNameOffset;
-      WORD			    SubstituteNameLength;
-      WORD			    PrintNameOffset;
-      WORD			    PrintNameLength;
-      WCHAR			    PathBuffer[1];
-    }				  MountPointReparseBuffer;
-    struct
-    { BYTE			    DataBuffer[1];
-    }				  GenericReparseBuffer;
-  }				DUMMYUNIONNAME;
-} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
-
-typedef struct _REPARSE_GUID_DATA_BUFFER
-{ DWORD 	ReparseTag;
-  WORD		ReparseDataLength;
-  WORD		Reserved;
-  GUID  	ReparseGuid;
-  struct
-  { BYTE	  DataBuffer[1];
-  }		GenericReparseBuffer;
-} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
-
-typedef struct _REPARSE_POINT_INFORMATION
-{ WORD		ReparseDataLength;
-  WORD		UnparsedNameLength;
-} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
-
-
-typedef union _FILE_SEGMENT_ELEMENT
-{ PVOID64	Buffer;
-  ULONGLONG	Alignment;
-} FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
-
-/* JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants */
-#define JOB_OBJECT_LIMIT_WORKINGSET			0x0001
-#define JOB_OBJECT_LIMIT_PROCESS_TIME			0x0002
-#define JOB_OBJECT_LIMIT_JOB_TIME			0x0004
-#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 		0x0008
-#define JOB_OBJECT_LIMIT_AFFINITY			0x0010
-#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 		0x0020
-#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME		0x0040
-#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS		0x0080
-#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 		0x0100
-#define JOB_OBJECT_LIMIT_JOB_MEMORY			0x0200
-#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION	0x0400
-#define JOB_OBJECT_LIMIT_BREAKAWAY_OK			0x0800
-#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK		0x1000
-
-/* Wrong definitions, but keep for backward compatibility. */
-#define JOB_OBJECT_BREAKAWAY_OK 	JOB_OBJECT_LIMIT_BREAKAWAY_OK
-#define JOB_OBJECT_SILENT_BREAKAWAY	JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK
-
-/* JOBOBJECT_BASIC_UI_RESTRICTIONS.UIRestrictionsClass constants */
-#define JOB_OBJECT_UILIMIT_HANDLES			0x0001
-#define JOB_OBJECT_UILIMIT_READCLIPBOARD		0x0002
-#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD		0x0004
-#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS		0x0008
-#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS		0x0010
-#define JOB_OBJECT_UILIMIT_GLOBALATOMS			0x0020
-#define JOB_OBJECT_UILIMIT_DESKTOP			0x0040
-#define JOB_OBJECT_UILIMIT_EXITWINDOWS			0x0080
-
-/* JOBOBJECT_SECURITY_LIMIT_INFORMATION.SecurityLimitFlags constants */
-#define JOB_OBJECT_SECURITY_NO_ADMIN			0x0001
-#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN		0x0002
-#define JOB_OBJECT_SECURITY_ONLY_TOKEN			0x0004
-#define JOB_OBJECT_SECURITY_FILTER_TOKENS		0x0008
-
-/* JOBOBJECT_END_OF_JOB_TIME_INFORMATION.EndOfJobTimeAction constants */
-#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB		 0
-#define JOB_OBJECT_POST_AT_END_OF_JOB			 1
-
-#define JOB_OBJECT_MSG_END_OF_JOB_TIME			 1
-#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME		 2
-#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT		 3
-#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO		 4
-#define JOB_OBJECT_MSG_NEW_PROCESS			 6
-#define JOB_OBJECT_MSG_EXIT_PROCESS			 7
-#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS		 8
-#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT		 9
-#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 		10
-
-
-typedef enum _JOBOBJECTINFOCLASS
-{ JobObjectBasicAccountingInformation		=	 1,
-  JobObjectBasicLimitInformation,
-  JobObjectBasicProcessIdList,
-  JobObjectBasicUIRestrictions,
-  JobObjectSecurityLimitInformation,
-  JobObjectEndOfJobTimeInformation,
-  JobObjectAssociateCompletionPortInformation,
-  JobObjectBasicAndIoAccountingInformation,
-  JobObjectExtendedLimitInformation,
-  JobObjectJobSetInformation,
-  MaxJobObjectInfoClass
-} JOBOBJECTINFOCLASS;
-
-typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
-{ LARGE_INTEGER 	TotalUserTime;
-  LARGE_INTEGER 	TotalKernelTime;
-  LARGE_INTEGER 	ThisPeriodTotalUserTime;
-  LARGE_INTEGER 	ThisPeriodTotalKernelTime;
-  DWORD 		TotalPageFaultCount;
-  DWORD 		TotalProcesses;
-  DWORD 		ActiveProcesses;
-  DWORD 		TotalTerminatedProcesses;
-} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
-
-typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION
-{ LARGE_INTEGER 	PerProcessUserTimeLimit;
-  LARGE_INTEGER 	PerJobUserTimeLimit;
-  DWORD 		LimitFlags;
-  SIZE_T		MinimumWorkingSetSize;
-  SIZE_T		MaximumWorkingSetSize;
-  DWORD 		ActiveProcessLimit;
-  ULONG_PTR		Affinity;
-  DWORD 		PriorityClass;
-  DWORD 		SchedulingClass;
-} JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION;
-
-typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST
-{ DWORD 		NumberOfAssignedProcesses;
-  DWORD 		NumberOfProcessIdsInList;
-  ULONG_PTR		ProcessIdList[1];
-} JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;
-
-typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS
-{ DWORD 		UIRestrictionsClass;
-} JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS;
-
-typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION
-{ DWORD 		SecurityLimitFlags;
-  HANDLE		JobToken;
-  PTOKEN_GROUPS 	SidsToDisable;
-  PTOKEN_PRIVILEGES	PrivilegesToDelete;
-  PTOKEN_GROUPS 	RestrictedSids;
-} JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION;
-
-typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION
-{ DWORD 		EndOfJobTimeAction;
-} JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
-
-typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT
-{ PVOID 		CompletionKey;
-  HANDLE		CompletionPort;
-} JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
-
-typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
-{ JOBOBJECT_BASIC_ACCOUNTING_INFORMATION	BasicInfo;
-  IO_COUNTERS					IoInfo;
-} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
-
-typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION
-{ JOBOBJECT_BASIC_LIMIT_INFORMATION		BasicLimitInformation;
-  IO_COUNTERS					IoInfo;
-  SIZE_T					ProcessMemoryLimit;
-  SIZE_T					JobMemoryLimit;
-  SIZE_T					PeakProcessMemoryUsed;
-  SIZE_T					PeakJobMemoryUsed;
-} JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;
-
-typedef struct _JOBOBJECT_JOBSET_INFORMATION
-{ DWORD 		MemberLevel;
-} JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;
-
-/* Fixme: Making these defines conditional on WINVER will break ddk includes */
-#if 1 /* (WINVER >= 0x0500) */
-#include <pshpack4.h>
-
-#define ES_SYSTEM_REQUIRED			0x00000001
-#define ES_DISPLAY_REQUIRED			0x00000002
-#define ES_USER_PRESENT 			0x00000004
-#define ES_CONTINUOUS				0x80000000
-
-
-typedef enum _LATENCY_TIME
-{ LT_DONT_CARE,
-  LT_LOWEST_LATENCY
-} LATENCY_TIME, *PLATENCY_TIME;
-
-
-typedef enum _SYSTEM_POWER_STATE
-{ PowerSystemUnspecified,
-  PowerSystemWorking,
-  PowerSystemSleeping1,
-  PowerSystemSleeping2,
-  PowerSystemSleeping3,
-  PowerSystemHibernate,
-  PowerSystemShutdown,
-  PowerSystemMaximum
-} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;
-#define POWER_SYSTEM_MAXIMUM  PowerSystemMaximum
-
-typedef enum
-{ PowerActionNone,
-  PowerActionReserved,
-  PowerActionSleep,
-  PowerActionHibernate,
-  PowerActionShutdown,
-  PowerActionShutdownReset,
-  PowerActionShutdownOff,
-  PowerActionWarmEject
-} POWER_ACTION, *PPOWER_ACTION;
-
-#if (_WIN32_WINNT >= 0x0600)
-
-typedef enum
-{ PoAc			=	0,
-  PoDc			=	1,
-  PoHot 		=	2,
-  PoConditionMaximum	=	3
-} SYSTEM_POWER_CONDITION, *PSYSTEM_POWER_CONDITION;
-#endif
-
-
-typedef enum _DEVICE_POWER_STATE
-{ PowerDeviceUnspecified,
-  PowerDeviceD0,
-  PowerDeviceD1,
-  PowerDeviceD2,
-  PowerDeviceD3,
-  PowerDeviceMaximum
-} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
-
-
-typedef struct
-{ DWORD 		Granularity;
-  DWORD 		Capacity;
-} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;
-
-
-typedef struct _POWER_ACTION_POLICY
-{ POWER_ACTION		Action;
-  ULONG 		Flags;
-  ULONG 		EventCode;
-} POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY;
-
-/* POWER_ACTION_POLICY.Flags constants */
-#define POWER_ACTION_QUERY_ALLOWED		0x00000001
-#define POWER_ACTION_UI_ALLOWED 		0x00000002
-#define POWER_ACTION_OVERRIDE_APPS		0x00000004
-#define POWER_ACTION_LIGHTEST_FIRST		0x10000000
-#define POWER_ACTION_LOCK_CONSOLE		0x20000000
-#define POWER_ACTION_DISABLE_WAKES		0x40000000
-#define POWER_ACTION_CRITICAL			0x80000000
-
-/* POWER_ACTION_POLICY.EventCode constants */
-#define POWER_LEVEL_USER_NOTIFY_TEXT		0x00000001
-#define POWER_LEVEL_USER_NOTIFY_SOUND		0x00000002
-#define POWER_LEVEL_USER_NOTIFY_EXEC		0x00000004
-#define POWER_USER_NOTIFY_BUTTON		0x00000008
-#define POWER_USER_NOTIFY_SHUTDOWN		0x00000010
-#define POWER_FORCE_TRIGGER_RESET		0x80000000
-
-#define DISCHARGE_POLICY_CRITICAL			 0
-#define DISCHARGE_POLICY_LOW				 1
-#define NUM_DISCHARGE_POLICIES				 4
-
-#define PO_THROTTLE_NONE				 0
-#define PO_THROTTLE_CONSTANT				 1
-#define PO_THROTTLE_DEGRADE				 2
-#define PO_THROTTLE_ADAPTIVE				 3
-#define PO_THROTTLE_MAXIMUM				 4
-
-typedef struct _SYSTEM_POWER_LEVEL
-{ BOOLEAN		Enable;
-  UCHAR 		Spare[3];
-  ULONG 		BatteryLevel;
-  POWER_ACTION_POLICY	PowerPolicy;
-  SYSTEM_POWER_STATE	MinSystemState;
-} SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL;
-
-typedef struct _SYSTEM_POWER_POLICY
-{ ULONG 		Revision;
-  POWER_ACTION_POLICY	PowerButton;
-  POWER_ACTION_POLICY	SleepButton;
-  POWER_ACTION_POLICY	LidClose;
-  SYSTEM_POWER_STATE	LidOpenWake;
-  ULONG 		Reserved;
-  POWER_ACTION_POLICY	Idle;
-  ULONG 		IdleTimeout;
-  UCHAR 		IdleSensitivity;
-  UCHAR 		DynamicThrottle;
-  UCHAR 		Spare2[2];
-  SYSTEM_POWER_STATE	MinSleep;
-  SYSTEM_POWER_STATE	MaxSleep;
-  SYSTEM_POWER_STATE	ReducedLatencySleep;
-  ULONG 		WinLogonFlags;
-  ULONG 		Spare3;
-  ULONG 		DozeS4Timeout;
-  ULONG 		BroadcastCapacityResolution;
-  SYSTEM_POWER_LEVEL	DischargePolicy[NUM_DISCHARGE_POLICIES];
-  ULONG 		VideoTimeout;
-  BOOLEAN		VideoDimDisplay;
-  ULONG 		VideoReserved[3];
-  ULONG 		SpindownTimeout;
-  BOOLEAN		OptimizeForPower;
-  UCHAR 		FanThrottleTolerance;
-  UCHAR 		ForcedThrottle;
-  UCHAR 		MinThrottle;
-  POWER_ACTION_POLICY	OverThrottled;
-} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;
-
-
-typedef struct _SYSTEM_POWER_CAPABILITIES
-{ BOOLEAN			PowerButtonPresent;
-  BOOLEAN			SleepButtonPresent;
-  BOOLEAN			LidPresent;
-  BOOLEAN			SystemS1;
-  BOOLEAN			SystemS2;
-  BOOLEAN			SystemS3;
-  BOOLEAN			SystemS4;
-  BOOLEAN			SystemS5;
-  BOOLEAN			HiberFilePresent;
-  BOOLEAN			FullWake;
-  BOOLEAN			VideoDimPresent;
-  BOOLEAN			ApmPresent;
-  BOOLEAN			UpsPresent;
-  BOOLEAN			ThermalControl;
-  BOOLEAN			ProcessorThrottle;
-  UCHAR 			ProcessorMinThrottle;
-  UCHAR 			ProcessorMaxThrottle;
-  BOOLEAN			FastSystemS4;
-  UCHAR 			spare2[3];
-  BOOLEAN			DiskSpinDown;
-  UCHAR 			spare3[8];
-  BOOLEAN			SystemBatteriesPresent;
-  BOOLEAN			BatteriesAreShortTerm;
-  BATTERY_REPORTING_SCALE	BatteryScale[3];
-  SYSTEM_POWER_STATE		AcOnLineWake;
-  SYSTEM_POWER_STATE		SoftLidWake;
-  SYSTEM_POWER_STATE		RtcWake;
-  SYSTEM_POWER_STATE		MinDeviceWakeState;
-  SYSTEM_POWER_STATE		DefaultLowLatencyWake;
-} SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES;
-
-
-typedef struct _SYSTEM_BATTERY_STATE
-{ BOOLEAN			AcOnLine;
-  BOOLEAN			BatteryPresent;
-  BOOLEAN			Charging;
-  BOOLEAN			Discharging;
-  BOOLEAN			Spare1[4];
-  ULONG 			MaxCapacity;
-  ULONG 			RemainingCapacity;
-  ULONG 			Rate;
-  ULONG 			EstimatedTime;
-  ULONG 			DefaultAlert1;
-  ULONG 			DefaultAlert2;
-} SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE;
-
-
-typedef enum _POWER_INFORMATION_LEVEL
-{ SystemPowerPolicyAc,
-  SystemPowerPolicyDc,
-  VerifySystemPolicyAc,
-  VerifySystemPolicyDc,
-  SystemPowerCapabilities,
-  SystemBatteryState,
-  SystemPowerStateHandler,
-  ProcessorStateHandler,
-  SystemPowerPolicyCurrent,
-  AdministratorPowerPolicy,
-  SystemReserveHiberFile,
-  ProcessorInformation,
-  SystemPowerInformation,
-  ProcessorStateHandler2,
-  LastWakeTime,
-  LastSleepTime,
-  SystemExecutionState,
-  SystemPowerStateNotifyHandler,
-  ProcessorPowerPolicyAc,
-  ProcessorPowerPolicyDc,
-  VerifyProcessorPowerPolicyAc,
-  VerifyProcessorPowerPolicyDc,
-  ProcessorPowerPolicyCurrent
-} POWER_INFORMATION_LEVEL;
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef LONG (WINAPI *PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS);
-#endif
-#if 1 /* (WIN32_WINNT >= 0x0500) */
-
-typedef struct _SYSTEM_POWER_INFORMATION
-{ ULONG 	MaxIdlenessAllowed;
-  ULONG 	Idleness;
-  ULONG 	TimeRemaining;
-  UCHAR 	CoolingMode;
-} SYSTEM_POWER_INFORMATION, *PSYSTEM_POWER_INFORMATION;
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-
-typedef enum _HEAP_INFORMATION_CLASS
-{ HeapCompatibilityInformation
-} HEAP_INFORMATION_CLASS;
-
-typedef enum _ACTIVATION_CONTEXT_INFO_CLASS
-{ ActivationContextBasicInformation	=	1,
-  ActivationContextDetailedInformation,
-  AssemblyDetailedInformationInActivationContext,
-  FileInformationInAssemblyOfAssemblyInActivationContext
-} ACTIVATION_CONTEXT_INFO_CLASS;
-
-typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION
-{ DWORD 		ulFlags;
-  DWORD 		ulEncodedAssemblyIdentityLength;
-  DWORD 		ulManifestPathType;
-  DWORD 		ulManifestPathLength;
-  LARGE_INTEGER 	liManifestLastWriteTime;
-  DWORD 		ulPolicyPathType;
-  DWORD 		ulPolicyPathLength;
-  LARGE_INTEGER 	liPolicyLastWriteTime;
-  DWORD 		ulMetadataSatelliteRosterIndex;
-  DWORD 		ulManifestVersionMajor;
-  DWORD 		ulManifestVersionMinor;
-  DWORD 		ulPolicyVersionMajor;
-  DWORD 		ulPolicyVersionMinor;
-  DWORD 		ulAssemblyDirectoryNameLength;
-  PCWSTR		lpAssemblyEncodedAssemblyIdentity;
-  PCWSTR		lpAssemblyManifestPath;
-  PCWSTR		lpAssemblyPolicyPath;
-  PCWSTR		lpAssemblyDirectoryName;
-} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION, *PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-
-typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION
-{ DWORD 		dwFlags;
-  DWORD 		ulFormatVersion;
-  DWORD 		ulAssemblyCount;
-  DWORD 		ulRootManifestPathType;
-  DWORD 		ulRootManifestPathChars;
-  DWORD 		ulRootConfigurationPathType;
-  DWORD 		ulRootConfigurationPathChars;
-  DWORD 		ulAppDirPathType;
-  DWORD 		ulAppDirPathChars;
-  PCWSTR 		lpRootManifestPath;
-  PCWSTR 		lpRootConfigurationPath;
-  PCWSTR 		lpAppDirPath;
-} ACTIVATION_CONTEXT_DETAILED_INFORMATION, *PACTIVATION_CONTEXT_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
-
-typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX
-{ ULONG 		ulAssemblyIndex;
-  ULONG 		ulFileIndexInAssembly;
-} ACTIVATION_CONTEXT_QUERY_INDEX, *PACTIVATION_CONTEXT_QUERY_INDEX;
-typedef const ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX;
-
-typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION
-{ DWORD 		ulFlags;
-  DWORD 		ulFilenameLength;
-  DWORD 		ulPathLength;
-  PCWSTR		lpFileName;
-  PCWSTR		lpFilePath;
-} ASSEMBLY_FILE_DETAILED_INFORMATION, *PASSEMBLY_FILE_DETAILED_INFORMATION;
-typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
-#endif /* (WIN32_WINNT >= 0x0501) */
-
-typedef struct _PROCESSOR_POWER_POLICY_INFO
-{ ULONG 		TimeCheck;
-  ULONG 		DemoteLimit;
-  ULONG 		PromoteLimit;
-  UCHAR 		DemotePercent;
-  UCHAR 		PromotePercent;
-  UCHAR 		Spare[2];
-  ULONG 		AllowDemotion : 1;
-  ULONG 		AllowPromotion : 1;
-  ULONG 		Reserved : 30;
-} PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO;
-
-typedef struct _PROCESSOR_POWER_POLICY
-{ ULONG 			Revision;
-  UCHAR 			DynamicThrottle;
-  UCHAR 			Spare[3];
-  ULONG 			Reserved;
-  ULONG 			PolicyCount;
-  PROCESSOR_POWER_POLICY_INFO	Policy[3];
-} PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY;
-
-typedef struct _ADMINISTRATOR_POWER_POLICY
-{ SYSTEM_POWER_STATE	MinSleep;
-  SYSTEM_POWER_STATE	MaxSleep;
-  ULONG 		MinVideoTimeout;
-  ULONG 		MaxVideoTimeout;
-  ULONG 		MinSpindownTimeout;
-  ULONG 		MaxSpindownTimeout;
-} ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;
-#include <poppack.h>
-#endif /* WINVER >= 0x0500 */
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID,BOOLEAN);
-#endif
-
-#ifdef UNICODE
-typedef OSVERSIONINFOW OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXW OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;
-#else
-typedef OSVERSIONINFOA OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXA OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE);
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType)  \
-	((ConditionMask) = VerSetConditionMask((ConditionMask), \
-	(TypeBitMask), (ComparisonType)))
-#endif
-
-#if defined(__GNUC__)
-#if defined(_M_IX86) || defined(_M_X64) || defined(_M_IA64)
-/* On regular _WIN32 and _WIN64 hardware platforms, provide inline
- * assembler pseudo-intrinsics to access the thread information block,
- * and the fiber data referenced therein.
- */
-#ifndef _WIN64  /* Not 64-bit, so assume 32-bit */
-/* On 32-bit Windows, TIB data is located via the FS segment, with
- * offsets computed in terms of the size of 4-byte pointers; thus the
- * offset of FiberData, preceded by four pointer fields, is 0x10, and
- * Self, preceded by six pointers, is at offset 0x18...
- */
-#define __tib_fiber_data__   "fs:0x10"
-#define __tib_self_refptr__  "fs:0x18"
-
-#else
-/* ...whereas, on 64-bit, the pointer size is doubled to eight bytes,
- * so the offsets double to 0x20 for FiberData, and 0x30 for Self,
- * respectively.
- */
-#define __tib_fiber_data__   "gs:0x20"
-#define __tib_self_refptr__  "gs:0x30"
-#endif
-
-#if (__GNUC__ >= 3)
-/* From GCC-3.x onwards, the user may specify -masm=intel, and so
- * generate assembly language intermediate output in Intel/Microsoft
- * syntax; we must specify dual mode inline assembly code to support
- * this, (in addition to the default AT&T syntax).
- */
-static __inline__ PVOID GetCurrentFiber (void)
-{
-  void *ret;
-  __asm__ __volatile__ (
-      "mov{%z0}\t{%%"__tib_fiber_data__", %0|%0, "__tib_fiber_data__"}"
-      : "=a" (ret) /* resultant pointer will be returned in eax/rax */
-    );
-  return ret;
-}
-
-static __inline__ PVOID GetFiberData (void)
-{
-  void *ret;
-  __asm__ __volatile__ (
-      "mov{%z0}\t{%%"__tib_fiber_data__", %0|%0, "__tib_fiber_data__"}\n\t"
-      "mov{%z0}\t{(%0), %0|%0, [%0]}"
-      : "=r" (ret) /* likely eax/rax, but must support indexing */
-    );
-  return ret;
-}
-
-static __inline__ struct _TEB *NtCurrentTeb (void)
-{
-  struct _TEB *ret;
-  __asm__ __volatile__ (
-      "mov{%z0}\t{%%"__tib_self_refptr__", %0|%0, "__tib_self_refptr__"}"
-      : "=a" (ret) /* resultant pointer will be returned in eax/rax */
-      : /* no inputs */
-    );
-  return ret;
-}
-#else /* __GNUC__ < 3 */
-/* Older versions of GCC, predating GCC-3.x, did not support -masm=intel;
- * specify inline assembly code in AT&T syntax only.
- */
-static __inline__ PVOID GetCurrentFiber (void)
-{
-  void *ret;
-  __asm__ __volatile__ (
-      "mov%z0\t%%"__tib_fiber_data__", %0"
-      : "=a" (ret) /* resultant pointer will be returned in eax/rax */
-    );
-  return ret;
-}
-
-static __inline__ PVOID GetFiberData (void)
-{
-  void *ret;
-  __asm__ __volatile__ (
-      "mov%z0\t%%"__tib_fiber_data__", %0\n\t"
-      "mov%z0\t(%0), %0"
-      : "=r" (ret) /* likely eax/rax, but must support indexing */
-    );
-  return ret;
-}
-
-static __inline__ struct _TEB *NtCurrentTeb (void)
-{
-  struct _TEB *ret;
-  __asm__ __volatile__ (
-      "mov%z0\t%%"__tib_self_refptr__", %0"
-      : "=a" (ret) /* resultant pointer will be returned in eax/rax */
-      : /* no inputs */
-    );
-  return ret;
-}
-#endif	/* __GNUC__ < 3 */
-#endif	/* _M_IX86 || _M_X64 || _M_IA64 */
-#else	/* !__GNUC__ */
-/* The (unidentified) compiler is not GCC.
- * FIXME: If it isn't GCC, what is it?  Given that what follows is
- * inline assembly code, it surely can't be generically suitable for
- * use with any non-GCC compiler?  Google suggests that this syntax
- * may be applicable for WATCOM compilers.  More to the point: given
- * that our mission is to deliver GCC for Windows, why is this here
- * at all?  Do we REALLY want to carry this maintenance burden?
- */
-#if defined(_M_IX86)
-PVOID GetCurrentFiber (void);
-#pragma aux GetCurrentFiber = \
-  "mov	eax, dword ptr fs:0x10" \
-  value [eax] \
-  modify [eax];
-
-PVOID GetFiberData (void);
-#pragma aux GetFiberData = \
-  "mov	eax, dword ptr fs:0x10" \
-  "mov	eax, [eax]" \
-  value [eax] \
-  modify [eax];
-
-struct _TEB *NtCurrentTeb (void);
-#pragma aux NtCurrentTeb = \
-  "mov	eax, dword ptr fs:0x18" \
-  value [eax] \
-  modify [eax];
-
-#endif	/* _M_IX86 */
-#endif	/* !__GNUC__ */
-
-/* MemoryBarrier() Implementation
- * ------------------------------
- * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684208%28v=vs.85%29.aspx
- *
- * MSDN says that this requires one of Vista, or Windows Server-2003,
- * or later; I don't see why that should be, since neither Microsoft's
- * implementation, nor the following, actually exhibits any dependency
- * on any OS feature specific to these, or later versions.
- *
- * For this MinGW.org MemoryBarrier() implementation, we aim to rely,
- * to the maximum practicable extent, on the intrinsic implementations
- * provided by the GCC compiler itself; thus, for those recent versions
- * of GCC, (those which implement the sequentially consistent model for
- * atomic memory access)...
- */
-#if defined(__ATOMIC_SEQ_CST)
- /* ...we implement barriers using the __atomic_thread_fence() intrinsic
-  * function, in sequentially consistent mode.
-  */
-# define __mingw_fence_type__	__ATOMIC_SEQ_CST
-# define __mingw_thread_fence	__atomic_thread_fence
-
- /* For earlier compiler versions, which lack __atomic_thread_fence(),
-  * we fall back on legacy mechanisms; thus, from GCC-4.4 onward...
-  */
-#elif ((__GNUC__ << 8) + __GNUC_MINOR__) >= 0x404
- /* ...we fall back to the __sync_synchronize() intrinsic function; (this
-  * was first mentioned in the documentation for GCC-4.1, but comments in
-  * the GCC source code suggest that it did not achieve a robust state of
-  * implementation, until GCC-4.4).
-  */
-# define __mingw_thread_fence	__sync_synchronize
-# define __mingw_fence_type__
-
-#else
- /* Finally, when there is no viable intrinsic implementation, we fall
-  * back on inline assembly code.  This is CPU architecture dependent:
-  * we choose the instructions, for each architecture, as best we can
-  * to match the code emitted by __atomic_thread_fence(), in versions
-  * of GCC which support it; thus...
-  */
-# define __mingw_thread_fence	__asm__ __volatile__
-# define __mingw_fence_type__	__mingw_fence_insn__:::"memory"
-
-# if defined(_M_X64) || defined(_M_AMD64) || (_M_IX86_FP >= 2)
-  /* ...for X86-64, AMD-64, and 32-bit X86 processors with support for
-   * SSE2 instructions, we may issue an "mfence" instruction directly...
-   */
-#  define __mingw_fence_insn__	"mfence"
-
-# elif defined(_M_IA64)
-  /* ...while for IA-64 (Itanium), the equivalent is "mf"...
-   */
-#  define __mingw_fence_insn__	"mf"
-
-# elif defined(_M_IX86)
-  /* ...and, for 32-bit X86 processors without support for the SSE2
-   * instruction set, (nominally, our default supported architecture),
-   * we perform a bus-locked memory fetch and store, (OR with zero).
-   */
-#  define __mingw_fence_insn__	"lock or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
-
-  /* FIXME: To support other CPU architectures, any appropriate fall
-   * back instructions must be identified here, (with an appropriate
-   * "#elif defined(_M_ARCH)" clause for each)...
-   */
-# else
-  /* ...and, as a last resort, we arrange to inject NOTHING into the
-   * code stream; (notwthstanding, this may still suffice as a light
-   * weight barrier, insofar as it should prevent reordering of code,
-   * which might otherwise result from compiler optimizations, about
-   * the barrier placement point).
-   */
-#  define __mingw_fence_insn__	""
-# endif
-#endif
-
-/* Finally, the preceding implementation choices are encapsulated
- * into the actual MemoryBarrier() implementation; this is provided
- * in the form of a function, with static scope, and defined such
- * that it must always be expanded in-line...
- */
-static FORCEINLINE void MemoryBarrier (void)
-{ __mingw_thread_fence(__mingw_fence_type__); }
-
-/* ...before purging the implementation choice macros, (which are
- * no longer needed), from the pre-processor namespace.
- */
-#undef __mingw_fence_type__
-#undef __mingw_thread_fence
-#undef __mingw_fence_insn__
-
-_END_C_DECLS
-
-#endif	/* ! RC_INVOKED */
-#endif	/* !_WINNT_H: $RCSfile: winnt.h,v $: end of file */
Index: Daodan/MinGW/include/winperf.h
===================================================================
--- Daodan/MinGW/include/winperf.h	(revision 1046)
+++ 	(revision )
@@ -1,139 +1,0 @@
-#ifndef _WINPERF_H
-#define _WINPERF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define PERF_DATA_VERSION 1
-#define PERF_DATA_REVISION 1
-#define PERF_NO_INSTANCES -1
-#define PERF_SIZE_DWORD 0
-#define PERF_SIZE_LARGE 256
-#define PERF_SIZE_ZERO 512
-#define PERF_SIZE_VARIABLE_LEN 768
-#define PERF_TYPE_NUMBER 0
-#define PERF_TYPE_COUNTER 1024
-#define PERF_TYPE_TEXT 2048
-#define PERF_TYPE_ZERO 0xC00
-#define PERF_NUMBER_HEX 0
-#define PERF_NUMBER_DECIMAL 0x10000
-#define PERF_NUMBER_DEC_1000 0x20000
-#define PERF_COUNTER_VALUE 0
-#define PERF_COUNTER_RATE 0x10000
-#define PERF_COUNTER_FRACTION 0x20000
-#define PERF_COUNTER_BASE 0x30000
-#define PERF_COUNTER_ELAPSED 0x40000
-#define PERF_COUNTER_QUEUELEN 0x50000
-#define PERF_COUNTER_HISTOGRAM 0x60000
-#define PERF_TEXT_UNICODE 0
-#define PERF_TEXT_ASCII 0x10000
-#define PERF_TIMER_TICK 0
-#define PERF_TIMER_100NS 0x100000
-#define PERF_OBJECT_TIMER 0x200000
-#define PERF_DELTA_COUNTER 0x400000
-#define PERF_DELTA_BASE 0x800000
-#define PERF_INVERSE_COUNTER 0x1000000
-#define PERF_MULTI_COUNTER 0x2000000
-#define PERF_DISPLAY_NO_SUFFIX 0
-#define PERF_DISPLAY_PER_SEC 0x10000000
-#define PERF_DISPLAY_PERCENT 0x20000000
-#define PERF_DISPLAY_SECONDS 0x30000000
-#define PERF_DISPLAY_NOSHOW 0x40000000
-#define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000
-#define PERF_NO_UNIQUE_ID (-1)
-#define PERF_DETAIL_NOVICE 100
-#define PERF_DETAIL_ADVANCED 200
-#define PERF_DETAIL_EXPERT 300
-#define PERF_DETAIL_WIZARD 400
-#define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
-#define PERF_COUNTER_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
-#define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT)
-#define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_NODATA (PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW)
-#define PERF_COUNTER_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_SAMPLE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1)
-#define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS)
-#define PERF_AVERAGE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2)
-#define PERF_AVERAGE_BULK (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW)
-#define PERF_100NSEC_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_100NSEC_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW)
-#define PERF_100NSEC_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_100NSEC_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_RAW_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT)
-#define PERF_RAW_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3)
-#define PERF_ELAPSED_TIME (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS)
-typedef struct _PERF_DATA_BLOCK {
-	WCHAR Signature[4];
-	DWORD LittleEndian;
-	DWORD Version;
-	DWORD Revision;
-	DWORD TotalByteLength;
-	DWORD HeaderLength;
-	DWORD NumObjectTypes;
-	LONG DefaultObject;
-	SYSTEMTIME SystemTime;
-	LARGE_INTEGER PerfTime;
-	LARGE_INTEGER PerfFreq;
-	LARGE_INTEGER PerfTime100nSec;
-	DWORD SystemNameLength;
-	DWORD SystemNameOffset;
-} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK;
-typedef struct _PERF_OBJECT_TYPE {
-	DWORD TotalByteLength;
-	DWORD DefinitionLength;
-	DWORD HeaderLength;
-	DWORD ObjectNameTitleIndex;
-	LPWSTR ObjectNameTitle;
-	DWORD ObjectHelpTitleIndex;
-	LPWSTR ObjectHelpTitle;
-	DWORD DetailLevel;
-	DWORD NumCounters;
-	LONG DefaultCounter;
-	LONG NumInstances;
-	DWORD CodePage;
-	LARGE_INTEGER PerfTime;
-	LARGE_INTEGER PerfFreq;
-} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;
-typedef struct _PERF_COUNTER_DEFINITION {
-	DWORD ByteLength;
-	DWORD CounterNameTitleIndex;
-	LPWSTR CounterNameTitle;
-	DWORD CounterHelpTitleIndex;
-	LPWSTR CounterHelpTitle;
-	LONG DefaultScale;
-	DWORD DetailLevel;
-	DWORD CounterType;
-	DWORD CounterSize;
-	DWORD CounterOffset;
-} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION;
-typedef struct _PERF_INSTANCE_DEFINITION {
-	DWORD ByteLength;
-	DWORD ParentObjectTitleIndex;
-	DWORD ParentObjectInstance;
-	LONG UniqueID;
-	DWORD NameOffset;
-	DWORD NameLength;
-} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION;
-typedef struct _PERF_COUNTER_BLOCK {
-	DWORD ByteLength;
-} PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK;
-typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR);
-typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD);
-typedef DWORD(CALLBACK PM_CLOSE_PROC)(void);
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winreg.h
===================================================================
--- Daodan/MinGW/include/winreg.h	(revision 1046)
+++ 	(revision )
@@ -1,175 +1,0 @@
-#ifndef _WINREG_H
-#define _WINREG_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINADVAPI
-#define WINADVAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HKEY_CLASSES_ROOT	((HKEY)0x80000000)
-#define HKEY_CURRENT_USER	((HKEY)0x80000001)
-#define HKEY_LOCAL_MACHINE	((HKEY)0x80000002)
-#define HKEY_USERS	((HKEY)0x80000003)
-#define HKEY_PERFORMANCE_DATA	((HKEY)0x80000004)
-#define HKEY_CURRENT_CONFIG	((HKEY)0x80000005)
-#define HKEY_DYN_DATA	((HKEY)0x80000006)
-#define REG_OPTION_VOLATILE 1
-#define REG_OPTION_NON_VOLATILE 0
-#define REG_CREATED_NEW_KEY 1
-#define REG_OPENED_EXISTING_KEY 2
-#define REG_NONE 0
-#define REG_SZ 1
-#define REG_EXPAND_SZ 2
-#define REG_BINARY 3
-#define REG_DWORD_LITTLE_ENDIAN 4
-#define REG_DWORD 4
-#define REG_DWORD_BIG_ENDIAN 5
-#define REG_LINK 6
-#define REG_MULTI_SZ 7
-#define REG_RESOURCE_LIST 8
-#define REG_FULL_RESOURCE_DESCRIPTOR 9
-#define REG_RESOURCE_REQUIREMENTS_LIST 10
-#define REG_QWORD_LITTLE_ENDIAN 11
-#define REG_QWORD 11
-#define REG_NOTIFY_CHANGE_NAME 1
-#define REG_NOTIFY_CHANGE_ATTRIBUTES 2
-#define REG_NOTIFY_CHANGE_LAST_SET 4
-#define REG_NOTIFY_CHANGE_SECURITY 8
-
-#ifndef RC_INVOKED
-typedef ACCESS_MASK REGSAM;
-typedef struct value_entA {
-	LPSTR ve_valuename;
-	DWORD ve_valuelen;
-	DWORD ve_valueptr;
-	DWORD ve_type;
-} VALENTA,*PVALENTA;
-typedef struct value_entW {
-	LPWSTR ve_valuename;
-	DWORD ve_valuelen;
-	DWORD ve_valueptr;
-	DWORD ve_type;
-} VALENTW,*PVALENTW;
-WINADVAPI BOOL WINAPI AbortSystemShutdownA(LPCSTR);
-WINADVAPI BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
-WINADVAPI BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
-WINADVAPI BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
-WINADVAPI LONG WINAPI RegCloseKey(HKEY);
-WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY);
-WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY);
-WINADVAPI LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
-WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
-WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
-WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
-#if (WINVER >= 0x0502)
-WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD);
-WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD);
-#endif
-WINADVAPI LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
-WINADVAPI LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
-WINADVAPI LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
-WINADVAPI LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
-WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
-WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
-WINADVAPI LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-WINADVAPI LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-WINADVAPI LONG WINAPI RegFlushKey(HKEY);
-WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
-WINADVAPI LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
-WINADVAPI LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
-WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
-WINADVAPI LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
-WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
-WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
-WINADVAPI LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
-WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD);
-WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
-WINADVAPI LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
-WINADVAPI LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
-WINADVAPI LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
-WINADVAPI LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
-WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
-WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
-WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
-WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
-WINADVAPI LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINADVAPI LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
-WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINADVAPI LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
-WINADVAPI LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
-WINADVAPI LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
-WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
-WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
-WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
-
-#ifdef UNICODE
-typedef VALENTW VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownW
-#define InitiateSystemShutdown InitiateSystemShutdownW
-#define RegConnectRegistry RegConnectRegistryW
-#define RegCreateKey RegCreateKeyW
-#define RegCreateKeyEx RegCreateKeyExW
-#define RegDeleteKey RegDeleteKeyW
-#if (WINVER >= 0x0502)
-#define RegDeleteKeyEx RegDeleteKeyExW
-#endif
-#define RegDeleteValue RegDeleteValueW
-#define RegEnumKey RegEnumKeyW
-#define RegEnumKeyEx RegEnumKeyExW
-#define RegEnumValue RegEnumValueW
-#define RegLoadKey RegLoadKeyW
-#define RegOpenKey RegOpenKeyW
-#define RegOpenKeyEx RegOpenKeyExW
-#define RegQueryInfoKey RegQueryInfoKeyW
-#define RegQueryMultipleValues RegQueryMultipleValuesW
-#define RegQueryValue RegQueryValueW
-#define RegQueryValueEx RegQueryValueExW
-#define RegReplaceKey RegReplaceKeyW
-#define RegRestoreKey RegRestoreKeyW
-#define RegSaveKey RegSaveKeyW
-#define RegSetValue RegSetValueW
-#define RegSetValueEx RegSetValueExW
-#define RegUnLoadKey RegUnLoadKeyW
-#else
-typedef VALENTA VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownA
-#define InitiateSystemShutdown InitiateSystemShutdownA
-#define RegConnectRegistry RegConnectRegistryA
-#define RegCreateKey RegCreateKeyA
-#define RegCreateKeyEx RegCreateKeyExA
-#define RegDeleteKey RegDeleteKeyA
-#if (WINVER >= 0x0502)
-#define RegDeleteKeyEx RegDeleteKeyExA
-#endif
-#define RegDeleteValue RegDeleteValueA
-#define RegEnumKey RegEnumKeyA
-#define RegEnumKeyEx RegEnumKeyExA
-#define RegEnumValue RegEnumValueA
-#define RegLoadKey RegLoadKeyA
-#define RegOpenKey RegOpenKeyA
-#define RegOpenKeyEx RegOpenKeyExA
-#define RegQueryInfoKey RegQueryInfoKeyA
-#define RegQueryMultipleValues RegQueryMultipleValuesA
-#define RegQueryValue RegQueryValueA
-#define RegQueryValueEx RegQueryValueExA
-#define RegReplaceKey RegReplaceKeyA
-#define RegRestoreKey RegRestoreKeyA
-#define RegSaveKey RegSaveKeyA
-#define RegSetValue RegSetValueA
-#define RegSetValueEx RegSetValueExA
-#define RegUnLoadKey RegUnLoadKeyA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winresrc.h
===================================================================
--- Daodan/MinGW/include/winresrc.h	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-#ifndef _WINRESRC_H
-#define _WINRESRC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#include <winuser.h>
-#include <winnt.h>
-#include <winver.h>
-#include <dde.h>
-#include <dlgs.h>
-#include <commctrl.h>
-#endif
Index: Daodan/MinGW/include/winsnmp.h
===================================================================
--- Daodan/MinGW/include/winsnmp.h	(revision 1046)
+++ 	(revision )
@@ -1,329 +1,0 @@
-/*
-  winsnmp.h - Header file for the Windows SNMP API
-
-  Written by Filip Navara <xnavara@volny.cz>
-
-  References (2003-08-25):
-    Windows SNMP
-    http://www.winsnmp.com/docs/winsnmp.doc
-
-    WinSNMP v2.0 Addendum
-    http://www.winsnmp.com/docs/winsnmp2.txt
-
-    WinSNMP v3.0 API Addendum
-    http://www.winsnmp.com/docs/winsnmp3.htm
-
-    WinSNMP Reference
-    http://msdn.microsoft.com/library/en-us/snmp/snmp/winsnmp_api_reference.asp
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#ifndef _WINSNMP_H
-#define _WINSNMP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-#include <pshpack4.h>
-
-#ifndef WINSNMPAPI
-#define WINSNMPAPI WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXOBJIDSIZE	128
-#define MAXOBJIDSTRSIZE	1408
-#define MAXVENDORINFO	32
-#ifndef _SNMP_ASN_DEFINED
-#define _SNMP_ASN_DEFINED
-#define ASN_UNIVERSAL	0x00
-#define ASN_PRIMITIVE	0x00
-#define ASN_CONSTRUCTOR	0x20
-#define ASN_APPLICATION	0x40
-#define ASN_CONTEXT	0x80
-#define ASN_PRIVATE	0xC0
-#define SNMP_PDU_GET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
-#define SNMP_PDU_GETNEXT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
-#define SNMP_PDU_RESPONSE	(ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
-#define SNMP_PDU_SET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
-#define SNMP_PDU_GETBULK	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_V1TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_INFORM	(ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
-#define SNMP_PDU_TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 7)
-#define SNMP_PDU_REPORT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
-#endif /* _SNMP_ASN_DEFINED */
-#define SNMP_SYNTAX_SEQUENCE	(ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
-#define SNMP_SYNTAX_INT	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_BITS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
-#define SNMP_SYNTAX_OCTETS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
-#define SNMP_SYNTAX_NULL	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
-#define SNMP_SYNTAX_OID	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
-#define SNMP_SYNTAX_IPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
-#define SNMP_SYNTAX_CNTR32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
-#define SNMP_SYNTAX_GAUGE32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_TIMETICKS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
-#define SNMP_SYNTAX_OPAQUE	(ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
-#define SNMP_SYNTAX_NSAPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
-#define SNMP_SYNTAX_CNTR64	(ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
-#define SNMP_SYNTAX_UINT32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
-#define SNMP_SYNTAX_NOSUCHOBJECT	(ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
-#define SNMP_SYNTAX_NOSUCHINSTANCE	(ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
-#define SNMP_SYNTAX_ENDOFMIBVIEW	(ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_INT32	SNMP_SYNTAX_INT
-#define SNMP_TRAP_COLDSTART	0
-#define SNMP_TRAP_WARMSTART	1
-#define SNMP_TRAP_LINKDOWN	2
-#define SNMP_TRAP_LINKUP	3
-#define SNMP_TRAP_AUTHFAIL	4
-#define SNMP_TRAP_EGPNEIGHBORLOSS	5
-#define SNMP_TRAP_ENTERPRISESPECIFIC	6
-#define SNMP_ERROR_NOERROR	0
-#define SNMP_ERROR_TOOBIG	1
-#define SNMP_ERROR_NOSUCHNAME	2
-#define SNMP_ERROR_BADVALUE	3
-#define SNMP_ERROR_READONLY	4
-#define SNMP_ERROR_GENERR	5
-#define SNMP_ERROR_NOACCESS	6
-#define SNMP_ERROR_WRONGTYPE	7
-#define SNMP_ERROR_WRONGLENGTH	8
-#define SNMP_ERROR_WRONGENCODING	9
-#define SNMP_ERROR_WRONGVALUE	10
-#define SNMP_ERROR_NOCREATION	11
-#define SNMP_ERROR_INCONSISTENTVALUE	12
-#define SNMP_ERROR_RESOURCEUNAVAILABLE	13
-#define SNMP_ERROR_COMMITFAILED	14
-#define SNMP_ERROR_UNDOFAILED	15
-#define SNMP_ERROR_AUTHORIZATIONERROR	16
-#define SNMP_ERROR_NOTWRITABLE	17
-#define SNMP_ERROR_INCONSISTENTNAME	18
-#define SNMP_SEC_MODEL_V1	1
-#define SNMP_SEC_MODEL_V2	2
-#define SNMP_SEC_MODEL_USM	3
-#define SNMP_NOAUTH_NOPRIV	0
-#define SNMP_AUTH_NOPRIV	1
-#define SNMP_AUTH_PRIV	3
-#define SNMP_USM_NO_AUTH_PROTOCOL	1
-#define SNMP_USM_HMACMD5_AUTH_PROTOCOL	2
-#define SNMP_USM_HMACSHA_AUTH_PROTOCOL	3
-#define SNMP_USM_NO_PRIV_PROTOCOL	1
-#define SNMP_USM_DES_PRIV_PROTOCOL	2
-#define SNMPAPI_TRANSLATED	0
-#define SNMPAPI_UNTRANSLATED_V1	1
-#define SNMPAPI_UNTRANSLATED_V2	2
-#define SNMPAPI_UNTRANSLATED_V3	3
-#define SNMPAPI_OFF 0
-#define SNMPAPI_ON 1
-#define SNMPAPI_FAILURE 0
-#define SNMPAPI_SUCCESS 1
-#define SNMPAPI_NO_SUPPORT	0
-#define SNMPAPI_V1_SUPPORT	1
-#define SNMPAPI_V2_SUPPORT	2
-#define SNMPAPI_M2M_SUPPORT	3
-#define SNMPAPI_V3_SUPPORT	3
-#define SNMPAPI_ALLOC_ERROR	2
-#define SNMPAPI_CONTEXT_INVALID	3
-#define SNMPAPI_CONTEXT_UNKNOWN	4
-#define SNMPAPI_ENTITY_INVALID	5
-#define SNMPAPI_ENTITY_UNKNOWN	6
-#define SNMPAPI_INDEX_INVALID	7
-#define SNMPAPI_NOOP	8
-#define SNMPAPI_OID_INVALID	9
-#define SNMPAPI_OPERATION_INVALID	10
-#define SNMPAPI_OUTPUT_TRUNCATED	11
-#define SNMPAPI_PDU_INVALID	12
-#define SNMPAPI_SESSION_INVALID	13
-#define SNMPAPI_SYNTAX_INVALID	14
-#define SNMPAPI_VBL_INVALID	15
-#define SNMPAPI_MODE_INVALID	16
-#define SNMPAPI_SIZE_INVALID	17
-#define SNMPAPI_NOT_INITIALIZED	18
-#define SNMPAPI_MESSAGE_INVALID	19
-#define SNMPAPI_HWND_INVALID	20
-#define SNMPAPI_ENGINE_INVALID	30
-#define SNMPAPI_ENGINE_DISCOVERY_FAILED	31
-#define SNMPAPI_OTHER_ERROR	99
-#define SNMPAPI_TL_NOT_INITIALIZED	100
-#define SNMPAPI_TL_NOT_SUPPORTED	101
-#define SNMPAPI_TL_NOT_AVAILABLE	102
-#define SNMPAPI_TL_RESOURCE_ERROR	103
-#define SNMPAPI_TL_UNDELIVERABLE	104
-#define SNMPAPI_TL_SRC_INVALID	105
-#define SNMPAPI_TL_INVALID_PARAM	106
-#define SNMPAPI_TL_IN_USE	107
-#define SNMPAPI_TL_TIMEOUT	108
-#define SNMPAPI_TL_PDU_TOO_BIG	109
-#define SNMPAPI_TL_OTHER	199
-#define SNMPAPI_RPT_INVALIDMSG	200
-#define SNMPAPI_RPT_INASNPARSEERR	201
-#define SNMPAPI_RPT_UNKNOWNSECMODEL	202
-#define SNMPAPI_RPT_UNKNOWNENGINEID	203
-#define SNMPAPI_RPT_UNSUPPSECLEVEL	204
-#define SNMPAPI_RPT_UNKNOWNUSERNAME	205
-#define SNMPAPI_RPT_WRONGDIGEST	206
-#define SNMPAPI_RPT_NOTINTIMEWINDOW	207
-#define SNMPAPI_RPT_DECRYPTIONERROR	208
-#define SNMPAPI_RPT_OTHER	299
-
-#ifndef RC_INVOKED
-
-typedef HANDLE HSNMP_SESSION, *LPHSNMP_SESSION;
-typedef HANDLE HSNMP_CONTEXT, *LPHSNMP_CONTEXT;
-typedef HANDLE HSNMP_VBL, *LPHSNMP_VBL;
-typedef HANDLE HSNMP_PDU, *LPHSNMP_PDU;
-typedef HANDLE HSNMP_ENTITY, *LPHSNMP_ENTITY;
-typedef unsigned char smiBYTE, *smiLPBYTE;
-typedef signed int smiINT, *smiLPINT;
-typedef signed int smiINT32, *smiLPINT32;
-typedef unsigned int smiUINT32, *smiLPUINT32;
-typedef smiUINT32 smiCNTR32, *smiLPCNTR32;
-typedef smiUINT32 smiGAUGE32, *smiLPGAUGE32;
-typedef smiUINT32 smiTIMETICKS, *smiLPTIMETICKS;
-typedef smiUINT32 SNMPAPI_STATUS;
-typedef struct {
-	smiUINT32 len;
-	smiLPBYTE ptr;
-} smiOCTETS, *smiLPOCTETS, smiOPAQUE, *smiLPOPAQUE, smiBITS, *smiLPBITS, smiIPADDR, *smiLPIPADDR, smiNSAPADDR, *smiLPNSAPADDR;
-typedef const smiLPOCTETS smiLPCOCTETS;
-typedef struct {
-	smiUINT32 len;
-	smiLPUINT32 ptr;
-} smiOID, *smiLPOID;
-typedef const smiLPOID smiLPCOID;
-typedef struct {
-	smiUINT32 hipart;
-	smiUINT32 lopart;
-} smiCNTR64, *smiLPCNTR64;
-typedef struct {
-	smiUINT32 syntax;
-	union {
-		smiINT sNumber;
-		smiUINT32 uNumber;
-		smiCNTR64 hNumber;
-		smiOCTETS string;
-		smiOID oid;
-		smiBYTE empty;
-	} value;
-} smiVALUE, *smiLPVALUE;
-typedef const smiLPVALUE smiLPCVALUE;
-typedef struct {
-	CHAR vendorName[MAXVENDORINFO*2];
-	CHAR vendorContact[MAXVENDORINFO*2];
-	CHAR vendorVersionId[MAXVENDORINFO];
-	CHAR vendorVersionDate[MAXVENDORINFO];
-	smiUINT32 vendorEnterprise;
-} smiVENDORINFO, FAR *smiLPVENDORINFO;
-typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK)(HSNMP_SESSION,HWND,UINT,WPARAM,LPARAM,LPVOID);
-typedef struct
-{
-	HSNMP_ENTITY hEntity;
-	HSNMP_SESSION hSession;
-	smiUINT32 nTranslateMode;
-	smiUINT32 nSnmpVersion;
-	smiOCTETS dFriendlyName;
-	smiUINT32 nAddressFamily;
-	smiOCTETS dAddressString;
-	smiUINT32 nRequestPort;
-	smiUINT32 nNotificationPort;
-	smiUINT32 nMaxMsgSize;
-	smiOCTETS dEngineID;
-	smiUINT32 nEngineBoots;
-	smiUINT32 nEngineTime;
-	smiUINT32 nEngineSeconds;
-	smiUINT32 nRetransmitMode;
-	smiTIMETICKS nPolicyTimeout;
-	smiUINT32 nPolicyRetry;
-	smiTIMETICKS nActualTimeout;
-	smiUINT32 nActualRetry;
-} smiENTITYINFO, *smiLPENTITYINFO;
-typedef struct
-{
-	HSNMP_CONTEXT hContext;
-	HSNMP_SESSION hSession;
-	smiUINT32 nTranslateMode;
-	smiUINT32 nSnmpVersion;
-	smiOCTETS dFriendlyName;
-	smiOCTETS dContextEngineID;
-	smiOCTETS dContextName;
-	smiOCTETS dSecurityName;
-	smiUINT32 nSecurityModel;
-	smiUINT32 nSecurityLevel;
-	smiUINT32 nSecurityAuthProtocol;
-	smiOCTETS dSecurityAuthKey;
-	smiUINT32 nSecurityPrivProtocol;
-	smiOCTETS dSecurityPrivKey;
-} smiCONTEXTINFO, *smiLPCONTEXTINFO;
-
-SNMPAPI_STATUS WINSNMPAPI SnmpCancelMsg(HSNMP_SESSION,smiINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpCleanup(VOID);
-SNMPAPI_STATUS WINSNMPAPI SnmpClose(HSNMP_SESSION);
-SNMPAPI_STATUS WINSNMPAPI SnmpContextToStr(HSNMP_CONTEXT,smiLPOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpCountVbl(HSNMP_VBL);
-HSNMP_PDU WINSNMPAPI SnmpCreatePdu(HSNMP_SESSION,smiINT,smiINT32,smiINT,smiINT,HSNMP_VBL);
-HSNMP_SESSION WINSNMPAPI SnmpCreateSession(HWND,UINT,SNMPAPI_CALLBACK,LPVOID);
-HSNMP_VBL WINSNMPAPI SnmpCreateVbl(HSNMP_SESSION,smiLPCOID,smiLPCVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpDecodeMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU,smiLPCOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpDeleteVb(HSNMP_VBL,smiUINT32);
-HSNMP_PDU WINSNMPAPI SnmpDuplicatePdu(HSNMP_SESSION,HSNMP_PDU);
-HSNMP_VBL WINSNMPAPI SnmpDuplicateVbl(HSNMP_SESSION,HSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpEncodeMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU,smiLPOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpEntityToStr(HSNMP_ENTITY,smiUINT32,LPSTR);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeContext(HSNMP_CONTEXT);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeDescriptor(smiUINT32,smiLPOPAQUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntity(HSNMP_ENTITY);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreePdu(HSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeVbl(HSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetLastError(HSNMP_SESSION);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetPduData(HSNMP_PDU,smiLPINT,smiLPINT32,smiLPINT,smiLPINT,LPHSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetRetransmitMode(smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetRetry(HSNMP_ENTITY,smiLPUINT32,smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetTimeout(HSNMP_ENTITY,smiLPTIMETICKS,smiLPTIMETICKS);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetTranslateMode(smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetVb(HSNMP_VBL,smiUINT32,smiLPOID,smiLPVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetVendorInfo(smiLPVENDORINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpListen(HSNMP_ENTITY,SNMPAPI_STATUS);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidCompare(smiLPCOID,smiLPCOID,smiUINT32,smiLPINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidCopy(smiLPCOID,smiLPOID);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidToStr(smiLPCOID,smiUINT32,LPSTR);
-HSNMP_SESSION WINSNMPAPI SnmpOpen(HWND,UINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpRecvMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpRegister(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,smiLPCOID,smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSendMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetPduData(HSNMP_PDU,const smiINT *,const smiINT32 *,const smiINT *,const smiINT *,const HSNMP_VBL *);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetPort(HSNMP_ENTITY,UINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetRetransmitMode(smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetRetry(HSNMP_ENTITY,smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetTimeout(HSNMP_ENTITY,smiTIMETICKS);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetTranslateMode(smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetVb(HSNMP_VBL,smiUINT32,smiLPCOID,smiLPCVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpStartup(smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32);
-HSNMP_CONTEXT WINSNMPAPI SnmpStrToContext(HSNMP_SESSION,smiLPCOCTETS);
-HSNMP_ENTITY WINSNMPAPI SnmpStrToEntity(HSNMP_SESSION,LPCSTR);
-SNMPAPI_STATUS WINSNMPAPI SnmpStrToOid(LPCSTR,smiLPOID);
-/* Added in WinSNMP v3.0, not present in some (all?) versions of MS wsnmp32.dll */
-HSNMP_ENTITY WINSNMPAPI SnmpCreateEntity(HSNMP_SESSION,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntityInfo(smiLPENTITYINFO);
-HSNMP_CONTEXT WINSNMPAPI SnmpCreateContext(HSNMP_SESSION,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeContextInfo(smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpPasswordToKey(smiLPOCTETS,smiINT32,smiLPOCTETS);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif
Index: Daodan/MinGW/include/winsock.h
===================================================================
--- Daodan/MinGW/include/winsock.h	(revision 1046)
+++ 	(revision )
@@ -1,536 +1,0 @@
-/*
-
-  Definitions for winsock 1.1
-
-  Portions Copyright (c) 1980, 1983, 1988, 1993
-  The Regents of the University of California.  All rights reserved.
-
-  Portions Copyright (c) 1993 by Digital Equipment Corporation.
- */
-
-#ifndef _WINSOCK_H
-#define _WINSOCK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define _GNU_H_WINDOWS32_SOCKETS
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined ( _BSDTYPES_DEFINED )
-/* also defined in gmon.h and in cygwin's sys/types */
-typedef unsigned char	u_char;
-typedef unsigned short	u_short;
-typedef unsigned int	u_int;
-typedef unsigned long	u_long;
-#define _BSDTYPES_DEFINED
-#endif /* !defined  _BSDTYPES_DEFINED */
-typedef u_int	SOCKET;
-#ifndef FD_SETSIZE
-#define FD_SETSIZE	64
-#endif
-
-/* shutdown() how types */
-#define SD_RECEIVE      0x00
-#define SD_SEND         0x01
-#define SD_BOTH         0x02
-
-#ifndef _SYS_TYPES_FD_SET
-/* fd_set may have be defined by the newlib <sys/types.h>
- * if  __USE_W32_SOCKETS not defined.
- */
-#ifdef fd_set
-#undef fd_set
-#endif
-typedef struct fd_set {
-	u_int   fd_count;
-	SOCKET  fd_array[FD_SETSIZE];
-} fd_set;
-int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
-#ifndef FD_CLR
-#define FD_CLR(fd,set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
-	if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
-	while (__i < ((fd_set *)(set))->fd_count-1) {\
-		((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\
-		__i++;\
-	}\
-	((fd_set*)(set))->fd_count--;\
-	break;\
-	}\
-}\
-} while (0)
-#endif
-#ifndef FD_SET
-#define FD_SET(fd, set) do { \
-    if (((fd_set *)(set))->fd_count < FD_SETSIZE) \
-	((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++]=(fd);\
-}while (0)
-#endif
-#ifndef FD_ZERO
-#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
-#endif
-#ifndef FD_ISSET
-#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
-#endif
-#elif !defined(USE_SYS_TYPES_FD_SET)
-#warning "fd_set and associated macros have been defined in sys/types.  \
-    This can cause runtime problems with W32 sockets"
-#endif /* ndef _SYS_TYPES_FD_SET */
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
-#define _TIMEVAL_DEFINED
-struct timeval {
-	long    tv_sec;
-	long    tv_usec;
-};
-#define timerisset(tvp)	 ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
-	(((tvp)->tv_sec != (uvp)->tv_sec) ? \
-	((tvp)->tv_sec cmp (uvp)->tv_sec) : \
-	((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp)	 (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
-struct  hostent {
-	char	*h_name;
-	char	**h_aliases;
-	short	h_addrtype;
-	short	h_length;
-	char	**h_addr_list;
-#define h_addr h_addr_list[0]
-};
-struct linger {
-	u_short l_onoff;
-	u_short l_linger;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define IOCPARM_MASK	0x7f
-#define IOC_VOID	0x20000000
-#define IOC_OUT	0x40000000
-#define IOC_IN	0x80000000
-#define IOC_INOUT	(IOC_IN|IOC_OUT)
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define _IO(x,y)	(IOC_VOID|((x)<<8)|(y))
-#define _IOR(x,y,t)	(IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define _IOW(x,y,t)	(IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define FIONBIO	_IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define FIONREAD	_IOR('f', 127, u_long)
-#define FIOASYNC	_IOW('f', 125, u_long)
-#define SIOCSHIWAT	_IOW('s',  0, u_long)
-#define SIOCGHIWAT	_IOR('s',  1, u_long)
-#define SIOCSLOWAT	_IOW('s',  2, u_long)
-#define SIOCGLOWAT	_IOR('s',  3, u_long)
-#define SIOCATMARK	_IOR('s',  7, u_long)
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-struct netent {
-	char	* n_name;
-	char	**n_aliases;
-	short	n_addrtype;
-	u_long n_net;
-};
-struct  servent {
-	char	*s_name;
-	char	**s_aliases;
-	short	s_port;
-	char	*s_proto;
-};
-struct  protoent {
-	char	*p_name;
-	char	**p_aliases;
-	short	p_proto;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define IPPROTO_IP	0
-#define IPPROTO_ICMP	1
-#define IPPROTO_IGMP 2
-#define IPPROTO_GGP 3
-#define IPPROTO_TCP	6
-#define IPPROTO_PUP	12
-#define IPPROTO_UDP	17
-#define IPPROTO_IDP	22
-#define IPPROTO_ND	77
-#define IPPROTO_RAW	255
-#define IPPROTO_MAX	256
-#define IPPORT_ECHO	7
-#define IPPORT_DISCARD	9
-#define IPPORT_SYSTAT	11
-#define IPPORT_DAYTIME  13
-#define IPPORT_NETSTAT  15
-#define IPPORT_FTP      21
-#define IPPORT_TELNET   23
-#define IPPORT_SMTP     25
-#define IPPORT_TIMESERVER 37
-#define IPPORT_NAMESERVER 42
-#define IPPORT_WHOIS	43
-#define IPPORT_MTP	57
-#define IPPORT_TFTP	69
-#define IPPORT_RJE	77
-#define IPPORT_FINGER	79
-#define IPPORT_TTYLINK	87
-#define IPPORT_SUPDUP	95
-#define IPPORT_EXECSERVER	512
-#define IPPORT_LOGINSERVER	513
-#define IPPORT_CMDSERVER	514
-#define IPPORT_EFSSERVER	520
-#define IPPORT_BIFFUDP	512
-#define IPPORT_WHOSERVER	513
-#define IPPORT_ROUTESERVER	520
-#define IPPORT_RESERVED	1024
-#define IMPLINK_IP	155
-#define IMPLINK_LOWEXPER	156
-#define IMPLINK_HIGHEXPER       158
-struct in_addr {
-	union {
-		struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
-		struct { u_short s_w1,s_w2; } S_un_w;
-		u_long S_addr;
-	} S_un;
-#define s_addr  S_un.S_addr
-#define s_host  S_un.S_un_b.s_b2
-#define s_net   S_un.S_un_b.s_b1
-#define s_imp   S_un.S_un_w.s_w2
-#define s_impno S_un.S_un_b.s_b4
-#define s_lh    S_un.S_un_b.s_b3
-};
-#define IN_CLASSA(i)	(((long)(i)&0x80000000) == 0)
-#define IN_CLASSA_NET	0xff000000
-#define IN_CLASSA_NSHIFT	24
-#define IN_CLASSA_HOST	0x00ffffff
-#define IN_CLASSA_MAX	128
-#define IN_CLASSB(i)	(((long)(i)&0xc0000000)==0x80000000)
-#define IN_CLASSB_NET	   0xffff0000
-#define IN_CLASSB_NSHIFT	16
-#define IN_CLASSB_HOST	  0x0000ffff
-#define IN_CLASSB_MAX	   65536
-#define IN_CLASSC(i)	(((long)(i)&0xe0000000)==0xc0000000)
-#define IN_CLASSC_NET	   0xffffff00
-#define IN_CLASSC_NSHIFT	8
-#define IN_CLASSC_HOST	  0xff
-#define INADDR_ANY	      (u_long)0
-#define INADDR_LOOPBACK	 0x7f000001
-#define INADDR_BROADCAST	(u_long)0xffffffff
-#define INADDR_NONE	0xffffffff
-struct sockaddr_in {
-	short	sin_family;
-	u_short	sin_port;
-	struct	in_addr sin_addr;
-	char	sin_zero[8];
-};
-#define WSADESCRIPTION_LEN	256
-#define WSASYS_STATUS_LEN	128
-typedef struct WSAData {
-	WORD	wVersion;
-	WORD	wHighVersion;
-	char	szDescription[WSADESCRIPTION_LEN+1];
-	char	szSystemStatus[WSASYS_STATUS_LEN+1];
-	unsigned short	iMaxSockets;
-	unsigned short	iMaxUdpDg;
-	char * 	lpVendorInfo;
-} WSADATA;
-typedef WSADATA *LPWSADATA;
-
-#ifndef __INSIDE_MSYS__
-#define IP_OPTIONS	1
-#define SO_DEBUG	1
-#define SO_ACCEPTCONN	2
-#define SO_REUSEADDR	4
-#define SO_KEEPALIVE	8
-#define SO_DONTROUTE	16
-#define SO_BROADCAST	32
-#define SO_USELOOPBACK	64
-#define SO_LINGER	128
-#define SO_OOBINLINE	256
-#define SO_DONTLINGER	(u_int)(~SO_LINGER)
-#define SO_SNDBUF	0x1001
-#define SO_RCVBUF	0x1002
-#define SO_SNDLOWAT	0x1003
-#define SO_RCVLOWAT	0x1004
-#define SO_SNDTIMEO	0x1005
-#define SO_RCVTIMEO	0x1006
-#define SO_ERROR	0x1007
-#define SO_TYPE	0x1008
-#endif /* !__INSIDE_MSYS__ */
-/*
- * Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll).
- * They will cause errors or unexpected results if used with the
- * (gs)etsockopts exported from the WinSock 2 lib, ws2_32.dll. Refer ws2tcpip.h.
- */
-#define IP_MULTICAST_IF	2
-#define IP_MULTICAST_TTL	3
-#define IP_MULTICAST_LOOP	4
-#define IP_ADD_MEMBERSHIP	5
-#define IP_DROP_MEMBERSHIP  6
-
-#define IP_DEFAULT_MULTICAST_TTL   1
-#define IP_DEFAULT_MULTICAST_LOOP  1
-#define IP_MAX_MEMBERSHIPS	 20
-struct ip_mreq {
-	struct in_addr imr_multiaddr;
-	struct in_addr imr_interface;
-};
-#define INVALID_SOCKET (SOCKET)(~0)
-#define SOCKET_ERROR	(-1)
-#define SOCK_STREAM	1
-#define SOCK_DGRAM	2
-#define SOCK_RAW	3
-#define SOCK_RDM	4
-#define SOCK_SEQPACKET	5
-#define TCP_NODELAY	0x0001
-#define AF_UNSPEC	0
-#define AF_UNIX	1
-#define AF_INET	2
-#define AF_IMPLINK	3
-#define AF_PUP	4
-#define AF_CHAOS	5
-#define AF_IPX	6
-#define AF_NS	6
-#define AF_ISO	7
-#define AF_OSI	AF_ISO
-#define AF_ECMA	8
-#define AF_DATAKIT	9
-#define AF_CCITT	10
-#define AF_SNA	11
-#define AF_DECnet	12
-#define AF_DLI	13
-#define AF_LAT	14
-#define AF_HYLINK	15
-#define AF_APPLETALK	16
-#define AF_NETBIOS	17
-#define AF_VOICEVIEW	18
-#define	AF_FIREFOX	19
-#define	AF_UNKNOWN1	20
-#define	AF_BAN	21
-#define AF_ATM	22
-#define AF_INET6	23
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define AF_MAX	24
-struct sockaddr {
-	u_short sa_family;
-	char	sa_data[14];
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-struct sockproto {
-	u_short sp_family;
-	u_short sp_protocol;
-};
-#define PF_UNSPEC	AF_UNSPEC
-#define PF_UNIX	AF_UNIX
-#define PF_INET	AF_INET
-#define PF_IMPLINK	AF_IMPLINK
-#define PF_PUP	AF_PUP
-#define PF_CHAOS	AF_CHAOS
-#define PF_NS	AF_NS
-#define PF_IPX	AF_IPX
-#define PF_ISO	AF_ISO
-#define PF_OSI	AF_OSI
-#define PF_ECMA	AF_ECMA
-#define PF_DATAKIT	AF_DATAKIT
-#define PF_CCITT	AF_CCITT
-#define PF_SNA	AF_SNA
-#define PF_DECnet	AF_DECnet
-#define PF_DLI	AF_DLI
-#define PF_LAT	AF_LAT
-#define PF_HYLINK	AF_HYLINK
-#define PF_APPLETALK	AF_APPLETALK
-#define PF_VOICEVIEW	AF_VOICEVIEW
-#define PF_FIREFOX	AF_FIREFOX
-#define PF_UNKNOWN1	AF_UNKNOWN1
-#define PF_BAN	AF_BAN
-#define PF_ATM	AF_ATM
-#define PF_INET6	AF_INET6
-#define PF_MAX	AF_MAX
-#define SOL_SOCKET	0xffff
-#define SOMAXCONN	5
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define MSG_OOB	1
-#define MSG_PEEK	2
-#define MSG_DONTROUTE	4
-#endif  /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define MSG_MAXIOVLEN	16
-#define MSG_PARTIAL	0x8000
-#define MAXGETHOSTSTRUCT	1024
-#define FD_READ	1
-#define FD_WRITE	2
-#define FD_OOB	4
-#define FD_ACCEPT	8
-#define FD_CONNECT	16
-#define FD_CLOSE	32
-#ifndef WSABASEERR
-#define WSABASEERR	10000
-#define WSAEINTR	(WSABASEERR+4)
-#define WSAEBADF	(WSABASEERR+9)
-#define WSAEACCES	(WSABASEERR+13)
-#define WSAEFAULT	(WSABASEERR+14)
-#define WSAEINVAL	(WSABASEERR+22)
-#define WSAEMFILE	(WSABASEERR+24)
-#define WSAEWOULDBLOCK	(WSABASEERR+35)
-#define WSAEINPROGRESS	(WSABASEERR+36)
-#define WSAEALREADY	(WSABASEERR+37)
-#define WSAENOTSOCK	(WSABASEERR+38)
-#define WSAEDESTADDRREQ	(WSABASEERR+39)
-#define WSAEMSGSIZE	(WSABASEERR+40)
-#define WSAEPROTOTYPE	(WSABASEERR+41)
-#define WSAENOPROTOOPT	(WSABASEERR+42)
-#define WSAEPROTONOSUPPORT	(WSABASEERR+43)
-#define WSAESOCKTNOSUPPORT	(WSABASEERR+44)
-#define WSAEOPNOTSUPP	(WSABASEERR+45)
-#define WSAEPFNOSUPPORT	(WSABASEERR+46)
-#define WSAEAFNOSUPPORT	(WSABASEERR+47)
-#define WSAEADDRINUSE	(WSABASEERR+48)
-#define WSAEADDRNOTAVAIL	(WSABASEERR+49)
-#define WSAENETDOWN	(WSABASEERR+50)
-#define WSAENETUNREACH	(WSABASEERR+51)
-#define WSAENETRESET	(WSABASEERR+52)
-#define WSAECONNABORTED	(WSABASEERR+53)
-#define WSAECONNRESET	(WSABASEERR+54)
-#define WSAENOBUFS	(WSABASEERR+55)
-#define WSAEISCONN	(WSABASEERR+56)
-#define WSAENOTCONN	(WSABASEERR+57)
-#define WSAESHUTDOWN	(WSABASEERR+58)
-#define WSAETOOMANYREFS	(WSABASEERR+59)
-#define WSAETIMEDOUT	(WSABASEERR+60)
-#define WSAECONNREFUSED	(WSABASEERR+61)
-#define WSAELOOP	(WSABASEERR+62)
-#define WSAENAMETOOLONG	(WSABASEERR+63)
-#define WSAEHOSTDOWN	(WSABASEERR+64)
-#define WSAEHOSTUNREACH	(WSABASEERR+65)
-#define WSAENOTEMPTY	(WSABASEERR+66)
-#define WSAEPROCLIM	(WSABASEERR+67)
-#define WSAEUSERS	(WSABASEERR+68)
-#define WSAEDQUOT	(WSABASEERR+69)
-#define WSAESTALE	(WSABASEERR+70)
-#define WSAEREMOTE	(WSABASEERR+71)
-#define WSAEDISCON	(WSABASEERR+101)
-#define WSASYSNOTREADY	(WSABASEERR+91)
-#define WSAVERNOTSUPPORTED	(WSABASEERR+92)
-#define WSANOTINITIALISED	(WSABASEERR+93)
-#define WSAHOST_NOT_FOUND	(WSABASEERR+1001)
-#define WSATRY_AGAIN	(WSABASEERR+1002)
-#define WSANO_RECOVERY	(WSABASEERR+1003)
-#define WSANO_DATA	(WSABASEERR+1004)
-#endif /* !WSABASEERR */
-
-#define WSANO_ADDRESS	WSANO_DATA
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define h_errno WSAGetLastError()
-#define HOST_NOT_FOUND	WSAHOST_NOT_FOUND
-#define TRY_AGAIN	WSATRY_AGAIN
-#define NO_RECOVERY	WSANO_RECOVERY
-#define NO_DATA	WSANO_DATA
-#define NO_ADDRESS	WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
-int PASCAL bind(SOCKET,const struct sockaddr*,int);
-int PASCAL closesocket(SOCKET);
-int PASCAL connect(SOCKET,const struct sockaddr*,int);
-int PASCAL ioctlsocket(SOCKET,long,u_long *);
-int PASCAL getpeername(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockname(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockopt(SOCKET,int,int,char*,int*);
-unsigned long PASCAL inet_addr(const char*);
-DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr);
-int PASCAL listen(SOCKET,int);
-int PASCAL recv(SOCKET,char*,int,int);
-int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);
-int PASCAL send(SOCKET,const char*,int,int);
-int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);
-int PASCAL setsockopt(SOCKET,int,int,const char*,int);
-int PASCAL shutdown(SOCKET,int);
-SOCKET PASCAL socket(int,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*);
-DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int);
-DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*);
-int PASCAL WSAStartup(WORD,LPWSADATA);
-int PASCAL WSACleanup(void);
-void PASCAL WSASetLastError(int);
-int PASCAL WSAGetLastError(void);
-BOOL PASCAL WSAIsBlocking(void);
-int PASCAL WSAUnhookBlockingHook(void);
-FARPROC PASCAL WSASetBlockingHook(FARPROC);
-int PASCAL WSACancelBlockingCall(void);
-HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
-int PASCAL WSACancelAsyncRequest(HANDLE);
-int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-u_long PASCAL htonl(u_long);
-u_long PASCAL ntohl(u_long);
-u_short PASCAL htons(u_short);
-u_short PASCAL ntohs(u_short);
-int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
-int PASCAL gethostname(char*,int);
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define WSAMAKEASYNCREPLY(b,e)	MAKELONG(b,e)
-#define WSAMAKESELECTREPLY(e,error)	MAKELONG(e,error)
-#define WSAGETASYNCBUFLEN(l)	LOWORD(l)
-#define WSAGETASYNCERROR(l)	HIWORD(l)
-#define WSAGETSELECTEVENT(l)	LOWORD(l)
-#define WSAGETSELECTERROR(l)	HIWORD(l)
-
-typedef struct sockaddr SOCKADDR;
-typedef struct sockaddr *PSOCKADDR;
-typedef struct sockaddr *LPSOCKADDR;
-typedef struct sockaddr_in SOCKADDR_IN;
-typedef struct sockaddr_in *PSOCKADDR_IN;
-typedef struct sockaddr_in *LPSOCKADDR_IN;
-typedef struct linger LINGER;
-typedef struct linger *PLINGER;
-typedef struct linger *LPLINGER;
-typedef struct in_addr IN_ADDR;
-typedef struct in_addr *PIN_ADDR;
-typedef struct in_addr *LPIN_ADDR;
-typedef struct fd_set FD_SET;
-typedef struct fd_set *PFD_SET;
-typedef struct fd_set *LPFD_SET;
-typedef struct hostent HOSTENT;
-typedef struct hostent *PHOSTENT;
-typedef struct hostent *LPHOSTENT;
-typedef struct servent SERVENT;
-typedef struct servent *PSERVENT;
-typedef struct servent *LPSERVENT;
-typedef struct protoent PROTOENT;
-typedef struct protoent *PPROTOENT;
-typedef struct protoent *LPPROTOENT;
-typedef struct timeval TIMEVAL;
-typedef struct timeval *PTIMEVAL;
-typedef struct timeval *LPTIMEVAL;
-
-#ifdef __cplusplus
-}
-#endif
-/*
- * Recent MSDN docs indicate that the MS-specific extensions exported from
- * mswsock.dll (AcceptEx, TransmitFile. WSARecEx and GetAcceptExSockaddrs) are
- * declared in mswsock.h. These extensions are not supported on W9x or WinCE.
- * However, code using WinSock 1.1 API may expect the declarations and
- * associated defines to be in this header. Thus we include mswsock.h here.
- *
- * When linking against the WinSock 1.1 lib, wsock32.dll, the mswsock functions
- * are automatically routed to mswsock.dll (on platforms with support).
- * The WinSock 2 lib, ws2_32.dll, does not contain any references to
- * the mswsock extensions.
- */
-
-#include <mswsock.h>
-
-#endif
Index: Daodan/MinGW/include/winsock2.h
===================================================================
--- Daodan/MinGW/include/winsock2.h	(revision 1046)
+++ 	(revision )
@@ -1,1304 +1,0 @@
-/*
-
-  Definitions for winsock 2
-
-  Contributed by the WINE project.
-
-  Portions Copyright (c) 1980, 1983, 1988, 1993
-  The Regents of the University of California.  All rights reserved.
-
-  Portions Copyright (c) 1993 by Digital Equipment Corporation.
- */
-
-#if !(defined _WINSOCK2_H || defined _WINSOCK_H)
-#define _WINSOCK2_H
-#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define _GNU_H_WINDOWS32_SOCKETS
-
-#include <windows.h>
-
-#ifndef WINSOCK_API_LINKAGE
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT
-#else
-#define WINSOCK_API_LINKAGE
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*   Names common to Winsock1.1 and Winsock2  */
-#if !defined ( _BSDTYPES_DEFINED )
-/* also defined in gmon.h and in cygwin's sys/types */
-typedef unsigned char	u_char;
-typedef unsigned short	u_short;
-typedef unsigned int	u_int;
-typedef unsigned long	u_long;
-#define _BSDTYPES_DEFINED
-#endif /* ! def _BSDTYPES_DEFINED  */
-typedef u_int	SOCKET;
-#ifndef FD_SETSIZE
-#define FD_SETSIZE	64
-#endif
-
-/* shutdown() how types */
-#define SD_RECEIVE      0x00
-#define SD_SEND         0x01
-#define SD_BOTH         0x02
-
-#ifndef _SYS_TYPES_FD_SET
-/* fd_set may be defined by the newlib <sys/types.h>
- * if __USE_W32_SOCKETS not defined.
- */
-#ifdef fd_set
-#undef fd_set
-#endif
-typedef struct fd_set {
-	u_int   fd_count;
-	SOCKET  fd_array[FD_SETSIZE];
-} fd_set;
-int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
-#ifndef FD_CLR
-#define FD_CLR(fd,set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
-	if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
-	while (__i < ((fd_set *)(set))->fd_count-1) {\
-		((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\
-		__i++;\
-	}\
-	((fd_set*)(set))->fd_count--;\
-	break;\
-	}\
-}\
-} while (0)
-#endif
-#ifndef FD_SET
-/* this differs from the define in winsock.h and in cygwin sys/types.h */
-#define FD_SET(fd, set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
-	if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
-		break;\
-	}\
-}\
-if (__i == ((fd_set *)(set))->fd_count) {\
-	if (((fd_set *)(set))->fd_count < FD_SETSIZE) {\
-		((fd_set *)(set))->fd_array[__i] = (fd);\
-		((fd_set *)(set))->fd_count++;\
-	}\
-}\
-} while(0)
-#endif
-#ifndef FD_ZERO
-#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
-#endif
-#ifndef FD_ISSET
-#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
-#endif
-#elif !defined (USE_SYS_TYPES_FD_SET)
-#warning "fd_set and associated macros have been defined in sys/types.  \
-    This may cause runtime problems with W32 sockets"
-#endif /* ndef _SYS_TYPES_FD_SET */
-#if !(defined (__INSIDE_CYGWIN__) || (__INSIDE_MSYS__))
-#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
-#define _TIMEVAL_DEFINED
-struct timeval {
-	long    tv_sec;
-	long    tv_usec;
-};
-#define timerisset(tvp)	 ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
-	(((tvp)->tv_sec != (uvp)->tv_sec) ? \
-	((tvp)->tv_sec cmp (uvp)->tv_sec) : \
-	((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp)	 (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
-struct  hostent {
-	char	*h_name;
-	char	**h_aliases;
-	short	h_addrtype;
-	short	h_length;
-	char	**h_addr_list;
-#define h_addr h_addr_list[0]
-};
-struct linger {
-	u_short l_onoff;
-	u_short l_linger;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define IOCPARM_MASK	0x7f
-#define IOC_VOID	0x20000000
-#define IOC_OUT	0x40000000
-#define IOC_IN	0x80000000
-#define IOC_INOUT	(IOC_IN|IOC_OUT)
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define _IO(x,y)	(IOC_VOID|((x)<<8)|(y))
-#define _IOR(x,y,t)	(IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define _IOW(x,y,t)	(IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define FIONBIO	_IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define FIONREAD	_IOR('f', 127, u_long)
-#define FIOASYNC	_IOW('f', 125, u_long)
-#define SIOCSHIWAT	_IOW('s',  0, u_long)
-#define SIOCGHIWAT	_IOR('s',  1, u_long)
-#define SIOCSLOWAT	_IOW('s',  2, u_long)
-#define SIOCGLOWAT	_IOR('s',  3, u_long)
-#define SIOCATMARK	_IOR('s',  7, u_long)
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-struct netent {
-	char	* n_name;
-	char	**n_aliases;
-	short	n_addrtype;
-	u_long n_net;
-};
-struct  servent {
-	char	*s_name;
-	char	**s_aliases;
-	short	s_port;
-	char	*s_proto;
-};
-struct  protoent {
-	char	*p_name;
-	char	**p_aliases;
-	short	p_proto;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define IPPROTO_IP	0
-#define IPPROTO_ICMP 1
-#define IPPROTO_IGMP 2
-#define IPPROTO_GGP 3
-#define IPPROTO_TCP	6
-#define IPPROTO_PUP	12
-#define IPPROTO_UDP	17
-#define IPPROTO_IDP	22
-#define IPPROTO_ND	77
-#define IPPROTO_RAW	255
-#define IPPROTO_MAX	256
-/* IPv6 options */
-#define IPPROTO_HOPOPTS		0  /* IPv6 Hop-by-Hop options */
-#define IPPROTO_IPV6		41 /* IPv6 header */
-#define IPPROTO_ROUTING		43 /* IPv6 Routing header */
-#define IPPROTO_FRAGMENT	44 /* IPv6 fragmentation header */
-#define IPPROTO_ESP		50 /* encapsulating security payload */
-#define IPPROTO_AH		51 /* authentication header */
-#define IPPROTO_ICMPV6		58 /* ICMPv6 */
-#define IPPROTO_NONE		59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS		60 /* IPv6 Destination options */
-#define IPPORT_ECHO	7
-#define IPPORT_DISCARD	9
-#define IPPORT_SYSTAT	11
-#define IPPORT_DAYTIME  13
-#define IPPORT_NETSTAT  15
-#define IPPORT_FTP      21
-#define IPPORT_TELNET   23
-#define IPPORT_SMTP     25
-#define IPPORT_TIMESERVER 37
-#define IPPORT_NAMESERVER 42
-#define IPPORT_WHOIS	43
-#define IPPORT_MTP	57
-#define IPPORT_TFTP	69
-#define IPPORT_RJE	77
-#define IPPORT_FINGER	79
-#define IPPORT_TTYLINK	87
-#define IPPORT_SUPDUP	95
-#define IPPORT_EXECSERVER	512
-#define IPPORT_LOGINSERVER	513
-#define IPPORT_CMDSERVER	514
-#define IPPORT_EFSSERVER	520
-#define IPPORT_BIFFUDP	512
-#define IPPORT_WHOSERVER	513
-#define IPPORT_ROUTESERVER	520
-#define IPPORT_RESERVED	1024
-#define IMPLINK_IP	155
-#define IMPLINK_LOWEXPER	156
-#define IMPLINK_HIGHEXPER       158
-struct in_addr {
-	union {
-		struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
-		struct { u_short s_w1,s_w2; } S_un_w;
-		u_long S_addr;
-	} S_un;
-#define s_addr  S_un.S_addr
-#define s_host  S_un.S_un_b.s_b2
-#define s_net   S_un.S_un_b.s_b1
-#define s_imp   S_un.S_un_w.s_w2
-#define s_impno S_un.S_un_b.s_b4
-#define s_lh    S_un.S_un_b.s_b3
-};
-#define IN_CLASSA(i)	(((long)(i)&0x80000000) == 0)
-#define IN_CLASSA_NET	0xff000000
-#define IN_CLASSA_NSHIFT	24
-#define IN_CLASSA_HOST	0x00ffffff
-#define IN_CLASSA_MAX	128
-#define IN_CLASSB(i)	(((long)(i)&0xc0000000)==0x80000000)
-#define IN_CLASSB_NET	   0xffff0000
-#define IN_CLASSB_NSHIFT	16
-#define IN_CLASSB_HOST	  0x0000ffff
-#define IN_CLASSB_MAX	   65536
-#define IN_CLASSC(i)	(((long)(i)&0xe0000000)==0xc0000000)
-#define IN_CLASSC_NET	   0xffffff00
-#define IN_CLASSC_NSHIFT	8
-#define IN_CLASSC_HOST	  0xff
-#define INADDR_ANY	      (u_long)0
-#define INADDR_LOOPBACK	 0x7f000001
-#define INADDR_BROADCAST	(u_long)0xffffffff
-#define INADDR_NONE	0xffffffff
-struct sockaddr_in {
-	short	sin_family;
-	u_short	sin_port;
-	struct	in_addr sin_addr;
-	char	sin_zero[8];
-};
-#define WSADESCRIPTION_LEN	256
-#define WSASYS_STATUS_LEN	128
-typedef struct WSAData {
-	WORD	wVersion;
-	WORD	wHighVersion;
-	char	szDescription[WSADESCRIPTION_LEN+1];
-	char	szSystemStatus[WSASYS_STATUS_LEN+1];
-	unsigned short	iMaxSockets;
-	unsigned short	iMaxUdpDg;
-	char * 	lpVendorInfo;
-} WSADATA;
-typedef WSADATA *LPWSADATA;
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define IP_OPTIONS	1
-#define SO_DEBUG	1
-#define SO_ACCEPTCONN	2
-#define SO_REUSEADDR	4
-#define SO_KEEPALIVE	8
-#define SO_DONTROUTE	16
-#define SO_BROADCAST	32
-#define SO_USELOOPBACK	64
-#define SO_LINGER	128
-#define SO_OOBINLINE	256
-#define SO_DONTLINGER	(u_int)(~SO_LINGER)
-#define SO_EXCLUSIVEADDRUSE ((u_int)(~SO_REUSEADDR))
-#define SO_SNDBUF	0x1001
-#define SO_RCVBUF	0x1002
-#define SO_SNDLOWAT	0x1003
-#define SO_RCVLOWAT	0x1004
-#define SO_SNDTIMEO	0x1005
-#define SO_RCVTIMEO	0x1006
-#define SO_ERROR	0x1007
-#define SO_TYPE	0x1008
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define INVALID_SOCKET (SOCKET)(~0)
-#define SOCKET_ERROR	(-1)
-#define SOCK_STREAM	1
-#define SOCK_DGRAM	2
-#define SOCK_RAW	3
-#define SOCK_RDM	4
-#define SOCK_SEQPACKET	5
-#define TCP_NODELAY	0x0001
-#define AF_UNSPEC	0
-#define AF_UNIX	1
-#define AF_INET	2
-#define AF_IMPLINK	3
-#define AF_PUP	4
-#define AF_CHAOS	5
-#define AF_IPX	6
-#define AF_NS	6
-#define AF_ISO	7
-#define AF_OSI	AF_ISO
-#define AF_ECMA	8
-#define AF_DATAKIT	9
-#define AF_CCITT	10
-#define AF_SNA	11
-#define AF_DECnet	12
-#define AF_DLI	13
-#define AF_LAT	14
-#define AF_HYLINK	15
-#define AF_APPLETALK	16
-#define AF_NETBIOS	17
-#define AF_VOICEVIEW	18
-#define	AF_FIREFOX	19
-#define	AF_UNKNOWN1	20
-#define	AF_BAN	21
-#define AF_ATM	22
-#define AF_INET6	23
-#define AF_CLUSTER  24
-#define AF_12844    25
-#define AF_IRDA     26
-#define AF_NETDES   28
-#ifndef __INSIDE_MSYS__
-#define AF_MAX	29
-struct sockaddr {
-	u_short sa_family;
-	char	sa_data[14];
-};
-
-/* Portable IPv6/IPv4 version of sockaddr.  Based on RFC 2553.
-   Pad to force 8 byte alignment and maximum size of 128 bytes. */
-
-/*
- * Desired design of maximum size and alignment
- */
-#define _SS_MAXSIZE    128
-#define _SS_ALIGNSIZE  (sizeof (__int64))
-/*
- * Definitions used for sockaddr_storage structure paddings design.
- */
-#define _SS_PAD1SIZE   (_SS_ALIGNSIZE - sizeof (short))
-#define _SS_PAD2SIZE   (_SS_MAXSIZE - (sizeof (short) \
-				       + _SS_PAD1SIZE \
-				       + _SS_ALIGNSIZE))
-struct sockaddr_storage {
-    short ss_family;
-    char __ss_pad1[_SS_PAD1SIZE];  /* pad to 8 */
-    __int64 __ss_align;  	   /* force alignment */
-    char __ss_pad2[_SS_PAD2SIZE];  /*  pad to 128 */
-};
-#endif /* !__INSIDE_MSYS__ */
-
-struct sockproto {
-	u_short sp_family;
-	u_short sp_protocol;
-};
-#define PF_UNSPEC	AF_UNSPEC
-#define PF_UNIX	AF_UNIX
-#define PF_INET	AF_INET
-#define PF_IMPLINK	AF_IMPLINK
-#define PF_PUP	AF_PUP
-#define PF_CHAOS	AF_CHAOS
-#define PF_NS	AF_NS
-#define PF_IPX	AF_IPX
-#define PF_ISO	AF_ISO
-#define PF_OSI	AF_OSI
-#define PF_ECMA	AF_ECMA
-#define PF_DATAKIT	AF_DATAKIT
-#define PF_CCITT	AF_CCITT
-#define PF_SNA	AF_SNA
-#define PF_DECnet	AF_DECnet
-#define PF_DLI	AF_DLI
-#define PF_LAT	AF_LAT
-#define PF_HYLINK	AF_HYLINK
-#define PF_APPLETALK	AF_APPLETALK
-#define PF_VOICEVIEW	AF_VOICEVIEW
-#define PF_FIREFOX	AF_FIREFOX
-#define PF_UNKNOWN1	AF_UNKNOWN1
-#define PF_BAN	AF_BAN
-#define PF_ATM	AF_ATM
-#define PF_INET6	AF_INET6
-#define PF_MAX	AF_MAX
-#define SOL_SOCKET	0xffff
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define SOMAXCONN	0x7fffffff /* (5) in WinSock1.1 */
-#define MSG_OOB	1
-#define MSG_PEEK	2
-#define MSG_DONTROUTE	4
-#endif  /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define MSG_MAXIOVLEN	16
-#define MSG_PARTIAL	0x8000
-#define MAXGETHOSTSTRUCT	1024
-
-#define FD_READ_BIT      0
-#define FD_READ          (1 << FD_READ_BIT)
-#define FD_WRITE_BIT     1
-#define FD_WRITE         (1 << FD_WRITE_BIT)
-#define FD_OOB_BIT       2
-#define FD_OOB           (1 << FD_OOB_BIT)
-#define FD_ACCEPT_BIT    3
-#define FD_ACCEPT        (1 << FD_ACCEPT_BIT)
-#define FD_CONNECT_BIT   4
-#define FD_CONNECT       (1 << FD_CONNECT_BIT)
-#define FD_CLOSE_BIT     5
-#define FD_CLOSE         (1 << FD_CLOSE_BIT)
-/* winsock1.1 defines stop at FD_CLOSE (32) */
-#define FD_QOS_BIT       6
-#define FD_QOS           (1 << FD_QOS_BIT)
-#define FD_GROUP_QOS_BIT 7
-#define FD_GROUP_QOS     (1 << FD_GROUP_QOS_BIT)
-#define FD_ROUTING_INTERFACE_CHANGE_BIT 8
-#define FD_ROUTING_INTERFACE_CHANGE     (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
-#define FD_ADDRESS_LIST_CHANGE_BIT 9
-#define FD_ADDRESS_LIST_CHANGE     (1 << FD_ADDRESS_LIST_CHANGE_BIT)
-#define FD_MAX_EVENTS    10
-#define FD_ALL_EVENTS    ((1 << FD_MAX_EVENTS) - 1)
-
-#ifndef WSABASEERR
-#define WSABASEERR	10000
-#define WSAEINTR	(WSABASEERR+4)
-#define WSAEBADF	(WSABASEERR+9)
-#define WSAEACCES	(WSABASEERR+13)
-#define WSAEFAULT	(WSABASEERR+14)
-#define WSAEINVAL	(WSABASEERR+22)
-#define WSAEMFILE	(WSABASEERR+24)
-#define WSAEWOULDBLOCK	(WSABASEERR+35)
-#define WSAEINPROGRESS	(WSABASEERR+36) /* deprecated on WinSock2 */
-#define WSAEALREADY	(WSABASEERR+37)
-#define WSAENOTSOCK	(WSABASEERR+38)
-#define WSAEDESTADDRREQ	(WSABASEERR+39)
-#define WSAEMSGSIZE	(WSABASEERR+40)
-#define WSAEPROTOTYPE	(WSABASEERR+41)
-#define WSAENOPROTOOPT	(WSABASEERR+42)
-#define WSAEPROTONOSUPPORT	(WSABASEERR+43)
-#define WSAESOCKTNOSUPPORT	(WSABASEERR+44)
-#define WSAEOPNOTSUPP	(WSABASEERR+45)
-#define WSAEPFNOSUPPORT	(WSABASEERR+46)
-#define WSAEAFNOSUPPORT	(WSABASEERR+47)
-#define WSAEADDRINUSE	(WSABASEERR+48)
-#define WSAEADDRNOTAVAIL	(WSABASEERR+49)
-#define WSAENETDOWN	(WSABASEERR+50)
-#define WSAENETUNREACH	(WSABASEERR+51)
-#define WSAENETRESET	(WSABASEERR+52)
-#define WSAECONNABORTED	(WSABASEERR+53)
-#define WSAECONNRESET	(WSABASEERR+54)
-#define WSAENOBUFS	(WSABASEERR+55)
-#define WSAEISCONN	(WSABASEERR+56)
-#define WSAENOTCONN	(WSABASEERR+57)
-#define WSAESHUTDOWN	(WSABASEERR+58)
-#define WSAETOOMANYREFS	(WSABASEERR+59)
-#define WSAETIMEDOUT	(WSABASEERR+60)
-#define WSAECONNREFUSED	(WSABASEERR+61)
-#define WSAELOOP	(WSABASEERR+62)
-#define WSAENAMETOOLONG	(WSABASEERR+63)
-#define WSAEHOSTDOWN	(WSABASEERR+64)
-#define WSAEHOSTUNREACH	(WSABASEERR+65)
-#define WSAENOTEMPTY	(WSABASEERR+66)
-#define WSAEPROCLIM	(WSABASEERR+67)
-#define WSAEUSERS	(WSABASEERR+68)
-#define WSAEDQUOT	(WSABASEERR+69)
-#define WSAESTALE	(WSABASEERR+70)
-#define WSAEREMOTE	(WSABASEERR+71)
-#define WSAEDISCON	(WSABASEERR+101)
-#define WSASYSNOTREADY	(WSABASEERR+91)
-#define WSAVERNOTSUPPORTED	(WSABASEERR+92)
-#define WSANOTINITIALISED	(WSABASEERR+93)
-#define WSAHOST_NOT_FOUND	(WSABASEERR+1001)
-#define WSATRY_AGAIN	(WSABASEERR+1002)
-#define WSANO_RECOVERY	(WSABASEERR+1003)
-#define WSANO_DATA	(WSABASEERR+1004)
-
-/* WinSock2 specific error codes */
-#define WSAENOMORE	(WSABASEERR+102)
-#define WSAECANCELLED	(WSABASEERR+103)
-#define WSAEINVALIDPROCTABLE	(WSABASEERR+104)
-#define WSAEINVALIDPROVIDER	(WSABASEERR+105)
-#define WSAEPROVIDERFAILEDINIT	(WSABASEERR+106)
-#define WSASYSCALLFAILURE	(WSABASEERR+107)
-#define WSASERVICE_NOT_FOUND	(WSABASEERR+108)
-#define WSATYPE_NOT_FOUND	(WSABASEERR+109)
-#define WSA_E_NO_MORE	(WSABASEERR+110)
-#define WSA_E_CANCELLED	(WSABASEERR+111)
-#define WSAEREFUSED	(WSABASEERR+112)
-
-/* WS QualityofService errors */
-#define WSA_QOS_RECEIVERS	(WSABASEERR + 1005)
-#define WSA_QOS_SENDERS	(WSABASEERR + 1006)
-#define WSA_QOS_NO_SENDERS	(WSABASEERR + 1007)
-#define WSA_QOS_NO_RECEIVERS	(WSABASEERR + 1008)
-#define WSA_QOS_REQUEST_CONFIRMED	(WSABASEERR + 1009)
-#define WSA_QOS_ADMISSION_FAILURE	(WSABASEERR + 1010)
-#define WSA_QOS_POLICY_FAILURE	(WSABASEERR + 1011)
-#define WSA_QOS_BAD_STYLE	(WSABASEERR + 1012)
-#define WSA_QOS_BAD_OBJECT	(WSABASEERR + 1013)
-#define WSA_QOS_TRAFFIC_CTRL_ERROR	(WSABASEERR + 1014)
-#define WSA_QOS_GENERIC_ERROR	(WSABASEERR + 1015)
-#define WSA_QOS_ESERVICETYPE	(WSABASEERR + 1016)
-#define WSA_QOS_EFLOWSPEC	(WSABASEERR + 1017)
-#define WSA_QOS_EPROVSPECBUF	(WSABASEERR + 1018)
-#define WSA_QOS_EFILTERSTYLE	(WSABASEERR + 1019)
-#define WSA_QOS_EFILTERTYPE	(WSABASEERR + 1020)
-#define WSA_QOS_EFILTERCOUNT	(WSABASEERR + 1021)
-#define WSA_QOS_EOBJLENGTH	(WSABASEERR + 1022)
-#define WSA_QOS_EFLOWCOUNT	(WSABASEERR + 1023)
-#define WSA_QOS_EUNKOWNPSOBJ	(WSABASEERR + 1024)
-#define WSA_QOS_EPOLICYOBJ	(WSABASEERR + 1025)
-#define WSA_QOS_EFLOWDESC	(WSABASEERR + 1026)
-#define WSA_QOS_EPSFLOWSPEC	(WSABASEERR + 1027)
-#define WSA_QOS_EPSFILTERSPEC	(WSABASEERR + 1028)
-#define WSA_QOS_ESDMODEOBJ	(WSABASEERR + 1029)
-#define WSA_QOS_ESHAPERATEOBJ	(WSABASEERR + 1030)
-#define WSA_QOS_RESERVED_PETYPE	(WSABASEERR + 1031)
-
-#endif /* !WSABASEERR */
-
-#define WSANO_ADDRESS	WSANO_DATA
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define h_errno WSAGetLastError()
-#define HOST_NOT_FOUND	WSAHOST_NOT_FOUND
-#define TRY_AGAIN	WSATRY_AGAIN
-#define NO_RECOVERY	WSANO_RECOVERY
-#define NO_DATA	WSANO_DATA
-#define NO_ADDRESS	WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-WINSOCK_API_LINKAGE SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
-WINSOCK_API_LINKAGE int PASCAL bind(SOCKET,const struct sockaddr*,int);
-WINSOCK_API_LINKAGE int PASCAL closesocket(SOCKET);
-WINSOCK_API_LINKAGE int PASCAL connect(SOCKET,const struct sockaddr*,int);
-WINSOCK_API_LINKAGE int PASCAL ioctlsocket(SOCKET,long,u_long *);
-WINSOCK_API_LINKAGE int PASCAL getpeername(SOCKET,struct sockaddr*,int*);
-WINSOCK_API_LINKAGE int PASCAL getsockname(SOCKET,struct sockaddr*,int*);
-WINSOCK_API_LINKAGE int PASCAL getsockopt(SOCKET,int,int,char*,int*);
-WINSOCK_API_LINKAGE unsigned long PASCAL inet_addr(const char*);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr);
-WINSOCK_API_LINKAGE int PASCAL listen(SOCKET,int);
-WINSOCK_API_LINKAGE int PASCAL recv(SOCKET,char*,int,int);
-WINSOCK_API_LINKAGE int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);
-WINSOCK_API_LINKAGE int PASCAL send(SOCKET,const char*,int,int);
-WINSOCK_API_LINKAGE int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);
-WINSOCK_API_LINKAGE int PASCAL setsockopt(SOCKET,int,int,const char*,int);
-WINSOCK_API_LINKAGE int PASCAL shutdown(SOCKET,int);
-WINSOCK_API_LINKAGE SOCKET PASCAL socket(int,int,int);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int);
-WINSOCK_API_LINKAGE DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*);
-typedef SOCKET (PASCAL * LPFN_ACCEPT)(SOCKET, struct sockaddr*,int *);
-typedef int (PASCAL * LPFN_BIND)(SOCKET, const struct sockaddr*,int);
-typedef int (PASCAL * LPFN_CLOSESOCKET)(SOCKET);
-typedef int (PASCAL * LPFN_CONNECT)(SOCKET, const struct sockaddr*,int);
-typedef int (PASCAL * LPFN_IOCTLSOCKET)(SOCKET, long, u_long*);
-typedef int	(PASCAL * LPFN_GETPEERNAME)(SOCKET, struct sockaddr*, int*);
-typedef int(PASCAL * LPFN_GETSOCKNAME)(SOCKET, struct sockaddr*, int*);
-typedef int(PASCAL * LPFN_GETSOCKOPT)(SOCKET, int, int, char*, int*);
-typedef u_long(PASCAL * LPFN_HTONL)(u_long);
-typedef u_short(PASCAL * LPFN_HTONS)(u_short);
-typedef unsigned long(PASCAL * LPFN_INET_ADDR)(const char*);
-typedef char*(PASCAL * LPFN_INET_NTOA)(struct in_addr);
-typedef int(PASCAL * LPFN_LISTEN)(SOCKET, int);
-typedef u_long(PASCAL * LPFN_NTOHL)(u_long);
-typedef u_short(PASCAL * LPFN_NTOHS)(u_short);
-typedef int(PASCAL * LPFN_RECV)(SOCKET, char*, int, int);
-typedef int(PASCAL * LPFN_RECVFROM)(SOCKET, char*, int, int, struct sockaddr*,  int*);
-typedef int(PASCAL * LPFN_SELECT)(int, fd_set*, fd_set*, fd_set*, const struct timeval*);
-typedef int(PASCAL * LPFN_SEND)(SOCKET, const char*, int, int);
-typedef int(PASCAL * LPFN_SENDTO)(SOCKET, const char*, int, int, const struct sockaddr*, int);
-typedef int(PASCAL * LPFN_SETSOCKOPT)(SOCKET, int, int, const char*, int);
-typedef int(PASCAL * LPFN_SHUTDOWN)(SOCKET, int);
-typedef SOCKET(PASCAL * LPFN_SOCKET)(int, int, int);
-typedef struct hostent*(PASCAL * LPFN_GETHOSTBYADDR)( const char*, int, int);
-typedef struct hostent*(PASCAL * LPFN_GETHOSTBYNAME)( const char*);
-typedef int(PASCAL * LPFN_GETHOSTNAME)(char*, int);
-typedef struct servent*(PASCAL * LPFN_GETSERVBYPORT)(int, const char*);
-typedef struct servent*(PASCAL * LPFN_GETSERVBYNAME)(const char*, const char*);
-typedef struct protoent*(PASCAL * LPFN_GETPROTOBYNUMBER)(int);
-typedef struct protoent*(PASCAL * LPFN_GETPROTOBYNAME)(const char*);
-
-WINSOCK_API_LINKAGE int PASCAL WSAStartup(WORD,LPWSADATA);
-WINSOCK_API_LINKAGE int PASCAL WSACleanup(void);
-WINSOCK_API_LINKAGE void PASCAL WSASetLastError(int);
-WINSOCK_API_LINKAGE int PASCAL WSAGetLastError(void);
-WINSOCK_API_LINKAGE typedef int(PASCAL * LPFN_WSASTARTUP)(WORD, LPWSADATA);
-typedef int(PASCAL * LPFN_WSACLEANUP)(void);
-typedef void(PASCAL * LPFN_WSASETLASTERROR)(int);
-typedef int(PASCAL * LPFN_WSAGETLASTERROR)(void);
-/*
- * Pseudo-blocking functions are deprecated in WinSock2
- * spec. Use threads instead.
- */
-WINSOCK_API_LINKAGE BOOL PASCAL WSAIsBlocking(void);
-WINSOCK_API_LINKAGE int PASCAL WSAUnhookBlockingHook(void);
-WINSOCK_API_LINKAGE FARPROC PASCAL WSASetBlockingHook(FARPROC);
-WINSOCK_API_LINKAGE int PASCAL WSACancelBlockingCall(void);
-typedef BOOL(PASCAL * LPFN_WSAISBLOCKING)(void);
-typedef int(PASCAL * LPFN_WSAUNHOOKBLOCKINGHOOK)(void);
-typedef FARPROC (PASCAL * LPFN_WSASETBLOCKINGHOOK)(FARPROC);
-typedef int(PASCAL * LPFN_WSACANCELBLOCKINGCALL)(void);
-
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
-WINSOCK_API_LINKAGE HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
-WINSOCK_API_LINKAGE int PASCAL WSACancelAsyncRequest(HANDLE);
-WINSOCK_API_LINKAGE int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETSERVBYNAME)(HWND, u_int, const char *, const char *, char *, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETSERVBYPORT)(HWND, u_int, int, const char *, char *, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETPROTOBYNAME)(HWND, u_int, const char*, char*, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND, u_int, int, char*, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETHOSTBYADDR)(HWND, u_int, const char*, int, int, char*, int);
-typedef int(PASCAL * LPFN_WSACANCELASYNCREQUEST)(HANDLE);
-typedef int(PASCAL * LPFN_WSAASYNCSELECT)(SOCKET, HWND, u_int, long);
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-WINSOCK_API_LINKAGE u_long PASCAL htonl(u_long);
-WINSOCK_API_LINKAGE u_long PASCAL ntohl(u_long);
-WINSOCK_API_LINKAGE u_short PASCAL htons(u_short);
-WINSOCK_API_LINKAGE u_short PASCAL ntohs(u_short);
-WINSOCK_API_LINKAGE int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-int PASCAL gethostname(char*,int);
-
-#define WSAMAKEASYNCREPLY(b,e)	MAKELONG(b,e)
-#define WSAMAKESELECTREPLY(e,error)	MAKELONG(e,error)
-#define WSAGETASYNCBUFLEN(l)	LOWORD(l)
-#define WSAGETASYNCERROR(l)	HIWORD(l)
-#define WSAGETSELECTEVENT(l)	LOWORD(l)
-#define WSAGETSELECTERROR(l)	HIWORD(l)
-
-typedef struct sockaddr SOCKADDR;
-typedef struct sockaddr *PSOCKADDR;
-typedef struct sockaddr *LPSOCKADDR;
-typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
-typedef struct sockaddr_in SOCKADDR_IN;
-typedef struct sockaddr_in *PSOCKADDR_IN;
-typedef struct sockaddr_in *LPSOCKADDR_IN;
-typedef struct linger LINGER;
-typedef struct linger *PLINGER;
-typedef struct linger *LPLINGER;
-typedef struct in_addr IN_ADDR;
-typedef struct in_addr *PIN_ADDR;
-typedef struct in_addr *LPIN_ADDR;
-typedef struct fd_set FD_SET;
-typedef struct fd_set *PFD_SET;
-typedef struct fd_set *LPFD_SET;
-typedef struct hostent HOSTENT;
-typedef struct hostent *PHOSTENT;
-typedef struct hostent *LPHOSTENT;
-typedef struct servent SERVENT;
-typedef struct servent *PSERVENT;
-typedef struct servent *LPSERVENT;
-typedef struct protoent PROTOENT;
-typedef struct protoent *PPROTOENT;
-typedef struct protoent *LPPROTOENT;
-typedef struct timeval TIMEVAL;
-typedef struct timeval *PTIMEVAL;
-typedef struct timeval *LPTIMEVAL;
-
-/* winsock2 additions */
-#define ADDR_ANY	INADDR_ANY
-
-#define	IN_CLASSD(i)	(((long)(i) & 0xf0000000) == 0xe0000000)
-#define	IN_CLASSD_NET	0xf0000000
-#define	IN_CLASSD_NSHIFT	28
-#define	IN_CLASSD_HOST	0x0fffffff
-#define	IN_MULTICAST(i)	IN_CLASSD(i)
-
-#define	FROM_PROTOCOL_INFO	(-1)
-
-#define SO_DONTLINGER	(u_int)(~SO_LINGER)
-#define SO_GROUP_ID	0x2001
-#define SO_GROUP_PRIORITY	0x2002
-#define SO_MAX_MSG_SIZE	0x2003
-#define SO_PROTOCOL_INFOA	0x2004
-#define SO_PROTOCOL_INFOW	0x2005
-#ifdef UNICODE
-#define SO_PROTOCOL_INFO	SO_PROTOCOL_INFOW
-#else
-#define SO_PROTOCOL_INFO	SO_PROTOCOL_INFOA
-#endif
-#define PVD_CONFIG        0x3001
-
-#define	MSG_INTERRUPT	0x10
-#define	MSG_MAXIOVLEN	16
-
-#define	WSAAPI	WINAPI
-#define WSAEVENT	HANDLE
-#define	LPWSAEVENT	LPHANDLE
-#define	WSAOVERLAPPED	OVERLAPPED
-typedef	struct _OVERLAPPED	*LPWSAOVERLAPPED;
-
-#define	WSA_IO_PENDING	(ERROR_IO_PENDING)
-#define	WSA_IO_INCOMPLETE	(ERROR_IO_INCOMPLETE)
-#define	WSA_INVALID_HANDLE	(ERROR_INVALID_HANDLE)
-#define	WSA_INVALID_PARAMETER	(ERROR_INVALID_PARAMETER)
-#define	WSA_NOT_ENOUGH_MEMORY	(ERROR_NOT_ENOUGH_MEMORY)
-#define	WSA_OPERATION_ABORTED	(ERROR_OPERATION_ABORTED)
-
-#define	WSA_INVALID_EVENT	((WSAEVENT)NULL)
-#define	WSA_MAXIMUM_WAIT_EVENTS	(MAXIMUM_WAIT_OBJECTS)
-#define	WSA_WAIT_FAILED	((DWORD)-1L)
-#define	WSA_WAIT_EVENT_0	(WAIT_OBJECT_0)
-#define	WSA_WAIT_IO_COMPLETION	(WAIT_IO_COMPLETION)
-#define	WSA_WAIT_TIMEOUT	(WAIT_TIMEOUT)
-#define	WSA_INFINITE	(INFINITE)
-
-typedef struct _WSABUF {
-	unsigned long len;
-	char *buf;
-} WSABUF, *LPWSABUF;
-
-typedef enum
-{
-	BestEffortService,
-	ControlledLoadService,
-	PredictiveService,
-	GuaranteedDelayService,
-	GuaranteedService
-} GUARANTEE;
-
-/* TODO: FLOWSPEC and related definitions belong in qos.h */
-
-/*
-   Windows Sockets 2 Application Programming Interface,
-   revision 2.2.2 (1997) uses the type uint32 for SERVICETYPE
-   and the elements of _flowspec, but the type uint32 is not defined
-   or used anywhere else in the w32api. For now, just use
-   unsigned int, which is 32 bits on _WIN32 and _WIN64.
-*/
-
-typedef unsigned int	SERVICETYPE;
-typedef struct _flowspec
-{
-	unsigned int	TokenRate;
-	unsigned int	TokenBucketSize;
-	unsigned int	PeakBandwidth;
-	unsigned int	Latency;
-	unsigned int	DelayVariation;
-	SERVICETYPE	ServiceType;
-	unsigned int	MaxSduSize;
-	unsigned int	MinimumPolicedSize;
-   } FLOWSPEC, *PFLOWSPEC, *LPFLOWSPEC;
-
-typedef struct _QualityOfService
-{
-	FLOWSPEC	SendingFlowspec;
-	FLOWSPEC	ReceivingFlowspec;
-	WSABUF	ProviderSpecific;
-} QOS, *LPQOS;
-
-#define	CF_ACCEPT	0x0000
-#define	CF_REJECT	0x0001
-#define	CF_DEFER	0x0002
-#define	SD_RECEIVE	0x00
-#define	SD_SEND	0x01
-#define	SD_BOTH	0x02
-typedef unsigned int	GROUP;
-
-#define SG_UNCONSTRAINED_GROUP	0x01
-#define SG_CONSTRAINED_GROUP	0x02
-typedef struct _WSANETWORKEVENTS {
-	long	lNetworkEvents;
-	int	iErrorCode[FD_MAX_EVENTS];
-} WSANETWORKEVENTS, *LPWSANETWORKEVENTS;
-
-#define	MAX_PROTOCOL_CHAIN 7
-
-#define	BASE_PROTOCOL      1
-#define	LAYERED_PROTOCOL   0
-
-typedef enum _WSAESETSERVICEOP
-{
-	RNRSERVICE_REGISTER=0,
-	RNRSERVICE_DEREGISTER,
-	RNRSERVICE_DELETE
-} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;
-
-typedef struct _AFPROTOCOLS {
-	INT iAddressFamily;
-	INT iProtocol;
-} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;
-
-typedef enum _WSAEcomparator
-{
-	COMP_EQUAL = 0,
-	COMP_NOTLESS
-} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;
-
-typedef struct _WSAVersion
-{
-	DWORD	dwVersion;
-	WSAECOMPARATOR	ecHow;
-} WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
-
-#ifndef __CSADDR_T_DEFINED /* also in nspapi.h */
-#define __CSADDR_T_DEFINED
-typedef struct _SOCKET_ADDRESS {
-	LPSOCKADDR lpSockaddr;
-	INT iSockaddrLength;
-} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
-typedef struct _CSADDR_INFO {
-	SOCKET_ADDRESS LocalAddr;
-	SOCKET_ADDRESS RemoteAddr;
-	INT iSocketType;
-	INT iProtocol;
-} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
-#endif
-
-typedef struct _SOCKET_ADDRESS_LIST {
-    INT             iAddressCount;
-    SOCKET_ADDRESS  Address[1];
-} SOCKET_ADDRESS_LIST, * LPSOCKET_ADDRESS_LIST;
-
-#ifndef __BLOB_T_DEFINED /* also in wtypes.h and nspapi.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
-	ULONG	cbSize;
-	BYTE	*pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-
-typedef struct _WSAQuerySetA
-{
-	DWORD	dwSize;
-	LPSTR	lpszServiceInstanceName;
-	LPGUID	lpServiceClassId;
-	LPWSAVERSION	lpVersion;
-	LPSTR	lpszComment;
-	DWORD	dwNameSpace;
-	LPGUID	lpNSProviderId;
-	LPSTR	lpszContext;
-	DWORD	dwNumberOfProtocols;
-	LPAFPROTOCOLS	lpafpProtocols;
-	LPSTR	lpszQueryString;
-	DWORD	dwNumberOfCsAddrs;
-	LPCSADDR_INFO	lpcsaBuffer;
-	DWORD	dwOutputFlags;
-	LPBLOB	lpBlob;
-} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
-
-typedef struct _WSAQuerySetW
-{
-	DWORD	dwSize;
-	LPWSTR	lpszServiceInstanceName;
-	LPGUID	lpServiceClassId;
-	LPWSAVERSION	lpVersion;
-	LPWSTR	lpszComment;
-	DWORD	dwNameSpace;
-	LPGUID	lpNSProviderId;
-	LPWSTR	lpszContext;
-	DWORD	dwNumberOfProtocols;
-	LPAFPROTOCOLS	lpafpProtocols;
-	LPWSTR	lpszQueryString;
-	DWORD	dwNumberOfCsAddrs;
-	LPCSADDR_INFO	lpcsaBuffer;
-	DWORD	dwOutputFlags;
-	LPBLOB	lpBlob;
-} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
-
-#ifdef UNICODE
-typedef WSAQUERYSETW WSAQUERYSET;
-typedef PWSAQUERYSETW PWSAQUERYSET;
-typedef LPWSAQUERYSETW LPWSAQUERYSET;
-#else
-typedef WSAQUERYSETA WSAQUERYSET;
-typedef PWSAQUERYSETA PWSAQUERYSET;
-typedef LPWSAQUERYSETA LPWSAQUERYSET;
-#endif
-
-#define LUP_DEEP                0x0001
-#define LUP_CONTAINERS          0x0002
-#define LUP_NOCONTAINERS        0x0004
-#define LUP_NEAREST             0x0008
-#define LUP_RETURN_NAME         0x0010
-#define LUP_RETURN_TYPE         0x0020
-#define LUP_RETURN_VERSION      0x0040
-#define LUP_RETURN_COMMENT      0x0080
-#define LUP_RETURN_ADDR         0x0100
-#define LUP_RETURN_BLOB         0x0200
-#define LUP_RETURN_ALIASES      0x0400
-#define LUP_RETURN_QUERY_STRING 0x0800
-#define LUP_RETURN_ALL          0x0FF0
-#define LUP_RES_SERVICE         0x8000
-#define LUP_FLUSHCACHE          0x1000
-#define LUP_FLUSHPREVIOUS       0x2000
-
-typedef struct _WSANSClassInfoA
-{
-	LPSTR	lpszName;
-	DWORD	dwNameSpace;
-	DWORD	dwValueType;
-	DWORD	dwValueSize;
-	LPVOID	lpValue;
-} WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA;
-
-typedef struct _WSANSClassInfoW
-{
-	LPWSTR	lpszName;
-	DWORD	dwNameSpace;
-	DWORD	dwValueType;
-	DWORD	dwValueSize;
-	LPVOID	lpValue;
-} WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;
-
-#ifdef UNICODE
-typedef WSANSCLASSINFOW WSANSCLASSINFO;
-typedef PWSANSCLASSINFOW PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;
-#else
-typedef WSANSCLASSINFOA WSANSCLASSINFO;
-typedef PWSANSCLASSINFOA PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;
-#endif
-
-typedef struct _WSAServiceClassInfoA
-{
-	LPGUID	lpServiceClassId;
-	LPSTR	lpszServiceClassName;
-	DWORD	dwCount;
-	LPWSANSCLASSINFOA	lpClassInfos;
-} WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA;
-
-typedef struct _WSAServiceClassInfoW
-{
-	LPGUID	lpServiceClassId;
-	LPWSTR	lpszServiceClassName;
-	DWORD	dwCount;
-	LPWSANSCLASSINFOW	lpClassInfos;
-} WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;
-
-#ifdef UNICODE
-typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;
-#else
-typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;
-#endif
-
-typedef struct _WSANAMESPACE_INFOA {
-	GUID	NSProviderId;
-	DWORD	dwNameSpace;
-	BOOL	fActive;
-	DWORD	dwVersion;
-	LPSTR	lpszIdentifier;
-} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;
-
-typedef struct _WSANAMESPACE_INFOW {
-	GUID	NSProviderId;
-	DWORD	dwNameSpace;
-	BOOL	fActive;
-	DWORD	dwVersion;
-	LPWSTR	lpszIdentifier;
-} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
-
-#ifdef UNICODE
-typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;
-#else
-typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;
-#endif
-
-typedef struct _WSAPROTOCOLCHAIN {
-	int ChainLen;
-	DWORD ChainEntries[MAX_PROTOCOL_CHAIN];
-} WSAPROTOCOLCHAIN, *LPWSAPROTOCOLCHAIN;
-
-#define WSAPROTOCOL_LEN  255
-
-typedef struct _WSAPROTOCOL_INFOA {
-	DWORD dwServiceFlags1;
-	DWORD dwServiceFlags2;
-	DWORD dwServiceFlags3;
-	DWORD dwServiceFlags4;
-	DWORD dwProviderFlags;
-	GUID ProviderId;
-	DWORD dwCatalogEntryId;
-	WSAPROTOCOLCHAIN ProtocolChain;
-	int iVersion;
-	int iAddressFamily;
-	int iMaxSockAddr;
-	int iMinSockAddr;
-	int iSocketType;
-	int iProtocol;
-	int iProtocolMaxOffset;
-	int iNetworkByteOrder;
-	int iSecurityScheme;
-	DWORD dwMessageSize;
-	DWORD dwProviderReserved;
-	CHAR szProtocol[WSAPROTOCOL_LEN+1];
-} WSAPROTOCOL_INFOA, *LPWSAPROTOCOL_INFOA;
-
-typedef struct _WSAPROTOCOL_INFOW {
-	DWORD dwServiceFlags1;
-	DWORD dwServiceFlags2;
-	DWORD dwServiceFlags3;
-	DWORD dwServiceFlags4;
-	DWORD dwProviderFlags;
-	GUID ProviderId;
-	DWORD dwCatalogEntryId;
-	WSAPROTOCOLCHAIN ProtocolChain;
-	int iVersion;
-	int iAddressFamily;
-	int iMaxSockAddr;
-	int iMinSockAddr;
-	int iSocketType;
-	int iProtocol;
-	int iProtocolMaxOffset;
-	int iNetworkByteOrder;
-	int iSecurityScheme;
-	DWORD dwMessageSize;
-	DWORD dwProviderReserved;
-	WCHAR  szProtocol[WSAPROTOCOL_LEN+1];
-} WSAPROTOCOL_INFOW, * LPWSAPROTOCOL_INFOW;
-
-typedef int (CALLBACK *LPCONDITIONPROC)(LPWSABUF, LPWSABUF, LPQOS, LPQOS, LPWSABUF, LPWSABUF, GROUP *, DWORD);
-typedef void (WINAPI *LPWSAOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD, LPWSAOVERLAPPED, DWORD);
-
-
-#ifdef UNICODE
-typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;
-#else
-typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;
-#endif
-
-/* Needed for XP & .NET Server function WSANSPIoctl.  */
-typedef enum _WSACOMPLETIONTYPE {
-    NSP_NOTIFY_IMMEDIATELY = 0,
-    NSP_NOTIFY_HWND,
-    NSP_NOTIFY_EVENT,
-    NSP_NOTIFY_PORT,
-    NSP_NOTIFY_APC
-} WSACOMPLETIONTYPE, * PWSACOMPLETIONTYPE, * LPWSACOMPLETIONTYPE;
-typedef struct _WSACOMPLETION {
-    WSACOMPLETIONTYPE Type;
-    union {
-        struct {
-            HWND hWnd;
-            UINT uMsg;
-            WPARAM context;
-        } WindowMessage;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-        } Event;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-            LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
-        } Apc;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-            HANDLE hPort;
-            ULONG_PTR Key;
-        } Port;
-    } Parameters;
-} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
-
-#define PFL_MULTIPLE_PROTO_ENTRIES          0x00000001
-#define PFL_RECOMMENDED_PROTO_ENTRY         0x00000002
-#define PFL_HIDDEN                          0x00000004
-#define PFL_MATCHES_PROTOCOL_ZERO           0x00000008
-#define XP1_CONNECTIONLESS                  0x00000001
-#define XP1_GUARANTEED_DELIVERY             0x00000002
-#define XP1_GUARANTEED_ORDER                0x00000004
-#define XP1_MESSAGE_ORIENTED                0x00000008
-#define XP1_PSEUDO_STREAM                   0x00000010
-#define XP1_GRACEFUL_CLOSE                  0x00000020
-#define XP1_EXPEDITED_DATA                  0x00000040
-#define XP1_CONNECT_DATA                    0x00000080
-#define XP1_DISCONNECT_DATA                 0x00000100
-#define XP1_SUPPORT_BROADCAST               0x00000200
-#define XP1_SUPPORT_MULTIPOINT              0x00000400
-#define XP1_MULTIPOINT_CONTROL_PLANE        0x00000800
-#define XP1_MULTIPOINT_DATA_PLANE           0x00001000
-#define XP1_QOS_SUPPORTED                   0x00002000
-#define XP1_INTERRUPT                       0x00004000
-#define XP1_UNI_SEND                        0x00008000
-#define XP1_UNI_RECV                        0x00010000
-#define XP1_IFS_HANDLES                     0x00020000
-#define XP1_PARTIAL_MESSAGE                 0x00040000
-
-#define BIGENDIAN                           0x0000
-#define LITTLEENDIAN                        0x0001
-
-#define SECURITY_PROTOCOL_NONE              0x0000
-#define JL_SENDER_ONLY    0x01
-#define JL_RECEIVER_ONLY  0x02
-#define JL_BOTH           0x04
-#define WSA_FLAG_OVERLAPPED           0x01
-#define WSA_FLAG_MULTIPOINT_C_ROOT    0x02
-#define WSA_FLAG_MULTIPOINT_C_LEAF    0x04
-#define WSA_FLAG_MULTIPOINT_D_ROOT    0x08
-#define WSA_FLAG_MULTIPOINT_D_LEAF    0x10
-#define IOC_UNIX                      0x00000000
-#define IOC_WS2                       0x08000000
-#define IOC_PROTOCOL                  0x10000000
-#define IOC_VENDOR                    0x18000000
-
-#define _WSAIO(x,y)                   (IOC_VOID|(x)|(y))
-#define _WSAIOR(x,y)                  (IOC_OUT|(x)|(y))
-#define _WSAIOW(x,y)                  (IOC_IN|(x)|(y))
-#define _WSAIORW(x,y)                 (IOC_INOUT|(x)|(y))
-
-#define SIO_ASSOCIATE_HANDLE          _WSAIOW(IOC_WS2,1)
-#define SIO_ENABLE_CIRCULAR_QUEUEING  _WSAIO(IOC_WS2,2)
-#define SIO_FIND_ROUTE                _WSAIOR(IOC_WS2,3)
-#define SIO_FLUSH                     _WSAIO(IOC_WS2,4)
-#define SIO_GET_BROADCAST_ADDRESS     _WSAIOR(IOC_WS2,5)
-#define SIO_GET_EXTENSION_FUNCTION_POINTER  _WSAIORW(IOC_WS2,6)
-#define SIO_GET_QOS                   _WSAIORW(IOC_WS2,7)
-#define SIO_GET_GROUP_QOS             _WSAIORW(IOC_WS2,8)
-#define SIO_MULTIPOINT_LOOPBACK       _WSAIOW(IOC_WS2,9)
-#define SIO_MULTICAST_SCOPE           _WSAIOW(IOC_WS2,10)
-#define SIO_SET_QOS                   _WSAIOW(IOC_WS2,11)
-#define SIO_SET_GROUP_QOS             _WSAIOW(IOC_WS2,12)
-#define SIO_TRANSLATE_HANDLE          _WSAIORW(IOC_WS2,13)
-#define SIO_ROUTING_INTERFACE_QUERY   _WSAIORW(IOC_WS2,20)
-#define SIO_ROUTING_INTERFACE_CHANGE  _WSAIOW(IOC_WS2,21)
-#define SIO_ADDRESS_LIST_QUERY        _WSAIOR(IOC_WS2,22)
-#define SIO_ADDRESS_LIST_CHANGE       _WSAIO(IOC_WS2,23)
-#define SIO_QUERY_TARGET_PNP_HANDLE   _WSAIOR(IOC_WS2,24)
-#define SIO_NSP_NOTIFY_CHANGE         _WSAIOW(IOC_WS2,25)
-#define SIO_UDP_CONNRESET             _WSAIOW(IOC_VENDOR,12)
-
-#define TH_NETDEV	0x00000001
-#define TH_TAPI	0x00000002
-
-WINSOCK_API_LINKAGE SOCKET WINAPI WSAAccept(SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSAAddressToStringA(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, LPDWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD);
-WINSOCK_API_LINKAGE BOOL WINAPI WSACloseEvent(WSAEVENT);
-WINSOCK_API_LINKAGE int WINAPI WSAConnect(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS);
-WINSOCK_API_LINKAGE WSAEVENT WINAPI WSACreateEvent(void);
-WINSOCK_API_LINKAGE int WINAPI WSADuplicateSocketA(SOCKET, DWORD, LPWSAPROTOCOL_INFOA);
-WINSOCK_API_LINKAGE int WINAPI WSADuplicateSocketW(SOCKET, DWORD, LPWSAPROTOCOL_INFOW);
-WINSOCK_API_LINKAGE INT WINAPI WSAEnumNameSpaceProvidersA(LPDWORD, LPWSANAMESPACE_INFOA);
-WINSOCK_API_LINKAGE INT WINAPI WSAEnumNameSpaceProvidersW(LPDWORD, LPWSANAMESPACE_INFOW);
-WINSOCK_API_LINKAGE int WINAPI WSAEnumNetworkEvents(SOCKET, WSAEVENT, LPWSANETWORKEVENTS);
-WINSOCK_API_LINKAGE int WINAPI WSAEnumProtocolsA(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD);
-WINSOCK_API_LINKAGE int WINAPI WSAEnumProtocolsW(LPINT, LPWSAPROTOCOL_INFOW, LPDWORD);
-WINSOCK_API_LINKAGE int WINAPI WSAEventSelect(SOCKET, WSAEVENT, long);
-WINSOCK_API_LINKAGE BOOL WINAPI WSAGetOverlappedResult(SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD);
-WINSOCK_API_LINKAGE BOOL WINAPI WSAGetQOSByName(SOCKET, LPWSABUF, LPQOS);
-WINSOCK_API_LINKAGE INT WINAPI WSAGetServiceClassInfoA(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOA);
-WINSOCK_API_LINKAGE INT WINAPI WSAGetServiceClassInfoW(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOW);
-WINSOCK_API_LINKAGE INT WINAPI WSAGetServiceClassNameByClassIdA(LPGUID, LPSTR, LPDWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSAGetServiceClassNameByClassIdW(LPGUID, LPWSTR, LPDWORD);
-WINSOCK_API_LINKAGE int WINAPI WSAHtonl(SOCKET, unsigned long, unsigned long *);
-WINSOCK_API_LINKAGE int WINAPI WSAHtons(SOCKET, unsigned short, unsigned short *);
-WINSOCK_API_LINKAGE INT WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA);
-WINSOCK_API_LINKAGE INT WINAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW);
-WINSOCK_API_LINKAGE int WINAPI WSAIoctl(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-WINSOCK_API_LINKAGE SOCKET WINAPI WSAJoinLeaf(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSALookupServiceBeginA(LPWSAQUERYSETA, DWORD, LPHANDLE);
-WINSOCK_API_LINKAGE INT WINAPI WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions, DWORD, LPHANDLE);
-WINSOCK_API_LINKAGE INT WINAPI WSALookupServiceNextA(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA);
-WINSOCK_API_LINKAGE INT WINAPI WSALookupServiceNextW(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW);
-WINSOCK_API_LINKAGE INT WINAPI WSALookupServiceEnd(HANDLE);
-WINSOCK_API_LINKAGE int WINAPI WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION); /* XP or .NET Server */
-WINSOCK_API_LINKAGE int WINAPI WSANtohl(SOCKET, unsigned long, unsigned long *);
-WINSOCK_API_LINKAGE int WINAPI WSANtohs(SOCKET, unsigned short, unsigned short *);
-WINSOCK_API_LINKAGE int WINAPI WSARecv(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-WINSOCK_API_LINKAGE int WINAPI WSARecvDisconnect(SOCKET, LPWSABUF);
-WINSOCK_API_LINKAGE int WINAPI WSARecvFrom(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, struct sockaddr *, LPINT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-WINSOCK_API_LINKAGE INT WINAPI WSARemoveServiceClass(LPGUID);
-WINSOCK_API_LINKAGE BOOL WINAPI WSAResetEvent(WSAEVENT);
-WINSOCK_API_LINKAGE int WINAPI WSASend(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-WINSOCK_API_LINKAGE int WINAPI WSASendDisconnect(SOCKET, LPWSABUF);
-WINSOCK_API_LINKAGE int WINAPI WSASendTo(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const struct sockaddr *, int, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-WINSOCK_API_LINKAGE BOOL WINAPI WSASetEvent(WSAEVENT);
-WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceA(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSASetServiceW(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD);
-WINSOCK_API_LINKAGE SOCKET WINAPI WSASocketA(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD);
-WINSOCK_API_LINKAGE SOCKET WINAPI WSASocketW(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD);
-WINSOCK_API_LINKAGE INT WINAPI WSAStringToAddressA(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPINT);
-WINSOCK_API_LINKAGE INT WINAPI WSAStringToAddressW(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT);
-WINSOCK_API_LINKAGE DWORD WINAPI WSAWaitForMultipleEvents(DWORD, const WSAEVENT *, BOOL, DWORD, BOOL);
-
-typedef SOCKET (WINAPI *LPFN_WSAACCEPT)(SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
-typedef INT (WINAPI *LPFN_WSAADDRESSTOSTRINGA)(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, LPDWORD);
-typedef INT (WINAPI *LPFN_WSAADDRESSTOSTRINGW)(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD);
-typedef BOOL (WINAPI *LPFN_WSACLOSEEVENT)(WSAEVENT);
-typedef int (WINAPI *LPFN_WSACONNECT)(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS);
-typedef WSAEVENT (WINAPI *LPFN_WSACREATEEVENT)(void);
-typedef int (WINAPI *LPFN_WSADUPLICATESOCKETA)(SOCKET, DWORD, LPWSAPROTOCOL_INFOA);
-typedef int (WINAPI *LPFN_WSADUPLICATESOCKETW)(SOCKET, DWORD, LPWSAPROTOCOL_INFOW);
-typedef INT (WINAPI *LPFN_WSAENUMNAMESPACEPROVIDERSA)(LPDWORD, LPWSANAMESPACE_INFOA);
-typedef INT (WINAPI *LPFN_WSAENUMNAMESPACEPROVIDERSW)(LPDWORD, LPWSANAMESPACE_INFOW);
-typedef int (WINAPI *LPFN_WSAENUMNETWORKEVENTS)(SOCKET, WSAEVENT, LPWSANETWORKEVENTS);
-typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSA)(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD);
-typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSW)(LPINT, LPWSAPROTOCOL_INFOW, LPDWORD);
-typedef int (WINAPI *LPFN_WSAEVENTSELECT)(SOCKET, WSAEVENT, long);
-typedef BOOL (WINAPI *LPFN_WSAGETOVERLAPPEDRESULT)(SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD);
-typedef BOOL (WINAPI *LPFN_WSAGETQOSBYNAME)(SOCKET, LPWSABUF, LPQOS);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSINFOA)(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOA);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSINFOW)(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOW);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(LPGUID, LPSTR, LPDWORD);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(LPGUID, LPWSTR, LPDWORD);
-typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET, unsigned long, unsigned long *);
-typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET, unsigned short, unsigned short *);
-typedef INT (WINAPI *LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA);
-typedef INT (WINAPI *LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW);
-typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef SOCKET (WINAPI *LPFN_WSAJOINLEAF)(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINA)(LPWSAQUERYSETA, DWORD, LPHANDLE);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINW)(LPWSAQUERYSETW, DWORD, LPHANDLE);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTA)(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTW)(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEEND)(HANDLE);
-typedef int (WINAPI *LPFN_WSANSPIoctl)(HANDLE, DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION);
-typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET, unsigned long, unsigned long *);
-typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET, unsigned short, unsigned short *);
-typedef int (WINAPI *LPFN_WSARECV)(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET, LPWSABUF);
-typedef int (WINAPI *LPFN_WSARECVFROM)(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, struct sockaddr *, LPINT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef INT (WINAPI *LPFN_WSAREMOVESERVICECLASS)(LPGUID);
-typedef BOOL (WINAPI *LPFN_WSARESETEVENT)(WSAEVENT);
-typedef int (WINAPI *LPFN_WSASEND)(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef int (WINAPI *LPFN_WSASENDDISCONNECT)(SOCKET, LPWSABUF);
-typedef int (WINAPI *LPFN_WSASENDTO)(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const struct sockaddr *, int, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef BOOL (WINAPI *LPFN_WSASETEVENT)(WSAEVENT);
-typedef INT (WINAPI *LPFN_WSASETSERVICEA)(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD);
-typedef INT (WINAPI *LPFN_WSASETSERVICEW)(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD);
-typedef SOCKET (WINAPI *LPFN_WSASOCKETA)(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD);
-typedef SOCKET (WINAPI *LPFN_WSASOCKETW)(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD);
-typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPINT);
-typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSW)(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT);
-typedef DWORD (WINAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(DWORD, const WSAEVENT *, BOOL, DWORD, BOOL);
-
-#ifdef UNICODE
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
-#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEW
-#define LPFN_WSASOCKET LPFN_WSASOCKETW
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
-#define WSAAddressToString WSAAddressToStringW
-#define WSADuplicateSocket WSADuplicateSocketW
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
-#define WSAEnumProtocols WSAEnumProtocolsW
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoW
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
-#define WSASetService WSASetServiceW
-#define WSASocket WSASocketW
-#define WSAStringToAddress WSAStringToAddressW
-#define WSALookupServiceBegin WSALookupServiceBeginW
-#define WSALookupServiceNext WSALookupServiceNextW
-#define WSAInstallServiceClass WSAInstallServiceClassW
-#else
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
-#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEA
-#define LPFN_WSASOCKET LPFN_WSASOCKETA
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
-#define WSAAddressToString WSAAddressToStringA
-#define WSADuplicateSocket WSADuplicateSocketA
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
-#define WSAEnumProtocols WSAEnumProtocolsA
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoA
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
-#define WSAInstallServiceClass WSAInstallServiceClassA
-#define WSALookupServiceBegin WSALookupServiceBeginA
-#define WSALookupServiceNext WSALookupServiceNextA
-#define WSASocket WSASocketA
-#define WSAStringToAddress WSAStringToAddressA
-#define WSASetService WSASetServiceA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winspool.h
===================================================================
--- Daodan/MinGW/include/winspool.h	(revision 1046)
+++ 	(revision )
@@ -1,982 +1,0 @@
-#ifndef _WINSPOOL_H
-#define _WINSPOOL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DI_CHANNEL 1
-#define DI_CHANNEL_WRITE 2
-#define DI_READ_SPOOL_JOB 3
-#define	DI_MEMORYMAP_WRITE	0x1
-#define	FORM_USER	0x0
-#define	FORM_BUILTIN	0x1
-#define	FORM_PRINTER	0x2
-#if (_WIN32_WINNT >= 0x0500)
-#define DRIVER_KERNELMODE	0x00000001
-#define DRIVER_USERMODE		0x00000002
-#define	DSPRINT_PUBLISH		0x00000001
-#define	DSPRINT_UPDATE		0x00000002
-#define	DSPRINT_UNPUBLISH	0x00000004
-#define	DSPRINT_REPUBLISH	0x00000008
-#define	DSPRINT_PENDING		0x80000000
-#endif
-#define	JOB_CONTROL_PAUSE		1
-#define	JOB_CONTROL_RESUME		2
-#define	JOB_CONTROL_CANCEL		3
-#define	JOB_CONTROL_RESTART		4
-#define	JOB_CONTROL_DELETE		5
-#define	JOB_CONTROL_SENT_TO_PRINTER	6
-#define	JOB_CONTROL_LAST_PAGE_EJECTED	7
-#define	JOB_STATUS_PAUSED		0x1
-#define	JOB_STATUS_ERROR		0x2
-#define	JOB_STATUS_DELETING		0x4
-#define	JOB_STATUS_SPOOLING		0x8
-#define	JOB_STATUS_PRINTING		0x10
-#define	JOB_STATUS_OFFLINE		0x20
-#define	JOB_STATUS_PAPEROUT		0x40
-#define	JOB_STATUS_PRINTED		0x80
-#define	JOB_STATUS_DELETED		0x100
-#define	JOB_STATUS_BLOCKED_DEVQ		0x200
-#define	JOB_STATUS_USER_INTERVENTION	0x400
-#define	JOB_STATUS_RESTART		0x800
-#define	JOB_STATUS_COMPLETE		0x1000
-#define	JOB_POSITION_UNSPECIFIED	0
-#define	JOB_NOTIFY_TYPE	1
-#define	JOB_NOTIFY_FIELD_PRINTER_NAME	0
-#define	JOB_NOTIFY_FIELD_MACHINE_NAME	1
-#define	JOB_NOTIFY_FIELD_PORT_NAME	2
-#define	JOB_NOTIFY_FIELD_USER_NAME	3
-#define	JOB_NOTIFY_FIELD_NOTIFY_NAME	4
-#define	JOB_NOTIFY_FIELD_DATATYPE	5
-#define	JOB_NOTIFY_FIELD_PRINT_PROCESSOR	6
-#define	JOB_NOTIFY_FIELD_PARAMETERS	7
-#define	JOB_NOTIFY_FIELD_DRIVER_NAME	8
-#define	JOB_NOTIFY_FIELD_DEVMODE	9
-#define	JOB_NOTIFY_FIELD_STATUS	10
-#define	JOB_NOTIFY_FIELD_STATUS_STRING	11
-#define	JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR	12
-#define	JOB_NOTIFY_FIELD_DOCUMENT	13
-#define	JOB_NOTIFY_FIELD_PRIORITY	14
-#define	JOB_NOTIFY_FIELD_POSITION	15
-#define	JOB_NOTIFY_FIELD_SUBMITTED	16
-#define	JOB_NOTIFY_FIELD_START_TIME	17
-#define	JOB_NOTIFY_FIELD_UNTIL_TIME	18
-#define	JOB_NOTIFY_FIELD_TIME	19
-#define	JOB_NOTIFY_FIELD_TOTAL_PAGES	20
-#define	JOB_NOTIFY_FIELD_PAGES_PRINTED	21
-#define	JOB_NOTIFY_FIELD_TOTAL_BYTES	22
-#define	JOB_NOTIFY_FIELD_BYTES_PRINTED	23
-#define	JOB_ACCESS_ADMINISTER	16
-#define	JOB_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
-#define	JOB_READ	(STANDARD_RIGHTS_READ|	JOB_ACCESS_ADMINISTER)
-#define	JOB_WRITE	(STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
-#define	JOB_EXECUTE	(STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
-#define	PRINTER_NOTIFY_OPTIONS_REFRESH	1
-#define	PRINTER_ACCESS_ADMINISTER	4
-#define	PRINTER_ACCESS_USE	8
-#define	PRINTER_ERROR_INFORMATION	0x80000000
-#define	PRINTER_ERROR_WARNING	0x40000000
-#define	PRINTER_ERROR_SEVERE	0x20000000
-#define	PRINTER_ERROR_OUTOFPAPER	1
-#define	PRINTER_ERROR_JAM	2
-#define	PRINTER_ERROR_OUTOFTONER	4
-#define	PRINTER_CONTROL_PAUSE	1
-#define	PRINTER_CONTROL_RESUME	2
-#define	PRINTER_CONTROL_PURGE	3
-#define	PRINTER_CONTROL_SET_STATUS	4
-#define	PRINTER_STATUS_PAUSED	1
-#define	PRINTER_STATUS_ERROR	2
-#define	PRINTER_STATUS_PENDING_DELETION	4
-#define	PRINTER_STATUS_PAPER_JAM	8
-#define	PRINTER_STATUS_PAPER_OUT	0x10
-#define	PRINTER_STATUS_MANUAL_FEED	0x20
-#define	PRINTER_STATUS_PAPER_PROBLEM	0x40
-#define	PRINTER_STATUS_OFFLINE	0x80
-#define	PRINTER_STATUS_IO_ACTIVE	0x100
-#define	PRINTER_STATUS_BUSY	0x200
-#define	PRINTER_STATUS_PRINTING	0x400
-#define	PRINTER_STATUS_OUTPUT_BIN_FULL	0x800
-#define	PRINTER_STATUS_NOT_AVAILABLE	0x1000
-#define	PRINTER_STATUS_WAITING	0x2000
-#define	PRINTER_STATUS_PROCESSING	0x4000
-#define	PRINTER_STATUS_INITIALIZING	0x8000
-#define	PRINTER_STATUS_WARMING_UP	0x10000
-#define	PRINTER_STATUS_TONER_LOW	0x20000
-#define	PRINTER_STATUS_NO_TONER	0x40000
-#define	PRINTER_STATUS_PAGE_PUNT	0x80000
-#define	PRINTER_STATUS_USER_INTERVENTION	0x100000
-#define	PRINTER_STATUS_OUT_OF_MEMORY	0x200000
-#define	PRINTER_STATUS_DOOR_OPEN	0x400000
-#define	PRINTER_STATUS_SERVER_UNKNOWN	0x800000
-#define	PRINTER_STATUS_POWER_SAVE	0x1000000
-#define	PRINTER_ATTRIBUTE_QUEUED	1
-#define	PRINTER_ATTRIBUTE_DIRECT	2
-#define	PRINTER_ATTRIBUTE_DEFAULT	4
-#define	PRINTER_ATTRIBUTE_SHARED	8
-#define	PRINTER_ATTRIBUTE_NETWORK	0x10
-#define	PRINTER_ATTRIBUTE_HIDDEN	0x20
-#define	PRINTER_ATTRIBUTE_LOCAL	0x40
-#define	PRINTER_ATTRIBUTE_ENABLE_DEVQ	0x80
-#define	PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS	0x100
-#define	PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST	0x200
-#define	PRINTER_ATTRIBUTE_WORK_OFFLINE	0x400
-#define	PRINTER_ATTRIBUTE_ENABLE_BIDI	0x800
-#define	PRINTER_ATTRIBUTE_RAW_ONLY	0x1000
-#define	PRINTER_ATTRIBUTE_PUBLISHED	0x2000
-#define	PRINTER_ENUM_DEFAULT	1
-#define	PRINTER_ENUM_LOCAL	2
-#define	PRINTER_ENUM_CONNECTIONS	4
-#define	PRINTER_ENUM_FAVORITE	4
-#define	PRINTER_ENUM_NAME	8
-#define	PRINTER_ENUM_REMOTE	16
-#define	PRINTER_ENUM_SHARED	32
-#define	PRINTER_ENUM_NETWORK	0x40
-#define	PRINTER_ENUM_EXPAND	0x4000
-#define	PRINTER_ENUM_CONTAINER	0x8000
-#define	PRINTER_ENUM_ICONMASK	0xff0000
-#define	PRINTER_ENUM_ICON1	0x10000
-#define	PRINTER_ENUM_ICON2	0x20000
-#define	PRINTER_ENUM_ICON3	0x40000
-#define	PRINTER_ENUM_ICON4	0x80000
-#define	PRINTER_ENUM_ICON5	0x100000
-#define	PRINTER_ENUM_ICON6	0x200000
-#define	PRINTER_ENUM_ICON7	0x400000
-#define	PRINTER_ENUM_ICON8	0x800000
-#define PRINTER_NOTIFY_TYPE	0
-#define PRINTER_NOTIFY_FIELD_SERVER_NAME	0
-#define PRINTER_NOTIFY_FIELD_PRINTER_NAME	1
-#define PRINTER_NOTIFY_FIELD_SHARE_NAME	2
-#define PRINTER_NOTIFY_FIELD_PORT_NAME	3
-#define PRINTER_NOTIFY_FIELD_DRIVER_NAME	4
-#define PRINTER_NOTIFY_FIELD_COMMENT	5
-#define PRINTER_NOTIFY_FIELD_LOCATION	6
-#define PRINTER_NOTIFY_FIELD_DEVMODE	7
-#define PRINTER_NOTIFY_FIELD_SEPFILE	8
-#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR	9
-#define PRINTER_NOTIFY_FIELD_PARAMETERS	10
-#define PRINTER_NOTIFY_FIELD_DATATYPE	11
-#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR	12
-#define PRINTER_NOTIFY_FIELD_ATTRIBUTES	13
-#define PRINTER_NOTIFY_FIELD_PRIORITY	14
-#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY	15
-#define PRINTER_NOTIFY_FIELD_START_TIME	16
-#define PRINTER_NOTIFY_FIELD_UNTIL_TIME	17
-#define PRINTER_NOTIFY_FIELD_STATUS	18
-#define PRINTER_NOTIFY_FIELD_STATUS_STRING	19
-#define PRINTER_NOTIFY_FIELD_CJOBS	20
-#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM	21
-#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES	22
-#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED	23
-#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES	24
-#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED	25
-#define PRINTER_CHANGE_ADD_PRINTER	1
-#define PRINTER_CHANGE_SET_PRINTER	2
-#define PRINTER_CHANGE_DELETE_PRINTER	4
-#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER	8
-#define PRINTER_CHANGE_PRINTER	0xFF
-#define PRINTER_CHANGE_ADD_JOB	0x100
-#define PRINTER_CHANGE_SET_JOB	0x200
-#define PRINTER_CHANGE_DELETE_JOB	0x400
-#define PRINTER_CHANGE_WRITE_JOB	0x800
-#define PRINTER_CHANGE_JOB	0xFF00
-#define PRINTER_CHANGE_ADD_FORM	0x10000
-#define PRINTER_CHANGE_SET_FORM	0x20000
-#define PRINTER_CHANGE_DELETE_FORM	0x40000
-#define PRINTER_CHANGE_FORM	0x70000
-#define PRINTER_CHANGE_ADD_PORT	0x100000
-#define PRINTER_CHANGE_CONFIGURE_PORT	0x200000
-#define PRINTER_CHANGE_DELETE_PORT	0x400000
-#define PRINTER_CHANGE_PORT	0x700000
-#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR	0x1000000
-#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR	0x4000000
-#define PRINTER_CHANGE_PRINT_PROCESSOR	0x7000000
-#define PRINTER_CHANGE_ADD_PRINTER_DRIVER	0x10000000
-#define PRINTER_CHANGE_SET_PRINTER_DRIVER	0x20000000
-#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER	0x40000000
-#define PRINTER_CHANGE_PRINTER_DRIVER	0x70000000
-#define PRINTER_CHANGE_TIMEOUT	0x80000000
-#define PRINTER_CHANGE_ALL	0x7777FFFF
-#define PRINTER_NOTIFY_INFO_DISCARDED	1
-#define PRINTER_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
-#define PRINTER_READ	(STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
-#define PRINTER_WRITE	(STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
-#define PRINTER_EXECUTE	(STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
-#define NO_PRIORITY	0
-#define MAX_PRIORITY	99
-#define MIN_PRIORITY	1
-#define DEF_PRIORITY	1
-#define PORT_TYPE_WRITE	1
-#define PORT_TYPE_READ	2
-#define PORT_TYPE_REDIRECTED	4
-#define PORT_TYPE_NET_ATTACHED	8
-#define SERVER_ACCESS_ADMINISTER	1
-#define SERVER_ACCESS_ENUMERATE	2
-#define SERVER_ALL_ACCESS	(STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
-#define SERVER_READ	(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
-#define SERVER_WRITE	(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
-#define SERVER_EXECUTE	(STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
-#define PORT_STATUS_TYPE_ERROR	1
-#define PORT_STATUS_TYPE_WARNING	2
-#define PORT_STATUS_TYPE_INFO	3
-#define PORT_STATUS_OFFLINE	1
-#define PORT_STATUS_PAPER_JAM	2
-#define PORT_STATUS_PAPER_OUT	3
-#define PORT_STATUS_OUTPUT_BIN_FULL	4
-#define PORT_STATUS_PAPER_PROBLEM	5
-#define PORT_STATUS_NO_TONER	6
-#define PORT_STATUS_DOOR_OPEN	7
-#define PORT_STATUS_USER_INTERVENTION	8
-#define PORT_STATUS_OUT_OF_MEMORY	9
-#define PORT_STATUS_TONER_LOW	10
-#define PORT_STATUS_WARMING_UP	11
-#define PORT_STATUS_POWER_SAVE	12
-#ifndef RC_INVOKED
-typedef struct _ADDJOB_INFO_1A {
-	LPSTR Path;
-	DWORD JobId;
-} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
-typedef struct _ADDJOB_INFO_1W {
-	LPWSTR Path;
-	DWORD JobId;
-} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
-typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
-typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
-typedef struct _JOB_INFO_1A {
-	DWORD JobId;
-	LPSTR pPrinterName;
-	LPSTR pMachineName;
-	LPSTR pUserName;
-	LPSTR pDocument;
-	LPSTR pDatatype;
-	LPSTR pStatus;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD TotalPages;
-	DWORD PagesPrinted;
-	SYSTEMTIME Submitted;
-} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
-typedef struct _JOB_INFO_1W {
-	DWORD JobId;
-	LPWSTR pPrinterName;
-	LPWSTR pMachineName;
-	LPWSTR pUserName;
-	LPWSTR pDocument;
-	LPWSTR pDatatype;
-	LPWSTR pStatus;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD TotalPages;
-	DWORD PagesPrinted;
-	SYSTEMTIME Submitted;
-} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
-typedef struct _JOB_INFO_2A {
-	DWORD JobId;
-	LPSTR pPrinterName;
-	LPSTR pMachineName;
-	LPSTR pUserName;
-	LPSTR pDocument;
-	LPSTR pNotifyName;
-	LPSTR pDatatype;
-	LPSTR pPrintProcessor;
-	LPSTR pParameters;
-	LPSTR pDriverName;
-	LPDEVMODEA pDevMode;
-	LPSTR pStatus;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD TotalPages;
-	DWORD Size;
-	SYSTEMTIME Submitted;
-	DWORD Time;
-	DWORD PagesPrinted;
-} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
-typedef struct _JOB_INFO_2W {
-	DWORD JobId;
-	LPWSTR pPrinterName;
-	LPWSTR pMachineName;
-	LPWSTR pUserName;
-	LPWSTR pDocument;
-	LPWSTR pNotifyName;
-	LPWSTR pDatatype;
-	LPWSTR pPrintProcessor;
-	LPWSTR pParameters;
-	LPWSTR pDriverName;
-	LPDEVMODEW pDevMode;
-	LPWSTR pStatus;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD TotalPages;
-	DWORD Size;
-	SYSTEMTIME Submitted;
-	DWORD Time;
-	DWORD PagesPrinted;
-} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
-typedef struct _JOB_INFO_3 {
-	DWORD JobId;
-	DWORD NextJobId;
-	DWORD Reserved;
-} JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3;
-typedef struct _DOC_INFO_1A {
-	LPSTR pDocName;
-	LPSTR pOutputFile;
-	LPSTR pDatatype;
-} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
-typedef struct _DOC_INFO_1W {
-	LPWSTR pDocName;
-	LPWSTR pOutputFile;
-	LPWSTR pDatatype;
-} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
-typedef struct _DOC_INFO_2A {
-	LPSTR pDocName;
-	LPSTR pOutputFile;
-	LPSTR pDatatype;
-	DWORD dwMode;
-	DWORD JobId;
-} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
-typedef struct _DOC_INFO_2W {
-	LPWSTR pDocName;
-	LPWSTR pOutputFile;
-	LPWSTR pDatatype;
-	DWORD dwMode;
-	DWORD JobId;
-} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
-typedef	struct	_DRIVER_INFO_1A	{LPSTR	pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
-typedef	struct	_DRIVER_INFO_1W	{LPWSTR	pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
-typedef	struct	_DRIVER_INFO_2A	{
-	DWORD cVersion;
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDriverPath;
-	LPSTR pDataFile;
-	LPSTR pConfigFile;
-} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
-typedef	struct	_DRIVER_INFO_2W	{
-	DWORD cVersion;
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDriverPath;
-	LPWSTR pDataFile;
-	LPWSTR pConfigFile;
-}	DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
-typedef	struct	_DRIVER_INFO_3A	{
-	DWORD cVersion;
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDriverPath;
-	LPSTR pDataFile;
-	LPSTR pConfigFile;
-	LPSTR pHelpFile;
-	LPSTR pDependentFiles;
-	LPSTR pMonitorName;
-	LPSTR pDefaultDataType;
-} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
-typedef	struct	_DRIVER_INFO_3W	{
-	DWORD cVersion;
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDriverPath;
-	LPWSTR pDataFile;
-	LPWSTR pConfigFile;
-	LPWSTR pHelpFile;
-	LPWSTR pDependentFiles;
-	LPWSTR pMonitorName;
-	LPWSTR pDefaultDataType;
-} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
-#if (_WIN32_WINNT >= 0x0500)
-typedef	struct	_DRIVER_INFO_4A {
-	DWORD cVersion;
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDriverPath;
-	LPSTR pDataFile;
-	LPSTR pConfigFile;
-	LPSTR pHelpFile;
-	LPSTR pDependentFiles;
-	LPSTR pMonitorName;
-	LPSTR pDefaultDataType;
-	LPSTR pszzPreviousNames;
-} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
-typedef	struct	_DRIVER_INFO_4W {
-	DWORD cVersion;
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDriverPath;
-	LPWSTR pDataFile;
-	LPWSTR pConfigFile;
-	LPWSTR pHelpFile;
-	LPWSTR pDependentFiles;
-	LPWSTR pMonitorName;
-	LPWSTR pDefaultDataType;
-	LPWSTR pszzPreviousNames;
-} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
-typedef	struct	_DRIVER_INFO_5A {
-	DWORD cVersion;
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDriverPath;
-	LPSTR pDataFile;
-	LPSTR pConfigFile;
-	DWORD dwDriverAttributes;
-	DWORD dwConfigVersion;
-	DWORD dwDriverVersion;
-} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
-typedef	struct	_DRIVER_INFO_5W {
-	DWORD cVersion;
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDriverPath;
-	LPWSTR pDataFile;
-	LPWSTR pConfigFile;
-	DWORD dwDriverAttributes;
-	DWORD dwConfigVersion;
-	DWORD dwDriverVersion;
-} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
-typedef	struct	_DRIVER_INFO_6A {
-	DWORD cVersion;
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDriverPath;
-	LPSTR pDataFile;
-	LPSTR pConfigFile;
-	LPSTR pHelpFile;
-	LPSTR pDependentFiles;
-	LPSTR pMonitorName;
-	LPSTR pDefaultDataType;
-	LPSTR pszzPreviousNames;
-	FILETIME ftDriverDate;
-	DWORDLONG dwlDriverVersion;
-	LPSTR pszMfgName;
-	LPSTR pszOEMUrl;
-	LPSTR pszHardwareID;
-	LPSTR pszProvider;
-} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
-typedef	struct	_DRIVER_INFO_6W {
-	DWORD cVersion;
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDriverPath;
-	LPWSTR pDataFile;
-	LPWSTR pConfigFile;
-	LPWSTR pHelpFile;
-	LPWSTR pDependentFiles;
-	LPWSTR pMonitorName;
-	LPWSTR pDefaultDataType;
-	LPWSTR pszzPreviousNames;
-	FILETIME ftDriverDate;
-	DWORDLONG dwlDriverVersion;
-	LPWSTR pszMfgName;
-	LPWSTR pszOEMUrl;
-	LPWSTR pszHardwareID;
-	LPWSTR pszProvider;
-} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
-#endif
-typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
-typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
-typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
-typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
-typedef struct _MONITOR_INFO_2A{
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDLLName;
-} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
-typedef struct _MONITOR_INFO_2W{
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDLLName;
-} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
-typedef struct _PORT_INFO_2A {
-	LPSTR pPortName;
-	LPSTR pMonitorName;
-	LPSTR pDescription;
-	DWORD fPortType;
-	DWORD Reserved;
-} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
-typedef struct _PORT_INFO_2W {
-	LPWSTR pPortName;
-	LPWSTR pMonitorName;
-	LPWSTR pDescription;
-	DWORD fPortType;
-	DWORD Reserved;
-} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
-typedef struct _PORT_INFO_3A {
-	DWORD dwStatus;
-	LPSTR pszStatus;
-	DWORD dwSeverity;
-} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
-typedef struct _PORT_INFO_3W {
-	DWORD dwStatus;
-	LPWSTR pszStatus;
-	DWORD dwSeverity;
-} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _PRINTER_ENUM_VALUESA {
-	LPSTR pValueName;
-	DWORD cbValueName;
-	DWORD dwType;
-	LPBYTE pData;
-	DWORD cbData;
-} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPRINTER_ENUM_VALUESA;
-typedef struct _PRINTER_ENUM_VALUESW {
-	LPWSTR pValueName;
-	DWORD cbValueName;
-	DWORD dwType;
-	LPBYTE pData;
-	DWORD cbData;
-} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPRINTER_ENUM_VALUESW;
-#endif
-typedef	struct _PRINTER_INFO_1A {
-	DWORD Flags;
-	LPSTR pDescription;
-	LPSTR pName;
-	LPSTR pComment;
-} PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A;
-typedef	struct _PRINTER_INFO_1W	{
-	DWORD Flags;
-	LPWSTR pDescription;
-	LPWSTR pName;
-	LPWSTR pComment;
-} PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W;
-typedef	struct _PRINTER_INFO_2A {
-	LPSTR pServerName;
-	LPSTR pPrinterName;
-	LPSTR pShareName;
-	LPSTR pPortName;
-	LPSTR pDriverName;
-	LPSTR pComment;
-	LPSTR pLocation;
-	LPDEVMODEA pDevMode;
-	LPSTR pSepFile;
-	LPSTR pPrintProcessor;
-	LPSTR pDatatype;
-	LPSTR pParameters;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Attributes;
-	DWORD Priority;
-	DWORD DefaultPriority;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD Status;
-	DWORD cJobs;
-	DWORD AveragePPM;
-} PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A;
-typedef	struct _PRINTER_INFO_2W {
-	LPWSTR pServerName;
-	LPWSTR pPrinterName;
-	LPWSTR pShareName;
-	LPWSTR pPortName;
-	LPWSTR pDriverName;
-	LPWSTR pComment;
-	LPWSTR pLocation;
-	LPDEVMODEW pDevMode;
-	LPWSTR pSepFile;
-	LPWSTR pPrintProcessor;
-	LPWSTR pDatatype;
-	LPWSTR pParameters;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Attributes;
-	DWORD Priority;
-	DWORD DefaultPriority;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD Status;
-	DWORD cJobs;
-	DWORD AveragePPM;
-} PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W;
-typedef	struct _PRINTER_INFO_3	{
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
-typedef	struct _PRINTER_INFO_4A {
-	LPSTR pPrinterName;
-	LPSTR pServerName;
-	DWORD Attributes;
-} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
-typedef	struct _PRINTER_INFO_4W	{
-	LPWSTR pPrinterName;
-	LPWSTR pServerName;
-	DWORD Attributes;
-} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
-typedef	struct _PRINTER_INFO_5A	{
-	LPSTR pPrinterName;
-	LPSTR pPortName;
-	DWORD Attributes;
-	DWORD DeviceNotSelectedTimeout;
-	DWORD TransmissionRetryTimeout;
-} PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A;
-typedef	struct _PRINTER_INFO_5W	{
-	LPWSTR pPrinterName;
-	LPWSTR pPortName;
-	DWORD Attributes;
-	DWORD DeviceNotSelectedTimeout;
-	DWORD TransmissionRetryTimeout;
-} PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W;
-typedef struct _PRINTER_INFO_6 {
-	DWORD	dwStatus;
-} PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _PRINTER_INFO_7A {
-	LPWSTR pszObjectGUID;
-	DWORD dwAction;
-} PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
-typedef struct _PRINTER_INFO_7W {
-	LPWSTR pszObjectGUID;
-	DWORD dwAction;
-} PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
-typedef struct _PRINTER_INFO_8 {
-	LPDEVMODE pDevMode;
-} PRINTER_INFO_8,*PPRINTER_INFO_8,*LPPRINTER_INFO_8;
-typedef struct _PRINTER_INFO_9 {
-	LPDEVMODE pDevMode;
-} PRINTER_INFO_9,*PPRINTER_INFO_9,*LPPRINTER_INFO_9;
-#endif
-typedef	struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
-typedef	struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
-typedef	struct	_PRINTER_NOTIFY_INFO_DATA {
-	WORD Type;
-	WORD Field;
-	DWORD Reserved;
-	DWORD Id;
-	union {
-		DWORD adwData[2];
-		struct {
-			DWORD cbBuf;
-			PVOID pBuf;
-		} Data;
-	} NotifyData;
-} PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA;
-typedef	struct	_PRINTER_NOTIFY_INFO {
-	DWORD Version;
-	DWORD Flags;
-	DWORD Count;
-	PRINTER_NOTIFY_INFO_DATA aData[1];
-} PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO;
-typedef	struct _FORM_INFO_1A {
-	DWORD	Flags;
-	LPSTR	pName;
-	SIZEL	Size;
-	RECTL	ImageableArea;
-} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
-typedef	struct _FORM_INFO_1W {
-	DWORD	Flags;
-	LPWSTR	pName;
-	SIZEL	Size;
-	RECTL	ImageableArea;
-} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
-typedef	struct _PRINTER_DEFAULTSA {
-	LPSTR pDatatype;
-	LPDEVMODE pDevMode;
-	ACCESS_MASK	DesiredAccess;
-} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
-typedef	struct _PRINTER_DEFAULTSW {
-	LPWSTR pDatatype;
-	LPDEVMODE pDevMode;
-	ACCESS_MASK DesiredAccess;
-} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
-#if (_WIN32_WINNT >= 0x0500)
-typedef	struct _PRINTPROCESSOR_CAPS_1 {
-	DWORD dwLevel;
-	DWORD dwNupOptions;
-	DWORD dwPageOrderFlags;
-	DWORD dwNumberOfCopies;
-} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1,*LPPRINTPROCESSOR_CAPS_1;
-#endif
-typedef	struct _PROVIDOR_INFO_1A {
-	LPSTR pName;
-	LPSTR pEnvironment;
-	LPSTR pDLLName;
-} PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A;
-typedef	struct _PROVIDOR_INFO_1W {
-	LPWSTR pName;
-	LPWSTR pEnvironment;
-	LPWSTR pDLLName;
-} PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W;
-typedef	struct _PROVIDOR_INFO_2A {
-	LPSTR pOrder;
-} PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPROVIDOR_INFO_2A;
-typedef	struct _PROVIDOR_INFO_2W {
-	LPWSTR pOrder;
-} PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPROVIDOR_INFO_2W;
-
-BOOL WINAPI AbortPrinter(HANDLE);
-BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE);
-BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE);
-BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR);
-HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE);
-HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrinterConnectionA(LPSTR);
-BOOL WINAPI AddPrinterConnectionW(LPWSTR);
-BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR);
-BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE);
-LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA);
-LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW);
-BOOL WINAPI ClosePrinter(HANDLE);
-BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR);
-HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD);
-BOOL WINAPI DeleteFormA(HANDLE,LPSTR);
-BOOL WINAPI DeleteFormW(HANDLE,LPWSTR);
-BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR);
-BOOL WINAPI DeletePrinter(HANDLE);
-BOOL WINAPI DeletePrinterConnectionA(LPSTR);
-BOOL WINAPI DeletePrinterConnectionW(LPWSTR);
-DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR);
-DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR);
-BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
-LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
-LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
-BOOL WINAPI EndDocPrinter(HANDLE);
-BOOL WINAPI EndPagePrinter(HANDLE);
-BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI FindClosePrinterChangeNotification(HANDLE);
-HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
-HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
-BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
-#if _WIN32_WINNT >= 0x0500
-BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
-BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
-#endif
-BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA);
-BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
-DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD);
-DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD);
-BOOL WINAPI PrinterProperties(HWND,HANDLE);
-BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD);
-BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA);
-BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW);
-BOOL WINAPI ScheduleJob(HANDLE,DWORD);
-BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE);
-BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE);
-BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD);
-DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE);
-DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE);
-BOOL WINAPI StartPagePrinter(HANDLE);
-DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
-BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
-
-#ifdef UNICODE
-typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_1W DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
-typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef DRIVER_INFO_3W DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
-#if (_WIN32_WINNT >= 0x0500)
-typedef DRIVER_INFO_4W DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
-typedef DRIVER_INFO_5W DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
-typedef DRIVER_INFO_6W DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
-typedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
-#endif
-typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-#if (_WIN32_WINNT >= 0x0500)
-typedef PRINTER_INFO_7W PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
-#endif
-typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
-typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
-#define AddForm AddFormW
-#define AddJob AddJobW
-#define AddMonitor AddMonitorW
-#define AddPort AddPortW
-#define AddPrinter AddPrinterW
-#define AddPrinterConnection AddPrinterConnectionW
-#define AddPrinterDriver AddPrinterDriverW
-#define AddPrintProcessor AddPrintProcessorW
-#define AddPrintProvidor AddPrintProvidorW
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesW
-#define ConfigurePort ConfigurePortW
-#define DeleteForm DeleteFormW
-#define DeleteMonitor DeleteMonitorW
-#define DeletePort DeletePortW
-#define DeletePrinterConnection DeletePrinterConnectionW
-#define DeletePrinterData DeletePrinterDataW
-#define DeletePrinterDriver DeletePrinterDriverW
-#define DeletePrintProcessor DeletePrinterProcessorW
-#define DeletePrintProvidor DeletePrinterProvidorW
-#define DocumentProperties DocumentPropertiesW
-#define EnumForms EnumFormsW
-#define EnumJobs EnumJobsW
-#define EnumMonitors EnumMonitorsW
-#define EnumPorts EnumPortsW
-#define EnumPrinterData EnumPrinterDataW
-#define EnumPrinterDrivers EnumPrinterDriversW
-#define EnumPrinters EnumPrintersW
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
-#define EnumPrintProcessors EnumPrintProcessorsW
-#define GetDefaultPrinter GetDefaultPrinterW
-#define	GetForm	GetFormW
-#define GetJob GetJobW
-#define GetPrinter GetPrinterW
-#define GetPrinterData GetPrinterDataW
-#define GetPrinterDriver GetPrinterDriverW
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
-#define OpenPrinter OpenPrinterW
-#define PrinterMessageBox PrinterMessageBoxW
-#define ResetPrinter ResetPrinterW
-#define SetForm SetFormW
-#define SetJob SetJobW
-#define SetPrinter SetPrinterW
-#define SetPrinterData SetPrinterDataW
-#define StartDocPrinter StartDocPrinterW
-#else
-typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_1A DRIVER_INFO_1,*PDRIVER_INFO_1,*LPDRIVER_INFO_1;
-typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef DRIVER_INFO_3A DRIVER_INFO_3,*PDRIVER_INFO_3,*LPDRIVER_INFO_3;
-#if (_WIN32_WINNT >= 0x0500)
-typedef DRIVER_INFO_4A DRIVER_INFO_4,*PDRIVER_INFO_4,*LPDRIVER_INFO_4;
-typedef DRIVER_INFO_5A DRIVER_INFO_5,*PDRIVER_INFO_5,*LPDRIVER_INFO_5;
-typedef DRIVER_INFO_6A DRIVER_INFO_6,*PDRIVER_INFO_6,*LPDRIVER_INFO_6;
-typedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES,*PPRINTER_ENUM_VALUES,*LPRINTER_ENUM_VALUES;
-#endif
-typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-#if (_WIN32_WINNT >= 0x0500)
-typedef PRINTER_INFO_7A PRINTER_INFO_7,*PPRINTER_INFO_7,*LPPRINTER_INFO_7;
-#endif
-typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1,*PPROVIDOR_INFO_1,*LPROVIDOR_INFO_1;
-typedef PROVIDOR_INFO_2A PROVIDOR_INFO_2,*PPROVIDOR_INFO_2,*LPROVIDOR_INFO_2;
-#define AddForm AddFormA
-#define AddJob AddJobA
-#define AddMonitor AddMonitorA
-#define AddPort AddPortA
-#define AddPrinter AddPrinterA
-#define AddPrinterConnection AddPrinterConnectionA
-#define AddPrinterDriver AddPrinterDriverA
-#define AddPrintProcessor AddPrintProcessorA
-#define AddPrintProvidor AddPrintProvidorA
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesA
-#define ConfigurePort ConfigurePortA
-#define DeleteForm DeleteFormA
-#define DeleteMonitor DeleteMonitorA
-#define DeletePort DeletePortA
-#define DeletePrinterConnection DeletePrinterConnectionA
-#define DeletePrinterData DeletePrinterDataA
-#define DeletePrinterDriver DeletePrinterDriverA
-#define DeletePrintProcessor DeletePrinterProcessorA
-#define DeletePrintProvidor DeletePrinterProvidorA
-#define DocumentProperties DocumentPropertiesA
-#define EnumForms EnumFormsA
-#define EnumJobs EnumJobsA
-#define EnumMonitors EnumMonitorsA
-#define EnumPorts EnumPortsA
-#define EnumPrinterData EnumPrinterDataA
-#define EnumPrinterDrivers EnumPrinterDriversA
-#define EnumPrinters EnumPrintersA
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
-#define EnumPrintProcessors EnumPrintProcessorsA
-#define GetDefaultPrinter GetDefaultPrinterA
-#define	GetForm	GetFormA
-#define GetJob GetJobA
-#define GetPrinter GetPrinterA
-#define GetPrinterData GetPrinterDataA
-#define GetPrinterDriver GetPrinterDriverA
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
-#define OpenPrinter OpenPrinterA
-#define PrinterMessageBox PrinterMessageBoxA
-#define ResetPrinter ResetPrinterA
-#define SetForm SetFormA
-#define SetJob SetJobA
-#define SetPrinter SetPrinterA
-#define SetPrinterData SetPrinterDataA
-#define StartDocPrinter StartDocPrinterA
-#endif
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winsvc.h
===================================================================
--- Daodan/MinGW/include/winsvc.h	(revision 1046)
+++ 	(revision )
@@ -1,313 +1,0 @@
-#ifndef _WINSVC_H
-#define _WINSVC_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINADVAPI
-#define WINADVAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
-#define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
-#define SERVICES_FAILED_DATABASEA "ServicesFailed"
-#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
-#define SC_GROUP_IDENTIFIERA '+'
-#define SC_GROUP_IDENTIFIERW L'+'
-#define SC_MANAGER_ALL_ACCESS	0xf003f
-#define SC_MANAGER_CONNECT	1
-#define SC_MANAGER_CREATE_SERVICE	2
-#define SC_MANAGER_ENUMERATE_SERVICE	4
-#define SC_MANAGER_LOCK	8
-#define SC_MANAGER_QUERY_LOCK_STATUS	16
-#define SC_MANAGER_MODIFY_BOOT_CONFIG	32
-#define SERVICE_NO_CHANGE 0xffffffff
-#define SERVICE_STOPPED	1
-#define SERVICE_START_PENDING	2
-#define SERVICE_STOP_PENDING	3
-#define SERVICE_RUNNING	4
-#define SERVICE_CONTINUE_PENDING	5
-#define SERVICE_PAUSE_PENDING	6
-#define SERVICE_PAUSED	7
-#define SERVICE_ACCEPT_STOP	1
-#define SERVICE_ACCEPT_PAUSE_CONTINUE	2
-#define SERVICE_ACCEPT_SHUTDOWN 4
-#define SERVICE_ACCEPT_PARAMCHANGE    8
-#define SERVICE_ACCEPT_NETBINDCHANGE  16
-#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE   32
-#define SERVICE_ACCEPT_POWEREVENT              64
-#define SERVICE_ACCEPT_SESSIONCHANGE           128
-#define SERVICE_CONTROL_STOP	1
-#define SERVICE_CONTROL_PAUSE	2
-#define SERVICE_CONTROL_CONTINUE	3
-#define SERVICE_CONTROL_INTERROGATE	4
-#define SERVICE_CONTROL_SHUTDOWN	5
-#define SERVICE_CONTROL_PARAMCHANGE     6
-#define SERVICE_CONTROL_NETBINDADD      7
-#define SERVICE_CONTROL_NETBINDREMOVE   8
-#define SERVICE_CONTROL_NETBINDENABLE   9
-#define SERVICE_CONTROL_NETBINDDISABLE  10
-#define SERVICE_CONTROL_DEVICEEVENT     11
-#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12
-#define SERVICE_CONTROL_POWEREVENT            13
-#define SERVICE_CONTROL_SESSIONCHANGE         14
-#define SERVICE_ACTIVE 1
-#define SERVICE_INACTIVE 2
-#define SERVICE_STATE_ALL 3
-#define SERVICE_QUERY_CONFIG 1
-#define SERVICE_CHANGE_CONFIG 2
-#define SERVICE_QUERY_STATUS 4
-#define SERVICE_ENUMERATE_DEPENDENTS 8
-#define SERVICE_START 16
-#define SERVICE_STOP 32
-#define SERVICE_PAUSE_CONTINUE 64
-#define SERVICE_INTERROGATE 128
-#define SERVICE_USER_DEFINED_CONTROL 256
-#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL)
-#define SERVICE_RUNS_IN_SYSTEM_PROCESS 1
-#define SERVICE_CONFIG_DESCRIPTION     1
-#define SERVICE_CONFIG_FAILURE_ACTIONS 2
-
-typedef struct _SERVICE_STATUS {
-	DWORD dwServiceType;
-	DWORD dwCurrentState;
-	DWORD dwControlsAccepted;
-	DWORD dwWin32ExitCode;
-	DWORD dwServiceSpecificExitCode;
-	DWORD dwCheckPoint;
-	DWORD dwWaitHint;
-} SERVICE_STATUS,*LPSERVICE_STATUS;
-typedef struct _SERVICE_STATUS_PROCESS {
-	DWORD dwServiceType;
-	DWORD dwCurrentState;
-	DWORD dwControlsAccepted;
-	DWORD dwWin32ExitCode;
-	DWORD dwServiceSpecificExitCode;
-	DWORD dwCheckPoint;
-	DWORD dwWaitHint;
-	DWORD dwProcessId;
-	DWORD dwServiceFlags;
-} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
-typedef enum _SC_STATUS_TYPE {
-	SC_STATUS_PROCESS_INFO = 0
-} SC_STATUS_TYPE;
-typedef enum _SC_ENUM_TYPE {
-        SC_ENUM_PROCESS_INFO = 0
-} SC_ENUM_TYPE;
-typedef struct _ENUM_SERVICE_STATUSA {
-	LPSTR lpServiceName;
-	LPSTR lpDisplayName;
-	SERVICE_STATUS ServiceStatus;
-} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
-typedef struct _ENUM_SERVICE_STATUSW {
-	LPWSTR lpServiceName;
-	LPWSTR lpDisplayName;
-	SERVICE_STATUS ServiceStatus;
-} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
-typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
-	LPSTR lpServiceName;
-	LPSTR lpDisplayName;
-	SERVICE_STATUS_PROCESS ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
-typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
-	LPWSTR lpServiceName;
-	LPWSTR lpDisplayName;
-	SERVICE_STATUS_PROCESS ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
-typedef struct _QUERY_SERVICE_CONFIGA {
-	DWORD dwServiceType;
-	DWORD dwStartType;
-	DWORD dwErrorControl;
-	LPSTR lpBinaryPathName;
-	LPSTR lpLoadOrderGroup;
-	DWORD dwTagId;
-	LPSTR lpDependencies;
-	LPSTR lpServiceStartName;
-	LPSTR lpDisplayName;
-} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
-typedef struct _QUERY_SERVICE_CONFIGW {
-	DWORD dwServiceType;
-	DWORD dwStartType;
-	DWORD dwErrorControl;
-	LPWSTR lpBinaryPathName;
-	LPWSTR lpLoadOrderGroup;
-	DWORD dwTagId;
-	LPWSTR lpDependencies;
-	LPWSTR lpServiceStartName;
-	LPWSTR lpDisplayName;
-} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
-typedef struct _QUERY_SERVICE_LOCK_STATUSA {
-	DWORD fIsLocked;
-	LPSTR lpLockOwner;
-	DWORD dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
-typedef struct _QUERY_SERVICE_LOCK_STATUSW {
-	DWORD fIsLocked;
-	LPWSTR lpLockOwner;
-	DWORD dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
-typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
-typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
-typedef struct _SERVICE_TABLE_ENTRYA {
-	LPSTR lpServiceName;
-	LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
-} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA;
-typedef struct _SERVICE_TABLE_ENTRYW {
-	LPWSTR lpServiceName;
-	LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
-} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW;
-DECLARE_HANDLE(SC_HANDLE);
-typedef SC_HANDLE *LPSC_HANDLE;
-typedef PVOID SC_LOCK;
-typedef DWORD SERVICE_STATUS_HANDLE;
-typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD);
-typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
-typedef struct _SERVICE_DESCRIPTIONA {
-	LPSTR lpDescription;
-} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
-typedef struct _SERVICE_DESCRIPTIONW {
-	LPWSTR lpDescription;
-} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
-typedef enum _SC_ACTION_TYPE {
-        SC_ACTION_NONE          = 0,
-        SC_ACTION_RESTART       = 1,
-        SC_ACTION_REBOOT        = 2,
-        SC_ACTION_RUN_COMMAND   = 3
-} SC_ACTION_TYPE;
-typedef struct _SC_ACTION {
-	SC_ACTION_TYPE	Type;
-	DWORD		Delay;
-} SC_ACTION,*LPSC_ACTION;
-typedef struct _SERVICE_FAILURE_ACTIONSA {
-	DWORD	dwResetPeriod;
-	LPSTR	lpRebootMsg;
-	LPSTR	lpCommand;
-	DWORD	cActions;
-	SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
-typedef struct _SERVICE_FAILURE_ACTIONSW {
-	DWORD	dwResetPeriod;
-	LPWSTR	lpRebootMsg;
-	LPWSTR	lpCommand;
-	DWORD	cActions;
-	SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
-
-WINADVAPI BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-WINADVAPI BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-WINADVAPI BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
-WINADVAPI BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
-WINADVAPI BOOL WINAPI CloseServiceHandle(SC_HANDLE);
-WINADVAPI BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
-WINADVAPI SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
-WINADVAPI SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-WINADVAPI BOOL WINAPI DeleteService(SC_HANDLE);
-WINADVAPI BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD);
-WINADVAPI BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD);
-WINADVAPI BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD);
-WINADVAPI BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD);
-WINADVAPI BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
-WINADVAPI BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
-WINADVAPI BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-WINADVAPI BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-WINADVAPI BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-WINADVAPI BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-WINADVAPI SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE);
-WINADVAPI BOOL WINAPI NotifyBootConfigStatus(BOOL);
-WINADVAPI SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
-WINADVAPI SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
-WINADVAPI SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
-WINADVAPI SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
-WINADVAPI BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
-WINADVAPI BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
-WINADVAPI BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-WINADVAPI BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-WINADVAPI BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
-WINADVAPI BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
-WINADVAPI BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
-WINADVAPI BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
-WINADVAPI BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
-WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
-WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
-WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-WINADVAPI BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINADVAPI BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
-WINADVAPI BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
-WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA);
-WINADVAPI BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
-WINADVAPI BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR*);
-WINADVAPI BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
-
-#ifdef UNICODE
-typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
-#define ChangeServiceConfig ChangeServiceConfigW
-#define ChangeServiceConfig2 ChangeServiceConfig2W
-#define CreateService CreateServiceW
-#define EnumDependentServices EnumDependentServicesW
-#define EnumServicesStatus EnumServicesStatusW
-#define EnumServicesStatusEx  EnumServicesStatusExW
-#define GetServiceDisplayName GetServiceDisplayNameW
-#define GetServiceKeyName GetServiceKeyNameW
-#define OpenSCManager OpenSCManagerW
-#define OpenService OpenServiceW
-#define QueryServiceConfig QueryServiceConfigW
-#define QueryServiceConfig2 QueryServiceConfig2W
-#define QueryServiceLockStatus QueryServiceLockStatusW
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
-#define StartService StartServiceW
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
-#else
-typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
-#define ChangeServiceConfig ChangeServiceConfigA
-#define ChangeServiceConfig2 ChangeServiceConfig2A
-#define CreateService CreateServiceA
-#define EnumDependentServices EnumDependentServicesA
-#define EnumServicesStatus EnumServicesStatusA
-#define EnumServicesStatusEx  EnumServicesStatusExA
-#define GetServiceDisplayName GetServiceDisplayNameA
-#define GetServiceKeyName GetServiceKeyNameA
-#define OpenSCManager OpenSCManagerA
-#define OpenService OpenServiceA
-#define QueryServiceConfig QueryServiceConfigA
-#define QueryServiceConfig2 QueryServiceConfig2A
-#define QueryServiceLockStatus QueryServiceLockStatusA
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
-#define StartService StartServiceA
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINSVC_H */
Index: Daodan/MinGW/include/winuser.h
===================================================================
--- Daodan/MinGW/include/winuser.h	(revision 1046)
+++ 	(revision )
@@ -1,4516 +1,0 @@
-#ifndef _WINUSER_H
-#define _WINUSER_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINUSERAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINUSERAPI DECLSPEC_IMPORT
-#else
-#define WINUSERAPI
-#endif
-#endif
-
-#define MNGO_NOINTERFACE  0x00
-#define MNGO_NOERROR      0x01
-#define MNGOF_TOPGAP      0x01
-#define MNGOF_BOTTOMGAP   0x02
-
-#define WC_DIALOG MAKEINTATOM(0x8002)
-#define FALT	16
-#define FCONTROL	8
-#define FNOINVERT	2
-#define FSHIFT	4
-#define FVIRTKEY	1
-#define ATF_TIMEOUTON	1
-#define ATF_ONOFFFEEDBACK	2
-#define ATF_AVAILABLE	4 /* May be obsolete. Not in recent MS docs. */
-#define WH_MIN	(-1)
-#define WH_MSGFILTER	(-1)
-#define WH_JOURNALRECORD	0
-#define WH_JOURNALPLAYBACK	1
-#define WH_KEYBOARD	2
-#define WH_GETMESSAGE	3
-#define WH_CALLWNDPROC	4
-#define WH_CBT	5
-#define WH_SYSMSGFILTER	6
-#define WH_MOUSE	7
-#define WH_HARDWARE	8
-#define WH_DEBUG	9
-#define WH_SHELL	10
-#define WH_FOREGROUNDIDLE	11
-#define WH_CALLWNDPROCRET	12
-#define WH_KEYBOARD_LL	13
-#define WH_MOUSE_LL	14
-#define WH_MAX		14
-#define WH_MINHOOK	WH_MIN
-#define WH_MAXHOOK	WH_MAX
-#define HC_ACTION	0
-#define HC_GETNEXT	1
-#define HC_SKIP	2
-#define HC_NOREMOVE	3
-#define HC_NOREM	3
-#define HC_SYSMODALON	4
-#define HC_SYSMODALOFF	5
-#define HCBT_MOVESIZE	0
-#define HCBT_MINMAX	1
-#define HCBT_QS	2
-#define HCBT_CREATEWND	3
-#define HCBT_DESTROYWND	4
-#define HCBT_ACTIVATE	5
-#define HCBT_CLICKSKIPPED	6
-#define HCBT_KEYSKIPPED	7
-#define HCBT_SYSCOMMAND	8
-#define HCBT_SETFOCUS	9
-#define CF_TEXT	1
-#define CF_BITMAP	2
-#define CF_METAFILEPICT	3
-#define CF_SYLK	4
-#define CF_DIF	5
-#define CF_TIFF	6
-#define CF_OEMTEXT	7
-#define CF_DIB	8
-#define CF_PALETTE	9
-#define CF_PENDATA	10
-#define CF_RIFF	11
-#define CF_WAVE	12
-#define CF_UNICODETEXT	13
-#define CF_ENHMETAFILE	14
-#define CF_HDROP	15
-#define CF_LOCALE	16
-#if (_WIN32_WINNT >= 0x0500)
-#define CF_DIBV5 17
-#define CF_MAX	18
-#else
-#define CF_MAX	17
-#endif
-#define CF_OWNERDISPLAY	128
-#define CF_DSPTEXT	129
-#define CF_DSPBITMAP	130
-#define CF_DSPMETAFILEPICT	131
-#define CF_DSPENHMETAFILE	142
-#define CF_PRIVATEFIRST	512
-#define CF_PRIVATELAST	767
-#define CF_GDIOBJFIRST	768
-#define CF_GDIOBJLAST	1023
-#define HKL_NEXT	1
-#define HKL_PREV	0
-#define KLF_ACTIVATE	1
-#define KLF_SUBSTITUTE_OK	2
-#define KLF_UNLOADPREVIOUS	4
-#define KLF_REORDER	8
-#define KLF_REPLACELANG	16
-#define KLF_NOTELLSHELL	128
-#define KLF_SETFORPROCESS	256
-#define KL_NAMELENGTH 9
-#define MF_ENABLED	0
-#define MF_GRAYED	1
-#define MF_DISABLED	2
-#define MF_BITMAP	4
-#define MF_CHECKED	8
-#define MF_MENUBARBREAK 32
-#define MF_MENUBREAK	64
-#define MF_OWNERDRAW	256
-#define MF_POPUP	16
-#define MF_SEPARATOR	0x800
-#define MF_STRING	0
-#define MF_UNCHECKED	0
-#define MF_DEFAULT	4096
-#define MF_SYSMENU	0x2000
-#define MF_HELP	0x4000
-#define MF_END	128
-#define MF_RIGHTJUSTIFY	0x4000
-#define MF_MOUSESELECT	0x8000
-#define MF_INSERT 0
-#define MF_CHANGE 128
-#define MF_APPEND 256
-#define MF_DELETE 512
-#define MF_REMOVE 4096
-#define MF_USECHECKBITMAPS 512
-#define MF_UNHILITE 0
-#define MF_HILITE 128
-
-/* Also defined in dbt.h */
-#define BSM_ALLCOMPONENTS	0
-#define BSM_APPLICATIONS	8
-#define BSM_ALLDESKTOPS		16
-#define BSM_INSTALLABLEDRIVERS	4
-#define BSM_NETDRIVER	2
-#define BSM_VXDS	1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BROADCAST_QUERY_DENY	1112363332
-#define ENUM_CURRENT_SETTINGS	((DWORD)-1)
-#define ENUM_REGISTRY_SETTINGS	((DWORD)-2)
-#define CDS_UPDATEREGISTRY	1
-#define CDS_TEST	2
-#define CDS_FULLSCREEN	4
-#define CDS_GLOBAL	8
-#define CDS_SET_PRIMARY	16
-#define CDS_RESET	0x40000000
-#define CDS_SETRECT	0x20000000
-#define CDS_NORESET	0x10000000
-#define DISP_CHANGE_SUCCESSFUL	0
-#define DISP_CHANGE_RESTART	1
-#define DISP_CHANGE_FAILED	(-1)
-#define DISP_CHANGE_BADMODE	(-2)
-#define DISP_CHANGE_NOTUPDATED	(-3)
-#define DISP_CHANGE_BADFLAGS	(-4)
-#define DISP_CHANGE_BADPARAM	(-5)
-#define DISP_CHANGE_BADDUALVIEW	(-6)
-#define BST_CHECKED	1
-#define BST_INDETERMINATE	2
-#define BST_UNCHECKED	0
-#define BST_FOCUS	8
-#define BST_PUSHED	4
-#define MF_BYCOMMAND	0
-#define MF_BYPOSITION	1024
-#define MF_UNCHECKED	0
-#define MF_HILITE	128
-#define MF_UNHILITE	0
-#define CWP_ALL 0
-#define CWP_SKIPINVISIBLE	1
-#define CWP_SKIPDISABLED	2
-#define CWP_SKIPTRANSPARENT	4
-#define IMAGE_BITMAP	0
-#define IMAGE_ICON	1
-#define IMAGE_CURSOR	2
-#define IMAGE_ENHMETAFILE	3
-#define DF_ALLOWOTHERACCOUNTHOOK	1
-#define DESKTOP_CREATEMENU	4
-#define DESKTOP_CREATEWINDOW	2
-#define DESKTOP_ENUMERATE	64
-#define DESKTOP_HOOKCONTROL	8
-#define DESKTOP_JOURNALPLAYBACK	32
-#define DESKTOP_JOURNALRECORD	16
-#define DESKTOP_READOBJECTS	1
-#define DESKTOP_SWITCHDESKTOP	256
-#define DESKTOP_WRITEOBJECTS	128
-#define CW_USEDEFAULT	0x80000000
-#define WS_BORDER	0x800000
-#define WS_CAPTION	0xc00000
-#define WS_CHILD	0x40000000
-#define WS_CHILDWINDOW	0x40000000
-#define WS_CLIPCHILDREN 0x2000000
-#define WS_CLIPSIBLINGS 0x4000000
-#define WS_DISABLED	0x8000000
-#define WS_DLGFRAME	0x400000
-#define WS_GROUP	0x20000
-#define WS_HSCROLL	0x100000
-#define WS_ICONIC	0x20000000
-#define WS_MAXIMIZE	0x1000000
-#define WS_MAXIMIZEBOX	0x10000
-#define WS_MINIMIZE	0x20000000
-#define WS_MINIMIZEBOX	0x20000
-#define WS_OVERLAPPED	0
-#define WS_OVERLAPPEDWINDOW	0xcf0000
-#define WS_POPUP	0x80000000
-#define WS_POPUPWINDOW	0x80880000
-#define WS_SIZEBOX	0x40000
-#define WS_SYSMENU	0x80000
-#define WS_TABSTOP	0x10000
-#define WS_THICKFRAME	0x40000
-#define WS_TILED	0
-#define WS_TILEDWINDOW	0xcf0000
-#define WS_VISIBLE	0x10000000
-#define WS_VSCROLL	0x200000
-#define MDIS_ALLCHILDSTYLES	1
-#define BS_3STATE	5
-#define BS_AUTO3STATE	6
-#define BS_AUTOCHECKBOX	3
-#define BS_AUTORADIOBUTTON	9
-#define BS_BITMAP	128
-#define BS_BOTTOM	0x800
-#define BS_CENTER	0x300
-#define BS_CHECKBOX	2
-#define BS_DEFPUSHBUTTON	1
-#define BS_GROUPBOX	7
-#define BS_ICON	64
-#define BS_LEFT	256
-#define BS_LEFTTEXT	32
-#define BS_MULTILINE	0x2000
-#define BS_NOTIFY	0x4000
-#define BS_OWNERDRAW	0xb
-#define BS_PUSHBUTTON	0
-#define BS_PUSHLIKE	4096
-#define BS_RADIOBUTTON 4
-#define BS_RIGHT	512
-#define BS_RIGHTBUTTON	32
-#define BS_TEXT	0
-#define BS_TOP	0x400
-#define BS_USERBUTTON	8
-#define BS_VCENTER	0xc00
-#define BS_FLAT	0x8000
-#define CBS_AUTOHSCROLL	64
-#define CBS_DISABLENOSCROLL	0x800
-#define CBS_DROPDOWN	2
-#define CBS_DROPDOWNLIST	3
-#define CBS_HASSTRINGS	512
-#define CBS_LOWERCASE	0x4000
-#define CBS_NOINTEGRALHEIGHT	0x400
-#define CBS_OEMCONVERT	128
-#define CBS_OWNERDRAWFIXED	16
-#define CBS_OWNERDRAWVARIABLE	32
-#define CBS_SIMPLE	1
-#define CBS_SORT	256
-#define CBS_UPPERCASE	0x2000
-#define ES_AUTOHSCROLL	128
-#define ES_AUTOVSCROLL	64
-#define ES_CENTER	1
-#define ES_LEFT	0
-#define ES_LOWERCASE 16
-#define ES_MULTILINE 4
-#define ES_NOHIDESEL 256
-#define ES_NUMBER 0x2000
-#define ES_OEMCONVERT 0x400
-#define ES_PASSWORD 32
-#define ES_READONLY 0x800
-#define ES_RIGHT 2
-#define ES_UPPERCASE 8
-#define ES_WANTRETURN 4096
-#define LBS_DISABLENOSCROLL 4096
-#define LBS_EXTENDEDSEL 0x800
-#define LBS_HASSTRINGS 64
-#define LBS_MULTICOLUMN 512
-#define LBS_MULTIPLESEL 8
-#define LBS_NODATA	0x2000
-#define LBS_NOINTEGRALHEIGHT 256
-#define LBS_NOREDRAW 4
-#define LBS_NOSEL 0x4000
-#define LBS_NOTIFY 1
-#define LBS_OWNERDRAWFIXED 16
-#define LBS_OWNERDRAWVARIABLE 32
-#define LBS_SORT 2
-#define LBS_STANDARD 0xa00003
-#define LBS_USETABSTOPS 128
-#define LBS_WANTKEYBOARDINPUT 0x400
-#define SBS_BOTTOMALIGN 4
-#define SBS_HORZ 0
-#define SBS_LEFTALIGN 2
-#define SBS_RIGHTALIGN 4
-#define SBS_SIZEBOX 8
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
-#define SBS_SIZEBOXTOPLEFTALIGN 2
-#define SBS_SIZEGRIP 16
-#define SBS_TOPALIGN 2
-#define SBS_VERT 1
-#define SS_BITMAP 14
-#define SS_BLACKFRAME 7
-#define SS_BLACKRECT 4
-#define SS_CENTER 1
-#define SS_CENTERIMAGE 512
-#define SS_ENHMETAFILE 15
-#define SS_ETCHEDFRAME 18
-#define SS_ETCHEDHORZ 16
-#define SS_ETCHEDVERT 17
-#define SS_GRAYFRAME 8
-#define SS_GRAYRECT 5
-#define SS_ICON 3
-#define SS_LEFT 0
-#define SS_LEFTNOWORDWRAP 0xc
-#define SS_NOPREFIX 128
-#define SS_NOTIFY 256
-#define SS_OWNERDRAW 0xd
-#define SS_REALSIZEIMAGE 0x800
-#define SS_RIGHT 2
-#define SS_RIGHTJUST 0x400
-#define SS_SIMPLE 11
-#define SS_SUNKEN 4096
-#define SS_WHITEFRAME 9
-#define SS_WHITERECT	6
-#define SS_USERITEM	10
-#define SS_TYPEMASK	0x0000001FL
-#define SS_ENDELLIPSIS	0x00004000L
-#define SS_PATHELLIPSIS	0x00008000L
-#define SS_WORDELLIPSIS	0x0000C000L
-#define SS_ELLIPSISMASK 0x0000C000L
-#define DS_3DLOOK 4
-#define DS_ABSALIGN 1
-#define DS_CENTER 0x800
-#define DS_CENTERMOUSE 4096
-#define DS_CONTEXTHELP 0x2000
-#define DS_CONTROL 0x400
-#define DS_FIXEDSYS 8
-#define DS_LOCALEDIT 32
-#define DS_MODALFRAME 128
-#define DS_NOFAILCREATE 16
-#define DS_NOIDLEMSG	256
-#define DS_SETFONT 64
-#define DS_SETFOREGROUND 512
-#define DS_SYSMODAL 2
-#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
-#define WS_EX_ACCEPTFILES 16
-#define WS_EX_APPWINDOW	0x40000
-#define WS_EX_CLIENTEDGE 512
-#define WS_EX_COMPOSITED 0x2000000 /* XP */
-#define WS_EX_CONTEXTHELP 0x400
-#define WS_EX_CONTROLPARENT 0x10000
-#define WS_EX_DLGMODALFRAME 1
-#define WS_EX_LAYERED 0x80000   /* w2k */
-#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */
-#define WS_EX_LEFT	0
-#define WS_EX_LEFTSCROLLBAR	0x4000
-#define WS_EX_LTRREADING	0
-#define WS_EX_MDICHILD	64
-#define WS_EX_NOACTIVATE 0x8000000 /* w2k */
-#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */
-#define WS_EX_NOPARENTNOTIFY	4
-#define WS_EX_OVERLAPPEDWINDOW	0x300
-#define WS_EX_PALETTEWINDOW	0x188
-#define WS_EX_RIGHT	0x1000
-#define WS_EX_RIGHTSCROLLBAR	0
-#define WS_EX_RTLREADING	0x2000
-#define WS_EX_STATICEDGE	0x20000
-#define WS_EX_TOOLWINDOW	128
-#define WS_EX_TOPMOST	8
-#define WS_EX_TRANSPARENT	32
-#define WS_EX_WINDOWEDGE	256
-#define WINSTA_ALL_ACCESS	895
-#define WINSTA_ACCESSCLIPBOARD	4
-#define WINSTA_ACCESSGLOBALATOMS	32
-#define WINSTA_CREATEDESKTOP	8
-#define WINSTA_ENUMDESKTOPS	1
-#define WINSTA_ENUMERATE	256
-#define WINSTA_EXITWINDOWS	64
-#define WINSTA_READATTRIBUTES	2
-#define WINSTA_READSCREEN	512
-#define WINSTA_WRITEATTRIBUTES	16
-#define DDL_READWRITE	0
-#define DDL_READONLY	1
-#define DDL_HIDDEN	2
-#define DDL_SYSTEM	4
-#define DDL_DIRECTORY	16
-#define DDL_ARCHIVE	32
-#define DDL_POSTMSGS	8192
-#define DDL_DRIVES	16384
-#define DDL_EXCLUSIVE	32768
-#define DC_ACTIVE	0x00000001
-#define DC_SMALLCAP	0x00000002
-#define DC_ICON	0x00000004
-#define DC_TEXT	0x00000008
-#define DC_INBUTTON	0x00000010
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DC_GRADIENT	0x00000020
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define DC_BUTTONS	0x00001000
-#endif
-/* Where are these documented? */
-#define DC_CAPTION	(DC_ICON|DC_TEXT|DC_BUTTONS)
-#define DC_NC	(DC_CAPTION|DC_FRAME)
-
-#define BDR_RAISEDOUTER	1
-#define BDR_SUNKENOUTER	2
-#define BDR_RAISEDINNER	4
-#define BDR_SUNKENINNER	8
-#define BDR_OUTER	3
-#define BDR_INNER	0xc
-#define BDR_RAISED	5
-#define BDR_SUNKEN	10
-#define EDGE_RAISED	(BDR_RAISEDOUTER|BDR_RAISEDINNER)
-#define EDGE_SUNKEN	(BDR_SUNKENOUTER|BDR_SUNKENINNER)
-#define EDGE_ETCHED	(BDR_SUNKENOUTER|BDR_RAISEDINNER)
-#define EDGE_BUMP	(BDR_RAISEDOUTER|BDR_SUNKENINNER)
-#define BF_LEFT	1
-#define BF_TOP	2
-#define BF_RIGHT	4
-#define BF_BOTTOM	8
-#define BF_TOPLEFT	(BF_TOP|BF_LEFT)
-#define BF_TOPRIGHT	(BF_TOP|BF_RIGHT)
-#define BF_BOTTOMLEFT	(BF_BOTTOM|BF_LEFT)
-#define BF_BOTTOMRIGHT	(BF_BOTTOM|BF_RIGHT)
-#define BF_RECT	(BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM)
-#define BF_DIAGONAL	16
-#define BF_DIAGONAL_ENDTOPRIGHT	(BF_DIAGONAL|BF_TOP|BF_RIGHT)
-#define BF_DIAGONAL_ENDTOPLEFT	(BF_DIAGONAL|BF_TOP|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMLEFT	(BF_DIAGONAL|BF_BOTTOM|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMRIGHT	(BF_DIAGONAL|BF_BOTTOM|BF_RIGHT)
-#define BF_MIDDLE	0x800
-#define BF_SOFT	0x1000
-#define BF_ADJUST	0x2000
-#define BF_FLAT	0x4000
-#define BF_MONO	0x8000
-#define DFC_CAPTION	1
-#define DFC_MENU	2
-#define DFC_SCROLL	3
-#define DFC_BUTTON	4
-#if (WINVER >= 0x0500)
-#define DFC_POPUPMENU 5
-#endif /* WINVER >= 0x0500 */
-#define DFCS_CAPTIONCLOSE	0
-#define DFCS_CAPTIONMIN	1
-#define DFCS_CAPTIONMAX	2
-#define DFCS_CAPTIONRESTORE	3
-#define DFCS_CAPTIONHELP	4
-#define DFCS_MENUARROW	0
-#define DFCS_MENUCHECK	1
-#define DFCS_MENUBULLET	2
-#define DFCS_MENUARROWRIGHT	4
-#define DFCS_SCROLLUP	0
-#define DFCS_SCROLLDOWN	1
-#define DFCS_SCROLLLEFT	2
-#define DFCS_SCROLLRIGHT	3
-#define DFCS_SCROLLCOMBOBOX	5
-#define DFCS_SCROLLSIZEGRIP	8
-#define DFCS_SCROLLSIZEGRIPRIGHT	16
-#define DFCS_BUTTONCHECK	0
-#define DFCS_BUTTONRADIOIMAGE	1
-#define DFCS_BUTTONRADIOMASK	2
-#define DFCS_BUTTONRADIO	4
-#define DFCS_BUTTON3STATE	8
-#define DFCS_BUTTONPUSH	16
-#define DFCS_INACTIVE	256
-#define DFCS_PUSHED	512
-#define DFCS_CHECKED	1024
-#if (WINVER >= 0x0500)
-#define DFCS_TRANSPARENT	0x800
-#define DFCS_HOT	0x1000
-#endif
-#define DFCS_ADJUSTRECT	0x2000
-#define DFCS_FLAT	0x4000
-#define DFCS_MONO	0x8000
-#define DST_COMPLEX	0
-#define DST_TEXT	1
-#define DST_PREFIXTEXT	2
-#define DST_ICON	3
-#define DST_BITMAP	4
-#define DSS_NORMAL	0
-#define DSS_UNION	16
-#define DSS_DISABLED	32
-#define DSS_MONO	128
-#define DSS_RIGHT	0x8000
-#define DT_BOTTOM	8
-#define DT_CALCRECT	1024
-#define DT_CENTER	1
-#define DT_EDITCONTROL	8192
-#define DT_END_ELLIPSIS	32768
-#define DT_PATH_ELLIPSIS	16384
-#define DT_WORD_ELLIPSIS 0x40000
-#define DT_EXPANDTABS	64
-#define DT_EXTERNALLEADING	512
-#define DT_LEFT	0
-#define DT_MODIFYSTRING	65536
-#define DT_NOCLIP	256
-#define DT_NOPREFIX	2048
-#define DT_RIGHT	2
-#define DT_RTLREADING	131072
-#define DT_SINGLELINE	32
-#define DT_TABSTOP	128
-#define DT_TOP	0
-#define DT_VCENTER	4
-#define DT_WORDBREAK	16
-#define DT_INTERNAL	4096
-#define WB_ISDELIMITER	2
-#define WB_LEFT	0
-#define WB_RIGHT	1
-#define SB_HORZ	0
-#define SB_VERT	1
-#define SB_CTL	2
-#define SB_BOTH	3
-#define ESB_DISABLE_BOTH	3
-#define ESB_DISABLE_DOWN	2
-#define ESB_DISABLE_LEFT	1
-#define ESB_DISABLE_LTUP	1
-#define ESB_DISABLE_RIGHT	2
-#define ESB_DISABLE_RTDN	2
-#define ESB_DISABLE_UP	1
-#define ESB_ENABLE_BOTH	0
-#define SB_LINEUP	0
-#define SB_LINEDOWN	1
-#define SB_LINELEFT	0
-#define SB_LINERIGHT	1
-#define SB_PAGEUP	2
-#define SB_PAGEDOWN	3
-#define SB_PAGELEFT	2
-#define SB_PAGERIGHT	3
-#define SB_THUMBPOSITION	4
-#define SB_THUMBTRACK	5
-#define SB_ENDSCROLL	8
-#define SB_LEFT	6
-#define SB_RIGHT	7
-#define SB_BOTTOM	7
-#define SB_TOP	6
-#define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
-#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
-#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
-#ifndef XFree86Server
-# define RT_CURSOR MAKEINTRESOURCE(1)
-# define RT_FONT MAKEINTRESOURCE(8)
-#endif /* ndef XFree86Server */
-#define RT_BITMAP MAKEINTRESOURCE(2)
-#define RT_ICON MAKEINTRESOURCE(3)
-#define RT_MENU MAKEINTRESOURCE(4)
-#define RT_DIALOG MAKEINTRESOURCE(5)
-#define RT_STRING MAKEINTRESOURCE(6)
-#define RT_FONTDIR MAKEINTRESOURCE(7)
-#define RT_ACCELERATOR MAKEINTRESOURCE(9)
-#define RT_RCDATA MAKEINTRESOURCE(10)
-#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
-#define DIFFERENCE 11
-#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE)
-#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE)
-#define RT_VERSION MAKEINTRESOURCE(16)
-#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
-#define RT_PLUGPLAY MAKEINTRESOURCE(19)
-#define RT_VXD MAKEINTRESOURCE(20)
-#define RT_ANICURSOR MAKEINTRESOURCE(21)
-#define RT_ANIICON MAKEINTRESOURCE(22)
-#define RT_HTML MAKEINTRESOURCE(23)
-#ifndef RC_INVOKED
-#define RT_MANIFEST MAKEINTRESOURCE(24)
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID  MAKEINTRESOURCE(1)
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
-#else
-#define RT_MANIFEST 24
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
-#endif
-#define EWX_FORCE 4
-#define EWX_LOGOFF 0
-#define EWX_POWEROFF 8
-#define EWX_REBOOT 2
-#define EWX_SHUTDOWN 1
-#if (_WIN32_WINNT >= 0x0500)
-#define EWX_FORCEIFHUNG 16
-#endif
-#define CS_BYTEALIGNCLIENT 4096
-#define CS_BYTEALIGNWINDOW 8192
-#define CS_KEYCVTWINDOW 4
-#define CS_NOKEYCVT 256
-#define CS_CLASSDC 64
-#define CS_DBLCLKS 8
-#define CS_GLOBALCLASS 16384
-#define CS_HREDRAW 2
-#define CS_NOCLOSE 512
-#define CS_OWNDC 32
-#define CS_PARENTDC 128
-#define CS_SAVEBITS 2048
-#define CS_VREDRAW 1
-#define CS_IME 0x10000
-#if (_WIN32_WINNT >= 0x0501)
-#define CS_DROPSHADOW 0x20000
-#endif
-#define GCW_ATOM (-32)
-#define GCL_CBCLSEXTRA (-20)
-#define GCL_CBWNDEXTRA (-18)
-#define GCL_HBRBACKGROUND (-10)
-#define GCL_HCURSOR (-12)
-#define GCL_HICON (-14)
-#define GCL_HICONSM (-34)
-#define GCL_HMODULE (-16)
-#define GCL_MENUNAME (-8)
-#define GCL_STYLE (-26)
-#define GCL_WNDPROC (-24)
-#define GCLP_MENUNAME (-8)
-#define GCLP_HBRBACKGROUND (-10)
-#define GCLP_HCURSOR (-12)
-#define GCLP_HICON (-14)
-#define GCLP_HMODULE (-16)
-#define GCLP_WNDPROC (-24)
-#define GCLP_HICONSM (-34)
-#if 0
-    /* This is supposed to be defined by the program using it not defined
-       in the w32api headers.  I've left it here for documentation purposes.
-    */
-#ifndef IDC_STATIC  /* May be predefined by resource compiler. */
-#define IDC_STATIC (-1)
-#endif
-#endif
-#define IDC_ARROW MAKEINTRESOURCE(32512)
-#define IDC_IBEAM MAKEINTRESOURCE(32513)
-#define IDC_WAIT MAKEINTRESOURCE(32514)
-#define IDC_CROSS MAKEINTRESOURCE(32515)
-#define IDC_UPARROW MAKEINTRESOURCE(32516)
-#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
-#define IDC_SIZENESW MAKEINTRESOURCE(32643)
-#define IDC_SIZEWE MAKEINTRESOURCE(32644)
-#define IDC_SIZENS MAKEINTRESOURCE(32645)
-#define IDC_SIZEALL MAKEINTRESOURCE(32646)
-#define IDC_NO MAKEINTRESOURCE(32648)
-#define IDC_HAND MAKEINTRESOURCE(32649)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
-#ifndef RC_INVOKED
-#define IDI_APPLICATION MAKEINTRESOURCE(32512)
-#define IDI_HAND MAKEINTRESOURCE(32513)
-#define IDI_QUESTION MAKEINTRESOURCE(32514)
-#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
-#define IDI_ASTERISK MAKEINTRESOURCE(32516)
-#define IDI_WINLOGO MAKEINTRESOURCE(32517)
-#else
-#define IDI_APPLICATION 32512
-#define IDI_HAND 32513
-#define IDI_QUESTION 32514
-#define IDI_EXCLAMATION 32515
-#define IDI_ASTERISK 32516
-#define IDI_WINLOGO 32517
-#endif
-#define IDI_WARNING IDI_EXCLAMATION
-#define IDI_ERROR IDI_HAND
-#define IDI_INFORMATION IDI_ASTERISK
-#define MIIM_STATE 1
-#define MIIM_ID 2
-#define MIIM_SUBMENU 4
-#define MIIM_CHECKMARKS 8
-#define MIIM_TYPE 16
-#define MIIM_DATA 32
-#define MIIM_STRING 64
-#define MIIM_BITMAP 128
-#define MIIM_FTYPE 256
-#if (WINVER >= 0x0500)
-#define MIM_MAXHEIGHT 1
-#define MIM_BACKGROUND 2
-#define MIM_HELPID 4
-#define MIM_MENUDATA 8
-#define MIM_STYLE 16
-#define MIM_APPLYTOSUBMENUS 0x80000000L
-#define MNS_NOCHECK 0x80000000
-#define MNS_MODELESS 0x40000000
-#define MNS_DRAGDROP 0x20000000
-#define MNS_AUTODISMISS 0x10000000
-#define MNS_NOTIFYBYPOS 0x08000000
-#define MNS_CHECKORBMP 0x04000000
-#endif
-#define MFT_BITMAP 4
-#define MFT_MENUBARBREAK 32
-#define MFT_MENUBREAK 64
-#define MFT_OWNERDRAW 256
-#define MFT_RADIOCHECK 512
-#define MFT_RIGHTJUSTIFY 0x4000
-#define MFT_SEPARATOR 0x800
-#define MFT_RIGHTORDER 0x2000L
-#define MFT_STRING 0
-#define MFS_CHECKED 8
-#define MFS_DEFAULT 4096
-#define MFS_DISABLED 3
-#define MFS_ENABLED 0
-#define MFS_GRAYED 3
-#define MFS_HILITE 128
-#define MFS_UNCHECKED 0
-#define MFS_UNHILITE 0
-#define GW_HWNDNEXT 2
-#define GW_HWNDPREV 3
-#define GW_CHILD 5
-#define GW_HWNDFIRST 0
-#define GW_HWNDLAST 1
-#define GW_OWNER 4
-#define SW_HIDE 0
-#define SW_NORMAL 1
-#define SW_SHOWNORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_MAXIMIZE 3
-#define SW_SHOWMAXIMIZED 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_FORCEMINIMIZE 11
-#define SW_MAX 11
-#define MB_USERICON 128
-#define MB_ICONASTERISK 64
-#define MB_ICONEXCLAMATION 0x30
-#define MB_ICONWARNING 0x30
-#define MB_ICONERROR 16
-#define MB_ICONHAND 16
-#define MB_ICONQUESTION 32
-#define MB_OK 0
-#define MB_ABORTRETRYIGNORE 2
-#define MB_APPLMODAL 0
-#define MB_DEFAULT_DESKTOP_ONLY 0x20000
-#define MB_HELP 0x4000
-#define MB_RIGHT 0x80000
-#define MB_RTLREADING 0x100000
-#define MB_TOPMOST 0x40000
-#define MB_DEFBUTTON1 0
-#define MB_DEFBUTTON2 256
-#define MB_DEFBUTTON3 512
-#define MB_DEFBUTTON4 0x300
-#define MB_ICONINFORMATION 64
-#define MB_ICONSTOP 16
-#define MB_OKCANCEL 1
-#define MB_RETRYCANCEL 5
-#ifdef _WIN32_WINNT
-#if (_WIN32_WINNT >= 0x0400)
-#define MB_SERVICE_NOTIFICATION 0x00200000
-#else
-#define MB_SERVICE_NOTIFICATION 0x00040000
-#endif
-#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
-#endif
-#define MB_SETFOREGROUND 0x10000
-#define MB_SYSTEMMODAL 4096
-#define MB_TASKMODAL 0x2000
-#define MB_YESNO 4
-#define MB_YESNOCANCEL 3
-#define MB_ICONMASK 240
-#define MB_DEFMASK 3840
-#define MB_MODEMASK 0x00003000
-#define MB_MISCMASK 0x0000C000
-#define MB_NOFOCUS 0x00008000
-#define MB_TYPEMASK 15
-#define MB_TOPMOST 0x40000
-#if (WINVER >= 0x0500)
-#define MB_CANCELTRYCONTINUE 6
-#endif
-
-#define IDOK 1
-#define IDCANCEL 2
-#define IDABORT 3
-#define IDRETRY 4
-#define IDIGNORE 5
-#define IDYES 6
-#define IDNO 7
-#if (WINVER >= 0x0400)
-#define IDCLOSE 8
-#define IDHELP 9
-#endif
-#if (WINVER >= 0x0500)
-#define IDTRYAGAIN 10
-#define IDCONTINUE 11
-#endif
-
-#define GWL_EXSTYLE (-20)
-#define GWL_STYLE (-16)
-#define GWL_WNDPROC (-4)
-#define GWLP_WNDPROC (-4)
-#define GWL_HINSTANCE (-6)
-#define GWLP_HINSTANCE (-6)
-#define GWL_HWNDPARENT (-8)
-#define GWLP_HWNDPARENT (-8)
-#define GWL_ID (-12)
-#define GWLP_ID (-12)
-#define GWL_USERDATA (-21)
-#define GWLP_USERDATA (-21)
-#define DWL_DLGPROC 4
-#define DWLP_DLGPROC 4
-#define DWL_MSGRESULT 0
-#define DWLP_MSGRESULT 0
-#define DWL_USER 8
-#define DWLP_USER 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_ALLEVENTS 1215
-#define QS_ALLINPUT 1279
-#else
-#define QS_ALLEVENTS 191
-#define QS_ALLINPUT 255
-#endif
-#define QS_ALLPOSTMESSAGE 256
-#define QS_HOTKEY 128
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_INPUT 1031
-#else
-#define QS_INPUT 7
-#endif
-#define QS_KEY 1
-#define QS_MOUSE 6
-#define QS_MOUSEBUTTON 4
-#define QS_MOUSEMOVE 2
-#define QS_PAINT 32
-#define QS_POSTMESSAGE 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_RAWINPUT 1024
-#endif
-#define QS_SENDMESSAGE 64
-#define QS_TIMER 16
-#define MWMO_WAITALL 1
-#define MWMO_ALERTABLE 2
-#define MWMO_INPUTAVAILABLE 4
-#define COLOR_3DDKSHADOW 21
-#define COLOR_3DFACE 15
-#define COLOR_3DHILIGHT 20
-#define COLOR_3DHIGHLIGHT 20
-#define COLOR_3DLIGHT 22
-#define COLOR_BTNHILIGHT 20
-#define COLOR_3DSHADOW 16
-#define COLOR_ACTIVEBORDER 10
-#define COLOR_ACTIVECAPTION 2
-#define COLOR_APPWORKSPACE 12
-#define COLOR_BACKGROUND 1
-#define COLOR_DESKTOP 1
-#define COLOR_BTNFACE 15
-#define COLOR_BTNHIGHLIGHT 20
-#define COLOR_BTNSHADOW 16
-#define COLOR_BTNTEXT 18
-#define COLOR_CAPTIONTEXT 9
-#define COLOR_GRAYTEXT 17
-#define COLOR_HIGHLIGHT 13
-#define COLOR_HIGHLIGHTTEXT 14
-#define COLOR_INACTIVEBORDER 11
-#define COLOR_INACTIVECAPTION 3
-#define COLOR_INACTIVECAPTIONTEXT 19
-#define COLOR_INFOBK 24
-#define COLOR_INFOTEXT 23
-#define COLOR_MENU 4
-#define COLOR_MENUTEXT 7
-#define COLOR_SCROLLBAR 0
-#define COLOR_WINDOW 5
-#define COLOR_WINDOWFRAME 6
-#define COLOR_WINDOWTEXT 8
-#define COLOR_HOTLIGHT 26
-#define COLOR_GRADIENTACTIVECAPTION 27
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#define CTLCOLOR_MSGBOX 0
-#define CTLCOLOR_EDIT 1
-#define CTLCOLOR_LISTBOX 2
-#define CTLCOLOR_BTN 3
-#define CTLCOLOR_DLG 4
-#define CTLCOLOR_SCROLLBAR 5
-#define CTLCOLOR_STATIC 6
-#define CTLCOLOR_MAX 7
-#define SM_CXSCREEN 0
-#define SM_CYSCREEN 1
-#define SM_CXVSCROLL 2
-#define SM_CYHSCROLL 3
-#define SM_CYCAPTION 4
-#define SM_CXBORDER 5
-#define SM_CYBORDER 6
-#define SM_CXDLGFRAME 7
-#define SM_CXFIXEDFRAME 7
-#define SM_CYDLGFRAME 8
-#define SM_CYFIXEDFRAME 8
-#define SM_CYVTHUMB 9
-#define SM_CXHTHUMB 10
-#define SM_CXICON 11
-#define SM_CYICON 12
-#define SM_CXCURSOR 13
-#define SM_CYCURSOR 14
-#define SM_CYMENU 15
-#define SM_CXFULLSCREEN 16
-#define SM_CYFULLSCREEN 17
-#define SM_CYKANJIWINDOW 18
-#define SM_MOUSEPRESENT 19
-#define SM_CYVSCROLL 20
-#define SM_CXHSCROLL 21
-#define SM_DEBUG 22
-#define SM_SWAPBUTTON 23
-#define SM_RESERVED1 24
-#define SM_RESERVED2 25
-#define SM_RESERVED3 26
-#define SM_RESERVED4 27
-#define SM_CXMIN 28
-#define SM_CYMIN 29
-#define SM_CXSIZE 30
-#define SM_CYSIZE 31
-#define SM_CXSIZEFRAME 32
-#define SM_CXFRAME 32
-#define SM_CYSIZEFRAME 33
-#define SM_CYFRAME 33
-#define SM_CXMINTRACK 34
-#define SM_CYMINTRACK 35
-#define SM_CXDOUBLECLK 36
-#define SM_CYDOUBLECLK 37
-#define SM_CXICONSPACING 38
-#define SM_CYICONSPACING 39
-#define SM_MENUDROPALIGNMENT 40
-#define SM_PENWINDOWS 41
-#define SM_DBCSENABLED 42
-#define SM_CMOUSEBUTTONS 43
-#define SM_SECURE 44
-#define SM_CXEDGE 45
-#define SM_CYEDGE 46
-#define SM_CXMINSPACING 47
-#define SM_CYMINSPACING 48
-#define SM_CXSMICON 49
-#define SM_CYSMICON 50
-#define SM_CYSMCAPTION 51
-#define SM_CXSMSIZE 52
-#define SM_CYSMSIZE 53
-#define SM_CXMENUSIZE 54
-#define SM_CYMENUSIZE 55
-#define SM_ARRANGE 56
-#define SM_CXMINIMIZED 57
-#define SM_CYMINIMIZED 58
-#define SM_CXMAXTRACK 59
-#define SM_CYMAXTRACK 60
-#define SM_CXMAXIMIZED 61
-#define SM_CYMAXIMIZED 62
-#define SM_NETWORK 63
-#define SM_CLEANBOOT 67
-#define SM_CXDRAG 68
-#define SM_CYDRAG 69
-#define SM_SHOWSOUNDS 70
-#define SM_CXMENUCHECK 71
-#define SM_CYMENUCHECK 72
-#define SM_SLOWMACHINE 73
-#define SM_MIDEASTENABLED 74
-#define SM_MOUSEWHEELPRESENT 75
-#define SM_XVIRTUALSCREEN 76
-#define SM_YVIRTUALSCREEN 77
-#define SM_CXVIRTUALSCREEN 78
-#define SM_CYVIRTUALSCREEN 79
-#define SM_CMONITORS 80
-#define SM_SAMEDISPLAYFORMAT 81
-#define SM_IMMENABLED 82
-#define SM_CXFOCUSBORDER 83
-#define SM_CYFOCUSBORDER 84
-#define SM_TABLETPC 86
-#define SM_MEDIACENTER 87
-#define SM_STARTER 88
-#define SM_SERVERR2 89
-#if (_WIN32_WINNT < 0x0400)
-#define SM_CMETRICS 76
-#else
-#define SM_CMETRICS 88
-#endif
-#define SM_REMOTESESSION 0X1000
-#define ARW_BOTTOMLEFT 0
-#define ARW_BOTTOMRIGHT 1
-#define ARW_HIDE 8
-#define ARW_TOPLEFT 2
-#define ARW_TOPRIGHT 3
-#define ARW_DOWN 4
-#define ARW_LEFT 0
-#define ARW_RIGHT 0
-#define ARW_UP 4
-#define UOI_FLAGS 1
-#define UOI_NAME 2
-#define UOI_TYPE 3
-#define UOI_USER_SID 4
-#define LR_DEFAULTCOLOR 0
-#define LR_MONOCHROME 1
-#define LR_COLOR 2
-#define LR_COPYRETURNORG 4
-#define LR_COPYDELETEORG 8
-#define LR_LOADFROMFILE 16
-#define LR_LOADTRANSPARENT 32
-#define LR_LOADREALSIZE 128
-#define LR_DEFAULTSIZE 0x0040
-#define LR_VGACOLOR 0x0080
-#define LR_LOADMAP3DCOLORS 4096
-#define LR_CREATEDIBSECTION 8192
-#define LR_COPYFROMRESOURCE 0x4000
-#define LR_SHARED 32768
-#define KEYEVENTF_EXTENDEDKEY 0x00000001
-#define KEYEVENTF_KEYUP 00000002
-#if (_WIN32_WINNT >= 0x0500)
-#define KEYEVENTF_UNICODE 0x00000004
-#define KEYEVENTF_SCANCODE 0x00000008
-#endif
-#define OBM_BTNCORNERS 32758
-#define OBM_BTSIZE 32761
-#define OBM_CHECK 32760
-#define OBM_CHECKBOXES 32759
-#define OBM_CLOSE 32754
-#define OBM_COMBO 32738
-#define OBM_DNARROW 32752
-#define OBM_DNARROWD 32742
-#define OBM_DNARROWI 32736
-#define OBM_LFARROW 32750
-#define OBM_LFARROWI 32734
-#define OBM_LFARROWD 32740
-#define OBM_MNARROW 32739
-#define OBM_OLD_CLOSE 32767
-#define OBM_OLD_DNARROW 32764
-#define OBM_OLD_LFARROW 32762
-#define OBM_OLD_REDUCE 32757
-#define OBM_OLD_RESTORE 32755
-#define OBM_OLD_RGARROW 32763
-#define OBM_OLD_UPARROW 32765
-#define OBM_OLD_ZOOM 32756
-#define OBM_REDUCE 32749
-#define OBM_REDUCED 32746
-#define OBM_RESTORE 32747
-#define OBM_RESTORED 32744
-#define OBM_RGARROW 32751
-#define OBM_RGARROWD 32741
-#define OBM_RGARROWI 32735
-#define OBM_SIZE 32766
-#define OBM_UPARROW 32753
-#define OBM_UPARROWD 32743
-#define OBM_UPARROWI 32737
-#define OBM_ZOOM 32748
-#define OBM_ZOOMD 32745
-#define OCR_NORMAL 32512
-#define OCR_IBEAM 32513
-#define OCR_WAIT 32514
-#define OCR_CROSS 32515
-#define OCR_UP 32516
-#define OCR_SIZE 32640
-#define OCR_ICON 32641
-#define OCR_SIZENWSE 32642
-#define OCR_SIZENESW 32643
-#define OCR_SIZEWE 32644
-#define OCR_SIZENS 32645
-#define OCR_SIZEALL 32646
-#define OCR_NO 32648
-#define OCR_APPSTARTING 32650
-#define OIC_SAMPLE 32512
-#define OIC_HAND 32513
-#define OIC_QUES 32514
-#define OIC_BANG 32515
-#define OIC_NOTE 32516
-#define OIC_WINLOGO 32517
-#define OIC_WARNING OIC_BANG
-#define OIC_ERROR OIC_HAND
-#define OIC_INFORMATION OIC_NOTE
-#define HELPINFO_MENUITEM 2
-#define HELPINFO_WINDOW 1
-#define MSGF_DIALOGBOX 0
-#define MSGF_MESSAGEBOX 1
-#define MSGF_MENU 2
-#define MSGF_MOVE 3
-#define MSGF_SIZE 4
-#define MSGF_SCROLLBAR 5
-#define MSGF_NEXTWINDOW 6
-#define MSGF_MAINLOOP 8
-#define MSGF_USER 4096
-#define MOUSEEVENTF_MOVE 0x00000001
-#define MOUSEEVENTF_LEFTDOWN 0x00000002
-#define MOUSEEVENTF_LEFTUP 0x00000004
-#define MOUSEEVENTF_RIGHTDOWN 0x00000008
-#define MOUSEEVENTF_RIGHTUP 0x00000010
-#define MOUSEEVENTF_MIDDLEDOWN 0x00000020
-#define MOUSEEVENTF_MIDDLEUP 0x00000040
-#define MOUSEEVENTF_ABSOLUTE 0x00008000
-#if (_WIN32_WINNT >= 0x0400)
-#define MOUSEEVENTF_WHEEL 0x00000800
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define MOUSEEVENTF_XDOWN 0x00000080
-#define MOUSEEVENTF_XUP 0x00000100
-#endif
-/* Also in pbt.h */
-#if (_WIN32_WINNT >= 0x0400)
-#define PBT_APMQUERYSUSPEND 0
-#define PBT_APMQUERYSTANDBY 1
-#define PBT_APMQUERYSUSPENDFAILED 2
-#define PBT_APMQUERYSTANDBYFAILED 3
-#define PBT_APMSUSPEND 4
-#define PBT_APMSTANDBY 5
-#define PBT_APMRESUMECRITICAL 6
-#define PBT_APMRESUMESUSPEND 7
-#define PBT_APMRESUMESTANDBY 8
-#define PBT_APMBATTERYLOW 9
-#define PBT_APMPOWERSTATUSCHANGE 10
-#define PBT_APMOEMEVENT 11
-#define PBT_APMRESUMEAUTOMATIC 18
-#define PBTF_APMRESUMEFROMFAILURE 1
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-#define PBT_POWERSETTINGCHANGE	32787
-#endif
-/* end pbt.h */
-
-#define PM_NOREMOVE 0
-#define PM_REMOVE 1
-#define PM_NOYIELD 2
-#if (_WIN32_WINNT >= 0x0500)
-# define PM_QS_INPUT (QS_INPUT << 16)
-# define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
-# define PM_QS_PAINT (QS_PAINT << 16)
-# define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
-#endif
-#define HWND_BROADCAST ((HWND)0xFFFF)
-#define HWND_BOTTOM ((HWND)1)
-#define HWND_NOTOPMOST ((HWND)(-2))
-#define HWND_TOP ((HWND)0)
-#define HWND_TOPMOST ((HWND)(-1))
-#define HWND_DESKTOP (HWND)0
-#if (_WIN32_WINNT >= 0x0500)
-#define HWND_MESSAGE ((HWND)(-3))
-#endif
-#define RDW_ERASE 4
-#define RDW_FRAME 1024
-#define RDW_INTERNALPAINT 2
-#define RDW_INVALIDATE 1
-#define RDW_NOERASE 32
-#define RDW_NOFRAME 2048
-#define RDW_NOINTERNALPAINT 16
-#define RDW_VALIDATE 8
-#define RDW_ERASENOW 512
-#define RDW_UPDATENOW 256
-#define RDW_ALLCHILDREN 128
-#define RDW_NOCHILDREN 64
-#define SMTO_ABORTIFHUNG 0x0002
-#define SMTO_BLOCK 0x0001
-#define SMTO_NORMAL 0x0000
-#if (_WIN32_WINNT >= 0x0500)
-#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
-#endif
-#define SIF_DISABLENOSCROLL 0x0008
-#define SIF_PAGE 0x0002
-#define SIF_POS 0x0004
-#define SIF_RANGE 0x0001
-#define SIF_TRACKPOS 0x0010
-#define SIF_ALL (SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS)
-#define SWP_DRAWFRAME 0x0020
-#define SWP_FRAMECHANGED 0x0020
-#define SWP_HIDEWINDOW 0x0080
-#define SWP_NOACTIVATE 0x0010
-#define SWP_NOCOPYBITS 0x0100
-#define SWP_NOMOVE 0x0002
-#define SWP_NOSIZE 0x0001
-#define SWP_NOREDRAW 0x0008
-#define SWP_NOZORDER 0x0004
-#define SWP_SHOWWINDOW 0x0040
-#define SWP_NOOWNERZORDER 0x0200
-#define SWP_NOREPOSITION SWP_NOOWNERZORDER
-#define SWP_NOSENDCHANGING 0x0400
-#define SWP_DEFERERASE 0x2000
-#define SWP_ASYNCWINDOWPOS 0x4000
-#define HSHELL_ACTIVATESHELLWINDOW 3
-#define HSHELL_ENDTASK 10
-#define HSHELL_GETMINRECT 5
-#define HSHELL_LANGUAGE 8
-#define HSHELL_REDRAW 6
-#define HSHELL_TASKMAN 7
-#define HSHELL_WINDOWACTIVATED 4
-#define HSHELL_WINDOWCREATED 1
-#define HSHELL_WINDOWDESTROYED 2
-#if (_WIN32_WINNT >= 0x0500)
-#define HSHELL_ACCESSIBILITYSTATE 11
-#define HSHELL_APPCOMMAND 12
-#define HSHELL_RUDEAPPACTIVATED 32772
-#define HSHELL_FLASH 32774
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define HSHELL_WINDOWREPLACED 13
-#define HSHELL_WINDOWREPLACING 14
-#endif
-#define SPI_GETACCESSTIMEOUT 0x003C
-#define SPI_GETACTIVEWINDOWTRACKING 0x1000
-#define SPI_GETACTIVEWNDTRKTIMEOUT 8194
-#define SPI_GETACTIVEWNDTRKZORDER 0x100C
-#define SPI_GETANIMATION 0x0048
-#define SPI_GETBEEP 0x0001
-#define SPI_GETBLOCKSENDINPUTRESETS 0x1026
-#define SPI_GETBORDER 0x0005
-#define SPI_GETCARETWIDTH 0x2006
-#define SPI_GETCOMBOBOXANIMATION 0x1004
-#define SPI_GETCURSORSHADOW 0x101A
-#define SPI_GETDEFAULTINPUTLANG 0x0059
-#define SPI_GETDESKWALLPAPER 0x0073
-#define SPI_GETDRAGFULLWINDOWS 0x0026
-#define SPI_GETFASTTASKSWITCH 0x0023
-#define SPI_GETFILTERKEYS 0x0032
-#define SPI_GETFONTSMOOTHING 0x004A
-#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
-#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#define SPI_GETGRIDGRANULARITY 0x0012
-#define SPI_GETHIGHCONTRAST 0x0042
-#define SPI_GETHOTTRACKING 0x100E
-#define SPI_GETICONMETRICS 0x002D
-#define SPI_GETICONTITLELOGFONT 0x001F
-#define SPI_GETICONTITLEWRAP 0x0019
-#define SPI_GETKEYBOARDCUES 0x100A
-#define SPI_GETKEYBOARDDELAY 0x0016
-#define SPI_GETKEYBOARDPREF 0x0044
-#define SPI_GETKEYBOARDSPEED 0x000A
-#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
-#define SPI_GETLOWPOWERACTIVE 0x0053
-#define SPI_GETLOWPOWERTIMEOUT 0x004F
-#define SPI_GETMENUANIMATION 0x1002
-#define SPI_GETMENUDROPALIGNMENT 0x001B
-#define SPI_GETMENUFADE 0x1012
-#define SPI_GETMENUSHOWDELAY 0x006A
-#define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES
-#define SPI_GETMINIMIZEDMETRICS 0x002B
-#define SPI_GETMOUSE 0x0003
-#define SPI_GETMOUSEHOVERHEIGHT 0x0064
-#define SPI_GETMOUSEHOVERTIME 0x0066
-#define SPI_GETMOUSEHOVERWIDTH 0x0062
-#define SPI_GETMOUSEKEYS 0x0036
-#define SPI_GETMOUSESPEED 0x0070
-#define SPI_GETMOUSETRAILS 0x005E
-#define SPI_GETNONCLIENTMETRICS 0x0029
-#define SPI_GETPOWEROFFACTIVE 0x0054
-#define SPI_GETPOWEROFFTIMEOUT 0x0050
-#define SPI_GETSCREENREADER 0x0046
-#define SPI_GETSCREENSAVEACTIVE 0x0010
-#define SPI_GETSCREENSAVERRUNNING 0x0072
-#define SPI_GETSCREENSAVETIMEOUT 0x000E
-#define SPI_GETSELECTIONFADE 0x1014
-#define SPI_GETSERIALKEYS 0x003E
-#define SPI_GETSHOWIMEUI 0x006E
-#define SPI_GETSHOWSOUNDS 0x0038
-#define SPI_GETSNAPTODEFBUTTON 0x005F
-#define SPI_GETSOUNDSENTRY 0x0040
-#define SPI_GETSTICKYKEYS 0x003A
-#define SPI_GETTOGGLEKEYS 0x0034
-#define SPI_GETTOOLTIPANIMATION 0x1016
-#define SPI_GETTOOLTIPFADE 0x1018
-#define SPI_GETUIEFFECTS 0x103E
-#define SPI_GETWHEELSCROLLLINES 0x0068
-#define SPI_GETWINDOWSEXTENSION 0x005C
-#define SPI_GETWORKAREA 0x0030
-#define SPI_ICONHORIZONTALSPACING 0x000D
-#define SPI_ICONVERTICALSPACING 0x0018
-#define SPI_LANGDRIVER 0x000C
-#define SPI_SETACCESSTIMEOUT 0x003D
-#define SPI_SETACTIVEWINDOWTRACKING 0x1001
-#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
-#define SPI_SETACTIVEWNDTRKZORDER 0x100D
-#define SPI_SETANIMATION 0x0049
-#define SPI_SETBEEP 0x0002
-#define SPI_SETBLOCKSENDINPUTRESETS 0x1027
-#define SPI_SETBORDER 0x0006
-#define SPI_SETCARETWIDTH 0x2007
-#define SPI_SETCOMBOBOXANIMATION 0x1005
-#define SPI_SETCURSORS 0x0057
-#define SPI_SETCURSORSHADOW 0x101B
-#define SPI_SETDEFAULTINPUTLANG 0x005A
-#define SPI_SETDESKPATTERN 0x0015
-#define SPI_SETDESKWALLPAPER 0x0014
-#define SPI_SETDOUBLECLICKTIME 0x0020
-#define SPI_SETDOUBLECLKHEIGHT 0x001E
-#define SPI_SETDOUBLECLKWIDTH 0x001D
-#define SPI_SETDRAGFULLWINDOWS 0x0025
-#define SPI_SETDRAGHEIGHT 0x004D
-#define SPI_SETDRAGWIDTH 0x004C
-#define SPI_SETFASTTASKSWITCH 0x0024
-#define SPI_SETFILTERKEYS 0x0033
-#define SPI_SETFONTSMOOTHING 0x004B
-#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
-#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
-#define SPI_SETGRADIENTCAPTIONS 0x1009
-#define SPI_SETGRIDGRANULARITY 0x0013
-#define SPI_SETHANDHELD 0x004E
-#define SPI_SETHIGHCONTRAST 0x0043
-#define SPI_SETHOTTRACKING 0x100F
-#define SPI_SETICONMETRICS 0x002E
-#define SPI_SETICONS 0x0058
-#define SPI_SETICONTITLELOGFONT 0x0022
-#define SPI_SETICONTITLEWRAP 0x001A
-#define SPI_SETKEYBOARDCUES 0x100B
-#define SPI_SETKEYBOARDDELAY 0x0017
-#define SPI_SETKEYBOARDPREF 0x0045
-#define SPI_SETKEYBOARDSPEED 0x000B
-#define SPI_SETLANGTOGGLE 0x005B
-#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
-#define SPI_SETLOWPOWERACTIVE 0x0055
-#define SPI_SETLOWPOWERTIMEOUT 0x0051
-#define SPI_SETMENUANIMATION 0x1003
-#define SPI_SETMENUDROPALIGNMENT 0x001C
-#define SPI_SETMENUFADE 0x1013
-#define SPI_SETMENUSHOWDELAY 0x006B
-#define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES
-#define SPI_SETMINIMIZEDMETRICS 0x002C
-#define SPI_SETMOUSE 0x0004
-#define SPI_SETMOUSEBUTTONSWAP 0x0021
-#define SPI_SETMOUSEHOVERHEIGHT 0x0065
-#define SPI_SETMOUSEHOVERTIME 0x0067
-#define SPI_SETMOUSEHOVERWIDTH 0x0063
-#define SPI_SETMOUSEKEYS 0x0037
-#define SPI_SETMOUSESPEED 0x0071
-#define SPI_SETMOUSETRAILS 0x005D
-#define SPI_SETNONCLIENTMETRICS 0x002A
-#define SPI_SETPENWINDOWS 0x0031
-#define SPI_SETPOWEROFFACTIVE 0x0056
-#define SPI_SETPOWEROFFTIMEOUT 0x0052
-#define SPI_SETSCREENREADER 0x0047
-#define SPI_SETSCREENSAVEACTIVE 0x0011
-#define SPI_SETSCREENSAVERRUNNING 0x0061
-#define SPI_SETSCREENSAVETIMEOUT 0x000F
-#define SPI_SETSELECTIONFADE 0x1015
-#define SPI_SETSERIALKEYS 0x003F
-#define SPI_SETSHOWIMEUI 0x006F
-#define SPI_SETSHOWSOUNDS 0x0039
-#define SPI_SETSNAPTODEFBUTTON 0x0060
-#define SPI_SETSOUNDSENTRY 0x0041
-#define SPI_SETSTICKYKEYS 0x003B
-#define SPI_SETTOGGLEKEYS 0x0035
-#define SPI_SETTOOLTIPANIMATION 0x1017
-#define SPI_SETTOOLTIPFADE 0x1019
-#define SPI_SETUIEFFECTS 0x103F
-#define SPI_SETWHEELSCROLLLINES 0x0069
-#define SPI_SETWORKAREA 0x002F
-#if (_WIN32_WINNT >= 0x0501)
-#define SPI_GETDROPSHADOW 0x1024
-#define SPI_GETFLATMENU 0x1022
-#define SPI_GETFOCUSBORDERHEIGHT 0x2010
-#define SPI_GETFOCUSBORDERWIDTH 0x200E
-#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
-#define SPI_GETFONTSMOOTHINGTYPE 0x200A
-#define SPI_GETMOUSECLICKLOCK 0x101E
-#define SPI_GETMOUSECLICKLOCKTIME 0x2008
-#define SPI_GETMOUSESONAR 0x101C
-#define SPI_GETMOUSEVANISH 0x1020
-#define SPI_SETDROPSHADOW 0x1025
-#define SPI_SETFLATMENU 0x1023
-#define SPI_SETFOCUSBORDERHEIGHT 0x2011
-#define SPI_SETFOCUSBORDERWIDTH 0x200F
-#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
-#define SPI_SETFONTSMOOTHINGTYPE 0x200B
-#define SPI_SETMOUSECLICKLOCK 0x101F
-#define SPI_SETMOUSECLICKLOCKTIME 0x2009
-#define SPI_SETMOUSESONAR 0x101D
-#define SPI_SETMOUSEVANISH 0x1021
-#endif
-#define SPIF_UPDATEINIFILE 0x0001
-#define SPIF_SENDCHANGE 0x0002
-#define SPIF_SENDWININICHANGE SPIF_SENDCHANGE
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_TIMEOUTON 1
-#define WM_APP 32768
-#define WM_ACTIVATE 6
-#define WM_ACTIVATEAPP 28
-/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_AFXFIRST 864
-#define WM_AFXLAST 895
-#define WM_ASKCBFORMATNAME 780
-#define WM_CANCELJOURNAL 75
-#define WM_CANCELMODE 31
-#define WM_CAPTURECHANGED 533
-#define WM_CHANGECBCHAIN 781
-#define WM_CHAR 258
-#define WM_CHARTOITEM 47
-#define WM_CHILDACTIVATE 34
-#define WM_CLEAR 771
-#define WM_CLOSE 16
-#define WM_COMMAND 273
-#define WM_COMMNOTIFY 68		/* obsolete */
-#define WM_COMPACTING 65
-#define WM_COMPAREITEM 57
-#define WM_CONTEXTMENU 123
-#define WM_COPY 769
-#define WM_COPYDATA 74
-#define WM_CREATE 1
-#define WM_CTLCOLORBTN 309
-#define WM_CTLCOLORDLG 310
-#define WM_CTLCOLOREDIT 307
-#define WM_CTLCOLORLISTBOX 308
-#define WM_CTLCOLORMSGBOX 306
-#define WM_CTLCOLORSCROLLBAR 311
-#define WM_CTLCOLORSTATIC 312
-#define WM_CUT 768
-#define WM_DEADCHAR 259
-#define WM_DELETEITEM 45
-#define WM_DESTROY 2
-#define WM_DESTROYCLIPBOARD 775
-#define WM_DEVICECHANGE 537
-#define WM_DEVMODECHANGE 27
-#define WM_DISPLAYCHANGE 126
-#define WM_DRAWCLIPBOARD 776
-#define WM_DRAWITEM 43
-#define WM_DROPFILES 563
-#define WM_ENABLE 10
-#define WM_ENDSESSION 22
-#define WM_ENTERIDLE 289
-#define WM_ENTERMENULOOP 529
-#define WM_ENTERSIZEMOVE 561
-#define WM_ERASEBKGND 20
-#define WM_EXITMENULOOP 530
-#define WM_EXITSIZEMOVE 562
-#define WM_FONTCHANGE 29
-#define WM_GETDLGCODE 135
-#define WM_GETFONT 49
-#define WM_GETHOTKEY 51
-#define WM_GETICON 127
-#define WM_GETMINMAXINFO 36
-#define WM_GETTEXT 13
-#define WM_GETTEXTLENGTH 14
-/* FIXME/CHECK: Are WM_HANDHEL{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_HANDHELDFIRST 856
-#define WM_HANDHELDLAST 863
-#define WM_HELP 83
-#define WM_HOTKEY 786
-#define WM_HSCROLL 276
-#define WM_HSCROLLCLIPBOARD 782
-#define WM_ICONERASEBKGND 39
-#define WM_INITDIALOG 272
-#define WM_INITMENU 278
-#define WM_INITMENUPOPUP 279
-#if (_WIN32_WINNT >= 0x0501)
-#define WM_INPUT 0x00FF
-#endif
-#define WM_INPUTLANGCHANGE 81
-#define WM_INPUTLANGCHANGEREQUEST 80
-#define WM_KEYDOWN 256
-#define WM_KEYUP 257
-#define WM_KILLFOCUS 8
-#define WM_MDIACTIVATE 546
-#define WM_MDICASCADE 551
-#define WM_MDICREATE 544
-#define WM_MDIDESTROY 545
-#define WM_MDIGETACTIVE 553
-#define WM_MDIICONARRANGE 552
-#define WM_MDIMAXIMIZE 549
-#define WM_MDINEXT 548
-#define WM_MDIREFRESHMENU 564
-#define WM_MDIRESTORE 547
-#define WM_MDISETMENU 560
-#define WM_MDITILE 550
-#define WM_MEASUREITEM 44
-#if (WINVER >= 0x0500)
-#define WM_GETOBJECT 0x003D
-#define WM_CHANGEUISTATE 0x0127
-#define WM_UPDATEUISTATE 0x0128
-#define WM_QUERYUISTATE 0x0129
-#define WM_UNINITMENUPOPUP 0x0125
-#define WM_MENURBUTTONUP 290
-#define WM_MENUCOMMAND 0x0126
-#define WM_MENUGETOBJECT 0x0124
-#define WM_MENUDRAG 0x0123
-#define WM_APPCOMMAND 0x0319
-#endif
-#define WM_MENUCHAR 288
-#define WM_MENUSELECT 287
-#define WM_NEXTMENU 531
-#define WM_MOVE 3
-#define WM_MOVING 534
-#define WM_NCACTIVATE 134
-#define WM_NCCALCSIZE 131
-#define WM_NCCREATE 129
-#define WM_NCDESTROY 130
-#define WM_NCHITTEST 132
-#define WM_NCLBUTTONDBLCLK 163
-#define WM_NCLBUTTONDOWN 161
-#define WM_NCLBUTTONUP 162
-#define WM_NCMBUTTONDBLCLK 169
-#define WM_NCMBUTTONDOWN 167
-#define WM_NCMBUTTONUP 168
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_NCXBUTTONDOWN 171
-#define WM_NCXBUTTONUP 172
-#define WM_NCXBUTTONDBLCLK 173
-#define WM_NCMOUSEHOVER 0x02A0
-#define WM_NCMOUSELEAVE 0x02A2
-#endif
-#define WM_NCMOUSEMOVE 160
-#define WM_NCPAINT 133
-#define WM_NCRBUTTONDBLCLK 166
-#define WM_NCRBUTTONDOWN 164
-#define WM_NCRBUTTONUP 165
-#define WM_NEXTDLGCTL 40
-#define WM_NEXTMENU 531
-#define WM_NOTIFY 78
-#define WM_NOTIFYFORMAT 85
-#define WM_NULL 0
-#define WM_PAINT 15
-#define WM_PAINTCLIPBOARD 777
-#define WM_PAINTICON 38
-#define WM_PALETTECHANGED 785
-#define WM_PALETTEISCHANGING 784
-#define WM_PARENTNOTIFY 528
-#define WM_PASTE 770
-#define WM_PENWINFIRST 896
-#define WM_PENWINLAST 911
-#define WM_POWER 72
-#define WM_POWERBROADCAST 536
-#define WM_PRINT 791
-#define WM_PRINTCLIENT 792
-#define WM_QUERYDRAGICON 55
-#define WM_QUERYENDSESSION 17
-#define WM_QUERYNEWPALETTE 783
-#define WM_QUERYOPEN 19
-#define WM_QUEUESYNC 35
-#define WM_QUIT 18
-#define WM_RENDERALLFORMATS 774
-#define WM_RENDERFORMAT 773
-#define WM_SETCURSOR 32
-#define WM_SETFOCUS 7
-#define WM_SETFONT 48
-#define WM_SETHOTKEY 50
-#define WM_SETICON 128
-#define WM_SETREDRAW 11
-#define WM_SETTEXT 12
-#define WM_SETTINGCHANGE 26
-#define WM_SHOWWINDOW 24
-#define WM_SIZE 5
-#define WM_SIZECLIPBOARD 779
-#define WM_SIZING 532
-#define WM_SPOOLERSTATUS 42
-#define WM_STYLECHANGED 125
-#define WM_STYLECHANGING 124
-#define WM_SYSCHAR 262
-#define WM_SYSCOLORCHANGE 21
-#define WM_SYSCOMMAND 274
-#define WM_SYSDEADCHAR 263
-#define WM_SYSKEYDOWN 260
-#define WM_SYSKEYUP 261
-#define WM_TCARD 82
-#define WM_THEMECHANGED 794
-#define WM_TIMECHANGE 30
-#define WM_TIMER 275
-#define WM_UNDO 772
-#define WM_USER 1024
-#define WM_USERCHANGED 84
-#define WM_VKEYTOITEM 46
-#define WM_VSCROLL 277
-#define WM_VSCROLLCLIPBOARD 778
-#define WM_WINDOWPOSCHANGED 71
-#define WM_WINDOWPOSCHANGING 70
-#define WM_WININICHANGE 26
-#define WM_KEYFIRST 256
-#if _WIN32_WINNT >= 0x0501
-#define WM_KEYLAST 265
-#define WM_UNICHAR 265
-#define UNICODE_NOCHAR 0xffff
-#else
-#define WM_KEYLAST 264
-#endif
-#define WM_SYNCPAINT  136
-#define WM_MOUSEACTIVATE 33
-#define WM_MOUSEMOVE 512
-#define WM_LBUTTONDOWN 513
-#define WM_LBUTTONUP 514
-#define WM_LBUTTONDBLCLK 515
-#define WM_RBUTTONDOWN 516
-#define WM_RBUTTONUP 517
-#define WM_RBUTTONDBLCLK 518
-#define WM_MBUTTONDOWN 519
-#define WM_MBUTTONUP 520
-#define WM_MBUTTONDBLCLK 521
-#define WM_MOUSEWHEEL 522
-#define WM_MOUSEFIRST 512
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_XBUTTONDOWN 523
-#define WM_XBUTTONUP 524
-#define WM_XBUTTONDBLCLK 525
-#define WM_MOUSELAST 525
-#else
-#define WM_MOUSELAST 522
-#endif
-#define WM_MOUSEHOVER	0x2A1
-#define WM_MOUSELEAVE	0x2A3
-#if (_WIN32_WINNT >= 0x0400)
-#define WHEEL_DELTA 120
-#define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
-#define WHEEL_PAGESCROLL UINT_MAX
-#endif
-#if (_WIN32_WINNT >= 0x0601)
-#define WM_TOUCHMOVE 576
-#define WM_TOUCHDOWN 577
-#define WM_TOUCHUP 578
-#endif
-#define BM_CLICK 245
-#define BM_GETCHECK 240
-#define BM_GETIMAGE 246
-#define BM_GETSTATE 242
-#define BM_SETCHECK 241
-#define BM_SETIMAGE 247
-#define BM_SETSTATE 243
-#define BM_SETSTYLE 244
-#define BN_CLICKED 0
-#define BN_DBLCLK 5
-#define BN_DISABLE 4
-#define BN_DOUBLECLICKED 5
-#define BN_HILITE 2
-#define BN_KILLFOCUS 7
-#define BN_PAINT 1
-#define BN_PUSHED 2
-#define BN_SETFOCUS 6
-#define BN_UNHILITE 3
-#define BN_UNPUSHED 3
-#define CB_ADDSTRING 323
-#define CB_DELETESTRING 324
-#define CB_DIR 325
-#define CB_FINDSTRING 332
-#define CB_FINDSTRINGEXACT 344
-#define CB_GETCOUNT 326
-#define CB_GETCURSEL 327
-#define CB_GETDROPPEDCONTROLRECT 338
-#define CB_GETDROPPEDSTATE 343
-#define CB_GETDROPPEDWIDTH 351
-#define CB_GETEDITSEL 320
-#define CB_GETEXTENDEDUI 342
-#define CB_GETHORIZONTALEXTENT 349
-#define CB_GETITEMDATA 336
-#define CB_GETITEMHEIGHT 340
-#define CB_GETLBTEXT 328
-#define CB_GETLBTEXTLEN 329
-#define CB_GETLOCALE 346
-#define CB_GETTOPINDEX 347
-#define CB_INITSTORAGE 353
-#define CB_INSERTSTRING 330
-#define CB_LIMITTEXT 321
-#define CB_RESETCONTENT 331
-#define CB_SELECTSTRING 333
-#define CB_SETCURSEL 334
-#define CB_SETDROPPEDWIDTH 352
-#define CB_SETEDITSEL 322
-#define CB_SETEXTENDEDUI 341
-#define CB_SETHORIZONTALEXTENT 350
-#define CB_SETITEMDATA 337
-#define CB_SETITEMHEIGHT 339
-#define CB_SETLOCALE 345
-#define CB_SETTOPINDEX 348
-#define CB_SHOWDROPDOWN 335
-#if (_WIN32_WINNT >= 0x0501)
-#define CB_SETMINVISIBLE 0x1701
-#define CB_GETMINVISIBLE 0x1702
-#endif
-#define CBN_CLOSEUP 8
-#define CBN_DBLCLK 2
-#define CBN_DROPDOWN 7
-#define CBN_EDITCHANGE 5
-#define CBN_EDITUPDATE 6
-#define CBN_ERRSPACE (-1)
-#define CBN_KILLFOCUS 4
-#define CBN_SELCHANGE 1
-#define CBN_SELENDCANCEL 10
-#define CBN_SELENDOK 9
-#define CBN_SETFOCUS 3
-#define EM_CANUNDO 198
-#define EM_CHARFROMPOS 215
-#define EM_EMPTYUNDOBUFFER 205
-#define EM_FMTLINES 200
-#define EM_GETFIRSTVISIBLELINE 206
-#define EM_GETHANDLE 189
-#define EM_GETLIMITTEXT 213
-#define EM_GETLINE 196
-#define EM_GETLINECOUNT 186
-#define EM_GETMARGINS 212
-#define EM_GETMODIFY 184
-#define EM_GETPASSWORDCHAR 210
-#define EM_GETRECT 178
-#define EM_GETSEL 176
-#define EM_GETTHUMB 190
-#define EM_GETWORDBREAKPROC 209
-#define EM_LIMITTEXT 197
-#define EM_LINEFROMCHAR 201
-#define EM_LINEINDEX 187
-#define EM_LINELENGTH 193
-#define EM_LINESCROLL 182
-#define EM_POSFROMCHAR 214
-#define EM_REPLACESEL 194
-#define EM_SCROLL 181
-#define EM_SCROLLCARET 183
-#define EM_SETHANDLE 188
-#define EM_SETLIMITTEXT 197
-#define EM_SETMARGINS 211
-#define EM_SETMODIFY 185
-#define EM_SETPASSWORDCHAR 204
-#define EM_SETREADONLY 207
-#define EM_SETRECT 179
-#define EM_SETRECTNP 180
-#define EM_SETSEL 177
-#define EM_SETTABSTOPS 203
-#define EM_SETWORDBREAKPROC 208
-#define EM_UNDO 199
-#if (WINVER >= 0x0500)
-#define EM_GETIMESTATUS 217
-#define EM_SETIMESTATUS 216
-#endif
-#define EN_CHANGE 768
-#define EN_ERRSPACE 1280
-#define EN_HSCROLL 1537
-#define EN_KILLFOCUS 512
-#define EN_MAXTEXT 1281
-#define EN_SETFOCUS 256
-#define EN_UPDATE 1024
-#define EN_VSCROLL 1538
-#define LB_ADDFILE 406
-#define LB_ADDSTRING 384
-#define LB_DELETESTRING 386
-#define LB_DIR 397
-#define LB_FINDSTRING 399
-#define LB_FINDSTRINGEXACT 418
-#define LB_GETANCHORINDEX 413
-#define LB_GETCARETINDEX 415
-#define LB_GETCOUNT 395
-#define LB_GETCURSEL 392
-#define LB_GETHORIZONTALEXTENT 403
-#define LB_GETITEMDATA 409
-#define LB_GETITEMHEIGHT 417
-#define LB_GETITEMRECT 408
-#define LB_GETLOCALE 422
-#define LB_GETSEL 391
-#define LB_GETSELCOUNT 400
-#define LB_GETSELITEMS 401
-#define LB_GETTEXT 393
-#define LB_GETTEXTLEN 394
-#define LB_GETTOPINDEX 398
-#define LB_INITSTORAGE 424
-#define LB_INSERTSTRING 385
-#define LB_ITEMFROMPOINT 425
-#define LB_RESETCONTENT 388
-#define LB_SELECTSTRING 396
-#define LB_SELITEMRANGE 411
-#define LB_SELITEMRANGEEX 387
-#define LB_SETANCHORINDEX 412
-#define LB_SETCARETINDEX 414
-#define LB_SETCOLUMNWIDTH 405
-#define LB_SETCOUNT 423
-#define LB_SETCURSEL 390
-#define LB_SETHORIZONTALEXTENT 404
-#define LB_SETITEMDATA 410
-#define LB_SETITEMHEIGHT 416
-#define LB_SETLOCALE 421
-#define LB_SETSEL 389
-#define LB_SETTABSTOPS 402
-#define LB_SETTOPINDEX 407
-#define LBN_DBLCLK 2
-#define LBN_ERRSPACE (-2)
-#define LBN_KILLFOCUS 5
-#define LBN_SELCANCEL 3
-#define LBN_SELCHANGE 1
-#define LBN_SETFOCUS 4
-#define SBM_ENABLE_ARROWS 228
-#define SBM_GETPOS 225
-#define SBM_GETRANGE 227
-#define SBM_GETSCROLLINFO 234
-#define SBM_SETPOS 224
-#define SBM_SETRANGE 226
-#define SBM_SETRANGEREDRAW 230
-#define SBM_SETSCROLLINFO 233
-#define STM_GETICON 369
-#define STM_GETIMAGE 371
-#define STM_SETICON 368
-#define STM_SETIMAGE 370
-#define STN_CLICKED 0
-#define STN_DBLCLK 1
-#define STN_DISABLE 3
-#define STN_ENABLE 2
-#define DM_GETDEFID WM_USER
-#define DM_SETDEFID (WM_USER+1)
-#define DM_REPOSITION (WM_USER+2)
-#define PSM_PAGEINFO (WM_USER+100)
-#define PSM_SHEETINFO (WM_USER+101)
-#define PSI_SETACTIVE 1
-#define PSI_KILLACTIVE 2
-#define PSI_APPLY 3
-#define PSI_RESET 4
-#define PSI_HASHELP 5
-#define PSI_HELP 6
-#define PSI_CHANGED 1
-#define PSI_GUISTART 2
-#define PSI_REBOOT 3
-#define PSI_GETSIBLINGS 4
-#define DCX_WINDOW 1
-#define DCX_CACHE 2
-#define DCX_PARENTCLIP 32
-#define DCX_CLIPSIBLINGS 16
-#define DCX_CLIPCHILDREN 8
-#define DCX_NORESETATTRS 4
-#define DCX_INTERSECTUPDATE 0x200
-#define DCX_LOCKWINDOWUPDATE 0x400
-#define DCX_EXCLUDERGN 64
-#define DCX_INTERSECTRGN 128
-#define DCX_VALIDATE 0x200000
-#define GMDI_GOINTOPOPUPS 2
-#define GMDI_USEDISABLED 1
-#define FKF_AVAILABLE 2
-#define FKF_CLICKON 64
-#define FKF_FILTERKEYSON 1
-#define FKF_HOTKEYACTIVE 4
-#define FKF_HOTKEYSOUND 16
-#define FKF_CONFIRMHOTKEY 8
-#define FKF_INDICATOR 32
-#define HCF_HIGHCONTRASTON 1
-#define HCF_AVAILABLE 2
-#define HCF_HOTKEYACTIVE 4
-#define HCF_CONFIRMHOTKEY 8
-#define HCF_HOTKEYSOUND 16
-#define HCF_INDICATOR 32
-#define HCF_HOTKEYAVAILABLE 64
-#define MKF_AVAILABLE 2
-#define MKF_CONFIRMHOTKEY 8
-#define MKF_HOTKEYACTIVE 4
-#define MKF_HOTKEYSOUND 16
-#define MKF_INDICATOR 32
-#define MKF_MOUSEKEYSON 1
-#define MKF_MODIFIERS 64
-#define MKF_REPLACENUMBERS 128
-#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */
-#define SERKF_AVAILABLE 2
-#define SERKF_INDICATOR 4
-#define SERKF_SERIALKEYSON 1
-#define SSF_AVAILABLE 2
-#define SSF_SOUNDSENTRYON 1
-#define SSTF_BORDER 2
-#define SSTF_CHARS 1
-#define SSTF_DISPLAY 3
-#define SSTF_NONE 0
-#define SSGF_DISPLAY 3
-#define SSGF_NONE 0
-#define SSWF_CUSTOM 4
-#define SSWF_DISPLAY 3
-#define SSWF_NONE 0
-#define SSWF_TITLE 1
-#define SSWF_WINDOW 2
-#define SKF_AUDIBLEFEEDBACK 64
-#define SKF_AVAILABLE 2
-#define SKF_CONFIRMHOTKEY 8
-#define SKF_HOTKEYACTIVE 4
-#define SKF_HOTKEYSOUND 16
-#define SKF_INDICATOR 32
-#define SKF_STICKYKEYSON 1
-#define SKF_TRISTATE 128
-#define SKF_TWOKEYSOFF 256
-#define TKF_AVAILABLE 2
-#define TKF_CONFIRMHOTKEY 8
-#define TKF_HOTKEYACTIVE 4
-#define TKF_HOTKEYSOUND 16
-#define TKF_TOGGLEKEYSON 1
-#define MDITILE_SKIPDISABLED 2
-#define MDITILE_HORIZONTAL 1
-#define MDITILE_VERTICAL 0
-#define VK_LBUTTON	1
-#define VK_RBUTTON	2
-#define VK_CANCEL	3
-#define VK_MBUTTON	4
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_XBUTTON1	5
-#define VK_XBUTTON2	6
-#endif
-#define VK_BACK	8
-#define VK_TAB	9
-#define VK_CLEAR	12
-#define VK_RETURN	13
-#define VK_SHIFT	16
-#define VK_CONTROL	17
-#define VK_MENU	18
-#define VK_PAUSE	19
-#define VK_CAPITAL	20
-#define VK_KANA	0x15
-#define VK_HANGEUL	0x15
-#define VK_HANGUL	0x15
-#define VK_JUNJA	0x17
-#define VK_FINAL	0x18
-#define VK_HANJA	0x19
-#define VK_KANJI	0x19
-#define VK_ESCAPE	0x1B
-#define VK_CONVERT	0x1C
-#define VK_NONCONVERT	0x1D
-#define VK_ACCEPT	0x1E
-#define VK_MODECHANGE	0x1F
-#define VK_SPACE	32
-#define VK_PRIOR	33
-#define VK_NEXT	34
-#define VK_END	35
-#define VK_HOME	36
-#define VK_LEFT	37
-#define VK_UP	38
-#define VK_RIGHT	39
-#define VK_DOWN	40
-#define VK_SELECT	41
-#define VK_PRINT	42
-#define VK_EXECUTE	43
-#define VK_SNAPSHOT	44
-#define VK_INSERT	45
-#define VK_DELETE	46
-#define VK_HELP	47
-#define VK_LWIN	0x5B
-#define VK_RWIN	0x5C
-#define VK_APPS	0x5D
-#define VK_SLEEP	0x5F
-#define VK_NUMPAD0	0x60
-#define VK_NUMPAD1	0x61
-#define VK_NUMPAD2	0x62
-#define VK_NUMPAD3	0x63
-#define VK_NUMPAD4	0x64
-#define VK_NUMPAD5	0x65
-#define VK_NUMPAD6	0x66
-#define VK_NUMPAD7	0x67
-#define VK_NUMPAD8	0x68
-#define VK_NUMPAD9	0x69
-#define VK_MULTIPLY	0x6A
-#define VK_ADD	0x6B
-#define VK_SEPARATOR	0x6C
-#define VK_SUBTRACT	0x6D
-#define VK_DECIMAL	0x6E
-#define VK_DIVIDE	0x6F
-#define VK_F1	0x70
-#define VK_F2	0x71
-#define VK_F3	0x72
-#define VK_F4	0x73
-#define VK_F5	0x74
-#define VK_F6	0x75
-#define VK_F7	0x76
-#define VK_F8	0x77
-#define VK_F9	0x78
-#define VK_F10	0x79
-#define VK_F11	0x7A
-#define VK_F12	0x7B
-#define VK_F13	0x7C
-#define VK_F14	0x7D
-#define VK_F15	0x7E
-#define VK_F16	0x7F
-#define VK_F17	0x80
-#define VK_F18	0x81
-#define VK_F19	0x82
-#define VK_F20	0x83
-#define VK_F21	0x84
-#define VK_F22	0x85
-#define VK_F23	0x86
-#define VK_F24	0x87
-#define VK_NUMLOCK	0x90
-#define VK_SCROLL	0x91
-#define VK_LSHIFT	0xA0
-#define VK_RSHIFT	0xA1
-#define VK_LCONTROL	0xA2
-#define VK_RCONTROL	0xA3
-#define VK_LMENU	0xA4
-#define VK_RMENU	0xA5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_BROWSER_BACK	0xA6
-#define VK_BROWSER_FORWARD	0xA7
-#define VK_BROWSER_REFRESH	0xA8
-#define VK_BROWSER_STOP	0xA9
-#define VK_BROWSER_SEARCH	0xAA
-#define VK_BROWSER_FAVORITES	0xAB
-#define VK_BROWSER_HOME	0xAC
-#define VK_VOLUME_MUTE	0xAD
-#define VK_VOLUME_DOWN	0xAE
-#define VK_VOLUME_UP	0xAF
-#define VK_MEDIA_NEXT_TRACK	0xB0
-#define VK_MEDIA_PREV_TRACK	0xB1
-#define VK_MEDIA_STOP	0xB2
-#define VK_MEDIA_PLAY_PAUSE	0xB3
-#define VK_LAUNCH_MAIL	0xB4
-#define VK_LAUNCH_MEDIA_SELECT	0xB5
-#define VK_LAUNCH_APP1	0xB6
-#define VK_LAUNCH_APP2	0xB7
-#endif
-#define VK_OEM_1	0xBA
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_PLUS	0xBB
-#define VK_OEM_COMMA	0xBC
-#define VK_OEM_MINUS	0xBD
-#define VK_OEM_PERIOD	0xBE
-#endif
-#define VK_OEM_2	0xBF
-#define VK_OEM_3	0xC0
-#define VK_OEM_4	0xDB
-#define VK_OEM_5	0xDC
-#define VK_OEM_6	0xDD
-#define VK_OEM_7	0xDE
-#define VK_OEM_8	0xDF
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_102	0xE2
-#endif
-#define VK_PROCESSKEY	0xE5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_PACKET	0xE7
-#endif
-#define VK_ATTN	0xF6
-#define VK_CRSEL	0xF7
-#define VK_EXSEL	0xF8
-#define VK_EREOF	0xF9
-#define VK_PLAY	0xFA
-#define VK_ZOOM	0xFB
-#define VK_NONAME	0xFC
-#define VK_PA1	0xFD
-#define VK_OEM_CLEAR	0xFE
-#define TME_HOVER	1
-#define TME_LEAVE	2
-#define TME_QUERY	0x40000000
-#define TME_CANCEL	0x80000000
-#define HOVER_DEFAULT	0xFFFFFFFF
-#define MK_LBUTTON	1
-#define MK_RBUTTON	2
-#define MK_SHIFT	4
-#define MK_CONTROL	8
-#define MK_MBUTTON	16
-#if(_WIN32_WINNT >= 0x0500)
-#define MK_XBUTTON1	32
-#define MK_XBUTTON2	64
-#endif
-#define TPM_CENTERALIGN 4
-#define TPM_LEFTALIGN 0
-#define TPM_RIGHTALIGN 8
-#define TPM_LEFTBUTTON 0
-#define TPM_RIGHTBUTTON 2
-#define TPM_HORIZONTAL 0
-#define TPM_VERTICAL 64
-#define TPM_TOPALIGN 0
-#define TPM_VCENTERALIGN 16
-#define TPM_BOTTOMALIGN 32
-#define TPM_NONOTIFY 128
-#define TPM_RETURNCMD 256
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define TPM_RECURSE 1
-#endif
-#define HELP_COMMAND 0x102
-#define HELP_CONTENTS 3
-#define HELP_CONTEXT 1
-#define HELP_CONTEXTPOPUP 8
-#define HELP_FORCEFILE 9
-#define HELP_HELPONHELP 4
-#define HELP_INDEX 3
-#define HELP_KEY 0x101
-#define HELP_MULTIKEY 0x201
-#define HELP_PARTIALKEY 0x105
-#define HELP_QUIT 2
-#define HELP_SETCONTENTS 5
-#define HELP_SETINDEX 5
-#define HELP_SETWINPOS 0x203
-#define HELP_CONTEXTMENU 0xa
-#define HELP_FINDER 0xb
-#define HELP_WM_HELP 0xc
-#define HELP_TCARD 0x8000
-#define HELP_TCARD_DATA 16
-#define HELP_TCARD_OTHER_CALLER 0x11
-#define IDH_NO_HELP	28440
-#define IDH_MISSING_CONTEXT	28441
-#define IDH_GENERIC_HELP_BUTTON	28442
-#define IDH_OK	28443
-#define IDH_CANCEL	28444
-#define IDH_HELP	28445
-#define LB_CTLCODE 0
-#define LB_OKAY 0
-#define LB_ERR (-1)
-#define LB_ERRSPACE (-2)
-#define CB_OKAY 0
-#define CB_ERR (-1)
-#define CB_ERRSPACE (-2)
-#define HIDE_WINDOW 0
-#define SHOW_OPENWINDOW 1
-#define SHOW_ICONWINDOW 2
-#define SHOW_FULLSCREEN 3
-#define SHOW_OPENNOACTIVATE 4
-#define SW_PARENTCLOSING 1
-#define SW_OTHERZOOM 2
-#define SW_PARENTOPENING 3
-#define SW_OTHERUNZOOM 4
-#define KF_EXTENDED 256
-#define KF_DLGMODE 2048
-#define KF_MENUMODE 4096
-#define KF_ALTDOWN 8192
-#define KF_REPEAT 16384
-#define KF_UP 32768
-#define WSF_VISIBLE 1
-#define PWR_OK 1
-#define PWR_FAIL (-1)
-#define PWR_SUSPENDREQUEST 1
-#define PWR_SUSPENDRESUME 2
-#define PWR_CRITICALRESUME 3
-#define NFR_ANSI 1
-#define NFR_UNICODE 2
-#define NF_QUERY 3
-#define NF_REQUERY 4
-#define MENULOOP_WINDOW 0
-#define MENULOOP_POPUP 1
-#define WMSZ_LEFT 1
-#define WMSZ_RIGHT 2
-#define WMSZ_TOP 3
-#define WMSZ_TOPLEFT 4
-#define WMSZ_TOPRIGHT 5
-#define WMSZ_BOTTOM 6
-#define WMSZ_BOTTOMLEFT 7
-#define WMSZ_BOTTOMRIGHT 8
-#define HTERROR (-2)
-#define HTTRANSPARENT (-1)
-#define HTNOWHERE 0
-#define HTCLIENT 1
-#define HTCAPTION 2
-#define HTSYSMENU 3
-#define HTGROWBOX 4
-#define HTSIZE 4
-#define HTMENU 5
-#define HTHSCROLL 6
-#define HTVSCROLL 7
-#define HTMINBUTTON 8
-#define HTMAXBUTTON 9
-#define HTREDUCE 8
-#define HTZOOM 9
-#define HTLEFT 10
-#define HTSIZEFIRST 10
-#define HTRIGHT 11
-#define HTTOP 12
-#define HTTOPLEFT 13
-#define HTTOPRIGHT 14
-#define HTBOTTOM 15
-#define HTBOTTOMLEFT 16
-#define HTBOTTOMRIGHT 17
-#define HTSIZELAST 17
-#define HTBORDER 18
-#define HTOBJECT 19
-#define HTCLOSE 20
-#define HTHELP 21
-#define MA_ACTIVATE 1
-#define MA_ACTIVATEANDEAT 2
-#define MA_NOACTIVATE 3
-#define MA_NOACTIVATEANDEAT 4
-#define SIZE_RESTORED 0
-#define SIZE_MINIMIZED 1
-#define SIZE_MAXIMIZED 2
-#define SIZE_MAXSHOW 3
-#define SIZE_MAXHIDE 4
-#define SIZENORMAL 0
-#define SIZEICONIC 1
-#define SIZEFULLSCREEN 2
-#define SIZEZOOMSHOW 3
-#define SIZEZOOMHIDE 4
-#define WVR_ALIGNTOP 16
-#define WVR_ALIGNLEFT 32
-#define WVR_ALIGNBOTTOM 64
-#define WVR_ALIGNRIGHT 128
-#define WVR_HREDRAW 256
-#define WVR_VREDRAW 512
-#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW)
-#define WVR_VALIDRECTS 1024
-#define PRF_CHECKVISIBLE 1
-#define PRF_NONCLIENT 2
-#define PRF_CLIENT 4
-#define PRF_ERASEBKGND 8
-#define PRF_CHILDREN 16
-#define PRF_OWNED 32
-#define IDANI_OPEN 1
-#define IDANI_CLOSE 2
-#define IDANI_CAPTION 3
-#define WPF_RESTORETOMAXIMIZED 2
-#define WPF_SETMINPOSITION 1
-#define ODT_MENU 1
-#define ODT_LISTBOX 2
-#define ODT_COMBOBOX 3
-#define ODT_BUTTON 4
-#define ODT_STATIC 5
-#define ODA_DRAWENTIRE 1
-#define ODA_SELECT 2
-#define ODA_FOCUS 4
-#define ODS_SELECTED 1
-#define ODS_GRAYED 2
-#define ODS_DISABLED 4
-#define ODS_CHECKED 8
-#define ODS_FOCUS 16
-#define ODS_DEFAULT 32
-#define ODS_COMBOBOXEDIT 4096
-#define IDHOT_SNAPWINDOW (-1)
-#define IDHOT_SNAPDESKTOP (-2)
-#define DBWF_LPARAMPOINTER 0x8000
-#define DLGWINDOWEXTRA 30
-#define MNC_IGNORE 0
-#define MNC_CLOSE 1
-#define MNC_EXECUTE 2
-#define MNC_SELECT 3
-#define DOF_EXECUTABLE 0x8001
-#define DOF_DOCUMENT 0x8002
-#define DOF_DIRECTORY 0x8003
-#define DOF_MULTIPLE 0x8004
-#define DOF_PROGMAN 1
-#define DOF_SHELLDATA 2
-#define DO_DROPFILE 0x454C4946
-#define DO_PRINTFILE 0x544E5250
-#define SW_SCROLLCHILDREN 1
-#define SW_INVALIDATE 2
-#define SW_ERASE 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define SW_SMOOTHSCROLL	0x0010
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define SC_SIZE 0xF000
-#define SC_MOVE 0xF010
-#define SC_MINIMIZE 0xF020
-#define SC_ICON 0xf020
-#define SC_MAXIMIZE 0xF030
-#define SC_ZOOM 0xF030
-#define SC_NEXTWINDOW 0xF040
-#define SC_PREVWINDOW 0xF050
-#define SC_CLOSE 0xF060
-#define SC_VSCROLL 0xF070
-#define SC_HSCROLL 0xF080
-#define SC_MOUSEMENU 0xF090
-#define SC_KEYMENU 0xF100
-#define SC_ARRANGE 0xF110
-#define SC_RESTORE 0xF120
-#define SC_TASKLIST 0xF130
-#define SC_SCREENSAVE 0xF140
-#define SC_HOTKEY 0xF150
-#define SC_DEFAULT 0xF160
-#define SC_MONITORPOWER 0xF170
-#define SC_CONTEXTHELP 0xF180
-#define SC_SEPARATOR 0xF00F
-#define EC_LEFTMARGIN 1
-#define EC_RIGHTMARGIN 2
-#define EC_USEFONTINFO 0xffff
-#define DC_HASDEFID 0x534B
-#define DLGC_WANTARROWS 1
-#define DLGC_WANTTAB 2
-#define DLGC_WANTALLKEYS 4
-#define DLGC_WANTMESSAGE 4
-#define DLGC_HASSETSEL 8
-#define DLGC_DEFPUSHBUTTON 16
-#define DLGC_UNDEFPUSHBUTTON 32
-#define DLGC_RADIOBUTTON 64
-#define DLGC_WANTCHARS 128
-#define DLGC_STATIC 256
-#define DLGC_BUTTON 0x2000
-#define LB_CTLCODE 0
-#define WA_INACTIVE 0
-#define WA_ACTIVE 1
-#define WA_CLICKACTIVE 2
-#define ICON_SMALL 0
-#define ICON_BIG 1
-#if (_WIN32_WINNT >= 0x0501)
-#define ICON_SMALL2 2
-#endif
-#define HBMMENU_CALLBACK ((HBITMAP) -1)
-#define HBMMENU_SYSTEM ((HBITMAP)1)
-#define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
-#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3)
-#define HBMMENU_MBAR_CLOSE ((HBITMAP)5)
-#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6)
-#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7)
-#define HBMMENU_POPUP_CLOSE ((HBITMAP)8)
-#define HBMMENU_POPUP_RESTORE ((HBITMAP)9)
-#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10)
-#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11)
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP  2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define LLKHF_EXTENDED	(KF_EXTENDED >> 8)
-#define LLKHF_INJECTED	0x00000010
-#define LLKHF_ALTDOWN	(KF_ALTDOWN >> 8)
-#define LLKHF_UP	(KF_UP >> 8)
-#if (WINVER >= 0x0500)
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 1
-#define FLASHW_TRAY 2
-#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
-#define FLASHW_TIMER 4
-#define FLASHW_TIMERNOFG 12
-#endif /* (WINVER >= 0x0500) */
-#define CURSOR_SHOWING 0x00000001
-#define WS_ACTIVECAPTION 0x00000001
-#if (_WIN32_WINNT >= 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (WINVER >= 0x0400)
-#define ENDSESSION_LOGOFF 0x80000000
-#endif
-#if (WINVER >= 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#if (_WIN32_WINNT >= 0x0501)
-#define GUI_16BITTASK 0x00000020
-#endif
-#define WINEVENT_OUTOFCONTEXT   0x0000
-#define WINEVENT_SKIPOWNTHREAD  0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT      0x0004
-#define AW_HOR_POSITIVE 0x00000001
-#define AW_HOR_NEGATIVE 0x00000002
-#define AW_VER_POSITIVE 0x00000004
-#define AW_VER_NEGATIVE 0x00000008
-#define AW_CENTER 0x00000010
-#define AW_HIDE 0x00010000
-#define AW_ACTIVATE 0x00020000
-#define AW_SLIDE 0x00040000
-#define AW_BLEND 0x00080000
-#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
-#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
-#if (_WIN32_WINNT >= 0x0501)
-#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
-#endif
-#define EVENT_MIN                       0x00000001
-#define EVENT_SYSTEM_SOUND              0x00000001
-#define EVENT_SYSTEM_ALERT              0x00000002
-#define EVENT_SYSTEM_FOREGROUND         0x00000003
-#define EVENT_SYSTEM_MENUSTART          0x00000004
-#define EVENT_SYSTEM_MENUEND            0x00000005
-#define EVENT_SYSTEM_MENUPOPUPSTART     0x00000006
-#define EVENT_SYSTEM_MENUPOPUPEND       0x00000007
-#define EVENT_SYSTEM_CAPTURESTART       0x00000008
-#define EVENT_SYSTEM_CAPTUREEND         0x00000009
-#define EVENT_SYSTEM_MOVESIZESTART      0x0000000a
-#define EVENT_SYSTEM_MOVESIZEEND        0x0000000b
-#define EVENT_SYSTEM_CONTEXTHELPSTART   0x0000000c
-#define EVENT_SYSTEM_CONTEXTHELPEND     0x0000000d
-#define EVENT_SYSTEM_DRAGDROPSTART      0x0000000e
-#define EVENT_SYSTEM_DRAGDROPEND        0x0000000f
-#define EVENT_SYSTEM_DIALOGSTART        0x00000010
-#define EVENT_SYSTEM_DIALOGEND          0x00000011
-#define EVENT_SYSTEM_SCROLLINGSTART     0x00000012
-#define EVENT_SYSTEM_SCROLLINGEND       0x00000013
-#define EVENT_SYSTEM_SWITCHSTART        0x00000014
-#define EVENT_SYSTEM_SWITCHEND          0x00000015
-#define EVENT_SYSTEM_MINIMIZESTART      0x00000016
-#define EVENT_SYSTEM_MINIMIZEEND        0x00000017
-#define EVENT_OBJECT_CREATE             0x00008000
-#define EVENT_OBJECT_DESTROY            0x00008001
-#define EVENT_OBJECT_SHOW               0x00008002
-#define EVENT_OBJECT_HIDE               0x00008003
-#define EVENT_OBJECT_REORDER            0x00008004
-#define EVENT_OBJECT_FOCUS              0x00008005
-#define EVENT_OBJECT_SELECTION          0x00008006
-#define EVENT_OBJECT_SELECTIONADD       0x00008007
-#define EVENT_OBJECT_SELECTIONREMOVE    0x00008008
-#define EVENT_OBJECT_SELECTIONWITHIN    0x00008009
-#define EVENT_OBJECT_STATECHANGE        0x0000800a
-#define EVENT_OBJECT_LOCATIONCHANGE     0x0000800b
-#define EVENT_OBJECT_NAMECHANGE         0x0000800c
-#define EVENT_OBJECT_DESCRIPTIONCHANGE  0x0000800d
-#define EVENT_OBJECT_VALUECHANGE        0x0000800e
-#define EVENT_OBJECT_PARENTCHANGE       0x0000800f
-#define EVENT_OBJECT_HELPCHANGE         0x00008010
-#define EVENT_OBJECT_DEFACTIONCHANGE    0x00008011
-#define EVENT_OBJECT_ACCELERATORCHANGE  0x00008012
-#if (_WIN32_WINNT >= 0x0501)
-#define EVENT_CONSOLE_CARET             0x00004001
-#define CONSOLE_CARET_SELECTION         0x00000001
-#define CONSOLE_CARET_VISIBLE           0x00000002
-#define EVENT_CONSOLE_UPDATE_REGION     0x00004002
-#define EVENT_CONSOLE_UPDATE_SIMPLE     0x00004003
-#define EVENT_CONSOLE_UPDATE_SCROLL     0x00004004
-#define EVENT_CONSOLE_LAYOUT            0x00004005
-#define EVENT_CONSOLE_START_APPLICATION 0x00004006
-#define CONSOLE_APPLICATION_16BIT       0x00000001
-#define EVENT_CONSOLE_END_APPLICATION   0x00004007
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#define EVENT_MAX                       0x7fffffff
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define ASFW_ANY ((DWORD)-1)
-#define LSFW_LOCK 1
-#define LSFW_UNLOCK 2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LWA_COLORKEY	0x01
-#define LWA_ALPHA	0x02
-#define ULW_COLORKEY	0x01
-#define ULW_ALPHA	0x02
-#define ULW_OPAQUE	0x04
-#endif
-#define GA_PARENT 1
-#define GA_ROOT 2
-#define GA_ROOTOWNER 3
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define MONITOR_DEFAULTTONULL 0
-#define MONITOR_DEFAULTTOPRIMARY 1
-#define MONITOR_DEFAULTTONEAREST 2
-#define MONITORINFOF_PRIMARY 1
-#define EDS_RAWMODE 0x00000002
-#define ISMEX_NOSEND 0x00000000
-#define ISMEX_CALLBACK 0x00000004
-#define ISMEX_NOTIFY 0x00000002
-#define ISMEX_REPLIED 0x00000008
-#define ISMEX_SEND 0x00000001
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define GR_GDIOBJECTS 0
-#define GR_USEROBJECTS 1
-#endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define GMMP_USE_DISPLAY_POINTS 1
-#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define XBUTTON1 0x0001
-#define XBUTTON2 0x0002
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define FE_FONTSMOOTHINGSTANDARD  0x0001
-#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
-#define PW_CLIENTONLY 0x00000001
-#define RIM_INPUT     0x00000000
-#define RIM_INPUTSINK 0x00000001
-#define RIM_TYPEMOUSE    0x00000000
-#define RIM_TYPEKEYBOARD 0x00000001
-#define RIM_TYPEHID      0x00000002
-#define MOUSE_MOVE_RELATIVE      0x00000000
-#define MOUSE_MOVE_ABSOLUTE      0x00000001
-#define MOUSE_VIRTUAL_DESKTOP    0x00000002
-#define MOUSE_ATTRIBUTES_CHANGED 0x00000004
-#define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001
-#define RI_MOUSE_LEFT_BUTTON_UP     0x0002
-#define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004
-#define RI_MOUSE_RIGHT_BUTTON_UP    0x0008
-#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020
-#define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP
-#define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP
-#define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP
-#define RI_MOUSE_BUTTON_4_DOWN      0x0040
-#define RI_MOUSE_BUTTON_4_UP        0x0080
-#define RI_MOUSE_BUTTON_5_DOWN      0x0100
-#define RI_MOUSE_BUTTON_5_UP        0x0200
-#define RI_MOUSE_WHEEL              0x0400
-#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff
-#define RI_KEY_MAKE            0x0000
-#define RI_KEY_BREAK           0x0001
-#define RI_KEY_E0              0x0002
-#define RI_KEY_E1              0x0004
-#define RI_KEY_TERMSRV_SET_LED 0x0008
-#define RI_KEY_TERMSRV_SHADOW  0x0010
-#define RID_INPUT  0x10000003
-#define RID_HEADER 0x10000005
-#define RIDI_PREPARSEDDATA 0x20000005
-#define RIDI_DEVICENAME    0x20000007
-#define RIDI_DEVICEINFO    0x2000000b
-#define RIDEV_REMOVE       0x00000001
-#define RIDEV_EXCLUDE      0x00000010
-#define RIDEV_PAGEONLY     0x00000020
-#define RIDEV_NOLEGACY     0x00000030
-#define RIDEV_INPUTSINK    0x00000100
-#define RIDEV_CAPTUREMOUSE 0x00000200
-#define RIDEV_NOHOTKEYS    0x00000200
-#define RIDEV_APPKEYS      0x00000400
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-#define TOUCHEVENTF_DOWN	    0x0001
-#define TOUCHEVENTF_INRANGE	    0x0008
-#define TOUCHEVENTF_MOVE	    0x0002
-#define TOUCHEVENTF_NOCOALESCE	0x0020
-#define TOUCHEVENTF_PALM	    0x0080
-#define TOUCHEVENTF_PEN	        0x0040
-#define TOUCHEVENTF_PRIMARY	    0x0010
-#define TOUCHEVENTF_UP	        0x0004
-
-#define TOUCHEVENTMASKF_CONTACTAREA	0x0004
-#define TOUCHEVENTMASKF_EXTRAINFO	0x0002
-#define TOUCHEVENTMASKF_TIMEFROMSYSTEM	0x0001
-#endif
-
-#define MAPVK_VK_TO_VSC 	0
-#define MAPVK_VSC_TO_VK 	1
-#define MAPVK_VK_TO_CHAR	2
-#define MAPVK_VSC_TO_VK_EX	3
-#define MAPVK_VK_TO_VSC_EX	4
-
-#ifndef RC_INVOKED
-typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
-typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
-typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD);
-typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD);
-typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int);
-typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
-typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
-typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
-typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-typedef NAMEENUMPROCW DESKTOPENUMPROCW;
-typedef NAMEENUMPROCA WINSTAENUMPROCA;
-typedef NAMEENUMPROCW WINSTAENUMPROCW;
-typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT);
-DECLARE_HANDLE(HDWP);
-DECLARE_HANDLE(HDEVNOTIFY);
-typedef struct tagMENUGETOBJECTINFO {
-  DWORD  dwFlags;
-  UINT  uPos;
-  HMENU  hmenu;
-  PVOID  riid;
-  PVOID  pvObj;
-} MENUGETOBJECTINFO, *PMENUGETOBJECTINFO;
-typedef struct tagACCEL {
-	BYTE fVirt;
-	WORD key;
-	WORD cmd;
-} ACCEL,*LPACCEL;
-typedef struct tagACCESSTIMEOUT {
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iTimeOutMSec;
-} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-typedef struct tagANIMATIONINFO {
-	UINT cbSize;
-	int iMinAnimate;
-} ANIMATIONINFO,*LPANIMATIONINFO;
-typedef struct tagCREATESTRUCTA {
-	LPVOID	lpCreateParams;
-	HINSTANCE	hInstance;
-	HMENU	hMenu;
-	HWND	hwndParent;
-	int	cy;
-	int	cx;
-	int	y;
-	int	x;
-	LONG	style;
-	LPCSTR	lpszName;
-	LPCSTR	lpszClass;
-	DWORD	dwExStyle;
-} CREATESTRUCTA,*LPCREATESTRUCTA;
-typedef struct tagCREATESTRUCTW {
-	LPVOID	lpCreateParams;
-	HINSTANCE	hInstance;
-	HMENU	hMenu;
-	HWND	hwndParent;
-	int	cy;
-	int	cx;
-	int	y;
-	int	x;
-	LONG	style;
-	LPCWSTR	lpszName;
-	LPCWSTR	lpszClass;
-	DWORD	dwExStyle;
-} CREATESTRUCTW,*LPCREATESTRUCTW;
-typedef struct tagCBT_CREATEWNDA {
-	LPCREATESTRUCTA lpcs;
-	HWND	hwndInsertAfter;
-} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-typedef struct tagCBT_CREATEWNDW {
-	LPCREATESTRUCTW lpcs;
-	HWND	hwndInsertAfter;
-} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-typedef struct tagCBTACTIVATESTRUCT {
-	BOOL fMouse;
-	HWND hWndActive;
-} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
-typedef struct tagCLIENTCREATESTRUCT {
-	HANDLE	hWindowMenu;
-	UINT	idFirstChild;
-} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
-typedef struct tagCOMPAREITEMSTRUCT {
-	UINT	CtlType;
-	UINT	CtlID;
-	HWND	hwndItem;
-	UINT	itemID1;
-	DWORD	itemData1;
-	UINT	itemID2;
-	DWORD	itemData2;
-	DWORD	dwLocaleId;
-} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
-typedef struct tagCOPYDATASTRUCT {
-	DWORD dwData;
-	DWORD cbData;
-	PVOID lpData;
-} COPYDATASTRUCT,*PCOPYDATASTRUCT;
-typedef struct tagCURSORSHAPE {
-	int xHotSpot;
-	int yHotSpot;
-	int cx;
-	int cy;
-	int cbWidth;
-    BYTE Planes;
-    BYTE BitsPixel;
-} CURSORSHAPE,*LPCURSORSHAPE;
-typedef struct tagCWPRETSTRUCT {
-	LRESULT lResult;
-	LPARAM lParam;
-	WPARAM wParam;
-	DWORD message;
-	HWND hwnd;
-} CWPRETSTRUCT;
-typedef struct tagCWPSTRUCT {
-	LPARAM lParam;
-	WPARAM wParam;
-	UINT message;
-	HWND hwnd;
-} CWPSTRUCT,*PCWPSTRUCT;
-typedef struct tagDEBUGHOOKINFO {
-	DWORD idThread;
-	DWORD idThreadInstaller;
-	LPARAM lParam;
-	WPARAM wParam;
-	int code;
-} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
-typedef struct tagDELETEITEMSTRUCT {
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	HWND hwndItem;
-	UINT itemData;
-} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
-#pragma pack(push,2)
-typedef struct {
-	DWORD style;
-	DWORD dwExtendedStyle;
-	short x;
-	short y;
-	short cx;
-	short cy;
-	WORD id;
-} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
-typedef struct {
-	DWORD style;
-	DWORD dwExtendedStyle;
-	WORD cdit;
-	short x;
-	short y;
-	short cx;
-	short cy;
-} DLGTEMPLATE,*LPDLGTEMPLATE,*LPDLGTEMPLATEA,*LPDLGTEMPLATEW;
-typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
-#pragma pack(pop)
-typedef struct tagDRAWITEMSTRUCT {
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	UINT itemAction;
-	UINT itemState;
-	HWND hwndItem;
-	HDC	hDC;
-	RECT rcItem;
-	DWORD itemData;
-} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
-typedef struct {
-	UINT cbSize;
-	int iTabLength;
-	int iLeftMargin;
-	int iRightMargin;
-	UINT uiLengthDrawn;
-} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
-typedef struct tagPAINTSTRUCT {
-	HDC	hdc;
-	BOOL fErase;
-	RECT rcPaint;
-	BOOL fRestore;
-	BOOL fIncUpdate;
-	BYTE rgbReserved[32];
-} PAINTSTRUCT,*LPPAINTSTRUCT;
-typedef struct tagMSG {
-	HWND hwnd;
-	UINT message;
-	WPARAM wParam;
-	LPARAM lParam;
-	DWORD time;
-	POINT pt;
-} MSG,*LPMSG,*PMSG;
-typedef struct _ICONINFO {
-	BOOL fIcon;
-	DWORD xHotspot;
-	DWORD yHotspot;
-	HBITMAP hbmMask;
-	HBITMAP hbmColor;
-} ICONINFO,*PICONINFO;
-typedef struct tagNMHDR {
-	HWND hwndFrom;
-	UINT idFrom;
-	UINT code;
-} NMHDR,*LPNMHDR;
-typedef struct _WNDCLASSA {
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HINSTANCE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCSTR lpszMenuName;
-	LPCSTR lpszClassName;
-} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
-typedef struct _WNDCLASSW {
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HINSTANCE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCWSTR lpszMenuName;
-	LPCWSTR lpszClassName;
-} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
-typedef struct _WNDCLASSEXA {
-	UINT cbSize;
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HINSTANCE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCSTR lpszMenuName;
-	LPCSTR lpszClassName;
-	HICON hIconSm;
-} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
-typedef struct _WNDCLASSEXW {
-	UINT cbSize;
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HINSTANCE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCWSTR lpszMenuName;
-	LPCWSTR lpszClassName;
-	HICON hIconSm;
-} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
-typedef struct tagMENUITEMINFOA {
-	UINT cbSize;
-	UINT fMask;
-	UINT fType;
-	UINT fState;
-	UINT wID;
-	HMENU hSubMenu;
-	HBITMAP hbmpChecked;
-	HBITMAP hbmpUnchecked;
-	ULONG_PTR dwItemData;
-	LPSTR dwTypeData;
-	UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
-	HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOA,*LPMENUITEMINFOA;
-typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
-typedef struct tagMENUITEMINFOW {
-	UINT cbSize;
-	UINT fMask;
-	UINT fType;
-	UINT fState;
-	UINT wID;
-	HMENU hSubMenu;
-	HBITMAP hbmpChecked;
-	HBITMAP hbmpUnchecked;
-	ULONG_PTR dwItemData;
-	LPWSTR dwTypeData;
-	UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
-	HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOW,*LPMENUITEMINFOW;
-typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
-typedef struct tagSCROLLINFO {
-	UINT cbSize;
-	UINT fMask;
-	int nMin;
-	int nMax;
-	UINT nPage;
-	int nPos;
-	int nTrackPos;
-} SCROLLINFO,*LPSCROLLINFO;
-typedef const SCROLLINFO *LPCSCROLLINFO;
-typedef struct _WINDOWPLACEMENT {
-	UINT length;
-	UINT flags;
-	UINT showCmd;
-	POINT ptMinPosition;
-	POINT ptMaxPosition;
-	RECT rcNormalPosition;
-} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT;
-typedef struct {
-	WORD versionNumber;
-	WORD offset;
-} MENUITEMTEMPLATEHEADER;
-typedef struct {
-	WORD mtOption;
-	WORD mtID;
-	WCHAR mtString[1];
-} MENUITEMTEMPLATE;
-typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE;
-typedef struct tagHELPINFO {
-	UINT cbSize;
-	int iContextType;
-	int iCtrlId;
-	HANDLE hItemHandle;
-	DWORD dwContextId;
-	POINT MousePos;
-} HELPINFO,*LPHELPINFO;
-typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO);
-typedef struct {
-	UINT cbSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	LPCSTR lpszText;
-	LPCSTR lpszCaption;
-	DWORD dwStyle;
-	LPCSTR lpszIcon;
-	DWORD dwContextHelpId;
-	MSGBOXCALLBACK lpfnMsgBoxCallback;
-	DWORD dwLanguageId;
-} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
-typedef struct {
-	UINT cbSize;
-	HWND hwndOwner;
-	HINSTANCE hInstance;
-	LPCWSTR lpszText;
-	LPCWSTR lpszCaption;
-	DWORD dwStyle;
-	LPCWSTR lpszIcon;
-	DWORD dwContextHelpId;
-	MSGBOXCALLBACK lpfnMsgBoxCallback;
-	DWORD dwLanguageId;
-} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
-typedef struct tagUSEROBJECTFLAGS {
-	BOOL fInherit;
-	BOOL fReserved;
-	DWORD dwFlags;
-} USEROBJECTFLAGS;
-typedef struct tagFILTERKEYS {
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iWaitMSec;
-	DWORD iDelayMSec;
-	DWORD iRepeatMSec;
-	DWORD iBounceMSec;
-} FILTERKEYS;
-typedef struct tagHIGHCONTRASTA {
-	UINT cbSize;
-	DWORD dwFlags;
-	LPSTR lpszDefaultScheme;
-} HIGHCONTRASTA,*LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRASTW {
-	UINT cbSize;
-	DWORD dwFlags;
-	LPWSTR lpszDefaultScheme;
-} HIGHCONTRASTW,*LPHIGHCONTRASTW;
-#ifndef NOGDI
-typedef struct tagICONMETRICSA {
-	UINT cbSize;
-	int iHorzSpacing;
-	int iVertSpacing;
-	int iTitleWrap;
-	LOGFONTA lfFont;
-} ICONMETRICSA,*LPICONMETRICSA;
-typedef struct tagICONMETRICSW {
-	UINT cbSize;
-	int iHorzSpacing;
-	int iVertSpacing;
-	int iTitleWrap;
-	LOGFONTW lfFont;
-} ICONMETRICSW,*LPICONMETRICSW;
-#endif /*  NOGDI */
-typedef struct tagMINIMIZEDMETRICS {
-	UINT cbSize;
-	int iWidth;
-	int iHorzGap;
-	int iVertGap;
-	int iArrange;
-} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
-typedef struct tagMOUSEKEYS{
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iMaxSpeed;
-	DWORD iTimeToMaxSpeed;
-	DWORD iCtrlSpeed;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-} MOUSEKEYS,*LPMOUSEKEYS;
-#ifndef NOGDI
-typedef struct tagNONCLIENTMETRICSA {
-	UINT cbSize;
-	int iBorderWidth;
-	int iScrollWidth;
-	int iScrollHeight;
-	int iCaptionWidth;
-	int iCaptionHeight;
-	LOGFONTA lfCaptionFont;
-	int iSmCaptionWidth;
-	int iSmCaptionHeight;
-	LOGFONTA lfSmCaptionFont;
-	int iMenuWidth;
-	int iMenuHeight;
-	LOGFONTA lfMenuFont;
-	LOGFONTA lfStatusFont;
-	LOGFONTA lfMessageFont;
-} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
-typedef struct tagNONCLIENTMETRICSW {
-	UINT cbSize;
-	int iBorderWidth;
-	int iScrollWidth;
-	int iScrollHeight;
-	int iCaptionWidth;
-	int iCaptionHeight;
-	LOGFONTW lfCaptionFont;
-	int iSmCaptionWidth;
-	int iSmCaptionHeight;
-	LOGFONTW lfSmCaptionFont;
-	int iMenuWidth;
-	int iMenuHeight;
-	LOGFONTW lfMenuFont;
-	LOGFONTW lfStatusFont;
-	LOGFONTW lfMessageFont;
-} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
-#endif
-typedef struct tagSERIALKEYSA {
-	UINT cbSize;
-	DWORD dwFlags;
-	LPSTR lpszActivePort;
-	LPSTR lpszPort;
-	UINT iBaudRate;
-	UINT iPortState;
-	UINT iActive;
-} SERIALKEYSA,*LPSERIALKEYSA;
-typedef struct tagSERIALKEYSW {
-	UINT cbSize;
-	DWORD dwFlags;
-	LPWSTR lpszActivePort;
-	LPWSTR lpszPort;
-	UINT iBaudRate;
-	UINT iPortState;
-	UINT iActive;
-} SERIALKEYSW,*LPSERIALKEYSW;
-typedef struct tagSOUNDSENTRYA {
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iFSTextEffect;
-	DWORD iFSTextEffectMSec;
-	DWORD iFSTextEffectColorBits;
-	DWORD iFSGrafEffect;
-	DWORD iFSGrafEffectMSec;
-	DWORD iFSGrafEffectColor;
-	DWORD iWindowsEffect;
-	DWORD iWindowsEffectMSec;
-	LPSTR lpszWindowsEffectDLL;
-	DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYA,*LPSOUNDSENTRYA;
-typedef struct tagSOUNDSENTRYW {
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iFSTextEffect;
-	DWORD iFSTextEffectMSec;
-	DWORD iFSTextEffectColorBits;
-	DWORD iFSGrafEffect;
-	DWORD iFSGrafEffectMSec;
-	DWORD iFSGrafEffectColor;
-	DWORD iWindowsEffect;
-	DWORD iWindowsEffectMSec;
-	LPWSTR lpszWindowsEffectDLL;
-	DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYW,*LPSOUNDSENTRYW;
-typedef struct tagSTICKYKEYS {
-	DWORD cbSize;
-	DWORD dwFlags;
-} STICKYKEYS,*LPSTICKYKEYS;
-typedef struct tagTOGGLEKEYS {
-	DWORD cbSize;
-	DWORD dwFlags;
-} TOGGLEKEYS;
-typedef struct tagMOUSEHOOKSTRUCT {
-	POINT pt;
-	HWND hwnd;
-	UINT wHitTestCode;
-	DWORD dwExtraInfo;
-} MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
-typedef struct tagTRACKMOUSEEVENT {
-	DWORD cbSize;
-	DWORD dwFlags;
-	HWND  hwndTrack;
-	DWORD dwHoverTime;
-} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
-typedef struct tagTPMPARAMS {
-	UINT cbSize;
-	RECT rcExclude;
-} TPMPARAMS,*LPTPMPARAMS;
-typedef struct tagEVENTMSG {
-	UINT message;
-	UINT paramL;
-	UINT paramH;
-	DWORD time;
-	HWND hwnd;
-} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG,*PEVENTMSG,*LPEVENTMSG;
-typedef struct _WINDOWPOS {
-	HWND hwnd;
-	HWND hwndInsertAfter;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	UINT flags;
-} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
-typedef struct tagNCCALCSIZE_PARAMS {
-	RECT rgrc[3];
-	PWINDOWPOS lppos;
-} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
-typedef struct tagMDICREATESTRUCTA {
-	LPCSTR szClass;
-	LPCSTR szTitle;
-	HANDLE hOwner;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	DWORD style;
-	LPARAM lParam;
-} MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
-typedef struct tagMDICREATESTRUCTW {
-	LPCWSTR szClass;
-	LPCWSTR szTitle;
-	HANDLE hOwner;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	DWORD style;
-	LPARAM lParam;
-} MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
-typedef struct tagMINMAXINFO {
-	POINT ptReserved;
-	POINT ptMaxSize;
-	POINT ptMaxPosition;
-	POINT ptMinTrackSize;
-	POINT ptMaxTrackSize;
-} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
-typedef struct tagMDINEXTMENU {
-	HMENU hmenuIn;
-	HMENU hmenuNext;
-	HWND hwndNext;
-} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
-typedef struct tagMEASUREITEMSTRUCT {
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	UINT itemWidth;
-	UINT itemHeight;
-	DWORD itemData;
-} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
-typedef struct tagDROPSTRUCT {
-	HWND hwndSource;
-	HWND hwndSink;
-	DWORD wFmt;
-	DWORD dwData;
-	POINT ptDrop;
-	DWORD dwControlData;
-} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
-typedef DWORD HELPPOLY;
-typedef struct tagMULTIKEYHELPA {
-	DWORD mkSize;
-	CHAR mkKeylist;
-	CHAR szKeyphrase[1];
-} MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
-typedef struct tagMULTIKEYHELPW {
-	DWORD mkSize;
-	WCHAR mkKeylist;
-	WCHAR szKeyphrase[1];
-} MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
-typedef struct tagHELPWININFOA {
-	int wStructSize;
-	int x;
-	int y;
-	int dx;
-	int dy;
-	int wMax;
-	CHAR rgchMember[2];
-} HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
-typedef struct tagHELPWININFOW {
-	int wStructSize;
-	int x;
-	int y;
-	int dx;
-	int dy;
-	int wMax;
-	WCHAR rgchMember[2];
-} HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
-typedef struct tagSTYLESTRUCT {
-	DWORD styleOld;
-	DWORD styleNew;
-} STYLESTRUCT,*LPSTYLESTRUCT;
-typedef struct tagALTTABINFO {
-	DWORD cbSize;
-	int   cItems;
-	int   cColumns;
-	int   cRows;
-	int   iColFocus;
-	int   iRowFocus;
-	int   cxItem;
-	int   cyItem;
-	POINT ptStart;
-} ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
-typedef struct tagCOMBOBOXINFO {
-	DWORD cbSize;
-	RECT rcItem;
-	RECT rcButton;
-	DWORD stateButton;
-	HWND hwndCombo;
-	HWND hwndItem;
-	HWND hwndList;
-} COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
-typedef struct tagCURSORINFO {
-	DWORD cbSize;
-	DWORD flags;
-	HCURSOR hCursor;
-	POINT ptScreenPos;
-} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
-typedef struct tagMENUBARINFO {
-	DWORD cbSize;
-	RECT  rcBar;
-	HMENU hMenu;
-	HWND  hwndMenu;
-	BOOL  fBarFocused:1;
-	BOOL  fFocused:1;
-} MENUBARINFO,*PMENUBARINFO;
-typedef struct tagMENUINFO {
-	DWORD cbSize;
-	DWORD fMask;
-	DWORD dwStyle;
-	UINT cyMax;
-	HBRUSH  hbrBack;
-	DWORD   dwContextHelpID;
-	ULONG_PTR dwMenuData;
-} MENUINFO,*LPMENUINFO;
-typedef MENUINFO CONST *LPCMENUINFO;
-#define CCHILDREN_SCROLLBAR 5
-typedef struct tagSCROLLBARINFO {
-	DWORD cbSize;
-	RECT  rcScrollBar;
-	int   dxyLineButton;
-	int   xyThumbTop;
-	int   xyThumbBottom;
-	int   reserved;
-	DWORD rgstate[CCHILDREN_SCROLLBAR+1];
-} SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
-#if (_WIN32_WINDOWS >= 0x0410)
-#define CCHILDREN_TITLEBAR 5
-typedef struct tagTITLEBARINFO {
-	DWORD cbSize;
-	RECT  rcTitleBar;
-	DWORD rgstate[CCHILDREN_TITLEBAR+1];
-} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
-#endif
-typedef struct tagWINDOWINFO {
-	DWORD cbSize;
-	RECT  rcWindow;
-	RECT  rcClient;
-	DWORD dwStyle;
-	DWORD dwExStyle;
-	DWORD dwWindowStatus;
-	UINT  cxWindowBorders;
-	UINT  cyWindowBorders;
-	ATOM  atomWindowType;
-	WORD  wCreatorVersion;
-} WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
-typedef struct tagLASTINPUTINFO {
-	UINT cbSize;
-	DWORD dwTime;
-} LASTINPUTINFO,*PLASTINPUTINFO;
-typedef struct tagMONITORINFO {
-	DWORD cbSize;
-	RECT rcMonitor;
-	RECT rcWork;
-	DWORD dwFlags;
-} MONITORINFO,*LPMONITORINFO;
-#define CCHDEVICENAME 32
-#ifdef __cplusplus
-typedef struct tagMONITORINFOEXA : public tagMONITORINFO
-{
-    CHAR    szDevice[CCHDEVICENAME];
-} MONITORINFOEXA, *LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW : public tagMONITORINFO
-{
-    WCHAR   szDevice[CCHDEVICENAME];
-} MONITORINFOEXW, *LPMONITORINFOEXW;
-#else
-typedef struct tagMONITORINFOEXA {
-	DWORD	cbSize;
-	RECT	rcMonitor;
-	RECT	rcWork;
-	DWORD	dwFlags;
-	CHAR	szDevice[CCHDEVICENAME];
-} MONITORINFOEXA,*LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW {
-	DWORD	cbSize;
-	RECT	rcMonitor;
-	RECT	rcWork;
-	DWORD	dwFlags;
-	WCHAR	szDevice[CCHDEVICENAME];
-} MONITORINFOEXW,*LPMONITORINFOEXW;
-#endif /* __cplusplus */
-typedef struct tagKBDLLHOOKSTRUCT {
-	DWORD vkCode;
-	DWORD scanCode;
-	DWORD flags;
-	DWORD time;
-	DWORD dwExtraInfo;
-} KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef struct {
-  UINT  cbSize;
-  HWND  hwnd;
-  DWORD dwFlags;
-  UINT  uCount;
-  DWORD dwTimeout;
-} FLASHWINFO,*PFLASHWINFO;
-#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-typedef struct tagMOUSEMOVEPOINT {
-  int x;
-  int y;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
-#endif
-#if (_WIN32_WINNT >= 0x0403)
-typedef struct tagMOUSEINPUT {
-  LONG dx;
-  LONG dy;
-  DWORD mouseData;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
-  WORD wVk;
-  WORD wScan;
-  DWORD dwFlags;
-  DWORD time;
-  ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
-  DWORD uMsg;
-  WORD wParamL;
-  WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
-  DWORD type;
-  _ANONYMOUS_UNION union {
-		MOUSEINPUT mi;
-		KEYBDINPUT ki;
-		HARDWAREINPUT hi;
-  } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (_WIN32_WINNT >= 0x0601)
-typedef struct _TOUCHINPUT {
-  LONG x;
-  LONG y;
-  HANDLE hSource;
-  DWORD dwID;
-  DWORD dwFlags;
-  DWORD dwMask;
-  DWORD dwTime;
-  ULONG_PTR dwExtraInfo;
-  DWORD cxContact;
-  DWORD cyContact;
-} TOUCHINPUT,
- *PTOUCHINPUT;
-#endif /* (_WIN32_WINNT >= 0x0601) */
-#if (WINVER >= 0x0500)
-typedef struct tagGUITHREADINFO {
-	DWORD cbSize;
-	DWORD flags;
-	HWND hwndActive;
-	HWND hwndFocus;
-	HWND hwndCapture;
-	HWND hwndMenuOwner;
-	HWND hwndMoveSize;
-	HWND hwndCaret;
-	RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
-	UINT  cbSize;
-	HDESK hdesk;
-	HWND  hwnd;
-	LUID  luid;
-} BSMINFO,*PBSMINFO;
-DECLARE_HANDLE(HRAWINPUT);
-typedef struct tagRAWINPUTHEADER {
-	DWORD dwType;
-	DWORD dwSize;
-	HANDLE hDevice;
-	WPARAM wParam;
-} RAWINPUTHEADER,*PRAWINPUTHEADER;
-typedef struct tagRAWMOUSE {
-	USHORT usFlags;
-	_ANONYMOUS_UNION union {
-		ULONG ulButtons;
-		_ANONYMOUS_STRUCT struct {
-			USHORT usButtonFlags;
-			USHORT usButtonData;
-		};
-	};
-	ULONG ulRawButtons;
-	LONG lLastX;
-	LONG lLastY;
-	ULONG ulExtraInformation;
-} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
-typedef struct tagRAWKEYBOARD {
-	USHORT MakeCode;
-	USHORT Flags;
-	USHORT Reserved;
-	USHORT VKey;
-	UINT Message;
-	ULONG ExtraInformation;
-} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
-typedef struct tagRAWHID {
-	DWORD dwSizeHid;
-	DWORD dwCount;
-	BYTE bRawData;
-} RAWHID,*PRAWHID,*LPRAWHID;
-typedef struct tagRAWINPUT {
-	RAWINPUTHEADER header;
-	union {
-		RAWMOUSE    mouse;
-		RAWKEYBOARD keyboard;
-		RAWHID      hid;
-	} data;
-} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
-typedef struct tagRAWINPUTDEVICE {
-	USHORT usUsagePage;
-	USHORT usUsage;
-	DWORD dwFlags;
-	HWND hwndTarget;
-} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
-typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
-typedef struct tagRAWINPUTDEVICELIST {
-	HANDLE hDevice;
-	DWORD dwType;
-} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
-typedef struct tagRID_DEVICE_INFO_MOUSE {
-	DWORD dwId;
-	DWORD dwNumberOfButtons;
-	DWORD dwSampleRate;
-	BOOL fHasHorizontalWheel;
-} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
-typedef struct tagRID_DEVICE_INFO_KEYBOARD {
-	DWORD dwType;
-	DWORD dwSubType;
-	DWORD dwKeyboardMode;
-	DWORD dwNumberOfFunctionKeys;
-	DWORD dwNumberOfIndicators;
-	DWORD dwNumberOfKeysTotal;
-} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
-typedef struct tagRID_DEVICE_INFO_HID {
-	DWORD dwVendorId;
-	DWORD dwProductId;
-	DWORD dwVersionNumber;
-	USHORT usUsagePage;
-	USHORT usUsage;
-} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
-typedef struct tagRID_DEVICE_INFO {
-	DWORD    cbSize;
-	DWORD    dwType;
-	_ANONYMOUS_UNION union {
-		RID_DEVICE_INFO_MOUSE     mouse;
-		RID_DEVICE_INFO_KEYBOARD  keyboard;
-		RID_DEVICE_INFO_HID       hid;
-	} DUMMYUNIONNAME;
-} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-typedef struct {
-	POINT pt;
-	DWORD mouseData;
-	DWORD flags;
-	DWORD time;
-	ULONG_PTR dwExtraInfo;
-} MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
-
-#define AnsiToOem CharToOemA
-#define OemToAnsi OemToCharA
-#define AnsiToOemBuff CharToOemBuffA
-#define OemToAnsiBuff OemToCharBuffA
-#define AnsiUpper CharUpperA
-#define AnsiUpperBuff CharUpperBuffA
-#define AnsiLower CharLowerA
-#define AnsiLowerBuff CharLowerBuffA
-#define AnsiNext CharNextA
-#define AnsiPrev CharPrevA
-#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h))
-#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h))
-#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h))
-#define POINTSTOPOINT(p,ps) { \
-  (p).x=LOWORD(*(DWORD *)&ps); \
-  (p).y=HIWORD(*(DWORD *)&ps); \
-}
-#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y))
-
-#ifndef _LPCGUID_DEFINED
-#define _LPCGUID_DEFINED
-typedef const GUID *LPCGUID;
-#endif
-
-#if (_WIN32_WINNT >= 0x0600)
-typedef HANDLE HPOWERNOTIFY;
-
-typedef struct {
-	GUID PowerSetting;
-	DWORD DataLength;
-	UCHAR Data[1];
-} POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
-
-extern const GUID GUID_POWERSCHEME_PERSONALITY;
-extern const GUID GUID_MIN_POWER_SAVINGS;
-extern const GUID GUID_MAX_POWER_SAVINGS;
-extern const GUID GUID_TYPICAL_POWER_SAVINGS;
-extern const GUID GUID_ACDC_POWER_SOURCE;
-extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
-extern const GUID GUID_IDLE_BACKGROUND_TASK;
-extern const GUID GUID_SYSTEM_AWAYMODE;
-extern const GUID GUID_MONITOR_POWER_ON;
-#endif
-
-WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
-WINUSERAPI BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
-WINUSERAPI BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI AnyPopup(void);
-WINUSERAPI BOOL WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
-WINUSERAPI BOOL WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
-WINUSERAPI UINT WINAPI ArrangeIconicWindows(HWND);
-WINUSERAPI BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
-WINUSERAPI HDWP WINAPI BeginDeferWindowPos(int);
-WINUSERAPI HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
-WINUSERAPI BOOL WINAPI BringWindowToTop(HWND);
-WINUSERAPI long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0400)
-WINUSERAPI long WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-#endif /* (_WIN32_WINNT >= 0x0501) */
-WINUSERAPI BOOL WINAPI CallMsgFilterA(LPMSG,INT);
-WINUSERAPI BOOL WINAPI CallMsgFilterW(LPMSG,INT);
-WINUSERAPI LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
-WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND);
-#ifndef NOGDI
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
-#endif
-WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
-WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
-WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharNextA(LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharNextW(LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharUpperA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI CheckDlgButton(HWND,int,UINT);
-WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckRadioButton(HWND,int,int,int);
-WINUSERAPI HWND WINAPI ChildWindowFromPoint(HWND,POINT);
-WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
-WINUSERAPI BOOL WINAPI ClientToScreen(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ClipCursor(LPCRECT);
-WINUSERAPI BOOL WINAPI CloseClipboard(void);
-WINUSERAPI BOOL WINAPI CloseDesktop(HDESK);
-WINUSERAPI BOOL WINAPI CloseWindow(HWND);
-WINUSERAPI BOOL WINAPI CloseWindowStation(HWINSTA);
-WINUSERAPI int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int);
-WINUSERAPI int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int);
-#define CopyCursor(c) ((HCURSOR)CopyIcon((HICON)(c)))
-WINUSERAPI HICON WINAPI CopyIcon(HICON);
-WINUSERAPI HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT);
-WINUSERAPI BOOL WINAPI CopyRect(LPRECT,LPCRECT);
-WINUSERAPI int WINAPI CountClipboardFormats(void);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int);
-WINUSERAPI BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int);
-WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
-#ifndef NOGDI
-WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
-#endif
-#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
-#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
-#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
-#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*);
-WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
-WINUSERAPI HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
-WINUSERAPI HICON WINAPI CreateIconIndirect(PICONINFO);
-WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HMENU WINAPI CreateMenu(void);
-WINUSERAPI HMENU WINAPI CreatePopupMenu(void);
-#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k)
-#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k)
-WINUSERAPI HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
-#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
-WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
-#endif
-WINUSERAPI LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI DeregisterShellHookWindow(HWND);
-WINUSERAPI BOOL WINAPI DestroyAcceleratorTable(HACCEL);
-WINUSERAPI BOOL WINAPI DestroyCaret(void);
-WINUSERAPI BOOL WINAPI DestroyCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI DestroyIcon(HICON);
-WINUSERAPI BOOL WINAPI DestroyMenu(HMENU);
-WINUSERAPI BOOL WINAPI DestroyWindow(HWND);
-#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0)
-#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0)
-#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0)
-#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
-WINUSERAPI int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-#ifdef _WIN32_WCE
-extern int DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-extern int DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-#else
-WINUSERAPI int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-#endif
-WINUSERAPI LONG WINAPI DispatchMessageA(const MSG*);
-WINUSERAPI LONG WINAPI DispatchMessageW(const MSG*);
-WINUSERAPI int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DragDetect(HWND,POINT);
-WINUSERAPI DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
-WINUSERAPI BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT);
-WINUSERAPI BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawFocusRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawIcon(HDC,int,int,HICON);
-WINUSERAPI BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT);
-WINUSERAPI BOOL WINAPI DrawMenuBar(HWND);
-WINUSERAPI BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-WINUSERAPI BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-WINUSERAPI int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI BOOL WINAPI EmptyClipboard(void);
-WINUSERAPI BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableScrollBar(HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableWindow(HWND,BOOL);
-WINUSERAPI BOOL WINAPI EndDeferWindowPos(HDWP);
-WINUSERAPI BOOL WINAPI EndDialog(HWND,int);
-WINUSERAPI BOOL WINAPI EndMenu(void);
-WINUSERAPI BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI EndTask(HWND,BOOL,BOOL);
-#endif
-WINUSERAPI BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT);
-WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
-#ifndef NOGDI
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD);
-#endif
-WINUSERAPI int WINAPI EnumPropsA(HWND,PROPENUMPROCA);
-WINUSERAPI int WINAPI EnumPropsW(HWND,PROPENUMPROCW);
-WINUSERAPI int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
-WINUSERAPI int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
-#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p)
-WINUSERAPI BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EqualRect(LPCRECT,LPCRECT);
-#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
-WINUSERAPI BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-WINUSERAPI HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
-WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
-WINUSERAPI BOOL WINAPI FlashWindow(HWND,BOOL);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI FlashWindowEx(PFLASHWINFO);
-#endif
-int WINAPI FrameRect(HDC,LPCRECT,HBRUSH);
-WINUSERAPI BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int);
-WINUSERAPI HWND WINAPI GetActiveWindow(void);
-WINUSERAPI HWND WINAPI GetAncestor(HWND,UINT);
-WINUSERAPI SHORT WINAPI GetAsyncKeyState(int);
-WINUSERAPI HWND WINAPI GetCapture(void);
-WINUSERAPI UINT WINAPI GetCaretBlinkTime(void);
-WINUSERAPI BOOL WINAPI GetCaretPos(LPPOINT);
-WINUSERAPI BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,LPWNDCLASSA);
-WINUSERAPI BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,LPWNDCLASSEXA);
-WINUSERAPI BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
-WINUSERAPI BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
-WINUSERAPI DWORD WINAPI GetClassLongA(HWND,int);
-WINUSERAPI DWORD WINAPI GetClassLongW(HWND,int);
-#ifdef _WIN64
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND,int);
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND,int);
-#else
-#define GetClassLongPtrA GetClassLongA
-#define GetClassLongPtrW GetClassLongW
-#endif
-WINUSERAPI int WINAPI GetClassNameA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetClassNameW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetClassWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetClientRect(HWND,LPRECT);
-WINUSERAPI HANDLE WINAPI GetClipboardData(UINT);
-WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int);
-WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int);
-WINUSERAPI HWND WINAPI GetClipboardOwner(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(void);
-#endif
-HWND WINAPI GetClipboardViewer(void);
-WINUSERAPI BOOL WINAPI GetClipCursor(LPRECT);
-WINUSERAPI BOOL WINAPI GetCursorPos(LPPOINT);
-WINUSERAPI HDC WINAPI GetDC(HWND);
-WINUSERAPI HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
-WINUSERAPI HWND WINAPI GetDesktopWindow(void);
-WINUSERAPI long WINAPI GetDialogBaseUnits(void);
-WINUSERAPI int WINAPI GetDlgCtrlID(HWND);
-WINUSERAPI HWND WINAPI GetDlgItem(HWND,int);
-WINUSERAPI UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL);
-WINUSERAPI UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int);
-WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int);
-WINUSERAPI UINT WINAPI GetDoubleClickTime(void);
-WINUSERAPI HWND WINAPI GetFocus(void);
-WINUSERAPI HWND WINAPI GetForegroundWindow(void);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI GetIconInfo(HICON,PICONINFO);
-WINUSERAPI BOOL WINAPI GetInputState(void);
-WINUSERAPI UINT WINAPI GetKBCodePage(void);
-WINUSERAPI HKL WINAPI GetKeyboardLayout(DWORD);
-WINUSERAPI UINT WINAPI GetKeyboardLayoutList(int,HKL*);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameA(LPSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardState(PBYTE);
-WINUSERAPI int WINAPI GetKeyboardType(int);
-WINUSERAPI int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
-WINUSERAPI int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
-WINUSERAPI SHORT WINAPI GetKeyState(int);
-WINUSERAPI HWND WINAPI GetLastActivePopup(HWND);
-WINUSERAPI HMENU WINAPI GetMenu(HWND);
-WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(void);
-WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
-WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuItemCount(HMENU);
-WINUSERAPI UINT WINAPI GetMenuItemID(HMENU,int);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW);
-WINUSERAPI BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
-WINUSERAPI UINT WINAPI GetMenuState(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT);
-WINUSERAPI int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT);
-WINUSERAPI BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
-WINUSERAPI LONG WINAPI GetMessageExtraInfo(void);
-WINUSERAPI DWORD WINAPI GetMessagePos(void);
-WINUSERAPI LONG WINAPI GetMessageTime(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT,LPMOUSEMOVEPOINT,LPMOUSEMOVEPOINT,int,DWORD);
-#endif
-WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
-WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
-#define GetNextWindow(h,c) GetWindow(h,c)
-WINUSERAPI HWND WINAPI GetOpenClipboardWindow(void);
-WINUSERAPI HWND WINAPI GetParent(HWND);
-WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT*,int);
-WINUSERAPI HANDLE WINAPI GetPropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI GetPropW(HWND,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT);
-#endif
-WINUSERAPI DWORD WINAPI GetQueueStatus(UINT);
-WINUSERAPI BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO);
-WINUSERAPI int WINAPI GetScrollPos(HWND,int);
-WINUSERAPI BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI HWND WINAPI GetShellWindow(void);
-#endif
-WINUSERAPI HMENU WINAPI GetSubMenu(HMENU,int);
-WINUSERAPI DWORD WINAPI GetSysColor(int);
-WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int);
-#define GetSysModalWindow() (NULL)
-WINUSERAPI HMENU WINAPI GetSystemMenu(HWND,BOOL);
-WINUSERAPI int WINAPI GetSystemMetrics(int);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
-WINUSERAPI LONG WINAPI GetWindowLongA(HWND,int);
-WINUSERAPI LONG WINAPI GetWindowLongW(HWND,int);
-#ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND,int);
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
-#else
-#define GetWindowLongPtrA GetWindowLongA
-#define GetWindowLongPtrW GetWindowLongW
-#endif
-WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD);
-WINUSERAPI HWND WINAPI GetTopWindow(HWND);
-WINUSERAPI BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
-WINUSERAPI int WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINUSERAPI HWND WINAPI GetWindow(HWND,UINT);
-WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
-WINUSERAPI HDC WINAPI GetWindowDC(HWND);
-WINUSERAPI BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI GetWindowRect(HWND,LPRECT);
-WINUSERAPI int WINAPI GetWindowRgn(HWND,HRGN);
-#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-WINUSERAPI int WINAPI GetWindowTextA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetWindowTextLengthA(HWND);
-WINUSERAPI int WINAPI GetWindowTextLengthW(HWND);
-WINUSERAPI int WINAPI GetWindowTextW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetWindowWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
-WINUSERAPI BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
-WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-#endif
-WINUSERAPI BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
-WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND);
-WINUSERAPI BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
-WINUSERAPI BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
-#endif
-WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
-#if (_WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
-#endif
-WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI HideCaret(HWND);
-WINUSERAPI BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI InflateRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI InSendMessage(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
-#endif
-WINUSERAPI BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-WINUSERAPI BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
-WINUSERAPI BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
-WINUSERAPI BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI InvertRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI IsCharAlphaA(CHAR ch);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperW(WCHAR);
-WINUSERAPI BOOL WINAPI IsChild(HWND,HWND);
-WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable(UINT);
-WINUSERAPI BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
-WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND,int);
-#if(_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
-#endif
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
-#endif
-WINUSERAPI BOOL WINAPI IsIconic(HWND);
-WINUSERAPI BOOL WINAPI IsMenu(HMENU);
-WINUSERAPI BOOL WINAPI IsRectEmpty(LPCRECT);
-WINUSERAPI BOOL WINAPI IsWindow(HWND);
-WINUSERAPI BOOL WINAPI IsWindowEnabled(HWND);
-WINUSERAPI BOOL WINAPI IsWindowUnicode(HWND);
-WINUSERAPI BOOL WINAPI IsWindowVisible(HWND);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD);
-#endif
-WINUSERAPI BOOL WINAPI IsZoomed(HWND);
-WINUSERAPI VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
-WINUSERAPI BOOL WINAPI KillTimer(HWND,UINT);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
-WINUSERAPI HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
-WINUSERAPI HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
-WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT);
-WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
-WINUSERAPI HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
-WINUSERAPI int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int);
-WINUSERAPI int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int);
-WINUSERAPI BOOL WINAPI LockWindowUpdate(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI LockWorkStation(void);
-#endif
-WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL);
-WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
-WINUSERAPI BOOL WINAPI MapDialogRect(HWND,LPRECT);
-WINUSERAPI UINT WINAPI MapVirtualKeyA(UINT,UINT);
-WINUSERAPI UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyW(UINT,UINT);
-WINUSERAPI int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
-WINUSERAPI int WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
-WINUSERAPI BOOL WINAPI MessageBeep(UINT);
-WINUSERAPI int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA*);
-WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW*);
-WINUSERAPI BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
-#endif
-WINUSERAPI void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,ULONG_PTR);
-WINUSERAPI BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
-#if (WINVER >= 0x0500)
-WINUSERAPI void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-#endif
-WINUSERAPI DWORD WINAPI OemKeyScan(WORD);
-WINUSERAPI BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
-WINUSERAPI BOOL WINAPI OffsetRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI OpenClipboard(HWND);
-WINUSERAPI HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD);
-WINUSERAPI HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI OpenIcon(HWND);
-WINUSERAPI HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI PaintDesktop(HDC);
-WINUSERAPI BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
-#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l)
-#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l)
-WINUSERAPI BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI void WINAPI PostQuitMessage(int);
-WINUSERAPI BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI PrintWindow(HWND,HDC,UINT);
-#endif
-WINUSERAPI BOOL WINAPI PtInRect(LPCRECT,POINT);
-WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND,POINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT);
-WINUSERAPI ATOM WINAPI RegisterClassA(CONST WNDCLASSA*);
-WINUSERAPI ATOM WINAPI RegisterClassW(CONST WNDCLASSW*);
-WINUSERAPI ATOM WINAPI RegisterClassExA(CONST WNDCLASSEXA*);
-WINUSERAPI ATOM WINAPI RegisterClassExW(CONST WNDCLASSEXW*);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
-#endif
-WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR);
-WINUSERAPI BOOL WINAPI ReleaseCapture(void);
-WINUSERAPI int WINAPI ReleaseDC(HWND,HDC);
-WINUSERAPI BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
-WINUSERAPI HANDLE WINAPI RemovePropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
-WINUSERAPI BOOL WINAPI ReplyMessage(LRESULT);
-WINUSERAPI BOOL WINAPI ScreenToClient(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT);
-WINUSERAPI BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
-WINUSERAPI int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
-WINUSERAPI LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
-WINUSERAPI LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0403)
-WINUSERAPI UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
-WINUSERAPI LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
-WINUSERAPI LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HWND WINAPI SetActiveWindow(HWND);
-WINUSERAPI HWND WINAPI SetCapture(HWND hWnd);
-WINUSERAPI BOOL WINAPI SetCaretBlinkTime(UINT);
-WINUSERAPI BOOL WINAPI SetCaretPos(int,int);
-WINUSERAPI DWORD WINAPI SetClassLongA(HWND,int,LONG);
-WINUSERAPI DWORD WINAPI SetClassLongW(HWND,int,LONG);
-#ifdef _WIN64
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND,int,LONG_PTR);
-#else
-#define SetClassLongPtrA SetClassLongA
-#define SetClassLongPtrW SetClassLongW
-#endif
-WINUSERAPI WORD WINAPI SetClassWord(HWND,int,WORD);
-WINUSERAPI HANDLE WINAPI SetClipboardData(UINT,HANDLE);
-WINUSERAPI HWND WINAPI SetClipboardViewer(HWND);
-WINUSERAPI HCURSOR WINAPI SetCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI SetCursorPos(int,int);
-WINUSERAPI VOID WINAPI SetDebugErrorLevel(DWORD);
-WINUSERAPI BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL);
-WINUSERAPI BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR);
-WINUSERAPI BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR);
-WINUSERAPI BOOL WINAPI SetDoubleClickTime(UINT);
-WINUSERAPI HWND WINAPI SetFocus(HWND);
-WINUSERAPI BOOL WINAPI SetForegroundWindow(HWND);
-WINUSERAPI BOOL WINAPI SetKeyboardState(PBYTE);
-WINUSERAPI BOOL WINAPI SetMenu(HWND,HMENU);
-WINUSERAPI BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
-WINUSERAPI BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
-WINUSERAPI BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM);
-WINUSERAPI BOOL WINAPI SetMessageQueue(int);
-WINUSERAPI HWND WINAPI SetParent(HWND,HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SetProcessWindowStation(HWINSTA);
-WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetRect(LPRECT,int,int,int,int);
-WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT);
-WINUSERAPI int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL);
-WINUSERAPI int WINAPI SetScrollPos(HWND,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *);
-#define SetSysModalWindow(h) (NULL)
-WINUSERAPI BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
-WINUSERAPI BOOL WINAPI SetThreadDesktop(HDESK);
-WINUSERAPI UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-#endif
-WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
-WINUSERAPI LONG WINAPI SetWindowLongA(HWND,int,LONG);
-WINUSERAPI LONG WINAPI SetWindowLongW(HWND,int,LONG);
-#ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
-#else
-#define SetWindowLongPtrA SetWindowLongA
-#define SetWindowLongPtrW SetWindowLongW
-#endif
-WINUSERAPI BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-WINUSERAPI HHOOK WINAPI SetWindowsHookA(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookW(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
-WINUSERAPI BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
-WINUSERAPI WORD WINAPI SetWindowWord(HWND,int,WORD);
-WINUSERAPI BOOL WINAPI ShowCaret(HWND);
-WINUSERAPI int WINAPI ShowCursor(BOOL);
-WINUSERAPI BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
-WINUSERAPI BOOL WINAPI ShowScrollBar(HWND,int,BOOL);
-WINUSERAPI BOOL WINAPI ShowWindow(HWND,int);
-WINUSERAPI BOOL WINAPI ShowWindowAsync(HWND,int);
-WINUSERAPI BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI SwapMouseButton(BOOL);
-WINUSERAPI BOOL WINAPI SwitchDesktop(HDESK);
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND,BOOL);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT);
-WINUSERAPI BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT);
-WINUSERAPI LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
-WINUSERAPI LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int);
-WINUSERAPI WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *);
-WINUSERAPI int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT);
-WINUSERAPI int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL);
-WINUSERAPI int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
-WINUSERAPI int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL);
-WINUSERAPI BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
-WINUSERAPI BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
-WINUSERAPI int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
-WINUSERAPI int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMessage(const MSG*);
-WINUSERAPI BOOL WINAPI UnhookWindowsHook(int,HOOKPROC);
-WINUSERAPI BOOL WINAPI UnhookWindowsHookEx(HHOOK);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif
-WINUSERAPI BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI UnloadKeyboardLayout(HKL);
-WINUSERAPI BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
-WINUSERAPI BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0600)
-WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
-#endif
-WINUSERAPI BOOL WINAPI UnregisterHotKey(HWND,int);
-WINUSERAPI BOOL WINAPI UpdateWindow(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);
-#endif
-WINUSERAPI BOOL WINAPI ValidateRect(HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI ValidateRgn(HWND,HRGN);
-WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR);
-WINUSERAPI SHORT WINAPI VkKeyScanExA(CHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanExW(WCHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanW(WCHAR);
-WINUSERAPI DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
-WINUSERAPI BOOL WINAPI WaitMessage(void);
-WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC);
-WINUSERAPI HWND WINAPI WindowFromPoint(POINT);
-WINUSERAPI UINT WINAPI WinExec(LPCSTR,UINT);
-WINUSERAPI BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
-WINUSERAPI BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
-WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
-WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
-WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
-WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
-WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
-#ifndef NOGDI
-WINUSERAPI BOOL WINAPI UpdateLayeredWindow(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
-#endif
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-BOOL WINAPI CloseTouchInputHandle(HANDLE hTouchInput);
-BOOL WINAPI GetTouchInputInfo(HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
-BOOL WINAPI IsTouchWindow(HWND hWnd, PULONG pulFlags);
-BOOL WINAPI RegisterTouchWindow(HWND hWnd, ULONG ulFlags);
-BOOL WINAPI UnregisterTouchWindow(HWND hWnd);
-#endif
-
-#ifdef UNICODE
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
-#define WINSTAENUMPROC WINSTAENUMPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define MAKEINTRESOURCE MAKEINTRESOURCEW
-typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuW
-#define BroadcastSystemMessage BroadcastSystemMessageW
-#define BroadcastSystemMessageEx BroadcastSystemMessageExW
-#define CallMsgFilter CallMsgFilterW
-#define CallWindowProc CallWindowProcW
-#define ChangeMenu ChangeMenuW
-#define CharLower CharLowerW
-#define CharLowerBuff CharLowerBuffW
-#define CharNext CharNextW
-#define CharPrev CharPrevW
-#define CharToOem CharToOemW
-#define CharToOemBuff CharToOemBuffW
-#define CharUpper CharUpperW
-#define CharUpperBuff CharUpperBuffW
-#define CopyAcceleratorTable CopyAcceleratorTableW
-#define CreateAcceleratorTable CreateAcceleratorTableW
-#define CreateDialog CreateDialogW
-#define CreateDialogIndirect CreateDialogIndirectW
-#define CreateDialogIndirectParam CreateDialogIndirectParamW
-#define CreateDialogParam CreateDialogParamW
-#define CreateMDIWindow CreateMDIWindowW
-#define CreateWindow CreateWindowW
-#define CreateWindowEx CreateWindowExW
-#define CreateWindowStation CreateWindowStationW
-#define DefDlgProc DefDlgProcW
-#define DefFrameProc DefFrameProcW
-#define DefMDIChildProc DefMDIChildProcW
-#define DefWindowProc DefWindowProcW
-#define DialogBox DialogBoxW
-#define DialogBoxIndirect DialogBoxIndirectW
-#define DialogBoxIndirectParam DialogBoxIndirectParamW
-#define DialogBoxParam DialogBoxParamW
-#define DispatchMessage DispatchMessageW
-#define DlgDirList DlgDirListW
-#define DlgDirListComboBox DlgDirListComboBoxW
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
-#define DlgDirSelectEx DlgDirSelectExW
-#define DrawState DrawStateW
-#define DrawText DrawTextW
-#define DrawTextEx DrawTextExW
-#define EnumDesktops EnumDesktopsW
-#define EnumProps EnumPropsW
-#define EnumPropsEx EnumPropsExW
-#define EnumWindowStations EnumWindowStationsW
-#define FindWindow FindWindowW
-#define FindWindowEx FindWindowExW
-#define GetClassInfo GetClassInfoW
-#define GetClassInfoEx GetClassInfoExW
-#define GetClassLong GetClassLongW
-#define GetClassLongPtr GetClassLongPtrW
-#define GetClassName GetClassNameW
-#define GetClipboardFormatName GetClipboardFormatNameW
-#define GetDlgItemText GetDlgItemTextW
-#define GetKeyboardLayoutName GetKeyboardLayoutNameW
-#define GetKeyNameText GetKeyNameTextW
-#define GetMenuItemInfo GetMenuItemInfoW
-#define GetMenuString GetMenuStringW
-#define GetMessage GetMessageW
-#define GetMonitorInfo GetMonitorInfoW
-#define GetProp GetPropW
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoW
-#define GetTabbedTextExtent GetTabbedTextExtentW
-#define GetUserObjectInformation GetUserObjectInformationW
-#define GetWindowLong GetWindowLongW
-#define GetWindowLongPtr GetWindowLongPtrW
-#define GetWindowText GetWindowTextW
-#define GetWindowTextLength GetWindowTextLengthW
-#define GetAltTabInfo GetAltTabInfoW
-#define GetWindowModuleFileName GetWindowModuleFileNameW
-#define GrayString GrayStringW
-#define InsertMenu InsertMenuW
-#define InsertMenuItem InsertMenuItemW
-#define IsCharAlpha IsCharAlphaW
-#define IsCharAlphaNumeric IsCharAlphaNumericW
-#define IsCharLower IsCharLowerW
-#define IsCharUpper IsCharUpperW
-#define IsDialogMessage IsDialogMessageW
-#define LoadAccelerators LoadAcceleratorsW
-#define LoadBitmap LoadBitmapW
-#define LoadCursor LoadCursorW
-#define LoadCursorFromFile LoadCursorFromFileW
-#define LoadIcon LoadIconW
-#define LoadImage LoadImageW
-#define LoadKeyboardLayout LoadKeyboardLayoutW
-#define LoadMenu LoadMenuW
-#define LoadMenuIndirect LoadMenuIndirectW
-#define LoadString LoadStringW
-#define MapVirtualKey MapVirtualKeyW
-#define MapVirtualKeyEx MapVirtualKeyExW
-#define MessageBox MessageBoxW
-#define MessageBoxEx MessageBoxExW
-#define MessageBoxIndirect MessageBoxIndirectW
-#define ModifyMenu ModifyMenuW
-#define OemToChar OemToCharW
-#define OemToCharBuff OemToCharBuffW
-#define OpenDesktop OpenDesktopW
-#define OpenWindowStation OpenWindowStationW
-#define PeekMessage PeekMessageW
-#define PostAppMessage PostAppMessageW
-#define PostMessage PostMessageW
-#define PostThreadMessage PostThreadMessageW
-#define RealGetWindowClass RealGetWindowClassW
-#define RegisterClass RegisterClassW
-#define RegisterClassEx RegisterClassExW
-#define RegisterClipboardFormat RegisterClipboardFormatW
-#define RegisterDeviceNotification RegisterDeviceNotificationW
-#define RegisterWindowMessage RegisterWindowMessageW
-#define RemoveProp RemovePropW
-#define SendDlgItemMessage SendDlgItemMessageW
-#define SendMessage SendMessageW
-#define SendMessageCallback SendMessageCallbackW
-#define SendMessageTimeout SendMessageTimeoutW
-#define SendNotifyMessage SendNotifyMessageW
-#define SetClassLong SetClassLongW
-#define SetClassLongPtr SetClassLongPtrW
-#define SetDlgItemText SetDlgItemTextW
-#define SetMenuItemInfo SetMenuItemInfoW
-#define SetProp SetPropW
-#define SetUserObjectInformation SetUserObjectInformationW
-#define SetWindowLong SetWindowLongW
-#define SetWindowLongPtr SetWindowLongPtrW
-#define SetWindowsHook SetWindowsHookW
-#define SetWindowsHookEx SetWindowsHookExW
-#define SetWindowText SetWindowTextW
-#define SystemParametersInfo SystemParametersInfoW
-#define TabbedTextOut TabbedTextOutW
-#define TranslateAccelerator TranslateAcceleratorW
-#define UnregisterClass UnregisterClassW
-#define VkKeyScan VkKeyScanW
-#define VkKeyScanEx VkKeyScanExW
-#define WinHelp WinHelpW
-#define wsprintf wsprintfW
-#define wvsprintf wvsprintfW
-#ifndef NOGDI
-typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsW
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
-#define CreateDesktop CreateDesktopW
-#define EnumDisplaySettings EnumDisplaySettingsW
-#define EnumDisplaySettingsEx EnumDisplaySettingsExW
-#define EnumDisplayDevices EnumDisplayDevicesW
-#endif /* NOGDI */
-#else /* UNICODE */
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
-#define WINSTAENUMPROC WINSTAENUMPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define MAKEINTRESOURCE MAKEINTRESOURCEA
-typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
-typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuA
-#define BroadcastSystemMessage BroadcastSystemMessageA
-#define BroadcastSystemMessageEx BroadcastSystemMessageExA
-#define CallMsgFilter CallMsgFilterA
-#define CallWindowProc CallWindowProcA
-#define ChangeMenu ChangeMenuA
-#define CharLower CharLowerA
-#define CharLowerBuff CharLowerBuffA
-#define CharNext CharNextA
-#define CharPrev CharPrevA
-#define CharToOem CharToOemA
-#define CharToOemBuff CharToOemBuffA
-#define CharUpper CharUpperA
-#define CharUpperBuff CharUpperBuffA
-#define CopyAcceleratorTable CopyAcceleratorTableA
-#define CreateAcceleratorTable CreateAcceleratorTableA
-#define CreateDialog CreateDialogA
-#define CreateDialogIndirect CreateDialogIndirectA
-#define CreateDialogIndirectParam CreateDialogIndirectParamA
-#define CreateDialogParam CreateDialogParamA
-#define CreateMDIWindow CreateMDIWindowA
-#define CreateWindow CreateWindowA
-#define CreateWindowEx CreateWindowExA
-#define CreateWindowStation CreateWindowStationA
-#define DefDlgProc DefDlgProcA
-#define DefFrameProc DefFrameProcA
-#define DefMDIChildProc DefMDIChildProcA
-#define DefWindowProc DefWindowProcA
-#define DialogBox DialogBoxA
-#define DialogBoxIndirect DialogBoxIndirectA
-#define DialogBoxIndirectParam DialogBoxIndirectParamA
-#define DialogBoxParam DialogBoxParamA
-#define DispatchMessage DispatchMessageA
-#define DlgDirList DlgDirListA
-#define DlgDirListComboBox DlgDirListComboBoxA
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
-#define DlgDirSelectEx DlgDirSelectExA
-#define DrawState DrawStateA
-#define DrawText DrawTextA
-#define DrawTextEx DrawTextExA
-#define EnumDesktops EnumDesktopsA
-#define EnumProps EnumPropsA
-#define EnumPropsEx EnumPropsExA
-#define EnumWindowStations EnumWindowStationsA
-#define FindWindow FindWindowA
-#define FindWindowEx FindWindowExA
-#define GetClassInfo GetClassInfoA
-#define GetClassInfoEx GetClassInfoExA
-#define GetClassLong GetClassLongA
-#define GetClassLongPtr GetClassLongPtrA
-#define GetClassName GetClassNameA
-#define GetClipboardFormatName GetClipboardFormatNameA
-#define GetDlgItemText GetDlgItemTextA
-#define GetKeyboardLayoutName GetKeyboardLayoutNameA
-#define GetKeyNameText GetKeyNameTextA
-#define GetMenuItemInfo GetMenuItemInfoA
-#define GetMenuString GetMenuStringA
-#define GetMessage GetMessageA
-#define GetMonitorInfo GetMonitorInfoA
-#define GetProp GetPropA
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoA
-#define GetTabbedTextExtent GetTabbedTextExtentA
-#define GetUserObjectInformation GetUserObjectInformationA
-#define GetWindowLong GetWindowLongA
-#define GetWindowLongPtr GetWindowLongPtrA
-#define GetWindowText GetWindowTextA
-#define GetWindowTextLength GetWindowTextLengthA
-#define GetAltTabInfo GetAltTabInfoA
-#define GetWindowModuleFileName GetWindowModuleFileNameA
-#define GrayString GrayStringA
-#define InsertMenu InsertMenuA
-#define InsertMenuItem InsertMenuItemA
-#define IsCharAlpha IsCharAlphaA
-#define IsCharAlphaNumeric IsCharAlphaNumericA
-#define IsCharLower IsCharLowerA
-#define IsCharUpper IsCharUpperA
-#define IsDialogMessage IsDialogMessageA
-#define LoadAccelerators LoadAcceleratorsA
-#define LoadBitmap LoadBitmapA
-#define LoadCursor LoadCursorA
-#define LoadIcon LoadIconA
-#define LoadCursorFromFile LoadCursorFromFileA
-#define LoadImage LoadImageA
-#define LoadKeyboardLayout LoadKeyboardLayoutA
-#define LoadMenu LoadMenuA
-#define LoadMenuIndirect LoadMenuIndirectA
-#define LoadString LoadStringA
-#define MapVirtualKey MapVirtualKeyA
-#define MapVirtualKeyEx MapVirtualKeyExA
-#define MessageBox MessageBoxA
-#define MessageBoxEx MessageBoxExA
-#define MessageBoxIndirect MessageBoxIndirectA
-#define ModifyMenu ModifyMenuA
-#define OemToChar OemToCharA
-#define OemToCharBuff OemToCharBuffA
-#define OpenDesktop OpenDesktopA
-#define OpenWindowStation OpenWindowStationA
-#define PeekMessage PeekMessageA
-#define PostAppMessage PostAppMessageA
-#define PostMessage PostMessageA
-#define PostThreadMessage PostThreadMessageA
-#define RealGetWindowClass RealGetWindowClassA
-#define RegisterClass RegisterClassA
-#define RegisterClassEx RegisterClassExA
-#define RegisterClipboardFormat RegisterClipboardFormatA
-#define RegisterDeviceNotification RegisterDeviceNotificationA
-#define RegisterWindowMessage RegisterWindowMessageA
-#define RemoveProp RemovePropA
-#define SendDlgItemMessage SendDlgItemMessageA
-#define SendMessage SendMessageA
-#define SendMessageCallback SendMessageCallbackA
-#define SendMessageTimeout SendMessageTimeoutA
-#define SendNotifyMessage SendNotifyMessageA
-#define SetClassLong SetClassLongA
-#define SetClassLongPtr SetClassLongPtrA
-#define SetDlgItemText SetDlgItemTextA
-#define SetMenuItemInfo SetMenuItemInfoA
-#define SetProp SetPropA
-#define SetUserObjectInformation SetUserObjectInformationA
-#define SetWindowLong SetWindowLongA
-#define SetWindowLongPtr SetWindowLongPtrA
-#define SetWindowsHook SetWindowsHookA
-#define SetWindowsHookEx SetWindowsHookExA
-#define SetWindowText SetWindowTextA
-#define SystemParametersInfo SystemParametersInfoA
-#define TabbedTextOut TabbedTextOutA
-#define TranslateAccelerator TranslateAcceleratorA
-#define UnregisterClass UnregisterClassA
-#define VkKeyScan VkKeyScanA
-#define VkKeyScanEx VkKeyScanExA
-#define WinHelp WinHelpA
-#define wsprintf wsprintfA
-#define wvsprintf wvsprintfA
-#ifndef NOGDI
-typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsA
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
-#define CreateDesktop CreateDesktopA
-#define EnumDisplaySettings EnumDisplaySettingsA
-#define EnumDisplaySettingsEx EnumDisplaySettingsExA
-#define EnumDisplayDevices EnumDisplayDevicesA
-#endif /* NOGDI */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/winver.h
===================================================================
--- Daodan/MinGW/include/winver.h	(revision 1046)
+++ 	(revision )
@@ -1,202 +1,0 @@
-/*
- * winver.h
- *
- * Declarations supporting the API for retrieval of version informatation
- * from a PE-COFF file's associated version resources.
- *
- * $Id: winver.h,v 9f500a353390 2016/06/03 22:05:03 keithmarshall $
- *
- * Written by Anders Norlander <anorland@hem2.passagen.se>
- * Copyright (C) 1998, 1999, 2002, 2006, 2009, 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 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.
- *
- */
-#ifndef _WINVER_H
-#define _WINVER_H
-#pragma GCC system_header
-
-#define VS_FILE_INFO		RT_VERSION
-#define VS_VERSION_INFO 		 1
-#define VS_USER_DEFINED 	       100
-#define VS_FFI_SIGNATURE	0xFEEF04BD
-#define VS_FFI_STRUCVERSION	   0x10000
-#define VS_FFI_FILEFLAGSMASK	      0x3F
-#define VS_FF_DEBUG			 1
-#define VS_FF_PRERELEASE		 2
-#define VS_FF_PATCHED			 4
-#define VS_FF_PRIVATEBUILD		 8
-#define VS_FF_INFOINFERRED		16
-#define VS_FF_SPECIALBUILD		32
-#define VOS_UNKNOWN			 0
-#define VOS_DOS 		   0x10000
-#define VOS_OS216		   0x20000
-#define VOS_OS232		   0x30000
-#define VOS_NT			   0x40000
-#define VOS__BASE			 0
-#define VOS__WINDOWS16			 1
-#define VOS__PM16			 2
-#define VOS__PM32			 3
-#define VOS__WINDOWS32			 4
-#define VOS_DOS_WINDOWS16	   0x10001
-#define VOS_DOS_WINDOWS32	   0x10004
-#define VOS_OS216_PM16		   0x20002
-#define VOS_OS232_PM32		   0x30003
-#define VOS_NT_WINDOWS32	   0x40004
-#define VFT_UNKNOWN			 0
-#define VFT_APP 			 1
-#define VFT_DLL 			 2
-#define VFT_DRV 			 3
-#define VFT_FONT			 4
-#define VFT_VXD 			 5
-#define VFT_STATIC_LIB			 7
-#define VFT2_UNKNOWN			 0
-#define VFT2_DRV_PRINTER		 1
-#define VFT2_DRV_KEYBOARD		 2
-#define VFT2_DRV_LANGUAGE		 3
-#define VFT2_DRV_DISPLAY		 4
-#define VFT2_DRV_MOUSE			 5
-#define VFT2_DRV_NETWORK		 6
-#define VFT2_DRV_SYSTEM 		 7
-#define VFT2_DRV_INSTALLABLE		 8
-#define VFT2_DRV_SOUND			 9
-#define VFT2_DRV_COMM			10
-#define VFT2_DRV_INPUTMETHOD		11
-#define VFT2_FONT_RASTER		 1
-#define VFT2_FONT_VECTOR		 2
-#define VFT2_FONT_TRUETYPE		 3
-#define VFFF_ISSHAREDFILE		 1
-#define VFF_CURNEDEST			 1
-#define VFF_FILEINUSE			 2
-#define VFF_BUFFTOOSMALL		 4
-#define VIFF_FORCEINSTALL		 1
-#define VIFF_DONTDELETEOLD		 2
-#define VIF_TEMPFILE			 1
-#define VIF_MISMATCH			 2
-#define VIF_SRCOLD			 4
-#define VIF_DIFFLANG			 8
-#define VIF_DIFFCODEPG			16
-#define VIF_DIFFTYPE			32
-#define VIF_WRITEPROT			64
-#define VIF_FILEINUSE		       128
-#define VIF_OUTOFSPACE		       256
-#define VIF_ACCESSVIOLATION	       512
-#define VIF_SHARINGVIOLATION	      1024
-#define VIF_CANNOTCREATE	      2048
-#define VIF_CANNOTDELETE	      4096
-#define VIF_CANNOTRENAME	      8192
-#define VIF_CANNOTDELETECUR	     16384
-#define VIF_OUTOFMEMORY 	     32768
-#define VIF_CANNOTREADSRC	     65536
-#define VIF_CANNOTREADDST	   0x20000
-#define VIF_BUFFTOOSMALL	   0x40000
-
-#ifndef RC_INVOKED
-
-_BEGIN_C_DECLS
-
-typedef
-struct tagVS_FIXEDFILEINFO {
-  DWORD dwSignature;
-  DWORD dwStrucVersion;
-  DWORD dwFileVersionMS;
-  DWORD dwFileVersionLS;
-  DWORD dwProductVersionMS;
-  DWORD dwProductVersionLS;
-  DWORD dwFileFlagsMask;
-  DWORD dwFileFlags;
-  DWORD dwFileOS;
-  DWORD dwFileType;
-  DWORD dwFileSubtype;
-  DWORD dwFileDateMS;
-  DWORD dwFileDateLS;
-} VS_FIXEDFILEINFO;
-
-/* The following functions are each provided with prototype variants
- * supporting strings in ANSI or UTF-16LE encodings, distinguised by
- * the "A" suffix in the ANSI case, or the "W" suffix for UTF-16LE.
- * Each pair is associated with a single generic function name, which
- * is mapped to the appropriate prototype by the __AW_SUFFIXED__ macro,
- * according to the defined state of the UNICODE macro; representation
- * of the generic name becomes the ANSI prototype when UNICODE is NOT
- * defined, or the UTF-16LE prototype when UNICODE is defined.
- */
-#define VerFindFile __AW_SUFFIXED__( VerFindFile )
-DWORD WINAPI VerFindFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT );
-DWORD WINAPI VerFindFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT );
-
-#define VerInstallFile __AW_SUFFIXED__( VerInstallFile )
-DWORD WINAPI VerInstallFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT );
-DWORD WINAPI VerInstallFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT );
-
-#define GetFileVersionInfoSize __AW_SUFFIXED__( GetFileVersionInfoSize )
-DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR, PDWORD );
-DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR, PDWORD );
-
-#define GetFileVersionInfo __AW_SUFFIXED__( GetFileVersionInfo )
-BOOL WINAPI GetFileVersionInfoA( LPCSTR, DWORD, DWORD, PVOID );
-BOOL WINAPI GetFileVersionInfoW( LPCWSTR, DWORD, DWORD, PVOID );
-
-#if NTDDI_VERSION >= NTDDI_VISTA
-/* Windows-Vista added extended variants of the preceding two functions,
- * each taking one additional DWORD flags argument, (in first position).
- *
- * WARNING: Although documented as supported by Windows-Vista and later,
- * the ANSI variants of these two functions appear to be unsupported in
- * VERSION.DLL, prior to Windows-8.  If using these functions, you are
- * advised to use a LoadLibrary/GetProcAddress (or dlopen/dlsym) probe,
- * to confirm availability of the API entry points within VERSION.DLL
- * on the run-time host.
- */
-#define GetFileVersionInfoEx __AW_SUFFIXED__( GetFileVersionInfoEx )
-#define GetFileVersionInfoSizeEx __AW_SUFFIXED__( GetFileVersionInfoSizeEx )
-#if NTDDI_VERSION >= NTDDI_WIN8
-DWORD WINAPI GetFileVersionInfoSizeExA( DWORD, LPCSTR, PDWORD );
-BOOL WINAPI GetFileVersionInfoExA( DWORD, LPCSTR, DWORD, DWORD, PVOID );
-#endif
-DWORD WINAPI GetFileVersionInfoSizeExW( DWORD, LPCWSTR, PDWORD );
-BOOL WINAPI GetFileVersionInfoExW( DWORD, LPCWSTR, DWORD, DWORD, PVOID );
-
-/* Values permitted for the flags in each of these functions; these may be
- * combined by logically adding them together (using the OR operator).
- */
-#define FILE_VER_GET_LOCALISED	      0x01
-#define FILE_VER_GET_NEUTRAL	      0x02
-/*
- * ...and an additional one, for the GetFileVersionInfoEx() function
- * only; (must be combined with the value derived from the preceding
- * pair, as used in a prior call to GetFileVersionInfoSizeEx()).
- */
-#define FILE_VER_GET_PREFETCHED       0x04
-#endif
-
-#define VerLanguageName __AW_SUFFIXED__( VerLanguageName )
-DWORD WINAPI VerLanguageNameA( DWORD, LPSTR, DWORD );
-DWORD WINAPI VerLanguageNameW( DWORD, LPWSTR, DWORD );
-
-#define VerQueryValue __AW_SUFFIXED__( VerQueryValue )
-BOOL WINAPI VerQueryValueA( LPCVOID, LPCSTR, LPVOID *, PUINT );
-BOOL WINAPI VerQueryValueW( LPCVOID, LPCWSTR, LPVOID *, PUINT );
-
-_END_C_DECLS
-
-#endif /* ! defined RC_INVOKED */
-#endif /* ! defined _WINVER_H: $RCSfile: winver.h,v $: end of file */
Index: Daodan/MinGW/include/ws2spi.h
===================================================================
--- Daodan/MinGW/include/ws2spi.h	(revision 1046)
+++ 	(revision )
@@ -1,202 +1,0 @@
-/*
- * ws2spi.h
- *
- * Winsock 2 Service Provider Interface.
- *
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _WS2SPI_H
-#define _WS2SPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <winsock2.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define WSPAPI WSAAPI
-#define WSPDESCRIPTION_LEN 255
-
-#ifndef RC_INVOKED
-
-typedef struct WSPData {
-	WORD wVersion;
-	WORD wHighVersion;
-	WCHAR szDescription[WSPDESCRIPTION_LEN+1];
-} WSPDATA, FAR *LPWSPDATA;
-typedef struct _WSATHREADID {
-	HANDLE ThreadHandle;
-	DWORD Reserved;
-} WSATHREADID, FAR *LPWSATHREADID;
-
-typedef BOOL (CALLBACK FAR *LPBLOCKINGCALLBACK)(DWORD);
-typedef VOID (CALLBACK FAR *LPWSAUSERAPC)(DWORD);
-
-/* Prototypes for service provider procedure table */
-typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET,LPSOCKADDR,LPINT,LPCONDITIONPROC,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPASYNCSELECT)(SOCKET,HWND,UINT,LONG,LPINT);
-typedef INT (WSPAPI *LPWSPBIND)(SOCKET,const struct sockaddr*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT);
-typedef INT (WSPAPI *LPWSPCLEANUP)(LPINT);
-typedef INT (WSPAPI *LPWSPCLOSESOCKET)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWSPCONNECT)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET,DWORD,LPWSAPROTOCOL_INFOW,LPINT);
-typedef INT (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS,LPINT);
-typedef INT (WSPAPI *LPWSPEVENTSELECT)(SOCKET,WSAEVENT,LONG,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPGETPEERNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET,LPWSABUF,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKOPT)(SOCKET,INT,INT,CHAR FAR*,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,
-	     LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPLISTEN)(SOCKET,INT,LPINT);
-typedef INT (WSPAPI *LPWSPRECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPRECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPSOCKADDR,
-LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSELECT)(INT,LPFD_SET,LPFD_SET,LPFD_SET,CONST TIMEVAL*,LPINT);
-typedef INT (WSPAPI *LPWSPSEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPSENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct sockaddr*,
-	     INT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSETSOCKOPT)(SOCKET,INT,INT,CONST CHAR FAR*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPSHUTDOWN)(SOCKET,INT,LPINT);
-typedef SOCKET (WSPAPI *LPWSPSOCKET)(INT,INT,INT,LPWSAPROTOCOL_INFOW,GROUP,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR,INT,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPINT,LPINT);
-
-/* Service provider procedure table */
-typedef struct _WSPPROC_TABLE {
-  LPWSPACCEPT lpWSPAccept;
-  LPWSPADDRESSTOSTRING lpWSPAddressToString;
-  LPWSPASYNCSELECT lpWSPAsyncSelect;
-  LPWSPBIND lpWSPBind;
-  LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
-  LPWSPCLEANUP lpWSPCleanup;
-  LPWSPCLOSESOCKET lpWSPCloseSocket;
-  LPWSPCONNECT lpWSPConnect;
-  LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
-  LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
-  LPWSPEVENTSELECT lpWSPEventSelect;
-  LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
-  LPWSPGETPEERNAME lpWSPGetPeerName;
-  LPWSPGETSOCKNAME lpWSPGetSockName;
-  LPWSPGETSOCKOPT lpWSPGetSockOpt;
-  LPWSPGETQOSBYNAME lpWSPGetQOSByName;
-  LPWSPIOCTL lpWSPIoctl;
-  LPWSPJOINLEAF lpWSPJoinLeaf;
-  LPWSPLISTEN lpWSPListen;
-  LPWSPRECV lpWSPRecv;
-  LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
-  LPWSPRECVFROM lpWSPRecvFrom;
-  LPWSPSELECT lpWSPSelect;
-  LPWSPSEND lpWSPSend;
-  LPWSPSENDDISCONNECT lpWSPSendDisconnect;
-  LPWSPSENDTO lpWSPSendTo;
-  LPWSPSETSOCKOPT lpWSPSetSockOpt;
-  LPWSPSHUTDOWN lpWSPShutdown;
-  LPWSPSOCKET lpWSPSocket;
-  LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
-} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
-
-/* Prototypes for service provider upcall procedure table */
-typedef BOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID,LPINT);
-typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT);
-typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD,DWORD,LPINT);
-typedef SOCKET (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
-typedef INT (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID,LPWSTR,LPINT,LPINT);
-typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD,SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID,LPINT);
-typedef BOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND,UINT,WPARAM,LPARAM);
-typedef INT (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD,LPBLOCKINGCALLBACK FAR*,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID,LPWSAUSERAPC,DWORD,LPINT);
-typedef BOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT,LPINT);
-typedef BOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT,LPINT);
-/* Available only directly from the DLL */
-typedef INT (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-
-/* Service Provider upcall table */
-typedef struct _WSPUPCALLTABLE {
-	LPWPUCLOSEEVENT lpWPUCloseEvent;
-	LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
-	LPWPUCREATEEVENT lpWPUCreateEvent;
-	LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
-	LPWPUFDISSET lpWPUFDIsSet;
-	LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
-	LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
-	LPWPUPOSTMESSAGE lpWPUPostMessage;
-	LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
-	LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
-	LPWPUQUEUEAPC lpWPUQueueApc;
-	LPWPURESETEVENT lpWPUResetEvent;
-	LPWPUSETEVENT lpWPUSetEvent;
-	LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
-	LPWPUCLOSETHREAD lpWPUCloseThread;
-} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
-
-typedef INT (WSPAPI *LPWSPSTARTUP)(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-
-/* Prototypes for service provider namespace procedure table */
-typedef INT (WSPAPI *LPNSPCLEANUP)(LPGUID);
-typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSET);
-typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
-typedef INT (WSPAPI *LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
-
-typedef struct _NSP_ROUTINE {
-  DWORD cbSize;
-  DWORD dwMajorVersion;
-  DWORD dwMinorVersion;
-  LPNSPCLEANUP NSPCleanup;
-  LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
-  LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
-  LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
-  LPNSPSETSERVICE NSPSetService;
-  LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
-  LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
-  LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
-} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
-
-INT WSPAPI NSPStartup(LPGUID,LPNSP_ROUTINE);
-
-/* WinSock 2 DLL function prototypes */
-INT WSPAPI WPUCompleteOverlappedRequest(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-INT WSPAPI WSPStartup(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-INT WSPAPI WSCDeinstallProvider(LPGUID,LPINT);
-INT WSPAPI WSCEnumProtocols(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD,LPINT);
-INT WSPAPI WSCGetProviderPath(LPGUID,LPWSTR,LPINT,LPINT);
-INT WSPAPI WSCInstallProvider(CONST LPGUID,CONST LPWSTR,CONST LPWSAPROTOCOL_INFOW,DWORD,LPINT);
-INT WSPAPI WSCEnableNSProvider(LPGUID,BOOL);
-INT WSPAPI WSCInstallNameSpace(LPWSTR,LPWSTR,DWORD,DWORD,LPGUID);
-INT WSPAPI WSCUnInstallNameSpace(LPGUID);
-INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif
Index: Daodan/MinGW/include/ws2tcpip.h
===================================================================
--- Daodan/MinGW/include/ws2tcpip.h	(revision 1046)
+++ 	(revision )
@@ -1,379 +1,0 @@
-/*
- *  ws2tcpip.h : TCP/IP specific extensions in Windows Sockets 2
- *
- * Portions Copyright (c) 1980, 1983, 1988, 1993
- * The Regents of the University of California.  All rights reserved.
- *
- */
-
-#ifndef _WS2TCPIP_H
-#define _WS2TCPIP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if (defined _WINSOCK_H && !defined _WINSOCK2_H)
-#error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
-#endif
-
-#include <winsock2.h>
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-/*
- * The IP_* macros are also defined in winsock.h, but some values are different there.
- * The values defined in winsock.h for 1.1 and used in wsock32.dll are consistent
- * with the original values Steve Deering defined in his document "IP Multicast Extensions
- * for 4.3BSD UNIX related systems (MULTICAST 1.2 Release)." However, these conflicted with
- * the definitions for some IPPROTO_IP level socket options already assigned by BSD,
- * so Berkeley changed all the values by adding 7.  WinSock2 (ws2_32.dll)  uses
- * the BSD 4.4 compatible values defined here.
- *
- * See also: msdn kb article Q257460
- * http://support.microsoft.com/support/kb/articles/Q257/4/60.asp
- */
-
-/* This is also defined in winsock.h; value hasn't changed */
-#define	IP_OPTIONS  1
-
-#define	IP_HDRINCL  2
-/*
- * These are also be defined in winsock.h,
- * but values have changed for WinSock2 interface
- */
-#define IP_TOS			3   /* old (winsock 1.1) value 8 */
-#define IP_TTL			4   /* old value 7 */
-#define IP_MULTICAST_IF		9   /* old value 2 */
-#define IP_MULTICAST_TTL	10  /* old value 3 */
-#define IP_MULTICAST_LOOP	11  /* old value 4 */
-#define IP_ADD_MEMBERSHIP	12  /* old value 5 */
-#define IP_DROP_MEMBERSHIP	13  /* old value 6 */
-#define IP_DONTFRAGMENT		14  /* old value 9 */
-#define IP_ADD_SOURCE_MEMBERSHIP	15
-#define IP_DROP_SOURCE_MEMBERSHIP	16
-#define IP_BLOCK_SOURCE			17
-#define IP_UNBLOCK_SOURCE		18
-#define IP_PKTINFO			19
-
-/*
- * As with BSD implementation, IPPROTO_IPV6 level socket options have
- * same values as IPv4 counterparts.
- */
-#define IPV6_UNICAST_HOPS	4
-#define IPV6_MULTICAST_IF	9
-#define IPV6_MULTICAST_HOPS	10
-#define IPV6_MULTICAST_LOOP	11
-#define IPV6_ADD_MEMBERSHIP	12
-#define IPV6_DROP_MEMBERSHIP	13
-#define IPV6_JOIN_GROUP		IPV6_ADD_MEMBERSHIP
-#define IPV6_LEAVE_GROUP	IPV6_DROP_MEMBERSHIP
-#define IPV6_PKTINFO		19
-
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-#define IP_MAX_MEMBERSHIPS 20
-
-#define TCP_EXPEDITED_1122  2
-
-#define UDP_NOCHECKSUM 1
-
-/* INTERFACE_INFO iiFlags */
-#define IFF_UP  1
-#define IFF_BROADCAST   2
-#define IFF_LOOPBACK    4
-#define IFF_POINTTOPOINT    8
-#define IFF_MULTICAST   16
-
-#define SIO_GET_INTERFACE_LIST  _IOR('t', 127, u_long)
-
-#define INET_ADDRSTRLEN  16
-#define INET6_ADDRSTRLEN 46
-
-/* getnameinfo constants */
-#define NI_MAXHOST	1025
-#define NI_MAXSERV	32
-
-#define NI_NOFQDN 	0x01
-#define NI_NUMERICHOST	0x02
-#define NI_NAMEREQD	0x04
-#define NI_NUMERICSERV	0x08
-#define NI_DGRAM	0x10
-
-/* getaddrinfo constants */
-#define AI_PASSIVE	1
-#define AI_CANONNAME	2
-#define AI_NUMERICHOST	4
-
-/* getaddrinfo error codes */
-#define EAI_AGAIN	WSATRY_AGAIN
-#define EAI_BADFLAGS	WSAEINVAL
-#define EAI_FAIL	WSANO_RECOVERY
-#define EAI_FAMILY	WSAEAFNOSUPPORT
-#define EAI_MEMORY	WSA_NOT_ENOUGH_MEMORY
-#define EAI_NODATA	WSANO_DATA
-#define EAI_NONAME	WSAHOST_NOT_FOUND
-#define EAI_SERVICE	WSATYPE_NOT_FOUND
-#define EAI_SOCKTYPE	WSAESOCKTNOSUPPORT
-
-/*
- *   ip_mreq also in winsock.h for WinSock1.1,
- *   but online msdn docs say it is defined here for WinSock2.
- */
-
-struct ip_mreq {
-	struct in_addr	imr_multiaddr;
-	struct in_addr	imr_interface;
-};
-
-struct ip_mreq_source {
-	struct in_addr	imr_multiaddr;
-	struct in_addr	imr_sourceaddr;
-	struct in_addr	imr_interface;
-};
-
-struct ip_msfilter {
-	struct in_addr	imsf_multiaddr;
-	struct in_addr	imsf_interface;
-	u_long		imsf_fmode;
-	u_long		imsf_numsrc;
-	struct in_addr	imsf_slist[1];
-};
-
-#define IP_MSFILTER_SIZE(numsrc) \
-   (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \
-   + (numsrc) * sizeof(struct in_addr))
-
-struct in_pktinfo {
-	IN_ADDR ipi_addr;
-	UINT    ipi_ifindex;
-};
-typedef struct in_pktinfo IN_PKTINFO;
-
-
-/* ipv6 */
-/* These require XP or .NET Server or use of add-on IPv6 stacks on NT 4
-  or higher */
-
-/* This is based on the example given in RFC 2553 with stdint types
-   changed to BSD types.  For now, use these  field names until there
-   is some consistency in MS docs. In this file, we only use the
-   in6_addr structure start address, with casts to get the right offsets
-   when testing addresses */
-
-struct in6_addr {
-    union {
-        u_char	_S6_u8[16];
-        u_short	_S6_u16[8];
-        u_long	_S6_u32[4];
-        } _S6_un;
-};
-/* s6_addr is the standard name */
-#define s6_addr		_S6_un._S6_u8
-
-/* These are GLIBC names */
-#define s6_addr16	_S6_un._S6_u16
-#define s6_addr32	_S6_un._S6_u32
-
-/* These are used in some MS code */
-#define in_addr6	in6_addr
-#define _s6_bytes	_S6_un._S6_u8
-#define _s6_words	_S6_un._S6_u16
-
-typedef struct in6_addr IN6_ADDR,  *PIN6_ADDR, *LPIN6_ADDR;
-
-struct sockaddr_in6 {
-	short sin6_family;	/* AF_INET6 */
-	u_short sin6_port; 	/* transport layer port # */
-	u_long sin6_flowinfo;	/* IPv6 traffic class & flow info */
-	struct in6_addr sin6_addr;  /* IPv6 address */
-	u_long sin6_scope_id;	/* set of interfaces for a scope */
-};
-typedef struct sockaddr_in6 SOCKADDR_IN6, *PSOCKADDR_IN6, *LPSOCKADDR_IN6;
-
-extern const struct in6_addr in6addr_any;
-extern const struct in6_addr in6addr_loopback;
-/* the above can get initialised using: */
-#define IN6ADDR_ANY_INIT        { 0 }
-#define IN6ADDR_LOOPBACK_INIT   { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
-
-/* Described in RFC 2292, but not in 2553 */
-/* int IN6_ARE_ADDR_EQUAL(const struct in6_addr * a, const struct in6_addr * b) */
-#define IN6_ARE_ADDR_EQUAL(a, b)	\
-    (memcmp ((void*)(a), (void*)(b), sizeof (struct in6_addr)) == 0)
-
-
-/* Address Testing Macros
-
- These macro functions all take const struct in6_addr* as arg.
- Static inlines would allow type checking, but RFC 2553 says they
- macros.
- NB: These are written specifically for little endian host */
-
-#define IN6_IS_ADDR_UNSPECIFIED(_addr) \
-	(   (((const u_long *)(_addr))[0] == 0)	\
-	 && (((const u_long *)(_addr))[1] == 0)	\
-	 && (((const u_long *)(_addr))[2] == 0)	\
-	 && (((const u_long *)(_addr))[3] == 0))
-
-#define IN6_IS_ADDR_LOOPBACK(_addr) \
-	(   (((const u_long *)(_addr))[0] == 0)	\
-	 && (((const u_long *)(_addr))[1] == 0)	\
-	 && (((const u_long *)(_addr))[2] == 0)	\
-	 && (((const u_long *)(_addr))[3] == 0x01000000)) /* Note byte order reversed */
-/*	    (((const u_long *)(_addr))[3] == ntohl(1))  */
-
-#define IN6_IS_ADDR_MULTICAST(_addr) (((const u_char *) (_addr))[0] == 0xff)
-
-#define IN6_IS_ADDR_LINKLOCAL(_addr) \
-	(   (((const u_char *)(_addr))[0] == 0xfe)	\
-	 && ((((const u_char *)(_addr))[1] & 0xc0) == 0x80))
-
-#define IN6_IS_ADDR_SITELOCAL(_addr) \
-	(   (((const u_char *)(_addr))[0] == 0xfe)	\
-	 && ((((const u_char *)(_addr))[1] & 0xc0) == 0xc0))
-
-#define IN6_IS_ADDR_V4MAPPED(_addr) \
-	(   (((const u_long *)(_addr))[0] == 0)		\
-	 && (((const u_long *)(_addr))[1] == 0)		\
-	 && (((const u_long *)(_addr))[2] == 0xffff0000)) /* Note byte order reversed */
-/* 	    (((const u_long *)(_addr))[2] == ntohl(0x0000ffff))) */
-
-#define IN6_IS_ADDR_V4COMPAT(_addr) \
-	(   (((const u_long *)(_addr))[0] == 0)		\
-	 && (((const u_long *)(_addr))[1] == 0)		\
-	 && (((const u_long *)(_addr))[2] == 0)		\
-	 && (((const u_long *)(_addr))[3] != 0)		\
-	 && (((const u_long *)(_addr))[3] != 0x01000000)) /* Note byte order reversed */
-/*           (ntohl (((const u_long *)(_addr))[3]) > 1 ) */
-
-
-#define IN6_IS_ADDR_MC_NODELOCAL(_addr)	\
-	(   IN6_IS_ADDR_MULTICAST(_addr)		\
-	 && ((((const u_char *)(_addr))[1] & 0xf) == 0x1))
-
-#define IN6_IS_ADDR_MC_LINKLOCAL(_addr)	\
-	(   IN6_IS_ADDR_MULTICAST (_addr)		\
-	 && ((((const u_char *)(_addr))[1] & 0xf) == 0x2))
-
-#define IN6_IS_ADDR_MC_SITELOCAL(_addr)	\
-	(   IN6_IS_ADDR_MULTICAST(_addr)		\
-	 && ((((const u_char *)(_addr))[1] & 0xf) == 0x5))
-
-#define IN6_IS_ADDR_MC_ORGLOCAL(_addr)	\
-	(   IN6_IS_ADDR_MULTICAST(_addr)		\
-	 && ((((const u_char *)(_addr))[1] & 0xf) == 0x8))
-
-#define IN6_IS_ADDR_MC_GLOBAL(_addr)	\
-	(   IN6_IS_ADDR_MULTICAST(_addr)	\
-	 && ((((const u_char *)(_addr))[1] & 0xf) == 0xe))
-
-
-typedef int socklen_t;
-
-struct ipv6_mreq {
-	struct in6_addr ipv6mr_multiaddr;
-	unsigned int    ipv6mr_interface;
-};
-typedef struct ipv6_mreq IPV6_MREQ;
-
-struct in6_pktinfo {
-	IN6_ADDR ipi6_addr;
-	UINT     ipi6_ifindex;
-};
-typedef struct  in6_pktinfo IN6_PKTINFO;
-
-struct addrinfo {
-	int     ai_flags;
-	int     ai_family;
-	int     ai_socktype;
-	int     ai_protocol;
-	size_t  ai_addrlen;
-	char   *ai_canonname;
-	struct sockaddr  *ai_addr;
-	struct addrinfo  *ai_next;
-};
-
-#if (_WIN32_WINNT >= 0x0501)
-void WSAAPI freeaddrinfo (struct addrinfo*);
-int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
-		        struct addrinfo**);
-int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
-		       char*,DWORD,int);
-#else
-/* FIXME: Need WS protocol-independent API helpers.  */
-#endif
-
-static __inline char*
-gai_strerrorA(int ecode)
-{
-	static char message[1024+1];
-	DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM
-	              | FORMAT_MESSAGE_IGNORE_INSERTS
-		      | FORMAT_MESSAGE_MAX_WIDTH_MASK;
-	DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT);
-  	FormatMessageA(dwFlags, NULL, ecode, dwLanguageId, (LPSTR)message, 1024, NULL);
-	return message;
-}
-static __inline WCHAR*
-gai_strerrorW(int ecode)
-{
-	static WCHAR message[1024+1];
-	DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM
-	              | FORMAT_MESSAGE_IGNORE_INSERTS
-		      | FORMAT_MESSAGE_MAX_WIDTH_MASK;
-	DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT);
-  	FormatMessageW(dwFlags, NULL, ecode, dwLanguageId, (LPWSTR)message, 1024, NULL);
-	return message;
-}
-#ifdef UNICODE
-#define gai_strerror gai_strerrorW
-#else
-#define gai_strerror gai_strerrorA
-#endif
-
-/* Some older IPv4/IPv6 compatibility stuff */
-
-/* This struct lacks sin6_scope_id; retained for use in sockaddr_gen */
-struct sockaddr_in6_old {
-	short   sin6_family;
-	u_short sin6_port;
-	u_long  sin6_flowinfo;
-	struct in6_addr sin6_addr;
-};
-
-typedef union sockaddr_gen{
-	struct sockaddr		Address;
-	struct sockaddr_in	AddressIn;
-	struct sockaddr_in6_old	AddressIn6;
-} sockaddr_gen;
-
-
-typedef struct _INTERFACE_INFO {
-	u_long		iiFlags;
-	sockaddr_gen	iiAddress;
-	sockaddr_gen	iiBroadcastAddress;
-	sockaddr_gen	iiNetmask;
-} INTERFACE_INFO, *LPINTERFACE_INFO;
-
-/*
-   The definition above can cause problems on NT4,prior to sp4.
-   To workaround, include the following struct and typedef and
-   #define INTERFACE_INFO OLD_INTERFACE_INFO
-   See: FIX: WSAIoctl SIO_GET_INTERFACE_LIST Option Problem
-   (Q181520) in MSDN KB.
-
-   The old definition causes problems on newer NT and on XP.
-
-typedef struct _OLD_INTERFACE_INFO {
-	u_long		iiFlags;
-	struct sockaddr	iiAddress;
- 	struct sockaddr	iiBroadcastAddress;
- 	struct sockaddr	iiNetmask;
-} OLD_INTERFACE_INFO;
-*/
-
-#ifdef  __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/wsahelp.h
===================================================================
--- Daodan/MinGW/include/wsahelp.h	(revision 1046)
+++ 	(revision )
@@ -1,98 +1,0 @@
-#ifndef _WSAHELP_H
-#define _WSAHELP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <winsock2.h>
-#include <ntsecapi.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define WSH_NOTIFY_BIND 0x00000001
-#define WSH_NOTIFY_LISTEN 0x00000002
-#define WSH_NOTIFY_CONNECT 0x00000004
-#define WSH_NOTIFY_ACCEPT 0x00000008
-#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
-#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
-#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
-#define WSH_NOTIFY_CLOSE 0x00000080
-#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
-#define SOL_INTERNAL 0xFFFE
-#define SO_CONTEXT 1
-
-#ifndef RC_INVOKED
-typedef enum _SOCKADDR_ADDRESS_INFO {
-  SockaddrAddressInfoNormal,
-  SockaddrAddressInfoWildcard,
-  SockaddrAddressInfoBroadcast,
-  SockaddrAddressInfoLoopback
-} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
-typedef enum _SOCKADDR_ENDPOINT_INFO {
-  SockaddrEndpointInfoNormal,
-  SockaddrEndpointInfoWildcard,
-  SockaddrEndpointInfoReserved
-} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
-typedef struct _SOCKADDR_INFO {
-  SOCKADDR_ADDRESS_INFO AddressInfo;
-  SOCKADDR_ENDPOINT_INFO EndpointInfo;
-} SOCKADDR_INFO, *PSOCKADDR_INFO;
-
-INT WINAPI WSHAddressToString(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
-INT WINAPI WSHEnumProtocols(LPINT,LPWSTR,LPVOID,LPDWORD);
-INT WINAPI WSHGetBroadcastSockaddr(PVOID,PSOCKADDR,PINT);
-INT WINAPI WSHGetProviderGuid(LPWSTR,LPGUID);
-INT WINAPI WSHGetSockaddrType(PSOCKADDR,DWORD,PSOCKADDR_INFO);
-INT WINAPI WSHGetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-INT WINAPI WSHGetWildcardSockaddr(PVOID,PSOCKADDR,PINT);
-INT WINAPI WSHGetWSAProtocolInfo(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
-INT WINAPI WSHIoctl(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,
-LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
-INT WINAPI WSHJoinLeaf(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,PSOCKADDR,
-DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
-INT WINAPI WSHNotify(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
-INT WINAPI WSHOpenSocket(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
-INT WINAPI WSHOpenSocket2(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
-INT WINAPI WSHSetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-INT WINAPI WSHStringToAddress(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
-
-typedef INT (WINAPI *PWSH_ADDRESS_TO_STRING)(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
-typedef INT (WINAPI *PWSH_ENUM_PROTOCOLS)(LPINT,LPWSTR,LPVOID,LPDWORD);
-typedef INT (WINAPI *PWSH_GET_BROADCAST_SOCKADDR)(PVOID,PSOCKADDR,PINT);
-typedef INT (WINAPI *PWSH_GET_PROVIDER_GUID)(LPWSTR,LPGUID);
-typedef INT (WINAPI *PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR,DWORD,PSOCKADDR_INFO);
-typedef INT (WINAPI *PWSH_GET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-typedef INT (WINAPI *PWSH_GET_WILDCARD_SOCKEADDR)(PVOID,PSOCKADDR,PINT);
-typedef INT (WINAPI *PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
-typedef INT (WINAPI *PWSH_IOCTL)(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,
-	     LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
-typedef INT (WINAPI *PWSH_JOIN_LEAF)(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,
-	     PSOCKADDR,DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
-typedef INT (WINAPI *PWSH_NOTIFY)(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
-typedef INT (WINAPI *PWSH_OPEN_SOCKET)(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
-typedef INT (WINAPI *PWSH_OPEN_SOCKET2)(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
-typedef INT (WINAPI *PWSH_SET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-typedef INT (WINAPI *PWSH_STRING_TO_ADDRESS)(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
-
-#ifndef __OBJC__
-/* "Protocol" is a builtin class name in ObjC.  */
-typedef struct _WINSOCK_MAPPING {
-	DWORD Rows;
-	DWORD Columns;
-	struct {
-		DWORD AddressFamily;
-		DWORD SocketType;
-		DWORD Protocol;
-	} Mapping[1];
-} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
-DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING,DWORD);
-typedef DWORD (WINAPI *PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING,DWORD);
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-#endif
Index: Daodan/MinGW/include/wsipx.h
===================================================================
--- Daodan/MinGW/include/wsipx.h	(revision 1046)
+++ 	(revision )
@@ -1,28 +1,0 @@
-/* WSIPX.H - contributed by the WINE project
- */
-
-#ifndef _WSIPX_H
-#define _WSIPX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NSPROTO_IPX	1000
-#define NSPROTO_SPX	1256
-#define NSPROTO_SPXII	1257
-
-typedef struct sockaddr_ipx {
-	short sa_family;
-	char sa_netnum[4];
-	char sa_nodenum[6];
-	unsigned short sa_socket;
-} SOCKADDR_IPX, *PSOCKADDR_IPX, *LPSOCKADDR_IPX;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/wsnetbs.h
===================================================================
--- Daodan/MinGW/include/wsnetbs.h	(revision 1046)
+++ 	(revision )
@@ -1,35 +1,0 @@
-#ifndef _WSNETBS_H
-#define _WSNETBS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define NETBIOS_NAME_LENGTH	16
-#define NETBIOS_UNIQUE_NAME	0
-#define NETBIOS_GROUP_NAME	1
-#define NETBIOS_TYPE_QUICK_UNIQUE	2
-#define NETBIOS_TYPE_QUICK_GROUP	3
-
-#ifndef RC_INVOKED
-typedef struct sockaddr_nb {
-	short	snb_family;
-	u_short	snb_type;
-	char	snb_name[NETBIOS_NAME_LENGTH];
-} SOCKADDR_NB, *PSOCKADDR_NB, *LPSOCKADDR_NB;
-#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
-{ \
-	register int _i; \
-	register char *_n = (_name); \
-	register PSOCKADDR_NB _s = (_snb); \
-	_s->snb_family = AF_NETBIOS; \
-	_s->snb_type = (_type); \
-	for (_i=0; _n[_i] != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \
-		_s->snb_name[_i] = _n[_i]; \
-	} \
-	for (; _i<NETBIOS_NAME_LENGTH-1; _i++) { \
-		_s->snb_name[_i] = ' '; \
-	} \
-	_s->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
-}
-#endif   /* RC_INVOKED */
-#endif
Index: Daodan/MinGW/include/wtsapi32.h
===================================================================
--- Daodan/MinGW/include/wtsapi32.h	(revision 1046)
+++ 	(revision )
@@ -1,227 +1,0 @@
-#ifndef _WTSAPI32_H
-#define _WTSAPI32_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-  // session notification message
-#define WM_WTSSESSION_CHANGE		0x02B1
-
-typedef enum _WTS_INFO_CLASS {
-  WTSInitialProgram       = 0,
-  WTSApplicationName      = 1,
-  WTSWorkingDirectory     = 2,
-  WTSOEMId                = 3,
-  WTSSessionId            = 4,
-  WTSUserName             = 5,
-  WTSWinStationName       = 6,
-  WTSDomainName           = 7,
-  WTSConnectState         = 8,
-  WTSClientBuildNumber    = 9,
-  WTSClientName           = 10,
-  WTSClientDirectory      = 11,
-  WTSClientProductId      = 12,
-  WTSClientHardwareId     = 13,
-  WTSClientAddress        = 14,
-  WTSClientDisplay        = 15,
-  WTSClientProtocolType   = 16,
-  WTSIdleTime             = 17,
-  WTSLogonTime            = 18,
-  WTSIncomingBytes        = 19,
-  WTSOutgoingBytes        = 20,
-  WTSIncomingFrames       = 21,
-  WTSOutgoingFrames       = 22,
-  WTSClientInfo           = 23,
-  WTSSessionInfo          = 24
-} WTS_INFO_CLASS;
-
-typedef enum _WTS_CONNECTSTATE_CLASS {
-  WTSActive,
-  WTSConnected,
-  WTSConnectQuery,
-  WTSShadow,
-  WTSDisconnected,
-  WTSIdle,
-  WTSListen,
-  WTSReset,
-  WTSDown,
-  WTSInit
-} WTS_CONNECTSTATE_CLASS;
-
-  // session notification message flags
-#define WTS_CONSOLE_CONNECT			0x1
-#define WTS_CONSOLE_DISCONNECT		0x2
-#define WTS_REMOTE_CONNECT			0x3
-#define WTS_REMOTE_DISCONNECT		0x4
-#define WTS_SESSION_LOGON			0x5
-#define WTS_SESSION_LOGOFF			0x6
-#define WTS_SESSION_LOCK			0x7
-#define WTS_SESSION_UNLOCK			0x8
-#define WTS_SESSION_REMOTE_CONTROL	0x9
-
-  // WTSRegisterSessionNotifiction flags
-#define NOTIFY_FOR_THIS_SESSION		0
-#define NOTIFY_FOR_ALL_SESSIONS		1
-
-BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags);
-BOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd);
-BOOL WINAPI WTSQueryUserToken(ULONG SessionId, PHANDLE pToken);
-
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#if (_WIN32_WINNT >= 0x0500)
-
-typedef struct _WTS_SESSION_INFOW {
-  DWORD SessionId;
-  LPWSTR pWinStationName;
-  WTS_CONNECTSTATE_CLASS State;
-} WTS_SESSION_INFOW, *PWTS_SESSION_INFOW;
-
-typedef struct _WTS_SESSION_INFOA {
-  DWORD SessionId;
-  LPSTR pWinStationName;
-  WTS_CONNECTSTATE_CLASS State;
-} WTS_SESSION_INFOA, *PWTS_SESSION_INFOA;
-
-#ifdef UNICODE
-#define WTS_SESSION_INFO	WTS_SESSION_INFOW
-#define PWTS_SESSION_INFO	PWTS_SESSION_INFOW
-#else
-#define WTS_SESSION_INFO	WTS_SESSION_INFOA
-#define PWTS_SESSION_INFO	PWTS_SESSION_INFOA
-#endif
-
-  // WTSWaitSystemEvent local server handle
-#define WTS_CURRENT_SERVER_HANDLE 0
-#define WTS_CURRENT_SESSION       ((DWORD)-1)
-
-  // WTSWaitSystemEvent flags
-#define WTS_EVENT_NONE				0x00000000
-#define WTS_EVENT_CREATE			0x00000001
-#define WTS_EVENT_DELETE			0x00000002
-#define WTS_EVENT_RENAME			0x00000004
-#define WTS_EVENT_CONNECT			0x00000008
-#define WTS_EVENT_DISCONNECT		0x00000010
-#define WTS_EVENT_LOGON				0x00000020
-#define WTS_EVENT_LOGOFF			0x00000040
-#define WTS_EVENT_STATECHANGE		0x00000080
-#define WTS_EVENT_LICENSE			0x00000100
-#define WTS_EVENT_ALL				0x7FFFFFFF
-#define WTS_EVENT_FLUSH				0x80000000
-
-BOOL WINAPI WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass,
-                                LPSTR *ppBuffer, DWORD *pBytesReturned);
-BOOL WINAPI WTSQuerySessionInformationW(HANDLE hServer, DWORD SessionId, WTS_INFO_CLASS WTSInfoClass,
-                                LPTSTR *ppBuffer, DWORD *pBytesReturned);
-BOOL WINAPI WTSWaitSystemEvent(HANDLE hServer, DWORD EventMask, DWORD* pEventFlags);
-BOOL WINAPI WTSDisconnectSession(HANDLE hServer, DWORD SessionId, BOOL bWait);
-BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version,
-				  PWTS_SESSION_INFOW *ppSessionInfo,
-				  PDWORD pCount);
-BOOL WINAPI WTSEnumerateSessionsA(HANDLE hServer, DWORD Reserved, DWORD Version,
-				  PWTS_SESSION_INFOA *ppSessionInfo,
-				  PDWORD pCount);
-void WINAPI WTSFreeMemory(PVOID pMemory);
-
-#ifdef UNICODE
-#define WTSEnumerateSessions WTSEnumerateSessionsW
-#define WTSQuerySessionInformation WTSQuerySessionInformationW
-#else
-#define WTSEnumerateSessions WTSEnumerateSessionsA
-#define WTSQuerySessionInformation WTSQuerySessionInformationA
-#endif
-
-BOOL WTSSendMessageA(
-  HANDLE hServer,
-  DWORD SessionId,
-  LPSTR pTitle,
-  DWORD TitleLength,
-  LPSTR pMessage,
-  DWORD MessageLength,
-  DWORD Style,
-  DWORD Timeout,
-  DWORD *pResponse,
-  BOOL bWait
-);
-
-BOOL WTSSendMessageW(
-  HANDLE hServer,
-  DWORD SessionId,
-  LPWSTR pTitle,
-  DWORD TitleLength,
-  LPWSTR pMessage,
-  DWORD MessageLength,
-  DWORD Style,
-  DWORD Timeout,
-  DWORD *pResponse,
-  BOOL bWait
-);
-
-#ifdef UNICODE
-#define WTSSendMessage WTSSendMessageW
-#else
-#define WTSSendMessage WTSSendMessageA
-#endif
-
-BOOL WTSVirtualChannelClose(
-  HANDLE hChannelHandle
-);
-
-HANDLE WTSVirtualChannelOpen(
-  HANDLE hServer,
-  DWORD SessionId,
-  LPSTR pVirtualName
-);
-
-#if (_WIN32_WINNT >= 0x600)
-HANDLE WTSVirtualChannelOpenEx(
-  DWORD SessionId,
-  LPSTR pVirtualName,
-  DWORD flags
-);
-#endif
-
-BOOL WTSVirtualChannelPurgeInput(
-  HANDLE hChannelHandle
-);
-
-BOOL WTSVirtualChannelPurgeOutput(
-  HANDLE hChannelHandle
-);
-
-#if (_WIN32_WINNT >= 0x501)
-BOOL WTSVirtualChannelQuery(
-  HANDLE hChannelHandle,
-  WTS_VIRTUAL_CLASS WtsVirtualClass,
-  PVOID *ppBuffer,
-  DWORD *pBytesReturned
-);
-#endif
-
-BOOL WTSVirtualChannelRead(
-  HANDLE hChannelHandle,
-  ULONG TimeOut,
-  PCHAR Buffer,
-  ULONG BufferSize,
-  PULONG pBytesRead
-);
-
-BOOL WTSVirtualChannelWrite(
-  HANDLE hChannelHandle,
-  PCHAR Buffer,
-  ULONG Length,
-  PULONG pBytesWritten
-);
-
-#endif /* _WIN32_WINNT >= 0x0500 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _WTSAPI32_H */
Index: Daodan/MinGW/include/wtypes.h
===================================================================
--- Daodan/MinGW/include/wtypes.h	(revision 1046)
+++ 	(revision )
@@ -1,171 +1,0 @@
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef _WTYPES_H
-#define _WTYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define IID_NULL GUID_NULL
-#define CLSID_NULL GUID_NULL
-#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
-#define ROTFLAGS_REGISTRATIONKEEPSALIVE	0x01
-#define ROTFLAGS_ALLOWANYCLIENT		0x02
-
-#ifndef __BLOB_T_DEFINED /* also in winsock2.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
-	ULONG	cbSize;
-	BYTE	*pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-typedef enum tagDVASPECT {
-	DVASPECT_CONTENT=1,
-	DVASPECT_THUMBNAIL=2,
-	DVASPECT_ICON=4,
-	DVASPECT_DOCPRINT=8
-} DVASPECT;
-typedef enum tagDVASPECT2 {
-	DVASPECT_OPAQUE=16,
-	DVASPECT_TRANSPARENT=32
-} DVASPECT2;
-typedef enum tagSTATFLAG {
-	STATFLAG_DEFAULT=0,
-	STATFLAG_NONAME=1
-} STATFLAG;
-typedef enum tagMEMCTX {
-	MEMCTX_LOCAL=0,
-	MEMCTX_TASK,
-	MEMCTX_SHARED,
-	MEMCTX_MACSYSTEM,
-	MEMCTX_UNKNOWN=-1,
-	MEMCTX_SAME=-2
-} MEMCTX;
-typedef enum tagMSHCTX {
-	MSHCTX_LOCAL=0,
-	MSHCTX_NOSHAREDMEM,
-	MSHCTX_DIFFERENTMACHINE,
-	MSHCTX_INPROC,
-	MSHCTX_CROSSCTX
-} MSHCTX;
-typedef enum tagCLSCTX {
-	CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4,
-	CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16
-} CLSCTX;
-typedef enum tagMSHLFLAGS {
-	MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
-} MSHLFLAGS;
-typedef struct _FLAGGED_WORD_BLOB {
-	unsigned long fFlags;
-	unsigned long clSize;
-	unsigned short asData[1];
-}FLAGGED_WORD_BLOB;
-
-#ifndef OLE2ANSI
-typedef WCHAR OLECHAR;
-typedef LPWSTR LPOLESTR;
-typedef LPCWSTR LPCOLESTR;
-#define OLESTR(s) L##s
-#else
-typedef char OLECHAR;
-typedef LPSTR LPOLESTR;
-typedef LPCSTR LPCOLESTR;
-#define OLESTR(s) s
-#endif
-typedef unsigned short VARTYPE;
-typedef short VARIANT_BOOL;
-typedef VARIANT_BOOL _VARIANT_BOOL;
-#define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
-#define VARIANT_FALSE ((VARIANT_BOOL)0)
-typedef OLECHAR *BSTR;
-typedef FLAGGED_WORD_BLOB *wireBSTR;
-typedef BSTR *LPBSTR;
-typedef LONG SCODE;
-typedef void *HCONTEXT;
-typedef union tagCY {
-	_ANONYMOUS_STRUCT struct {
-		unsigned long Lo;
-		long Hi;
-	}_STRUCT_NAME(s);
-	LONGLONG int64;
-} CY;
-typedef double DATE;
-typedef struct  tagBSTRBLOB {
-	ULONG cbSize;
-	PBYTE pData;
-}BSTRBLOB;
-typedef struct tagBSTRBLOB *LPBSTRBLOB;
-typedef struct tagCLIPDATA {
-	ULONG cbSize;
-	long ulClipFmt;
-	PBYTE pClipData;
-}CLIPDATA;
-typedef enum tagSTGC {
-	STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT,
-	STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
-}STGC;
-typedef enum tagSTGMOVE {
-	STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY
-}STGMOVE;
-enum VARENUM {
-	VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH,
-	VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8,
-	VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED,
-	VT_LPSTR,VT_LPWSTR,VT_RECORD=36,VT_INT_PTR=37,VT_UINT_PTR=38,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT,
-	VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000,
-	VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff,
-	VT_TYPEMASK=0xfff
-};
-
-typedef struct _BYTE_SIZEDARR {
-	unsigned long clSize;
-	byte *pData;
-}BYTE_SIZEDARR;
-typedef struct _SHORT_SIZEDARR {
-	unsigned long clSize;
-	unsigned short *pData;
-}WORD_SIZEDARR;
-typedef struct _LONG_SIZEDARR {
-	unsigned long clSize;
-	unsigned long *pData;
-}DWORD_SIZEDARR;
-typedef struct _HYPER_SIZEDARR {
-	unsigned long clSize;
-	hyper *pData;
-}HYPER_SIZEDARR;
-typedef double DOUBLE;
-typedef struct tagDEC {
-	USHORT wReserved;
-	_ANONYMOUS_UNION union {
-		_ANONYMOUS_STRUCT struct {
-			BYTE scale;
-			BYTE sign;
-		}_STRUCT_NAME(s);
-		USHORT signscale;
-	} DUMMYUNIONNAME;
-	ULONG Hi32;
-	_ANONYMOUS_UNION union {
-		_ANONYMOUS_STRUCT struct {
-			ULONG Lo32;
-			ULONG Mid32;
-		}_STRUCT_NAME(s2);
-		ULONGLONG Lo64;
-	} DUMMYUNIONNAME2;
-} DECIMAL;
-typedef DECIMAL *LPDECIMAL;
-#define DECIMAL_NEG ((BYTE)0x80)
-#ifdef NONAMELESSUNION
-#define DECIMAL_SETZERO(d) {(d).DUMMYUNIONNAME2.Lo64=(d).Hi32=(d).DUMMYUNIONNAME.signscale=0;}
-#else
-#define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
-#endif
-typedef void *HMETAFILEPICT;
-#ifdef __cplusplus
-}
-#endif
-#endif
Index: Daodan/MinGW/include/xprtdefs.h
===================================================================
--- Daodan/MinGW/include/xprtdefs.h	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-#ifndef _XPTRDEFS_H
-#define _XPTRDEFS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/*--- DirectShow Reference - DirectShow Structures - TIMECODE_SAMPLE Structure */
-#define ED_DEVCAP_ATN_READ 0x13B7
-#define ED_DEVCAP_RTC_READ 0x13BA
-
-#endif
Index: Daodan/MinGW/include/zmouse.h
===================================================================
--- Daodan/MinGW/include/zmouse.h	(revision 1046)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/*
-       zmouse.h - Header for IntelliMouse.
-
-       This file is part of a free library for the Win32 API.
-
-       This library is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-       FIXME: This file is obviously horribly incomplete!
-
-*/
-
-#ifndef _ZMOUSE_H
-#define _ZMOUSE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef WM_MOUSEWHEEL
-# define WM_MOUSEWHEEL (WM_MOUSELAST + 1)
-#endif
-
-#ifndef WHEEL_DELTA
-# define WHEEL_DELTA 120
-#endif
-
-#ifndef WHEEL_PAGESCROLL
-# define WHEEL_PAGESCROLL UINT_MAX
-#endif
-
-#ifndef SPI_SETWHEELSCROLLLINES
-# define SPI_SETWHEELSCROLLLINES 105
-#endif
-
-#endif /* _ZMOUSE_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/README
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/README	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-This README file is copied into the directory for GCC-only header files
-when fixincludes is run by the makefile for GCC.
-
-Many of the files in this directory were automatically edited from the
-standard system header files by the fixincludes process.  They are
-system-specific, and will not work on any other kind of system.  They
-are also not part of GCC.  The reason we have to do this is because
-GCC requires ANSI C headers and many vendors supply ANSI-incompatible
-headers.
-
-Because this is an automated process, sometimes headers get "fixed"
-that do not, strictly speaking, need a fix.  As long as nothing is broken
-by the process, it is just an unfortunate collateral inconvenience.
-We would like to rectify it, if it is not "too inconvenient".
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/limits.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/limits.h	(revision 1046)
+++ 	(revision )
@@ -1,171 +1,0 @@
-/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* This administrivia gets added to the beginning of limits.h
-   if the system has its own version of limits.h.  */
-
-/* We use _GCC_LIMITS_H_ because we want this not to match
-   any macros that the system's limits.h uses for its own purposes.  */
-#ifndef _GCC_LIMITS_H_  /* Terminated in limity.h.  */
-#define _GCC_LIMITS_H_
-
-#ifndef _LIBC_LIMITS_H_
-/* Use "..." so that we find syslimits.h only in this same directory.  */
-#include "syslimits.h"
-#endif
-/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef _LIMITS_H___
-#define _LIMITS_H___
-
-/* Number of bits in a `char'.  */
-#undef CHAR_BIT
-#define CHAR_BIT __CHAR_BIT__
-
-/* Maximum length of a multibyte character.  */
-#ifndef MB_LEN_MAX
-#define MB_LEN_MAX 1
-#endif
-
-/* Minimum and maximum values a `signed char' can hold.  */
-#undef SCHAR_MIN
-#define SCHAR_MIN (-SCHAR_MAX - 1)
-#undef SCHAR_MAX
-#define SCHAR_MAX __SCHAR_MAX__
-
-/* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
-#undef UCHAR_MAX
-#if __SCHAR_MAX__ == __INT_MAX__
-# define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
-#else
-# define UCHAR_MAX (SCHAR_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `char' can hold.  */
-#ifdef __CHAR_UNSIGNED__
-# undef CHAR_MIN
-# if __SCHAR_MAX__ == __INT_MAX__
-#  define CHAR_MIN 0U
-# else
-#  define CHAR_MIN 0
-# endif
-# undef CHAR_MAX
-# define CHAR_MAX UCHAR_MAX
-#else
-# undef CHAR_MIN
-# define CHAR_MIN SCHAR_MIN
-# undef CHAR_MAX
-# define CHAR_MAX SCHAR_MAX
-#endif
-
-/* Minimum and maximum values a `signed short int' can hold.  */
-#undef SHRT_MIN
-#define SHRT_MIN (-SHRT_MAX - 1)
-#undef SHRT_MAX
-#define SHRT_MAX __SHRT_MAX__
-
-/* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
-#undef USHRT_MAX
-#if __SHRT_MAX__ == __INT_MAX__
-# define USHRT_MAX (SHRT_MAX * 2U + 1U)
-#else
-# define USHRT_MAX (SHRT_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `signed int' can hold.  */
-#undef INT_MIN
-#define INT_MIN (-INT_MAX - 1)
-#undef INT_MAX
-#define INT_MAX __INT_MAX__
-
-/* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
-#undef UINT_MAX
-#define UINT_MAX (INT_MAX * 2U + 1U)
-
-/* Minimum and maximum values a `signed long int' can hold.
-   (Same as `int').  */
-#undef LONG_MIN
-#define LONG_MIN (-LONG_MAX - 1L)
-#undef LONG_MAX
-#define LONG_MAX __LONG_MAX__
-
-/* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
-#undef ULONG_MAX
-#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LLONG_MIN
-# define LLONG_MIN (-LLONG_MAX - 1LL)
-# undef LLONG_MAX
-# define LLONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULLONG_MAX
-# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
-#endif
-
-#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LONG_LONG_MIN
-# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
-# undef LONG_LONG_MAX
-# define LONG_LONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULONG_LONG_MAX
-# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
-#endif
-
-#endif /* _LIMITS_H___ */
-/* This administrivia gets added to the end of limits.h
-   if the system has its own version of limits.h.  */
-
-#else /* not _GCC_LIMITS_H_ */
-
-#ifdef _GCC_NEXT_LIMITS_H
-#include_next <limits.h>		/* recurse down to the real one */
-#endif
-
-#endif /* not _GCC_LIMITS_H_ */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/syslimits.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include-fixed/syslimits.h	(revision 1046)
+++ 	(revision )
@@ -1,8 +1,0 @@
-/* syslimits.h stands for the system's own limits.h file.
-   If we can use it ok unmodified, then we install this text.
-   If fixincludes fixes it, then the fixed version is installed
-   instead of this text.  */
-
-#define _GCC_NEXT_LIMITS_H		/* tell gcc's limits.h to recurse */
-#include_next <limits.h>
-#undef _GCC_NEXT_LIMITS_H
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/adxintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/adxintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,81 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <adxintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _ADXINTRIN_H_INCLUDED
-#define _ADXINTRIN_H_INCLUDED
-
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_subborrow_u32 (unsigned char __CF, unsigned int __X,
-	        unsigned int __Y, unsigned int *__P)
-{
-    return __builtin_ia32_sbb_u32 (__CF, __Y, __X, __P);
-}
-
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_addcarry_u32 (unsigned char __CF, unsigned int __X,
-	       unsigned int __Y, unsigned int *__P)
-{
-    return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
-}
-
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_addcarryx_u32 (unsigned char __CF, unsigned int __X,
-		unsigned int __Y, unsigned int *__P)
-{
-    return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
-}
-
-#ifdef __x86_64__
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_subborrow_u64 (unsigned char __CF, unsigned long long __X,
-	        unsigned long long __Y, unsigned long long *__P)
-{
-    return __builtin_ia32_sbb_u64 (__CF, __Y, __X, __P);
-}
-
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_addcarry_u64 (unsigned char __CF, unsigned long long __X,
-	       unsigned long long __Y, unsigned long long *__P)
-{
-    return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
-}
-
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_addcarryx_u64 (unsigned char __CF, unsigned long long __X,
-		unsigned long long __Y, unsigned long long *__P)
-{
-    return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
-}
-#endif
-
-#endif /* _ADXINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ammintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ammintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,93 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the AMD Programmers
-   Manual Update, version 2.x */
-
-#ifndef _AMMINTRIN_H_INCLUDED
-#define _AMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSE3, SSE2 and SSE header files*/
-#include <pmmintrin.h>
-
-#ifndef __SSE4A__
-#pragma GCC push_options
-#pragma GCC target("sse4a")
-#define __DISABLE_SSE4A__
-#endif /* __SSE4A__ */
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_sd (double * __P, __m128d __Y)
-{
-  __builtin_ia32_movntsd (__P, (__v2df) __Y);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_ss (float * __P, __m128 __Y)
-{
-  __builtin_ia32_movntss (__P, (__v4sf) __Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_si64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
-{
-  return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L);
-}
-#else
-#define _mm_extracti_si64(X, I, L)					\
-  ((__m128i) __builtin_ia32_extrqi ((__v2di)(__m128i)(X),		\
-				    (unsigned int)(I), (unsigned int)(L)))
-#endif
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_si64 (__m128i __X,__m128i __Y)
-{
-  return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L)
-{
-  return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L);
-}
-#else
-#define _mm_inserti_si64(X, Y, I, L)					\
-  ((__m128i) __builtin_ia32_insertqi ((__v2di)(__m128i)(X),		\
-				      (__v2di)(__m128i)(Y),		\
-				      (unsigned int)(I), (unsigned int)(L)))
-#endif
-
-#ifdef __DISABLE_SSE4A__
-#undef __DISABLE_SSE4A__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4A__ */
-
-#endif /* _AMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx2intrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx2intrin.h	(revision 1046)
+++ 	(revision )
@@ -1,1904 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-# error "Never use <avx2intrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX2INTRIN_H_INCLUDED
-#define _AVX2INTRIN_H_INCLUDED
-
-#ifndef __AVX2__
-#pragma GCC push_options
-#pragma GCC target("avx2")
-#define __DISABLE_AVX2__
-#endif /* __AVX2__ */
-
-/* Sum absolute 8-bit integer difference of adjacent groups of 4
-   byte integers in the first 2 operands.  Starting offsets within
-   operands are determined by the 3rd mask operand.  */
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mpsadbw_epu8 (__m256i __X, __m256i __Y, const int __M)
-{
-  return (__m256i) __builtin_ia32_mpsadbw256 ((__v32qi)__X,
-					      (__v32qi)__Y, __M);
-}
-#else
-#define _mm256_mpsadbw_epu8(X, Y, M)					\
-  ((__m256i) __builtin_ia32_mpsadbw256 ((__v32qi)(__m256i)(X),		\
-					(__v32qi)(__m256i)(Y), (int)(M)))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_abs_epi8 (__m256i __A)
-{
-  return (__m256i)__builtin_ia32_pabsb256 ((__v32qi)__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_abs_epi16 (__m256i __A)
-{
-  return (__m256i)__builtin_ia32_pabsw256 ((__v16hi)__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_abs_epi32 (__m256i __A)
-{
-  return (__m256i)__builtin_ia32_pabsd256 ((__v8si)__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_packs_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_packssdw256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_packs_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_packsswb256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_packus_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_packusdw256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_packus_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_packuswb256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v32qu)__A + (__v32qu)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v16hu)__A + (__v16hu)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v8su)__A + (__v8su)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du)__A + (__v4du)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_adds_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_paddsb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_adds_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_paddsw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_adds_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_paddusb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_adds_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_paddusw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_alignr_epi8 (__m256i __A, __m256i __B, const int __N)
-{
-  return (__m256i) __builtin_ia32_palignr256 ((__v4di)__A,
-					      (__v4di)__B,
-					      __N * 8);
-}
-#else
-/* In that case (__N*8) will be in vreg, and insn will not be matched. */
-/* Use define instead */
-#define _mm256_alignr_epi8(A, B, N)				   \
-  ((__m256i) __builtin_ia32_palignr256 ((__v4di)(__m256i)(A),	   \
-					(__v4di)(__m256i)(B),	   \
-					(int)(N) * 8))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_and_si256 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du)__A & (__v4du)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_andnot_si256 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_andnotsi256 ((__v4di)__A, (__v4di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_avg_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pavgb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_avg_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pavgw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blendv_epi8 (__m256i __X, __m256i __Y, __m256i __M)
-{
-  return (__m256i) __builtin_ia32_pblendvb256 ((__v32qi)__X,
-					       (__v32qi)__Y,
-					       (__v32qi)__M);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blend_epi16 (__m256i __X, __m256i __Y, const int __M)
-{
-  return (__m256i) __builtin_ia32_pblendw256 ((__v16hi)__X,
-					      (__v16hi)__Y,
-					       __M);
-}
-#else
-#define _mm256_blend_epi16(X, Y, M)					\
-  ((__m256i) __builtin_ia32_pblendw256 ((__v16hi)(__m256i)(X),		\
-					(__v16hi)(__m256i)(Y), (int)(M)))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v32qi)__A == (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v16hi)__A == (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v8si)__A == (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4di)__A == (__v4di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v32qi)__A > (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v16hi)__A > (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v8si)__A > (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4di)__A > (__v4di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hadd_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phaddw256 ((__v16hi)__X,
-					     (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hadd_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phaddd256 ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hadds_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phaddsw256 ((__v16hi)__X,
-					      (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hsub_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phsubw256 ((__v16hi)__X,
-					     (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hsub_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phsubd256 ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hsubs_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_phsubsw256 ((__v16hi)__X,
-					      (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maddubs_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmaddubsw256 ((__v32qi)__X,
-						(__v32qi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_madd_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaddwd256 ((__v16hi)__A,
-					     (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxsb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxsw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxsd256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxub256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxuw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epu32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmaxud256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminsb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminsw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminsd256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminub256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminuw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epu32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pminud256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movemask_epi8 (__m256i __A)
-{
-  return __builtin_ia32_pmovmskb256 ((__v32qi)__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi8_epi16 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxbw256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi8_epi32 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxbd256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi8_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxbq256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi16_epi32 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxwd256 ((__v8hi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi16_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxwq256 ((__v8hi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi32_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxdq256 ((__v4si)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu8_epi16 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxbw256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu8_epi32 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxbd256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu8_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxbq256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu16_epi32 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxwd256 ((__v8hi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu16_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxwq256 ((__v8hi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu32_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxdq256 ((__v4si)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mul_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmuldq256 ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mulhrs_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmulhrsw256 ((__v16hi)__X,
-					       (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mulhi_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmulhuw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mulhi_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmulhw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mullo_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v16hu)__A * (__v16hu)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mullo_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v8su)__A * (__v8su)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mul_epu32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_pmuludq256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_or_si256 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du)__A | (__v4du)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sad_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_psadbw256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pshufb256 ((__v32qi)__X,
-					     (__v32qi)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_epi32 (__m256i __A, const int __mask)
-{
-  return (__m256i)__builtin_ia32_pshufd256 ((__v8si)__A, __mask);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shufflehi_epi16 (__m256i __A, const int __mask)
-{
-  return (__m256i)__builtin_ia32_pshufhw256 ((__v16hi)__A, __mask);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shufflelo_epi16 (__m256i __A, const int __mask)
-{
-  return (__m256i)__builtin_ia32_pshuflw256 ((__v16hi)__A, __mask);
-}
-#else
-#define _mm256_shuffle_epi32(A, N) \
-  ((__m256i)__builtin_ia32_pshufd256 ((__v8si)(__m256i)(A), (int)(N)))
-#define _mm256_shufflehi_epi16(A, N) \
-  ((__m256i)__builtin_ia32_pshufhw256 ((__v16hi)(__m256i)(A), (int)(N)))
-#define _mm256_shufflelo_epi16(A, N) \
-  ((__m256i)__builtin_ia32_pshuflw256 ((__v16hi)(__m256i)(A), (int)(N)))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sign_epi8 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psignb256 ((__v32qi)__X, (__v32qi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sign_epi16 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psignw256 ((__v16hi)__X, (__v16hi)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sign_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psignd256 ((__v8si)__X, (__v8si)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_bslli_epi128 (__m256i __A, const int __N)
-{
-  return (__m256i)__builtin_ia32_pslldqi256 (__A, __N * 8);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_slli_si256 (__m256i __A, const int __N)
-{
-  return (__m256i)__builtin_ia32_pslldqi256 (__A, __N * 8);
-}
-#else
-#define _mm256_bslli_epi128(A, N) \
-  ((__m256i)__builtin_ia32_pslldqi256 ((__m256i)(A), (int)(N) * 8))
-#define _mm256_slli_si256(A, N) \
-  ((__m256i)__builtin_ia32_pslldqi256 ((__m256i)(A), (int)(N) * 8))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_slli_epi16 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psllwi256 ((__v16hi)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sll_epi16 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psllw256((__v16hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_slli_epi32 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_pslldi256 ((__v8si)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sll_epi32 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_pslld256((__v8si)__A, (__v4si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_slli_epi64 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psllqi256 ((__v4di)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sll_epi64 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psllq256((__v4di)__A, (__v2di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srai_epi16 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psrawi256 ((__v16hi)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sra_epi16 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psraw256 ((__v16hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srai_epi32 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psradi256 ((__v8si)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sra_epi32 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psrad256 ((__v8si)__A, (__v4si)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_bsrli_epi128 (__m256i __A, const int __N)
-{
-  return (__m256i)__builtin_ia32_psrldqi256 (__A, __N * 8);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srli_si256 (__m256i __A, const int __N)
-{
-  return (__m256i)__builtin_ia32_psrldqi256 (__A, __N * 8);
-}
-#else
-#define _mm256_bsrli_epi128(A, N) \
-  ((__m256i)__builtin_ia32_psrldqi256 ((__m256i)(A), (int)(N) * 8))
-#define _mm256_srli_si256(A, N) \
-  ((__m256i)__builtin_ia32_psrldqi256 ((__m256i)(A), (int)(N) * 8))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srli_epi16 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psrlwi256 ((__v16hi)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srl_epi16 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psrlw256((__v16hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srli_epi32 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psrldi256 ((__v8si)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srl_epi32 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psrld256((__v8si)__A, (__v4si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srli_epi64 (__m256i __A, int __B)
-{
-  return (__m256i)__builtin_ia32_psrlqi256 ((__v4di)__A, __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srl_epi64 (__m256i __A, __m128i __B)
-{
-  return (__m256i)__builtin_ia32_psrlq256((__v4di)__A, (__v2di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v32qu)__A - (__v32qu)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v16hu)__A - (__v16hu)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v8su)__A - (__v8su)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du)__A - (__v4du)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_subs_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_psubsb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_subs_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_psubsw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_subs_epu8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_psubusb256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_subs_epu16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_psubusw256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpckhbw256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpckhwd256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpckhdq256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpckhqdq256 ((__v4di)__A, (__v4di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpcklbw256 ((__v32qi)__A, (__v32qi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpcklwd256 ((__v16hi)__A, (__v16hi)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpckldq256 ((__v8si)__A, (__v8si)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i)__builtin_ia32_punpcklqdq256 ((__v4di)__A, (__v4di)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_xor_si256 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du)__A ^ (__v4du)__B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_stream_load_si256 (__m256i const *__X)
-{
-  return (__m256i) __builtin_ia32_movntdqa256 ((__v4di *) __X);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastss_ps (__m128 __X)
-{
-  return (__m128) __builtin_ia32_vbroadcastss_ps ((__v4sf)__X);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastss_ps (__m128 __X)
-{
-  return (__m256) __builtin_ia32_vbroadcastss_ps256 ((__v4sf)__X);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastsd_pd (__m128d __X)
-{
-  return (__m256d) __builtin_ia32_vbroadcastsd_pd256 ((__v2df)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastsi128_si256 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_vbroadcastsi256 ((__v2di)__X);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blend_epi32 (__m128i __X, __m128i __Y, const int __M)
-{
-  return (__m128i) __builtin_ia32_pblendd128 ((__v4si)__X,
-					      (__v4si)__Y,
-					      __M);
-}
-#else
-#define _mm_blend_epi32(X, Y, M)					\
-  ((__m128i) __builtin_ia32_pblendd128 ((__v4si)(__m128i)(X),		\
-					(__v4si)(__m128i)(Y), (int)(M)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blend_epi32 (__m256i __X, __m256i __Y, const int __M)
-{
-  return (__m256i) __builtin_ia32_pblendd256 ((__v8si)__X,
-					      (__v8si)__Y,
-					      __M);
-}
-#else
-#define _mm256_blend_epi32(X, Y, M)					\
-  ((__m256i) __builtin_ia32_pblendd256 ((__v8si)(__m256i)(X),		\
-					(__v8si)(__m256i)(Y), (int)(M)))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastb_epi8 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pbroadcastb256 ((__v16qi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastw_epi16 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pbroadcastw256 ((__v8hi)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastd_epi32 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pbroadcastd256 ((__v4si)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastq_epi64 (__m128i __X)
-{
-  return (__m256i) __builtin_ia32_pbroadcastq256 ((__v2di)__X);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastb_epi8 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pbroadcastb128 ((__v16qi)__X);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastw_epi16 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pbroadcastw128 ((__v8hi)__X);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastd_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pbroadcastd128 ((__v4si)__X);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastq_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pbroadcastq128 ((__v2di)__X);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutevar8x32_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_permvarsi256 ((__v8si)__X, (__v8si)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute4x64_pd (__m256d __X, const int __M)
-{
-  return (__m256d) __builtin_ia32_permdf256 ((__v4df)__X, __M);
-}
-#else
-#define _mm256_permute4x64_pd(X, M)			       \
-  ((__m256d) __builtin_ia32_permdf256 ((__v4df)(__m256d)(X), (int)(M)))
-#endif
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutevar8x32_ps (__m256 __X, __m256i __Y)
-{
-  return (__m256) __builtin_ia32_permvarsf256 ((__v8sf)__X, (__v8si)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute4x64_epi64 (__m256i __X, const int __M)
-{
-  return (__m256i) __builtin_ia32_permdi256 ((__v4di)__X, __M);
-}
-#else
-#define _mm256_permute4x64_epi64(X, M)			       \
-  ((__m256i) __builtin_ia32_permdi256 ((__v4di)(__m256i)(X), (int)(M)))
-#endif
-
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
-{
-  return (__m256i) __builtin_ia32_permti256 ((__v4di)__X, (__v4di)__Y, __M);
-}
-#else
-#define _mm256_permute2x128_si256(X, Y, M)				\
-  ((__m256i) __builtin_ia32_permti256 ((__v4di)(__m256i)(X), (__v4di)(__m256i)(Y), (int)(M)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extracti128_si256 (__m256i __X, const int __M)
-{
-  return (__m128i) __builtin_ia32_extract128i256 ((__v4di)__X, __M);
-}
-#else
-#define _mm256_extracti128_si256(X, M)				\
-  ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(X), (int)(M)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_inserti128_si256 (__m256i __X, __m128i __Y, const int __M)
-{
-  return (__m256i) __builtin_ia32_insert128i256 ((__v4di)__X, (__v2di)__Y, __M);
-}
-#else
-#define _mm256_inserti128_si256(X, Y, M)			 \
-  ((__m256i) __builtin_ia32_insert128i256 ((__v4di)(__m256i)(X), \
-					   (__v2di)(__m128i)(Y), \
-					   (int)(M)))
-#endif
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskload_epi32 (int const *__X, __m256i __M )
-{
-  return (__m256i) __builtin_ia32_maskloadd256 ((const __v8si *)__X,
-						(__v8si)__M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskload_epi64 (long long const *__X, __m256i __M )
-{
-  return (__m256i) __builtin_ia32_maskloadq256 ((const __v4di *)__X,
-						(__v4di)__M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskload_epi32 (int const *__X, __m128i __M )
-{
-  return (__m128i) __builtin_ia32_maskloadd ((const __v4si *)__X,
-					     (__v4si)__M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskload_epi64 (long long const *__X, __m128i __M )
-{
-  return (__m128i) __builtin_ia32_maskloadq ((const __v2di *)__X,
-					     (__v2di)__M);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskstore_epi32 (int *__X, __m256i __M, __m256i __Y )
-{
-  __builtin_ia32_maskstored256 ((__v8si *)__X, (__v8si)__M, (__v8si)__Y);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskstore_epi64 (long long *__X, __m256i __M, __m256i __Y )
-{
-  __builtin_ia32_maskstoreq256 ((__v4di *)__X, (__v4di)__M, (__v4di)__Y);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskstore_epi32 (int *__X, __m128i __M, __m128i __Y )
-{
-  __builtin_ia32_maskstored ((__v4si *)__X, (__v4si)__M, (__v4si)__Y);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskstore_epi64 (long long *__X, __m128i __M, __m128i __Y )
-{
-  __builtin_ia32_maskstoreq (( __v2di *)__X, (__v2di)__M, (__v2di)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sllv_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv8si ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sllv_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv4si ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sllv_epi64 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv4di ((__v4di)__X, (__v4di)__Y);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sllv_epi64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv2di ((__v2di)__X, (__v2di)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srav_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrav8si ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srav_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrav4si ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srlv_epi32 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv8si ((__v8si)__X, (__v8si)__Y);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srlv_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv4si ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srlv_epi64 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv4di ((__v4di)__X, (__v4di)__Y);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srlv_epi64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv2di ((__v2di)__X, (__v2di)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32gather_pd (double const *base, __m128i index, const int scale)
-{
-  __v2df zero = _mm_setzero_pd ();
-  __v2df mask = _mm_cmpeq_pd (zero, zero);
-
-  return (__m128d) __builtin_ia32_gathersiv2df (_mm_undefined_pd (),
-						base,
-						(__v4si)index,
-						mask,
-						scale);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32gather_pd (__m128d src, double const *base, __m128i index,
-		       __m128d mask, const int scale)
-{
-  return (__m128d) __builtin_ia32_gathersiv2df ((__v2df)src,
-						base,
-						(__v4si)index,
-						(__v2df)mask,
-						scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32gather_pd (double const *base, __m128i index, const int scale)
-{
-  __v4df zero = _mm256_setzero_pd ();
-  __v4df mask = _mm256_cmp_pd (zero, zero, _CMP_EQ_OQ);
-
-  return (__m256d) __builtin_ia32_gathersiv4df (_mm256_undefined_pd (),
-						base,
-						(__v4si)index,
-						mask,
-						scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32gather_pd (__m256d src, double const *base,
-			  __m128i index, __m256d mask, const int scale)
-{
-  return (__m256d) __builtin_ia32_gathersiv4df ((__v4df)src,
-						base,
-						(__v4si)index,
-						(__v4df)mask,
-						scale);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64gather_pd (double const *base, __m128i index, const int scale)
-{
-  __v2df src = _mm_setzero_pd ();
-  __v2df mask = _mm_cmpeq_pd (src, src);
-
-  return (__m128d) __builtin_ia32_gatherdiv2df (src,
-						base,
-						(__v2di)index,
-						mask,
-						scale);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64gather_pd (__m128d src, double const *base, __m128i index,
-		       __m128d mask, const int scale)
-{
-  return (__m128d) __builtin_ia32_gatherdiv2df ((__v2df)src,
-						base,
-						(__v2di)index,
-						(__v2df)mask,
-						scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64gather_pd (double const *base, __m256i index, const int scale)
-{
-  __v4df src = _mm256_setzero_pd ();
-  __v4df mask = _mm256_cmp_pd (src, src, _CMP_EQ_OQ);
-
-  return (__m256d) __builtin_ia32_gatherdiv4df (src,
-						base,
-						(__v4di)index,
-						mask,
-						scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64gather_pd (__m256d src, double const *base,
-			  __m256i index, __m256d mask, const int scale)
-{
-  return (__m256d) __builtin_ia32_gatherdiv4df ((__v4df)src,
-						base,
-						(__v4di)index,
-						(__v4df)mask,
-						scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32gather_ps (float const *base, __m128i index, const int scale)
-{
-  __v4sf src = _mm_setzero_ps ();
-  __v4sf mask = _mm_cmpeq_ps (src, src);
-
-  return (__m128) __builtin_ia32_gathersiv4sf (src,
-					       base,
-					       (__v4si)index,
-					       mask,
-					       scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32gather_ps (__m128 src, float const *base, __m128i index,
-		       __m128 mask, const int scale)
-{
-  return (__m128) __builtin_ia32_gathersiv4sf ((__v4sf)src,
-					       base,
-					       (__v4si)index,
-					       (__v4sf)mask,
-					       scale);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32gather_ps (float const *base, __m256i index, const int scale)
-{
-  __v8sf src = _mm256_setzero_ps ();
-  __v8sf mask = _mm256_cmp_ps (src, src, _CMP_EQ_OQ);
-
-  return (__m256) __builtin_ia32_gathersiv8sf (src,
-					       base,
-					       (__v8si)index,
-					       mask,
-					       scale);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32gather_ps (__m256 src, float const *base,
-			  __m256i index, __m256 mask, const int scale)
-{
-  return (__m256) __builtin_ia32_gathersiv8sf ((__v8sf)src,
-					       base,
-					       (__v8si)index,
-					       (__v8sf)mask,
-					       scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64gather_ps (float const *base, __m128i index, const int scale)
-{
-  __v4sf src = _mm_setzero_ps ();
-  __v4sf mask = _mm_cmpeq_ps (src, src);
-
-  return (__m128) __builtin_ia32_gatherdiv4sf (src,
-					       base,
-					       (__v2di)index,
-					       mask,
-					       scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64gather_ps (__m128 src, float const *base, __m128i index,
-		       __m128 mask, const int scale)
-{
-  return (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf)src,
-						base,
-						(__v2di)index,
-						(__v4sf)mask,
-						scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64gather_ps (float const *base, __m256i index, const int scale)
-{
-  __v4sf src = _mm_setzero_ps ();
-  __v4sf mask = _mm_cmpeq_ps (src, src);
-
-  return (__m128) __builtin_ia32_gatherdiv4sf256 (src,
-						  base,
-						  (__v4di)index,
-						  mask,
-						  scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64gather_ps (__m128 src, float const *base,
-			  __m256i index, __m128 mask, const int scale)
-{
-  return (__m128) __builtin_ia32_gatherdiv4sf256 ((__v4sf)src,
-						  base,
-						  (__v4di)index,
-						  (__v4sf)mask,
-						  scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32gather_epi64 (long long int const *base,
-		     __m128i index, const int scale)
-{
-  __v2di src = __extension__ (__v2di){ 0, 0 };
-  __v2di mask = __extension__ (__v2di){ ~0, ~0 };
-
-  return (__m128i) __builtin_ia32_gathersiv2di (src,
-						base,
-						(__v4si)index,
-						mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32gather_epi64 (__m128i src, long long int const *base,
-			  __m128i index, __m128i mask, const int scale)
-{
-  return (__m128i) __builtin_ia32_gathersiv2di ((__v2di)src,
-						base,
-						(__v4si)index,
-						(__v2di)mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32gather_epi64 (long long int const *base,
-			__m128i index, const int scale)
-{
-  __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 };
-  __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 };
-
-  return (__m256i) __builtin_ia32_gathersiv4di (src,
-						base,
-						(__v4si)index,
-						mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32gather_epi64 (__m256i src, long long int const *base,
-			     __m128i index, __m256i mask, const int scale)
-{
-  return (__m256i) __builtin_ia32_gathersiv4di ((__v4di)src,
-						base,
-						(__v4si)index,
-						(__v4di)mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64gather_epi64 (long long int const *base,
-		     __m128i index, const int scale)
-{
-  __v2di src = __extension__ (__v2di){ 0, 0 };
-  __v2di mask = __extension__ (__v2di){ ~0, ~0 };
-
-  return (__m128i) __builtin_ia32_gatherdiv2di (src,
-						base,
-						(__v2di)index,
-						mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64gather_epi64 (__m128i src, long long int const *base, __m128i index,
-			  __m128i mask, const int scale)
-{
-  return (__m128i) __builtin_ia32_gatherdiv2di ((__v2di)src,
-						base,
-						(__v2di)index,
-						(__v2di)mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64gather_epi64 (long long int const *base,
-			__m256i index, const int scale)
-{
-  __v4di src = __extension__ (__v4di){ 0, 0, 0, 0 };
-  __v4di mask = __extension__ (__v4di){ ~0, ~0, ~0, ~0 };
-
-  return (__m256i) __builtin_ia32_gatherdiv4di (src,
-						base,
-						(__v4di)index,
-						mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64gather_epi64 (__m256i src, long long int const *base,
-			     __m256i index, __m256i mask, const int scale)
-{
-  return (__m256i) __builtin_ia32_gatherdiv4di ((__v4di)src,
-						base,
-						(__v4di)index,
-						(__v4di)mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32gather_epi32 (int const *base, __m128i index, const int scale)
-{
-  __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 };
-  __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 };
-
-  return (__m128i) __builtin_ia32_gathersiv4si (src,
-					       base,
-					       (__v4si)index,
-					       mask,
-					       scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32gather_epi32 (__m128i src, int const *base, __m128i index,
-			  __m128i mask, const int scale)
-{
-  return (__m128i) __builtin_ia32_gathersiv4si ((__v4si)src,
-						base,
-						(__v4si)index,
-						(__v4si)mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32gather_epi32 (int const *base, __m256i index, const int scale)
-{
-  __v8si src = __extension__ (__v8si){ 0, 0, 0, 0, 0, 0, 0, 0 };
-  __v8si mask = __extension__ (__v8si){ ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0 };
-
-  return (__m256i) __builtin_ia32_gathersiv8si (src,
-						base,
-						(__v8si)index,
-						mask,
-						scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32gather_epi32 (__m256i src, int const *base,
-			     __m256i index, __m256i mask, const int scale)
-{
-  return (__m256i) __builtin_ia32_gathersiv8si ((__v8si)src,
-						base,
-						(__v8si)index,
-						(__v8si)mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64gather_epi32 (int const *base, __m128i index, const int scale)
-{
-  __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 };
-  __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 };
-
-  return (__m128i) __builtin_ia32_gatherdiv4si (src,
-						base,
-						(__v2di)index,
-						mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64gather_epi32 (__m128i src, int const *base, __m128i index,
-			  __m128i mask, const int scale)
-{
-  return (__m128i) __builtin_ia32_gatherdiv4si ((__v4si)src,
-						base,
-						(__v2di)index,
-						(__v4si)mask,
-						scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64gather_epi32 (int const *base, __m256i index, const int scale)
-{
-  __v4si src = __extension__ (__v4si){ 0, 0, 0, 0 };
-  __v4si mask = __extension__ (__v4si){ ~0, ~0, ~0, ~0 };
-
-  return (__m128i) __builtin_ia32_gatherdiv4si256 (src,
-						  base,
-						  (__v4di)index,
-						  mask,
-						  scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64gather_epi32 (__m128i src, int const *base,
-			     __m256i index, __m128i mask, const int scale)
-{
-  return (__m128i) __builtin_ia32_gatherdiv4si256 ((__v4si)src,
-						   base,
-						   (__v4di)index,
-						   (__v4si)mask,
-						   scale);
-}
-#else /* __OPTIMIZE__ */
-#define _mm_i32gather_pd(BASE, INDEX, SCALE)				\
-  (__m128d) __builtin_ia32_gathersiv2df ((__v2df) _mm_setzero_pd (),	\
-					 (double const *)BASE,		\
-					 (__v4si)(__m128i)INDEX,	\
-					 (__v2df)_mm_set1_pd(		\
-					   (double)(long long int) -1), \
-					 (int)SCALE)
-
-#define _mm_mask_i32gather_pd(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m128d) __builtin_ia32_gathersiv2df ((__v2df)(__m128d)SRC,	 \
-					 (double const *)BASE,	 \
-					 (__v4si)(__m128i)INDEX, \
-					 (__v2df)(__m128d)MASK,	 \
-					 (int)SCALE)
-
-#define _mm256_i32gather_pd(BASE, INDEX, SCALE)				\
-  (__m256d) __builtin_ia32_gathersiv4df ((__v4df) _mm256_setzero_pd (),	\
-					 (double const *)BASE,		\
-					 (__v4si)(__m128i)INDEX,	\
-					 (__v4df)_mm256_set1_pd(	\
-					   (double)(long long int) -1), \
-					 (int)SCALE)
-
-#define _mm256_mask_i32gather_pd(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m256d) __builtin_ia32_gathersiv4df ((__v4df)(__m256d)SRC,	 \
-					 (double const *)BASE,	 \
-					 (__v4si)(__m128i)INDEX, \
-					 (__v4df)(__m256d)MASK,	 \
-					 (int)SCALE)
-
-#define _mm_i64gather_pd(BASE, INDEX, SCALE)				\
-  (__m128d) __builtin_ia32_gatherdiv2df ((__v2df) _mm_setzero_pd (),	\
-					 (double const *)BASE,		\
-					 (__v2di)(__m128i)INDEX,	\
-					 (__v2df)_mm_set1_pd(		\
-					   (double)(long long int) -1), \
-					 (int)SCALE)
-
-#define _mm_mask_i64gather_pd(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m128d) __builtin_ia32_gatherdiv2df ((__v2df)(__m128d)SRC,	 \
-					 (double const *)BASE,	 \
-					 (__v2di)(__m128i)INDEX, \
-					 (__v2df)(__m128d)MASK,	 \
-					 (int)SCALE)
-
-#define _mm256_i64gather_pd(BASE, INDEX, SCALE)				\
-  (__m256d) __builtin_ia32_gatherdiv4df ((__v4df) _mm256_setzero_pd (),	\
-					 (double const *)BASE,		\
-					 (__v4di)(__m256i)INDEX,	\
-					 (__v4df)_mm256_set1_pd(	\
-					   (double)(long long int) -1), \
-					 (int)SCALE)
-
-#define _mm256_mask_i64gather_pd(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m256d) __builtin_ia32_gatherdiv4df ((__v4df)(__m256d)SRC,	 \
-					 (double const *)BASE,	 \
-					 (__v4di)(__m256i)INDEX, \
-					 (__v4df)(__m256d)MASK,	 \
-					 (int)SCALE)
-
-#define _mm_i32gather_ps(BASE, INDEX, SCALE)				\
-  (__m128) __builtin_ia32_gathersiv4sf ((__v4sf) _mm_setzero_ps (),	\
-					(float const *)BASE,		\
-					(__v4si)(__m128i)INDEX,		\
-					_mm_set1_ps ((float)(int) -1),	\
-					(int)SCALE)
-
-#define _mm_mask_i32gather_ps(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m128) __builtin_ia32_gathersiv4sf ((__v4sf)(__m128d)SRC,	 \
-					(float const *)BASE,	 \
-					(__v4si)(__m128i)INDEX,	 \
-					(__v4sf)(__m128d)MASK,	 \
-					(int)SCALE)
-
-#define _mm256_i32gather_ps(BASE, INDEX, SCALE)			       \
-  (__m256) __builtin_ia32_gathersiv8sf ((__v8sf) _mm256_setzero_ps (), \
-					(float const *)BASE,	       \
-					(__v8si)(__m256i)INDEX,	       \
-					(__v8sf)_mm256_set1_ps (       \
-					  (float)(int) -1),	       \
-					(int)SCALE)
-
-#define _mm256_mask_i32gather_ps(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m256) __builtin_ia32_gathersiv8sf ((__v8sf)(__m256)SRC,	\
-					(float const *)BASE,	\
-					(__v8si)(__m256i)INDEX, \
-					(__v8sf)(__m256d)MASK,	\
-					(int)SCALE)
-
-#define _mm_i64gather_ps(BASE, INDEX, SCALE)				\
-  (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf) _mm_setzero_pd (),	\
-					(float const *)BASE,		\
-					(__v2di)(__m128i)INDEX,		\
-					(__v4sf)_mm_set1_ps (		\
-					  (float)(int) -1),		\
-					(int)SCALE)
-
-#define _mm_mask_i64gather_ps(SRC, BASE, INDEX, MASK, SCALE)	 \
-  (__m128) __builtin_ia32_gatherdiv4sf ((__v4sf)(__m128)SRC,	 \
-					(float const *)BASE,	 \
-					(__v2di)(__m128i)INDEX,	 \
-					(__v4sf)(__m128d)MASK,	 \
-					(int)SCALE)
-
-#define _mm256_i64gather_ps(BASE, INDEX, SCALE)				\
-  (__m128) __builtin_ia32_gatherdiv4sf256 ((__v4sf) _mm_setzero_ps (),	\
-					   (float const *)BASE,		\
-					   (__v4di)(__m256i)INDEX,	\
-					   (__v4sf)_mm_set1_ps(		\
-					     (float)(int) -1),		\
-					   (int)SCALE)
-
-#define _mm256_mask_i64gather_ps(SRC, BASE, INDEX, MASK, SCALE)	   \
-  (__m128) __builtin_ia32_gatherdiv4sf256 ((__v4sf)(__m128)SRC,	   \
-					   (float const *)BASE,	   \
-					   (__v4di)(__m256i)INDEX, \
-					   (__v4sf)(__m128)MASK,   \
-					   (int)SCALE)
-
-#define _mm_i32gather_epi64(BASE, INDEX, SCALE)				\
-  (__m128i) __builtin_ia32_gathersiv2di ((__v2di) _mm_setzero_si128 (), \
-					 (long long const *)BASE,	\
-					 (__v4si)(__m128i)INDEX,	\
-					 (__v2di)_mm_set1_epi64x (-1),	\
-					 (int)SCALE)
-
-#define _mm_mask_i32gather_epi64(SRC, BASE, INDEX, MASK, SCALE)	  \
-  (__m128i) __builtin_ia32_gathersiv2di ((__v2di)(__m128i)SRC,	  \
-					 (long long const *)BASE, \
-					 (__v4si)(__m128i)INDEX,  \
-					 (__v2di)(__m128i)MASK,	  \
-					 (int)SCALE)
-
-#define _mm256_i32gather_epi64(BASE, INDEX, SCALE)			   \
-  (__m256i) __builtin_ia32_gathersiv4di ((__v4di) _mm256_setzero_si256 (), \
-					 (long long const *)BASE,	   \
-					 (__v4si)(__m128i)INDEX,	   \
-					 (__v4di)_mm256_set1_epi64x (-1),  \
-					 (int)SCALE)
-
-#define _mm256_mask_i32gather_epi64(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m256i) __builtin_ia32_gathersiv4di ((__v4di)(__m256i)SRC,	   \
-					 (long long const *)BASE,  \
-					 (__v4si)(__m128i)INDEX,   \
-					 (__v4di)(__m256i)MASK,	   \
-					 (int)SCALE)
-
-#define _mm_i64gather_epi64(BASE, INDEX, SCALE)				\
-  (__m128i) __builtin_ia32_gatherdiv2di ((__v2di) _mm_setzero_si128 (), \
-					 (long long const *)BASE,	\
-					 (__v2di)(__m128i)INDEX,	\
-					 (__v2di)_mm_set1_epi64x (-1),	\
-					 (int)SCALE)
-
-#define _mm_mask_i64gather_epi64(SRC, BASE, INDEX, MASK, SCALE)	  \
-  (__m128i) __builtin_ia32_gatherdiv2di ((__v2di)(__m128i)SRC,	  \
-					 (long long const *)BASE, \
-					 (__v2di)(__m128i)INDEX,  \
-					 (__v2di)(__m128i)MASK,	  \
-					 (int)SCALE)
-
-#define _mm256_i64gather_epi64(BASE, INDEX, SCALE)			   \
-  (__m256i) __builtin_ia32_gatherdiv4di ((__v4di) _mm256_setzero_si256 (), \
-					 (long long const *)BASE,	   \
-					 (__v4di)(__m256i)INDEX,	   \
-					 (__v4di)_mm256_set1_epi64x (-1),  \
-					 (int)SCALE)
-
-#define _mm256_mask_i64gather_epi64(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m256i) __builtin_ia32_gatherdiv4di ((__v4di)(__m256i)SRC,	   \
-					 (long long const *)BASE,  \
-					 (__v4di)(__m256i)INDEX,   \
-					 (__v4di)(__m256i)MASK,	   \
-					 (int)SCALE)
-
-#define _mm_i32gather_epi32(BASE, INDEX, SCALE)				\
-  (__m128i) __builtin_ia32_gathersiv4si ((__v4si) _mm_setzero_si128 (),	\
-					 (int const *)BASE,		\
-					 (__v4si)(__m128i)INDEX,	\
-					 (__v4si)_mm_set1_epi32 (-1),	\
-					 (int)SCALE)
-
-#define _mm_mask_i32gather_epi32(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m128i) __builtin_ia32_gathersiv4si ((__v4si)(__m128i)SRC,	\
-					(int const *)BASE,	\
-					(__v4si)(__m128i)INDEX, \
-					(__v4si)(__m128i)MASK,	\
-					(int)SCALE)
-
-#define _mm256_i32gather_epi32(BASE, INDEX, SCALE)			   \
-  (__m256i) __builtin_ia32_gathersiv8si ((__v8si) _mm256_setzero_si256 (), \
-					 (int const *)BASE,		   \
-					 (__v8si)(__m256i)INDEX,	   \
-					 (__v8si)_mm256_set1_epi32 (-1),   \
-					 (int)SCALE)
-
-#define _mm256_mask_i32gather_epi32(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m256i) __builtin_ia32_gathersiv8si ((__v8si)(__m256i)SRC,	   \
-					(int const *)BASE,	   \
-					(__v8si)(__m256i)INDEX,	   \
-					(__v8si)(__m256i)MASK,	   \
-					(int)SCALE)
-
-#define _mm_i64gather_epi32(BASE, INDEX, SCALE)				\
-  (__m128i) __builtin_ia32_gatherdiv4si ((__v4si) _mm_setzero_si128 (),	\
-					 (int const *)BASE,		\
-					 (__v2di)(__m128i)INDEX,	\
-					 (__v4si)_mm_set1_epi32 (-1),	\
-					 (int)SCALE)
-
-#define _mm_mask_i64gather_epi32(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m128i) __builtin_ia32_gatherdiv4si ((__v4si)(__m128i)SRC,	\
-					(int const *)BASE,	\
-					(__v2di)(__m128i)INDEX, \
-					(__v4si)(__m128i)MASK,	\
-					(int)SCALE)
-
-#define _mm256_i64gather_epi32(BASE, INDEX, SCALE)			   \
-  (__m128i) __builtin_ia32_gatherdiv4si256 ((__v4si) _mm_setzero_si128 (), \
-					    (int const *)BASE,		   \
-					    (__v4di)(__m256i)INDEX,	   \
-					    (__v4si)_mm_set1_epi32(-1),	   \
-					    (int)SCALE)
-
-#define _mm256_mask_i64gather_epi32(SRC, BASE, INDEX, MASK, SCALE) \
-  (__m128i) __builtin_ia32_gatherdiv4si256 ((__v4si)(__m128i)SRC,  \
-					   (int const *)BASE,	   \
-					   (__v4di)(__m256i)INDEX, \
-					   (__v4si)(__m128i)MASK,  \
-					   (int)SCALE)
-#endif  /* __OPTIMIZE__ */
-
-#ifdef __DISABLE_AVX2__
-#undef __DISABLE_AVX2__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX2__ */
-
-#endif /* _AVX2INTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512bwintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512bwintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,2995 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512bwintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512BWINTRIN_H_INCLUDED
-#define _AVX512BWINTRIN_H_INCLUDED
-
-#ifndef __AVX512BW__
-#pragma GCC push_options
-#pragma GCC target("avx512bw")
-#define __DISABLE_AVX512BW__
-#endif /* __AVX512BW__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef short __v32hi __attribute__ ((__vector_size__ (64)));
-typedef char __v64qi __attribute__ ((__vector_size__ (64)));
-
-typedef unsigned long long __mmask64;
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_qi (void)
-{
-  return __extension__ (__m512i)(__v64qi){ 0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0 };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_hi (void)
-{
-  return __extension__ (__m512i)(__v32hi){ 0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0,
-					   0, 0, 0, 0, 0, 0, 0, 0 };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_epi16 (__mmask32 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_epi16 (__m512i __W, __mmask32 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P,
-						     (__v32hi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_epi16 (__mmask32 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_epi16 (void *__P, __mmask32 __U, __m512i __A)
-{
-  __builtin_ia32_storedquhi512_mask ((__v32hi *) __P,
-				     (__v32hi) __A,
-				     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
-						    (__v64qi) __W,
-						    (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
-						    (__v64qi)
-						    _mm512_setzero_hi (),
-						    (__mmask64) __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kunpackw (__mmask32 __A, __mmask32 __B)
-{
-  return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
-					      (__mmask32) __B);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kunpackd (__mmask64 __A, __mmask64 __B)
-{
-  return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
-					      (__mmask64) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_epi8 (__m512i __W, __mmask64 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P,
-						     (__v64qi) __W,
-						     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_epi8 (__mmask64 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P,
-						     (__v64qi)
-						     _mm512_setzero_hi (),
-						     (__mmask64) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_epi8 (void *__P, __mmask64 __U, __m512i __A)
-{
-  __builtin_ia32_storedquqi512_mask ((__v64qi *) __P,
-				     (__v64qi) __A,
-				     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sad_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psadbw512 ((__v64qi) __A,
-					     (__v64qi) __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi16_epi8 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
-						  (__v32qi) _mm256_undefined_si256(),
-						  (__mmask32) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
-						  (__v32qi) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi16_epi8 (__mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi16_epi8 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
-						   (__v32qi)_mm256_undefined_si256(),
-						   (__mmask32) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
-						   (__v32qi)__O,
-						   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi16_epi8 (__mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
-						   (__v32qi)
-						   _mm256_setzero_si256 (),
-						   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi16_epi8 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
-						    (__v32qi)_mm256_undefined_si256(),
-						    (__mmask32) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
-						    (__v32qi) __O,
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi16_epi8 (__mmask32 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
-						    (__v32qi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastb_epi8 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
-						       (__v64qi)_mm512_undefined_si512(),
-						       (__mmask64) -
-						       1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
-						       (__v64qi) __O,
-						       __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastb_epi8 (__mmask64 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
-						       (__v64qi)
-						       _mm512_setzero_qi(),
-						       __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A,
-							   (__v64qi) __O,
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A,
-							   (__v64qi)
-							   _mm512_setzero_qi(),
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastw_epi16 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
-						       (__v32hi)_mm512_undefined_si512(),
-						       (__mmask32)-1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
-						       (__v32hi) __O,
-						       __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
-						       (__v32hi)
-						       _mm512_setzero_hi(),
-						       __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A,
-							   (__v32hi) __O,
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_set1_epi16 (__mmask32 __M, short __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A,
-							   (__v32hi)
-							   _mm512_setzero_hi(),
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mulhrs_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mulhrs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			  __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mulhrs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mulhi_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mulhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mulhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mulhi_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mulhi_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mulhi_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mullo_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v32hu) __A * (__v32hu) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi8_epi16 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi8_epi16 (__mmask32 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
-						    (__v32hi)
-						    _mm512_setzero_hi(),
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu8_epi16 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu8_epi16 (__mmask32 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
-						    (__v32hi)
-						    _mm512_setzero_hi(),
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
-						     (__v32hi) __A,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A,
-				__m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
-						     (__v32hi) __A,
-						     (__v32hi)
-						     _mm512_setzero_hi(),
-						     (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
-			       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
-						     (__v32hi) __A,
-						     (__v32hi) __W,
-						     (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_epi16 (__m512i __A, __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
-							/* idx */ ,
-							(__v32hi) __A,
-							(__v32hi) __B,
-							(__mmask32) -
-							1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_epi16 (__m512i __A, __mmask32 __U,
-				__m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
-							/* idx */ ,
-							(__v32hi) __A,
-							(__v32hi) __B,
-							(__mmask32)
-							__U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_epi16 (__m512i __A, __m512i __I,
-				 __mmask32 __U, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermi2varhi512_mask ((__v32hi) __A,
-							(__v32hi) __I
-							/* idx */ ,
-							(__v32hi) __B,
-							(__mmask32)
-							__U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_epi16 (__mmask32 __U, __m512i __A,
-				 __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varhi512_maskz ((__v32hi) __I
-							 /* idx */ ,
-							 (__v32hi) __A,
-							 (__v32hi) __B,
-							 (__mmask32)
-							 __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_avg_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi)
-						 _mm512_setzero_qi (),
-						 (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi) __W,
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi)
-						 _mm512_setzero_qi(),
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v64qu) __A + (__v64qu) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi) __W,
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi)
-						 _mm512_setzero_qi (),
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v64qu) __A - (__v64qu) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi) __W,
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__v64qi)
-						 _mm512_setzero_qi (),
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_avg_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi(),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_subs_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_subs_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi)
-						   _mm512_setzero_qi (),
-						   (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi) __W,
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi)
-						   _mm512_setzero_qi (),
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_adds_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_adds_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi)
-						   _mm512_setzero_qi (),
-						   (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi) __W,
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
-						   (__v64qi) __B,
-						   (__v64qi)
-						   _mm512_setzero_qi (),
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v32hu) __A - (__v32hu) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_subs_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_subs_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v32hu) __A + (__v32hu) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_adds_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_adds_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srl_epi16 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srl_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srl_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_packs_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi)
-						    _mm512_setzero_qi (),
-						    (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sll_epi16 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sll_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sll_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maddubs_epi16 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
-						     (__v64qi) __Y,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_maddubs_epi16 (__m512i __W, __mmask32 __U, __m512i __X,
-			   __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
-						     (__v64qi) __Y,
-						     (__v32hi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_maddubs_epi16 (__mmask32 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
-						     (__v64qi) __Y,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_madd_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v16si)
-						   _mm512_setzero_si512 (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_madd_epi16 (__m512i __W, __mmask16 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v16si) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_madd_epi16 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
-						   (__v32hi) __B,
-						   (__v16si)
-						   _mm512_setzero_si512 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi)
-						     _mm512_setzero_qi (),
-						     (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-			   __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi) __W,
-						     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi)
-						     _mm512_setzero_qi(),
-						     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			    __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi)
-						     _mm512_setzero_hi(),
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi)
-						     _mm512_setzero_qi (),
-						     (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-			   __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi) __W,
-						     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__v64qi)
-						     _mm512_setzero_qi(),
-						     (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi)
-						     _mm512_setzero_hi (),
-						     (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			    __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__v32hi)
-						     _mm512_setzero_hi(),
-						     (__mmask32) __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epu8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
-						    (__v64qi) __B, 0,
-						    (__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epi8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
-						    (__v64qi) __B, 0,
-						    __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epu16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
-						    (__v32hi) __B, 0,
-						    (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epi16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
-						    (__v32hi) __B, 0,
-						    __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epu8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
-						    (__v64qi) __B, 6,
-						    (__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epi8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     (__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
-						    (__v64qi) __B, 6,
-						    __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
-						     (__v64qi) __B,
-						     __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epu16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
-						    (__v32hi) __B, 6,
-						    (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epi16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
-						    (__v32hi) __B, 6,
-						    __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
-						     (__v32hi) __B,
-						     __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movepi8_mask (__m512i __A)
-{
-  return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movepi16_mask (__m512i __A)
-{
-  return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movm_epi8 (__mmask64 __A)
-{
-  return (__m512i) __builtin_ia32_cvtmask2b512 (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movm_epi16 (__mmask32 __A)
-{
-  return (__m512i) __builtin_ia32_cvtmask2w512 (__A);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_test_epi8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
-						(__v64qi) __B,
-						(__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_test_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
-						(__v64qi) __B, __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_test_epi16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
-						(__v32hi) __B,
-						(__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_test_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
-						(__v32hi) __B, __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_testn_epi8_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
-						 (__v64qi) __B,
-						 (__mmask64) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_testn_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
-						 (__v64qi) __B, __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_testn_epi16_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
-						 (__v32hi) __B,
-						 (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
-						 (__v32hi) __B, __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-			  __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi(),
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi(),
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi(),
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi(),
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epu8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi(),
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi (),
-						  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi)
-						  _mm512_setzero_qi(),
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
-		      __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
-						  (__v64qi) __B,
-						  (__v64qi) __W,
-						  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi(),
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epu16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi(),
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
-		       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sra_epi16 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sra_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-		       __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sra_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
-						 (__v8hi) __B,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srav_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srav_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srav_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srlv_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srlv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srlv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sllv_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B)
-{
-  return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sllv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
-						  (__v32hi) __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_packs_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi) __W,
-						    (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_packs_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi)
-						    _mm512_setzero_qi(),
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_packus_epi16 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi)
-						    _mm512_setzero_qi (),
-						    (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_packus_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
-			  __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi) __W,
-						    (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_packus_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
-						    (__v32hi) __B,
-						    (__v64qi)
-						    _mm512_setzero_qi(),
-						    (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_abs_epi8 (__m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
-						 (__v64qi)
-						 _mm512_setzero_qi (),
-						 (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
-						 (__v64qi) __W,
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
-						 (__v64qi)
-						 _mm512_setzero_qi (),
-						 (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_abs_epi16 (__m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
-						 (__v32hi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
-						 (__v32hi)
-						 _mm512_setzero_hi (),
-						 (__mmask32) __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 4,
-						   (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 1,
-						   (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 5,
-						   (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 2,
-						   (__mmask64) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 4,
-						   (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 1,
-						   (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 5,
-						   (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 2,
-						   (__mmask32) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 4,
-						  (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 1,
-						  (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 5,
-						  (__mmask64) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 2,
-						  (__mmask64) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 4,
-						  (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 1,
-						  (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 5,
-						  (__mmask32) __M);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 2,
-						  (__mmask32) __M);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epu8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 4,
-						   (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epu8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 1,
-						   (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epu8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 5,
-						   (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epu8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, 2,
-						   (__mmask64) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epu16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 4,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epu16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 1,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epu16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 5,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epu16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, 2,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epi8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 4,
-						  (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epi8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 1,
-						  (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epi8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 5,
-						  (__mmask64) - 1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epi8_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, 2,
-						  (__mmask64) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epi16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 4,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epi16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 1,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epi16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 5,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epi16_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, 2,
-						  (__mmask32) - 1);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_alignr_epi8 (__m512i __A, __m512i __B, const int __N)
-{
-  return (__m512i) __builtin_ia32_palignr512 ((__v8di) __A,
-					      (__v8di) __B, __N * 8);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_alignr_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
-			 __m512i __B, const int __N)
-{
-  return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A,
-						   (__v8di) __B,
-						   __N * 8,
-						   (__v8di) __W,
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_alignr_epi8 (__mmask64 __U, __m512i __A, __m512i __B,
-			  const int __N)
-{
-  return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A,
-						   (__v8di) __B,
-						   __N * 8,
-						   (__v8di)
-						   _mm512_setzero_si512 (),
-						   (__mmask64) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_dbsad_epu8 (__m512i __A, __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
-						    (__v64qi) __B,
-						    __imm,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_dbsad_epu8 (__m512i __W, __mmask32 __U, __m512i __A,
-			__m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
-						    (__v64qi) __B,
-						    __imm,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_dbsad_epu8 (__mmask32 __U, __m512i __A, __m512i __B,
-			 const int __imm)
-{
-  return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
-						    (__v64qi) __B,
-						    __imm,
-						    (__v32hi)
-						    _mm512_setzero_hi(),
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srli_epi16 (__m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srli_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srli_epi16 (__mmask32 __U, __m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_slli_epi16 (__m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_slli_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			const int __B)
-{
-  return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_slli_epi16 (__mmask32 __U, __m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shufflehi_epi16 (__m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shufflehi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			     const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shufflehi_epi16 (__mmask32 __U, __m512i __A,
-			      const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shufflelo_epi16 (__m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shufflelo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			     const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shufflelo_epi16 (__mmask32 __U, __m512i __A,
-			      const int __imm)
-{
-  return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
-						   __imm,
-						   (__v32hi)
-						   _mm512_setzero_hi (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srai_epi16 (__m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srai_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
-			const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srai_epi16 (__mmask32 __U, __m512i __A, const int __imm)
-{
-  return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
-						  (__v32hi)
-						  _mm512_setzero_hi (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W)
-{
-  return (__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) __A,
-						    (__v32hi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W)
-{
-  return (__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) __A,
-						    (__v64qi) __W,
-						    (__mmask64) __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epi16_mask (__mmask32 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, __P,
-						  (__mmask32) __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epi16_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
-						  (__v32hi) __Y, __P,
-						  (__mmask32) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epi8_mask (__mmask32 __U, __m512i __X, __m512i __Y,
-			   const int __P)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, __P,
-						  (__mmask64) __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epi8_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
-						  (__v64qi) __Y, __P,
-						  (__mmask64) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epu16_mask (__mmask32 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, __P,
-						   (__mmask32) __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epu16_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
-						   (__v32hi) __Y, __P,
-						   (__mmask32) -1);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epu8_mask (__mmask32 __U, __m512i __X, __m512i __Y,
-			   const int __P)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, __P,
-						   (__mmask64) __U);
-}
-
-extern __inline __mmask64
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epu8_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
-						   (__v64qi) __Y, __P,
-						   (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_packs_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_packs_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi(),
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_packs_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi) __W,
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_packus_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi (),
-						    (__mmask32) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_packus_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi)
-						    _mm512_setzero_hi(),
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_packus_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
-			  __m512i __B)
-{
-  return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
-						    (__v16si) __B,
-						    (__v32hi) __W,
-						    __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_bslli_epi128 (__m512i __A, const int __N)
-{
-  return (__m512i) __builtin_ia32_pslldq512 (__A, __N * 8);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_bsrli_epi128 (__m512i __A, const int __N)
-{
-  return (__m512i) __builtin_ia32_psrldq512 (__A, __N * 8);
-}
-
-#else
-#define _mm512_alignr_epi8(X, Y, N)						    \
-  ((__m512i) __builtin_ia32_palignr512 ((__v8di)(__m512i)(X),			    \
-					(__v8di)(__m512i)(Y),			    \
-					(int)(N * 8)))
-
-#define _mm512_mask_alignr_epi8(W, U, X, Y, N)					    \
-  ((__m512i) __builtin_ia32_palignr512_mask ((__v8di)(__m512i)(X),		    \
-					    (__v8di)(__m512i)(Y), (int)(N * 8),	    \
-					    (__v8di)(__m512i)(W), (__mmask64)(U)))
-
-#define _mm512_maskz_alignr_epi8(U, X, Y, N)					    \
-  ((__m512i) __builtin_ia32_palignr512_mask ((__v8di)(__m512i)(X),		    \
-					    (__v8di)(__m512i)(Y), (int)(N * 8),	    \
-					    (__v8di)(__m512i)_mm512_setzero_si512 (),   \
-					    (__mmask64)(U)))
-
-#define _mm512_dbsad_epu8(X, Y, C)                                                  \
-  ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
-                                              (__v64qi)(__m512i) (Y), (int) (C),    \
-                                              (__v32hi)(__m512i)_mm512_setzero_si512 (),\
-                                              (__mmask32)-1))
-
-#define _mm512_mask_dbsad_epu8(W, U, X, Y, C)                                       \
-  ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
-                                              (__v64qi)(__m512i) (Y), (int) (C),    \
-                                              (__v32hi)(__m512i)(W),                \
-                                              (__mmask32)(U)))
-
-#define _mm512_maskz_dbsad_epu8(U, X, Y, C)                                         \
-  ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
-                                              (__v64qi)(__m512i) (Y), (int) (C),    \
-                                              (__v32hi)(__m512i)_mm512_setzero_si512 (),\
-                                              (__mmask32)(U)))
-
-#define _mm512_srli_epi16(A, B)                                         \
-  ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)-1))
-
-#define _mm512_mask_srli_epi16(W, U, A, B)                              \
-  ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)(__m512i)(W), (__mmask32)(U)))
-
-#define _mm512_maskz_srli_epi16(U, A, B)                                \
-  ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)(U)))
-
-#define _mm512_slli_epi16(X, C)						   \
-  ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
-    (__v32hi)(__m512i)_mm512_setzero_hi(),\
-    (__mmask32)-1))
-
-#define _mm512_mask_slli_epi16(W, U, X, C)                                 \
-  ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
-    (__v32hi)(__m512i)(W),\
-    (__mmask32)(U)))
-
-#define _mm512_maskz_slli_epi16(U, X, C)                                   \
-  ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
-    (__v32hi)(__m512i)_mm512_setzero_hi(),\
-    (__mmask32)(U)))
-
-#define _mm512_shufflehi_epi16(A, B)                                                \
-  ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)_mm512_setzero_hi(), \
-                                             (__mmask32)-1))
-
-#define _mm512_mask_shufflehi_epi16(W, U, A, B)                                     \
-  ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)(W),                 \
-                                             (__mmask32)(U)))
-
-#define _mm512_maskz_shufflehi_epi16(U, A, B)                                       \
-  ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)_mm512_setzero_hi(), \
-                                             (__mmask32)(U)))
-
-#define _mm512_shufflelo_epi16(A, B)                                                \
-  ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)_mm512_setzero_hi(), \
-                                             (__mmask32)-1))
-
-#define _mm512_mask_shufflelo_epi16(W, U, A, B)                                     \
-  ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)(W),                 \
-                                             (__mmask32)(U)))
-
-#define _mm512_maskz_shufflelo_epi16(U, A, B)                                       \
-  ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
-                                             (__v32hi)(__m512i)_mm512_setzero_hi(), \
-                                             (__mmask32)(U)))
-
-#define _mm512_srai_epi16(A, B)                                         \
-  ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)-1))
-
-#define _mm512_mask_srai_epi16(W, U, A, B)                              \
-  ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)(__m512i)(W), (__mmask32)(U)))
-
-#define _mm512_maskz_srai_epi16(U, A, B)                                \
-  ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
-    (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)(U)))
-
-#define _mm512_mask_blend_epi16(__U, __A, __W)			      \
-  ((__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) (__A),	      \
-						    (__v32hi) (__W),  \
-						    (__mmask32) (__U)))
-
-#define _mm512_mask_blend_epi8(__U, __A, __W)			      \
-  ((__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) (__A),	      \
-						    (__v64qi) (__W),  \
-						    (__mmask64) (__U)))
-
-#define _mm512_cmp_epi16_mask(X, Y, P)				\
-  ((__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi)(__m512i)(X),	\
-					    (__v32hi)(__m512i)(Y), (int)(P),\
-					    (__mmask32)(-1)))
-
-#define _mm512_cmp_epi8_mask(X, Y, P)				\
-  ((__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi)(__m512i)(X),	\
-					    (__v64qi)(__m512i)(Y), (int)(P),\
-					    (__mmask64)(-1)))
-
-#define _mm512_cmp_epu16_mask(X, Y, P)				\
-  ((__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi)(__m512i)(X),	\
-					    (__v32hi)(__m512i)(Y), (int)(P),\
-					    (__mmask32)(-1)))
-
-#define _mm512_cmp_epu8_mask(X, Y, P)				\
-  ((__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi)(__m512i)(X),	\
-					    (__v64qi)(__m512i)(Y), (int)(P),\
-					    (__mmask64)(-1)))
-
-#define _mm512_mask_cmp_epi16_mask(M, X, Y, P)				\
-  ((__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi)(__m512i)(X),	\
-					    (__v32hi)(__m512i)(Y), (int)(P),\
-					    (__mmask32)(M)))
-
-#define _mm512_mask_cmp_epi8_mask(M, X, Y, P)				\
-  ((__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi)(__m512i)(X),	\
-					    (__v64qi)(__m512i)(Y), (int)(P),\
-					    (__mmask64)(M)))
-
-#define _mm512_mask_cmp_epu16_mask(M, X, Y, P)				\
-  ((__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi)(__m512i)(X),	\
-					    (__v32hi)(__m512i)(Y), (int)(P),\
-					    (__mmask32)(M)))
-
-#define _mm512_mask_cmp_epu8_mask(M, X, Y, P)				\
-  ((__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi)(__m512i)(X),	\
-					    (__v64qi)(__m512i)(Y), (int)(P),\
-					    (__mmask64)(M)))
-
-#define _mm512_bslli_epi128(A, N)                                         \
-  ((__m512i)__builtin_ia32_pslldq512 ((__m512i)(A), (int)(N) * 8))
-
-#define _mm512_bsrli_epi128(A, N)                                         \
-  ((__m512i)__builtin_ia32_psrldq512 ((__m512i)(A), (int)(N) * 8))
-
-#endif
-
-#ifdef __DISABLE_AVX512BW__
-#undef __DISABLE_AVX512BW__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512BW__ */
-
-#endif /* _AVX512BWINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512cdintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512cdintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,184 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512cdintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512CDINTRIN_H_INCLUDED
-#define _AVX512CDINTRIN_H_INCLUDED
-
-#ifndef __AVX512CD__
-#pragma GCC push_options
-#pragma GCC target("avx512cd")
-#define __DISABLE_AVX512CD__
-#endif /* __AVX512CD__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef long long __v8di __attribute__ ((__vector_size__ (64)));
-typedef int __v16si __attribute__ ((__vector_size__ (64)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
-typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
-
-typedef unsigned char  __mmask8;
-typedef unsigned short __mmask16;
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_conflict_epi32 (__m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
-					       (__v16si) _mm512_setzero_si512 (),
-					       (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
-							 (__v16si) __W,
-							 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
-					       (__v16si) _mm512_setzero_si512 (),
-					       (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_conflict_epi64 (__m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
-					       (__v8di) _mm512_setzero_si512 (),
-					       (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
-							 (__v8di) __W,
-							 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
-					       (__v8di) _mm512_setzero_si512 (),
-					       (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_lzcnt_epi64 (__m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
-					   (__v8di) _mm512_setzero_si512 (),
-					   (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
-					   (__v8di) _mm512_setzero_si512 (),
-					   (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_lzcnt_epi32 (__m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
-					   (__v16si) _mm512_setzero_si512 (),
-					   (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i)
-	 __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
-					   (__v16si) _mm512_setzero_si512 (),
-					   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastmb_epi64 (__mmask8 __A)
-{
-  return (__m512i) __builtin_ia32_broadcastmb512 (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastmw_epi32 (__mmask16 __A)
-{
-  return (__m512i) __builtin_ia32_broadcastmw512 (__A);
-}
-
-#ifdef __DISABLE_AVX512CD__
-#undef __DISABLE_AVX512CD__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512CD__ */
-
-#endif /* _AVX512CDINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512dqintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512dqintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,2301 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512dqintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512DQINTRIN_H_INCLUDED
-#define _AVX512DQINTRIN_H_INCLUDED
-
-#ifndef __AVX512DQ__
-#pragma GCC push_options
-#pragma GCC target("avx512dq")
-#define __DISABLE_AVX512DQ__
-#endif /* __AVX512DQ__ */
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_f64x2 (__m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
-							   __A,
-							   _mm512_undefined_pd(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_f64x2 (__m512d __O, __mmask8 __M, __m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
-							   __A,
-							   (__v8df)
-							   __O, __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
-							   __A,
-							   (__v8df)
-							   _mm512_setzero_ps (),
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_i64x2 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
-							   __A,
-							   _mm512_undefined_si512(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_i64x2 (__m512i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
-							   __A,
-							   (__v8di)
-							   __O, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
-							   __A,
-							   (__v8di)
-							   _mm512_setzero_si512 (),
-							   __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_f32x2 (__m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
-							  (__v16sf)_mm512_undefined_ps(),
-							  (__mmask16) -
-							  1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
-							  (__v16sf)
-							  __O, __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
-							  (__v16sf)
-							  _mm512_setzero_ps (),
-							  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_i32x2 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
-							   __A,
-							   (__v16si)_mm512_undefined_si512(),
-							   (__mmask16)
-							   -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
-							   __A,
-							   (__v16si)
-							   __O, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
-							   __A,
-							   (__v16si)
-							   _mm512_setzero_si512 (),
-							   __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_f32x8 (__m256 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
-							  _mm512_undefined_ps(),
-							  (__mmask16) -
-							  1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_f32x8 (__m512 __O, __mmask16 __M, __m256 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
-							  (__v16sf)__O,
-							  __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_f32x8 (__mmask16 __M, __m256 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
-							  (__v16sf)
-							  _mm512_setzero_ps (),
-							  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_i32x8 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
-							   __A,
-							   (__v16si)_mm512_undefined_si512(),
-							   (__mmask16)
-							   -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_i32x8 (__m512i __O, __mmask16 __M, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
-							   __A,
-							   (__v16si)__O,
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_i32x8 (__mmask16 __M, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
-							   __A,
-							   (__v16si)
-							   _mm512_setzero_si512 (),
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mullo_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A * (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
-			 __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_xor_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A,
-		    __m512d __B)
-{
-  return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_xor_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_or_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
-						(__v8df) __B,
-						(__v8df)
-						_mm512_setzero_pd (),
-						(__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
-						(__v8df) __B,
-						(__v8df) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
-						(__v8df) __B,
-						(__v8df)
-						_mm512_setzero_pd (),
-						(__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_or_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
-					       (__v16sf) __B,
-					       (__v16sf)
-					       _mm512_setzero_ps (),
-					       (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
-					       (__v16sf) __B,
-					       (__v16sf) __W,
-					       (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
-					       (__v16sf) __B,
-					       (__v16sf)
-					       _mm512_setzero_ps (),
-					       (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_and_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A,
-		    __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_and_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_andnot_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
-						  (__v8df) __B,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A,
-		       __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
-						  (__v8df) __B,
-						  (__v8df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
-						  (__v8df) __B,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_andnot_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
-						 (__v16sf) __B,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A,
-		       __m512 __B)
-{
-  return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
-						 (__v16sf) __B,
-						 (__v16sf) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
-						 (__v16sf) __B,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movepi32_mask (__m512i __A)
-{
-  return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movepi64_mask (__m512i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movm_epi32 (__mmask16 __A)
-{
-  return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movm_epi64 (__mmask8 __A)
-{
-  return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttpd_epi64 (__m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttpd_epi64 (__mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttpd_epu64 (__m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di) __W,
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttpd_epu64 (__mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttps_epi64 (__m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttps_epi64 (__mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttps_epu64 (__m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di) __W,
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtpd_epi64 (__m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtpd_epi64 (__mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtpd_epu64 (__m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtpd_epu64 (__mmask8 __U, __m512d __A)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_epi64 (__m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_epi64 (__mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_epu64 (__m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi64_ps (__m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi64_ps (__mmask8 __U, __m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu64_ps (__m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi64_pd (__m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu64_pd (__m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_range_pd (__m512d __A, __m512d __B, int __C)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_range_pd (__m512d __W, __mmask8 __U,
-		      __m512d __A, __m512d __B, int __C)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df) __W,
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_range_pd (__mmask8 __U, __m512d __A, __m512d __B, int __C)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_range_ps (__m512 __A, __m512 __B, int __C)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_range_ps (__m512 __W, __mmask16 __U,
-		      __m512 __A, __m512 __B, int __C)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf) __W,
-						  (__mmask16) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_range_ps (__mmask16 __U, __m512 __A, __m512 __B, int __C)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_reduce_sd (__m128d __A, __m128d __B, int __C)
-{
-  return (__m128d) __builtin_ia32_reducesd ((__v2df) __A,
-						 (__v2df) __B, __C);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_reduce_ss (__m128 __A, __m128 __B, int __C)
-{
-  return (__m128) __builtin_ia32_reducess ((__v4sf) __A,
-						(__v4sf) __B, __C);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_sd (__m128d __A, __m128d __B, int __C)
-{
-  return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A,
-						   (__v2df) __B, __C,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_ss (__m128 __A, __m128 __B, int __C)
-{
-  return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A,
-						  (__v4sf) __B, __C,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_round_sd (__m128d __A, __m128d __B, int __C, const int __R)
-{
-  return (__m128d) __builtin_ia32_rangesd128_round ((__v2df) __A,
-						   (__v2df) __B, __C,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_round_ss (__m128 __A, __m128 __B, int __C, const int __R)
-{
-  return (__m128) __builtin_ia32_rangess128_round ((__v4sf) __A,
-						  (__v4sf) __B, __C,
-						  __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fpclass_ss_mask (__m128 __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclassss ((__v4sf) __A, __imm);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fpclass_sd_mask (__m128d __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasssd ((__v2df) __A, __imm);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundpd_epi64 (__m512d __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundpd_epi64 (__mmask8 __U, __m512d __A,
-				 const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundpd_epu64 (__m512d __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) -1,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di) __W,
-						      (__mmask8) __U,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundpd_epu64 (__mmask8 __U, __m512d __A,
-				 const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundps_epi64 (__m256 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundps_epi64 (__mmask8 __U, __m256 __A,
-				 const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundps_epu64 (__m256 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) -1,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di) __W,
-						      (__mmask8) __U,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundps_epu64 (__mmask8 __U, __m256 __A,
-				 const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U,
-						      __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundpd_epi64 (__m512d __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) -1,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundpd_epi64 (__mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundpd_epu64 (__m512d __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundpd_epu64 (__mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_epi64 (__m256 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) -1,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_epi64 (__m512i __W, __mmask8 __U, __m256 __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_epi64 (__mmask8 __U, __m256 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_epu64 (__m256 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) -1,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_epu64 (__m512i __W, __mmask8 __U, __m256 __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_epu64 (__mmask8 __U, __m256 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepi64_ps (__m512i __A, const int __R)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) -1,
-						   __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepi64_ps (__m256 __W, __mmask8 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U,
-						   __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepi64_ps (__mmask8 __U, __m512i __A,
-				const int __R)
-{
-  return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U,
-						   __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepu64_ps (__m512i __A, const int __R)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1,
-						    __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepu64_ps (__m256 __W, __mmask8 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepu64_ps (__mmask8 __U, __m512i __A,
-				const int __R)
-{
-  return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepi64_pd (__m512i __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) -1,
-						    __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepi64_pd (__m512d __W, __mmask8 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepi64_pd (__mmask8 __U, __m512i __A,
-				const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U,
-						    __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepu64_pd (__m512i __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) -1,
-						     __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepu64_pd (__m512d __W, __mmask8 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df) __W,
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepu64_pd (__mmask8 __U, __m512i __A,
-				const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U,
-						     __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_reduce_pd (__m512d __A, int __B)
-{
-  return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_reduce_pd (__m512d __W, __mmask8 __U, __m512d __A, int __B)
-{
-  return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_reduce_pd (__mmask8 __U, __m512d __A, int __B)
-{
-  return (__m512d) __builtin_ia32_reducepd512_mask ((__v8df) __A, __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_reduce_ps (__m512 __A, int __B)
-{
-  return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_reduce_ps (__m512 __W, __mmask16 __U, __m512 __A, int __B)
-{
-  return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_reduce_ps (__mmask16 __U, __m512 __A, int __B)
-{
-  return (__m512) __builtin_ia32_reduceps512_mask ((__v16sf) __A, __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extractf32x8_ps (__m512 __A, const int __imm)
-{
-  return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
-						    __imm,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extractf32x8_ps (__m256 __W, __mmask8 __U, __m512 __A,
-			     const int __imm)
-{
-  return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
-						    __imm,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extractf32x8_ps (__mmask8 __U, __m512 __A,
-			      const int __imm)
-{
-  return (__m256) __builtin_ia32_extractf32x8_mask ((__v16sf) __A,
-						    __imm,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extractf64x2_pd (__m512d __A, const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
-							 __imm,
-							 (__v2df)
-							 _mm_setzero_pd (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extractf64x2_pd (__m128d __W, __mmask8 __U, __m512d __A,
-			     const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
-							 __imm,
-							 (__v2df) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extractf64x2_pd (__mmask8 __U, __m512d __A,
-			      const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df) __A,
-							 __imm,
-							 (__v2df)
-							 _mm_setzero_pd (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extracti32x8_epi32 (__m512i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
-						     __imm,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extracti32x8_epi32 (__m256i __W, __mmask8 __U, __m512i __A,
-				const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
-						     __imm,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extracti32x8_epi32 (__mmask8 __U, __m512i __A,
-				 const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti32x8_mask ((__v16si) __A,
-						     __imm,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extracti64x2_epi64 (__m512i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
-							 __imm,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extracti64x2_epi64 (__m128i __W, __mmask8 __U, __m512i __A,
-				const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
-							 __imm,
-							 (__v2di) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extracti64x2_epi64 (__mmask8 __U, __m512i __A,
-				 const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di) __A,
-							 __imm,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_range_round_pd (__m512d __A, __m512d __B, int __C,
-		       const int __R)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) -1,
-						   __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_range_round_pd (__m512d __W, __mmask8 __U,
-			    __m512d __A, __m512d __B, int __C,
-			    const int __R)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df) __W,
-						   (__mmask8) __U,
-						   __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_range_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			     int __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_rangepd512_mask ((__v8df) __A,
-						   (__v8df) __B, __C,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U,
-						   __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_range_round_ps (__m512 __A, __m512 __B, int __C, const int __R)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) -1,
-						  __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_range_round_ps (__m512 __W, __mmask16 __U,
-			    __m512 __A, __m512 __B, int __C,
-			    const int __R)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf) __W,
-						  (__mmask16) __U,
-						  __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_range_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			     int __C, const int __R)
-{
-  return (__m512) __builtin_ia32_rangeps512_mask ((__v16sf) __A,
-						  (__v16sf) __B, __C,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U,
-						  __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_inserti32x8 (__m512i __A, __m256i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
-						    (__v8si) __B,
-						    __imm,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_inserti32x8 (__m512i __W, __mmask16 __U, __m512i __A,
-			 __m256i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
-						    (__v8si) __B,
-						    __imm,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_inserti32x8 (__mmask16 __U, __m512i __A, __m256i __B,
-			  const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x8_mask ((__v16si) __A,
-						    (__v8si) __B,
-						    __imm,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_insertf32x8 (__m512 __A, __m256 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
-						   (__v8sf) __B,
-						   __imm,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_insertf32x8 (__m512 __W, __mmask16 __U, __m512 __A,
-			 __m256 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
-						   (__v8sf) __B,
-						   __imm,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_insertf32x8 (__mmask16 __U, __m512 __A, __m256 __B,
-			  const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x8_mask ((__v16sf) __A,
-						   (__v8sf) __B,
-						   __imm,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_inserti64x2 (__m512i __A, __m128i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v8di)
-							_mm512_setzero_si512 (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_inserti64x2 (__m512i __W, __mmask8 __U, __m512i __A,
-			 __m128i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v8di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_inserti64x2 (__mmask8 __U, __m512i __A, __m128i __B,
-			  const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v8di)
-							_mm512_setzero_si512 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_insertf64x2 (__m512d __A, __m128d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v8df)
-							_mm512_setzero_pd (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_insertf64x2 (__m512d __W, __mmask8 __U, __m512d __A,
-			 __m128d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v8df) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_insertf64x2 (__mmask8 __U, __m512d __A, __m128d __B,
-			  const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v8df)
-							_mm512_setzero_pd (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fpclass_pd_mask (__mmask8 __U, __m512d __A,
-			     const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A,
-						      __imm, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fpclass_pd_mask (__m512d __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) __A,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fpclass_ps_mask (__mmask16 __U, __m512 __A,
-			     const int __imm)
-{
-  return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A,
-						       __imm, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fpclass_ps_mask (__m512 __A, const int __imm)
-{
-  return (__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) __A,
-						       __imm,
-						       (__mmask16) -
-						       1);
-}
-
-#else
-#define _mm_range_sd(A, B, C)						\
-  ((__m128d) __builtin_ia32_rangesd128_round ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C),					\
-    _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_range_ss(A, B, C)						\
-  ((__m128) __builtin_ia32_rangess128_round ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C),					\
-    _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_range_round_sd(A, B, C, R)					\
-  ((__m128d) __builtin_ia32_rangesd128_round ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C), (R)))
-
-#define _mm_range_round_ss(A, B, C, R)					\
-  ((__m128) __builtin_ia32_rangess128_round ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C), (R)))
-
-#define _mm512_cvtt_roundpd_epi64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvtt_roundpd_epi64(W, U, A, B)  \
-    ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvtt_roundpd_epi64(U, A, B)    \
-    ((__m512i)__builtin_ia32_cvttpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvtt_roundpd_epu64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvtt_roundpd_epu64(W, U, A, B)  \
-    ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvtt_roundpd_epu64(U, A, B)    \
-    ((__m512i)__builtin_ia32_cvttpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvtt_roundps_epi64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvtt_roundps_epi64(W, U, A, B)  \
-    ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvtt_roundps_epi64(U, A, B)    \
-    ((__m512i)__builtin_ia32_cvttps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvtt_roundps_epu64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvtt_roundps_epu64(W, U, A, B)  \
-    ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvtt_roundps_epu64(U, A, B)    \
-    ((__m512i)__builtin_ia32_cvttps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvt_roundpd_epi64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvt_roundpd_epi64(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundpd_epi64(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtpd2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvt_roundpd_epu64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvt_roundpd_epu64(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundpd_epu64(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtpd2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvt_roundps_epi64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvt_roundps_epi64(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundps_epi64(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtps2qq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvt_roundps_epu64(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), -1, (B)))
-
-#define _mm512_mask_cvt_roundps_epu64(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)(W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundps_epu64(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtps2uqq512_mask((A), (__v8di)_mm512_setzero_si512 (), (U), (B)))
-
-#define _mm512_cvt_roundepi64_ps(A, B)		    \
-    ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), -1, (B)))
-
-#define _mm512_mask_cvt_roundepi64_ps(W, U, A, B)   \
-    ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundepi64_ps(U, A, B)     \
-    ((__m256)__builtin_ia32_cvtqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), (U), (B)))
-
-#define _mm512_cvt_roundepu64_ps(A, B)		    \
-    ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), -1, (B)))
-
-#define _mm512_mask_cvt_roundepu64_ps(W, U, A, B)   \
-    ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundepu64_ps(U, A, B)     \
-    ((__m256)__builtin_ia32_cvtuqq2ps512_mask((__v8di)(A), (__v8sf)_mm256_setzero_ps(), (U), (B)))
-
-#define _mm512_cvt_roundepi64_pd(A, B)		    \
-    ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), -1, (B)))
-
-#define _mm512_mask_cvt_roundepi64_pd(W, U, A, B)   \
-    ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundepi64_pd(U, A, B)     \
-    ((__m512d)__builtin_ia32_cvtqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), (U), (B)))
-
-#define _mm512_cvt_roundepu64_pd(A, B)		    \
-    ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), -1, (B)))
-
-#define _mm512_mask_cvt_roundepu64_pd(W, U, A, B)   \
-    ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (W), (U), (B)))
-
-#define _mm512_maskz_cvt_roundepu64_pd(U, A, B)     \
-    ((__m512d)__builtin_ia32_cvtuqq2pd512_mask((__v8di)(A), (__v8df)_mm512_setzero_pd(), (U), (B)))
-
-#define _mm512_reduce_pd(A, B)						\
-  ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
-    (int)(B), (__v8df)_mm512_setzero_pd(), (__mmask8)-1))
-
-#define _mm512_mask_reduce_pd(W, U, A, B)				\
-  ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
-    (int)(B), (__v8df)(__m512d)(W), (__mmask8)(U)))
-
-#define _mm512_maskz_reduce_pd(U, A, B)					\
-  ((__m512d) __builtin_ia32_reducepd512_mask ((__v8df)(__m512d)(A),	\
-    (int)(B), (__v8df)_mm512_setzero_pd(), (__mmask8)(U)))
-
-#define _mm512_reduce_ps(A, B)						\
-  ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
-    (int)(B), (__v16sf)_mm512_setzero_ps(), (__mmask16)-1))
-
-#define _mm512_mask_reduce_ps(W, U, A, B)				\
-  ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
-    (int)(B), (__v16sf)(__m512)(W), (__mmask16)(U)))
-
-#define _mm512_maskz_reduce_ps(U, A, B)					\
-  ((__m512) __builtin_ia32_reduceps512_mask ((__v16sf)(__m512)(A),	\
-    (int)(B), (__v16sf)_mm512_setzero_ps(), (__mmask16)(U)))
-
-#define _mm512_extractf32x8_ps(X, C)                                    \
-  ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
-    (int) (C), (__v8sf)(__m256) _mm256_setzero_ps(), (__mmask8)-1))
-
-#define _mm512_mask_extractf32x8_ps(W, U, X, C)                         \
-  ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
-    (int) (C), (__v8sf)(__m256) (W), (__mmask8) (U)))
-
-#define _mm512_maskz_extractf32x8_ps(U, X, C)                           \
-  ((__m256) __builtin_ia32_extractf32x8_mask ((__v16sf)(__m512) (X),    \
-    (int) (C), (__v8sf)(__m256) _mm256_setzero_ps(), (__mmask8) (U)))
-
-#define _mm512_extractf64x2_pd(X, C)                                    \
-  ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8)-1))
-
-#define _mm512_mask_extractf64x2_pd(W, U, X, C)                         \
-  ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (int) (C), (__v2df)(__m128d) (W), (__mmask8) (U)))
-
-#define _mm512_maskz_extractf64x2_pd(U, X, C)                           \
-  ((__m128d) __builtin_ia32_extractf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8) (U)))
-
-#define _mm512_extracti32x8_epi32(X, C)                                 \
-  ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
-    (int) (C), (__v8si)(__m256i) _mm256_setzero_si256(), (__mmask8)-1))
-
-#define _mm512_mask_extracti32x8_epi32(W, U, X, C)                      \
-  ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
-    (int) (C), (__v8si)(__m256i) (W), (__mmask8) (U)))
-
-#define _mm512_maskz_extracti32x8_epi32(U, X, C)                        \
-  ((__m256i) __builtin_ia32_extracti32x8_mask ((__v16si)(__m512i) (X),  \
-    (int) (C), (__v8si)(__m256i) _mm256_setzero_si256(), (__mmask8) (U)))
-
-#define _mm512_extracti64x2_epi64(X, C)                                 \
-  ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8)-1))
-
-#define _mm512_mask_extracti64x2_epi64(W, U, X, C)                      \
-  ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (int) (C), (__v2di)(__m128i) (W), (__mmask8) (U)))
-
-#define _mm512_maskz_extracti64x2_epi64(U, X, C)                        \
-  ((__m128i) __builtin_ia32_extracti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8) (U)))
-
-#define _mm512_range_pd(A, B, C)					\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)_mm512_setzero_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_range_pd(W, U, A, B, C)				\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_range_pd(U, A, B, C)				\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_range_ps(A, B, C)					\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_range_ps(W, U, A, B, C)				\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)(__m512)(W), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_range_ps(U, A, B, C)				\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_range_round_pd(A, B, C, R)					\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)_mm512_setzero_pd(), (__mmask8)-1, (R)))
-
-#define _mm512_mask_range_round_pd(W, U, A, B, C, R)				\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)(__m512d)(W), (__mmask8)(U), (R)))
-
-#define _mm512_maskz_range_round_pd(U, A, B, C, R)				\
-  ((__m512d) __builtin_ia32_rangepd512_mask ((__v8df)(__m512d)(A),	\
-    (__v8df)(__m512d)(B), (int)(C),					\
-    (__v8df)_mm512_setzero_pd(), (__mmask8)(U), (R)))
-
-#define _mm512_range_round_ps(A, B, C, R)					\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)_mm512_setzero_ps(), (__mmask16)-1, (R)))
-
-#define _mm512_mask_range_round_ps(W, U, A, B, C, R)				\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)(__m512)(W), (__mmask16)(U), (R)))
-
-#define _mm512_maskz_range_round_ps(U, A, B, C, R)				\
-  ((__m512) __builtin_ia32_rangeps512_mask ((__v16sf)(__m512)(A),	\
-    (__v16sf)(__m512)(B), (int)(C),					\
-    (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), (R)))
-
-#define _mm512_insertf64x2(X, Y, C)                                     \
-  ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C), (__v8df)(__m512d) (X),            \
-    (__mmask8)-1))
-
-#define _mm512_mask_insertf64x2(W, U, X, Y, C)                          \
-  ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C), (__v8df)(__m512d) (W),            \
-    (__mmask8) (U)))
-
-#define _mm512_maskz_insertf64x2(U, X, Y, C)                            \
-  ((__m512d) __builtin_ia32_insertf64x2_512_mask ((__v8df)(__m512d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C),                                   \
-    (__v8df)(__m512d) _mm512_setzero_pd(), (__mmask8) (U)))
-
-#define _mm512_inserti64x2(X, Y, C)                                     \
-  ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C), (__v8di)(__m512i) (X), (__mmask8)-1))
-
-#define _mm512_mask_inserti64x2(W, U, X, Y, C)                          \
-  ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C), (__v8di)(__m512i) (W),            \
-    (__mmask8) (U)))
-
-#define _mm512_maskz_inserti64x2(U, X, Y, C)                            \
-  ((__m512i) __builtin_ia32_inserti64x2_512_mask ((__v8di)(__m512i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C),                                   \
-    (__v8di)(__m512i) _mm512_setzero_si512 (), (__mmask8) (U)))
-
-#define _mm512_insertf32x8(X, Y, C)                                     \
-  ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
-    (__v8sf)(__m256) (Y), (int) (C),\
-    (__v16sf)(__m512)_mm512_setzero_ps(),\
-    (__mmask16)-1))
-
-#define _mm512_mask_insertf32x8(W, U, X, Y, C)                          \
-  ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
-    (__v8sf)(__m256) (Y), (int) (C),\
-    (__v16sf)(__m512)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_insertf32x8(U, X, Y, C)                            \
-  ((__m512) __builtin_ia32_insertf32x8_mask ((__v16sf)(__m512) (X),     \
-    (__v8sf)(__m256) (Y), (int) (C),\
-    (__v16sf)(__m512)_mm512_setzero_ps(),\
-    (__mmask16)(U)))
-
-#define _mm512_inserti32x8(X, Y, C)                                     \
-  ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
-    (__v8si)(__m256i) (Y), (int) (C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_inserti32x8(W, U, X, Y, C)                          \
-  ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
-    (__v8si)(__m256i) (Y), (int) (C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_inserti32x8(U, X, Y, C)                            \
-  ((__m512i) __builtin_ia32_inserti32x8_mask ((__v16si)(__m512i) (X),   \
-    (__v8si)(__m256i) (Y), (int) (C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-
-#define _mm_fpclass_ss_mask(X, C)						\
-  ((__mmask8) __builtin_ia32_fpclassss ((__v4sf) (__m128) (X), (int) (C)))  \
-
-#define _mm_fpclass_sd_mask(X, C)						\
-  ((__mmask8) __builtin_ia32_fpclasssd ((__v2df) (__m128d) (X), (int) (C))) \
-
-#define _mm512_mask_fpclass_pd_mask(u, X, C)                            \
-  ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
-						(int) (C), (__mmask8)(u)))
-
-#define _mm512_mask_fpclass_ps_mask(u, x, c)				\
-  ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
-						 (int) (c),(__mmask8)(u)))
-
-#define _mm512_fpclass_pd_mask(X, C)                                    \
-  ((__mmask8) __builtin_ia32_fpclasspd512_mask ((__v8df) (__m512d) (X), \
-						(int) (C), (__mmask8)-1))
-
-#define _mm512_fpclass_ps_mask(x, c)                                    \
-  ((__mmask16) __builtin_ia32_fpclassps512_mask ((__v16sf) (__m512) (x),\
-						 (int) (c),(__mmask8)-1))
-
-#define _mm_reduce_sd(A, B, C)						\
-  ((__m128d) __builtin_ia32_reducesd ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C)))					\
-
-#define _mm_reduce_ss(A, B, C)						\
-  ((__m128) __builtin_ia32_reducess ((__v4sf)(__m128)(A),		\
-    (__v4sf)(__m128)(A), (int)(C)))					\
-
-#endif
-
-#ifdef __DISABLE_AVX512DQ__
-#undef __DISABLE_AVX512DQ__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512DQ__ */
-
-#endif /* _AVX512DQINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512erintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512erintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,394 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512erintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512ERINTRIN_H_INCLUDED
-#define _AVX512ERINTRIN_H_INCLUDED
-
-#ifndef __AVX512ER__
-#pragma GCC push_options
-#pragma GCC target("avx512er")
-#define __DISABLE_AVX512ER__
-#endif /* __AVX512ER__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef double __v8df __attribute__ ((__vector_size__ (64)));
-typedef float __v16sf __attribute__ ((__vector_size__ (64)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
-typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
-
-typedef unsigned char  __mmask8;
-typedef unsigned short __mmask16;
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_exp2a23_round_pd (__m512d __A, int __R)
-{
-  __m512d __W;
-  return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
-					       (__v8df) __W,
-					       (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_exp2a23_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
-					       (__v8df) __W,
-					       (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_exp2a23_round_pd (__mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_exp2pd_mask ((__v8df) __A,
-					       (__v8df) _mm512_setzero_pd (),
-					       (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_exp2a23_round_ps (__m512 __A, int __R)
-{
-  __m512 __W;
-  return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
-					      (__v16sf) __W,
-					      (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_exp2a23_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
-					      (__v16sf) __W,
-					      (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_exp2a23_round_ps (__mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_exp2ps_mask ((__v16sf) __A,
-					      (__v16sf) _mm512_setzero_ps (),
-					      (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rcp28_round_pd (__m512d __A, int __R)
-{
-  __m512d __W;
-  return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
-						(__v8df) __W,
-						(__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rcp28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
-						(__v8df) __W,
-						(__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rcp28_round_pd (__mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_rcp28pd_mask ((__v8df) __A,
-						(__v8df) _mm512_setzero_pd (),
-						(__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rcp28_round_ps (__m512 __A, int __R)
-{
-  __m512 __W;
-  return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
-					       (__v16sf) __W,
-					       (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rcp28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
-					       (__v16sf) __W,
-					       (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rcp28_round_ps (__mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_rcp28ps_mask ((__v16sf) __A,
-					       (__v16sf) _mm512_setzero_ps (),
-					       (__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp28_round_sd (__m128d __A, __m128d __B, int __R)
-{
-  return (__m128d) __builtin_ia32_rcp28sd_round ((__v2df) __B,
-						 (__v2df) __A,
-						 __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp28_round_ss (__m128 __A, __m128 __B, int __R)
-{
-  return (__m128) __builtin_ia32_rcp28ss_round ((__v4sf) __B,
-						(__v4sf) __A,
-						__R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rsqrt28_round_pd (__m512d __A, int __R)
-{
-  __m512d __W;
-  return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
-						  (__v8df) __W,
-						  (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rsqrt28_round_pd (__m512d __W, __mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
-						  (__v8df) __W,
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rsqrt28_round_pd (__mmask8 __U, __m512d __A, int __R)
-{
-  return (__m512d) __builtin_ia32_rsqrt28pd_mask ((__v8df) __A,
-						  (__v8df) _mm512_setzero_pd (),
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rsqrt28_round_ps (__m512 __A, int __R)
-{
-  __m512 __W;
-  return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
-						 (__v16sf) __W,
-						 (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rsqrt28_round_ps (__m512 __W, __mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
-						 (__v16sf) __W,
-						 (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rsqrt28_round_ps (__mmask16 __U, __m512 __A, int __R)
-{
-  return (__m512) __builtin_ia32_rsqrt28ps_mask ((__v16sf) __A,
-						 (__v16sf) _mm512_setzero_ps (),
-						 (__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt28_round_sd (__m128d __A, __m128d __B, int __R)
-{
-  return (__m128d) __builtin_ia32_rsqrt28sd_round ((__v2df) __B,
-						   (__v2df) __A,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt28_round_ss (__m128 __A, __m128 __B, int __R)
-{
-  return (__m128) __builtin_ia32_rsqrt28ss_round ((__v4sf) __B,
-						  (__v4sf) __A,
-						  __R);
-}
-
-#else
-#define _mm512_exp2a23_round_pd(A, C)            \
-    __builtin_ia32_exp2pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
-
-#define _mm512_mask_exp2a23_round_pd(W, U, A, C) \
-    __builtin_ia32_exp2pd_mask(A, W, U, C)
-
-#define _mm512_maskz_exp2a23_round_pd(U, A, C)   \
-    __builtin_ia32_exp2pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_exp2a23_round_ps(A, C)            \
-    __builtin_ia32_exp2ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
-
-#define _mm512_mask_exp2a23_round_ps(W, U, A, C) \
-    __builtin_ia32_exp2ps_mask(A, W, U, C)
-
-#define _mm512_maskz_exp2a23_round_ps(U, A, C)   \
-    __builtin_ia32_exp2ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm512_rcp28_round_pd(A, C)            \
-    __builtin_ia32_rcp28pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
-
-#define _mm512_mask_rcp28_round_pd(W, U, A, C) \
-    __builtin_ia32_rcp28pd_mask(A, W, U, C)
-
-#define _mm512_maskz_rcp28_round_pd(U, A, C)   \
-    __builtin_ia32_rcp28pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_rcp28_round_ps(A, C)            \
-    __builtin_ia32_rcp28ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
-
-#define _mm512_mask_rcp28_round_ps(W, U, A, C) \
-    __builtin_ia32_rcp28ps_mask(A, W, U, C)
-
-#define _mm512_maskz_rcp28_round_ps(U, A, C)   \
-    __builtin_ia32_rcp28ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm512_rsqrt28_round_pd(A, C)            \
-    __builtin_ia32_rsqrt28pd_mask(A, (__v8df)_mm512_setzero_pd(), -1, C)
-
-#define _mm512_mask_rsqrt28_round_pd(W, U, A, C) \
-    __builtin_ia32_rsqrt28pd_mask(A, W, U, C)
-
-#define _mm512_maskz_rsqrt28_round_pd(U, A, C)   \
-    __builtin_ia32_rsqrt28pd_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_rsqrt28_round_ps(A, C)            \
-    __builtin_ia32_rsqrt28ps_mask(A, (__v16sf)_mm512_setzero_ps(), -1, C)
-
-#define _mm512_mask_rsqrt28_round_ps(W, U, A, C) \
-    __builtin_ia32_rsqrt28ps_mask(A, W, U, C)
-
-#define _mm512_maskz_rsqrt28_round_ps(U, A, C)   \
-    __builtin_ia32_rsqrt28ps_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm_rcp28_round_sd(A, B, R)	\
-    __builtin_ia32_rcp28sd_round(A, B, R)
-
-#define _mm_rcp28_round_ss(A, B, R)	\
-    __builtin_ia32_rcp28ss_round(A, B, R)
-
-#define _mm_rsqrt28_round_sd(A, B, R)	\
-    __builtin_ia32_rsqrt28sd_round(A, B, R)
-
-#define _mm_rsqrt28_round_ss(A, B, R)	\
-    __builtin_ia32_rsqrt28ss_round(A, B, R)
-
-#endif
-
-#define _mm512_exp2a23_pd(A)                    \
-    _mm512_exp2a23_round_pd(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_exp2a23_pd(W, U, A)   \
-    _mm512_mask_exp2a23_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_exp2a23_pd(U, A)     \
-    _mm512_maskz_exp2a23_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_exp2a23_ps(A)                    \
-    _mm512_exp2a23_round_ps(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_exp2a23_ps(W, U, A)   \
-    _mm512_mask_exp2a23_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_exp2a23_ps(U, A)     \
-    _mm512_maskz_exp2a23_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_rcp28_pd(A)                    \
-    _mm512_rcp28_round_pd(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_rcp28_pd(W, U, A)   \
-    _mm512_mask_rcp28_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_rcp28_pd(U, A)     \
-    _mm512_maskz_rcp28_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_rcp28_ps(A)                    \
-    _mm512_rcp28_round_ps(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_rcp28_ps(W, U, A)   \
-    _mm512_mask_rcp28_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_rcp28_ps(U, A)     \
-    _mm512_maskz_rcp28_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_rsqrt28_pd(A)                    \
-    _mm512_rsqrt28_round_pd(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_rsqrt28_pd(W, U, A)   \
-    _mm512_mask_rsqrt28_round_pd(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_rsqrt28_pd(U, A)     \
-    _mm512_maskz_rsqrt28_round_pd(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_rsqrt28_ps(A)                    \
-    _mm512_rsqrt28_round_ps(A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_mask_rsqrt28_ps(W, U, A)   \
-    _mm512_mask_rsqrt28_round_ps(W, U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm512_maskz_rsqrt28_ps(U, A)     \
-    _mm512_maskz_rsqrt28_round_ps(U, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm_rcp28_sd(A, B)	\
-    __builtin_ia32_rcp28sd_round(B, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm_rcp28_ss(A, B)	\
-    __builtin_ia32_rcp28ss_round(B, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm_rsqrt28_sd(A, B)	\
-    __builtin_ia32_rsqrt28sd_round(B, A, _MM_FROUND_CUR_DIRECTION)
-
-#define _mm_rsqrt28_ss(A, B)	\
-    __builtin_ia32_rsqrt28ss_round(B, A, _MM_FROUND_CUR_DIRECTION)
-
-#ifdef __DISABLE_AVX512ER__
-#undef __DISABLE_AVX512ER__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512ER__ */
-
-#endif /* _AVX512ERINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512fintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512fintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,13142 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512fintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512FINTRIN_H_INCLUDED
-#define _AVX512FINTRIN_H_INCLUDED
-
-#ifndef __AVX512F__
-#pragma GCC push_options
-#pragma GCC target("avx512f")
-#define __DISABLE_AVX512F__
-#endif /* __AVX512F__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef double __v8df __attribute__ ((__vector_size__ (64)));
-typedef float __v16sf __attribute__ ((__vector_size__ (64)));
-typedef long long __v8di __attribute__ ((__vector_size__ (64)));
-typedef unsigned long long __v8du __attribute__ ((__vector_size__ (64)));
-typedef int __v16si __attribute__ ((__vector_size__ (64)));
-typedef unsigned int __v16su __attribute__ ((__vector_size__ (64)));
-typedef short __v32hi __attribute__ ((__vector_size__ (64)));
-typedef unsigned short __v32hu __attribute__ ((__vector_size__ (64)));
-typedef char __v64qi __attribute__ ((__vector_size__ (64)));
-typedef unsigned char __v64qu __attribute__ ((__vector_size__ (64)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
-typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
-typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
-
-typedef unsigned char  __mmask8;
-typedef unsigned short __mmask16;
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set_epi64 (long long __A, long long __B, long long __C,
-		  long long __D, long long __E, long long __F,
-		  long long __G, long long __H)
-{
-  return __extension__ (__m512i) (__v8di)
-	 { __H, __G, __F, __E, __D, __C, __B, __A };
-}
-
-/* Create the vector [A B C D E F G H I J K L M N O P].  */
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set_epi32 (int __A, int __B, int __C, int __D,
-		  int __E, int __F, int __G, int __H,
-		  int __I, int __J, int __K, int __L,
-		  int __M, int __N, int __O, int __P)
-{
-  return __extension__ (__m512i)(__v16si)
-	 { __P, __O, __N, __M, __L, __K, __J, __I,
-	   __H, __G, __F, __E, __D, __C, __B, __A };
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set_pd (double __A, double __B, double __C, double __D,
-	       double __E, double __F, double __G, double __H)
-{
-  return __extension__ (__m512d)
-	 { __H, __G, __F, __E, __D, __C, __B, __A };
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set_ps (float __A, float __B, float __C, float __D,
-	       float __E, float __F, float __G, float __H,
-	       float __I, float __J, float __K, float __L,
-	       float __M, float __N, float __O, float __P)
-{
-  return __extension__ (__m512)
-	 { __P, __O, __N, __M, __L, __K, __J, __I,
-	   __H, __G, __F, __E, __D, __C, __B, __A };
-}
-
-#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7)			      \
-  _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0)
-
-#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7,			      \
-			  e8,e9,e10,e11,e12,e13,e14,e15)		      \
-  _mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
-
-#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7)				      \
-  _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0)
-
-#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
-  _mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_undefined_ps (void)
-{
-  __m512 __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_undefined_pd (void)
-{
-  __m512d __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_undefined_si512 (void)
-{
-  __m512i __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_epi8 (char __A)
-{
-  return __extension__ (__m512i)(__v64qi)
-	 { __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_epi16 (short __A)
-{
-  return __extension__ (__m512i)(__v32hi)
-	 { __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A,
-	   __A, __A, __A, __A, __A, __A, __A, __A };
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_pd (double __A)
-{
-  return (__m512d) __builtin_ia32_broadcastsd512 (__extension__
-						  (__v2df) { __A, },
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_ps (float __A)
-{
-  return (__m512) __builtin_ia32_broadcastss512 (__extension__
-						 (__v4sf) { __A, },
-						 (__v16sf)
-						 _mm512_undefined_ps (),
-						 (__mmask16) -1);
-}
-
-/* Create the vector [A B C D A B C D A B C D A B C D].  */
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set4_epi32 (int __A, int __B, int __C, int __D)
-{
-  return __extension__ (__m512i)(__v16si)
-	 { __D, __C, __B, __A, __D, __C, __B, __A,
-	   __D, __C, __B, __A, __D, __C, __B, __A };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set4_epi64 (long long __A, long long __B, long long __C,
-		   long long __D)
-{
-  return __extension__ (__m512i) (__v8di)
-	 { __D, __C, __B, __A, __D, __C, __B, __A };
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set4_pd (double __A, double __B, double __C, double __D)
-{
-  return __extension__ (__m512d)
-	 { __D, __C, __B, __A, __D, __C, __B, __A };
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set4_ps (float __A, float __B, float __C, float __D)
-{
-  return __extension__ (__m512)
-	 { __D, __C, __B, __A, __D, __C, __B, __A,
-	   __D, __C, __B, __A, __D, __C, __B, __A };
-}
-
-#define _mm512_setr4_epi64(e0,e1,e2,e3)					      \
-  _mm512_set4_epi64(e3,e2,e1,e0)
-
-#define _mm512_setr4_epi32(e0,e1,e2,e3)					      \
-  _mm512_set4_epi32(e3,e2,e1,e0)
-
-#define _mm512_setr4_pd(e0,e1,e2,e3)					      \
-  _mm512_set4_pd(e3,e2,e1,e0)
-
-#define _mm512_setr4_ps(e0,e1,e2,e3)					      \
-  _mm512_set4_ps(e3,e2,e1,e0)
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_ps (void)
-{
-  return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-				 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_pd (void)
-{
-  return __extension__ (__m512d) { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_epi32 (void)
-{
-  return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_setzero_si512 (void)
-{
-  return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A,
-						  (__v8df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A,
-						 (__v16sf) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_load_pd (void const *__P)
-{
-  return *(__m512d *) __P;
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_load_pd (__m512d __W, __mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P,
-						   (__v8df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_load_pd (__mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_store_pd (void *__P, __m512d __A)
-{
-  *(__m512d *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_store_pd (void *__P, __mmask8 __U, __m512d __A)
-{
-  __builtin_ia32_storeapd512_mask ((__v8df *) __P, (__v8df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_load_ps (void const *__P)
-{
-  return *(__m512 *) __P;
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_load_ps (__m512 __W, __mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P,
-						  (__v16sf) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_load_ps (__mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_store_ps (void *__P, __m512 __A)
-{
-  *(__m512 *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_store_ps (void *__P, __mmask16 __U, __m512 __A)
-{
-  __builtin_ia32_storeaps512_mask ((__v16sf *) __P, (__v16sf) __A,
-				   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A,
-						     (__v8di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_load_epi64 (void const *__P)
-{
-  return *(__m512i *) __P;
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_load_epi64 (__m512i __W, __mmask8 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P,
-							(__v8di) __W,
-							(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_load_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P,
-							(__v8di)
-							_mm512_setzero_si512 (),
-							(__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_store_epi64 (void *__P, __m512i __A)
-{
-  *(__m512i *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
-{
-  __builtin_ia32_movdqa64store512_mask ((__v8di *) __P, (__v8di) __A,
-					(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mov_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mov_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_load_si512 (void const *__P)
-{
-  return *(__m512i *) __P;
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_load_epi32 (void const *__P)
-{
-  return *(__m512i *) __P;
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_load_epi32 (__m512i __W, __mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P,
-							(__v16si) __W,
-							(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_load_epi32 (__mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P,
-							(__v16si)
-							_mm512_setzero_si512 (),
-							(__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_store_si512 (void *__P, __m512i __A)
-{
-  *(__m512i *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_store_epi32 (void *__P, __m512i __A)
-{
-  *(__m512i *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_store_epi32 (void *__P, __mmask16 __U, __m512i __A)
-{
-  __builtin_ia32_movdqa32store512_mask ((__v16si *) __P, (__v16si) __A,
-					(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mullo_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A * (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mullo_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mullo_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sllv_epi32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sllv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sllv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srav_epi32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srav_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srav_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srlv_epi32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srlv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srlv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A + (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A - (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sllv_epi64 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sllv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sllv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srav_epi64 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srav_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srav_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srlv_epi64 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srlv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srlv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
-						 (__v8di) __Y,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A + (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_epi32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_epi32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_epi32 (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
-						  (__v16si) __Y,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A - (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_epu32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
-						   (__v16si) __Y,
-						   (__v8di)
-						   _mm512_undefined_si512 (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_epu32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
-						   (__v16si) __Y,
-						   (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_epu32 (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
-						   (__v16si) __Y,
-						   (__v8di)
-						   _mm512_setzero_si512 (),
-						   __M);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_slli_epi64 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_slli_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
-			unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_slli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-#else
-#define _mm512_slli_epi64(X, C)						   \
-  ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_slli_epi64(W, U, X, C)				   \
-  ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_slli_epi64(U, X, C)                                   \
-  ((__m512i) __builtin_ia32_psllqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask8)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sll_epi64 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sll_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sll_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srli_epi64 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srli_epi64 (__m512i __W, __mmask8 __U,
-			__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srli_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrlqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-#else
-#define _mm512_srli_epi64(X, C)						   \
-  ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_srli_epi64(W, U, X, C)				   \
-  ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_srli_epi64(U, X, C)                                   \
-  ((__m512i) __builtin_ia32_psrlqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask8)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srl_epi64 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srl_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srl_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srai_epi64 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srai_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
-			unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srai_epi64 (__mmask8 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psraqi512_mask ((__v8di) __A, __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-#else
-#define _mm512_srai_epi64(X, C)						   \
-  ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_srai_epi64(W, U, X, C)				   \
-  ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_srai_epi64(U, X, C)				   \
-  ((__m512i) __builtin_ia32_psraqi512_mask ((__v8di)(__m512i)(X), (int)(C),\
-    (__v8di)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask8)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sra_epi64 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sra_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sra_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
-						 (__v2di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_slli_epi32 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_slli_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_slli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_pslldi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-#else
-#define _mm512_slli_epi32(X, C)						    \
-  ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_slli_epi32(W, U, X, C)                                  \
-  ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_slli_epi32(U, X, C)                                    \
-  ((__m512i) __builtin_ia32_pslldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sll_epi32 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sll_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sll_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srli_epi32 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srli_epi32 (__m512i __W, __mmask16 __U,
-			__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srli_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psrldi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-#else
-#define _mm512_srli_epi32(X, C)						    \
-  ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_srli_epi32(W, U, X, C)                                  \
-  ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_srli_epi32(U, X, C)				    \
-  ((__m512i) __builtin_ia32_psrldi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srl_epi32 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srl_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srl_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_srai_epi32 (__m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_srai_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_srai_epi32 (__mmask16 __U, __m512i __A, unsigned int __B)
-{
-  return (__m512i) __builtin_ia32_psradi512_mask ((__v16si) __A, __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-#else
-#define _mm512_srai_epi32(X, C)						    \
-  ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_srai_epi32(W, U, X, C)				    \
-  ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_srai_epi32(U, X, C)				    \
-  ((__m512i) __builtin_ia32_psradi512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sra_epi32 (__m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sra_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sra_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
-{
-  return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
-						 (__v4si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_addsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_addss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_subsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_subss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-#else
-#define _mm_add_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_addsd_round(A, B, C)
-
-#define _mm_add_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_addss_round(A, B, C)
-
-#define _mm_sub_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_subsd_round(A, B, C)
-
-#define _mm_sub_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_subss_round(A, B, C)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ternarylogic_epi64 (__m512i __A, __m512i __B, __m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogq512_mask ((__v8di) __A,
-						     (__v8di) __B,
-						     (__v8di) __C, imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ternarylogic_epi64 (__m512i __A, __mmask8 __U, __m512i __B,
-				__m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogq512_mask ((__v8di) __A,
-						     (__v8di) __B,
-						     (__v8di) __C, imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ternarylogic_epi64 (__mmask8 __U, __m512i __A, __m512i __B,
-				 __m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogq512_maskz ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di) __C,
-						      imm, (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ternarylogic_epi32 (__m512i __A, __m512i __B, __m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogd512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si) __C,
-						     imm, (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ternarylogic_epi32 (__m512i __A, __mmask16 __U, __m512i __B,
-				__m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogd512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si) __C,
-						     imm, (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ternarylogic_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
-				 __m512i __C, const int imm)
-{
-  return (__m512i) __builtin_ia32_pternlogd512_maskz ((__v16si) __A,
-						      (__v16si) __B,
-						      (__v16si) __C,
-						      imm, (__mmask16) __U);
-}
-#else
-#define _mm512_ternarylogic_epi64(A, B, C, I)				\
-  ((__m512i) __builtin_ia32_pternlogq512_mask ((__v8di)(__m512i)(A),	\
-    (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), (int)(I), (__mmask8)-1))
-#define _mm512_mask_ternarylogic_epi64(A, U, B, C, I)			\
-  ((__m512i) __builtin_ia32_pternlogq512_mask ((__v8di)(__m512i)(A),	\
-    (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), (int)(I), (__mmask8)(U)))
-#define _mm512_maskz_ternarylogic_epi64(U, A, B, C, I)			\
-  ((__m512i) __builtin_ia32_pternlogq512_maskz ((__v8di)(__m512i)(A),	\
-    (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), (int)(I), (__mmask8)(U)))
-#define _mm512_ternarylogic_epi32(A, B, C, I)				\
-  ((__m512i) __builtin_ia32_pternlogd512_mask ((__v16si)(__m512i)(A),	\
-    (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), (int)(I),		\
-    (__mmask16)-1))
-#define _mm512_mask_ternarylogic_epi32(A, U, B, C, I)			\
-  ((__m512i) __builtin_ia32_pternlogd512_mask ((__v16si)(__m512i)(A),	\
-    (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), (int)(I),		\
-    (__mmask16)(U)))
-#define _mm512_maskz_ternarylogic_epi32(U, A, B, C, I)			\
-  ((__m512i) __builtin_ia32_pternlogd512_maskz ((__v16si)(__m512i)(A),	\
-    (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), (int)(I),		\
-    (__mmask16)(U)))
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rcp14_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rcp14_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
-						   (__v8df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rcp14_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rcp14_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
-						  (__v16sf)
-						  _mm512_undefined_ps (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rcp14_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
-						  (__v16sf) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rcp14_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp14_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_rcp14sd ((__v2df) __B,
-					   (__v2df) __A);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp14_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_rcp14ss ((__v4sf) __B,
-					  (__v4sf) __A);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rsqrt14_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
-						     (__v8df)
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rsqrt14_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
-						     (__v8df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rsqrt14_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rsqrt14_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rsqrt14_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rsqrt14_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt14_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df) __B,
-					     (__v2df) __A);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt14_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf) __B,
-					    (__v4sf) __A);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sqrt_round_pd (__m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sqrt_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df) __W,
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sqrt_round_pd (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sqrt_round_ps (__m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf)
-						 _mm512_undefined_ps (),
-						 (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sqrt_round_ps (__m512 __W, __mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf) __W,
-						 (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sqrt_round_ps (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_sqrtsd_round ((__v2df) __B,
-						(__v2df) __A,
-						__R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_sqrtss_round ((__v4sf) __B,
-					       (__v4sf) __A,
-					       __R);
-}
-#else
-#define _mm512_sqrt_round_pd(A, C)            \
-    (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_sqrt_round_pd(W, U, A, C) \
-    (__m512d)__builtin_ia32_sqrtpd512_mask(A, W, U, C)
-
-#define _mm512_maskz_sqrt_round_pd(U, A, C)   \
-    (__m512d)__builtin_ia32_sqrtpd512_mask(A, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_sqrt_round_ps(A, C)            \
-    (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_sqrt_round_ps(W, U, A, C) \
-    (__m512)__builtin_ia32_sqrtps512_mask(A, W, U, C)
-
-#define _mm512_maskz_sqrt_round_ps(U, A, C)   \
-    (__m512)__builtin_ia32_sqrtps512_mask(A, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm_sqrt_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_sqrtsd_round(A, B, C)
-
-#define _mm_sqrt_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_sqrtss_round(A, B, C)
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi8_epi32 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi8_epi32 (__m512i __W, __mmask16 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi8_epi32 (__mmask16 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi8_epi64 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi8_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi16_epi32 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi16_epi32 (__m512i __W, __mmask16 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi16_epi32 (__mmask16 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi16_epi64 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi16_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi32_epi64 (__m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_epi64 (__m512i __W, __mmask8 __U, __m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi32_epi64 (__mmask8 __U, __m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu8_epi32 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu8_epi32 (__m512i __W, __mmask16 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu8_epi32 (__mmask16 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu8_epi64 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu8_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu16_epi32 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu16_epi32 (__m512i __W, __mmask16 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu16_epi32 (__mmask16 __U, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu16_epi64 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu16_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu32_epi64 (__m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu32_epi64 (__m512i __W, __mmask8 __U, __m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu32_epi64 (__mmask8 __U, __m256i __X)
-{
-  return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			  __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			  __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-#else
-#define _mm512_add_round_pd(A, B, C)            \
-    (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_add_round_pd(W, U, A, B, C) \
-    (__m512d)__builtin_ia32_addpd512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_add_round_pd(U, A, B, C)   \
-    (__m512d)__builtin_ia32_addpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_add_round_ps(A, B, C)            \
-    (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_add_round_ps(W, U, A, B, C) \
-    (__m512)__builtin_ia32_addps512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_add_round_ps(U, A, B, C)   \
-    (__m512)__builtin_ia32_addps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm512_sub_round_pd(A, B, C)            \
-    (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_sub_round_pd(W, U, A, B, C) \
-    (__m512d)__builtin_ia32_subpd512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_sub_round_pd(U, A, B, C)   \
-    (__m512d)__builtin_ia32_subpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_sub_round_ps(A, B, C)            \
-    (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_sub_round_ps(W, U, A, B, C) \
-    (__m512)__builtin_ia32_subps512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_sub_round_ps(U, A, B, C)   \
-    (__m512)__builtin_ia32_subps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			  __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_div_round_pd (__m512d __M, __m512d __V, const int __R)
-{
-  return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
-						 (__v8df) __V,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_div_round_pd (__m512d __W, __mmask8 __U, __m512d __M,
-			  __m512d __V, const int __R)
-{
-  return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
-						 (__v8df) __V,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_div_round_pd (__mmask8 __U, __m512d __M, __m512d __V,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
-						 (__v8df) __V,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_div_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_div_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_div_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_mulsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_mulss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_divsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_divss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-#else
-#define _mm512_mul_round_pd(A, B, C)            \
-    (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_mul_round_pd(W, U, A, B, C) \
-    (__m512d)__builtin_ia32_mulpd512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_mul_round_pd(U, A, B, C)   \
-    (__m512d)__builtin_ia32_mulpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_mul_round_ps(A, B, C)            \
-    (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_mul_round_ps(W, U, A, B, C) \
-    (__m512)__builtin_ia32_mulps512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_mul_round_ps(U, A, B, C)   \
-    (__m512)__builtin_ia32_mulps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm512_div_round_pd(A, B, C)            \
-    (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_div_round_pd(W, U, A, B, C) \
-    (__m512d)__builtin_ia32_divpd512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_div_round_pd(U, A, B, C)   \
-    (__m512d)__builtin_ia32_divpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_div_round_ps(A, B, C)            \
-    (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_div_round_ps(W, U, A, B, C) \
-    (__m512)__builtin_ia32_divps512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_div_round_ps(U, A, B, C)   \
-    (__m512)__builtin_ia32_divps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm_mul_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_mulsd_round(A, B, C)
-
-#define _mm_mul_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_mulss_round(A, B, C)
-
-#define _mm_div_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_divsd_round(A, B, C)
-
-#define _mm_div_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_divss_round(A, B, C)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			  __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			  __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			   const int __R)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			  __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_round_ps (__mmask16 __U, __m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U, __R);
-}
-#else
-#define _mm512_max_round_pd(A, B,  R) \
-    (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
-
-#define _mm512_mask_max_round_pd(W, U,  A, B, R) \
-    (__m512d)__builtin_ia32_maxpd512_mask(A, B, W, U, R)
-
-#define _mm512_maskz_max_round_pd(U, A,  B, R) \
-    (__m512d)__builtin_ia32_maxpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
-
-#define _mm512_max_round_ps(A, B,  R) \
-    (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_undefined_pd(), -1, R)
-
-#define _mm512_mask_max_round_ps(W, U,  A, B, R) \
-    (__m512)__builtin_ia32_maxps512_mask(A, B, W, U, R)
-
-#define _mm512_maskz_max_round_ps(U, A,  B, R) \
-    (__m512)__builtin_ia32_maxps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, R)
-
-#define _mm512_min_round_pd(A, B,  R) \
-    (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, R)
-
-#define _mm512_mask_min_round_pd(W, U,  A, B, R) \
-    (__m512d)__builtin_ia32_minpd512_mask(A, B, W, U, R)
-
-#define _mm512_maskz_min_round_pd(U, A,  B, R) \
-    (__m512d)__builtin_ia32_minpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, R)
-
-#define _mm512_min_round_ps(A, B, R) \
-    (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, R)
-
-#define _mm512_mask_min_round_ps(W, U,  A, B, R) \
-    (__m512)__builtin_ia32_minps512_mask(A, B, W, U, R)
-
-#define _mm512_maskz_min_round_ps(U, A,  B, R) \
-    (__m512)__builtin_ia32_minps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, R)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_scalef_round_pd (__m512d __A, __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_scalef_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			     __m512d __B, const int __R)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __W,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_scalef_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			      const int __R)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_scalef_round_ps (__m512 __A, __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_scalef_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			     __m512 __B, const int __R)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __W,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_scalef_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			      const int __R)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_scalefsd_round ((__v2df) __A,
-						  (__v2df) __B,
-						  __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_scalefss_round ((__v4sf) __A,
-						 (__v4sf) __B,
-						 __R);
-}
-#else
-#define _mm512_scalef_round_pd(A, B, C)            \
-    (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_undefined_pd(), -1, C)
-
-#define _mm512_mask_scalef_round_pd(W, U, A, B, C) \
-    (__m512d)__builtin_ia32_scalefpd512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_scalef_round_pd(U, A, B, C)   \
-    (__m512d)__builtin_ia32_scalefpd512_mask(A, B, (__v8df)_mm512_setzero_pd(), U, C)
-
-#define _mm512_scalef_round_ps(A, B, C)            \
-    (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_undefined_ps(), -1, C)
-
-#define _mm512_mask_scalef_round_ps(W, U, A, B, C) \
-    (__m512)__builtin_ia32_scalefps512_mask(A, B, W, U, C)
-
-#define _mm512_maskz_scalef_round_ps(U, A, B, C)   \
-    (__m512)__builtin_ia32_scalefps512_mask(A, B, (__v16sf)_mm512_setzero_ps(), U, C)
-
-#define _mm_scalef_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_scalefsd_round(A, B, C)
-
-#define _mm_scalef_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_scalefss_round(A, B, C)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			    __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmadd_round_pd (__m512d __A, __m512d __B, __m512d __C,
-			     __mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			     __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			    __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmadd_round_ps (__m512 __A, __m512 __B, __m512 __C,
-			     __mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			     __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			    __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsub_round_pd (__m512d __A, __m512d __B, __m512d __C,
-			     __mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			     __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
-						     (__v8df) __B,
-						     -(__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			    __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsub_round_ps (__m512 __A, __m512 __B, __m512 __C,
-			     __mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			     __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
-						    (__v16sf) __B,
-						    -(__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmaddsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8df) __C,
-						       (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmaddsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			       __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8df) __C,
-						       (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmaddsub_round_pd (__m512d __A, __m512d __B, __m512d __C,
-				__mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmaddsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-				__m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmaddsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16sf) __C,
-						      (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmaddsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			       __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16sf) __C,
-						      (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmaddsub_round_ps (__m512 __A, __m512 __B, __m512 __C,
-				__mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmaddsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-				__m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsubadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       -(__v8df) __C,
-						       (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsubadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			       __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       -(__v8df) __C,
-						       (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsubadd_round_pd (__m512d __A, __m512d __B, __m512d __C,
-				__mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsubadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-				__m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
-							(__v8df) __B,
-							-(__v8df) __C,
-							(__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsubadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      -(__v16sf) __C,
-						      (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsubadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			       __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      -(__v16sf) __C,
-						      (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsubadd_round_ps (__m512 __A, __m512 __B, __m512 __C,
-				__mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsubadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-				__m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
-						       (__v16sf) __B,
-						       -(__v16sf) __C,
-						       (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmadd_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmadd_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			     __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmadd_round_pd (__m512d __A, __m512d __B, __m512d __C,
-			      __mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmadd_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			      __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmadd_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmadd_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			     __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmadd_round_ps (__m512 __A, __m512 __B, __m512 __C,
-			      __mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmadd_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			      __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmsub_round_pd (__m512d __A, __m512d __B, __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmsub_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			     __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmsub_round_pd (__m512d __A, __m512d __B, __m512d __C,
-			      __mmask8 __U, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8df) __C,
-						      (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmsub_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			      __m512d __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
-						     (__v8df) __B,
-						     -(__v8df) __C,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmsub_round_ps (__m512 __A, __m512 __B, __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmsub_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			     __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmsub_round_ps (__m512 __A, __m512 __B, __m512 __C,
-			      __mmask16 __U, const int __R)
-{
-  return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16sf) __C,
-						     (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmsub_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			      __m512 __C, const int __R)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    -(__v16sf) __C,
-						    (__mmask16) __U, __R);
-}
-#else
-#define _mm512_fmadd_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, C, -1, R)
-
-#define _mm512_mask_fmadd_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fmadd_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmadd_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_maskz(A, B, C, U, R)
-
-#define _mm512_fmadd_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddps512_mask(A, B, C, -1, R)
-
-#define _mm512_mask_fmadd_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfmaddps512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fmadd_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmadd_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_maskz(A, B, C, U, R)
-
-#define _mm512_fmsub_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, -(C), -1, R)
-
-#define _mm512_mask_fmsub_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, -(C), U, R)
-
-#define _mm512_mask3_fmsub_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfmsubpd512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmsub_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_maskz(A, B, -(C), U, R)
-
-#define _mm512_fmsub_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddps512_mask(A, B, -(C), -1, R)
-
-#define _mm512_mask_fmsub_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfmaddps512_mask(A, B, -(C), U, R)
-
-#define _mm512_mask3_fmsub_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfmsubps512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmsub_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_maskz(A, B, -(C), U, R)
-
-#define _mm512_fmaddsub_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, C, -1, R)
-
-#define _mm512_mask_fmaddsub_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fmaddsub_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmaddsub_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_maskz(A, B, C, U, R)
-
-#define _mm512_fmaddsub_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, C, -1, R)
-
-#define _mm512_mask_fmaddsub_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fmaddsub_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfmaddsubps512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmaddsub_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddsubps512_maskz(A, B, C, U, R)
-
-#define _mm512_fmsubadd_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, -(C), -1, R)
-
-#define _mm512_mask_fmsubadd_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_mask(A, B, -(C), U, R)
-
-#define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfmsubaddpd512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmsubadd_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddsubpd512_maskz(A, B, -(C), U, R)
-
-#define _mm512_fmsubadd_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, -(C), -1, R)
-
-#define _mm512_mask_fmsubadd_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfmaddsubps512_mask(A, B, -(C), U, R)
-
-#define _mm512_mask3_fmsubadd_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfmsubaddps512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fmsubadd_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddsubps512_maskz(A, B, -(C), U, R)
-
-#define _mm512_fnmadd_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(-(A), B, C, -1, R)
-
-#define _mm512_mask_fnmadd_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfnmaddpd512_mask(-(A), B, C, U, R)
-
-#define _mm512_mask3_fnmadd_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask3(-(A), B, C, U, R)
-
-#define _mm512_maskz_fnmadd_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_maskz(-(A), B, C, U, R)
-
-#define _mm512_fnmadd_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddps512_mask(-(A), B, C, -1, R)
-
-#define _mm512_mask_fnmadd_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfnmaddps512_mask(-(A), B, C, U, R)
-
-#define _mm512_mask3_fnmadd_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_mask3(-(A), B, C, U, R)
-
-#define _mm512_maskz_fnmadd_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_maskz(-(A), B, C, U, R)
-
-#define _mm512_fnmsub_round_pd(A, B, C, R)            \
-    (__m512d)__builtin_ia32_vfmaddpd512_mask(-(A), B, -(C), -1, R)
-
-#define _mm512_mask_fnmsub_round_pd(A, U, B, C, R)    \
-    (__m512d)__builtin_ia32_vfnmsubpd512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fnmsub_round_pd(A, B, C, U, R)   \
-    (__m512d)__builtin_ia32_vfnmsubpd512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fnmsub_round_pd(U, A, B, C, R)   \
-    (__m512d)__builtin_ia32_vfmaddpd512_maskz(-(A), B, -(C), U, R)
-
-#define _mm512_fnmsub_round_ps(A, B, C, R)            \
-    (__m512)__builtin_ia32_vfmaddps512_mask(-(A), B, -(C), -1, R)
-
-#define _mm512_mask_fnmsub_round_ps(A, U, B, C, R)    \
-    (__m512)__builtin_ia32_vfnmsubps512_mask(A, B, C, U, R)
-
-#define _mm512_mask3_fnmsub_round_ps(A, B, C, U, R)   \
-    (__m512)__builtin_ia32_vfnmsubps512_mask3(A, B, C, U, R)
-
-#define _mm512_maskz_fnmsub_round_ps(U, A, B, C, R)   \
-    (__m512)__builtin_ia32_vfmaddps512_maskz(-(A), B, -(C), U, R)
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_abs_epi64 (__m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_abs_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_abs_epi32 (__m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_abs_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_abs_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastss_ps (__m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
-						 (__v16sf)
-						 _mm512_undefined_ps (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastss_ps (__m512 __O, __mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
-						 (__v16sf) __O, __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastss_ps (__mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastsd_pd (__m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastsd_pd (__m512d __O, __mmask8 __M, __m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
-						  (__v8df) __O, __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastd_epi32 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastd_epi32 (__m512i __O, __mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
-						  (__v16si) __O, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastd_epi32 (__mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_epi32 (int __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A,
-							   (__v16si)
-							   _mm512_undefined_si512 (),
-							   (__mmask16)(-1));
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, (__v16si) __O,
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_set1_epi32 (__mmask16 __M, int __A)
-{
-  return (__m512i)
-	 __builtin_ia32_pbroadcastd512_gpr_mask (__A,
-						 (__v16si) _mm512_setzero_si512 (),
-						 __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcastq_epi64 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcastq_epi64 (__m512i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
-						  (__v8di) __O, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_set1_epi64 (long long __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A,
-							   (__v8di)
-							   _mm512_undefined_si512 (),
-							   (__mmask8)(-1));
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A)
-{
-  return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, (__v8di) __O,
-							   __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_set1_epi64 (__mmask8 __M, long long __A)
-{
-  return (__m512i)
-	 __builtin_ia32_pbroadcastq512_gpr_mask (__A,
-						 (__v8di) _mm512_setzero_si512 (),
-						 __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_f32x4 (__m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
-						     (__v16sf)
-						     _mm512_undefined_ps (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_f32x4 (__m512 __O, __mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
-						     (__v16sf) __O,
-						     __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_f32x4 (__mmask16 __M, __m128 __A)
-{
-  return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
-						     (__v16sf)
-						     _mm512_setzero_ps (),
-						     __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_i32x4 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
-						      (__v16si)
-						      _mm512_undefined_si512 (),
-						      (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_i32x4 (__m512i __O, __mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
-						      (__v16si) __O,
-						      __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_i32x4 (__mmask16 __M, __m128i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
-						      (__v16si)
-						      _mm512_setzero_si512 (),
-						      __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_f64x4 (__m256d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
-						      (__v8df)
-						      _mm512_undefined_pd (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_f64x4 (__m512d __O, __mmask8 __M, __m256d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
-						      (__v8df) __O,
-						      __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_f64x4 (__mmask8 __M, __m256d __A)
-{
-  return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
-						      (__v8df)
-						      _mm512_setzero_pd (),
-						      __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_broadcast_i64x4 (__m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
-						      (__v8di)
-						      _mm512_undefined_si512 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_broadcast_i64x4 (__m512i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
-						      (__v8di) __O,
-						      __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_broadcast_i64x4 (__mmask8 __M, __m256i __A)
-{
-  return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      __M);
-}
-
-typedef enum
-{
-  _MM_PERM_AAAA = 0x00, _MM_PERM_AAAB = 0x01, _MM_PERM_AAAC = 0x02,
-  _MM_PERM_AAAD = 0x03, _MM_PERM_AABA = 0x04, _MM_PERM_AABB = 0x05,
-  _MM_PERM_AABC = 0x06, _MM_PERM_AABD = 0x07, _MM_PERM_AACA = 0x08,
-  _MM_PERM_AACB = 0x09, _MM_PERM_AACC = 0x0A, _MM_PERM_AACD = 0x0B,
-  _MM_PERM_AADA = 0x0C, _MM_PERM_AADB = 0x0D, _MM_PERM_AADC = 0x0E,
-  _MM_PERM_AADD = 0x0F, _MM_PERM_ABAA = 0x10, _MM_PERM_ABAB = 0x11,
-  _MM_PERM_ABAC = 0x12, _MM_PERM_ABAD = 0x13, _MM_PERM_ABBA = 0x14,
-  _MM_PERM_ABBB = 0x15, _MM_PERM_ABBC = 0x16, _MM_PERM_ABBD = 0x17,
-  _MM_PERM_ABCA = 0x18, _MM_PERM_ABCB = 0x19, _MM_PERM_ABCC = 0x1A,
-  _MM_PERM_ABCD = 0x1B, _MM_PERM_ABDA = 0x1C, _MM_PERM_ABDB = 0x1D,
-  _MM_PERM_ABDC = 0x1E, _MM_PERM_ABDD = 0x1F, _MM_PERM_ACAA = 0x20,
-  _MM_PERM_ACAB = 0x21, _MM_PERM_ACAC = 0x22, _MM_PERM_ACAD = 0x23,
-  _MM_PERM_ACBA = 0x24, _MM_PERM_ACBB = 0x25, _MM_PERM_ACBC = 0x26,
-  _MM_PERM_ACBD = 0x27, _MM_PERM_ACCA = 0x28, _MM_PERM_ACCB = 0x29,
-  _MM_PERM_ACCC = 0x2A, _MM_PERM_ACCD = 0x2B, _MM_PERM_ACDA = 0x2C,
-  _MM_PERM_ACDB = 0x2D, _MM_PERM_ACDC = 0x2E, _MM_PERM_ACDD = 0x2F,
-  _MM_PERM_ADAA = 0x30, _MM_PERM_ADAB = 0x31, _MM_PERM_ADAC = 0x32,
-  _MM_PERM_ADAD = 0x33, _MM_PERM_ADBA = 0x34, _MM_PERM_ADBB = 0x35,
-  _MM_PERM_ADBC = 0x36, _MM_PERM_ADBD = 0x37, _MM_PERM_ADCA = 0x38,
-  _MM_PERM_ADCB = 0x39, _MM_PERM_ADCC = 0x3A, _MM_PERM_ADCD = 0x3B,
-  _MM_PERM_ADDA = 0x3C, _MM_PERM_ADDB = 0x3D, _MM_PERM_ADDC = 0x3E,
-  _MM_PERM_ADDD = 0x3F, _MM_PERM_BAAA = 0x40, _MM_PERM_BAAB = 0x41,
-  _MM_PERM_BAAC = 0x42, _MM_PERM_BAAD = 0x43, _MM_PERM_BABA = 0x44,
-  _MM_PERM_BABB = 0x45, _MM_PERM_BABC = 0x46, _MM_PERM_BABD = 0x47,
-  _MM_PERM_BACA = 0x48, _MM_PERM_BACB = 0x49, _MM_PERM_BACC = 0x4A,
-  _MM_PERM_BACD = 0x4B, _MM_PERM_BADA = 0x4C, _MM_PERM_BADB = 0x4D,
-  _MM_PERM_BADC = 0x4E, _MM_PERM_BADD = 0x4F, _MM_PERM_BBAA = 0x50,
-  _MM_PERM_BBAB = 0x51, _MM_PERM_BBAC = 0x52, _MM_PERM_BBAD = 0x53,
-  _MM_PERM_BBBA = 0x54, _MM_PERM_BBBB = 0x55, _MM_PERM_BBBC = 0x56,
-  _MM_PERM_BBBD = 0x57, _MM_PERM_BBCA = 0x58, _MM_PERM_BBCB = 0x59,
-  _MM_PERM_BBCC = 0x5A, _MM_PERM_BBCD = 0x5B, _MM_PERM_BBDA = 0x5C,
-  _MM_PERM_BBDB = 0x5D, _MM_PERM_BBDC = 0x5E, _MM_PERM_BBDD = 0x5F,
-  _MM_PERM_BCAA = 0x60, _MM_PERM_BCAB = 0x61, _MM_PERM_BCAC = 0x62,
-  _MM_PERM_BCAD = 0x63, _MM_PERM_BCBA = 0x64, _MM_PERM_BCBB = 0x65,
-  _MM_PERM_BCBC = 0x66, _MM_PERM_BCBD = 0x67, _MM_PERM_BCCA = 0x68,
-  _MM_PERM_BCCB = 0x69, _MM_PERM_BCCC = 0x6A, _MM_PERM_BCCD = 0x6B,
-  _MM_PERM_BCDA = 0x6C, _MM_PERM_BCDB = 0x6D, _MM_PERM_BCDC = 0x6E,
-  _MM_PERM_BCDD = 0x6F, _MM_PERM_BDAA = 0x70, _MM_PERM_BDAB = 0x71,
-  _MM_PERM_BDAC = 0x72, _MM_PERM_BDAD = 0x73, _MM_PERM_BDBA = 0x74,
-  _MM_PERM_BDBB = 0x75, _MM_PERM_BDBC = 0x76, _MM_PERM_BDBD = 0x77,
-  _MM_PERM_BDCA = 0x78, _MM_PERM_BDCB = 0x79, _MM_PERM_BDCC = 0x7A,
-  _MM_PERM_BDCD = 0x7B, _MM_PERM_BDDA = 0x7C, _MM_PERM_BDDB = 0x7D,
-  _MM_PERM_BDDC = 0x7E, _MM_PERM_BDDD = 0x7F, _MM_PERM_CAAA = 0x80,
-  _MM_PERM_CAAB = 0x81, _MM_PERM_CAAC = 0x82, _MM_PERM_CAAD = 0x83,
-  _MM_PERM_CABA = 0x84, _MM_PERM_CABB = 0x85, _MM_PERM_CABC = 0x86,
-  _MM_PERM_CABD = 0x87, _MM_PERM_CACA = 0x88, _MM_PERM_CACB = 0x89,
-  _MM_PERM_CACC = 0x8A, _MM_PERM_CACD = 0x8B, _MM_PERM_CADA = 0x8C,
-  _MM_PERM_CADB = 0x8D, _MM_PERM_CADC = 0x8E, _MM_PERM_CADD = 0x8F,
-  _MM_PERM_CBAA = 0x90, _MM_PERM_CBAB = 0x91, _MM_PERM_CBAC = 0x92,
-  _MM_PERM_CBAD = 0x93, _MM_PERM_CBBA = 0x94, _MM_PERM_CBBB = 0x95,
-  _MM_PERM_CBBC = 0x96, _MM_PERM_CBBD = 0x97, _MM_PERM_CBCA = 0x98,
-  _MM_PERM_CBCB = 0x99, _MM_PERM_CBCC = 0x9A, _MM_PERM_CBCD = 0x9B,
-  _MM_PERM_CBDA = 0x9C, _MM_PERM_CBDB = 0x9D, _MM_PERM_CBDC = 0x9E,
-  _MM_PERM_CBDD = 0x9F, _MM_PERM_CCAA = 0xA0, _MM_PERM_CCAB = 0xA1,
-  _MM_PERM_CCAC = 0xA2, _MM_PERM_CCAD = 0xA3, _MM_PERM_CCBA = 0xA4,
-  _MM_PERM_CCBB = 0xA5, _MM_PERM_CCBC = 0xA6, _MM_PERM_CCBD = 0xA7,
-  _MM_PERM_CCCA = 0xA8, _MM_PERM_CCCB = 0xA9, _MM_PERM_CCCC = 0xAA,
-  _MM_PERM_CCCD = 0xAB, _MM_PERM_CCDA = 0xAC, _MM_PERM_CCDB = 0xAD,
-  _MM_PERM_CCDC = 0xAE, _MM_PERM_CCDD = 0xAF, _MM_PERM_CDAA = 0xB0,
-  _MM_PERM_CDAB = 0xB1, _MM_PERM_CDAC = 0xB2, _MM_PERM_CDAD = 0xB3,
-  _MM_PERM_CDBA = 0xB4, _MM_PERM_CDBB = 0xB5, _MM_PERM_CDBC = 0xB6,
-  _MM_PERM_CDBD = 0xB7, _MM_PERM_CDCA = 0xB8, _MM_PERM_CDCB = 0xB9,
-  _MM_PERM_CDCC = 0xBA, _MM_PERM_CDCD = 0xBB, _MM_PERM_CDDA = 0xBC,
-  _MM_PERM_CDDB = 0xBD, _MM_PERM_CDDC = 0xBE, _MM_PERM_CDDD = 0xBF,
-  _MM_PERM_DAAA = 0xC0, _MM_PERM_DAAB = 0xC1, _MM_PERM_DAAC = 0xC2,
-  _MM_PERM_DAAD = 0xC3, _MM_PERM_DABA = 0xC4, _MM_PERM_DABB = 0xC5,
-  _MM_PERM_DABC = 0xC6, _MM_PERM_DABD = 0xC7, _MM_PERM_DACA = 0xC8,
-  _MM_PERM_DACB = 0xC9, _MM_PERM_DACC = 0xCA, _MM_PERM_DACD = 0xCB,
-  _MM_PERM_DADA = 0xCC, _MM_PERM_DADB = 0xCD, _MM_PERM_DADC = 0xCE,
-  _MM_PERM_DADD = 0xCF, _MM_PERM_DBAA = 0xD0, _MM_PERM_DBAB = 0xD1,
-  _MM_PERM_DBAC = 0xD2, _MM_PERM_DBAD = 0xD3, _MM_PERM_DBBA = 0xD4,
-  _MM_PERM_DBBB = 0xD5, _MM_PERM_DBBC = 0xD6, _MM_PERM_DBBD = 0xD7,
-  _MM_PERM_DBCA = 0xD8, _MM_PERM_DBCB = 0xD9, _MM_PERM_DBCC = 0xDA,
-  _MM_PERM_DBCD = 0xDB, _MM_PERM_DBDA = 0xDC, _MM_PERM_DBDB = 0xDD,
-  _MM_PERM_DBDC = 0xDE, _MM_PERM_DBDD = 0xDF, _MM_PERM_DCAA = 0xE0,
-  _MM_PERM_DCAB = 0xE1, _MM_PERM_DCAC = 0xE2, _MM_PERM_DCAD = 0xE3,
-  _MM_PERM_DCBA = 0xE4, _MM_PERM_DCBB = 0xE5, _MM_PERM_DCBC = 0xE6,
-  _MM_PERM_DCBD = 0xE7, _MM_PERM_DCCA = 0xE8, _MM_PERM_DCCB = 0xE9,
-  _MM_PERM_DCCC = 0xEA, _MM_PERM_DCCD = 0xEB, _MM_PERM_DCDA = 0xEC,
-  _MM_PERM_DCDB = 0xED, _MM_PERM_DCDC = 0xEE, _MM_PERM_DCDD = 0xEF,
-  _MM_PERM_DDAA = 0xF0, _MM_PERM_DDAB = 0xF1, _MM_PERM_DDAC = 0xF2,
-  _MM_PERM_DDAD = 0xF3, _MM_PERM_DDBA = 0xF4, _MM_PERM_DDBB = 0xF5,
-  _MM_PERM_DDBC = 0xF6, _MM_PERM_DDBD = 0xF7, _MM_PERM_DDCA = 0xF8,
-  _MM_PERM_DDCB = 0xF9, _MM_PERM_DDCC = 0xFA, _MM_PERM_DDCD = 0xFB,
-  _MM_PERM_DDDA = 0xFC, _MM_PERM_DDDB = 0xFD, _MM_PERM_DDDC = 0xFE,
-  _MM_PERM_DDDD = 0xFF
-} _MM_PERM_ENUM;
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_epi32 (__m512i __A, _MM_PERM_ENUM __mask)
-{
-  return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A,
-						  __mask,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			   _MM_PERM_ENUM __mask)
-{
-  return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A,
-						  __mask,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_epi32 (__mmask16 __U, __m512i __A, _MM_PERM_ENUM __mask)
-{
-  return (__m512i) __builtin_ia32_pshufd512_mask ((__v16si) __A,
-						  __mask,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_i64x2 (__m512i __A, __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A,
-						   (__v8di) __B, __imm,
-						   (__v8di)
-						   _mm512_undefined_si512 (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_i64x2 (__m512i __W, __mmask8 __U, __m512i __A,
-			   __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A,
-						   (__v8di) __B, __imm,
-						   (__v8di) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_i64x2 (__mmask8 __U, __m512i __A, __m512i __B,
-			    const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di) __A,
-						   (__v8di) __B, __imm,
-						   (__v8di)
-						   _mm512_setzero_si512 (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_i32x4 (__m512i __A, __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A,
-						   (__v16si) __B,
-						   __imm,
-						   (__v16si)
-						   _mm512_undefined_si512 (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_i32x4 (__m512i __W, __mmask16 __U, __m512i __A,
-			   __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A,
-						   (__v16si) __B,
-						   __imm,
-						   (__v16si) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_i32x4 (__mmask16 __U, __m512i __A, __m512i __B,
-			    const int __imm)
-{
-  return (__m512i) __builtin_ia32_shuf_i32x4_mask ((__v16si) __A,
-						   (__v16si) __B,
-						   __imm,
-						   (__v16si)
-						   _mm512_setzero_si512 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_f64x2 (__m512d __A, __m512d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A,
-						   (__v8df) __B, __imm,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_f64x2 (__m512d __W, __mmask8 __U, __m512d __A,
-			   __m512d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A,
-						   (__v8df) __B, __imm,
-						   (__v8df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_f64x2 (__mmask8 __U, __m512d __A, __m512d __B,
-			    const int __imm)
-{
-  return (__m512d) __builtin_ia32_shuf_f64x2_mask ((__v8df) __A,
-						   (__v8df) __B, __imm,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_f32x4 (__m512 __A, __m512 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A,
-						  (__v16sf) __B, __imm,
-						  (__v16sf)
-						  _mm512_undefined_ps (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_f32x4 (__m512 __W, __mmask16 __U, __m512 __A,
-			   __m512 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A,
-						  (__v16sf) __B, __imm,
-						  (__v16sf) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_f32x4 (__mmask16 __U, __m512 __A, __m512 __B,
-			    const int __imm)
-{
-  return (__m512) __builtin_ia32_shuf_f32x4_mask ((__v16sf) __A,
-						  (__v16sf) __B, __imm,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U);
-}
-
-#else
-#define _mm512_shuffle_epi32(X, C)                                      \
-  ((__m512i)  __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_shuffle_epi32(W, U, X, C)                           \
-  ((__m512i)  __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_shuffle_epi32(U, X, C)                             \
-  ((__m512i)  __builtin_ia32_pshufd512_mask ((__v16si)(__m512i)(X), (int)(C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-
-#define _mm512_shuffle_i64x2(X, Y, C)                                   \
-  ((__m512i)  __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X),     \
-      (__v8di)(__m512i)(Y), (int)(C),\
-    (__v8di)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_shuffle_i64x2(W, U, X, Y, C)                        \
-  ((__m512i)  __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X),     \
-      (__v8di)(__m512i)(Y), (int)(C),\
-    (__v8di)(__m512i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_shuffle_i64x2(U, X, Y, C)                          \
-  ((__m512i)  __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(X),     \
-      (__v8di)(__m512i)(Y), (int)(C),\
-    (__v8di)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask8)(U)))
-
-#define _mm512_shuffle_i32x4(X, Y, C)                                   \
-  ((__m512i)  __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X),    \
-      (__v16si)(__m512i)(Y), (int)(C),\
-    (__v16si)(__m512i)_mm512_undefined_si512 (),\
-    (__mmask16)-1))
-
-#define _mm512_mask_shuffle_i32x4(W, U, X, Y, C)                        \
-  ((__m512i)  __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X),    \
-      (__v16si)(__m512i)(Y), (int)(C),\
-    (__v16si)(__m512i)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_shuffle_i32x4(U, X, Y, C)                          \
-  ((__m512i)  __builtin_ia32_shuf_i32x4_mask ((__v16si)(__m512i)(X),    \
-      (__v16si)(__m512i)(Y), (int)(C),\
-    (__v16si)(__m512i)_mm512_setzero_si512 (),\
-    (__mmask16)(U)))
-
-#define _mm512_shuffle_f64x2(X, Y, C)                                   \
-  ((__m512d)  __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X),     \
-      (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)_mm512_undefined_pd(),\
-    (__mmask8)-1))
-
-#define _mm512_mask_shuffle_f64x2(W, U, X, Y, C)                        \
-  ((__m512d)  __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X),     \
-      (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_shuffle_f64x2(U, X, Y, C)                         \
-  ((__m512d)  __builtin_ia32_shuf_f64x2_mask ((__v8df)(__m512d)(X),    \
-      (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)_mm512_setzero_pd(),\
-    (__mmask8)(U)))
-
-#define _mm512_shuffle_f32x4(X, Y, C)                                  \
-  ((__m512)  __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X),     \
-      (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)_mm512_undefined_ps(),\
-    (__mmask16)-1))
-
-#define _mm512_mask_shuffle_f32x4(W, U, X, Y, C)                       \
-  ((__m512)  __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X),     \
-      (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_shuffle_f32x4(U, X, Y, C)                         \
-  ((__m512)  __builtin_ia32_shuf_f32x4_mask ((__v16sf)(__m512)(X),     \
-      (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)_mm512_setzero_ps(),\
-    (__mmask16)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rolv_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rorv_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rolv_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rorv_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundpd_epi32 (__m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_undefined_si256 (),
-						     (__mmask8) -1, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundpd_epi32 (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundpd_epu32 (__m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si)
-						      _mm256_undefined_si256 (),
-						      (__mmask8) -1, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A,
-				const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si) __W,
-						      (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundpd_epu32 (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U, __R);
-}
-#else
-#define _mm512_cvtt_roundpd_epi32(A, B)		     \
-    ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
-
-#define _mm512_mask_cvtt_roundpd_epi32(W, U, A, B)   \
-    ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)(W), U, B))
-
-#define _mm512_maskz_cvtt_roundpd_epi32(U, A, B)     \
-    ((__m256i)__builtin_ia32_cvttpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
-
-#define _mm512_cvtt_roundpd_epu32(A, B)		     \
-    ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
-
-#define _mm512_mask_cvtt_roundpd_epu32(W, U, A, B)   \
-    ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)(W), U, B))
-
-#define _mm512_maskz_cvtt_roundpd_epu32(U, A, B)     \
-    ((__m256i)__builtin_ia32_cvttpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundpd_epi32 (__m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si)
-						    _mm256_undefined_si256 (),
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A,
-			       const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundpd_epi32 (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundpd_epu32 (__m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_undefined_si256 (),
-						     (__mmask8) -1, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A,
-			       const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundpd_epu32 (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U, __R);
-}
-#else
-#define _mm512_cvt_roundpd_epi32(A, B)		    \
-    ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
-
-#define _mm512_mask_cvt_roundpd_epi32(W, U, A, B)   \
-    ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)(W), U, B))
-
-#define _mm512_maskz_cvt_roundpd_epi32(U, A, B)     \
-    ((__m256i)__builtin_ia32_cvtpd2dq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
-
-#define _mm512_cvt_roundpd_epu32(A, B)		    \
-    ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_undefined_si256(), -1, B))
-
-#define _mm512_mask_cvt_roundpd_epu32(W, U, A, B)   \
-    ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)(W), U, B))
-
-#define _mm512_maskz_cvt_roundpd_epu32(U, A, B)     \
-    ((__m256i)__builtin_ia32_cvtpd2udq512_mask(A, (__v8si)_mm256_setzero_si256(), U, B))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundps_epi32 (__m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundps_epi32 (__m512i __W, __mmask16 __U, __m512 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundps_epi32 (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtt_roundps_epu32 (__m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si)
-						      _mm512_undefined_si512 (),
-						      (__mmask16) -1, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtt_roundps_epu32 (__m512i __W, __mmask16 __U, __m512 __A,
-				const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si) __W,
-						      (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si)
-						      _mm512_setzero_si512 (),
-						      (__mmask16) __U, __R);
-}
-#else
-#define _mm512_cvtt_roundps_epi32(A, B)		     \
-    ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
-
-#define _mm512_mask_cvtt_roundps_epi32(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)(W), U, B))
-
-#define _mm512_maskz_cvtt_roundps_epi32(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvttps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
-
-#define _mm512_cvtt_roundps_epu32(A, B)		     \
-    ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
-
-#define _mm512_mask_cvtt_roundps_epu32(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)(W), U, B))
-
-#define _mm512_maskz_cvtt_roundps_epu32(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvttps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_epi32 (__m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_epi32 (__m512i __W, __mmask16 __U, __m512 __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_epi32 (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_epu32 (__m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_epu32 (__m512i __W, __mmask16 __U, __m512 __A,
-			       const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U, __R);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_epu32 (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U, __R);
-}
-#else
-#define _mm512_cvt_roundps_epi32(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
-
-#define _mm512_mask_cvt_roundps_epi32(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)(W), U, B))
-
-#define _mm512_maskz_cvt_roundps_epi32(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtps2dq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
-
-#define _mm512_cvt_roundps_epu32(A, B)		    \
-    ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_undefined_si512 (), -1, B))
-
-#define _mm512_mask_cvt_roundps_epu32(W, U, A, B)   \
-    ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)(W), U, B))
-
-#define _mm512_maskz_cvt_roundps_epu32(U, A, B)     \
-    ((__m512i)__builtin_ia32_cvtps2udq512_mask(A, (__v16si)_mm512_setzero_si512 (), U, B))
-#endif
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtu32_sd (__m128d __A, unsigned __B)
-{
-  return (__m128d) __builtin_ia32_cvtusi2sd32 ((__v2df) __A, __B);
-}
-
-#ifdef __x86_64__
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundu64_sd (__m128d __A, unsigned long long __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df) __A, __B, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundi64_sd (__m128d __A, long long __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df) __A, __B, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsi64_sd (__m128d __A, long long __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df) __A, __B, __R);
-}
-#else
-#define _mm_cvt_roundu64_sd(A, B, C)   \
-    (__m128d)__builtin_ia32_cvtusi2sd64(A, B, C)
-
-#define _mm_cvt_roundi64_sd(A, B, C)   \
-    (__m128d)__builtin_ia32_cvtsi2sd64(A, B, C)
-
-#define _mm_cvt_roundsi64_sd(A, B, C)   \
-    (__m128d)__builtin_ia32_cvtsi2sd64(A, B, C)
-#endif
-
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundu32_ss (__m128 __A, unsigned __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf) __A, __B, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsi32_ss (__m128 __A, int __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf) __A, __B, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundi32_ss (__m128 __A, int __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtsi2ss32 ((__v4sf) __A, __B, __R);
-}
-#else
-#define _mm_cvt_roundu32_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtusi2ss32(A, B, C)
-
-#define _mm_cvt_roundi32_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtsi2ss32(A, B, C)
-
-#define _mm_cvt_roundsi32_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtsi2ss32(A, B, C)
-#endif
-
-#ifdef __x86_64__
-#ifdef __OPTIMIZE__
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundu64_ss (__m128 __A, unsigned long long __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf) __A, __B, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsi64_ss (__m128 __A, long long __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf) __A, __B, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundi64_ss (__m128 __A, long long __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf) __A, __B, __R);
-}
-#else
-#define _mm_cvt_roundu64_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtusi2ss64(A, B, C)
-
-#define _mm_cvt_roundi64_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtsi2ss64(A, B, C)
-
-#define _mm_cvt_roundsi64_ss(A, B, C)   \
-    (__m128)__builtin_ia32_cvtsi2ss64(A, B, C)
-#endif
-
-#endif
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi32_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
-						  (__v16qi)
-						  _mm_undefined_si128 (),
-						  (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi32_epi8 (__mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi32_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
-						   (__v16qi)
-						   _mm_undefined_si128 (),
-						   (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovsdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi32_epi8 (__mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi32_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
-						    (__v16qi)
-						    _mm_undefined_si128 (),
-						    (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovusdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi32_epi8 (__mmask16 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi32_epi16 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
-						  (__v16hi)
-						  _mm256_undefined_si256 (),
-						  (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_storeu_epi16 (void * __P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovdw512mem_mask ((__v16hi *) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
-						  (__v16hi) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi32_epi16 (__mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi32_epi16 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
-						   (__v16hi)
-						   _mm256_undefined_si256 (),
-						   (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovsdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
-						   (__v16hi) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi32_epi16 (__mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi32_epi16 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
-						    (__v16hi)
-						    _mm256_undefined_si256 (),
-						    (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A)
-{
-  __builtin_ia32_pmovusdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
-						    (__v16hi) __O,
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi32_epi16 (__mmask16 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi64_epi32 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
-						  (__v8si)
-						  _mm256_undefined_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
-						  (__v8si) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi64_epi32 (__mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi64_epi32 (__m512i __A)
-{
-  __v8si __O;
-  return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
-						   (__v8si)
-						   _mm256_undefined_si256 (),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_storeu_epi32 (void *__P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovsqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
-						   (__v8si) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi64_epi32 (__mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
-						   (__v8si)
-						   _mm256_setzero_si256 (),
-						   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi64_epi32 (__m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
-						    (__v8si)
-						    _mm256_undefined_si256 (),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovusqd512mem_mask ((__v8si*) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
-						    (__v8si) __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi64_epi32 (__mmask8 __M, __m512i __A)
-{
-  return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi64_epi16 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
-						  (__v8hi)
-						  _mm_undefined_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
-						  (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi64_epi16 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi64_epi16 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
-						   (__v8hi)
-						   _mm_undefined_si128 (),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovsqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
-						   (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi64_epi16 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi64_epi16 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
-						    (__v8hi)
-						    _mm_undefined_si128 (),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovusqw512mem_mask ((__v8hi*) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
-						    (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi64_epi16 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi64_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
-						  (__v16qi)
-						  _mm_undefined_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi64_epi8 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtsepi64_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
-						   (__v16qi)
-						   _mm_undefined_si128 (),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovsqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtsepi64_epi8 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtusepi64_epi8 (__m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
-						    (__v16qi)
-						    _mm_undefined_si128 (),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
-{
-  __builtin_ia32_pmovusqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtusepi64_epi8 (__mmask8 __M, __m512i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi32_pd (__m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_pd (__m512d __W, __mmask8 __U, __m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi32_pd (__mmask8 __U, __m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu32_pd (__m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
-						     (__v8df)
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu32_pd (__m512d __W, __mmask8 __U, __m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
-						     (__v8df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu32_pd (__mmask8 __U, __m256i __A)
-{
-  return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepi32_ps (__m512i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepi32_ps (__m512 __W, __mmask16 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepi32_ps (__mmask16 __U, __m512i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundepu32_ps (__m512i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundepu32_ps (__m512 __W, __mmask16 __U, __m512i __A,
-			       const int __R)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundepu32_ps (__mmask16 __U, __m512i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U, __R);
-}
-
-#else
-#define _mm512_cvt_roundepi32_ps(A, B)        \
-    (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
-
-#define _mm512_mask_cvt_roundepi32_ps(W, U, A, B)   \
-    (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), W, U, B)
-
-#define _mm512_maskz_cvt_roundepi32_ps(U, A, B)      \
-    (__m512)__builtin_ia32_cvtdq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), U, B)
-
-#define _mm512_cvt_roundepu32_ps(A, B)        \
-    (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
-
-#define _mm512_mask_cvt_roundepu32_ps(W, U, A, B)   \
-    (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), W, U, B)
-
-#define _mm512_maskz_cvt_roundepu32_ps(U, A, B)      \
-    (__m512)__builtin_ia32_cvtudq2ps512_mask((__v16si)(A), (__v16sf)_mm512_setzero_ps(), U, B)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extractf64x4_pd (__m512d __A, const int __imm)
-{
-  return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A,
-						     __imm,
-						     (__v4df)
-						     _mm256_undefined_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extractf64x4_pd (__m256d __W, __mmask8 __U, __m512d __A,
-			     const int __imm)
-{
-  return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A,
-						     __imm,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extractf64x4_pd (__mmask8 __U, __m512d __A, const int __imm)
-{
-  return (__m256d) __builtin_ia32_extractf64x4_mask ((__v8df) __A,
-						     __imm,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extractf32x4_ps (__m512 __A, const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A,
-						    __imm,
-						    (__v4sf)
-						    _mm_undefined_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m512 __A,
-			     const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A,
-						    __imm,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extractf32x4_ps (__mmask8 __U, __m512 __A, const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_mask ((__v16sf) __A,
-						    __imm,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extracti64x4_epi64 (__m512i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A,
-						     __imm,
-						     (__v4di)
-						     _mm256_undefined_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extracti64x4_epi64 (__m256i __W, __mmask8 __U, __m512i __A,
-				const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A,
-						     __imm,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extracti64x4_epi64 (__mmask8 __U, __m512i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_extracti64x4_mask ((__v8di) __A,
-						     __imm,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_extracti32x4_epi32 (__m512i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A,
-						     __imm,
-						     (__v4si)
-						     _mm_undefined_si128 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m512i __A,
-				const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A,
-						     __imm,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_extracti32x4_epi32 (__mmask8 __U, __m512i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_mask ((__v16si) __A,
-						     __imm,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-#else
-
-#define _mm512_extractf64x4_pd(X, C)                                    \
-  ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X),   \
-    (int) (C),\
-    (__v4df)(__m256d)_mm256_undefined_pd(),\
-    (__mmask8)-1))
-
-#define _mm512_mask_extractf64x4_pd(W, U, X, C)                         \
-  ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X),   \
-    (int) (C),\
-    (__v4df)(__m256d)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_extractf64x4_pd(U, X, C)                           \
-  ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (X),   \
-    (int) (C),\
-    (__v4df)(__m256d)_mm256_setzero_pd(),\
-    (__mmask8)(U)))
-
-#define _mm512_extractf32x4_ps(X, C)                                    \
-  ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X),    \
-    (int) (C),\
-    (__v4sf)(__m128)_mm_undefined_ps(),\
-    (__mmask8)-1))
-
-#define _mm512_mask_extractf32x4_ps(W, U, X, C)                         \
-  ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X),    \
-    (int) (C),\
-    (__v4sf)(__m128)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_extractf32x4_ps(U, X, C)                           \
-  ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (X),    \
-    (int) (C),\
-    (__v4sf)(__m128)_mm_setzero_ps(),\
-    (__mmask8)(U)))
-
-#define _mm512_extracti64x4_epi64(X, C)                                 \
-  ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X),   \
-    (int) (C),\
-    (__v4di)(__m256i)_mm256_undefined_si256 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_extracti64x4_epi64(W, U, X, C)                      \
-  ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X),   \
-    (int) (C),\
-    (__v4di)(__m256i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_extracti64x4_epi64(U, X, C)                        \
-  ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (X),   \
-    (int) (C),\
-    (__v4di)(__m256i)_mm256_setzero_si256 (),\
-    (__mmask8)(U)))
-
-#define _mm512_extracti32x4_epi32(X, C)                                 \
-  ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X),  \
-    (int) (C),\
-    (__v4si)(__m128i)_mm_undefined_si128 (),\
-    (__mmask8)-1))
-
-#define _mm512_mask_extracti32x4_epi32(W, U, X, C)                      \
-  ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X),  \
-    (int) (C),\
-    (__v4si)(__m128i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_extracti32x4_epi32(U, X, C)                        \
-  ((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) (X),  \
-    (int) (C),\
-    (__v4si)(__m128i)_mm_setzero_si128 (),\
-    (__mmask8)(U)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_inserti32x4 (__m512i __A, __m128i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __A,
-						    (__v4si) __B,
-						    __imm,
-						    (__v16si) __A, -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_insertf32x4 (__m512 __A, __m128 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __A,
-						   (__v4sf) __B,
-						   __imm,
-						   (__v16sf) __A, -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_inserti64x4 (__m512i __A, __m256i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A,
-						    (__v4di) __B,
-						    __imm,
-						    (__v8di)
-						    _mm512_undefined_si512 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_inserti64x4 (__m512i __W, __mmask8 __U, __m512i __A,
-			 __m256i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A,
-						    (__v4di) __B,
-						    __imm,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_inserti64x4 (__mmask8 __U, __m512i __A, __m256i __B,
-			  const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti64x4_mask ((__v8di) __A,
-						    (__v4di) __B,
-						    __imm,
-						    (__v8di)
-						    _mm512_setzero_si512 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_insertf64x4 (__m512d __A, __m256d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A,
-						    (__v4df) __B,
-						    __imm,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_insertf64x4 (__m512d __W, __mmask8 __U, __m512d __A,
-			 __m256d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A,
-						    (__v4df) __B,
-						    __imm,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_insertf64x4 (__mmask8 __U, __m512d __A, __m256d __B,
-			  const int __imm)
-{
-  return (__m512d) __builtin_ia32_insertf64x4_mask ((__v8df) __A,
-						    (__v4df) __B,
-						    __imm,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U);
-}
-#else
-#define _mm512_insertf32x4(X, Y, C)                                     \
-  ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X),     \
-    (__v4sf)(__m128) (Y), (int) (C), (__v16sf)(__m512) (X), (__mmask16)(-1)))
-
-#define _mm512_inserti32x4(X, Y, C)                                     \
-  ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X),   \
-    (__v4si)(__m128i) (Y), (int) (C), (__v16si)(__m512i) (X), (__mmask16)(-1)))
-
-#define _mm512_insertf64x4(X, Y, C)                                     \
-  ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X),    \
-    (__v4df)(__m256d) (Y), (int) (C),					\
-    (__v8df)(__m512d)_mm512_undefined_pd(),				\
-    (__mmask8)-1))
-
-#define _mm512_mask_insertf64x4(W, U, X, Y, C)                          \
-  ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X),    \
-    (__v4df)(__m256d) (Y), (int) (C),					\
-    (__v8df)(__m512d)(W),						\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_insertf64x4(U, X, Y, C)                            \
-  ((__m512d) __builtin_ia32_insertf64x4_mask ((__v8df)(__m512d) (X),    \
-    (__v4df)(__m256d) (Y), (int) (C),					\
-    (__v8df)(__m512d)_mm512_setzero_pd(),				\
-    (__mmask8)(U)))
-
-#define _mm512_inserti64x4(X, Y, C)                                     \
-  ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X),    \
-    (__v4di)(__m256i) (Y), (int) (C),					\
-    (__v8di)(__m512i)_mm512_undefined_si512 (),				\
-    (__mmask8)-1))
-
-#define _mm512_mask_inserti64x4(W, U, X, Y, C)                          \
-  ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X),    \
-    (__v4di)(__m256i) (Y), (int) (C),\
-    (__v8di)(__m512i)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_inserti64x4(U, X, Y, C)                            \
-  ((__m512i) __builtin_ia32_inserti64x4_mask ((__v8di)(__m512i) (X),    \
-    (__v4di)(__m256i) (Y), (int) (C),					\
-    (__v8di)(__m512i)_mm512_setzero_si512 (),				\
-    (__mmask8)(U)))
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_loadu_pd (void const *__P)
-{
-  return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_pd (__m512d __W, __mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P,
-						   (__v8df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_loadupd512_mask ((const __v8df *) __P,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_storeu_pd (void *__P, __m512d __A)
-{
-  __builtin_ia32_storeupd512_mask ((__v8df *) __P, (__v8df) __A,
-				   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_pd (void *__P, __mmask8 __U, __m512d __A)
-{
-  __builtin_ia32_storeupd512_mask ((__v8df *) __P, (__v8df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_loadu_ps (void const *__P)
-{
-  return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P,
-						  (__v16sf)
-						  _mm512_undefined_ps (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_ps (__m512 __W, __mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P,
-						  (__v16sf) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_ps (__mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_loadups512_mask ((const __v16sf *) __P,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_storeu_ps (void *__P, __m512 __A)
-{
-  __builtin_ia32_storeups512_mask ((__v16sf *) __P, (__v16sf) __A,
-				   (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_ps (void *__P, __mmask16 __U, __m512 __A)
-{
-  __builtin_ia32_storeups512_mask ((__v16sf *) __P, (__v16sf) __A,
-				   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_epi64 (__m512i __W, __mmask8 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddqudi512_mask ((const __v8di *) __P,
-						     (__v8di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddqudi512_mask ((const __v8di *) __P,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A)
-{
-  __builtin_ia32_storedqudi512_mask ((__v8di *) __P, (__v8di) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_loadu_si512 (void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_loadu_epi32 (__m512i __W, __mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P,
-						     (__v16si) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_loadu_epi32 (__mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_storeu_si512 (void *__P, __m512i __A)
-{
-  __builtin_ia32_storedqusi512_mask ((__v16si *) __P, (__v16si) __A,
-				     (__mmask16) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_storeu_epi32 (void *__P, __mmask16 __U, __m512i __A)
-{
-  __builtin_ia32_storedqusi512_mask ((__v16si *) __P, (__v16si) __A,
-				     (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutevar_pd (__m512d __A, __m512i __C)
-{
-  return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
-							(__v8di) __C,
-							(__v8df)
-							_mm512_undefined_pd (),
-							(__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutevar_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512i __C)
-{
-  return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
-							(__v8di) __C,
-							(__v8df) __W,
-							(__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutevar_pd (__mmask8 __U, __m512d __A, __m512i __C)
-{
-  return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
-							(__v8di) __C,
-							(__v8df)
-							_mm512_setzero_pd (),
-							(__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutevar_ps (__m512 __A, __m512i __C)
-{
-  return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
-						       (__v16si) __C,
-						       (__v16sf)
-						       _mm512_undefined_ps (),
-						       (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutevar_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512i __C)
-{
-  return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
-						       (__v16si) __C,
-						       (__v16sf) __W,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutevar_ps (__mmask16 __U, __m512 __A, __m512i __C)
-{
-  return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
-						       (__v16si) __C,
-						       (__v16sf)
-						       _mm512_setzero_ps (),
-						       (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_epi64 (__m512i __A, __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I
-						       /* idx */ ,
-						       (__v8di) __A,
-						       (__v8di) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_epi64 (__m512i __A, __mmask8 __U, __m512i __I,
-				__m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I
-						       /* idx */ ,
-						       (__v8di) __A,
-						       (__v8di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_epi64 (__m512i __A, __m512i __I,
-				 __mmask8 __U, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermi2varq512_mask ((__v8di) __A,
-						       (__v8di) __I
-						       /* idx */ ,
-						       (__v8di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_epi64 (__mmask8 __U, __m512i __A,
-				 __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varq512_maskz ((__v8di) __I
-							/* idx */ ,
-							(__v8di) __A,
-							(__v8di) __B,
-							(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_epi32 (__m512i __A, __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I
-						       /* idx */ ,
-						       (__v16si) __A,
-						       (__v16si) __B,
-						       (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_epi32 (__m512i __A, __mmask16 __U,
-				__m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I
-						       /* idx */ ,
-						       (__v16si) __A,
-						       (__v16si) __B,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_epi32 (__m512i __A, __m512i __I,
-				 __mmask16 __U, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermi2vard512_mask ((__v16si) __A,
-						       (__v16si) __I
-						       /* idx */ ,
-						       (__v16si) __B,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_epi32 (__mmask16 __U, __m512i __A,
-				 __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2vard512_maskz ((__v16si) __I
-							/* idx */ ,
-							(__v16si) __A,
-							(__v16si) __B,
-							(__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_pd (__m512d __A, __m512i __I, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I
-							/* idx */ ,
-							(__v8df) __A,
-							(__v8df) __B,
-							(__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_pd (__m512d __A, __mmask8 __U, __m512i __I,
-			     __m512d __B)
-{
-  return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I
-							/* idx */ ,
-							(__v8df) __A,
-							(__v8df) __B,
-							(__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_pd (__m512d __A, __m512i __I, __mmask8 __U,
-			      __m512d __B)
-{
-  return (__m512d) __builtin_ia32_vpermi2varpd512_mask ((__v8df) __A,
-							(__v8di) __I
-							/* idx */ ,
-							(__v8df) __B,
-							(__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_pd (__mmask8 __U, __m512d __A, __m512i __I,
-			      __m512d __B)
-{
-  return (__m512d) __builtin_ia32_vpermt2varpd512_maskz ((__v8di) __I
-							 /* idx */ ,
-							 (__v8df) __A,
-							 (__v8df) __B,
-							 (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_ps (__m512 __A, __m512i __I, __m512 __B)
-{
-  return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I
-						       /* idx */ ,
-						       (__v16sf) __A,
-						       (__v16sf) __B,
-						       (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_ps (__m512 __A, __mmask16 __U, __m512i __I, __m512 __B)
-{
-  return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I
-						       /* idx */ ,
-						       (__v16sf) __A,
-						       (__v16sf) __B,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_ps (__m512 __A, __m512i __I, __mmask16 __U,
-			      __m512 __B)
-{
-  return (__m512) __builtin_ia32_vpermi2varps512_mask ((__v16sf) __A,
-						       (__v16si) __I
-						       /* idx */ ,
-						       (__v16sf) __B,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_ps (__mmask16 __U, __m512 __A, __m512i __I,
-			      __m512 __B)
-{
-  return (__m512) __builtin_ia32_vpermt2varps512_maskz ((__v16si) __I
-							/* idx */ ,
-							(__v16sf) __A,
-							(__v16sf) __B,
-							(__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permute_pd (__m512d __X, const int __C)
-{
-  return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C,
-						     (__v8df)
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permute_pd (__m512d __W, __mmask8 __U, __m512d __X, const int __C)
-{
-  return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C,
-						     (__v8df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permute_pd (__mmask8 __U, __m512d __X, const int __C)
-{
-  return (__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df) __X, __C,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permute_ps (__m512 __X, const int __C)
-{
-  return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permute_ps (__m512 __W, __mmask16 __U, __m512 __X, const int __C)
-{
-  return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C,
-						    (__v16sf) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permute_ps (__mmask16 __U, __m512 __X, const int __C)
-{
-  return (__m512) __builtin_ia32_vpermilps512_mask ((__v16sf) __X, __C,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U);
-}
-#else
-#define _mm512_permute_pd(X, C)							    \
-  ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C),	    \
-					      (__v8df)(__m512d)_mm512_undefined_pd(),\
-					      (__mmask8)(-1)))
-
-#define _mm512_mask_permute_pd(W, U, X, C)					    \
-  ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C),	    \
-					      (__v8df)(__m512d)(W),		    \
-					      (__mmask8)(U)))
-
-#define _mm512_maskz_permute_pd(U, X, C)					    \
-  ((__m512d) __builtin_ia32_vpermilpd512_mask ((__v8df)(__m512d)(X), (int)(C),	    \
-					      (__v8df)(__m512d)_mm512_setzero_pd(), \
-					      (__mmask8)(U)))
-
-#define _mm512_permute_ps(X, C)							    \
-  ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C),	    \
-					      (__v16sf)(__m512)_mm512_undefined_ps(),\
-					      (__mmask16)(-1)))
-
-#define _mm512_mask_permute_ps(W, U, X, C)					    \
-  ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C),	    \
-					      (__v16sf)(__m512)(W),		    \
-					      (__mmask16)(U)))
-
-#define _mm512_maskz_permute_ps(U, X, C)					    \
-  ((__m512) __builtin_ia32_vpermilps512_mask ((__v16sf)(__m512)(X), (int)(C),	    \
-					      (__v16sf)(__m512)_mm512_setzero_ps(), \
-					      (__mmask16)(U)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex_epi64 (__m512i __X, const int __I)
-{
-  return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) (-1));
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex_epi64 (__m512i __W, __mmask8 __M,
-			    __m512i __X, const int __I)
-{
-  return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I,
-						  (__v8di) __W,
-						  (__mmask8) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex_epi64 (__mmask8 __M, __m512i __X, const int __I)
-{
-  return (__m512i) __builtin_ia32_permdi512_mask ((__v8di) __X, __I,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex_pd (__m512d __X, const int __M)
-{
-  return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M,
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex_pd (__m512d __W, __mmask8 __U, __m512d __X, const int __M)
-{
-  return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M,
-						  (__v8df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex_pd (__mmask8 __U, __m512d __X, const int __M)
-{
-  return (__m512d) __builtin_ia32_permdf512_mask ((__v8df) __X, __M,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U);
-}
-#else
-#define _mm512_permutex_pd(X, M)						\
-  ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M),	\
-					    (__v8df)(__m512d)_mm512_undefined_pd(),\
-					    (__mmask8)-1))
-
-#define _mm512_mask_permutex_pd(W, U, X, M)					\
-  ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M),	\
-					    (__v8df)(__m512d)(W), (__mmask8)(U)))
-
-#define _mm512_maskz_permutex_pd(U, X, M)					\
-  ((__m512d) __builtin_ia32_permdf512_mask ((__v8df)(__m512d)(X), (int)(M),	\
-					    (__v8df)(__m512d)_mm512_setzero_pd(),\
-					    (__mmask8)(U)))
-
-#define _mm512_permutex_epi64(X, I)			          \
-  ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
-					    (int)(I),             \
-					    (__v8di)(__m512i)	  \
-					    (_mm512_undefined_si512 ()),\
-					    (__mmask8)(-1)))
-
-#define _mm512_maskz_permutex_epi64(M, X, I)                 \
-  ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
-					    (int)(I),             \
-					    (__v8di)(__m512i)     \
-					    (_mm512_setzero_si512 ()),\
-					    (__mmask8)(M)))
-
-#define _mm512_mask_permutex_epi64(W, M, X, I)               \
-  ((__m512i) __builtin_ia32_permdi512_mask ((__v8di)(__m512i)(X), \
-					    (int)(I),             \
-					    (__v8di)(__m512i)(W), \
-					    (__mmask8)(M)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
-						     (__v8di) __X,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
-						     (__v8di) __X,
-						     (__v8di)
-						     _mm512_undefined_si512 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X,
-			       __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
-						     (__v8di) __X,
-						     (__v8di) __W,
-						     __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
-						     (__v16si) __X,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
-						     (__v16si) __X,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
-			       __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
-						     (__v16si) __X,
-						     (__v16si) __W,
-						     __M);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_pd (__m512i __X, __m512d __Y)
-{
-  return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
-						     (__v8di) __X,
-						     (__v8df)
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y)
-{
-  return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
-						     (__v8di) __X,
-						     (__v8df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y)
-{
-  return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
-						     (__v8di) __X,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_ps (__m512i __X, __m512 __Y)
-{
-  return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
-						    (__v16si) __X,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y)
-{
-  return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
-						    (__v16si) __X,
-						    (__v16sf) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y)
-{
-  return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
-						    (__v16si) __X,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_ps (__m512 __M, __m512 __V, const int __imm)
-{
-  return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M,
-						 (__v16sf) __V, __imm,
-						 (__v16sf)
-						 _mm512_undefined_ps (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_ps (__m512 __W, __mmask16 __U, __m512 __M,
-			__m512 __V, const int __imm)
-{
-  return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M,
-						 (__v16sf) __V, __imm,
-						 (__v16sf) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_ps (__mmask16 __U, __m512 __M, __m512 __V, const int __imm)
-{
-  return (__m512) __builtin_ia32_shufps512_mask ((__v16sf) __M,
-						 (__v16sf) __V, __imm,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_shuffle_pd (__m512d __M, __m512d __V, const int __imm)
-{
-  return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M,
-						  (__v8df) __V, __imm,
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_shuffle_pd (__m512d __W, __mmask8 __U, __m512d __M,
-			__m512d __V, const int __imm)
-{
-  return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M,
-						  (__v8df) __V, __imm,
-						  (__v8df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_shuffle_pd (__mmask8 __U, __m512d __M, __m512d __V,
-			 const int __imm)
-{
-  return (__m512d) __builtin_ia32_shufpd512_mask ((__v8df) __M,
-						  (__v8df) __V, __imm,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fixupimm_round_pd (__m512d __A, __m512d __B, __m512i __C,
-			  const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8di) __C,
-						      __imm,
-						      (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fixupimm_round_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			       __m512i __C, const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8di) __C,
-						      __imm,
-						      (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fixupimm_round_pd (__mmask8 __U, __m512d __A, __m512d __B,
-				__m512i __C, const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8di) __C,
-						       __imm,
-						       (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fixupimm_round_ps (__m512 __A, __m512 __B, __m512i __C,
-			  const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16si) __C,
-						     __imm,
-						     (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fixupimm_round_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			       __m512i __C, const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16si) __C,
-						     __imm,
-						     (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fixupimm_round_ps (__mmask16 __U, __m512 __A, __m512 __B,
-				__m512i __C, const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16si) __C,
-						      __imm,
-						      (__mmask16) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_round_sd (__m128d __A, __m128d __B, __m128i __C,
-		       const int __imm, const int __R)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A,
-						   (__v2df) __B,
-						   (__v2di) __C, __imm,
-						   (__mmask8) -1, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_round_sd (__m128d __A, __mmask8 __U, __m128d __B,
-			    __m128i __C, const int __imm, const int __R)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A,
-						   (__v2df) __B,
-						   (__v2di) __C, __imm,
-						   (__mmask8) __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_round_sd (__mmask8 __U, __m128d __A, __m128d __B,
-			     __m128i __C, const int __imm, const int __R)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2di) __C,
-						    __imm,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_round_ss (__m128 __A, __m128 __B, __m128i __C,
-		       const int __imm, const int __R)
-{
-  return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__v4si) __C, __imm,
-						  (__mmask8) -1, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_round_ss (__m128 __A, __mmask8 __U, __m128 __B,
-			    __m128i __C, const int __imm, const int __R)
-{
-  return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__v4si) __C, __imm,
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_round_ss (__mmask8 __U, __m128 __A, __m128 __B,
-			     __m128i __C, const int __imm, const int __R)
-{
-  return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4si) __C, __imm,
-						   (__mmask8) __U, __R);
-}
-
-#else
-#define _mm512_shuffle_pd(X, Y, C)                                      \
-    ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X),           \
-        (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)_mm512_undefined_pd(),\
-    (__mmask8)-1))
-
-#define _mm512_mask_shuffle_pd(W, U, X, Y, C)                           \
-    ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X),           \
-        (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)(W),\
-    (__mmask8)(U)))
-
-#define _mm512_maskz_shuffle_pd(U, X, Y, C)                             \
-    ((__m512d)__builtin_ia32_shufpd512_mask ((__v8df)(__m512d)(X),           \
-        (__v8df)(__m512d)(Y), (int)(C),\
-    (__v8df)(__m512d)_mm512_setzero_pd(),\
-    (__mmask8)(U)))
-
-#define _mm512_shuffle_ps(X, Y, C)                                      \
-    ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X),            \
-        (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)_mm512_undefined_ps(),\
-    (__mmask16)-1))
-
-#define _mm512_mask_shuffle_ps(W, U, X, Y, C)                           \
-    ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X),            \
-        (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)(W),\
-    (__mmask16)(U)))
-
-#define _mm512_maskz_shuffle_ps(U, X, Y, C)                             \
-    ((__m512)__builtin_ia32_shufps512_mask ((__v16sf)(__m512)(X),            \
-        (__v16sf)(__m512)(Y), (int)(C),\
-    (__v16sf)(__m512)_mm512_setzero_ps(),\
-    (__mmask16)(U)))
-
-#define _mm512_fixupimm_round_pd(X, Y, Z, C, R)					\
-  ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X),	\
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),		\
-      (__mmask8)(-1), (R)))
-
-#define _mm512_mask_fixupimm_round_pd(X, U, Y, Z, C, R)                          \
-  ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X),    \
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),             \
-      (__mmask8)(U), (R)))
-
-#define _mm512_maskz_fixupimm_round_pd(U, X, Y, Z, C, R)                         \
-  ((__m512d)__builtin_ia32_fixupimmpd512_maskz ((__v8df)(__m512d)(X),   \
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),             \
-      (__mmask8)(U), (R)))
-
-#define _mm512_fixupimm_round_ps(X, Y, Z, C, R)					\
-  ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X),	\
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),		\
-    (__mmask16)(-1), (R)))
-
-#define _mm512_mask_fixupimm_round_ps(X, U, Y, Z, C, R)                          \
-  ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X),     \
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),              \
-    (__mmask16)(U), (R)))
-
-#define _mm512_maskz_fixupimm_round_ps(U, X, Y, Z, C, R)                         \
-  ((__m512)__builtin_ia32_fixupimmps512_maskz ((__v16sf)(__m512)(X),    \
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),              \
-    (__mmask16)(U), (R)))
-
-#define _mm_fixupimm_round_sd(X, Y, Z, C, R)					\
-    ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(-1), (R)))
-
-#define _mm_mask_fixupimm_round_sd(X, U, Y, Z, C, R)				\
-    ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), (R)))
-
-#define _mm_maskz_fixupimm_round_sd(U, X, Y, Z, C, R)				\
-    ((__m128d)__builtin_ia32_fixupimmsd_maskz ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), (R)))
-
-#define _mm_fixupimm_round_ss(X, Y, Z, C, R)					\
-    ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(-1), (R)))
-
-#define _mm_mask_fixupimm_round_ss(X, U, Y, Z, C, R)				\
-    ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), (R)))
-
-#define _mm_maskz_fixupimm_round_ss(U, X, Y, Z, C, R)				\
-    ((__m128)__builtin_ia32_fixupimmss_maskz ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), (R)))
-#endif
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movehdup_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_movehdup_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_moveldup_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_moveldup_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_moveldup_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_or_si512 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A | (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_or_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A | (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_or_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
-						(__v16si) __B,
-						(__v16si) __W,
-						(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_or_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
-						(__v16si) __B,
-						(__v16si)
-						_mm512_setzero_si512 (),
-						(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_or_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A | (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_or_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A,
-						(__v8di) __B,
-						(__v8di) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_or_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A,
-						(__v8di) __B,
-						(__v8di)
-						_mm512_setzero_si512 (),
-						(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_xor_si512 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A ^ (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_xor_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A ^ (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_xor_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_xor_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_xor_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A ^ (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_xor_epi64 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_xor_epi64 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rol_epi32 (__m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rol_epi32 (__m512i __W, __mmask16 __U, __m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rol_epi32 (__mmask16 __U, __m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prold512_mask ((__v16si) __A, __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ror_epi32 (__m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B,
-						 (__v16si)
-						 _mm512_undefined_si512 (),
-						 (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ror_epi32 (__m512i __W, __mmask16 __U, __m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ror_epi32 (__mmask16 __U, __m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prord512_mask ((__v16si) __A, __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_rol_epi64 (__m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_rol_epi64 (__m512i __W, __mmask8 __U, __m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_rol_epi64 (__mmask8 __U, __m512i __A, const int __B)
-{
-  return (__m512i) __builtin_ia32_prolq512_mask ((__v8di) __A, __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ror_epi64 (__m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B,
-						 (__v8di)
-						 _mm512_undefined_si512 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ror_epi64 (__m512i __W, __mmask8 __U, __m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B,
-						 (__v8di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ror_epi64 (__mmask8 __U, __m512i __A, int __B)
-{
-  return (__m512i) __builtin_ia32_prorq512_mask ((__v8di) __A, __B,
-						 (__v8di)
-						 _mm512_setzero_si512 (),
-						 (__mmask8) __U);
-}
-
-#else
-#define _mm512_rol_epi32(A, B)						  \
-    ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)_mm512_undefined_si512 (), \
-					    (__mmask16)(-1)))
-#define _mm512_mask_rol_epi32(W, U, A, B)				  \
-    ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)(__m512i)(W),	  \
-					    (__mmask16)(U)))
-#define _mm512_maskz_rol_epi32(U, A, B)					  \
-    ((__m512i)__builtin_ia32_prold512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)_mm512_setzero_si512 (), \
-					    (__mmask16)(U)))
-#define _mm512_ror_epi32(A, B)						  \
-    ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)_mm512_undefined_si512 (), \
-					    (__mmask16)(-1)))
-#define _mm512_mask_ror_epi32(W, U, A, B)				  \
-    ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)(__m512i)(W),	  \
-					    (__mmask16)(U)))
-#define _mm512_maskz_ror_epi32(U, A, B)					  \
-    ((__m512i)__builtin_ia32_prord512_mask ((__v16si)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v16si)_mm512_setzero_si512 (), \
-					    (__mmask16)(U)))
-#define _mm512_rol_epi64(A, B)						  \
-    ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)_mm512_undefined_si512 (),  \
-					    (__mmask8)(-1)))
-#define _mm512_mask_rol_epi64(W, U, A, B)				  \
-    ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)(__m512i)(W),	  \
-					    (__mmask8)(U)))
-#define _mm512_maskz_rol_epi64(U, A, B)					  \
-    ((__m512i)__builtin_ia32_prolq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)_mm512_setzero_si512 (),  \
-					    (__mmask8)(U)))
-
-#define _mm512_ror_epi64(A, B)						  \
-    ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)_mm512_undefined_si512 (),  \
-					    (__mmask8)(-1)))
-#define _mm512_mask_ror_epi64(W, U, A, B)				  \
-    ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)(__m512i)(W),	  \
-					    (__mmask8)(U)))
-#define _mm512_maskz_ror_epi64(U, A, B)					  \
-    ((__m512i)__builtin_ia32_prorq512_mask ((__v8di)(__m512i)(A),	  \
-					    (int)(B),			  \
-					    (__v8di)_mm512_setzero_si512 (),  \
-					    (__mmask8)(U)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_and_si512 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A & (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_and_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v16su) __A & (__v16su) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_and_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_and_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
-						 (__v16si) __B,
-						 (__v16si)
-						 _mm512_setzero_si512 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_and_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) ((__v8du) __A & (__v8du) __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_and_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di) __W, __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_and_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A,
-						 (__v8di) __B,
-						 (__v8di)
-						 _mm512_setzero_pd (),
-						 __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_andnot_si512 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_andnot_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_andnot_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_andnot_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_andnot_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_andnot_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W, __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_andnot_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_pd (),
-						  __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_test_epi32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A,
-						(__v16si) __B,
-						(__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_test_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A,
-						(__v16si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_test_epi64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A,
-					       (__v8di) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_test_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A, (__v8di) __B, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_testn_epi32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A,
-						 (__v16si) __B,
-						 (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_testn_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A,
-						 (__v16si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_testn_epi64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A,
-						(__v8di) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A,
-						(__v8di) __B, __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			    __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di)
-						      _mm512_undefined_si512 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			    __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di)
-						      _mm512_undefined_si512 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
-						      (__v8di) __B,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U);
-}
-
-#ifdef __x86_64__
-#ifdef __OPTIMIZE__
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_u64 (__m128 __A, const int __R)
-{
-  return (unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_si64 (__m128 __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvtss2si64 ((__v4sf) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_i64 (__m128 __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvtss2si64 ((__v4sf) __A, __R);
-}
-
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_u64 (__m128 __A, const int __R)
-{
-  return (unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_i64 (__m128 __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_si64 (__m128 __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A, __R);
-}
-#else
-#define _mm_cvt_roundss_u64(A, B)   \
-    ((unsigned long long)__builtin_ia32_vcvtss2usi64(A, B))
-
-#define _mm_cvt_roundss_si64(A, B)   \
-    ((long long)__builtin_ia32_vcvtss2si64(A, B))
-
-#define _mm_cvt_roundss_i64(A, B)   \
-    ((long long)__builtin_ia32_vcvtss2si64(A, B))
-
-#define _mm_cvtt_roundss_u64(A, B)  \
-    ((unsigned long long)__builtin_ia32_vcvttss2usi64(A, B))
-
-#define _mm_cvtt_roundss_i64(A, B)  \
-    ((long long)__builtin_ia32_vcvttss2si64(A, B))
-
-#define _mm_cvtt_roundss_si64(A, B)  \
-    ((long long)__builtin_ia32_vcvttss2si64(A, B))
-#endif
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_u32 (__m128 __A, const int __R)
-{
-  return (unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_si32 (__m128 __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvtss2si32 ((__v4sf) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_i32 (__m128 __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvtss2si32 ((__v4sf) __A, __R);
-}
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_u32 (__m128 __A, const int __R)
-{
-  return (unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_i32 (__m128 __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundss_si32 (__m128 __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A, __R);
-}
-#else
-#define _mm_cvt_roundss_u32(A, B)   \
-    ((unsigned)__builtin_ia32_vcvtss2usi32(A, B))
-
-#define _mm_cvt_roundss_si32(A, B)   \
-    ((int)__builtin_ia32_vcvtss2si32(A, B))
-
-#define _mm_cvt_roundss_i32(A, B)   \
-    ((int)__builtin_ia32_vcvtss2si32(A, B))
-
-#define _mm_cvtt_roundss_u32(A, B)  \
-    ((unsigned)__builtin_ia32_vcvttss2usi32(A, B))
-
-#define _mm_cvtt_roundss_si32(A, B)  \
-    ((int)__builtin_ia32_vcvttss2si32(A, B))
-
-#define _mm_cvtt_roundss_i32(A, B)  \
-    ((int)__builtin_ia32_vcvttss2si32(A, B))
-#endif
-
-#ifdef __x86_64__
-#ifdef __OPTIMIZE__
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_u64 (__m128d __A, const int __R)
-{
-  return (unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_si64 (__m128d __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvtsd2si64 ((__v2df) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_i64 (__m128d __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvtsd2si64 ((__v2df) __A, __R);
-}
-
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_u64 (__m128d __A, const int __R)
-{
-  return (unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_si64 (__m128d __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A, __R);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_i64 (__m128d __A, const int __R)
-{
-  return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A, __R);
-}
-#else
-#define _mm_cvt_roundsd_u64(A, B)   \
-    ((unsigned long long)__builtin_ia32_vcvtsd2usi64(A, B))
-
-#define _mm_cvt_roundsd_si64(A, B)   \
-    ((long long)__builtin_ia32_vcvtsd2si64(A, B))
-
-#define _mm_cvt_roundsd_i64(A, B)   \
-    ((long long)__builtin_ia32_vcvtsd2si64(A, B))
-
-#define _mm_cvtt_roundsd_u64(A, B)   \
-    ((unsigned long long)__builtin_ia32_vcvttsd2usi64(A, B))
-
-#define _mm_cvtt_roundsd_si64(A, B)   \
-    ((long long)__builtin_ia32_vcvttsd2si64(A, B))
-
-#define _mm_cvtt_roundsd_i64(A, B)   \
-    ((long long)__builtin_ia32_vcvttsd2si64(A, B))
-#endif
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_u32 (__m128d __A, const int __R)
-{
-  return (unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_si32 (__m128d __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvtsd2si32 ((__v2df) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_i32 (__m128d __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvtsd2si32 ((__v2df) __A, __R);
-}
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_u32 (__m128d __A, const int __R)
-{
-  return (unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_i32 (__m128d __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_roundsd_si32 (__m128d __A, const int __R)
-{
-  return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A, __R);
-}
-#else
-#define _mm_cvt_roundsd_u32(A, B)   \
-    ((unsigned)__builtin_ia32_vcvtsd2usi32(A, B))
-
-#define _mm_cvt_roundsd_si32(A, B)   \
-    ((int)__builtin_ia32_vcvtsd2si32(A, B))
-
-#define _mm_cvt_roundsd_i32(A, B)   \
-    ((int)__builtin_ia32_vcvtsd2si32(A, B))
-
-#define _mm_cvtt_roundsd_u32(A, B)   \
-    ((unsigned)__builtin_ia32_vcvttsd2usi32(A, B))
-
-#define _mm_cvtt_roundsd_si32(A, B)   \
-    ((int)__builtin_ia32_vcvttsd2si32(A, B))
-
-#define _mm_cvtt_roundsd_i32(A, B)   \
-    ((int)__builtin_ia32_vcvttsd2si32(A, B))
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_movedup_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_movedup_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
-						   (__v8df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_movedup_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpackhi_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpackhi_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpackhi_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_pd (__m256 __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_pd (__m512d __W, __mmask8 __U, __m256 __A,
-			    const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_pd (__mmask8 __U, __m256 __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundph_ps (__m256i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundph_ps (__m512 __W, __mmask16 __U, __m256i __A,
-			    const int __R)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundph_ps (__mmask16 __U, __m256i __A, const int __R)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U, __R);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundps_ph (__m512 __A, const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi)
-						     _mm256_undefined_si256 (),
-						     -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_ph (__m512 __A, const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi)
-						     _mm256_undefined_si256 (),
-						     -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundps_ph (__m256i __U, __mmask16 __W, __m512 __A,
-			    const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi) __U,
-						     (__mmask16) __W);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_ph (__m256i __U, __mmask16 __W, __m512 __A, const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi) __U,
-						     (__mmask16) __W);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundps_ph (__mmask16 __W, __m512 __A, const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __W);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_ph (__mmask16 __W, __m512 __A, const int __I)
-{
-  return (__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf) __A,
-						     __I,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __W);
-}
-#else
-#define _mm512_cvt_roundps_pd(A, B)		 \
-    (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_undefined_pd(), -1, B)
-
-#define _mm512_mask_cvt_roundps_pd(W, U, A, B)   \
-    (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)(W), U, B)
-
-#define _mm512_maskz_cvt_roundps_pd(U, A, B)     \
-    (__m512d)__builtin_ia32_cvtps2pd512_mask(A, (__v8df)_mm512_setzero_pd(), U, B)
-
-#define _mm512_cvt_roundph_ps(A, B)		 \
-    (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_undefined_ps(), -1, B)
-
-#define _mm512_mask_cvt_roundph_ps(W, U, A, B)   \
-    (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)(W), U, B)
-
-#define _mm512_maskz_cvt_roundph_ps(U, A, B)     \
-    (__m512)__builtin_ia32_vcvtph2ps512_mask((__v16hi)(A), (__v16sf)_mm512_setzero_ps(), U, B)
-
-#define _mm512_cvt_roundps_ph(A, I)						 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)_mm256_undefined_si256 (), -1))
-#define _mm512_cvtps_ph(A, I)						 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)_mm256_undefined_si256 (), -1))
-#define _mm512_mask_cvt_roundps_ph(U, W, A, I)				 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)(__m256i)(U), (__mmask16) (W)))
-#define _mm512_mask_cvtps_ph(U, W, A, I)				 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)(__m256i)(U), (__mmask16) (W)))
-#define _mm512_maskz_cvt_roundps_ph(W, A, I)					 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)_mm256_setzero_si256 (), (__mmask16) (W)))
-#define _mm512_maskz_cvtps_ph(W, A, I)					 \
-  ((__m256i) __builtin_ia32_vcvtps2ph512_mask ((__v16sf)(__m512) A, (int) (I),\
-    (__v16hi)_mm256_setzero_si256 (), (__mmask16) (W)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvt_roundpd_ps (__m512d __A, const int __R)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf)
-						   _mm256_undefined_ps (),
-						   (__mmask8) -1, __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvt_roundpd_ps (__m256 __W, __mmask8 __U, __m512d __A,
-			    const int __R)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U, __R);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvt_roundpd_ps (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundsd_ss (__m128 __A, __m128d __B, const int __R)
-{
-  return (__m128) __builtin_ia32_cvtsd2ss_round ((__v4sf) __A,
-						 (__v2df) __B,
-						 __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_roundss_sd (__m128d __A, __m128 __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_cvtss2sd_round ((__v2df) __A,
-						  (__v4sf) __B,
-						  __R);
-}
-#else
-#define _mm512_cvt_roundpd_ps(A, B)		 \
-    (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_undefined_ps(), -1, B)
-
-#define _mm512_mask_cvt_roundpd_ps(W, U, A, B)   \
-    (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)(W), U, B)
-
-#define _mm512_maskz_cvt_roundpd_ps(U, A, B)     \
-    (__m256)__builtin_ia32_cvtpd2ps512_mask(A, (__v8sf)_mm256_setzero_ps(), U, B)
-
-#define _mm_cvt_roundsd_ss(A, B, C)		 \
-    (__m128)__builtin_ia32_cvtsd2ss_round(A, B, C)
-
-#define _mm_cvt_roundss_sd(A, B, C)		 \
-    (__m128d)__builtin_ia32_cvtss2sd_round(A, B, C)
-#endif
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_stream_si512 (__m512i * __P, __m512i __A)
-{
-  __builtin_ia32_movntdq512 ((__v8di *) __P, (__v8di) __A);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_stream_ps (float *__P, __m512 __A)
-{
-  __builtin_ia32_movntps512 (__P, (__v16sf) __A);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_stream_pd (double *__P, __m512d __A)
-{
-  __builtin_ia32_movntpd512 (__P, (__v8df) __A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_stream_load_si512 (void *__P)
-{
-  return __builtin_ia32_movntdqa512 ((__v8di *)__P);
-}
-
-/* Constants for mantissa extraction */
-typedef enum
-{
-  _MM_MANT_NORM_1_2,		/* interval [1, 2)      */
-  _MM_MANT_NORM_p5_2,		/* interval [0.5, 2)    */
-  _MM_MANT_NORM_p5_1,		/* interval [0.5, 1)    */
-  _MM_MANT_NORM_p75_1p5		/* interval [0.75, 1.5) */
-} _MM_MANTISSA_NORM_ENUM;
-
-typedef enum
-{
-  _MM_MANT_SIGN_src,		/* sign = sign(SRC)     */
-  _MM_MANT_SIGN_zero,		/* sign = 0             */
-  _MM_MANT_SIGN_nan		/* DEST = NaN if sign(SRC) = 1 */
-} _MM_MANTISSA_SIGN_ENUM;
-
-#ifdef __OPTIMIZE__
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_getexpss128_round ((__v4sf) __A,
-						    (__v4sf) __B,
-						    __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df) __A,
-						     (__v2df) __B,
-						     __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getexp_round_ps (__m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getexp_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			     const int __R)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getexp_round_ps (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getexp_round_pd (__m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getexp_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			     const int __R)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getexp_round_pd (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getmant_round_pd (__m512d __A, _MM_MANTISSA_NORM_ENUM __B,
-			 _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getmant_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			      _MM_MANTISSA_NORM_ENUM __B,
-			      _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     (__v8df) __W, __U,
-						     __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getmant_round_pd (__mmask8 __U, __m512d __A,
-			       _MM_MANTISSA_NORM_ENUM __B,
-			       _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getmant_round_ps (__m512 __A, _MM_MANTISSA_NORM_ENUM __B,
-			 _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getmant_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			      _MM_MANTISSA_NORM_ENUM __B,
-			      _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    (__v16sf) __W, __U,
-						    __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getmant_round_ps (__mmask16 __U, __m512 __A,
-			       _MM_MANTISSA_NORM_ENUM __B,
-			       _MM_MANTISSA_SIGN_ENUM __C, const int __R)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    __U, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_round_sd (__m128d __A, __m128d __B,
-		      _MM_MANTISSA_NORM_ENUM __C,
-		      _MM_MANTISSA_SIGN_ENUM __D, const int __R)
-{
-  return (__m128d) __builtin_ia32_getmantsd_round ((__v2df) __A,
-						  (__v2df) __B,
-						  (__D << 2) | __C,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_round_ss (__m128 __A, __m128 __B,
-		      _MM_MANTISSA_NORM_ENUM __C,
-		      _MM_MANTISSA_SIGN_ENUM __D, const int __R)
-{
-  return (__m128) __builtin_ia32_getmantss_round ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__D << 2) | __C,
-						  __R);
-}
-
-#else
-#define _mm512_getmant_round_pd(X, B, C, R)                                                  \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)(__m512d)_mm512_undefined_pd(), \
-                                              (__mmask8)-1,\
-					      (R)))
-
-#define _mm512_mask_getmant_round_pd(W, U, X, B, C, R)                                       \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)(__m512d)(W),                 \
-                                              (__mmask8)(U),\
-					      (R)))
-
-#define _mm512_maskz_getmant_round_pd(U, X, B, C, R)                                         \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)(__m512d)_mm512_setzero_pd(), \
-                                              (__mmask8)(U),\
-					      (R)))
-#define _mm512_getmant_round_ps(X, B, C, R)                                                  \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)(__m512)_mm512_undefined_ps(), \
-                                             (__mmask16)-1,\
-					     (R)))
-
-#define _mm512_mask_getmant_round_ps(W, U, X, B, C, R)                                       \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)(__m512)(W),                  \
-                                             (__mmask16)(U),\
-					     (R)))
-
-#define _mm512_maskz_getmant_round_ps(U, X, B, C, R)                                         \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)(__m512)_mm512_setzero_ps(),  \
-                                             (__mmask16)(U),\
-					     (R)))
-#define _mm_getmant_round_sd(X, Y, C, D, R)                                                  \
-  ((__m128d)__builtin_ia32_getmantsd_round ((__v2df)(__m128d)(X),                    \
-					    (__v2df)(__m128d)(Y),	\
-					    (int)(((D)<<2) | (C)),	\
-					    (R)))
-
-#define _mm_getmant_round_ss(X, Y, C, D, R)                                                  \
-  ((__m128)__builtin_ia32_getmantss_round ((__v4sf)(__m128)(X),                      \
-					   (__v4sf)(__m128)(Y),		\
-					   (int)(((D)<<2) | (C)),	\
-					   (R)))
-
-#define _mm_getexp_round_ss(A, B, R)						      \
-  ((__m128)__builtin_ia32_getexpss128_round((__v4sf)(__m128)(A), (__v4sf)(__m128)(B), R))
-
-#define _mm_getexp_round_sd(A, B, R)						       \
-  ((__m128d)__builtin_ia32_getexpsd128_round((__v2df)(__m128d)(A), (__v2df)(__m128d)(B), R))
-
-#define _mm512_getexp_round_ps(A, R)						\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, R))
-
-#define _mm512_mask_getexp_round_ps(W, U, A, R)					\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)(__m512)(W), (__mmask16)(U), R))
-
-#define _mm512_maskz_getexp_round_ps(U, A, R)					\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), R))
-
-#define _mm512_getexp_round_pd(A, R)						\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)_mm512_undefined_pd(), (__mmask8)-1, R))
-
-#define _mm512_mask_getexp_round_pd(W, U, A, R)					\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)(__m512d)(W), (__mmask8)(U), R))
-
-#define _mm512_maskz_getexp_round_pd(U, A, R)					\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)_mm512_setzero_pd(), (__mmask8)(U), R))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_roundscale_round_ps (__m512 __A, const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm,
-						  (__v16sf)
-						  _mm512_undefined_ps (),
-						  -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_roundscale_round_ps (__m512 __A, __mmask16 __B, __m512 __C,
-				 const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __C, __imm,
-						  (__v16sf) __A,
-						  (__mmask16) __B, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_roundscale_round_ps (__mmask16 __A, __m512 __B,
-				  const int __imm, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __B,
-						  __imm,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __A, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_roundscale_round_pd (__m512d __A, const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_roundscale_round_pd (__m512d __A, __mmask8 __B,
-				 __m512d __C, const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __C, __imm,
-						   (__v8df) __A,
-						   (__mmask8) __B, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_roundscale_round_pd (__mmask8 __A, __m512d __B,
-				  const int __imm, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __B,
-						   __imm,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __A, __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_round_ss (__m128 __A, __m128 __B, const int __imm, const int __R)
-{
-  return (__m128) __builtin_ia32_rndscaless_round ((__v4sf) __A,
-						   (__v4sf) __B, __imm, __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_round_sd (__m128d __A, __m128d __B, const int __imm,
-			 const int __R)
-{
-  return (__m128d) __builtin_ia32_rndscalesd_round ((__v2df) __A,
-						    (__v2df) __B, __imm, __R);
-}
-
-#else
-#define _mm512_roundscale_round_ps(A, B, R) \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
-    (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), R))
-#define _mm512_mask_roundscale_round_ps(A, B, C, D, R)				\
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C),	\
-					    (int)(D),			\
-					    (__v16sf)(__m512)(A),	\
-					    (__mmask16)(B), R))
-#define _mm512_maskz_roundscale_round_ps(A, B, C, R)				\
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B),	\
-					    (int)(C),			\
-					    (__v16sf)_mm512_setzero_ps(),\
-					    (__mmask16)(A), R))
-#define _mm512_roundscale_round_pd(A, B, R) \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
-    (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), R))
-#define _mm512_mask_roundscale_round_pd(A, B, C, D, R)				\
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C),	\
-					     (int)(D),			\
-					     (__v8df)(__m512d)(A),	\
-					     (__mmask8)(B), R))
-#define _mm512_maskz_roundscale_round_pd(A, B, C, R)				\
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B),	\
-					     (int)(C),			\
-					     (__v8df)_mm512_setzero_pd(),\
-					     (__mmask8)(A), R))
-#define _mm_roundscale_round_ss(A, B, C, R)					\
-  ((__m128) __builtin_ia32_rndscaless_round ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C), R))
-#define _mm_roundscale_round_sd(A, B, C, R)					\
-  ((__m128d) __builtin_ia32_rndscalesd_round ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C), R))
-#endif
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_floor_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-						  _MM_FROUND_FLOOR,
-						  (__v16sf) __A, -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_floor_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-						   _MM_FROUND_FLOOR,
-						   (__v8df) __A, -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ceil_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-						  _MM_FROUND_CEIL,
-						  (__v16sf) __A, -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ceil_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-						   _MM_FROUND_CEIL,
-						   (__v8df) __A, -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_floor_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-						  _MM_FROUND_FLOOR,
-						  (__v16sf) __W, __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_floor_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-						   _MM_FROUND_FLOOR,
-						   (__v8df) __W, __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ceil_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-						  _MM_FROUND_CEIL,
-						  (__v16sf) __W, __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-						   _MM_FROUND_CEIL,
-						   (__v8df) __W, __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_alignr_epi32 (__m512i __A, __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A,
-						  (__v16si) __B, __imm,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_alignr_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
-			  __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A,
-						  (__v16si) __B, __imm,
-						  (__v16si) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_alignr_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
-			   const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignd512_mask ((__v16si) __A,
-						  (__v16si) __B, __imm,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_alignr_epi64 (__m512i __A, __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A,
-						  (__v8di) __B, __imm,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_alignr_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
-			  __m512i __B, const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A,
-						  (__v8di) __B, __imm,
-						  (__v8di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B,
-			   const int __imm)
-{
-  return (__m512i) __builtin_ia32_alignq512_mask ((__v8di) __A,
-						  (__v8di) __B, __imm,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  (__mmask8) __U);
-}
-#else
-#define _mm512_alignr_epi32(X, Y, C)                                        \
-    ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X),         \
-        (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_undefined_si512 (),\
-        (__mmask16)-1))
-
-#define _mm512_mask_alignr_epi32(W, U, X, Y, C)                             \
-    ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X),         \
-        (__v16si)(__m512i)(Y), (int)(C), (__v16si)(__m512i)(W),             \
-        (__mmask16)(U)))
-
-#define _mm512_maskz_alignr_epi32(U, X, Y, C)                               \
-    ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X),         \
-        (__v16si)(__m512i)(Y), (int)(C), (__v16si)_mm512_setzero_si512 (),\
-        (__mmask16)(U)))
-
-#define _mm512_alignr_epi64(X, Y, C)                                        \
-    ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X),          \
-        (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_undefined_si512 (),  \
-	(__mmask8)-1))
-
-#define _mm512_mask_alignr_epi64(W, U, X, Y, C)                             \
-    ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X),          \
-        (__v8di)(__m512i)(Y), (int)(C), (__v8di)(__m512i)(W), (__mmask8)(U)))
-
-#define _mm512_maskz_alignr_epi64(U, X, Y, C)                               \
-    ((__m512i)__builtin_ia32_alignq512_mask ((__v8di)(__m512i)(X),          \
-        (__v8di)(__m512i)(Y), (int)(C), (__v8di)_mm512_setzero_si512 (),\
-        (__mmask8)(U)))
-#endif
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epi32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A,
-						     (__v16si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A,
-						    (__v8di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epi64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A,
-						    (__v8di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epi32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A,
-						     (__v16si) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A,
-						     (__v16si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A,
-						    (__v8di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epi64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A,
-						    (__v8di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epi32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 5,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 5,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 5,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epu32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 5,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 5,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epi64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 5,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpge_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 5,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpge_epu64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 5,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 2,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epi32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 2,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 2,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epu32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 2,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 2,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epi64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 2,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmple_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 2,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmple_epu64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 2,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 1,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epi32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 1,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 1,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epu32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 1,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 1,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epi64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 1,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmplt_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 1,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmplt_epu64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 1,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epi32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 4,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 4,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 4,
-						    (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epu32_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						    (__v16si) __Y, 4,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epi64_mask (__mmask16 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 4,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epi64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 4,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpneq_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 4,
-						    (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpneq_epu64_mask (__m512i __X, __m512i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						    (__v8di) __Y, 4,
-						    (__mmask8) -1);
-}
-
-#define _MM_CMPINT_EQ	    0x0
-#define _MM_CMPINT_LT	    0x1
-#define _MM_CMPINT_LE	    0x2
-#define _MM_CMPINT_UNUSED   0x3
-#define _MM_CMPINT_NE	    0x4
-#define _MM_CMPINT_NLT	    0x5
-#define _MM_CMPINT_GE	    0x5
-#define _MM_CMPINT_NLE	    0x6
-#define _MM_CMPINT_GT	    0x6
-
-#ifdef __OPTIMIZE__
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epi64_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						 (__v8di) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epi32_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						  (__v16si) __Y, __P,
-						  (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epu64_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						  (__v8di) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_epu32_mask (__m512i __X, __m512i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						   (__v16si) __Y, __P,
-						   (__mmask16) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_round_pd_mask (__m512d __X, __m512d __Y, const int __P,
-			  const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X,
-						  (__v8df) __Y, __P,
-						  (__mmask8) -1, __R);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_round_ps_mask (__m512 __X, __m512 __Y, const int __P, const int __R)
-{
-  return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X,
-						   (__v16sf) __Y, __P,
-						   (__mmask16) -1, __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epi64_mask (__mmask8 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
-						 (__v8di) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epi32_mask (__mmask16 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
-						  (__v16si) __Y, __P,
-						  (__mmask16) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epu64_mask (__mmask8 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
-						  (__v8di) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_epu32_mask (__mmask16 __U, __m512i __X, __m512i __Y,
-			    const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
-						   (__v16si) __Y, __P,
-						   (__mmask16) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_round_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y,
-			       const int __P, const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X,
-						  (__v8df) __Y, __P,
-						  (__mmask8) __U, __R);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_round_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y,
-			       const int __P, const int __R)
-{
-  return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X,
-						   (__v16sf) __Y, __P,
-						   (__mmask16) __U, __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_round_sd_mask (__m128d __X, __m128d __Y, const int __P, const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X,
-					       (__v2df) __Y, __P,
-					       (__mmask8) -1, __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_round_sd_mask (__mmask8 __M, __m128d __X, __m128d __Y,
-			    const int __P, const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X,
-					       (__v2df) __Y, __P,
-					       (__mmask8) __M, __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_round_ss_mask (__m128 __X, __m128 __Y, const int __P, const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X,
-					       (__v4sf) __Y, __P,
-					       (__mmask8) -1, __R);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_round_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y,
-			    const int __P, const int __R)
-{
-  return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X,
-					       (__v4sf) __Y, __P,
-					       (__mmask8) __M, __R);
-}
-
-#else
-#define _mm512_cmp_epi64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)(__m512i)(X),	\
-					   (__v8di)(__m512i)(Y), (int)(P),\
-					   (__mmask8)-1))
-
-#define _mm512_cmp_epi32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X),	\
-					   (__v16si)(__m512i)(Y), (int)(P),\
-					   (__mmask16)-1))
-
-#define _mm512_cmp_epu64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)(__m512i)(X),	\
-					    (__v8di)(__m512i)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm512_cmp_epu32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X),	\
-					    (__v16si)(__m512i)(Y), (int)(P),\
-					    (__mmask16)-1))
-
-#define _mm512_cmp_round_pd_mask(X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X),	\
-					    (__v8df)(__m512d)(Y), (int)(P),\
-					    (__mmask8)-1, R))
-
-#define _mm512_cmp_round_ps_mask(X, Y, P, R)					\
-  ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X),	\
-					     (__v16sf)(__m512)(Y), (int)(P),\
-					     (__mmask16)-1, R))
-
-#define _mm512_mask_cmp_epi64_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpq512_mask ((__v8di)(__m512i)(X),	\
-					   (__v8di)(__m512i)(Y), (int)(P),\
-					   (__mmask8)M))
-
-#define _mm512_mask_cmp_epi32_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpd512_mask ((__v16si)(__m512i)(X),	\
-					   (__v16si)(__m512i)(Y), (int)(P),\
-					   (__mmask16)M))
-
-#define _mm512_mask_cmp_epu64_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di)(__m512i)(X),	\
-					    (__v8di)(__m512i)(Y), (int)(P),\
-					    (__mmask8)M))
-
-#define _mm512_mask_cmp_epu32_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpd512_mask ((__v16si)(__m512i)(X),	\
-					    (__v16si)(__m512i)(Y), (int)(P),\
-					    (__mmask16)M))
-
-#define _mm512_mask_cmp_round_pd_mask(M, X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X),	\
-					    (__v8df)(__m512d)(Y), (int)(P),\
-					    (__mmask8)M, R))
-
-#define _mm512_mask_cmp_round_ps_mask(M, X, Y, P, R)					\
-  ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X),	\
-					     (__v16sf)(__m512)(Y), (int)(P),\
-					     (__mmask16)M, R))
-
-#define _mm_cmp_round_sd_mask(X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X),		\
-					 (__v2df)(__m128d)(Y), (int)(P),\
-					 (__mmask8)-1, R))
-
-#define _mm_mask_cmp_round_sd_mask(M, X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X),		\
-					 (__v2df)(__m128d)(Y), (int)(P),\
-					 (M), R))
-
-#define _mm_cmp_round_ss_mask(X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X),		\
-					 (__v4sf)(__m128)(Y), (int)(P), \
-					 (__mmask8)-1, R))
-
-#define _mm_mask_cmp_round_ss_mask(M, X, Y, P, R)					\
-  ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X),		\
-					 (__v4sf)(__m128)(Y), (int)(P), \
-					 (M), R))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32gather_ps (__m512i __index, float const *__addr, int __scale)
-{
-  __m512 v1_old = _mm512_undefined_ps ();
-  __mmask16 mask = 0xFFFF;
-
-  return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) v1_old,
-						__addr,
-						(__v16si) __index,
-						mask, __scale);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32gather_ps (__m512 v1_old, __mmask16 __mask,
-			  __m512i __index, float const *__addr, int __scale)
-{
-  return (__m512) __builtin_ia32_gathersiv16sf ((__v16sf) v1_old,
-						__addr,
-						(__v16si) __index,
-						__mask, __scale);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32gather_pd (__m256i __index, double const *__addr, int __scale)
-{
-  __m512d v1_old = _mm512_undefined_pd ();
-  __mmask8 mask = 0xFF;
-
-  return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) v1_old,
-						__addr,
-						(__v8si) __index, mask,
-						__scale);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32gather_pd (__m512d __v1_old, __mmask8 __mask,
-			  __m256i __index, double const *__addr, int __scale)
-{
-  return (__m512d) __builtin_ia32_gathersiv8df ((__v8df) __v1_old,
-						__addr,
-						(__v8si) __index,
-						__mask, __scale);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64gather_ps (__m512i __index, float const *__addr, int __scale)
-{
-  __m256 v1_old = _mm256_undefined_ps ();
-  __mmask8 mask = 0xFF;
-
-  return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) v1_old,
-						__addr,
-						(__v8di) __index, mask,
-						__scale);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64gather_ps (__m256 __v1_old, __mmask8 __mask,
-			  __m512i __index, float const *__addr, int __scale)
-{
-  return (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf) __v1_old,
-						__addr,
-						(__v8di) __index,
-						__mask, __scale);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64gather_pd (__m512i __index, double const *__addr, int __scale)
-{
-  __m512d v1_old = _mm512_undefined_pd ();
-  __mmask8 mask = 0xFF;
-
-  return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) v1_old,
-						__addr,
-						(__v8di) __index, mask,
-						__scale);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64gather_pd (__m512d __v1_old, __mmask8 __mask,
-			  __m512i __index, double const *__addr, int __scale)
-{
-  return (__m512d) __builtin_ia32_gatherdiv8df ((__v8df) __v1_old,
-						__addr,
-						(__v8di) __index,
-						__mask, __scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale)
-{
-  __m512i v1_old = _mm512_undefined_si512 ();
-  __mmask16 mask = 0xFFFF;
-
-  return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) v1_old,
-						 __addr,
-						 (__v16si) __index,
-						 mask, __scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32gather_epi32 (__m512i __v1_old, __mmask16 __mask,
-			     __m512i __index, int const *__addr, int __scale)
-{
-  return (__m512i) __builtin_ia32_gathersiv16si ((__v16si) __v1_old,
-						 __addr,
-						 (__v16si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32gather_epi64 (__m256i __index, long long const *__addr, int __scale)
-{
-  __m512i v1_old = _mm512_undefined_si512 ();
-  __mmask8 mask = 0xFF;
-
-  return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) v1_old,
-						__addr,
-						(__v8si) __index, mask,
-						__scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32gather_epi64 (__m512i __v1_old, __mmask8 __mask,
-			     __m256i __index, long long const *__addr,
-			     int __scale)
-{
-  return (__m512i) __builtin_ia32_gathersiv8di ((__v8di) __v1_old,
-						__addr,
-						(__v8si) __index,
-						__mask, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64gather_epi32 (__m512i __index, int const *__addr, int __scale)
-{
-  __m256i v1_old = _mm256_undefined_si256 ();
-  __mmask8 mask = 0xFF;
-
-  return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) v1_old,
-						 __addr,
-						 (__v8di) __index,
-						 mask, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64gather_epi32 (__m256i __v1_old, __mmask8 __mask,
-			     __m512i __index, int const *__addr, int __scale)
-{
-  return (__m256i) __builtin_ia32_gatherdiv16si ((__v8si) __v1_old,
-						 __addr,
-						 (__v8di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64gather_epi64 (__m512i __index, long long const *__addr, int __scale)
-{
-  __m512i v1_old = _mm512_undefined_si512 ();
-  __mmask8 mask = 0xFF;
-
-  return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) v1_old,
-						__addr,
-						(__v8di) __index, mask,
-						__scale);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64gather_epi64 (__m512i __v1_old, __mmask8 __mask,
-			     __m512i __index, long long const *__addr,
-			     int __scale)
-{
-  return (__m512i) __builtin_ia32_gatherdiv8di ((__v8di) __v1_old,
-						__addr,
-						(__v8di) __index,
-						__mask, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32scatter_ps (float *__addr, __m512i __index, __m512 __v1, int __scale)
-{
-  __builtin_ia32_scattersiv16sf (__addr, (__mmask16) 0xFFFF,
-				 (__v16si) __index, (__v16sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32scatter_ps (float *__addr, __mmask16 __mask,
-			   __m512i __index, __m512 __v1, int __scale)
-{
-  __builtin_ia32_scattersiv16sf (__addr, __mask, (__v16si) __index,
-				 (__v16sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32scatter_pd (double *__addr, __m256i __index, __m512d __v1,
-		      int __scale)
-{
-  __builtin_ia32_scattersiv8df (__addr, (__mmask8) 0xFF,
-				(__v8si) __index, (__v8df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32scatter_pd (double *__addr, __mmask8 __mask,
-			   __m256i __index, __m512d __v1, int __scale)
-{
-  __builtin_ia32_scattersiv8df (__addr, __mask, (__v8si) __index,
-				(__v8df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64scatter_ps (float *__addr, __m512i __index, __m256 __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv16sf (__addr, (__mmask8) 0xFF,
-				 (__v8di) __index, (__v8sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64scatter_ps (float *__addr, __mmask8 __mask,
-			   __m512i __index, __m256 __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv16sf (__addr, __mask, (__v8di) __index,
-				 (__v8sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64scatter_pd (double *__addr, __m512i __index, __m512d __v1,
-		      int __scale)
-{
-  __builtin_ia32_scatterdiv8df (__addr, (__mmask8) 0xFF,
-				(__v8di) __index, (__v8df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64scatter_pd (double *__addr, __mmask8 __mask,
-			   __m512i __index, __m512d __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv8df (__addr, __mask, (__v8di) __index,
-				(__v8df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32scatter_epi32 (int *__addr, __m512i __index,
-			 __m512i __v1, int __scale)
-{
-  __builtin_ia32_scattersiv16si (__addr, (__mmask16) 0xFFFF,
-				 (__v16si) __index, (__v16si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32scatter_epi32 (int *__addr, __mmask16 __mask,
-			      __m512i __index, __m512i __v1, int __scale)
-{
-  __builtin_ia32_scattersiv16si (__addr, __mask, (__v16si) __index,
-				 (__v16si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i32scatter_epi64 (long long *__addr, __m256i __index,
-			 __m512i __v1, int __scale)
-{
-  __builtin_ia32_scattersiv8di (__addr, (__mmask8) 0xFF,
-				(__v8si) __index, (__v8di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask,
-			      __m256i __index, __m512i __v1, int __scale)
-{
-  __builtin_ia32_scattersiv8di (__addr, __mask, (__v8si) __index,
-				(__v8di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64scatter_epi32 (int *__addr, __m512i __index,
-			 __m256i __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv16si (__addr, (__mmask8) 0xFF,
-				 (__v8di) __index, (__v8si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask,
-			      __m512i __index, __m256i __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv16si (__addr, __mask, (__v8di) __index,
-				 (__v8si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_i64scatter_epi64 (long long *__addr, __m512i __index,
-			 __m512i __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv8di (__addr, (__mmask8) 0xFF,
-				(__v8di) __index, (__v8di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
-			      __m512i __index, __m512i __v1, int __scale)
-{
-  __builtin_ia32_scatterdiv8di (__addr, __mask, (__v8di) __index,
-				(__v8di) __v1, __scale);
-}
-#else
-#define _mm512_i32gather_ps(INDEX, ADDR, SCALE)				\
-  (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)_mm512_undefined_ps(),\
-					 (float const *)ADDR,		\
-					 (__v16si)(__m512i)INDEX,	\
-					 (__mmask16)0xFFFF, (int)SCALE)
-
-#define _mm512_mask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512) __builtin_ia32_gathersiv16sf ((__v16sf)(__m512)V1OLD,	\
-					 (float const *)ADDR,		\
-					 (__v16si)(__m512i)INDEX,	\
-					 (__mmask16)MASK, (int)SCALE)
-
-#define _mm512_i32gather_pd(INDEX, ADDR, SCALE)				\
-  (__m512d) __builtin_ia32_gathersiv8df ((__v8df)_mm512_undefined_pd(),	\
-					 (double const *)ADDR,		\
-					 (__v8si)(__m256i)INDEX,	\
-					 (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512d) __builtin_ia32_gathersiv8df ((__v8df)(__m512d)V1OLD,	\
-					 (double const *)ADDR,		\
-					 (__v8si)(__m256i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i64gather_ps(INDEX, ADDR, SCALE)				\
-  (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)_mm256_undefined_ps(),	\
-					 (float const *)ADDR,		\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256) __builtin_ia32_gatherdiv16sf ((__v8sf)(__m256)V1OLD,		\
-					 (float const *)ADDR,		\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i64gather_pd(INDEX, ADDR, SCALE)				\
-  (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)_mm512_undefined_pd(),	\
-					 (double const *)ADDR,		\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512d) __builtin_ia32_gatherdiv8df ((__v8df)(__m512d)V1OLD,	\
-					 (double const *)ADDR,		\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i32gather_epi32(INDEX, ADDR, SCALE)			\
-  (__m512i) __builtin_ia32_gathersiv16si ((__v16si)_mm512_undefined_si512 (),	\
-					  (int const *)ADDR,		\
-					  (__v16si)(__m512i)INDEX,	\
-					  (__mmask16)0xFFFF, (int)SCALE)
-
-#define _mm512_mask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512i) __builtin_ia32_gathersiv16si ((__v16si)(__m512i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v16si)(__m512i)INDEX,	\
-					  (__mmask16)MASK, (int)SCALE)
-
-#define _mm512_i32gather_epi64(INDEX, ADDR, SCALE)			\
-  (__m512i) __builtin_ia32_gathersiv8di ((__v8di)_mm512_undefined_si512 (),	\
-					 (long long const *)ADDR,	\
-					 (__v8si)(__m256i)INDEX,	\
-					 (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512i) __builtin_ia32_gathersiv8di ((__v8di)(__m512i)V1OLD,	\
-					 (long long const *)ADDR,	\
-					 (__v8si)(__m256i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i64gather_epi32(INDEX, ADDR, SCALE)			  \
-  (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)_mm256_undefined_si256(), \
-					  (int const *)ADDR,		  \
-					  (__v8di)(__m512i)INDEX,	  \
-					  (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256i) __builtin_ia32_gatherdiv16si ((__v8si)(__m256i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v8di)(__m512i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i64gather_epi64(INDEX, ADDR, SCALE)			\
-  (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)_mm512_undefined_si512 (),	\
-					 (long long const *)ADDR,	\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)0xFF, (int)SCALE)
-
-#define _mm512_mask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m512i) __builtin_ia32_gatherdiv8di ((__v8di)(__m512i)V1OLD,	\
-					 (long long const *)ADDR,	\
-					 (__v8di)(__m512i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm512_i32scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv16sf ((float *)ADDR, (__mmask16)0xFFFF,	\
-				 (__v16si)(__m512i)INDEX,		\
-				 (__v16sf)(__m512)V1, (int)SCALE)
-
-#define _mm512_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv16sf ((float *)ADDR, (__mmask16)MASK,		\
-				 (__v16si)(__m512i)INDEX,		\
-				 (__v16sf)(__m512)V1, (int)SCALE)
-
-#define _mm512_i32scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv8df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8df)(__m512d)V1, (int)SCALE)
-
-#define _mm512_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv8df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8df)(__m512d)V1, (int)SCALE)
-
-#define _mm512_i64scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv16sf ((float *)ADDR, (__mmask8)0xFF,		\
-				 (__v8di)(__m512i)INDEX,		\
-				 (__v8sf)(__m256)V1, (int)SCALE)
-
-#define _mm512_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv16sf ((float *)ADDR, (__mmask16)MASK,		\
-				 (__v8di)(__m512i)INDEX,		\
-				 (__v8sf)(__m256)V1, (int)SCALE)
-
-#define _mm512_i64scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv8df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v8di)(__m512i)INDEX,			\
-				(__v8df)(__m512d)V1, (int)SCALE)
-
-#define _mm512_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv8df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v8di)(__m512i)INDEX,			\
-				(__v8df)(__m512d)V1, (int)SCALE)
-
-#define _mm512_i32scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv16si ((int *)ADDR, (__mmask16)0xFFFF,	\
-				 (__v16si)(__m512i)INDEX,		\
-				 (__v16si)(__m512i)V1, (int)SCALE)
-
-#define _mm512_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scattersiv16si ((int *)ADDR, (__mmask16)MASK,		\
-				 (__v16si)(__m512i)INDEX,		\
-				 (__v16si)(__m512i)V1, (int)SCALE)
-
-#define _mm512_i32scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv8di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8di)(__m512i)V1, (int)SCALE)
-
-#define _mm512_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scattersiv8di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8di)(__m512i)V1, (int)SCALE)
-
-#define _mm512_i64scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv16si ((int *)ADDR, (__mmask8)0xFF,		\
-				 (__v8di)(__m512i)INDEX,		\
-				 (__v8si)(__m256i)V1, (int)SCALE)
-
-#define _mm512_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scatterdiv16si ((int *)ADDR, (__mmask8)MASK,		\
-				 (__v8di)(__m512i)INDEX,		\
-				 (__v8si)(__m256i)V1, (int)SCALE)
-
-#define _mm512_i64scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv8di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v8di)(__m512i)INDEX,			\
-				(__v8di)(__m512i)V1, (int)SCALE)
-
-#define _mm512_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scatterdiv8di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v8di)(__m512i)INDEX,			\
-				(__v8di)(__m512i)V1, (int)SCALE)
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compress_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A,
-						      (__v8df) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_compress_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A,
-						      (__v8df)
-						      _mm512_setzero_pd (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m512d __A)
-{
-  __builtin_ia32_compressstoredf512_mask ((__v8df *) __P, (__v8df) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compress_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A,
-						     (__v16sf) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_compress_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A,
-						     (__v16sf)
-						     _mm512_setzero_ps (),
-						     (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compressstoreu_ps (void *__P, __mmask16 __U, __m512 __A)
-{
-  __builtin_ia32_compressstoresf512_mask ((__v16sf *) __P, (__v16sf) __A,
-					  (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compress_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A,
-						      (__v8di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_compress_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A,
-						      (__v8di)
-						      _mm512_setzero_si512 (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m512i __A)
-{
-  __builtin_ia32_compressstoredi512_mask ((__v8di *) __P, (__v8di) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compress_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A,
-						      (__v16si) __W,
-						      (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_compress_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A,
-						      (__v16si)
-						      _mm512_setzero_si512 (),
-						      (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
-{
-  __builtin_ia32_compressstoresi512_mask ((__v16si *) __P, (__v16si) __A,
-					  (__mmask16) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expand_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_expanddf512_mask ((__v8df) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expand_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_expanddf512_maskz ((__v8df) __A,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expandloadu_pd (__m512d __W, __mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_expandloaddf512_mask ((const __v8df *) __P,
-							(__v8df) __W,
-							(__mmask8) __U);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m512d) __builtin_ia32_expandloaddf512_maskz ((const __v8df *) __P,
-							 (__v8df)
-							 _mm512_setzero_pd (),
-							 (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expand_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_expandsf512_mask ((__v16sf) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expand_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_expandsf512_maskz ((__v16sf) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expandloadu_ps (__m512 __W, __mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_expandloadsf512_mask ((const __v16sf *) __P,
-						       (__v16sf) __W,
-						       (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expandloadu_ps (__mmask16 __U, void const *__P)
-{
-  return (__m512) __builtin_ia32_expandloadsf512_maskz ((const __v16sf *) __P,
-							(__v16sf)
-							_mm512_setzero_ps (),
-							(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expand_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_expanddi512_mask ((__v8di) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expand_epi64 (__mmask8 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_expanddi512_maskz ((__v8di) __A,
-						     (__v8di)
-						     _mm512_setzero_si512 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expandloadu_epi64 (__m512i __W, __mmask8 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_expandloaddi512_mask ((const __v8di *) __P,
-							(__v8di) __W,
-							(__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m512i)
-	 __builtin_ia32_expandloaddi512_maskz ((const __v8di *) __P,
-					       (__v8di)
-					       _mm512_setzero_si512 (),
-					       (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expand_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_expandsi512_mask ((__v16si) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A)
-{
-  return (__m512i) __builtin_ia32_expandsi512_maskz ((__v16si) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_expandloadu_epi32 (__m512i __W, __mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_expandloadsi512_mask ((const __v16si *) __P,
-							(__v16si) __W,
-							(__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_expandloadu_epi32 (__mmask16 __U, void const *__P)
-{
-  return (__m512i) __builtin_ia32_expandloadsi512_maskz ((const __v16si *) __P,
-							 (__v16si)
-							 _mm512_setzero_si512
-							 (), (__mmask16) __U);
-}
-
-/* Mask arithmetic operations */
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kand (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kandhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kandn (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kandnhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kor (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_korhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kortestz (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kortestzhi ((__mmask16) __A,
-						(__mmask16) __B);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kortestc (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kortestchi ((__mmask16) __A,
-						(__mmask16) __B);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kxnor (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kxnorhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kxor (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kxorhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_knot (__mmask16 __A)
-{
-  return (__mmask16) __builtin_ia32_knothi ((__mmask16) __A);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kunpackb (__mmask16 __A, __mmask16 __B)
-{
-  return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_inserti32x4 (__mmask16 __B, __m512i __C, __m128i __D,
-			  const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __C,
-						    (__v4si) __D,
-						    __imm,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    __B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_insertf32x4 (__mmask16 __B, __m512 __C, __m128 __D,
-			  const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __C,
-						   (__v4sf) __D,
-						   __imm,
-						   (__v16sf)
-						   _mm512_setzero_ps (), __B);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_inserti32x4 (__m512i __A, __mmask16 __B, __m512i __C,
-			 __m128i __D, const int __imm)
-{
-  return (__m512i) __builtin_ia32_inserti32x4_mask ((__v16si) __C,
-						    (__v4si) __D,
-						    __imm,
-						    (__v16si) __A,
-						    __B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_insertf32x4 (__m512 __A, __mmask16 __B, __m512 __C,
-			 __m128 __D, const int __imm)
-{
-  return (__m512) __builtin_ia32_insertf32x4_mask ((__v16sf) __C,
-						   (__v4sf) __D,
-						   __imm,
-						   (__v16sf) __A, __B);
-}
-#else
-#define _mm512_maskz_insertf32x4(A, X, Y, C)                            \
-  ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X),     \
-    (__v4sf)(__m128) (Y), (int) (C), (__v16sf)_mm512_setzero_ps(),      \
-    (__mmask8)(A)))
-
-#define _mm512_maskz_inserti32x4(A, X, Y, C)                            \
-  ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X),   \
-    (__v4si)(__m128i) (Y), (int) (C), (__v16si)_mm512_setzero_si512 (),     \
-    (__mmask8)(A)))
-
-#define _mm512_mask_insertf32x4(A, B, X, Y, C)                          \
-  ((__m512) __builtin_ia32_insertf32x4_mask ((__v16sf)(__m512) (X),     \
-    (__v4sf)(__m128) (Y), (int) (C), (__v16sf)(__m512) (A),             \
-					     (__mmask8)(B)))
-
-#define _mm512_mask_inserti32x4(A, B, X, Y, C)                          \
-  ((__m512i) __builtin_ia32_inserti32x4_mask ((__v16si)(__m512i) (X),   \
-    (__v4si)(__m128i) (Y), (int) (C), (__v16si)(__m512i) (A),           \
-					      (__mmask8)(B)))
-#endif
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epi64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epu64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epu64 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_undefined_si512 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
-						  (__v8di) __B,
-						  (__v8di)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epi32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_epu32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W, __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_epu32 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_undefined_si512 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si)
-						  _mm512_setzero_si512 (),
-						  __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
-						  (__v16si) __B,
-						  (__v16si) __W, __M);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_unpacklo_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_unpacklo_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_unpacklo_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_maxsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_maxss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_round_sd (__m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_minsd_round ((__v2df) __A,
-					       (__v2df) __B,
-					       __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_round_ss (__m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_minss_round ((__v4sf) __A,
-					      (__v4sf) __B,
-					      __R);
-}
-
-#else
-#define _mm_max_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_addsd_round(A, B, C)
-
-#define _mm_max_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_addss_round(A, B, C)
-
-#define _mm_min_round_sd(A, B, C)            \
-    (__m128d)__builtin_ia32_subsd_round(A, B, C)
-
-#define _mm_min_round_ss(A, B, C)            \
-    (__m128)__builtin_ia32_subss_round(A, B, C)
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_pd (__mmask8 __U, __m512d __A, __m512d __W)
-{
-  return (__m512d) __builtin_ia32_blendmpd_512_mask ((__v8df) __A,
-						     (__v8df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_ps (__mmask16 __U, __m512 __A, __m512 __W)
-{
-  return (__m512) __builtin_ia32_blendmps_512_mask ((__v16sf) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_epi64 (__mmask8 __U, __m512i __A, __m512i __W)
-{
-  return (__m512i) __builtin_ia32_blendmq_512_mask ((__v8di) __A,
-						    (__v8di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_blend_epi32 (__mmask16 __U, __m512i __A, __m512i __W)
-{
-  return (__m512i) __builtin_ia32_blendmd_512_mask ((__v16si) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W,
-						   (__v2df) __A,
-						   (__v2df) __B,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W,
-						  (__v4sf) __A,
-						  (__v4sf) __B,
-						  __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W,
-						   (__v2df) __A,
-						   -(__v2df) __B,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W,
-						  (__v4sf) __A,
-						  -(__v4sf) __B,
-						  __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W,
-						   -(__v2df) __A,
-						   (__v2df) __B,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W,
-						  -(__v4sf) __A,
-						  (__v4sf) __B,
-						  __R);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, const int __R)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd3_round ((__v2df) __W,
-						   -(__v2df) __A,
-						   -(__v2df) __B,
-						   __R);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, const int __R)
-{
-  return (__m128) __builtin_ia32_vfmaddss3_round ((__v4sf) __W,
-						  -(__v4sf) __A,
-						  -(__v4sf) __B,
-						  __R);
-}
-#else
-#define _mm_fmadd_round_sd(A, B, C, R)            \
-    (__m128d)__builtin_ia32_vfmaddsd3_round(A, B, C, R)
-
-#define _mm_fmadd_round_ss(A, B, C, R)            \
-    (__m128)__builtin_ia32_vfmaddss3_round(A, B, C, R)
-
-#define _mm_fmsub_round_sd(A, B, C, R)            \
-    (__m128d)__builtin_ia32_vfmaddsd3_round(A, B, -(C), R)
-
-#define _mm_fmsub_round_ss(A, B, C, R)            \
-    (__m128)__builtin_ia32_vfmaddss3_round(A, B, -(C), R)
-
-#define _mm_fnmadd_round_sd(A, B, C, R)            \
-    (__m128d)__builtin_ia32_vfmaddsd3_round(A, -(B), C, R)
-
-#define _mm_fnmadd_round_ss(A, B, C, R)            \
-   (__m128)__builtin_ia32_vfmaddss3_round(A, -(B), C, R)
-
-#define _mm_fnmsub_round_sd(A, B, C, R)            \
-    (__m128d)__builtin_ia32_vfmaddsd3_round(A, -(B), -(C), R)
-
-#define _mm_fnmsub_round_ss(A, B, C, R)            \
-    (__m128)__builtin_ia32_vfmaddss3_round(A, -(B), -(C), R)
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comi_round_ss (__m128 __A, __m128 __B, const int __P, const int __R)
-{
-  return __builtin_ia32_vcomiss ((__v4sf) __A, (__v4sf) __B, __P, __R);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comi_round_sd (__m128d __A, __m128d __B, const int __P, const int __R)
-{
-  return __builtin_ia32_vcomisd ((__v2df) __A, (__v2df) __B, __P, __R);
-}
-#else
-#define _mm_comi_round_ss(A, B, C, D)\
-__builtin_ia32_vcomiss(A, B, C, D)
-#define _mm_comi_round_sd(A, B, C, D)\
-__builtin_ia32_vcomisd(A, B, C, D)
-#endif
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sqrt_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df)
-						  _mm512_undefined_pd (),
-						  (__mmask8) -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sqrt_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df) __W,
-						  (__mmask8) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
-						  (__v8df)
-						  _mm512_setzero_pd (),
-						  (__mmask8) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sqrt_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf)
-						 _mm512_undefined_ps (),
-						 (__mmask16) -1,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sqrt_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf) __W,
-						 (__mmask16) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sqrt_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
-						 (__v16sf)
-						 _mm512_setzero_ps (),
-						 (__mmask16) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) ((__v8df)__A + (__v8df)__B);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_add_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) ((__v16sf)__A + (__v16sf)__B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_add_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_add_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) ((__v8df)__A - (__v8df)__B);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_sub_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) ((__v16sf)__A - (__v16sf)__B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_sub_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_sub_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) ((__v8df)__A * (__v8df)__B);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mul_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) ((__v16sf)__A * (__v16sf)__B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_mul_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_mul_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_div_pd (__m512d __M, __m512d __V)
-{
-  return (__m512d) ((__v8df)__M / (__v8df)__V);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_div_pd (__m512d __W, __mmask8 __U, __m512d __M, __m512d __V)
-{
-  return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
-						 (__v8df) __V,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_div_pd (__mmask8 __U, __m512d __M, __m512d __V)
-{
-  return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
-						 (__v8df) __V,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_div_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) ((__v16sf)__A / (__v16sf)__B);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_div_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_div_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_max_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_max_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_max_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_undefined_pd (),
-						 (__mmask8) -1,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df) __W,
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
-						 (__v8df) __B,
-						 (__v8df)
-						 _mm512_setzero_pd (),
-						 (__mmask8) __U,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_min_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_undefined_ps (),
-						(__mmask16) -1,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_min_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf) __W,
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_min_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
-						(__v16sf) __B,
-						(__v16sf)
-						_mm512_setzero_ps (),
-						(__mmask16) __U,
-						_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_scalef_pd (__m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_scalef_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_scalef_pd (__mmask8 __U, __m512d __A, __m512d __B)
-{
-  return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_scalef_ps (__m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_scalef_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __W,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_scalef_ps (__mmask16 __U, __m512 __A, __m512 __B)
-{
-  return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_scalefsd_round ((__v2df) __A,
-						  (__v2df) __B,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_scalefss_round ((__v4sf) __A,
-						 (__v4sf) __B,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmadd_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmadd_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsub_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
-						     (__v8df) __B,
-						     -(__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsub_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
-						    (__v16sf) __B,
-						    -(__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8df) __C,
-						       (__mmask8) -1,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmaddsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8df) __C,
-						       (__mmask8) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U,
-							_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmaddsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U,
-							_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16sf) __C,
-						      (__mmask16) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmaddsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16sf) __C,
-						      (__mmask16) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmaddsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       -(__v8df) __C,
-						       (__mmask8) -1,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsubadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
-						       (__v8df) __B,
-						       -(__v8df) __C,
-						       (__mmask8) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A,
-							(__v8df) __B,
-							(__v8df) __C,
-							(__mmask8) __U,
-							_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsubadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
-							(__v8df) __B,
-							-(__v8df) __C,
-							(__mmask8) __U,
-							_MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      -(__v16sf) __C,
-						      (__mmask16) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fmsubadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
-						      (__v16sf) __B,
-						      -(__v16sf) __C,
-						      (__mmask16) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A,
-						       (__v16sf) __B,
-						       (__v16sf) __C,
-						       (__mmask16) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fmsubadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
-						       (__v16sf) __B,
-						       -(__v16sf) __C,
-						       (__mmask16) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
-						    (__v8df) __B,
-						    (__v8df) __C,
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
-						   (__v16sf) __B,
-						   (__v16sf) __C,
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_mask (-(__v8df) __A,
-						    (__v8df) __B,
-						    -(__v8df) __C,
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A,
-						     (__v8df) __B,
-						     (__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
-{
-  return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8df) __C,
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
-{
-  return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
-						     (__v8df) __B,
-						     -(__v8df) __C,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_mask (-(__v16sf) __A,
-						   (__v16sf) __B,
-						   -(__v16sf) __C,
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fnmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A,
-						    (__v16sf) __B,
-						    (__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask3_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
-{
-  return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16sf) __C,
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fnmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
-{
-  return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
-						    (__v16sf) __B,
-						    -(__v16sf) __C,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttpd_epi32 (__m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_undefined_si256 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttpd_epi32 (__mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttpd_epu32 (__m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si)
-						      _mm256_undefined_si256 (),
-						      (__mmask8) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si) __W,
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttpd_epu32 (__mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
-						      (__v8si)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtpd_epi32 (__m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si)
-						    _mm256_undefined_si256 (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtpd_epi32 (__mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtpd_epu32 (__m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_undefined_si256 (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtpd_epu32 (__mmask8 __U, __m512d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttps_epi32 (__m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttps_epi32 (__m512i __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttps_epi32 (__mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvttps_epu32 (__m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si)
-						      _mm512_undefined_si512 (),
-						      (__mmask16) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvttps_epu32 (__m512i __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si) __W,
-						      (__mmask16) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
-						      (__v16si)
-						      _mm512_setzero_si512 (),
-						      (__mmask16) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_epi32 (__m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si)
-						    _mm512_undefined_si512 (),
-						    (__mmask16) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_epi32 (__m512i __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si) __W,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_epi32 (__mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
-						    (__v16si)
-						    _mm512_setzero_si512 (),
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_epu32 (__m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_undefined_si512 (),
-						     (__mmask16) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_epu32 (__m512i __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si) __W,
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_epu32 (__mmask16 __U, __m512 __A)
-{
-  return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
-						     (__v16si)
-						     _mm512_setzero_si512 (),
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __x86_64__
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtu64_ss (__m128 __A, unsigned long long __B)
-{
-  return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf) __A, __B,
-					      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtu64_sd (__m128d __A, unsigned long long __B)
-{
-  return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df) __A, __B,
-					       _MM_FROUND_CUR_DIRECTION);
-}
-#endif
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtu32_ss (__m128 __A, unsigned __B)
-{
-  return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf) __A, __B,
-					      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepi32_ps (__m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepi32_ps (__m512 __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepi32_ps (__mmask16 __U, __m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtepu32_ps (__m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtepu32_ps (__m512 __W, __mmask16 __U, __m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtepu32_ps (__mmask16 __U, __m512i __A)
-{
-  return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fixupimm_pd (__m512d __A, __m512d __B, __m512i __C, const int __imm)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8di) __C,
-						      __imm,
-						      (__mmask8) -1,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fixupimm_pd (__m512d __A, __mmask8 __U, __m512d __B,
-			 __m512i __C, const int __imm)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_mask ((__v8df) __A,
-						      (__v8df) __B,
-						      (__v8di) __C,
-						      __imm,
-						      (__mmask8) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fixupimm_pd (__mmask8 __U, __m512d __A, __m512d __B,
-			  __m512i __C, const int __imm)
-{
-  return (__m512d) __builtin_ia32_fixupimmpd512_maskz ((__v8df) __A,
-						       (__v8df) __B,
-						       (__v8di) __C,
-						       __imm,
-						       (__mmask8) __U,
-						       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_fixupimm_ps (__m512 __A, __m512 __B, __m512i __C, const int __imm)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16si) __C,
-						     __imm,
-						     (__mmask16) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_fixupimm_ps (__m512 __A, __mmask16 __U, __m512 __B,
-			 __m512i __C, const int __imm)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_mask ((__v16sf) __A,
-						     (__v16sf) __B,
-						     (__v16si) __C,
-						     __imm,
-						     (__mmask16) __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_fixupimm_ps (__mmask16 __U, __m512 __A, __m512 __B,
-			  __m512i __C, const int __imm)
-{
-  return (__m512) __builtin_ia32_fixupimmps512_maskz ((__v16sf) __A,
-						      (__v16sf) __B,
-						      (__v16si) __C,
-						      __imm,
-						      (__mmask16) __U,
-						      _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_sd (__m128d __A, __m128d __B, __m128i __C, const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A,
-						   (__v2df) __B,
-						   (__v2di) __C, __imm,
-						   (__mmask8) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_sd (__m128d __A, __mmask8 __U, __m128d __B,
-		      __m128i __C, const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_mask ((__v2df) __A,
-						   (__v2df) __B,
-						   (__v2di) __C, __imm,
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_sd (__mmask8 __U, __m128d __A, __m128d __B,
-		       __m128i __C, const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmsd_maskz ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2di) __C,
-						    __imm,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_ss (__m128 __A, __m128 __B, __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__v4si) __C, __imm,
-						  (__mmask8) -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_ss (__m128 __A, __mmask8 __U, __m128 __B,
-		      __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmss_mask ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__v4si) __C, __imm,
-						  (__mmask8) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_ss (__mmask8 __U, __m128 __A, __m128 __B,
-		       __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmss_maskz ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4si) __C, __imm,
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-#else
-#define _mm512_fixupimm_pd(X, Y, Z, C)					\
-  ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X),	\
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),		\
-      (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_fixupimm_pd(X, U, Y, Z, C)                          \
-  ((__m512d)__builtin_ia32_fixupimmpd512_mask ((__v8df)(__m512d)(X),    \
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),             \
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_fixupimm_pd(U, X, Y, Z, C)                         \
-  ((__m512d)__builtin_ia32_fixupimmpd512_maskz ((__v8df)(__m512d)(X),   \
-      (__v8df)(__m512d)(Y), (__v8di)(__m512i)(Z), (int)(C),             \
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_fixupimm_ps(X, Y, Z, C)					\
-  ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X),	\
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),		\
-    (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_fixupimm_ps(X, U, Y, Z, C)                          \
-  ((__m512)__builtin_ia32_fixupimmps512_mask ((__v16sf)(__m512)(X),     \
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),              \
-    (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_fixupimm_ps(U, X, Y, Z, C)                         \
-  ((__m512)__builtin_ia32_fixupimmps512_maskz ((__v16sf)(__m512)(X),    \
-    (__v16sf)(__m512)(Y), (__v16si)(__m512i)(Z), (int)(C),              \
-    (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_fixupimm_sd(X, Y, Z, C)					\
-    ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_mask_fixupimm_sd(X, U, Y, Z, C)				\
-    ((__m128d)__builtin_ia32_fixupimmsd_mask ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_maskz_fixupimm_sd(U, X, Y, Z, C)				\
-    ((__m128d)__builtin_ia32_fixupimmsd_maskz ((__v2df)(__m128d)(X),	\
-      (__v2df)(__m128d)(Y), (__v2di)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_fixupimm_ss(X, Y, Z, C)					\
-    ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_mask_fixupimm_ss(X, U, Y, Z, C)				\
-    ((__m128)__builtin_ia32_fixupimmss_mask ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_maskz_fixupimm_ss(U, X, Y, Z, C)				\
-    ((__m128)__builtin_ia32_fixupimmss_maskz ((__v4sf)(__m128)(X),	\
-      (__v4sf)(__m128)(Y), (__v4si)(__m128i)(Z), (int)(C),		\
-      (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-#endif
-
-#ifdef __x86_64__
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_u64 (__m128 __A)
-{
-  return (unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf)
-							   __A,
-							   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_u64 (__m128 __A)
-{
-  return (unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf)
-							    __A,
-							    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_i64 (__m128 __A)
-{
-  return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-#endif /* __x86_64__ */
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_u32 (__m128 __A)
-{
-  return (unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf) __A,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_u32 (__m128 __A)
-{
-  return (unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf) __A,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_i32 (__m128 __A)
-{
-  return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A,
-					    _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __x86_64__
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_u64 (__m128d __A)
-{
-  return (unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df)
-							   __A,
-							   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline unsigned long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_u64 (__m128d __A)
-{
-  return (unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df)
-							    __A,
-							    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline long long
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_i64 (__m128d __A)
-{
-  return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-#endif /* __x86_64__ */
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_u32 (__m128d __A)
-{
-  return (unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df) __A,
-						 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline unsigned
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_u32 (__m128d __A)
-{
-  return (unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df) __A,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline int
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_i32 (__m128d __A)
-{
-  return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A,
-					    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtps_pd (__m256 __A)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtps_pd (__m512d __W, __mmask8 __U, __m256 __A)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtps_pd (__mmask8 __U, __m256 __A)
-{
-  return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtph_ps (__m256i __A)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf)
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtph_ps (__m512 __W, __mmask16 __U, __m256i __A)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf) __W,
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtph_ps (__mmask16 __U, __m256i __A)
-{
-  return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    (__mmask16) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cvtpd_ps (__m512d __A)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf)
-						   _mm256_undefined_ps (),
-						   (__mmask8) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cvtpd_ps (__m256 __W, __mmask8 __U, __m512d __A)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_cvtpd_ps (__mmask8 __U, __m512d __A)
-{
-  return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getexp_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_undefined_ps (),
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getexp_ps (__m512 __W, __mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf) __W,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getexp_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_getexpps512_mask ((__v16sf) __A,
-						   (__v16sf)
-						   _mm512_setzero_ps (),
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getexp_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df)
-						    _mm512_undefined_pd (),
-						    (__mmask8) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getexp_pd (__m512d __W, __mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df) __W,
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getexp_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_getexppd512_mask ((__v8df) __A,
-						    (__v8df)
-						    _mm512_setzero_pd (),
-						    (__mmask8) __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_getexpss128_round ((__v4sf) __A,
-						    (__v4sf) __B,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_getexpsd128_round ((__v2df) __A,
-						     (__v2df) __B,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getmant_pd (__m512d __A, _MM_MANTISSA_NORM_ENUM __B,
-		   _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     _mm512_undefined_pd (),
-						     (__mmask8) -1,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getmant_pd (__m512d __W, __mmask8 __U, __m512d __A,
-			_MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     (__v8df) __W, __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getmant_pd (__mmask8 __U, __m512d __A,
-			 _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512d) __builtin_ia32_getmantpd512_mask ((__v8df) __A,
-						     (__C << 2) | __B,
-						     (__v8df)
-						     _mm512_setzero_pd (),
-						     __U,
-						     _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_getmant_ps (__m512 __A, _MM_MANTISSA_NORM_ENUM __B,
-		   _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    _mm512_undefined_ps (),
-						    (__mmask16) -1,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_getmant_ps (__m512 __W, __mmask16 __U, __m512 __A,
-			_MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    (__v16sf) __W, __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_getmant_ps (__mmask16 __U, __m512 __A,
-			 _MM_MANTISSA_NORM_ENUM __B, _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m512) __builtin_ia32_getmantps512_mask ((__v16sf) __A,
-						    (__C << 2) | __B,
-						    (__v16sf)
-						    _mm512_setzero_ps (),
-						    __U,
-						    _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_sd (__m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C,
-		_MM_MANTISSA_SIGN_ENUM __D)
-{
-  return (__m128d) __builtin_ia32_getmantsd_round ((__v2df) __A,
-						   (__v2df) __B,
-						   (__D << 2) | __C,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_ss (__m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C,
-		_MM_MANTISSA_SIGN_ENUM __D)
-{
-  return (__m128) __builtin_ia32_getmantss_round ((__v4sf) __A,
-						  (__v4sf) __B,
-						  (__D << 2) | __C,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-#else
-#define _mm512_getmant_pd(X, B, C)                                                  \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)_mm512_undefined_pd(),        \
-                                              (__mmask8)-1,\
-					      _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_getmant_pd(W, U, X, B, C)                                       \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)(__m512d)(W),                 \
-                                              (__mmask8)(U),\
-					      _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_getmant_pd(U, X, B, C)                                         \
-  ((__m512d)__builtin_ia32_getmantpd512_mask ((__v8df)(__m512d)(X),                 \
-                                              (int)(((C)<<2) | (B)),                \
-                                              (__v8df)_mm512_setzero_pd(),          \
-                                              (__mmask8)(U),\
-					      _MM_FROUND_CUR_DIRECTION))
-#define _mm512_getmant_ps(X, B, C)                                                  \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)_mm512_undefined_ps(),        \
-                                             (__mmask16)-1,\
-					     _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_getmant_ps(W, U, X, B, C)                                       \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)(__m512)(W),                  \
-                                             (__mmask16)(U),\
-					     _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_getmant_ps(U, X, B, C)                                         \
-  ((__m512)__builtin_ia32_getmantps512_mask ((__v16sf)(__m512)(X),                  \
-                                             (int)(((C)<<2) | (B)),                 \
-                                             (__v16sf)_mm512_setzero_ps(),          \
-                                             (__mmask16)(U),\
-					     _MM_FROUND_CUR_DIRECTION))
-#define _mm_getmant_sd(X, Y, C, D)                                                  \
-  ((__m128d)__builtin_ia32_getmantsd_round ((__v2df)(__m128d)(X),                    \
-                                           (__v2df)(__m128d)(Y),                    \
-                                           (int)(((D)<<2) | (C)),                   \
-					   _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_getmant_ss(X, Y, C, D)                                                  \
-  ((__m128)__builtin_ia32_getmantss_round ((__v4sf)(__m128)(X),                      \
-                                          (__v4sf)(__m128)(Y),                      \
-                                          (int)(((D)<<2) | (C)),                    \
-					  _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_getexp_ss(A, B)						      \
-  ((__m128)__builtin_ia32_getexpss128_mask((__v4sf)(__m128)(A), (__v4sf)(__m128)(B),  \
-					   _MM_FROUND_CUR_DIRECTION))
-
-#define _mm_getexp_sd(A, B)						       \
-  ((__m128d)__builtin_ia32_getexpsd128_mask((__v2df)(__m128d)(A), (__v2df)(__m128d)(B),\
-					    _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_getexp_ps(A)						\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_getexp_ps(W, U, A)					\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)(__m512)(W), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_getexp_ps(U, A)					\
-  ((__m512)__builtin_ia32_getexpps512_mask((__v16sf)(__m512)(A),		\
-  (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_getexp_pd(A)						\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)_mm512_undefined_pd(), (__mmask8)-1, _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_getexp_pd(W, U, A)					\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_maskz_getexp_pd(U, A)					\
-  ((__m512d)__builtin_ia32_getexppd512_mask((__v8df)(__m512d)(A),		\
-  (__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_roundscale_ps (__m512 __A, const int __imm)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A, __imm,
-						  (__v16sf)
-						  _mm512_undefined_ps (),
-						  -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_roundscale_ps (__m512 __A, __mmask16 __B, __m512 __C,
-			   const int __imm)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __C, __imm,
-						  (__v16sf) __A,
-						  (__mmask16) __B,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_roundscale_ps (__mmask16 __A, __m512 __B, const int __imm)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __B,
-						  __imm,
-						  (__v16sf)
-						  _mm512_setzero_ps (),
-						  (__mmask16) __A,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_roundscale_pd (__m512d __A, const int __imm)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A, __imm,
-						   (__v8df)
-						   _mm512_undefined_pd (),
-						   -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_roundscale_pd (__m512d __A, __mmask8 __B, __m512d __C,
-			   const int __imm)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __C, __imm,
-						   (__v8df) __A,
-						   (__mmask8) __B,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_roundscale_pd (__mmask8 __A, __m512d __B, const int __imm)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __B,
-						   __imm,
-						   (__v8df)
-						   _mm512_setzero_pd (),
-						   (__mmask8) __A,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_ss (__m128 __A, __m128 __B, const int __imm)
-{
-  return (__m128) __builtin_ia32_rndscaless_round ((__v4sf) __A,
-						   (__v4sf) __B, __imm,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_sd (__m128d __A, __m128d __B, const int __imm)
-{
-  return (__m128d) __builtin_ia32_rndscalesd_round ((__v2df) __A,
-						    (__v2df) __B, __imm,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-#else
-#define _mm512_roundscale_ps(A, B) \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A), (int)(B),\
-    (__v16sf)_mm512_undefined_ps(), (__mmask16)(-1), _MM_FROUND_CUR_DIRECTION))
-#define _mm512_mask_roundscale_ps(A, B, C, D)				\
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C),	\
-					    (int)(D),			\
-					    (__v16sf)(__m512)(A),	\
-					    (__mmask16)(B), _MM_FROUND_CUR_DIRECTION))
-#define _mm512_maskz_roundscale_ps(A, B, C)				\
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B),	\
-					    (int)(C),			\
-					    (__v16sf)_mm512_setzero_ps(),\
-					    (__mmask16)(A), _MM_FROUND_CUR_DIRECTION))
-#define _mm512_roundscale_pd(A, B) \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A), (int)(B),\
-    (__v8df)_mm512_undefined_pd(), (__mmask8)(-1), _MM_FROUND_CUR_DIRECTION))
-#define _mm512_mask_roundscale_pd(A, B, C, D)				\
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C),	\
-					     (int)(D),			\
-					     (__v8df)(__m512d)(A),	\
-					     (__mmask8)(B), _MM_FROUND_CUR_DIRECTION))
-#define _mm512_maskz_roundscale_pd(A, B, C)				\
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B),	\
-					     (int)(C),			\
-					     (__v8df)_mm512_setzero_pd(),\
-					     (__mmask8)(A), _MM_FROUND_CUR_DIRECTION))
-#define _mm_roundscale_ss(A, B, C)					\
-  ((__m128) __builtin_ia32_rndscaless_round ((__v4sf)(__m128)(A),	\
-  (__v4sf)(__m128)(B), (int)(C), _MM_FROUND_CUR_DIRECTION))
-#define _mm_roundscale_sd(A, B, C)					\
-  ((__m128d) __builtin_ia32_rndscalesd_round ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C), _MM_FROUND_CUR_DIRECTION))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_pd_mask (__m512d __X, __m512d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X,
-						  (__v8df) __Y, __P,
-						  (__mmask8) -1,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmp_ps_mask (__m512 __X, __m512 __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X,
-						   (__v16sf) __Y, __P,
-						   (__mmask16) -1,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X,
-						   (__v16sf) __Y, __P,
-						   (__mmask16) __U,
-						   _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmp_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X,
-						  (__v8df) __Y, __P,
-						  (__mmask8) __U,
-						  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_sd_mask (__m128d __X, __m128d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X,
-					       (__v2df) __Y, __P,
-					       (__mmask8) -1,
-					       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_sd_mask (__mmask8 __M, __m128d __X, __m128d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpsd_mask ((__v2df) __X,
-					       (__v2df) __Y, __P,
-					       (__mmask8) __M,
-					       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_ss_mask (__m128 __X, __m128 __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X,
-					       (__v4sf) __Y, __P,
-					       (__mmask8) -1,
-					       _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_ss_mask (__mmask8 __M, __m128 __X, __m128 __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpss_mask ((__v4sf) __X,
-					       (__v4sf) __Y, __P,
-					       (__mmask8) __M,
-					       _MM_FROUND_CUR_DIRECTION);
-}
-
-#else
-#define _mm512_cmp_pd_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X),	\
-					    (__v8df)(__m512d)(Y), (int)(P),\
-					    (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_cmp_ps_mask(X, Y, P)					\
-  ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X),	\
-					     (__v16sf)(__m512)(Y), (int)(P),\
-					     (__mmask16)-1,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_cmp_pd_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmppd512_mask ((__v8df)(__m512d)(X),	\
-					    (__v8df)(__m512d)(Y), (int)(P),\
-					    (__mmask8)M, _MM_FROUND_CUR_DIRECTION))
-
-#define _mm512_mask_cmp_ps_mask(M, X, Y, P)					\
-  ((__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf)(__m512)(X),	\
-					     (__v16sf)(__m512)(Y), (int)(P),\
-					     (__mmask16)M,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm_cmp_sd_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X),		\
-					 (__v2df)(__m128d)(Y), (int)(P),\
-					 (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm_mask_cmp_sd_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpsd_mask ((__v2df)(__m128d)(X),		\
-					 (__v2df)(__m128d)(Y), (int)(P),\
-					 M,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm_cmp_ss_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X),		\
-					 (__v4sf)(__m128)(Y), (int)(P), \
-					 (__mmask8)-1,_MM_FROUND_CUR_DIRECTION))
-
-#define _mm_mask_cmp_ss_mask(M, X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpss_mask ((__v4sf)(__m128)(X),		\
-					 (__v4sf)(__m128)(Y), (int)(P), \
-					 M,_MM_FROUND_CUR_DIRECTION))
-#endif
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_kmov (__mmask16 __A)
-{
-  return __builtin_ia32_kmov16 (__A);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd_ps (__m512d __A)
-{
-  return (__m512) (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd_si512 (__m512d __A)
-{
-  return (__m512i) (__A);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps_pd (__m512 __A)
-{
-  return (__m512d) (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps_si512 (__m512 __A)
-{
-  return (__m512i) (__A);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi512_ps (__m512i __A)
-{
-  return (__m512) (__A);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi512_pd (__m512i __A)
-{
-  return (__m512d) (__A);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd512_pd128 (__m512d __A)
-{
-  return (__m128d)_mm512_extractf32x4_ps((__m512)__A, 0);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps512_ps128 (__m512 __A)
-{
-  return _mm512_extractf32x4_ps(__A, 0);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi512_si128 (__m512i __A)
-{
-  return (__m128i)_mm512_extracti32x4_epi32((__m512i)__A, 0);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd512_pd256 (__m512d __A)
-{
-  return _mm512_extractf64x4_pd(__A, 0);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps512_ps256 (__m512 __A)
-{
-  return (__m256)_mm512_extractf64x4_pd((__m512d)__A, 0);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi512_si256 (__m512i __A)
-{
-  return (__m256i)_mm512_extractf64x4_pd((__m512d)__A, 0);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd128_pd512 (__m128d __A)
-{
-  return (__m512d) __builtin_ia32_pd512_pd((__m128d)__A);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps128_ps512 (__m128 __A)
-{
-  return (__m512) __builtin_ia32_ps512_ps((__m128)__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi128_si512 (__m128i __A)
-{
-  return (__m512i) __builtin_ia32_si512_si((__v4si)__A);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castpd256_pd512 (__m256d __A)
-{
-  return __builtin_ia32_pd512_256pd (__A);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castps256_ps512 (__m256 __A)
-{
-  return __builtin_ia32_ps512_256ps (__A);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_castsi256_si512 (__m256i __A)
-{
-  return (__m512i)__builtin_ia32_si512_256si ((__v8si)__A);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epu32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
-						     (__v16si) __B, 0,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
-						     (__v16si) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpeq_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
-						    (__v8di) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpeq_epu64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
-						    (__v8di) __B, 0,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epu32_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
-						     (__v16si) __B, 6,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
-						     (__v16si) __B, 6,  __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_cmpgt_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
-						    (__v8di) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_cmpgt_epu64_mask (__m512i __A, __m512i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
-						    (__v8di) __B, 6,
-						    (__mmask8) -1);
-}
-
-#ifdef __DISABLE_AVX512F__
-#undef __DISABLE_AVX512F__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512F__ */
-
-#endif /* _AVX512FINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512ifmaintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512ifmaintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,104 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512ifmaintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512IFMAINTRIN_H_INCLUDED
-#define _AVX512IFMAINTRIN_H_INCLUDED
-
-#ifndef __AVX512IFMA__
-#pragma GCC push_options
-#pragma GCC target("avx512ifma")
-#define __DISABLE_AVX512IFMA__
-#endif /* __AVX512IFMA__ */
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_madd52lo_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
-{
-  return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __X,
-						       (__v8di) __Y,
-						       (__v8di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
-{
-  return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __X,
-						       (__v8di) __Y,
-						       (__v8di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_madd52lo_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
-			    __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __W,
-						       (__v8di) __X,
-						       (__v8di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_madd52hi_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
-			    __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __W,
-						       (__v8di) __X,
-						       (__v8di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_madd52lo_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
-{
-  return (__m512i) __builtin_ia32_vpmadd52luq512_maskz ((__v8di) __X,
-							(__v8di) __Y,
-							(__v8di) __Z,
-							(__mmask8) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_madd52hi_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
-{
-  return (__m512i) __builtin_ia32_vpmadd52huq512_maskz ((__v8di) __X,
-							(__v8di) __Y,
-							(__v8di) __Z,
-							(__mmask8) __M);
-}
-
-#ifdef __DISABLE_AVX512IFMA__
-#undef __DISABLE_AVX512IFMA__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512IFMA__ */
-
-#endif /* _AVX512IFMAINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512ifmavlintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512ifmavlintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,164 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512IFMAVLINTRIN_H_INCLUDED
-#define _AVX512IFMAVLINTRIN_H_INCLUDED
-
-#if !defined(__AVX512VL__) || !defined(__AVX512IFMA__)
-#pragma GCC push_options
-#pragma GCC target("avx512ifma,avx512vl")
-#define __DISABLE_AVX512IFMAVL__
-#endif /* __AVX512IFMAVL__ */
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_madd52lo_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
-{
-  return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __X,
-						       (__v2di) __Y,
-						       (__v2di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
-{
-  return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __X,
-						       (__v2di) __Y,
-						       (__v2di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_madd52lo_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
-{
-  return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __X,
-						       (__v4di) __Y,
-						       (__v4di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_madd52hi_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
-{
-  return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __X,
-						       (__v4di) __Y,
-						       (__v4di) __Z,
-						       (__mmask8) - 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __W,
-						       (__v2di) __X,
-						       (__v2di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __W,
-						       (__v2di) __X,
-						       (__v2di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
-			    __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __W,
-						       (__v4di) __X,
-						       (__v4di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
-			    __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __W,
-						       (__v4di) __X,
-						       (__v4di) __Y,
-						       (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
-{
-  return (__m128i) __builtin_ia32_vpmadd52luq128_maskz ((__v2di) __X,
-							(__v2di) __Y,
-							(__v2di) __Z,
-							(__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
-{
-  return (__m128i) __builtin_ia32_vpmadd52huq128_maskz ((__v2di) __X,
-							(__v2di) __Y,
-							(__v2di) __Z,
-							(__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_madd52lo_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
-{
-  return (__m256i) __builtin_ia32_vpmadd52luq256_maskz ((__v4di) __X,
-							(__v4di) __Y,
-							(__v4di) __Z,
-							(__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
-{
-  return (__m256i) __builtin_ia32_vpmadd52huq256_maskz ((__v4di) __X,
-							(__v4di) __Y,
-							(__v4di) __Z,
-							(__mmask8) __M);
-}
-
-#ifdef __DISABLE_AVX512IFMAVL__
-#undef __DISABLE_AVX512IFMAVL__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512IFMAVL__ */
-
-#endif /* _AVX512IFMAVLINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512pfintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512pfintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,212 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512pfintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512PFINTRIN_H_INCLUDED
-#define _AVX512PFINTRIN_H_INCLUDED
-
-#ifndef __AVX512PF__
-#pragma GCC push_options
-#pragma GCC target("avx512pf")
-#define __DISABLE_AVX512PF__
-#endif /* __AVX512PF__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef long long __v8di __attribute__ ((__vector_size__ (64)));
-typedef int __v16si __attribute__ ((__vector_size__ (64)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
-
-typedef unsigned char  __mmask8;
-typedef unsigned short __mmask16;
-
-#ifdef __OPTIMIZE__
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i32gather_pd (__m256i index, __mmask8 mask,
-				   void *addr, int scale, int hint)
-{
-  __builtin_ia32_gatherpfdpd (mask, (__v8si) index, (long long const *) addr,
-			      scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i32gather_ps (__m512i index, __mmask16 mask,
-				   void *addr, int scale, int hint)
-{
-  __builtin_ia32_gatherpfdps (mask, (__v16si) index, (int const *) addr,
-			      scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i64gather_pd (__m512i index, __mmask8 mask,
-				   void *addr, int scale, int hint)
-{
-  __builtin_ia32_gatherpfqpd (mask, (__v8di) index, (long long const *) addr,
-			      scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i64gather_ps (__m512i index, __mmask8 mask,
-				   void *addr, int scale, int hint)
-{
-  __builtin_ia32_gatherpfqps (mask, (__v8di) index, (int const *) addr,
-			      scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_prefetch_i32scatter_pd (void *addr, __m256i index, int scale,
-			       int hint)
-{
-  __builtin_ia32_scatterpfdpd ((__mmask8) 0xFF, (__v8si) index, 
-			       (long long const *)addr, scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_prefetch_i32scatter_ps (void *addr, __m512i index, int scale,
-			       int hint)
-{
-  __builtin_ia32_scatterpfdps ((__mmask16) 0xFFFF, (__v16si) index, (int const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i32scatter_pd (void *addr, __mmask8 mask,
-				    __m256i index, int scale, int hint)
-{
-  __builtin_ia32_scatterpfdpd (mask, (__v8si) index, (long long const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i32scatter_ps (void *addr, __mmask16 mask,
-				    __m512i index, int scale, int hint)
-{
-  __builtin_ia32_scatterpfdps (mask, (__v16si) index, (int const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_prefetch_i64scatter_pd (void *addr, __m512i index, int scale,
-			       int hint)
-{
-  __builtin_ia32_scatterpfqpd ((__mmask8) 0xFF, (__v8di) index, (long long const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_prefetch_i64scatter_ps (void *addr, __m512i index, int scale,
-			       int hint)
-{
-  __builtin_ia32_scatterpfqps ((__mmask8) 0xFF, (__v8di) index, (int const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i64scatter_pd (void *addr, __mmask16 mask,
-				    __m512i index, int scale, int hint)
-{
-  __builtin_ia32_scatterpfqpd (mask, (__v8di) index, (long long const *) addr,
-			       scale, hint);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_prefetch_i64scatter_ps (void *addr, __mmask16 mask,
-				    __m512i index, int scale, int hint)
-{
-  __builtin_ia32_scatterpfqps (mask, (__v8di) index, (int const *) addr,
-			       scale, hint);
-}
-
-#else
-#define _mm512_mask_prefetch_i32gather_pd(INDEX, MASK, ADDR, SCALE, HINT)    \
-  __builtin_ia32_gatherpfdpd ((__mmask8)MASK, (__v8si)(__m256i)INDEX,	     \
-			      (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i32gather_ps(INDEX, MASK, ADDR, SCALE, HINT)    \
-  __builtin_ia32_gatherpfdps ((__mmask16)MASK, (__v16si)(__m512i)INDEX,      \
-			      (int const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i64gather_pd(INDEX, MASK, ADDR, SCALE, HINT)    \
-  __builtin_ia32_gatherpfqpd ((__mmask8)MASK, (__v8di)(__m512i)INDEX,	     \
-			      (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i64gather_ps(INDEX, MASK, ADDR, SCALE, HINT)    \
-  __builtin_ia32_gatherpfqps ((__mmask8)MASK, (__v8di)(__m512i)INDEX,	     \
-			      (int const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_prefetch_i32scatter_pd(ADDR, INDEX, SCALE, HINT)              \
-  __builtin_ia32_scatterpfdpd ((__mmask8)0xFF, (__v8si)(__m256i)INDEX,       \
-			       (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_prefetch_i32scatter_ps(ADDR, INDEX, SCALE, HINT)              \
-  __builtin_ia32_scatterpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i)INDEX,   \
-			       (int const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i32scatter_pd(ADDR, MASK, INDEX, SCALE, HINT)   \
-  __builtin_ia32_scatterpfdpd ((__mmask8)MASK, (__v8si)(__m256i)INDEX,       \
-			       (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i32scatter_ps(ADDR, MASK, INDEX, SCALE, HINT)   \
-  __builtin_ia32_scatterpfdps ((__mmask16)MASK, (__v16si)(__m512i)INDEX,     \
-			       (int const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_prefetch_i64scatter_pd(ADDR, INDEX, SCALE, HINT)              \
-  __builtin_ia32_scatterpfqpd ((__mmask8)0xFF, (__v8di)(__m512i)INDEX,	     \
-			       (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_prefetch_i64scatter_ps(ADDR, INDEX, SCALE, HINT)              \
-  __builtin_ia32_scatterpfqps ((__mmask8)0xFF, (__v8di)(__m512i)INDEX,	     \
-			       (int const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i64scatter_pd(ADDR, MASK, INDEX, SCALE, HINT)   \
-  __builtin_ia32_scatterpfqpd ((__mmask8)MASK, (__v8di)(__m512i)INDEX,	     \
-			       (long long const *)ADDR, (int)SCALE, (int)HINT)
-
-#define _mm512_mask_prefetch_i64scatter_ps(ADDR, MASK, INDEX, SCALE, HINT)   \
-  __builtin_ia32_scatterpfqps ((__mmask8)MASK, (__v8di)(__m512i)INDEX,	     \
-			       (int const *)ADDR, (int)SCALE, (int)HINT)
-#endif
-
-#ifdef __DISABLE_AVX512PF__
-#undef __DISABLE_AVX512PF__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512PF__ */
-
-#endif /* _AVX512PFINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vbmiintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vbmiintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,159 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512vbmiintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512VBMIINTRIN_H_INCLUDED
-#define _AVX512VBMIINTRIN_H_INCLUDED
-
-#ifndef __AVX512VBMI__
-#pragma GCC push_options
-#pragma GCC target("avx512vbmi")
-#define __DISABLE_AVX512VBMI__
-#endif /* __AVX512VBMI__ */
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_multishift_epi64_epi8 (__m512i __W, __mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
-							  (__v64qi) __Y,
-							  (__v64qi) __W,
-							  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_multishift_epi64_epi8 (__mmask64 __M, __m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
-							  (__v64qi) __Y,
-							  (__v64qi)
-							  _mm512_setzero_si512 (),
-							  (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y)
-{
-  return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
-							  (__v64qi) __Y,
-							  (__v64qi)
-							  _mm512_undefined_si512 (),
-							  (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
-						     (__v64qi) __A,
-						     (__v64qi)
-						     _mm512_undefined_si512 (),
-						     (__mmask64) -1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A,
-				__m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
-						     (__v64qi) __A,
-						     (__v64qi)
-						     _mm512_setzero_si512(),
-						     (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
-			       __m512i __B)
-{
-  return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
-						     (__v64qi) __A,
-						     (__v64qi) __W,
-						     (__mmask64) __M);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_permutex2var_epi8 (__m512i __A, __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
-							/* idx */ ,
-							(__v64qi) __A,
-							(__v64qi) __B,
-							(__mmask64) -
-							1);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_permutex2var_epi8 (__m512i __A, __mmask64 __U,
-				__m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
-							/* idx */ ,
-							(__v64qi) __A,
-							(__v64qi) __B,
-							(__mmask64)
-							__U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask2_permutex2var_epi8 (__m512i __A, __m512i __I,
-				 __mmask64 __U, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermi2varqi512_mask ((__v64qi) __A,
-							(__v64qi) __I
-							/* idx */ ,
-							(__v64qi) __B,
-							(__mmask64)
-							__U);
-}
-
-extern __inline __m512i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_permutex2var_epi8 (__mmask64 __U, __m512i __A,
-				 __m512i __I, __m512i __B)
-{
-  return (__m512i) __builtin_ia32_vpermt2varqi512_maskz ((__v64qi) __I
-							 /* idx */ ,
-							 (__v64qi) __A,
-							 (__v64qi) __B,
-							 (__mmask64)
-							 __U);
-}
-
-#ifdef __DISABLE_AVX512VBMI__
-#undef __DISABLE_AVX512VBMI__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512VBMI__ */
-
-#endif /* _AVX512VBMIINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vbmivlintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vbmivlintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,275 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512vbmivlintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512VBMIVLINTRIN_H_INCLUDED
-#define _AVX512VBMIVLINTRIN_H_INCLUDED
-
-#if !defined(__AVX512VL__) || !defined(__AVX512VBMI__)
-#pragma GCC push_options
-#pragma GCC target("avx512vbmi,avx512vl")
-#define __DISABLE_AVX512VBMIVL__
-#endif /* __AVX512VBMIVL__ */
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_multishift_epi64_epi8 (__m256i __W, __mmask32 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
-							  (__v32qi) __Y,
-							  (__v32qi) __W,
-							  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_multishift_epi64_epi8 (__mmask32 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
-							  (__v32qi) __Y,
-							  (__v32qi)
-							  _mm256_setzero_si256 (),
-							  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_multishift_epi64_epi8 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
-							  (__v32qi) __Y,
-							  (__v32qi)
-							  _mm256_undefined_si256 (),
-							  (__mmask32) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_multishift_epi64_epi8 (__m128i __W, __mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
-							  (__v16qi) __Y,
-							  (__v16qi) __W,
-							  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_multishift_epi64_epi8 (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
-							  (__v16qi) __Y,
-							  (__v16qi)
-							  _mm_setzero_si128 (),
-							  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_multishift_epi64_epi8 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
-							  (__v16qi) __Y,
-							  (__v16qi)
-							  _mm_undefined_si128 (),
-							  (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutexvar_epi8 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
-						     (__v32qi) __A,
-						     (__v32qi)
-						     _mm256_undefined_si256 (),
-						     (__mmask32) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A,
-				__m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
-						     (__v32qi) __A,
-						     (__v32qi)
-						     _mm256_setzero_si256 (),
-						     (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
-			       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
-						     (__v32qi) __A,
-						     (__v32qi) __W,
-						     (__mmask32) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutexvar_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
-						     (__v16qi) __A,
-						     (__v16qi)
-						     _mm_undefined_si128 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
-						     (__v16qi) __A,
-						     (__v16qi)
-						     _mm_setzero_si128 (),
-						     (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
-			    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
-						     (__v16qi) __A,
-						     (__v16qi) __W,
-						     (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_epi8 (__m256i __A, __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
-							/* idx */ ,
-							(__v32qi) __A,
-							(__v32qi) __B,
-							(__mmask32) -
-							1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_epi8 (__m256i __A, __mmask32 __U,
-				__m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
-							/* idx */ ,
-							(__v32qi) __A,
-							(__v32qi) __B,
-							(__mmask32)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_epi8 (__m256i __A, __m256i __I,
-				 __mmask32 __U, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermi2varqi256_mask ((__v32qi) __A,
-							(__v32qi) __I
-							/* idx */ ,
-							(__v32qi) __B,
-							(__mmask32)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_epi8 (__mmask32 __U, __m256i __A,
-				 __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varqi256_maskz ((__v32qi) __I
-							 /* idx */ ,
-							 (__v32qi) __A,
-							 (__v32qi) __B,
-							 (__mmask32)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_epi8 (__m128i __A, __m128i __I, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
-							/* idx */ ,
-							(__v16qi) __A,
-							(__v16qi) __B,
-							(__mmask16) -
-							1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_epi8 (__m128i __A, __mmask16 __U, __m128i __I,
-			     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
-							/* idx */ ,
-							(__v16qi) __A,
-							(__v16qi) __B,
-							(__mmask16)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_epi8 (__m128i __A, __m128i __I, __mmask16 __U,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermi2varqi128_mask ((__v16qi) __A,
-							(__v16qi) __I
-							/* idx */ ,
-							(__v16qi) __B,
-							(__mmask16)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_epi8 (__mmask16 __U, __m128i __A, __m128i __I,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varqi128_maskz ((__v16qi) __I
-							 /* idx */ ,
-							 (__v16qi) __A,
-							 (__v16qi) __B,
-							 (__mmask16)
-							 __U);
-}
-
-#ifdef __DISABLE_AVX512VBMIVL__
-#undef __DISABLE_AVX512VBMIVL__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512VBMIVL__ */
-
-#endif /* _AVX512VBMIVLINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vlbwintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vlbwintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,4653 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512VLBWINTRIN_H_INCLUDED
-#define _AVX512VLBWINTRIN_H_INCLUDED
-
-#if !defined(__AVX512VL__) || !defined(__AVX512BW__)
-#pragma GCC push_options
-#pragma GCC target("avx512vl,avx512bw")
-#define __DISABLE_AVX512VLBW__
-#endif /* __AVX512VLBW__ */
-
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A,
-						    (__v32qi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A,
-						    (__v32qi)
-						    _mm256_setzero_si256 (),
-						    (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
-						    (__v16qi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
-						    (__v16qi)
-						    _mm_setzero_hi (),
-						    (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
-{
-  __builtin_ia32_storedquqi256_mask ((__v32qi *) __P,
-				     (__v32qi) __A,
-				     (__mmask32) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
-{
-  __builtin_ia32_storedquqi128_mask ((__v16qi *) __P,
-				     (__v16qi) __A,
-				     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
-						     (__v16hi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
-						     (__v8hi) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
-						     (__v8hi)
-						     _mm_setzero_hi (),
-						     (__mmask8) __U);
-}
-
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
-						    (__v8hi)
-						    _mm_setzero_hi (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
-						     (__v32qi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
-						     (__v32qi)
-						     _mm256_setzero_si256 (),
-						     (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
-						     (__v16qi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
-						     (__v16qi)
-						     _mm_setzero_hi (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi16_epi8 (__m256i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask16) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi16_epi8 (__m128i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi16_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi16_epi8 (__m256i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask16) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi16_epi8 (__mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi16_epi8 (__m128i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi16_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi16_epi8 (__m256i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask16) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A,
-						       (__v32qi) __O,
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A,
-						       (__v32qi)
-						       _mm256_setzero_si256 (),
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
-							   (__v32qi) __O,
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_set1_epi8 (__mmask32 __M, char __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
-							   (__v32qi)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A,
-						       (__v16qi) __O,
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A,
-						       (__v16qi)
-						       _mm_setzero_si128 (),
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
-							   (__v16qi) __O,
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_set1_epi8 (__mmask16 __M, char __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
-							   (__v16qi)
-							   _mm_setzero_si128 (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A,
-						       (__v16hi) __O,
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A,
-						       (__v16hi)
-						       _mm256_setzero_si256 (),
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
-							   (__v16hi) __O,
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
-							   (__v16hi)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A,
-						       (__v8hi) __O,
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A,
-						       (__v8hi)
-						       _mm_setzero_si128 (),
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
-							   (__v8hi) __O,
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_set1_epi16 (__mmask8 __M, short __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
-							   (__v8hi)
-							   _mm_setzero_si128 (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
-						     (__v16hi) __A,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A,
-				__m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
-						     (__v16hi) __A,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
-			       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
-						     (__v16hi) __A,
-						     (__v16hi) __W,
-						     (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutexvar_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
-						     (__v8hi) __A,
-						     (__v8hi)
-						     _mm_setzero_hi (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
-						     (__v8hi) __A,
-						     (__v8hi)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
-			    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
-						     (__v8hi) __A,
-						     (__v8hi) __W,
-						     (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I
-							/* idx */ ,
-							(__v16hi) __A,
-							(__v16hi) __B,
-							(__mmask16) -
-							1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U,
-				__m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I
-							/* idx */ ,
-							(__v16hi) __A,
-							(__v16hi) __B,
-							(__mmask16)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
-				 __mmask16 __U, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
-							(__v16hi) __I
-							/* idx */ ,
-							(__v16hi) __B,
-							(__mmask16)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A,
-				 __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I
-							 /* idx */ ,
-							 (__v16hi) __A,
-							 (__v16hi) __B,
-							 (__mmask16)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I
-							/* idx */ ,
-							(__v8hi) __A,
-							(__v8hi) __B,
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I,
-			     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I
-							/* idx */ ,
-							(__v8hi) __A,
-							(__v8hi) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
-							(__v8hi) __I
-							/* idx */ ,
-							(__v8hi) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I
-							 /* idx */ ,
-							 (__v8hi) __A,
-							 (__v8hi) __B,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_maddubs_epi16 (__m256i __W, __mmask16 __U, __m256i __X,
-			   __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
-						     (__v32qi) __Y,
-						     (__v16hi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_maddubs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
-						     (__v32qi) __Y,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_maddubs_epi16 (__m128i __W, __mmask8 __U, __m128i __X,
-			__m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
-						     (__v16qi) __Y,
-						     (__v8hi) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_maddubs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
-						     (__v16qi) __Y,
-						     (__v8hi)
-						     _mm_setzero_hi (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_madd_epi16 (__m256i __W, __mmask8 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v8si) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_madd_epi16 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v8si)
-						   _mm256_setzero_si256 (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_madd_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v4si) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_madd_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v4si)
-						   _mm_setzero_si128 (),
-						   (__mmask8) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movepi8_mask (__m128i __A)
-{
-  return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movepi8_mask (__m256i __A)
-{
-  return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movepi16_mask (__m128i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movepi16_mask (__m256i __A)
-{
-  return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movm_epi8 (__mmask16 __A)
-{
-  return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movm_epi8 (__mmask32 __A)
-{
-  return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movm_epi16 (__mmask8 __A)
-{
-  return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movm_epi16 (__mmask16 __A)
-{
-  return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_test_epi8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
-						(__v16qi) __B,
-						(__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
-						(__v16qi) __B, __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_test_epi8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
-						(__v32qi) __B,
-						(__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
-						(__v32qi) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_test_epi16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
-					       (__v8hi) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
-					       (__v8hi) __B, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_test_epi16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
-						(__v16hi) __B,
-						(__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
-						(__v16hi) __B, __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_di (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_di (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_di (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_di (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_di (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_di (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_di (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_di (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __M);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_alignr_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-			 __m256i __B, const int __N)
-{
-  return (__m256i) __builtin_ia32_palignr256_mask ((__v4di) __A,
-						   (__v4di) __B,
-						   __N * 8,
-						   (__v4di) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_alignr_epi8 (__mmask32 __U, __m256i __A, __m256i __B,
-			  const int __N)
-{
-  return (__m256i) __builtin_ia32_palignr256_mask ((__v4di) __A,
-						   (__v4di) __B,
-						   __N * 8,
-						   (__v4di)
-						   _mm256_setzero_si256 (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_alignr_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		      __m128i __B, const int __N)
-{
-  return (__m128i) __builtin_ia32_palignr128_mask ((__v2di) __A,
-						   (__v2di) __B,
-						   __N * 8,
-						   (__v2di) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_alignr_epi8 (__mmask16 __U, __m128i __A, __m128i __B,
-		       const int __N)
-{
-  return (__m128i) __builtin_ia32_palignr128_mask ((__v2di) __A,
-						   (__v2di) __B,
-						   __N * 8,
-						   (__v2di)
-						   _mm_setzero_si128 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_dbsad_epu8 (__m256i __A, __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A,
-						    (__v32qi) __B,
-						    __imm,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_dbsad_epu8 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A,
-						    (__v32qi) __B,
-						    __imm,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_dbsad_epu8 (__mmask16 __U, __m256i __A, __m256i __B,
-			 const int __imm)
-{
-  return (__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi) __A,
-						    (__v32qi) __B,
-						    __imm,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_dbsad_epu8 (__m128i __A, __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A,
-						    (__v16qi) __B,
-						    __imm,
-						    (__v8hi)
-						    _mm_setzero_hi (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_dbsad_epu8 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A,
-						    (__v16qi) __B,
-						    __imm,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_dbsad_epu8 (__mmask8 __U, __m128i __A, __m128i __B,
-		      const int __imm)
-{
-  return (__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi) __A,
-						    (__v16qi) __B,
-						    __imm,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
-{
-  return (__m128i) __builtin_ia32_blendmw_128_mask ((__v8hi) __A,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
-{
-  return (__m128i) __builtin_ia32_blendmb_128_mask ((__v16qi) __A,
-						    (__v16qi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
-{
-  return (__m256i) __builtin_ia32_blendmw_256_mask ((__v16hi) __A,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
-{
-  return (__m256i) __builtin_ia32_blendmb_256_mask ((__v32qi) __A,
-						    (__v32qi) __W,
-						    (__mmask32) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epi16_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epi16_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epi16_mask (__mmask16 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, __P,
-						  (__mmask16) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epi16_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, __P,
-						  (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epi8_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, __P,
-						  (__mmask16) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epi8_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, __P,
-						  (__mmask16) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epi8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
-			   const int __P)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, __P,
-						  (__mmask32) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epi8_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, __P,
-						  (__mmask32) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epu16_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epu16_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epu16_mask (__mmask16 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, __P,
-						   (__mmask16) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epu16_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, __P,
-						   (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epu8_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, __P,
-						   (__mmask16) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epu8_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, __P,
-						   (__mmask16) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epu8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
-			   const int __P)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, __P,
-						   (__mmask32) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epu8_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, __P,
-						   (__mmask32) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srli_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi) __A, __imm,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srli_epi16 (__mmask16 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi) __A, __imm,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srli_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi) __A, __imm,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srli_epi16 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi) __A, __imm,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shufflehi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			     const int __imm)
-{
-  return (__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi) __A,
-						   __imm,
-						   (__v16hi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shufflehi_epi16 (__mmask16 __U, __m256i __A,
-			      const int __imm)
-{
-  return (__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi) __A,
-						   __imm,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shufflehi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-			  const int __imm)
-{
-  return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm,
-						   (__v8hi) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shufflehi_epi16 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm,
-						   (__v8hi)
-						   _mm_setzero_hi (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shufflelo_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			     const int __imm)
-{
-  return (__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi) __A,
-						   __imm,
-						   (__v16hi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shufflelo_epi16 (__mmask16 __U, __m256i __A,
-			      const int __imm)
-{
-  return (__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi) __A,
-						   __imm,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shufflelo_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-			  const int __imm)
-{
-  return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm,
-						   (__v8hi) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shufflelo_epi16 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm,
-						   (__v8hi)
-						   _mm_setzero_hi (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srai_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrawi256_mask ((__v16hi) __A, __imm,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srai_epi16 (__mmask16 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrawi256_mask ((__v16hi) __A, __imm,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srai_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrawi128_mask ((__v8hi) __A, __imm,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srai_epi16 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrawi128_mask ((__v8hi) __A, __imm,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_slli_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			int __B)
-{
-  return (__m256i) __builtin_ia32_psllwi256_mask ((__v16hi) __A, __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_slli_epi16 (__mmask16 __U, __m256i __A, int __B)
-{
-  return (__m256i) __builtin_ia32_psllwi256_mask ((__v16hi) __A, __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_slli_epi16 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_psllwi128_mask ((__v8hi) __A, __B,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_psllwi128_mask ((__v8hi) __A, __B,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-#else
-#define _mm256_mask_alignr_epi8(W, U, X, Y, N)					    \
-  ((__m256i) __builtin_ia32_palignr256_mask ((__v4di)(__m256i)(X),		    \
-					    (__v4di)(__m256i)(Y), (int)(N * 8),	    \
-					    (__v4di)(__m256i)(X), (__mmask32)(U)))
-
-#define _mm256_mask_srli_epi16(W, U, A, B)                              \
-  ((__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi)(__m256i)(A),      \
-    (int)(B), (__v16hi)(__m256i)(W), (__mmask16)(U)))
-
-#define _mm256_maskz_srli_epi16(U, A, B)                                \
-  ((__m256i) __builtin_ia32_psrlwi256_mask ((__v16hi)(__m256i)(A),      \
-    (int)(B), (__v16hi)_mm256_setzero_si256 (), (__mmask16)(U)))
-
-#define _mm_mask_srli_epi16(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi)(__m128i)(A),       \
-    (int)(B), (__v8hi)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srli_epi16(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psrlwi128_mask ((__v8hi)(__m128i)(A),       \
-    (int)(B), (__v8hi)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_mask_srai_epi16(W, U, A, B)                              \
-  ((__m256i) __builtin_ia32_psrawi256_mask ((__v16hi)(__m256i)(A),      \
-    (int)(B), (__v16hi)(__m256i)(W), (__mmask16)(U)))
-
-#define _mm256_maskz_srai_epi16(U, A, B)                                \
-  ((__m256i) __builtin_ia32_psrawi256_mask ((__v16hi)(__m256i)(A),      \
-    (int)(B), (__v16hi)_mm256_setzero_si256 (), (__mmask16)(U)))
-
-#define _mm_mask_srai_epi16(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psrawi128_mask ((__v8hi)(__m128i)(A),       \
-    (int)(B), (__v8hi)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srai_epi16(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psrawi128_mask ((__v8hi)(__m128i)(A),       \
-    (int)(B), (__v8hi)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_mask_shufflehi_epi16(W, U, A, B)                                     \
-  ((__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi)(__m256i)(A), (int)(B),       \
-                                             (__v16hi)(__m256i)(W),                 \
-                                             (__mmask16)(U)))
-
-#define _mm256_maskz_shufflehi_epi16(U, A, B)                                       \
-  ((__m256i) __builtin_ia32_pshufhw256_mask ((__v16hi)(__m256i)(A), (int)(B),       \
-                                             (__v16hi)(__m256i)_mm256_setzero_si256 (), \
-                                             (__mmask16)(U)))
-
-#define _mm_mask_shufflehi_epi16(W, U, A, B)                                        \
-  ((__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)(W),                  \
-                                             (__mmask8)(U)))
-
-#define _mm_maskz_shufflehi_epi16(U, A, B)                                          \
-  ((__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)_mm_setzero_hi(),     \
-                                             (__mmask8)(U)))
-
-#define _mm256_mask_shufflelo_epi16(W, U, A, B)                                     \
-  ((__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi)(__m256i)(A), (int)(B),       \
-                                             (__v16hi)(__m256i)(W),                 \
-                                             (__mmask16)(U)))
-
-#define _mm256_maskz_shufflelo_epi16(U, A, B)                                       \
-  ((__m256i) __builtin_ia32_pshuflw256_mask ((__v16hi)(__m256i)(A), (int)(B),       \
-                                             (__v16hi)(__m256i)_mm256_setzero_si256 (), \
-                                             (__mmask16)(U)))
-
-#define _mm_mask_shufflelo_epi16(W, U, A, B)                                        \
-  ((__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)(W),                  \
-                                             (__mmask8)(U)))
-
-#define _mm_maskz_shufflelo_epi16(U, A, B)                                          \
-  ((__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)_mm_setzero_hi(),     \
-                                             (__mmask8)(U)))
-
-#define _mm256_maskz_alignr_epi8(U, X, Y, N)					    \
-  ((__m256i) __builtin_ia32_palignr256_mask ((__v4di)(__m256i)(X),		    \
-					    (__v4di)(__m256i)(Y), (int)(N * 8),	    \
-					    (__v4di)(__m256i)_mm256_setzero_si256 (),   \
-					    (__mmask32)(U)))
-
-#define _mm_mask_alignr_epi8(W, U, X, Y, N)					    \
-  ((__m128i) __builtin_ia32_palignr128_mask ((__v2di)(__m128i)(X),		    \
-					    (__v2di)(__m128i)(Y), (int)(N * 8),	    \
-					    (__v2di)(__m128i)(X), (__mmask16)(U)))
-
-#define _mm_maskz_alignr_epi8(U, X, Y, N)					    \
-  ((__m128i) __builtin_ia32_palignr128_mask ((__v2di)(__m128i)(X),		    \
-					    (__v2di)(__m128i)(Y), (int)(N * 8),	    \
-					    (__v2di)(__m128i)_mm_setzero_di(),	    \
-					    (__mmask16)(U)))
-
-#define _mm_mask_slli_epi16(W, U, X, C)					  \
-  ((__m128i)__builtin_ia32_psllwi128_mask ((__v8hi)(__m128i)(X), (int)(C),\
-    (__v8hi)(__m128i)(W),\
-    (__mmask8)(U)))
-
-#define _mm_maskz_slli_epi16(U, X, C)					  \
-  ((__m128i)__builtin_ia32_psllwi128_mask ((__v8hi)(__m128i)(X), (int)(C),\
-    (__v8hi)(__m128i)_mm_setzero_hi(),\
-    (__mmask8)(U)))
-
-#define _mm256_dbsad_epu8(X, Y, C)                                                  \
-  ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X),               \
-                                              (__v32qi)(__m256i) (Y), (int) (C),    \
-                                              (__v16hi)(__m256i)_mm256_setzero_si256(),\
-                                              (__mmask16)-1))
-
-#define _mm256_mask_slli_epi16(W, U, X, C)                                 \
-  ((__m256i)__builtin_ia32_psllwi256_mask ((__v16hi)(__m256i)(X), (int)(C),\
-    (__v16hi)(__m256i)(W),\
-    (__mmask16)(U)))
-
-#define _mm256_maskz_slli_epi16(U, X, C)                                   \
-  ((__m256i)__builtin_ia32_psllwi256_mask ((__v16hi)(__m256i)(X), (int)(C),\
-    (__v16hi)(__m256i)_mm256_setzero_si256 (),\
-    (__mmask16)(U)))
-
-#define _mm256_mask_dbsad_epu8(W, U, X, Y, C)                                       \
-  ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X),               \
-                                              (__v32qi)(__m256i) (Y), (int) (C),    \
-                                              (__v16hi)(__m256i)(W),                \
-                                              (__mmask16)(U)))
-
-#define _mm256_maskz_dbsad_epu8(U, X, Y, C)                                         \
-  ((__m256i) __builtin_ia32_dbpsadbw256_mask ((__v32qi)(__m256i) (X),               \
-                                              (__v32qi)(__m256i) (Y), (int) (C),    \
-                                              (__v16hi)(__m256i)_mm256_setzero_si256(),\
-                                              (__mmask16)(U)))
-
-#define _mm_dbsad_epu8(X, Y, C)                                                     \
-  ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X),               \
-                                              (__v16qi)(__m128i) (Y), (int) (C),    \
-                                              (__v8hi)(__m128i)_mm_setzero_si128(), \
-                                              (__mmask8)-1))
-
-#define _mm_mask_dbsad_epu8(W, U, X, Y, C)                                          \
-  ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X),               \
-                                              (__v16qi)(__m128i) (Y), (int) (C),    \
-                                              (__v8hi)(__m128i)(W),                 \
-                                              (__mmask8)(U)))
-
-#define _mm_maskz_dbsad_epu8(U, X, Y, C)                                            \
-  ((__m128i) __builtin_ia32_dbpsadbw128_mask ((__v16qi)(__m128i) (X),               \
-                                              (__v16qi)(__m128i) (Y), (int) (C),    \
-                                              (__v8hi)(__m128i)_mm_setzero_si128(), \
-                                              (__mmask8)(U)))
-
-#define _mm_mask_blend_epi16(__U, __A, __W)			      \
-  ((__m128i) __builtin_ia32_blendmw_128_mask ((__v8hi) (__A),	      \
-						    (__v8hi) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm_mask_blend_epi8(__U, __A, __W)			      \
-  ((__m128i) __builtin_ia32_blendmb_128_mask ((__v16qi) (__A),	      \
-						    (__v16qi) (__W),  \
-						    (__mmask16) (__U)))
-
-#define _mm256_mask_blend_epi16(__U, __A, __W)			      \
-  ((__m256i) __builtin_ia32_blendmw_256_mask ((__v16hi) (__A),	      \
-						    (__v16hi) (__W),  \
-						    (__mmask16) (__U)))
-
-#define _mm256_mask_blend_epi8(__U, __A, __W)			      \
-  ((__m256i) __builtin_ia32_blendmb_256_mask ((__v32qi) (__A),	      \
-						    (__v32qi) (__W),  \
-						    (__mmask32) (__U)))
-
-#define _mm_cmp_epi16_mask(X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X),	\
-					    (__v8hi)(__m128i)(Y), (int)(P),\
-					    (__mmask8)(-1)))
-
-#define _mm_cmp_epi8_mask(X, Y, P)				\
-  ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X),	\
-					    (__v16qi)(__m128i)(Y), (int)(P),\
-					    (__mmask16)(-1)))
-
-#define _mm256_cmp_epi16_mask(X, Y, P)				\
-  ((__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi)(__m256i)(X),	\
-					    (__v16hi)(__m256i)(Y), (int)(P),\
-					    (__mmask16)(-1)))
-
-#define _mm256_cmp_epi8_mask(X, Y, P)				\
-  ((__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi)(__m256i)(X),	\
-					    (__v32qi)(__m256i)(Y), (int)(P),\
-					    (__mmask32)(-1)))
-
-#define _mm_cmp_epu16_mask(X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi)(__m128i)(X),	\
-					    (__v8hi)(__m128i)(Y), (int)(P),\
-					    (__mmask8)(-1)))
-
-#define _mm_cmp_epu8_mask(X, Y, P)				\
-  ((__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi)(__m128i)(X),	\
-					    (__v16qi)(__m128i)(Y), (int)(P),\
-					    (__mmask16)(-1)))
-
-#define _mm256_cmp_epu16_mask(X, Y, P)				\
-  ((__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi)(__m256i)(X),	\
-					    (__v16hi)(__m256i)(Y), (int)(P),\
-					    (__mmask16)(-1)))
-
-#define _mm256_cmp_epu8_mask(X, Y, P)				\
-  ((__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi)(__m256i)(X),	\
-					    (__v32qi)(__m256i)(Y), (int)(P),\
-					    (__mmask32)-1))
-
-#define _mm_mask_cmp_epi16_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X),	\
-					    (__v8hi)(__m128i)(Y), (int)(P),\
-					    (__mmask16)(M)))
-
-#define _mm_mask_cmp_epi8_mask(M, X, Y, P)				\
-  ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X),	\
-					    (__v16qi)(__m128i)(Y), (int)(P),\
-					    (__mmask16)(M)))
-
-#define _mm256_mask_cmp_epi16_mask(M, X, Y, P)				\
-  ((__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi)(__m256i)(X),	\
-					    (__v16hi)(__m256i)(Y), (int)(P),\
-					    (__mmask16)(M)))
-
-#define _mm256_mask_cmp_epi8_mask(M, X, Y, P)				\
-  ((__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi)(__m256i)(X),	\
-					    (__v32qi)(__m256i)(Y), (int)(P),\
-					    (__mmask32)(M)))
-
-#define _mm_mask_cmp_epu16_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi)(__m128i)(X),	\
-					    (__v8hi)(__m128i)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm_mask_cmp_epu8_mask(M, X, Y, P)				\
-  ((__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi)(__m128i)(X),	\
-					    (__v16qi)(__m128i)(Y), (int)(P),\
-					    (__mmask16)(M)))
-
-#define _mm256_mask_cmp_epu16_mask(M, X, Y, P)				\
-  ((__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi)(__m256i)(X),	\
-					    (__v16hi)(__m256i)(Y), (int)(P),\
-					    (__mmask16)(M)))
-
-#define _mm256_mask_cmp_epu8_mask(M, X, Y, P)				\
-  ((__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi)(__m256i)(X),	\
-					    (__v32qi)(__m256i)(Y), (int)(P),\
-					    (__mmask32)M))
-#endif
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 4,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 1,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 5,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 2,
-						  (__mmask32) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 4,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 1,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 5,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 2,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 4,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 1,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 5,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 2,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 4,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 1,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 5,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 2,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 4,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 1,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 5,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi8_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 2,
-						  (__mmask16) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 4,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 1,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 5,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi16_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 2,
-						 (__mmask8) - 1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mulhrs_epi16 (__m256i __W, __mmask16 __U, __m256i __X,
-			  __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
-						    (__v16hi) __Y,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mulhrs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
-						    (__v16hi) __Y,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mulhi_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mulhi_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mulhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mulhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mulhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mulhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_hi (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mulhi_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mulhi_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi)
-						   _mm_setzero_hi (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mulhrs_epi16 (__m128i __W, __mmask8 __U, __m128i __X,
-		       __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
-						    (__v8hi) __Y,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mulhrs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
-						    (__v8hi) __Y,
-						    (__v8hi)
-						    _mm_setzero_hi (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_hi (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi8_epi16 (__mmask16 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi8_epi16 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
-						    (__v16hi) __W,
-						    (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
-						    (__v8hi) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu8_epi16 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_avg_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_avg_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi)
-						 _mm256_setzero_si256 (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_avg_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_avg_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi)
-						 _mm_setzero_si128 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_avg_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_avg_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_avg_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_avg_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi)
-						 _mm256_setzero_si256 (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_adds_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_adds_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_adds_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_adds_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_adds_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
-						   (__v32qi) __B,
-						   (__v32qi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_adds_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
-						   (__v32qi) __B,
-						   (__v32qi)
-						   _mm256_setzero_si256 (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_adds_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_adds_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__v32qi)
-						 _mm256_setzero_si256 (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_subs_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_subs_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_subs_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_subs_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_subs_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
-						   (__v32qi) __B,
-						   (__v32qi) __W,
-						   (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_subs_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
-						   (__v32qi) __B,
-						   (__v32qi)
-						   _mm256_setzero_si256 (),
-						   (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_subs_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_subs_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
-						   (__v16hi) __B,
-						   (__v16hi)
-						   _mm256_setzero_si256 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi)
-						 _mm_setzero_si128 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-			   __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__v32qi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__v32qi)
-						     _mm256_setzero_si256 (),
-						     (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-			__m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__v16qi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__v16qi)
-						     _mm_setzero_si128 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__v16hi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
-						     (__v8hi) __B,
-						     (__v8hi) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
-						     (__v8hi) __B,
-						     (__v8hi)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-			   __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__v32qi) __W,
-						     (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__v32qi)
-						     _mm256_setzero_si256 (),
-						     (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-			__m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__v16qi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__v16qi)
-						     _mm_setzero_si128 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__v16hi) __W,
-						     (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__v16hi)
-						     _mm256_setzero_si256 (),
-						     (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
-						     (__v8hi) __B,
-						     (__v8hi) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
-						     (__v8hi) __B,
-						     (__v8hi)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epu8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
-						    (__v16qi) __B, 0,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
-						    (__v16qi) __B, 0,
-						    __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epu8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
-						    (__v32qi) __B, 0,
-						    (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
-						    (__v32qi) __B, 0,
-						    __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epu16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
-						   (__v8hi) __B, 0,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
-						   (__v8hi) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A,
-						    (__v8hi) __B, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epu16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
-						    (__v16hi) __B, 0,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
-						    (__v16hi) __B, 0,
-						    __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epu8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
-						    (__v16qi) __B, 6,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
-						    (__v16qi) __B, 6,
-						    __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A,
-						     (__v16qi) __B,
-						     __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epu8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
-						    (__v32qi) __B, 6,
-						    (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
-						    (__v32qi) __B, 6,
-						    __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A,
-						     (__v32qi) __B,
-						     __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epu16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
-						   (__v8hi) __B, 6,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
-						   (__v8hi) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A,
-						    (__v8hi) __B, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epu16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
-						    (__v16hi) __B, 6,
-						    (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
-						    (__v16hi) __B, 6,
-						    __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A,
-						     (__v16hi) __B,
-						     __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testn_epi8_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
-						 (__v16qi) __B, __U);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testn_epi8_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
-						 (__v32qi) __B,
-						 (__mmask32) -1);
-}
-
-extern __inline __mmask32
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
-						 (__v32qi) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testn_epi16_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
-						(__v8hi) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
-						(__v8hi) __B, __U);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testn_epi16_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
-						 (__v16hi) __B,
-						 (__mmask16) -1);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
-						 (__v16hi) __B, __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
-			  __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi) __W,
-						  (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
-						  (__v32qi) __B,
-						  (__v32qi)
-						  _mm256_setzero_si256 (),
-						  (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shuffle_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		       __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shuffle_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_packs_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
-						    (__v16hi) __B,
-						    (__v32qi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_packs_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
-						    (__v16hi) __B,
-						    (__v32qi) __W,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_packs_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packs_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__v16qi) __W,
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_packus_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
-						    (__v16hi) __B,
-						    (__v32qi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_packus_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
-			  __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
-						    (__v16hi) __B,
-						    (__v32qi) __W,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_packus_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packus_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
-		       __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
-						    (__v8hi) __B,
-						    (__v16qi) __W,
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_abs_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
-						 (__v32qi) __W,
-						 (__mmask32) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
-						 (__v32qi)
-						 _mm256_setzero_si256 (),
-						 (__mmask32) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_abs_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
-						 (__v16qi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_abs_epi8 (__mmask16 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
-						 (__v16qi)
-						 _mm_setzero_si128 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_abs_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_abs_epi16 (__mmask16 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_abs_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_abs_epi16 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, 4,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, 1,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, 5,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask32
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu8_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						   (__v32qi) __Y, 2,
-						   (__mmask32) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, 4,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, 1,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, 5,
-						   (__mmask16) - 1);
-}
-
-extern __inline __mmask16
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu16_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						   (__v16hi) __Y, 2,
-						   (__mmask16) - 1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
-{
-  __builtin_ia32_storedquhi256_mask ((__v16hi *) __P,
-				     (__v16hi) __A,
-				     (__mmask16) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_storedquhi128_mask ((__v8hi *) __P,
-				     (__v8hi) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_adds_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_subs_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_subs_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_subs_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_subs_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_subs_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
-						   (__v16qi) __B,
-						   (__v16qi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_subs_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
-						   (__v16qi) __B,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_subs_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_subs_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srl_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srl_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srl_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sra_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sra_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sra_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sra_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_adds_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
-						  (__v8hi) __B,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_adds_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
-						   (__v16qi) __B,
-						   (__v16qi) __W,
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_adds_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
-						   (__v16qi) __B,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_adds_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_adds_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
-						   (__v8hi) __B,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		   __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
-						 (__v16qi) __B,
-						 (__v16qi)
-						 _mm_setzero_si128 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_adds_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_adds_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
-						  (__v16qi) __B,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi16_epi8 (__m128i __A)
-{
-
-  return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi16_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srav_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srav_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srav_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srav_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_hi (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srav_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srav_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srlv_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srlv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srlv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srlv_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_hi (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srlv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srlv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sllv_epi16 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sllv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi) __W,
-						  (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sllv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
-						  (__v16hi) __B,
-						  (__v16hi)
-						  _mm256_setzero_si256 (),
-						  (__mmask16) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sllv_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_hi (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sllv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sllv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sll_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
-						 (__v8hi) __B,
-						 (__v8hi)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sll_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi) __W,
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sll_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
-						 (__v8hi) __B,
-						 (__v16hi)
-						 _mm256_setzero_si256 (),
-						 (__mmask16) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_packus_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_packus_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
-			  __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__v16hi) __W,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
-		       __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__v8hi) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_packs_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__v16hi)
-						    _mm256_setzero_si256 (),
-						    __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_packs_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__v16hi) __W,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__v8hi) __W, __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 4,
-						   (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 1,
-						   (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 5,
-						   (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
-						   (__v16qi) __Y, 2,
-						   (__mmask16) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
-						  (__v8hi) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 4,
-						  (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 1,
-						  (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 5,
-						  (__mmask16) __M);
-}
-
-extern __inline __mmask16
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
-						  (__v16qi) __Y, 2,
-						  (__mmask16) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
-						 (__v8hi) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
-						  (__v32qi) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
-						  (__v16hi) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						 (__v32qi) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						 (__v32qi) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						 (__v32qi) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
-						 (__v32qi) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						 (__v16hi) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						 (__v16hi) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						 (__v16hi) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
-						 (__v16hi) __Y, 2,
-						 (__mmask8) __M);
-}
-
-#ifdef __DISABLE_AVX512VLBW__
-#undef __DISABLE_AVX512VLBW__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512VLBW__ */
-
-#endif /* _AVX512VLBWINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vldqintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vldqintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,2025 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512vldqintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512VLDQINTRIN_H_INCLUDED
-#define _AVX512VLDQINTRIN_H_INCLUDED
-
-#if !defined(__AVX512VL__) || !defined(__AVX512DQ__)
-#pragma GCC push_options
-#pragma GCC target("avx512vl,avx512dq")
-#define __DISABLE_AVX512VLDQ__
-#endif /* __AVX512VLDQ__ */
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttpd_epi64 (__m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttpd_epi64 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
-						     (__v2di)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttpd_epu64 (__m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
-						      (__v4di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttpd_epu64 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
-						      (__v2di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
-						      (__v2di)
-						      _mm_setzero_si128 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtpd_epi64 (__m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_epi64 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
-						    (__v2di)
-						    _mm_setzero_di (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtpd_epu64 (__m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A)
-{
-  return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_epu64 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
-						     (__v2di)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttps_epi64 (__m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttps_epi64 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttps_epu64 (__m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
-						      (__v4di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttps_epu64 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
-						      (__v2di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_f64x2 (__m128d __A)
-{
-  return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
-							   __A,
-						           (__v4df)_mm256_undefined_pd(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_f64x2 (__m256d __O, __mmask8 __M, __m128d __A)
-{
-  return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
-							   __A,
-							   (__v4df)
-							   __O, __M);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
-{
-  return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
-							   __A,
-							   (__v4df)
-							   _mm256_setzero_ps (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_i64x2 (__m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
-							   __A,
-						           (__v4di)_mm256_undefined_si256(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_i64x2 (__m256i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
-							   __A,
-							   (__v4di)
-							   __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
-							   __A,
-							   (__v4di)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_f32x2 (__m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
-						          (__v8sf)_mm256_undefined_ps(),
-							  (__mmask8) -
-							  1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_f32x2 (__m256 __O, __mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
-							  (__v8sf) __O,
-							  __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_f32x2 (__mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
-							  (__v8sf)
-							  _mm256_setzero_ps (),
-							  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_i32x2 (__m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
-							   __A,
-						          (__v8si)_mm256_undefined_si256(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_i32x2 (__m256i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
-							   __A,
-							   (__v8si)
-							   __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
-							   __A,
-							   (__v8si)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcast_i32x2 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
-							   __A,
-						          (__v4si)_mm_undefined_si128(),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcast_i32x2 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
-							   __A,
-							   (__v4si)
-							   __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
-							   __A,
-							   (__v4si)
-							   _mm_setzero_si128 (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mullo_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) ((__v4du) __A * (__v4du) __B);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mullo_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du) __A * (__v2du) __B);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		       __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
-						  (__v4df) __B,
-						  (__v4df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
-						  (__v4df) __B,
-						  (__v4df)
-						  _mm256_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		    __m128d __B)
-{
-  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
-						  (__v2df) __B,
-						  (__v2df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
-						  (__v2df) __B,
-						  (__v2df)
-						  _mm_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A,
-		       __m256 __B)
-{
-  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
-						 (__v8sf) __B,
-						 (__v8sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
-						 (__v8sf) __B,
-						 (__v8sf)
-						 _mm256_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
-						 (__v4sf) __B,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
-						 (__v4sf) __B,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_epi64 (__m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_epi64 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
-						    (__v2di)
-						    _mm_setzero_di (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
-						    (__v2di)
-						    _mm_setzero_di (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_epu64 (__m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_epu64 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi64_ps (__m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi64_ps (__m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu64_ps (__m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu64_ps (__m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi64_pd (__m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi64_pd (__m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu64_pd (__m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A)
-{
-  return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df)
-						 _mm_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf)
-						_mm_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu64_pd (__m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df)
-						 _mm_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf)
-						_mm_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
-						(__v4df) __B,
-						(__v4df) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
-						(__v4df) __B,
-						(__v4df)
-						_mm256_setzero_pd (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
-						(__v2df) __B,
-						(__v2df) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
-						(__v2df) __B,
-						(__v2df)
-						_mm_setzero_pd (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
-					       (__v8sf) __B,
-					       (__v8sf) __W,
-					       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
-					       (__v8sf) __B,
-					       (__v8sf)
-					       _mm256_setzero_ps (),
-					       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
-					       (__v4sf) __B,
-					       (__v4sf) __W,
-					       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
-					       (__v4sf) __B,
-					       (__v4sf)
-					       _mm_setzero_ps (),
-					       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movm_epi32 (__mmask8 __A)
-{
-  return (__m128i) __builtin_ia32_cvtmask2d128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movm_epi32 (__mmask8 __A)
-{
-  return (__m256i) __builtin_ia32_cvtmask2d256 (__A);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movm_epi64 (__mmask8 __A)
-{
-  return (__m128i) __builtin_ia32_cvtmask2q128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movm_epi64 (__mmask8 __A)
-{
-  return (__m256i) __builtin_ia32_cvtmask2q256 (__A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movepi32_mask (__m128i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movepi32_mask (__m256i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movepi64_mask (__m128i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movepi64_mask (__m256i __A)
-{
-  return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extractf64x2_pd (__m256d __A, const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A,
-							 __imm,
-							 (__v2df)
-							 _mm_setzero_pd (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_extractf64x2_pd (__m128d __W, __mmask8 __U, __m256d __A,
-			     const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A,
-							 __imm,
-							 (__v2df) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_extractf64x2_pd (__mmask8 __U, __m256d __A,
-			      const int __imm)
-{
-  return (__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df) __A,
-							 __imm,
-							 (__v2df)
-							 _mm_setzero_pd (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extracti64x2_epi64 (__m256i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A,
-							 __imm,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_extracti64x2_epi64 (__m128i __W, __mmask8 __U, __m256i __A,
-				const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A,
-							 __imm,
-							 (__v2di) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_extracti64x2_epi64 (__mmask8 __U, __m256i __A,
-				 const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di) __A,
-							 __imm,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_reduce_pd (__m256d __A, int __B)
-{
-  return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_reduce_pd (__m256d __W, __mmask8 __U, __m256d __A, int __B)
-{
-  return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_reduce_pd (__mmask8 __U, __m256d __A, int __B)
-{
-  return (__m256d) __builtin_ia32_reducepd256_mask ((__v4df) __A, __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_reduce_pd (__m128d __A, int __B)
-{
-  return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_reduce_pd (__m128d __W, __mmask8 __U, __m128d __A, int __B)
-{
-  return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_reduce_pd (__mmask8 __U, __m128d __A, int __B)
-{
-  return (__m128d) __builtin_ia32_reducepd128_mask ((__v2df) __A, __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_reduce_ps (__m256 __A, int __B)
-{
-  return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_reduce_ps (__m256 __W, __mmask8 __U, __m256 __A, int __B)
-{
-  return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_reduce_ps (__mmask8 __U, __m256 __A, int __B)
-{
-  return (__m256) __builtin_ia32_reduceps256_mask ((__v8sf) __A, __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_reduce_ps (__m128 __A, int __B)
-{
-  return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_reduce_ps (__m128 __W, __mmask8 __U, __m128 __A, int __B)
-{
-  return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_reduce_ps (__mmask8 __U, __m128 __A, int __B)
-{
-  return (__m128) __builtin_ia32_reduceps128_mask ((__v4sf) __A, __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_range_pd (__m256d __A, __m256d __B, int __C)
-{
-  return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A,
-						   (__v4df) __B, __C,
-						   (__v4df)
-						   _mm256_setzero_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_range_pd (__m256d __W, __mmask8 __U,
-		      __m256d __A, __m256d __B, int __C)
-{
-  return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A,
-						   (__v4df) __B, __C,
-						   (__v4df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_range_pd (__mmask8 __U, __m256d __A, __m256d __B, int __C)
-{
-  return (__m256d) __builtin_ia32_rangepd256_mask ((__v4df) __A,
-						   (__v4df) __B, __C,
-						   (__v4df)
-						   _mm256_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_pd (__m128d __A, __m128d __B, int __C)
-{
-  return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A,
-						   (__v2df) __B, __C,
-						   (__v2df)
-						   _mm_setzero_pd (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_range_pd (__m128d __W, __mmask8 __U,
-		   __m128d __A, __m128d __B, int __C)
-{
-  return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A,
-						   (__v2df) __B, __C,
-						   (__v2df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_range_pd (__mmask8 __U, __m128d __A, __m128d __B, int __C)
-{
-  return (__m128d) __builtin_ia32_rangepd128_mask ((__v2df) __A,
-						   (__v2df) __B, __C,
-						   (__v2df)
-						   _mm_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_range_ps (__m256 __A, __m256 __B, int __C)
-{
-  return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A,
-						  (__v8sf) __B, __C,
-						  (__v8sf)
-						  _mm256_setzero_ps (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_range_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B,
-		      int __C)
-{
-  return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A,
-						  (__v8sf) __B, __C,
-						  (__v8sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_range_ps (__mmask8 __U, __m256 __A, __m256 __B, int __C)
-{
-  return (__m256) __builtin_ia32_rangeps256_mask ((__v8sf) __A,
-						  (__v8sf) __B, __C,
-						  (__v8sf)
-						  _mm256_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_range_ps (__m128 __A, __m128 __B, int __C)
-{
-  return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A,
-						  (__v4sf) __B, __C,
-						  (__v4sf)
-						  _mm_setzero_ps (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_range_ps (__m128 __W, __mmask8 __U,
-		   __m128 __A, __m128 __B, int __C)
-{
-  return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A,
-						  (__v4sf) __B, __C,
-						  (__v4sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_range_ps (__mmask8 __U, __m128 __A, __m128 __B, int __C)
-{
-  return (__m128) __builtin_ia32_rangeps128_mask ((__v4sf) __A,
-						  (__v4sf) __B, __C,
-						  (__v4sf)
-						  _mm_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fpclass_pd_mask (__mmask8 __U, __m256d __A,
-			     const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) __A,
-						      __imm, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fpclass_pd_mask (__m256d __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) __A,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fpclass_ps_mask (__mmask8 __U, __m256 __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) __A,
-						      __imm, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fpclass_ps_mask (__m256 __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) __A,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fpclass_pd_mask (__mmask8 __U, __m128d __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) __A,
-						      __imm, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fpclass_pd_mask (__m128d __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) __A,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fpclass_ps_mask (__mmask8 __U, __m128 __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) __A,
-						      __imm, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fpclass_ps_mask (__m128 __A, const int __imm)
-{
-  return (__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) __A,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_inserti64x2 (__m256i __A, __m128i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v4di)
-							_mm256_setzero_si256 (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_inserti64x2 (__m256i __W, __mmask8 __U, __m256i __A,
-			 __m128i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v4di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_inserti64x2 (__mmask8 __U, __m256i __A, __m128i __B,
-			  const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di) __A,
-							(__v2di) __B,
-							__imm,
-							(__v4di)
-							_mm256_setzero_si256 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insertf64x2 (__m256d __A, __m128d __B, const int __imm)
-{
-  return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v4df)
-							_mm256_setzero_pd (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_insertf64x2 (__m256d __W, __mmask8 __U, __m256d __A,
-			 __m128d __B, const int __imm)
-{
-  return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v4df) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_insertf64x2 (__mmask8 __U, __m256d __A, __m128d __B,
-			  const int __imm)
-{
-  return (__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df) __A,
-							(__v2df) __B,
-							__imm,
-							(__v4df)
-							_mm256_setzero_pd (),
-							(__mmask8)
-							__U);
-}
-
-#else
-#define _mm256_insertf64x2(X, Y, C)                                     \
-  ((__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C),					\
-    (__v4df)(__m256d)_mm256_setzero_pd(),				\
-    (__mmask8)-1))
-
-#define _mm256_mask_insertf64x2(W, U, X, Y, C)                          \
-  ((__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C),					\
-    (__v4df)(__m256d)(W),						\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_insertf64x2(U, X, Y, C)				\
-  ((__m256d) __builtin_ia32_insertf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (__v2df)(__m128d) (Y), (int) (C),					\
-    (__v4df)(__m256d)_mm256_setzero_pd(),				\
-    (__mmask8)(U)))
-
-#define _mm256_inserti64x2(X, Y, C)                                     \
-  ((__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C),					\
-    (__v4di)(__m256i)_mm256_setzero_si256 (),				\
-    (__mmask8)-1))
-
-#define _mm256_mask_inserti64x2(W, U, X, Y, C)                          \
-  ((__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C),					\
-    (__v4di)(__m256i)(W),						\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_inserti64x2(U, X, Y, C)                            \
-  ((__m256i) __builtin_ia32_inserti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (__v2di)(__m128i) (Y), (int) (C),					\
-    (__v4di)(__m256i)_mm256_setzero_si256 (),				\
-    (__mmask8)(U)))
-
-#define _mm256_extractf64x2_pd(X, C)                                    \
-  ((__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8)-1))
-
-#define _mm256_mask_extractf64x2_pd(W, U, X, C)                         \
-  ((__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (int) (C), (__v2df)(__m128d) (W), (__mmask8) (U)))
-
-#define _mm256_maskz_extractf64x2_pd(U, X, C)                           \
-  ((__m128d) __builtin_ia32_extractf64x2_256_mask ((__v4df)(__m256d) (X),\
-    (int) (C), (__v2df)(__m128d) _mm_setzero_pd(), (__mmask8) (U)))
-
-#define _mm256_extracti64x2_epi64(X, C)                                 \
-  ((__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8)-1))
-
-#define _mm256_mask_extracti64x2_epi64(W, U, X, C)                     \
-  ((__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (int) (C), (__v2di)(__m128i) (W), (__mmask8) (U)))
-
-#define _mm256_maskz_extracti64x2_epi64(U, X, C)                        \
-  ((__m128i) __builtin_ia32_extracti64x2_256_mask ((__v4di)(__m256i) (X),\
-    (int) (C), (__v2di)(__m128i) _mm_setzero_di(), (__mmask8) (U)))
-
-#define _mm256_reduce_pd(A, B)						\
-  ((__m256d) __builtin_ia32_reducepd256_mask ((__v4df)(__m256d)(A),	\
-    (int)(B), (__v4df)_mm256_setzero_pd(), (__mmask8)-1))
-
-#define _mm256_mask_reduce_pd(W, U, A, B)				\
-  ((__m256d) __builtin_ia32_reducepd256_mask ((__v4df)(__m256d)(A),	\
-    (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_reduce_pd(U, A, B)					\
-  ((__m256d) __builtin_ia32_reducepd256_mask ((__v4df)(__m256d)(A),	\
-    (int)(B), (__v4df)_mm256_setzero_pd(), (__mmask8)(U)))
-
-#define _mm_reduce_pd(A, B)						\
-  ((__m128d) __builtin_ia32_reducepd128_mask ((__v2df)(__m128d)(A),	\
-    (int)(B), (__v2df)_mm_setzero_pd(), (__mmask8)-1))
-
-#define _mm_mask_reduce_pd(W, U, A, B)					\
-  ((__m128d) __builtin_ia32_reducepd128_mask ((__v2df)(__m128d)(A),	\
-    (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U)))
-
-#define _mm_maskz_reduce_pd(U, A, B)					\
-  ((__m128d) __builtin_ia32_reducepd128_mask ((__v2df)(__m128d)(A),	\
-    (int)(B), (__v2df)_mm_setzero_pd(), (__mmask8)(U)))
-
-#define _mm256_reduce_ps(A, B)						\
-  ((__m256) __builtin_ia32_reduceps256_mask ((__v8sf)(__m256)(A),	\
-    (int)(B), (__v8sf)_mm256_setzero_ps(), (__mmask8)-1))
-
-#define _mm256_mask_reduce_ps(W, U, A, B)				\
-  ((__m256) __builtin_ia32_reduceps256_mask ((__v8sf)(__m256)(A),	\
-    (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_reduce_ps(U, A, B)					\
-  ((__m256) __builtin_ia32_reduceps256_mask ((__v8sf)(__m256)(A),	\
-    (int)(B), (__v8sf)_mm256_setzero_ps(), (__mmask8)(U)))
-
-#define _mm_reduce_ps(A, B)						\
-  ((__m128) __builtin_ia32_reduceps128_mask ((__v4sf)(__m128)(A),	\
-    (int)(B), (__v4sf)_mm_setzero_ps(), (__mmask8)-1))
-
-#define _mm_mask_reduce_ps(W, U, A, B)					\
-  ((__m128) __builtin_ia32_reduceps128_mask ((__v4sf)(__m128)(A),	\
-    (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U)))
-
-#define _mm_maskz_reduce_ps(U, A, B)					\
-  ((__m128) __builtin_ia32_reduceps128_mask ((__v4sf)(__m128)(A),	\
-    (int)(B), (__v4sf)_mm_setzero_ps(), (__mmask8)(U)))
-
-#define _mm256_range_pd(A, B, C)					\
-  ((__m256d) __builtin_ia32_rangepd256_mask ((__v4df)(__m256d)(A),	\
-    (__v4df)(__m256d)(B), (int)(C),					\
-    (__v4df)_mm256_setzero_pd(), (__mmask8)-1))
-
-#define _mm256_maskz_range_pd(U, A, B, C)				\
-  ((__m256d) __builtin_ia32_rangepd256_mask ((__v4df)(__m256d)(A),	\
-    (__v4df)(__m256d)(B), (int)(C),					\
-    (__v4df)_mm256_setzero_pd(), (__mmask8)(U)))
-
-#define _mm_range_pd(A, B, C)						\
-  ((__m128d) __builtin_ia32_rangepd128_mask ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C),					\
-    (__v2df)_mm_setzero_pd(), (__mmask8)-1))
-
-#define _mm256_range_ps(A, B, C)					\
-  ((__m256) __builtin_ia32_rangeps256_mask ((__v8sf)(__m256)(A),	\
-    (__v8sf)(__m256)(B), (int)(C),					\
-    (__v8sf)_mm256_setzero_ps(), (__mmask8)-1))
-
-#define _mm256_mask_range_ps(W, U, A, B, C)				\
-  ((__m256) __builtin_ia32_rangeps256_mask ((__v8sf)(__m256)(A),	\
-    (__v8sf)(__m256)(B), (int)(C),					\
-    (__v8sf)(__m256)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_range_ps(U, A, B, C)				\
-  ((__m256) __builtin_ia32_rangeps256_mask ((__v8sf)(__m256)(A),	\
-    (__v8sf)(__m256)(B), (int)(C),					\
-    (__v8sf)_mm256_setzero_ps(), (__mmask8)(U)))
-
-#define _mm_range_ps(A, B, C)						\
-  ((__m128) __builtin_ia32_rangeps128_mask ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C),					\
-    (__v4sf)_mm_setzero_ps(), (__mmask8)-1))
-
-#define _mm_mask_range_ps(W, U, A, B, C)				\
-  ((__m128) __builtin_ia32_rangeps128_mask ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C),					\
-    (__v4sf)(__m128)(W), (__mmask8)(U)))
-
-#define _mm_maskz_range_ps(U, A, B, C)					\
-  ((__m128) __builtin_ia32_rangeps128_mask ((__v4sf)(__m128)(A),	\
-    (__v4sf)(__m128)(B), (int)(C),					\
-    (__v4sf)_mm_setzero_ps(), (__mmask8)(U)))
-
-#define _mm256_mask_range_pd(W, U, A, B, C)				\
-  ((__m256d) __builtin_ia32_rangepd256_mask ((__v4df)(__m256d)(A),	\
-    (__v4df)(__m256d)(B), (int)(C),					\
-    (__v4df)(__m256d)(W), (__mmask8)(U)))
-
-#define _mm_mask_range_pd(W, U, A, B, C)				\
-  ((__m128d) __builtin_ia32_rangepd128_mask ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C),					\
-    (__v2df)(__m128d)(W), (__mmask8)(U)))
-
-#define _mm_maskz_range_pd(U, A, B, C)					\
-  ((__m128d) __builtin_ia32_rangepd128_mask ((__v2df)(__m128d)(A),	\
-    (__v2df)(__m128d)(B), (int)(C),					\
-    (__v2df)_mm_setzero_pd(), (__mmask8)(U)))
-
-#define _mm256_mask_fpclass_pd_mask(u, X, C)                            \
-  ((__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) (__m256d) (X), \
-						(int) (C),(__mmask8)(u)))
-
-#define _mm256_mask_fpclass_ps_mask(u, X, C)				\
-  ((__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) (__m256) (X),  \
-						(int) (C),(__mmask8)(u)))
-
-#define _mm_mask_fpclass_pd_mask(u, X, C)                               \
-  ((__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) (__m128d) (X), \
-						(int) (C),(__mmask8)(u)))
-
-#define _mm_mask_fpclass_ps_mask(u, X, C)                               \
-  ((__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) (__m128) (X),  \
-						(int) (C),(__mmask8)(u)))
-
-#define _mm256_fpclass_pd_mask(X, C)                                    \
-  ((__mmask8) __builtin_ia32_fpclasspd256_mask ((__v4df) (__m256d) (X), \
-						(int) (C),(__mmask8)-1))
-
-#define _mm256_fpclass_ps_mask(X, C)                                    \
-  ((__mmask8) __builtin_ia32_fpclassps256_mask ((__v8sf) (__m256) (X),  \
-						(int) (C),(__mmask8)-1))
-
-#define _mm_fpclass_pd_mask(X, C)                                       \
-  ((__mmask8) __builtin_ia32_fpclasspd128_mask ((__v2df) (__m128d) (X), \
-						(int) (C),(__mmask8)-1))
-
-#define _mm_fpclass_ps_mask(X, C)                                       \
-  ((__mmask8) __builtin_ia32_fpclassps128_mask ((__v4sf) (__m128) (X),  \
-						(int) (C),(__mmask8)-1))
-
-#endif
-
-#ifdef __DISABLE_AVX512VLDQ__
-#undef __DISABLE_AVX512VLDQ__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512VLDQ__ */
-
-#endif /* _AVX512VLDQINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vlintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avx512vlintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,13598 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <avx512vlintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVX512VLINTRIN_H_INCLUDED
-#define _AVX512VLINTRIN_H_INCLUDED
-
-/* Doesn't require avx512vl target and is used in avx512dqintrin.h.  */
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_di (void)
-{
-  return __extension__ (__m128i)(__v2di){ 0LL, 0LL};
-}
-
-#ifndef __AVX512VL__
-#pragma GCC push_options
-#pragma GCC target("avx512vl")
-#define __DISABLE_AVX512VL__
-#endif /* __AVX512VL__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef unsigned int __mmask32;
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
-						  (__v4df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
-						  (__v4df)
-						  _mm256_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
-						  (__v2df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
-						  (__v2df)
-						  _mm_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
-						   (__v4df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_load_pd (__mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
-						   (__v4df)
-						   _mm256_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
-						   (__v2df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_load_pd (__mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
-						   (__v2df)
-						   _mm_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
-{
-  __builtin_ia32_storeapd256_mask ((__v4df *) __P,
-				   (__v4df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
-{
-  __builtin_ia32_storeapd128_mask ((__v2df *) __P,
-				   (__v2df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
-						 (__v8sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
-						 (__v8sf)
-						 _mm256_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
-						  (__v8sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_load_ps (__mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
-						  (__v8sf)
-						  _mm256_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
-						  (__v4sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_load_ps (__mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
-						  (__v4sf)
-						  _mm_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
-{
-  __builtin_ia32_storeaps256_mask ((__v8sf *) __P,
-				   (__v8sf) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
-{
-  __builtin_ia32_storeaps128_mask ((__v4sf *) __P,
-				   (__v4sf) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
-							(__v4di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
-							(__v4di)
-							_mm256_setzero_si256 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
-							(__v2di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
-							(__v2di)
-							_mm_setzero_di (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
-					(__v4di) __A,
-					(__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
-					(__v2di) __A,
-					(__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
-							(__v8si) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
-							(__v8si)
-							_mm256_setzero_si256 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
-							(__v4si) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
-							(__v4si)
-							_mm_setzero_si128 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
-					(__v8si) __A,
-					(__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
-					(__v4si) __A,
-					(__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_hi (void)
-{
-  return __extension__ (__m128i) (__v8hi)
-  {
-  0, 0, 0, 0, 0, 0, 0, 0};
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df)
-						 _mm_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_ps (__mmask16 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf)
-						_mm_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_ps (__mmask16 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
-						 (__v2df) __B,
-						 (__v2df)
-						 _mm_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_ps (__m128 __W, __mmask16 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_ps (__mmask16 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
-						(__v4sf) __B,
-						(__v4sf)
-						_mm_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_ps (__m256 __W, __mmask16 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_ps (__mmask16 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_store_epi64 (void *__P, __m256i __A)
-{
-  *(__m256i *) __P = __A;
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_epi64 (void *__P, __m128i __A)
-{
-  *(__m128i *) __P = __A;
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
-						   (__v4df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_loadupd256_mask ((__v4df *) __P,
-						   (__v4df)
-						   _mm256_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
-						   (__v2df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_loadupd128_mask ((__v2df *) __P,
-						   (__v2df)
-						   _mm_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
-{
-  __builtin_ia32_storeupd256_mask ((__v4df *) __P,
-				   (__v4df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
-{
-  __builtin_ia32_storeupd128_mask ((__v2df *) __P,
-				   (__v2df) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
-						  (__v8sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_loadups256_mask ((__v8sf *) __P,
-						  (__v8sf)
-						  _mm256_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
-						  (__v4sf) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_loadups128_mask ((__v4sf *) __P,
-						  (__v4sf)
-						  _mm_setzero_ps (),
-						  (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
-{
-  __builtin_ia32_storeups256_mask ((__v8sf *) __P,
-				   (__v8sf) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
-{
-  __builtin_ia32_storeups128_mask ((__v4sf *) __P,
-				   (__v4sf) __A,
-				   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddqudi256_mask ((__v4di *) __P,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddqudi128_mask ((__v2di *) __P,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_storedqudi256_mask ((__v4di *) __P,
-				     (__v4di) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_storedqudi128_mask ((__v2di *) __P,
-				     (__v2di) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddqusi256_mask ((__v8si *) __P,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddqusi128_mask ((__v4si *) __P,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_storedqusi256_mask ((__v8si *) __P,
-				     (__v8si) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_storedqusi128_mask ((__v4si *) __P,
-				     (__v4si) __A,
-				     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_abs_epi64 (__m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_epi64 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtpd_epu32 (__m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_epu32 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttps_epu32 (__m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
-						      (__v8si)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
-						      (__v8si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
-						      (__v8si)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttps_epu32 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
-						      (__v4si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttpd_epu32 (__m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
-						      (__v4si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttpd_epu32 (__m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
-						      (__v4si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A)
-{
-  return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu32_pd (__m128i __A)
-{
-  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu32_pd (__m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
-{
-  return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A)
-{
-  return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepu32_ps (__m256i __A)
-{
-  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A)
-{
-  return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu32_ps (__m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A)
-{
-  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
-{
-  return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
-{
-  return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi32_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi32_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi32_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi32_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi32_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi32_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi32_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
-						  (__v8hi) _mm_setzero_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
-						  (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi32_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
-						  (__v8hi)_mm_setzero_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_storeu_epi16 (void *  __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
-						  (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi32_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
-						   (__v8hi)_mm_setzero_si128 (),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
-						   (__v8hi)__O,
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi32_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
-						   (__v8hi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
-						   (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi32_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
-						    (__v8hi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
-						    (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi32_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
-						    (__v8hi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
-						    (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi64_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi64_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
-						  (__v16qi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
-						  (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
-						  (__v16qi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi64_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi64_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
-						   (__v16qi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
-						   (__v16qi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
-						   (__v16qi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi64_epi8 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi64_epi8 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
-						    (__v16qi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
-						    (__v16qi) __O,
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
-						    (__v16qi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi64_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
-						  (__v8hi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
-						  (__v8hi)__O,
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi64_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
-						  (__v8hi)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
-						  (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
-						  (__v8hi)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi64_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
-						   (__v8hi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
-						   (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi64_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
-						   (__v8hi)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
-						   (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
-						   (__v8hi)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi64_epi16 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
-						    (__v8hi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
-						    (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi64_epi16 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
-						    (__v8hi)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
-						    (__v8hi) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
-						    (__v8hi)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi64_epi32 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
-						  (__v4si)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
-						  (__v4si) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi64_epi32 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
-						  (__v4si)_mm_undefined_si128(),
-						  (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
-						  (__v4si) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsepi64_epi32 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
-						   (__v4si)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
-						   (__v4si) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
-						   (__v4si)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtsepi64_epi32 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
-						   (__v4si)_mm_undefined_si128(),
-						   (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
-						   (__v4si)__O,
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
-						   (__v4si)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtusepi64_epi32 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
-						    (__v4si)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
-{
-  __builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
-						    (__v4si) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtusepi64_epi32 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
-						    (__v4si)_mm_undefined_si128(),
-						    (__mmask8) -1);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
-{
-  __builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
-						    (__v4si) __O, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
-{
-  return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
-						      (__v8sf) __O,
-						      __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
-						      (__v8sf)
-						      _mm256_setzero_ps (),
-						      __M);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
-{
-  return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
-						      (__v4sf) __O,
-						      __M);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
-{
-  return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
-						      (__v4sf)
-						      _mm_setzero_ps (),
-						      __M);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
-{
-  return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
-						       (__v4df) __O,
-						       __M);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
-{
-  return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
-						       (__v4df)
-						       _mm256_setzero_pd (),
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
-						       (__v8si) __O,
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
-						       (__v8si)
-						       _mm256_setzero_si256 (),
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O,
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_set1_epi32 (__mmask8 __M, int __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A,
-							   (__v8si)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
-						       (__v4si) __O,
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
-						       (__v4si)
-						       _mm_setzero_si128 (),
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O,
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_set1_epi32 (__mmask8 __M, int __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A,
-							   (__v4si)
-							   _mm_setzero_si128 (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
-						       (__v4di) __O,
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
-						       (__v4di)
-						       _mm256_setzero_si256 (),
-						       __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
-{
-  return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
-							   (__v4di)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
-						       (__v2di) __O,
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
-						       (__v2di)
-						       _mm_setzero_si128 (),
-						       __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
-							   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
-{
-  return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A,
-							   (__v2di)
-							   _mm_setzero_si128 (),
-							   __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_f32x4 (__m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
-						          (__v8sf)_mm256_undefined_pd (),
-							  (__mmask8) -
-							  1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
-							  (__v8sf) __O,
-							  __M);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
-{
-  return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
-							  (__v8sf)
-							  _mm256_setzero_ps (),
-							  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_i32x4 (__m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
-							   __A,
-						           (__v8si)_mm256_undefined_si256 (),
-							   (__mmask8) -
-							   1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
-							   __A,
-							   (__v8si)
-							   __O, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
-							   __A,
-							   (__v8si)
-							   _mm256_setzero_si256 (),
-							   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
-{
-  return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
-						    (__v4di)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
-						    (__v2di)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rcp14_pd (__m256d __A)
-{
-  return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
-					      (__v4df)
-					      _mm256_setzero_pd (),
-					      (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
-					      (__v4df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
-					      (__v4df)
-					      _mm256_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp14_pd (__m128d __A)
-{
-  return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
-					      (__v2df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rcp14_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
-					     (__v8sf)
-					     _mm256_setzero_ps (),
-					     (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
-					     (__v8sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
-					     (__v8sf)
-					     _mm256_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp14_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
-					     (__v4sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rsqrt14_pd (__m256d __A)
-{
-  return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt14_pd (__m128d __A)
-{
-  return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rsqrt14_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt14_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
-						  (__v4df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
-						  (__v4df)
-						  _mm256_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
-						  (__v2df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
-						  (__v2df)
-						  _mm_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
-						 (__v8sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
-						 (__v8sf)
-						 _mm256_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_getexp_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_getexp_pd (__m256d __A)
-{
-  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getexp_pd (__m128d __A)
-{
-  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_scalef_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		       __m256d __B)
-{
-  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_scalef_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
-		       __m256 __B)
-{
-  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		    __m128d __B)
-{
-  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_scalef_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
-		      __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C,
-		       __mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
-		       __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C,
-		    __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		    __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf) __C,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C,
-		       __mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
-		       __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf) __C,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
-		      __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    -(__v4df) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C,
-		       __mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
-		       __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
-						     (__v4df) __B,
-						     -(__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    -(__v2df) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C,
-		    __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		    __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
-						     (__v2df) __B,
-						     -(__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   -(__v8sf) __C,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C,
-		       __mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
-		       __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
-						    (__v8sf) __B,
-						    -(__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   -(__v4sf) __C,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
-						    (__v4sf) __B,
-						    -(__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
-			 __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
-						       (__v4df) __B,
-						       (__v4df) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C,
-			  __mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
-							(__v4df) __B,
-							(__v4df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			  __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
-							(__v4df) __B,
-							(__v4df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
-		      __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
-						       (__v2df) __B,
-						       (__v2df) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C,
-		       __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
-							(__v2df) __B,
-							(__v2df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		       __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
-							(__v2df) __B,
-							(__v2df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
-			 __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
-						      (__v8sf) __B,
-						      (__v8sf) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C,
-			  __mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
-						       (__v8sf) __B,
-						       (__v8sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			  __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
-						       (__v8sf) __B,
-						       (__v8sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
-						      (__v4sf) __B,
-						      (__v4sf) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C,
-		       __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
-						       (__v4sf) __B,
-						       (__v4sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B,
-		       __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
-						       (__v4sf) __B,
-						       (__v4sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
-			 __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
-						       (__v4df) __B,
-						       -(__v4df) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C,
-			  __mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
-							(__v4df) __B,
-							(__v4df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			  __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
-							(__v4df) __B,
-							-(__v4df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
-		      __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
-						       (__v2df) __B,
-						       -(__v2df) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C,
-		       __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
-							(__v2df) __B,
-							(__v2df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		       __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
-							(__v2df) __B,
-							-(__v2df) __C,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
-			 __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
-						      (__v8sf) __B,
-						      -(__v8sf) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C,
-			  __mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
-						       (__v8sf) __B,
-						       (__v8sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			  __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
-						       (__v8sf) __B,
-						       -(__v8sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
-						      (__v4sf) __B,
-						      -(__v4sf) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C,
-		       __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
-						       (__v4sf) __B,
-						       (__v4sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B,
-		       __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
-						       (__v4sf) __B,
-						       -(__v4sf) __C,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
-		       __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C,
-			__mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_mask3 (-(__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			__m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
-		    __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C,
-		     __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_mask3 (-(__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		     __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
-		       __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C,
-			__mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_mask3 (-(__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			__m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_mask3 (-(__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
-		       __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
-						     (__v4df) __B,
-						     (__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C,
-			__mmask8 __U)
-{
-  return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
-						      (__v4df) __B,
-						      (__v4df) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			__m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256_maskz (-(__v4df) __A,
-						     (__v4df) __B,
-						     -(__v4df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
-		    __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
-						     (__v2df) __B,
-						     (__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C,
-		     __mmask8 __U)
-{
-  return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
-						      (__v2df) __B,
-						      (__v2df) __C,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		     __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd128_maskz (-(__v2df) __A,
-						     (__v2df) __B,
-						     -(__v2df) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
-		       __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
-						    (__v8sf) __B,
-						    (__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C,
-			__mmask8 __U)
-{
-  return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
-						     (__v8sf) __B,
-						     (__v8sf) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			__m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256_maskz (-(__v8sf) __A,
-						    (__v8sf) __B,
-						    -(__v8sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
-						    (__v4sf) __B,
-						    (__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
-{
-  return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
-						     (__v4sf) __B,
-						     (__v4sf) __C,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps128_maskz (-(__v4sf) __A,
-						    (__v4sf) __B,
-						    -(__v4sf) __C,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			  __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		       __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
-						(__v8si) __B,
-						(__v8si) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
-						(__v8si) __B,
-						(__v8si)
-						_mm256_setzero_si256 (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
-						(__v4si) __B,
-						(__v4si) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
-						(__v4si) __B,
-						(__v4si)
-						_mm_setzero_si128 (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
-						 (__v8si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
-						(__v4sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A)
-{
-  return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
-						(__v4sf)
-						_mm_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A)
-{
-  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A)
-{
-  return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
-						    (__v8si)
-						    _mm256_setzero_si256 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
-						    (__v4si)
-						    _mm_setzero_si128 (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_epu32 (__m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A)
-{
-  return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_epu32 (__m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A)
-{
-  return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
-						   (__v4df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
-						   (__v4df)
-						   _mm256_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
-						   (__v2df) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
-						   (__v2df)
-						   _mm_setzero_pd (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
-						      (__v2di) __B,
-						      (__v2di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
-						      (__v2di) __B,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
-						      (__v4di) __B,
-						      (__v4di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
-						      (__v4di) __B,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-			 __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
-						      (__v2di) __B,
-						      (__v2di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
-						      (__v2di) __B,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			    __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
-						      (__v4di) __B,
-						      (__v4di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
-						      (__v4di) __B,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epu32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
-						   (__v4si) __B, 0,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
-						   (__v4si) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
-						    (__v4si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
-						   (__v8si) __B, 0,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
-						   (__v8si) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
-						    (__v8si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epu64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
-						   (__v2di) __B, 0,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
-						    (__v2di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
-						   (__v2di) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
-						    (__v2di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
-						   (__v4di) __B, 0,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
-						    (__v4di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
-						   (__v4di) __B, 0, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
-						    (__v4di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epu32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
-						   (__v4si) __B, 6,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
-						    (__v4si) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
-						   (__v4si) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
-						    (__v4si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
-						   (__v8si) __B, 6,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
-						    (__v8si) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
-						   (__v8si) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
-						    (__v8si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epu64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
-						   (__v2di) __B, 6,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
-						    (__v2di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
-						   (__v2di) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
-						    (__v2di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
-						   (__v4di) __B, 6,
-						   (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
-						    (__v4di) __B,
-						    (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
-						   (__v4di) __B, 6, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
-						    (__v4di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_test_epi32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
-					       (__v4si) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
-					       (__v4si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_test_epi32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
-					       (__v8si) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
-					       (__v8si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_test_epi64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
-					       (__v2di) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
-					       (__v2di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_test_epi64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
-					       (__v4di) __B,
-					       (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
-					       (__v4di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testn_epi32_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
-						(__v4si) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
-						(__v4si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testn_epi32_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
-						(__v8si) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
-						(__v8si) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testn_epi64_mask (__m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
-						(__v2di) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
-						(__v2di) __B, __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testn_epi64_mask (__m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
-						(__v4di) __B,
-						(__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
-						(__v4di) __B, __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
-						      (__v4df) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
-						      (__v4df)
-						      _mm256_setzero_pd (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A)
-{
-  __builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
-					  (__v4df) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
-						      (__v2df) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_compress_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
-						      (__v2df)
-						      _mm_setzero_pd (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A)
-{
-  __builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
-					  (__v2df) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
-						     (__v8sf) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
-						     (__v8sf)
-						     _mm256_setzero_ps (),
-						     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A)
-{
-  __builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
-					  (__v8sf) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
-						     (__v4sf) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_compress_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
-						     (__v4sf)
-						     _mm_setzero_ps (),
-						     (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A)
-{
-  __builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
-					  (__v4sf) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
-						      (__v4di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
-						      (__v4di)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
-					  (__v4di) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
-						      (__v2di) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
-						      (__v2di)
-						      _mm_setzero_di (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
-					  (__v2di) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
-						      (__v8si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
-						      (__v8si)
-						      _mm256_setzero_si256 (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A)
-{
-  __builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
-					  (__v8si) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
-						      (__v4si) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
-						      (__v4si)
-						      _mm_setzero_si128 (),
-						      (__mmask8) __U);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A)
-{
-  __builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
-					  (__v4si) __A,
-					  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A)
-{
-  return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
-							(__v4df) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P,
-							 (__v4df)
-							 _mm256_setzero_pd (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expand_pd (__mmask8 __U, __m128d __A)
-{
-  return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
-							(__v2df) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
-{
-  return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P,
-							 (__v2df)
-							 _mm_setzero_pd (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A)
-{
-  return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
-						       (__v8sf) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
-{
-  return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P,
-							(__v8sf)
-							_mm256_setzero_ps (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expand_ps (__mmask8 __U, __m128 __A)
-{
-  return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
-						       (__v4sf) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
-{
-  return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P,
-							(__v4sf)
-							_mm_setzero_ps (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
-			       void const *__P)
-{
-  return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
-							(__v4di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P,
-							 (__v4di)
-							 _mm256_setzero_si256 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A,
-						     (__v2di)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
-							(__v2di) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P,
-							 (__v2di)
-							 _mm_setzero_si128 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
-			       void const *__P)
-{
-  return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
-							(__v8si) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P,
-							 (__v8si)
-							 _mm256_setzero_si256 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
-							(__v4si) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
-{
-  return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P,
-							 (__v4si)
-							 _mm_setzero_si128 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
-							/* idx */ ,
-							(__v4df) __A,
-							(__v4df) __B,
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
-			     __m256d __B)
-{
-  return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
-							/* idx */ ,
-							(__v4df) __A,
-							(__v4df) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
-			      __m256d __B)
-{
-  return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
-							(__v4di) __I
-							/* idx */ ,
-							(__v4df) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
-			      __m256d __B)
-{
-  return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
-							 /* idx */ ,
-							 (__v4df) __A,
-							 (__v4df) __B,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B)
-{
-  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
-						       /* idx */ ,
-						       (__v8sf) __A,
-						       (__v8sf) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
-			     __m256 __B)
-{
-  return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
-						       /* idx */ ,
-						       (__v8sf) __A,
-						       (__v8sf) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
-			      __m256 __B)
-{
-  return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
-						       (__v8si) __I
-						       /* idx */ ,
-						       (__v8sf) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
-			      __m256 __B)
-{
-  return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
-							/* idx */ ,
-							(__v8sf) __A,
-							(__v8sf) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
-						       /* idx */ ,
-						       (__v2di) __A,
-						       (__v2di) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
-			     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
-						       /* idx */ ,
-						       (__v2di) __A,
-						       (__v2di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
-						       (__v2di) __I
-						       /* idx */ ,
-						       (__v2di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
-							/* idx */ ,
-							(__v2di) __A,
-							(__v2di) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
-						       /* idx */ ,
-						       (__v4si) __A,
-						       (__v4si) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
-			     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
-						       /* idx */ ,
-						       (__v4si) __A,
-						       (__v4si) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
-						       (__v4si) __I
-						       /* idx */ ,
-						       (__v4si) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
-			      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
-							/* idx */ ,
-							(__v4si) __A,
-							(__v4si) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
-						       /* idx */ ,
-						       (__v4di) __A,
-						       (__v4di) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
-				__m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
-						       /* idx */ ,
-						       (__v4di) __A,
-						       (__v4di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
-				 __mmask8 __U, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
-						       (__v4di) __I
-						       /* idx */ ,
-						       (__v4di) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
-				 __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
-							/* idx */ ,
-							(__v4di) __A,
-							(__v4di) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
-						       /* idx */ ,
-						       (__v8si) __A,
-						       (__v8si) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
-				__m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
-						       /* idx */ ,
-						       (__v8si) __A,
-						       (__v8si) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
-				 __mmask8 __U, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
-						       (__v8si) __I
-						       /* idx */ ,
-						       (__v8si) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
-				 __m256i __I, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
-							/* idx */ ,
-							(__v8si) __A,
-							(__v8si) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
-							/* idx */ ,
-							(__v2df) __A,
-							(__v2df) __B,
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
-			  __m128d __B)
-{
-  return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
-							/* idx */ ,
-							(__v2df) __A,
-							(__v2df) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
-			   __m128d __B)
-{
-  return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
-							(__v2di) __I
-							/* idx */ ,
-							(__v2df) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
-			   __m128d __B)
-{
-  return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
-							 /* idx */ ,
-							 (__v2df) __A,
-							 (__v2df) __B,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B)
-{
-  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
-						       /* idx */ ,
-						       (__v4sf) __A,
-						       (__v4sf) __B,
-						       (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
-			  __m128 __B)
-{
-  return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
-						       /* idx */ ,
-						       (__v4sf) __A,
-						       (__v4sf) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
-			   __m128 __B)
-{
-  return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
-						       (__v4si) __I
-						       /* idx */ ,
-						       (__v4sf) __B,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
-			   __m128 __B)
-{
-  return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
-							/* idx */ ,
-							(__v4sf) __A,
-							(__v4sf) __B,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srav_epi64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
-						  (__v2di) __Y,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
-						  (__v2di) __Y,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
-						  (__v2di) __Y,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
-						 (__v4di) __Y,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
-						 (__v4di) __Y,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
-						 (__v2di) __Y,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
-						 (__v2di) __Y,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
-						 (__v8si) __Y,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
-						 (__v4si) __Y,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
-						 (__v4di) __Y,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
-						 (__v4di) __Y,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
-		     __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
-						 (__v2di) __Y,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
-						 (__v2di) __Y,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rolv_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rolv_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rorv_epi32 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rorv_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rolv_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rolv_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rorv_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			__m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rorv_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		     __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srav_epi64 (__m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
-						  (__v4di) __Y,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
-			__m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
-						  (__v4di) __Y,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
-						  (__v4di) __Y,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di) __W, __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di)
-						 _mm256_setzero_pd (),
-						 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W, __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_pd (),
-						 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			  __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W, __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_pd (),
-						  __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		       __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W, __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_pd (),
-						  __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		      __m256i __B)
-{
-  return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
-						(__v4di) __B,
-						(__v4di) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
-						(__v4di) __B,
-						(__v4di)
-						_mm256_setzero_si256 (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
-						(__v2di) __B,
-						(__v2di) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
-						(__v2di) __B,
-						(__v2di)
-						_mm_setzero_si128 (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
-						 (__v4di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf) __W,
-					     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
-					     (__v4sf) __B,
-					     (__v4sf)
-					     _mm_setzero_ps (),
-					     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df) __W,
-					      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
-					      (__v2df) __B,
-					      (__v2df)
-					      _mm_setzero_pd (),
-					      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf) __W,
-						(__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
-						(__v8sf) __B,
-						(__v8sf)
-						_mm256_setzero_ps (),
-						(__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
-		    __m256d __B)
-{
-  return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
-						 (__v4df) __B,
-						 (__v4df)
-						 _mm256_setzero_pd (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epi64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_epu64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_epu64 (__m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
-						  (__v4di) __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
-		       __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epu64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epu64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
-						  (__v2di) __B,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W, __M);
-}
-
-#ifndef __AVX512CD__
-#pragma GCC push_options
-#pragma GCC target("avx512vl,avx512cd")
-#define __DISABLE_AVX512VLCD__
-#endif
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastmb_epi64 (__mmask8 __A)
-{
-  return (__m128i) __builtin_ia32_broadcastmb128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastmb_epi64 (__mmask8 __A)
-{
-  return (__m256i) __builtin_ia32_broadcastmb256 (__A);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcastmw_epi32 (__mmask16 __A)
-{
-  return (__m128i) __builtin_ia32_broadcastmw128 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcastmw_epi32 (__mmask16 __A)
-{
-  return (__m256i) __builtin_ia32_broadcastmw256 (__A);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_lzcnt_epi32 (__m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
-						     (__v8si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_lzcnt_epi64 (__m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
-						     (__v4di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_conflict_epi64 (__m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
-							 (__v4di)
-							 _mm256_setzero_si256 (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
-							 (__v4di) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
-							 (__v4di)
-							 _mm256_setzero_si256 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_conflict_epi32 (__m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
-							 (__v8si)
-							 _mm256_setzero_si256 (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
-							 (__v8si) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
-{
-  return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
-							 (__v8si)
-							 _mm256_setzero_si256 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_lzcnt_epi32 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
-						     (__v4si) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
-						     (__v4si)
-						     _mm_setzero_si128 (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_lzcnt_epi64 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
-						     (__v2di) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
-						     (__v2di)
-						     _mm_setzero_di (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_conflict_epi64 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
-							 (__v2di) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
-							 (__v2di)
-							 _mm_setzero_di (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_conflict_epi32 (__m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
-							 (__v4si)
-							 _mm_setzero_si128 (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
-							 (__v4si) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
-{
-  return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
-							 (__v4si)
-							 _mm_setzero_si128 (),
-							 (__mmask8)
-							 __U);
-}
-
-#ifdef __DISABLE_AVX512VLCD__
-#pragma GCC pop_options
-#endif
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			 __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		      __m128d __B)
-{
-  return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			 __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			 __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
-						    (__v4df) __B,
-						    (__v4df)
-						    _mm256_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		      __m128d __B)
-{
-  return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
-						    (__v2df) __B,
-						    (__v2df)
-						    _mm_setzero_pd (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			 __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
-{
-  return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
-						   (__v8sf) __B,
-						   (__v8sf)
-						   _mm256_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
-{
-  return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
-{
-  return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf) __W,
-						   (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
-						   (__v4sf) __B,
-						   (__v4sf)
-						   _mm_setzero_ps (),
-						   (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sra_epi64 (__m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sra_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
-						 (__v4si) __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
-						 (__v2di) __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
-						 (__v4si) __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
-{
-  return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
-						 (__v2di) __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
-			    __m256 __Y)
-{
-  return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
-						    (__v8si) __X,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
-{
-  return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
-						    (__v8si) __X,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutexvar_pd (__m256i __X, __m256d __Y)
-{
-  return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
-						     (__v4di) __X,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
-			    __m256d __Y)
-{
-  return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
-						     (__v4di) __X,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
-{
-  return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
-						     (__v4di) __X,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			   __m256i __C)
-{
-  return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
-							(__v4di) __C,
-							(__v4df) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
-{
-  return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
-							(__v4di) __C,
-							(__v4df)
-							_mm256_setzero_pd (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			   __m256i __C)
-{
-  return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
-						       (__v8si) __C,
-						       (__v8sf) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
-{
-  return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
-						       (__v8si) __C,
-						       (__v8sf)
-						       _mm256_setzero_ps (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
-			__m128i __C)
-{
-  return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
-						     (__v2di) __C,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
-{
-  return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
-						     (__v2di) __C,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
-			__m128i __C)
-{
-  return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
-						    (__v4si) __C,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
-{
-  return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
-						    (__v4si) __C,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
-						     (__v4di) __X,
-						     (__v4di)
-						     _mm256_setzero_si256 (),
-						     __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
-			 __m256i __B)
-{
-  return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
-						  (__v8si) __B,
-						  (__v8si) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
-		      __m128i __B)
-{
-  return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
-						  (__v4si) __B,
-						  (__v4si) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
-		       __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
-						  (__v8si) __Y,
-						  (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
-						  (__v8si) __Y,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
-		    __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
-						  (__v4si) __Y,
-						  (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
-						  (__v4si) __Y,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
-			       __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
-						     (__v4di) __X,
-						     (__v4di) __W,
-						     __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
-		       __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
-						   (__v8si) __Y,
-						   (__v4di) __W, __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
-						     (__v8si) __X,
-						     (__v8si)
-						     _mm256_setzero_si256 (),
-						     __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
-						   (__v8si) __Y,
-						   (__v4di)
-						   _mm256_setzero_si256 (),
-						   __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
-		    __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
-						   (__v4si) __Y,
-						   (__v2di) __W, __M);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
-						   (__v4si) __Y,
-						   (__v2di)
-						   _mm_setzero_si128 (),
-						   __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
-			       __m256i __Y)
-{
-  return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
-						     (__v8si) __X,
-						     (__v8si) __W,
-						     __M);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex_epi64 (__m256i __W, __mmask8 __M,
-			    __m256i __X, const int __I)
-{
-  return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
-						  __I,
-						  (__v4di) __W,
-						  (__mmask8) __M);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex_epi64 (__mmask8 __M, __m256i __X, const int __I)
-{
-  return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X,
-						  __I,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __M);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			__m256d __B, const int __imm)
-{
-  return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
-						  (__v4df) __B, __imm,
-						  (__v4df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			 const int __imm)
-{
-  return (__m256d) __builtin_ia32_shufpd256_mask ((__v4df) __A,
-						  (__v4df) __B, __imm,
-						  (__v4df)
-						  _mm256_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shuffle_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		     __m128d __B, const int __imm)
-{
-  return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
-						  (__v2df) __B, __imm,
-						  (__v2df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shuffle_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		      const int __imm)
-{
-  return (__m128d) __builtin_ia32_shufpd128_mask ((__v2df) __A,
-						  (__v2df) __B, __imm,
-						  (__v2df)
-						  _mm_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			__m256 __B, const int __imm)
-{
-  return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
-						 (__v8sf) __B, __imm,
-						 (__v8sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			 const int __imm)
-{
-  return (__m256) __builtin_ia32_shufps256_mask ((__v8sf) __A,
-						 (__v8sf) __B, __imm,
-						 (__v8sf)
-						 _mm256_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shuffle_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B,
-		     const int __imm)
-{
-  return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
-						 (__v4sf) __B, __imm,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shuffle_ps (__mmask8 __U, __m128 __A, __m128 __B,
-		      const int __imm)
-{
-  return (__m128) __builtin_ia32_shufps128_mask ((__v4sf) __A,
-						 (__v4sf) __B, __imm,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_inserti32x4 (__m256i __A, __m128i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
-							(__v4si) __B,
-							__imm,
-							(__v8si)
-							_mm256_setzero_si256 (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_inserti32x4 (__m256i __W, __mmask8 __U, __m256i __A,
-			 __m128i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
-							(__v4si) __B,
-							__imm,
-							(__v8si) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_inserti32x4 (__mmask8 __U, __m256i __A, __m128i __B,
-			  const int __imm)
-{
-  return (__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si) __A,
-							(__v4si) __B,
-							__imm,
-							(__v8si)
-							_mm256_setzero_si256 (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insertf32x4 (__m256 __A, __m128 __B, const int __imm)
-{
-  return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
-						       (__v4sf) __B,
-						       __imm,
-						       (__v8sf)
-						       _mm256_setzero_ps (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_insertf32x4 (__m256 __W, __mmask8 __U, __m256 __A,
-			 __m128 __B, const int __imm)
-{
-  return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
-						       (__v4sf) __B,
-						       __imm,
-						       (__v8sf) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_insertf32x4 (__mmask8 __U, __m256 __A, __m128 __B,
-			  const int __imm)
-{
-  return (__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf) __A,
-						       (__v4sf) __B,
-						       __imm,
-						       (__v8sf)
-						       _mm256_setzero_ps (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extracti32x4_epi32 (__m256i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
-							 __imm,
-							 (__v4si)
-							 _mm_setzero_si128 (),
-							 (__mmask8) -
-							 1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_extracti32x4_epi32 (__m128i __W, __mmask8 __U, __m256i __A,
-				const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
-							 __imm,
-							 (__v4si) __W,
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_extracti32x4_epi32 (__mmask8 __U, __m256i __A,
-				 const int __imm)
-{
-  return (__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si) __A,
-							 __imm,
-							 (__v4si)
-							 _mm_setzero_si128 (),
-							 (__mmask8)
-							 __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extractf32x4_ps (__m256 __A, const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
-							__imm,
-							(__v4sf)
-							_mm_setzero_ps (),
-							(__mmask8) -
-							1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_extractf32x4_ps (__m128 __W, __mmask8 __U, __m256 __A,
-			     const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
-							__imm,
-							(__v4sf) __W,
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_extractf32x4_ps (__mmask8 __U, __m256 __A,
-			      const int __imm)
-{
-  return (__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf) __A,
-							__imm,
-							(__v4sf)
-							_mm_setzero_ps (),
-							(__mmask8)
-							__U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_i64x2 (__m256i __A, __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
-						       (__v4di) __B,
-						       __imm,
-						       (__v4di)
-						       _mm256_setzero_si256 (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_i64x2 (__m256i __W, __mmask8 __U, __m256i __A,
-			   __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
-						       (__v4di) __B,
-						       __imm,
-						       (__v4di) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_i64x2 (__mmask8 __U, __m256i __A, __m256i __B,
-			    const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i64x2_256_mask ((__v4di) __A,
-						       (__v4di) __B,
-						       __imm,
-						       (__v4di)
-						       _mm256_setzero_si256 (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_i32x4 (__m256i __A, __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
-						       (__v8si) __B,
-						       __imm,
-						       (__v8si)
-						       _mm256_setzero_si256 (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_i32x4 (__m256i __W, __mmask8 __U, __m256i __A,
-			   __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
-						       (__v8si) __B,
-						       __imm,
-						       (__v8si) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_i32x4 (__mmask8 __U, __m256i __A, __m256i __B,
-			    const int __imm)
-{
-  return (__m256i) __builtin_ia32_shuf_i32x4_256_mask ((__v8si) __A,
-						       (__v8si) __B,
-						       __imm,
-						       (__v8si)
-						       _mm256_setzero_si256 (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_f64x2 (__m256d __A, __m256d __B, const int __imm)
-{
-  return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
-						       (__v4df) __B,
-						       __imm,
-						       (__v4df)
-						       _mm256_setzero_pd (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_f64x2 (__m256d __W, __mmask8 __U, __m256d __A,
-			   __m256d __B, const int __imm)
-{
-  return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
-						       (__v4df) __B,
-						       __imm,
-						       (__v4df) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_f64x2 (__mmask8 __U, __m256d __A, __m256d __B,
-			    const int __imm)
-{
-  return (__m256d) __builtin_ia32_shuf_f64x2_256_mask ((__v4df) __A,
-						       (__v4df) __B,
-						       __imm,
-						       (__v4df)
-						       _mm256_setzero_pd (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_f32x4 (__m256 __A, __m256 __B, const int __imm)
-{
-  return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
-						      (__v8sf) __B,
-						      __imm,
-						      (__v8sf)
-						      _mm256_setzero_ps (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_f32x4 (__m256 __W, __mmask8 __U, __m256 __A,
-			   __m256 __B, const int __imm)
-{
-  return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
-						      (__v8sf) __B,
-						      __imm,
-						      (__v8sf) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_f32x4 (__mmask8 __U, __m256 __A, __m256 __B,
-			    const int __imm)
-{
-  return (__m256) __builtin_ia32_shuf_f32x4_256_mask ((__v8sf) __A,
-						      (__v8sf) __B,
-						      __imm,
-						      (__v8sf)
-						      _mm256_setzero_ps (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fixupimm_pd (__m256d __A, __m256d __B, __m256i __C,
-		    const int __imm)
-{
-  return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
-						      (__v4df) __B,
-						      (__v4di) __C,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fixupimm_pd (__m256d __A, __mmask8 __U, __m256d __B,
-			 __m256i __C, const int __imm)
-{
-  return (__m256d) __builtin_ia32_fixupimmpd256_mask ((__v4df) __A,
-						      (__v4df) __B,
-						      (__v4di) __C,
-						      __imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fixupimm_pd (__mmask8 __U, __m256d __A, __m256d __B,
-			  __m256i __C, const int __imm)
-{
-  return (__m256d) __builtin_ia32_fixupimmpd256_maskz ((__v4df) __A,
-						       (__v4df) __B,
-						       (__v4di) __C,
-						       __imm,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fixupimm_ps (__m256 __A, __m256 __B, __m256i __C,
-		    const int __imm)
-{
-  return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
-						     (__v8sf) __B,
-						     (__v8si) __C,
-						     __imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_fixupimm_ps (__m256 __A, __mmask8 __U, __m256 __B,
-			 __m256i __C, const int __imm)
-{
-  return (__m256) __builtin_ia32_fixupimmps256_mask ((__v8sf) __A,
-						     (__v8sf) __B,
-						     (__v8si) __C,
-						     __imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_fixupimm_ps (__mmask8 __U, __m256 __A, __m256 __B,
-			  __m256i __C, const int __imm)
-{
-  return (__m256) __builtin_ia32_fixupimmps256_maskz ((__v8sf) __A,
-						      (__v8sf) __B,
-						      (__v8si) __C,
-						      __imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_pd (__m128d __A, __m128d __B, __m128i __C,
-		 const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
-						      (__v2df) __B,
-						      (__v2di) __C,
-						      __imm,
-						      (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_pd (__m128d __A, __mmask8 __U, __m128d __B,
-		      __m128i __C, const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmpd128_mask ((__v2df) __A,
-						      (__v2df) __B,
-						      (__v2di) __C,
-						      __imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_pd (__mmask8 __U, __m128d __A, __m128d __B,
-		       __m128i __C, const int __imm)
-{
-  return (__m128d) __builtin_ia32_fixupimmpd128_maskz ((__v2df) __A,
-						       (__v2df) __B,
-						       (__v2di) __C,
-						       __imm,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fixupimm_ps (__m128 __A, __m128 __B, __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
-						     (__v4sf) __B,
-						     (__v4si) __C,
-						     __imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_fixupimm_ps (__m128 __A, __mmask8 __U, __m128 __B,
-		      __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmps128_mask ((__v4sf) __A,
-						     (__v4sf) __B,
-						     (__v4si) __C,
-						     __imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_fixupimm_ps (__mmask8 __U, __m128 __A, __m128 __B,
-		       __m128i __C, const int __imm)
-{
-  return (__m128) __builtin_ia32_fixupimmps128_maskz ((__v4sf) __A,
-						      (__v4sf) __B,
-						      (__v4si) __C,
-						      __imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srli_epi32 (__mmask8 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrldi256_mask ((__v8si) __A, __imm,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srli_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srli_epi32 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrldi128_mask ((__v4si) __A, __imm,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srli_epi64 (__mmask8 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psrlqi256_mask ((__v4di) __A, __imm,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srli_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srli_epi64 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psrlqi128_mask ((__v2di) __A, __imm,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_ternarylogic_epi64 (__m256i __A, __m256i __B, __m256i __C,
-			   const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
-						     (__v4di) __B,
-						     (__v4di) __C, imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_ternarylogic_epi64 (__m256i __A, __mmask8 __U,
-				__m256i __B, __m256i __C,
-				const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogq256_mask ((__v4di) __A,
-						     (__v4di) __B,
-						     (__v4di) __C, imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_ternarylogic_epi64 (__mmask8 __U, __m256i __A,
-				 __m256i __B, __m256i __C,
-				 const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di) __A,
-						      (__v4di) __B,
-						      (__v4di) __C,
-						      imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_ternarylogic_epi32 (__m256i __A, __m256i __B, __m256i __C,
-			   const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si) __C, imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_ternarylogic_epi32 (__m256i __A, __mmask8 __U,
-				__m256i __B, __m256i __C,
-				const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogd256_mask ((__v8si) __A,
-						     (__v8si) __B,
-						     (__v8si) __C, imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_ternarylogic_epi32 (__mmask8 __U, __m256i __A,
-				 __m256i __B, __m256i __C,
-				 const int imm)
-{
-  return (__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si) __A,
-						      (__v8si) __B,
-						      (__v8si) __C,
-						      imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
-			const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
-						     (__v2di) __B,
-						     (__v2di) __C, imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_ternarylogic_epi64 (__m128i __A, __mmask8 __U,
-			     __m128i __B, __m128i __C, const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogq128_mask ((__v2di) __A,
-						     (__v2di) __B,
-						     (__v2di) __C, imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_ternarylogic_epi64 (__mmask8 __U, __m128i __A,
-			      __m128i __B, __m128i __C, const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di) __A,
-						      (__v2di) __B,
-						      (__v2di) __C,
-						      imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ternarylogic_epi32 (__m128i __A, __m128i __B, __m128i __C,
-			const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si) __C, imm,
-						     (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_ternarylogic_epi32 (__m128i __A, __mmask8 __U,
-			     __m128i __B, __m128i __C, const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogd128_mask ((__v4si) __A,
-						     (__v4si) __B,
-						     (__v4si) __C, imm,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_ternarylogic_epi32 (__mmask8 __U, __m128i __A,
-			      __m128i __B, __m128i __C, const int imm)
-{
-  return (__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si) __A,
-						      (__v4si) __B,
-						      (__v4si) __C,
-						      imm,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_roundscale_ps (__m256 __A, const int __imm)
-{
-  return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
-						      __imm,
-						      (__v8sf)
-						      _mm256_setzero_ps (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_roundscale_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			   const int __imm)
-{
-  return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
-						      __imm,
-						      (__v8sf) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_roundscale_ps (__mmask8 __U, __m256 __A, const int __imm)
-{
-  return (__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf) __A,
-						      __imm,
-						      (__v8sf)
-						      _mm256_setzero_ps (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_roundscale_pd (__m256d __A, const int __imm)
-{
-  return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
-						       __imm,
-						       (__v4df)
-						       _mm256_setzero_pd (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_roundscale_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			   const int __imm)
-{
-  return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
-						       __imm,
-						       (__v4df) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_roundscale_pd (__mmask8 __U, __m256d __A, const int __imm)
-{
-  return (__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df) __A,
-						       __imm,
-						       (__v4df)
-						       _mm256_setzero_pd (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_ps (__m128 __A, const int __imm)
-{
-  return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
-						      __imm,
-						      (__v4sf)
-						      _mm_setzero_ps (),
-						      (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_roundscale_ps (__m128 __W, __mmask8 __U, __m128 __A,
-			const int __imm)
-{
-  return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
-						      __imm,
-						      (__v4sf) __W,
-						      (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_roundscale_ps (__mmask8 __U, __m128 __A, const int __imm)
-{
-  return (__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf) __A,
-						      __imm,
-						      (__v4sf)
-						      _mm_setzero_ps (),
-						      (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roundscale_pd (__m128d __A, const int __imm)
-{
-  return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
-						       __imm,
-						       (__v2df)
-						       _mm_setzero_pd (),
-						       (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_roundscale_pd (__m128d __W, __mmask8 __U, __m128d __A,
-			const int __imm)
-{
-  return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
-						       __imm,
-						       (__v2df) __W,
-						       (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_roundscale_pd (__mmask8 __U, __m128d __A, const int __imm)
-{
-  return (__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df) __A,
-						       __imm,
-						       (__v2df)
-						       _mm_setzero_pd (),
-						       (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_getmant_ps (__m256 __A, _MM_MANTISSA_NORM_ENUM __B,
-		   _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
-						    (__C << 2) | __B,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_getmant_ps (__m256 __W, __mmask8 __U, __m256 __A,
-			_MM_MANTISSA_NORM_ENUM __B,
-			_MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
-						    (__C << 2) | __B,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_getmant_ps (__mmask8 __U, __m256 __A,
-			 _MM_MANTISSA_NORM_ENUM __B,
-			 _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256) __builtin_ia32_getmantps256_mask ((__v8sf) __A,
-						    (__C << 2) | __B,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_ps (__m128 __A, _MM_MANTISSA_NORM_ENUM __B,
-		_MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
-						    (__C << 2) | __B,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) -1);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_getmant_ps (__m128 __W, __mmask8 __U, __m128 __A,
-		     _MM_MANTISSA_NORM_ENUM __B,
-		     _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
-						    (__C << 2) | __B,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_getmant_ps (__mmask8 __U, __m128 __A,
-		      _MM_MANTISSA_NORM_ENUM __B,
-		      _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128) __builtin_ia32_getmantps128_mask ((__v4sf) __A,
-						    (__C << 2) | __B,
-						    (__v4sf)
-						    _mm_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_getmant_pd (__m256d __A, _MM_MANTISSA_NORM_ENUM __B,
-		   _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
-						     (__C << 2) | __B,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_getmant_pd (__m256d __W, __mmask8 __U, __m256d __A,
-			_MM_MANTISSA_NORM_ENUM __B,
-			_MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
-						     (__C << 2) | __B,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_getmant_pd (__mmask8 __U, __m256d __A,
-			 _MM_MANTISSA_NORM_ENUM __B,
-			 _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m256d) __builtin_ia32_getmantpd256_mask ((__v4df) __A,
-						     (__C << 2) | __B,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getmant_pd (__m128d __A, _MM_MANTISSA_NORM_ENUM __B,
-		_MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
-						     (__C << 2) | __B,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) -1);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_getmant_pd (__m128d __W, __mmask8 __U, __m128d __A,
-		     _MM_MANTISSA_NORM_ENUM __B,
-		     _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
-						     (__C << 2) | __B,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_getmant_pd (__mmask8 __U, __m128d __A,
-		      _MM_MANTISSA_NORM_ENUM __B,
-		      _MM_MANTISSA_SIGN_ENUM __C)
-{
-  return (__m128d) __builtin_ia32_getmantpd128_mask ((__v2df) __A,
-						     (__C << 2) | __B,
-						     (__v2df)
-						     _mm_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i32gather_ps (__m256 __v1_old, __mmask8 __mask,
-			   __m256i __index, float const *__addr,
-			   int __scale)
-{
-  return (__m256) __builtin_ia32_gather3siv8sf ((__v8sf) __v1_old,
-						__addr,
-						(__v8si) __index,
-						__mask, __scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i32gather_ps (__m128 __v1_old, __mmask8 __mask,
-			__m128i __index, float const *__addr,
-			int __scale)
-{
-  return (__m128) __builtin_ia32_gather3siv4sf ((__v4sf) __v1_old,
-						__addr,
-						(__v4si) __index,
-						__mask, __scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i32gather_pd (__m256d __v1_old, __mmask8 __mask,
-			   __m128i __index, double const *__addr,
-			   int __scale)
-{
-  return (__m256d) __builtin_ia32_gather3siv4df ((__v4df) __v1_old,
-						 __addr,
-						 (__v4si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i32gather_pd (__m128d __v1_old, __mmask8 __mask,
-			__m128i __index, double const *__addr,
-			int __scale)
-{
-  return (__m128d) __builtin_ia32_gather3siv2df ((__v2df) __v1_old,
-						 __addr,
-						 (__v4si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
-			   __m256i __index, float const *__addr,
-			   int __scale)
-{
-  return (__m128) __builtin_ia32_gather3div8sf ((__v4sf) __v1_old,
-						__addr,
-						(__v4di) __index,
-						__mask, __scale);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i64gather_ps (__m128 __v1_old, __mmask8 __mask,
-			__m128i __index, float const *__addr,
-			int __scale)
-{
-  return (__m128) __builtin_ia32_gather3div4sf ((__v4sf) __v1_old,
-						__addr,
-						(__v2di) __index,
-						__mask, __scale);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i64gather_pd (__m256d __v1_old, __mmask8 __mask,
-			   __m256i __index, double const *__addr,
-			   int __scale)
-{
-  return (__m256d) __builtin_ia32_gather3div4df ((__v4df) __v1_old,
-						 __addr,
-						 (__v4di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i64gather_pd (__m128d __v1_old, __mmask8 __mask,
-			__m128i __index, double const *__addr,
-			int __scale)
-{
-  return (__m128d) __builtin_ia32_gather3div2df ((__v2df) __v1_old,
-						 __addr,
-						 (__v2di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i32gather_epi32 (__m256i __v1_old, __mmask8 __mask,
-			      __m256i __index, int const *__addr,
-			      int __scale)
-{
-  return (__m256i) __builtin_ia32_gather3siv8si ((__v8si) __v1_old,
-						 __addr,
-						 (__v8si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i32gather_epi32 (__m128i __v1_old, __mmask8 __mask,
-			   __m128i __index, int const *__addr,
-			   int __scale)
-{
-  return (__m128i) __builtin_ia32_gather3siv4si ((__v4si) __v1_old,
-						 __addr,
-						 (__v4si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i32gather_epi64 (__m256i __v1_old, __mmask8 __mask,
-			      __m128i __index, long long const *__addr,
-			      int __scale)
-{
-  return (__m256i) __builtin_ia32_gather3siv4di ((__v4di) __v1_old,
-						 __addr,
-						 (__v4si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i32gather_epi64 (__m128i __v1_old, __mmask8 __mask,
-			   __m128i __index, long long const *__addr,
-			   int __scale)
-{
-  return (__m128i) __builtin_ia32_gather3siv2di ((__v2di) __v1_old,
-						 __addr,
-						 (__v4si) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
-			      __m256i __index, int const *__addr,
-			      int __scale)
-{
-  return (__m128i) __builtin_ia32_gather3div8si ((__v4si) __v1_old,
-						 __addr,
-						 (__v4di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i64gather_epi32 (__m128i __v1_old, __mmask8 __mask,
-			   __m128i __index, int const *__addr,
-			   int __scale)
-{
-  return (__m128i) __builtin_ia32_gather3div4si ((__v4si) __v1_old,
-						 __addr,
-						 (__v2di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mmask_i64gather_epi64 (__m256i __v1_old, __mmask8 __mask,
-			      __m256i __index, long long const *__addr,
-			      int __scale)
-{
-  return (__m256i) __builtin_ia32_gather3div4di ((__v4di) __v1_old,
-						 __addr,
-						 (__v4di) __index,
-						 __mask, __scale);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mmask_i64gather_epi64 (__m128i __v1_old, __mmask8 __mask,
-			   __m128i __index, long long const *__addr,
-			   int __scale)
-{
-  return (__m128i) __builtin_ia32_gather3div2di ((__v2di) __v1_old,
-						 __addr,
-						 (__v2di) __index,
-						 __mask, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32scatter_ps (float *__addr, __m256i __index,
-		      __m256 __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv8sf (__addr, (__mmask8) 0xFF,
-				(__v8si) __index, (__v8sf) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32scatter_ps (float *__addr, __mmask8 __mask,
-			   __m256i __index, __m256 __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scattersiv8sf (__addr, __mask, (__v8si) __index,
-				(__v8sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32scatter_ps (float *__addr, __m128i __index, __m128 __v1,
-		   const int __scale)
-{
-  __builtin_ia32_scattersiv4sf (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v4sf) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32scatter_ps (float *__addr, __mmask8 __mask,
-			__m128i __index, __m128 __v1,
-			const int __scale)
-{
-  __builtin_ia32_scattersiv4sf (__addr, __mask, (__v4si) __index,
-				(__v4sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32scatter_pd (double *__addr, __m128i __index,
-		      __m256d __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv4df (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v4df) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32scatter_pd (double *__addr, __mmask8 __mask,
-			   __m128i __index, __m256d __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scattersiv4df (__addr, __mask, (__v4si) __index,
-				(__v4df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32scatter_pd (double *__addr, __m128i __index,
-		   __m128d __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv2df (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v2df) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32scatter_pd (double *__addr, __mmask8 __mask,
-			__m128i __index, __m128d __v1,
-			const int __scale)
-{
-  __builtin_ia32_scattersiv2df (__addr, __mask, (__v4si) __index,
-				(__v2df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64scatter_ps (float *__addr, __m256i __index,
-		      __m128 __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv8sf (__addr, (__mmask8) 0xFF,
-				(__v4di) __index, (__v4sf) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64scatter_ps (float *__addr, __mmask8 __mask,
-			   __m256i __index, __m128 __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scatterdiv8sf (__addr, __mask, (__v4di) __index,
-				(__v4sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64scatter_ps (float *__addr, __m128i __index, __m128 __v1,
-		   const int __scale)
-{
-  __builtin_ia32_scatterdiv4sf (__addr, (__mmask8) 0xFF,
-				(__v2di) __index, (__v4sf) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64scatter_ps (float *__addr, __mmask8 __mask,
-			__m128i __index, __m128 __v1,
-			const int __scale)
-{
-  __builtin_ia32_scatterdiv4sf (__addr, __mask, (__v2di) __index,
-				(__v4sf) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64scatter_pd (double *__addr, __m256i __index,
-		      __m256d __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv4df (__addr, (__mmask8) 0xFF,
-				(__v4di) __index, (__v4df) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64scatter_pd (double *__addr, __mmask8 __mask,
-			   __m256i __index, __m256d __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scatterdiv4df (__addr, __mask, (__v4di) __index,
-				(__v4df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64scatter_pd (double *__addr, __m128i __index,
-		   __m128d __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv2df (__addr, (__mmask8) 0xFF,
-				(__v2di) __index, (__v2df) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64scatter_pd (double *__addr, __mmask8 __mask,
-			__m128i __index, __m128d __v1,
-			const int __scale)
-{
-  __builtin_ia32_scatterdiv2df (__addr, __mask, (__v2di) __index,
-				(__v2df) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32scatter_epi32 (int *__addr, __m256i __index,
-			 __m256i __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv8si (__addr, (__mmask8) 0xFF,
-				(__v8si) __index, (__v8si) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32scatter_epi32 (int *__addr, __mmask8 __mask,
-			      __m256i __index, __m256i __v1,
-			      const int __scale)
-{
-  __builtin_ia32_scattersiv8si (__addr, __mask, (__v8si) __index,
-				(__v8si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32scatter_epi32 (int *__addr, __m128i __index,
-		      __m128i __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv4si (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v4si) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32scatter_epi32 (int *__addr, __mmask8 __mask,
-			   __m128i __index, __m128i __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scattersiv4si (__addr, __mask, (__v4si) __index,
-				(__v4si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i32scatter_epi64 (long long *__addr, __m128i __index,
-			 __m256i __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv4di (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v4di) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask,
-			      __m128i __index, __m256i __v1,
-			      const int __scale)
-{
-  __builtin_ia32_scattersiv4di (__addr, __mask, (__v4si) __index,
-				(__v4di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i32scatter_epi64 (long long *__addr, __m128i __index,
-		      __m128i __v1, const int __scale)
-{
-  __builtin_ia32_scattersiv2di (__addr, (__mmask8) 0xFF,
-				(__v4si) __index, (__v2di) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i32scatter_epi64 (long long *__addr, __mmask8 __mask,
-			   __m128i __index, __m128i __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scattersiv2di (__addr, __mask, (__v4si) __index,
-				(__v2di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64scatter_epi32 (int *__addr, __m256i __index,
-			 __m128i __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv8si (__addr, (__mmask8) 0xFF,
-				(__v4di) __index, (__v4si) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask,
-			      __m256i __index, __m128i __v1,
-			      const int __scale)
-{
-  __builtin_ia32_scatterdiv8si (__addr, __mask, (__v4di) __index,
-				(__v4si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64scatter_epi32 (int *__addr, __m128i __index,
-		      __m128i __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv4si (__addr, (__mmask8) 0xFF,
-				(__v2di) __index, (__v4si) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64scatter_epi32 (int *__addr, __mmask8 __mask,
-			   __m128i __index, __m128i __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scatterdiv4si (__addr, __mask, (__v2di) __index,
-				(__v4si) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_i64scatter_epi64 (long long *__addr, __m256i __index,
-			 __m256i __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv4di (__addr, (__mmask8) 0xFF,
-				(__v4di) __index, (__v4di) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
-			      __m256i __index, __m256i __v1,
-			      const int __scale)
-{
-  __builtin_ia32_scatterdiv4di (__addr, __mask, (__v4di) __index,
-				(__v4di) __v1, __scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_i64scatter_epi64 (long long *__addr, __m128i __index,
-		      __m128i __v1, const int __scale)
-{
-  __builtin_ia32_scatterdiv2di (__addr, (__mmask8) 0xFF,
-				(__v2di) __index, (__v2di) __v1,
-				__scale);
-}
-
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_i64scatter_epi64 (long long *__addr, __mmask8 __mask,
-			   __m128i __index, __m128i __v1,
-			   const int __scale)
-{
-  __builtin_ia32_scatterdiv2di (__addr, __mask, (__v2di) __index,
-				(__v2di) __v1, __scale);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_shuffle_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			   _MM_PERM_ENUM __mask)
-{
-  return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_shuffle_epi32 (__mmask8 __U, __m256i __A,
-			    _MM_PERM_ENUM __mask)
-{
-  return (__m256i) __builtin_ia32_pshufd256_mask ((__v8si) __A, __mask,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_shuffle_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-			_MM_PERM_ENUM __mask)
-{
-  return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_shuffle_epi32 (__mmask8 __U, __m128i __A,
-			 _MM_PERM_ENUM __mask)
-{
-  return (__m128i) __builtin_ia32_pshufd128_mask ((__v4si) __A, __mask,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rol_epi32 (__m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rol_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       const int __B)
-{
-  return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rol_epi32 (__mmask8 __U, __m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prold256_mask ((__v8si) __A, __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rol_epi32 (__m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rol_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    const int __B)
-{
-  return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rol_epi32 (__mmask8 __U, __m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prold128_mask ((__v4si) __A, __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_ror_epi32 (__m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_ror_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-		       const int __B)
-{
-  return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
-						 (__v8si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_ror_epi32 (__mmask8 __U, __m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prord256_mask ((__v8si) __A, __B,
-						 (__v8si)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ror_epi32 (__m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_ror_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		    const int __B)
-{
-  return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
-						 (__v4si) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_ror_epi32 (__mmask8 __U, __m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prord128_mask ((__v4si) __A, __B,
-						 (__v4si)
-						 _mm_setzero_si128 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rol_epi64 (__m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_rol_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       const int __B)
-{
-  return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_rol_epi64 (__mmask8 __U, __m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prolq256_mask ((__v4di) __A, __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rol_epi64 (__m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_rol_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    const int __B)
-{
-  return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_rol_epi64 (__mmask8 __U, __m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prolq128_mask ((__v2di) __A, __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_ror_epi64 (__m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_ror_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-		       const int __B)
-{
-  return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
-						 (__v4di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_ror_epi64 (__mmask8 __U, __m256i __A, const int __B)
-{
-  return (__m256i) __builtin_ia32_prorq256_mask ((__v4di) __A, __B,
-						 (__v4di)
-						 _mm256_setzero_si256 (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ror_epi64 (__m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_ror_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		    const int __B)
-{
-  return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
-						 (__v2di) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_ror_epi64 (__mmask8 __U, __m128i __A, const int __B)
-{
-  return (__m128i) __builtin_ia32_prorq128_mask ((__v2di) __A, __B,
-						 (__v2di)
-						 _mm_setzero_di (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_alignr_epi32 (__m128i __A, __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
-						  (__v4si) __B, __imm,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_alignr_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		       __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
-						  (__v4si) __B, __imm,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_alignr_epi32 (__mmask8 __U, __m128i __A, __m128i __B,
-			const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignd128_mask ((__v4si) __A,
-						  (__v4si) __B, __imm,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_alignr_epi64 (__m128i __A, __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
-						  (__v2di) __B, __imm,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_alignr_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		       __m128i __B, const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
-						  (__v2di) __B, __imm,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_alignr_epi64 (__mmask8 __U, __m128i __A, __m128i __B,
-			const int __imm)
-{
-  return (__m128i) __builtin_ia32_alignq128_mask ((__v2di) __A,
-						  (__v2di) __B, __imm,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_alignr_epi32 (__m256i __A, __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
-						  (__v8si) __B, __imm,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_alignr_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			  __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
-						  (__v8si) __B, __imm,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_alignr_epi32 (__mmask8 __U, __m256i __A, __m256i __B,
-			   const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignd256_mask ((__v8si) __A,
-						  (__v8si) __B, __imm,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_alignr_epi64 (__m256i __A, __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
-						  (__v4di) __B, __imm,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_alignr_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			  __m256i __B, const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
-						  (__v4di) __B, __imm,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_alignr_epi64 (__mmask8 __U, __m256i __A, __m256i __B,
-			   const int __imm)
-{
-  return (__m256i) __builtin_ia32_alignq256_mask ((__v4di) __A,
-						  (__v4di) __B, __imm,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m128 __A,
-		   const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
-						  (__v8hi) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_cvtps_ph (__mmask8 __U, __m128 __A, const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf) __A, __I,
-						  (__v8hi)
-						  _mm_setzero_hi (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtps_ph (__m128i __W, __mmask8 __U, __m256 __A,
-		      const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
-						     (__v8hi) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_cvtps_ph (__mmask8 __U, __m256 __A, const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf) __A, __I,
-						     (__v8hi)
-						     _mm_setzero_hi (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srai_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srai_epi32 (__mmask8 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psradi256_mask ((__v8si) __A, __imm,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srai_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srai_epi32 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psradi128_mask ((__v4si) __A, __imm,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_srai_epi64 (__m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_srai_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			const int __imm)
-{
-  return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_srai_epi64 (__mmask8 __U, __m256i __A, const int __imm)
-{
-  return (__m256i) __builtin_ia32_psraqi256_mask ((__v4di) __A, __imm,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srai_epi64 (__m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) -1);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_srai_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
-		     const int __imm)
-{
-  return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_srai_epi64 (__mmask8 __U, __m128i __A, const int __imm)
-{
-  return (__m128i) __builtin_ia32_psraqi128_mask ((__v2di) __A, __imm,
-						  (__v2di)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_slli_epi32 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
-						  (__v4si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_slli_epi32 (__mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_pslldi128_mask ((__v4si) __A, __B,
-						  (__v4si)
-						  _mm_setzero_si128 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_slli_epi64 (__m128i __W, __mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
-						  (__v2di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_slli_epi64 (__mmask8 __U, __m128i __A, int __B)
-{
-  return (__m128i) __builtin_ia32_psllqi128_mask ((__v2di) __A, __B,
-						  (__v2di)
-						  _mm_setzero_di (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_slli_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
-			int __B)
-{
-  return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
-						  (__v8si) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_slli_epi32 (__mmask8 __U, __m256i __A, int __B)
-{
-  return (__m256i) __builtin_ia32_pslldi256_mask ((__v8si) __A, __B,
-						  (__v8si)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_slli_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
-			int __B)
-{
-  return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
-						  (__v4di) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_slli_epi64 (__mmask8 __U, __m256i __A, int __B)
-{
-  return (__m256i) __builtin_ia32_psllqi256_mask ((__v4di) __A, __B,
-						  (__v4di)
-						  _mm256_setzero_si256 (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permutex_pd (__m256d __W, __mmask8 __U, __m256d __X,
-			 const int __imm)
-{
-  return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
-						  (__v4df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permutex_pd (__mmask8 __U, __m256d __X, const int __imm)
-{
-  return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __imm,
-						  (__v4df)
-						  _mm256_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permute_pd (__m256d __W, __mmask8 __U, __m256d __X,
-			const int __C)
-{
-  return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permute_pd (__mmask8 __U, __m256d __X, const int __C)
-{
-  return (__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df) __X, __C,
-						     (__v4df)
-						     _mm256_setzero_pd (),
-						     (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permute_pd (__m128d __W, __mmask8 __U, __m128d __X,
-		     const int __C)
-{
-  return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
-						  (__v2df) __W,
-						  (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permute_pd (__mmask8 __U, __m128d __X, const int __C)
-{
-  return (__m128d) __builtin_ia32_vpermilpd_mask ((__v2df) __X, __C,
-						  (__v2df)
-						  _mm_setzero_pd (),
-						  (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_permute_ps (__m256 __W, __mmask8 __U, __m256 __X,
-			const int __C)
-{
-  return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskz_permute_ps (__mmask8 __U, __m256 __X, const int __C)
-{
-  return (__m256) __builtin_ia32_vpermilps256_mask ((__v8sf) __X, __C,
-						    (__v8sf)
-						    _mm256_setzero_ps (),
-						    (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_permute_ps (__m128 __W, __mmask8 __U, __m128 __X,
-		     const int __C)
-{
-  return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
-						 (__v4sf) __W,
-						 (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskz_permute_ps (__mmask8 __U, __m128 __X, const int __C)
-{
-  return (__m128) __builtin_ia32_vpermilps_mask ((__v4sf) __X, __C,
-						 (__v4sf)
-						 _mm_setzero_ps (),
-						 (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W)
-{
-  return (__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) __A,
-						     (__v4df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m256
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W)
-{
-  return (__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) __A,
-						    (__v8sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W)
-{
-  return (__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) __A,
-						    (__v4di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m256i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W)
-{
-  return (__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) __A,
-						    (__v8si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W)
-{
-  return (__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) __A,
-						     (__v2df) __W,
-						     (__mmask8) __U);
-}
-
-extern __inline __m128
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W)
-{
-  return (__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) __A,
-						    (__v4sf) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W)
-{
-  return (__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) __A,
-						    (__v2di) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W)
-{
-  return (__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) __A,
-						    (__v4si) __W,
-						    (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epi64_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epi32_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epu64_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_epu32_mask (__m256i __X, __m256i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_pd_mask (__m256d __X, __m256d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
-						  (__v4df) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_ps_mask (__m256 __X, __m256 __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
-						  (__v8sf) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epi64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epi32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epu64_mask (__mmask8 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epu32_mask (__mmask8 __U, __m256i __X, __m256i __Y,
-			    const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_pd_mask (__mmask8 __U, __m256d __X, __m256d __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd256_mask ((__v4df) __X,
-						  (__v4df) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_ps_mask (__mmask8 __U, __m256 __X, __m256 __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf) __X,
-						  (__v8sf) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epi64_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epi32_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, __P,
-						 (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epu64_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_epu32_mask (__m128i __X, __m128i __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_pd_mask (__m128d __X, __m128d __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
-						  (__v2df) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_ps_mask (__m128 __X, __m128 __Y, const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
-						  (__v4sf) __Y, __P,
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epi64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epi32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, __P,
-						 (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epu64_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epu32_mask (__mmask8 __U, __m128i __X, __m128i __Y,
-			 const int __P)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_pd_mask (__mmask8 __U, __m128d __X, __m128d __Y,
-		      const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmppd128_mask ((__v2df) __X,
-						  (__v2df) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __mmask8
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_ps_mask (__mmask8 __U, __m128 __X, __m128 __Y,
-		      const int __P)
-{
-  return (__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf) __X,
-						  (__v4sf) __Y, __P,
-						  (__mmask8) __U);
-}
-
-extern __inline __m256d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutex_pd (__m256d __X, const int __M)
-{
-  return (__m256d) __builtin_ia32_permdf256_mask ((__v4df) __X, __M,
-						  (__v4df)
-						  _mm256_undefined_pd (),
-						  (__mmask8) -1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 4,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 1,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 5,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
-						  (__v8si) __Y, 2,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 4,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 1,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 5,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
-						  (__v4di) __Y, 2,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 4,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 1,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 5,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
-						 (__v8si) __Y, 2,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 4,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 1,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 5,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
-						 (__v4di) __Y, 2,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 4,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 1,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 5,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
-						  (__v4si) __Y, 2,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 4,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 4,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 1,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 1,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 5,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 5,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 2,
-						  (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
-						  (__v2di) __Y, 2,
-						  (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 4,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 1,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 5,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
-						 (__v4si) __Y, 2,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 4,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 4,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 1,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 1,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 5,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 5,
-						 (__mmask8) - 1);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 2,
-						 (__mmask8) __M);
-}
-
-extern __inline __mmask8
-  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
-{
-  return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
-						 (__v2di) __Y, 2,
-						 (__mmask8) - 1);
-}
-
-#else
-#define _mm256_permutex_pd(X, M)						\
-  ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M),	\
-					    (__v4df)(__m256d)_mm256_undefined_pd(),\
-					    (__mmask8)-1))
-
-#define _mm256_maskz_permutex_epi64(M, X, I)                    \
-  ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X),    \
-					    (int)(I),                \
-					    (__v4di)(__m256i)        \
-					    (_mm256_setzero_si256()),\
-					    (__mmask8)(M)))
-
-#define _mm256_mask_permutex_epi64(W, M, X, I)               \
-  ((__m256i) __builtin_ia32_permdi256_mask ((__v4di)(__m256i)(X), \
-					    (int)(I),             \
-					    (__v4di)(__m256i)(W), \
-					    (__mmask8)(M)))
-
-#define _mm256_insertf32x4(X, Y, C)                                     \
-  ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X),  \
-    (__v4sf)(__m128) (Y), (int) (C),					\
-    (__v8sf)(__m256)_mm256_setzero_ps(),				\
-    (__mmask8)-1))
-
-#define _mm256_mask_insertf32x4(W, U, X, Y, C)                          \
-  ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X),  \
-    (__v4sf)(__m128) (Y), (int) (C),					\
-    (__v8sf)(__m256)(W),						\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_insertf32x4(U, X, Y, C)                            \
-  ((__m256) __builtin_ia32_insertf32x4_256_mask ((__v8sf)(__m256) (X),	\
-    (__v4sf)(__m128) (Y), (int) (C),					\
-    (__v8sf)(__m256)_mm256_setzero_ps(),				\
-    (__mmask8)(U)))
-
-#define _mm256_inserti32x4(X, Y, C)                                     \
-  ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (__v4si)(__m128i) (Y), (int) (C),					\
-    (__v8si)(__m256i)_mm256_setzero_si256(),				\
-    (__mmask8)-1))
-
-#define _mm256_mask_inserti32x4(W, U, X, Y, C)                          \
-  ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (__v4si)(__m128i) (Y), (int) (C),					\
-    (__v8si)(__m256i)(W),						\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_inserti32x4(U, X, Y, C)                            \
-  ((__m256i) __builtin_ia32_inserti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (__v4si)(__m128i) (Y), (int) (C),					\
-    (__v8si)(__m256i)_mm256_setzero_si256(),				\
-    (__mmask8)(U)))
-
-#define _mm256_extractf32x4_ps(X, C)                                    \
-  ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
-    (int) (C),								\
-    (__v4sf)(__m128)_mm_setzero_ps(),					\
-    (__mmask8)-1))
-
-#define _mm256_mask_extractf32x4_ps(W, U, X, C)                         \
-  ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
-    (int) (C),								\
-    (__v4sf)(__m128)(W),						\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_extractf32x4_ps(U, X, C)                           \
-  ((__m128) __builtin_ia32_extractf32x4_256_mask ((__v8sf)(__m256) (X), \
-    (int) (C),								\
-    (__v4sf)(__m128)_mm_setzero_ps(),					\
-    (__mmask8)(U)))
-
-#define _mm256_extracti32x4_epi32(X, C)                                 \
-  ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)-1))
-
-#define _mm256_mask_extracti32x4_epi32(W, U, X, C)                      \
-  ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (int) (C), (__v4si)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_extracti32x4_epi32(U, X, C)                        \
-  ((__m128i) __builtin_ia32_extracti32x4_256_mask ((__v8si)(__m256i) (X),\
-    (int) (C), (__v4si)(__m128i)_mm_setzero_si128 (), (__mmask8)(U)))
-
-#define _mm256_shuffle_i64x2(X, Y, C)                                                   \
-  ((__m256i)  __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X),                 \
-                                                  (__v4di)(__m256i)(Y), (int)(C),       \
-                                                  (__v4di)(__m256i)_mm256_setzero_si256 (), \
-                                                  (__mmask8)-1))
-
-#define _mm256_mask_shuffle_i64x2(W, U, X, Y, C)                                        \
-  ((__m256i)  __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X),                 \
-                                                  (__v4di)(__m256i)(Y), (int)(C),       \
-                                                  (__v4di)(__m256i)(W),\
-                                                  (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_i64x2(U, X, Y, C)                                          \
-  ((__m256i)  __builtin_ia32_shuf_i64x2_256_mask ((__v4di)(__m256i)(X),                 \
-                                                  (__v4di)(__m256i)(Y), (int)(C),       \
-                                                  (__v4di)(__m256i)_mm256_setzero_si256 (), \
-                                                  (__mmask8)(U)))
-
-#define _mm256_shuffle_i32x4(X, Y, C)                                                   \
-  ((__m256i)  __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X),                 \
-                                                  (__v8si)(__m256i)(Y), (int)(C),       \
-                                                  (__v8si)(__m256i)_mm256_setzero_si256(), \
-                                                  (__mmask8)-1))
-
-#define _mm256_mask_shuffle_i32x4(W, U, X, Y, C)                                        \
-  ((__m256i)  __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X),                 \
-                                                  (__v8si)(__m256i)(Y), (int)(C),       \
-                                                  (__v8si)(__m256i)(W),                 \
-                                                  (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_i32x4(U, X, Y, C)                                          \
-  ((__m256i)  __builtin_ia32_shuf_i32x4_256_mask ((__v8si)(__m256i)(X),                 \
-                                                  (__v8si)(__m256i)(Y), (int)(C),       \
-                                                  (__v8si)(__m256i)_mm256_setzero_si256(), \
-                                                  (__mmask8)(U)))
-
-#define _mm256_shuffle_f64x2(X, Y, C)                                                   \
-  ((__m256d)  __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X),                 \
-                                                  (__v4df)(__m256d)(Y), (int)(C),       \
-                                                  (__v4df)(__m256d)_mm256_setzero_pd(), \
-                                                  (__mmask8)-1))
-
-#define _mm256_mask_shuffle_f64x2(W, U, X, Y, C)                                        \
-  ((__m256d)  __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X),                 \
-                                                  (__v4df)(__m256d)(Y), (int)(C),       \
-                                                  (__v4df)(__m256d)(W),                 \
-                                                  (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_f64x2(U, X, Y, C)                                          \
-  ((__m256d)  __builtin_ia32_shuf_f64x2_256_mask ((__v4df)(__m256d)(X),                 \
-                                                  (__v4df)(__m256d)(Y), (int)(C),       \
-                                                  (__v4df)(__m256d)_mm256_setzero_pd(), \
-                                                  (__mmask8)(U)))
-
-#define _mm256_shuffle_f32x4(X, Y, C)                                                   \
-  ((__m256)  __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X),                   \
-                                                 (__v8sf)(__m256)(Y), (int)(C),         \
-                                                 (__v8sf)(__m256)_mm256_setzero_ps(),   \
-                                                 (__mmask8)-1))
-
-#define _mm256_mask_shuffle_f32x4(W, U, X, Y, C)                                        \
-  ((__m256)  __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X),                   \
-                                                 (__v8sf)(__m256)(Y), (int)(C),         \
-                                                 (__v8sf)(__m256)(W),                   \
-                                                 (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_f32x4(U, X, Y, C)                                          \
-  ((__m256)  __builtin_ia32_shuf_f32x4_256_mask ((__v8sf)(__m256)(X),                   \
-                                                 (__v8sf)(__m256)(Y), (int)(C),         \
-                                                 (__v8sf)(__m256)_mm256_setzero_ps(),   \
-                                                 (__mmask8)(U)))
-
-#define _mm256_mask_shuffle_pd(W, U, A, B, C)                                   \
-  ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A),                \
-                                           (__v4df)(__m256d)(B), (int)(C),      \
-                                           (__v4df)(__m256d)(W),                \
-                                           (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_pd(U, A, B, C)                                     \
-  ((__m256d)__builtin_ia32_shufpd256_mask ((__v4df)(__m256d)(A),                \
-                                           (__v4df)(__m256d)(B), (int)(C),      \
-                                           (__v4df)(__m256d)_mm256_setzero_pd(),\
-                                           (__mmask8)(U)))
-
-#define _mm_mask_shuffle_pd(W, U, A, B, C)                                      \
-  ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A),                \
-                                           (__v2df)(__m128d)(B), (int)(C),      \
-                                           (__v2df)(__m128d)(W),                \
-                                           (__mmask8)(U)))
-
-#define _mm_maskz_shuffle_pd(U, A, B, C)                                        \
-  ((__m128d)__builtin_ia32_shufpd128_mask ((__v2df)(__m128d)(A),                \
-                                           (__v2df)(__m128d)(B), (int)(C),      \
-                                           (__v2df)(__m128d)_mm_setzero_pd(),   \
-                                           (__mmask8)(U)))
-
-#define _mm256_mask_shuffle_ps(W, U, A, B, C)                                   \
-  ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A),                 \
-                                           (__v8sf)(__m256)(B), (int)(C),       \
-                                           (__v8sf)(__m256)(W),                 \
-                                           (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_ps(U, A, B, C)                                     \
-  ((__m256) __builtin_ia32_shufps256_mask ((__v8sf)(__m256)(A),                 \
-                                           (__v8sf)(__m256)(B), (int)(C),       \
-                                           (__v8sf)(__m256)_mm256_setzero_ps(), \
-                                           (__mmask8)(U)))
-
-#define _mm_mask_shuffle_ps(W, U, A, B, C)                                      \
-  ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A),                 \
-                                           (__v4sf)(__m128)(B), (int)(C),       \
-                                           (__v4sf)(__m128)(W),                 \
-                                           (__mmask8)(U)))
-
-#define _mm_maskz_shuffle_ps(U, A, B, C)                                        \
-  ((__m128) __builtin_ia32_shufps128_mask ((__v4sf)(__m128)(A),                 \
-                                           (__v4sf)(__m128)(B), (int)(C),       \
-                                           (__v4sf)(__m128)_mm_setzero_ps(),    \
-                                           (__mmask8)(U)))
-
-#define _mm256_fixupimm_pd(X, Y, Z, C)                                          \
-  ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X),		\
-					       (__v4df)(__m256d)(Y),		\
-					       (__v4di)(__m256i)(Z), (int)(C),	\
-					       (__mmask8)(-1)))
-
-#define _mm256_mask_fixupimm_pd(X, U, Y, Z, C)                                  \
-   ((__m256d)__builtin_ia32_fixupimmpd256_mask ((__v4df)(__m256d)(X),           \
-						(__v4df)(__m256d)(Y),           \
-						(__v4di)(__m256i)(Z), (int)(C), \
-						(__mmask8)(U)))
-
-#define _mm256_maskz_fixupimm_pd(U, X, Y, Z, C)                                 \
-   ((__m256d)__builtin_ia32_fixupimmpd256_maskz ((__v4df)(__m256d)(X),          \
-						 (__v4df)(__m256d)(Y),          \
-						 (__v4di)(__m256i)(Z), (int)(C),\
-						 (__mmask8)(U)))
-
-#define _mm256_fixupimm_ps(X, Y, Z, C)						\
-  ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X),		\
-					      (__v8sf)(__m256)(Y),		\
-					      (__v8si)(__m256i)(Z), (int)(C),	\
-					      (__mmask8)(-1)))
-
-
-#define _mm256_mask_fixupimm_ps(X, U, Y, Z, C)                                  \
-    ((__m256)__builtin_ia32_fixupimmps256_mask ((__v8sf)(__m256)(X),            \
-						(__v8sf)(__m256)(Y),            \
-						(__v8si)(__m256i)(Z), (int)(C), \
-						(__mmask8)(U)))
-
-#define _mm256_maskz_fixupimm_ps(U, X, Y, Z, C)                                 \
-    ((__m256)__builtin_ia32_fixupimmps256_maskz ((__v8sf)(__m256)(X),           \
-						 (__v8sf)(__m256)(Y),           \
-						 (__v8si)(__m256i)(Z), (int)(C),\
-						 (__mmask8)(U)))
-
-#define _mm_fixupimm_pd(X, Y, Z, C)						\
-  ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X),		\
-					       (__v2df)(__m128d)(Y),		\
-					       (__v2di)(__m128i)(Z), (int)(C), 	\
-					       (__mmask8)(-1)))
-
-
-#define _mm_mask_fixupimm_pd(X, U, Y, Z, C)                                       \
-     ((__m128d)__builtin_ia32_fixupimmpd128_mask ((__v2df)(__m128d)(X),           \
-						  (__v2df)(__m128d)(Y),           \
-						  (__v2di)(__m128i)(Z), (int)(C), \
-						  (__mmask8)(U)))
-
-#define _mm_maskz_fixupimm_pd(U, X, Y, Z, C)                                      \
-     ((__m128d)__builtin_ia32_fixupimmpd128_maskz ((__v2df)(__m128d)(X),          \
-						   (__v2df)(__m128d)(Y),          \
-						   (__v2di)(__m128i)(Z), (int)(C),\
-						   (__mmask8)(U)))
-
-#define _mm_fixupimm_ps(X, Y, Z, C)						\
-   ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X),		\
-					       (__v4sf)(__m128)(Y),		\
-					       (__v4si)(__m128i)(Z), (int)(C), 	\
-					       (__mmask8)(-1)))
-
-#define _mm_mask_fixupimm_ps(X, U, Y, Z, C)                                      \
-      ((__m128)__builtin_ia32_fixupimmps128_mask ((__v4sf)(__m128)(X),           \
-						  (__v4sf)(__m128)(Y),           \
-						  (__v4si)(__m128i)(Z), (int)(C),\
-						  (__mmask8)(U)))
-
-#define _mm_maskz_fixupimm_ps(U, X, Y, Z, C)                                      \
-      ((__m128)__builtin_ia32_fixupimmps128_maskz ((__v4sf)(__m128)(X),           \
-						   (__v4sf)(__m128)(Y),           \
-						   (__v4si)(__m128i)(Z), (int)(C),\
-						   (__mmask8)(U)))
-
-#define _mm256_mask_srli_epi32(W, U, A, B)				\
-  ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A),	\
-    (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_srli_epi32(U, A, B)				\
-  ((__m256i) __builtin_ia32_psrldi256_mask ((__v8si)(__m256i)(A),	\
-    (int)(B), (__v8si)_mm256_setzero_si256(), (__mmask8)(U)))
-
-#define _mm_mask_srli_epi32(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A),       \
-    (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srli_epi32(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psrldi128_mask ((__v4si)(__m128i)(A),       \
-    (int)(B), (__v4si)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_mask_srli_epi64(W, U, A, B)				\
-  ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A),	\
-    (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_srli_epi64(U, A, B)				\
-  ((__m256i) __builtin_ia32_psrlqi256_mask ((__v4di)(__m256i)(A),	\
-    (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
-
-#define _mm_mask_srli_epi64(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A),       \
-    (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srli_epi64(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psrlqi128_mask ((__v2di)(__m128i)(A),       \
-    (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_mask_slli_epi32(W, U, X, C)                                \
-  ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
-    (__v8si)(__m256i)(W),\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_slli_epi32(U, X, C)                                  \
-  ((__m256i)__builtin_ia32_pslldi256_mask ((__v8si)(__m256i)(X), (int)(C),\
-    (__v8si)(__m256i)_mm256_setzero_si256(),\
-    (__mmask8)(U)))
-
-#define _mm256_mask_slli_epi64(W, U, X, C)                                \
-  ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
-    (__v4di)(__m256i)(W),\
-    (__mmask8)(U)))
-
-#define _mm256_maskz_slli_epi64(U, X, C)                                  \
-  ((__m256i)__builtin_ia32_psllqi256_mask ((__v4di)(__m256i)(X), (int)(C),\
-    (__v4di)(__m256i)_mm256_setzero_si256 (),\
-    (__mmask8)(U)))
-
-#define _mm_mask_slli_epi32(W, U, X, C)					  \
-  ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
-    (__v4si)(__m128i)(W),\
-    (__mmask8)(U)))
-
-#define _mm_maskz_slli_epi32(U, X, C)					  \
-  ((__m128i)__builtin_ia32_pslldi128_mask ((__v4si)(__m128i)(X), (int)(C),\
-    (__v4si)(__m128i)_mm_setzero_si128 (),\
-    (__mmask8)(U)))
-
-#define _mm_mask_slli_epi64(W, U, X, C)					  \
-  ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
-    (__v2di)(__m128i)(W),\
-    (__mmask8)(U)))
-
-#define _mm_maskz_slli_epi64(U, X, C)					  \
-  ((__m128i)__builtin_ia32_psllqi128_mask ((__v2di)(__m128i)(X), (int)(C),\
-    (__v2di)(__m128i)_mm_setzero_di(),\
-    (__mmask8)(U)))
-
-#define _mm256_ternarylogic_epi64(A, B, C, I)                           \
-  ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A),	\
-    (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)-1))
-
-#define _mm256_mask_ternarylogic_epi64(A, U, B, C, I)			\
-  ((__m256i) __builtin_ia32_pternlogq256_mask ((__v4di)(__m256i)(A),	\
-    (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm256_maskz_ternarylogic_epi64(U, A, B, C, I)			\
-  ((__m256i) __builtin_ia32_pternlogq256_maskz ((__v4di)(__m256i)(A),	\
-    (__v4di)(__m256i)(B), (__v4di)(__m256i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm256_ternarylogic_epi32(A, B, C, I)                           \
-  ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A),	\
-    (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)-1))
-
-#define _mm256_mask_ternarylogic_epi32(A, U, B, C, I)                   \
-  ((__m256i) __builtin_ia32_pternlogd256_mask ((__v8si)(__m256i)(A),	\
-    (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm256_maskz_ternarylogic_epi32(U, A, B, C, I)			\
-  ((__m256i) __builtin_ia32_pternlogd256_maskz ((__v8si)(__m256i)(A),	\
-    (__v8si)(__m256i)(B), (__v8si)(__m256i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm_ternarylogic_epi64(A, B, C, I)                              \
-  ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A),	\
-    (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)-1))
-
-#define _mm_mask_ternarylogic_epi64(A, U, B, C, I)			\
-  ((__m128i) __builtin_ia32_pternlogq128_mask ((__v2di)(__m128i)(A),	\
-    (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm_maskz_ternarylogic_epi64(U, A, B, C, I)			\
-  ((__m128i) __builtin_ia32_pternlogq128_maskz ((__v2di)(__m128i)(A),	\
-    (__v2di)(__m128i)(B), (__v2di)(__m128i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm_ternarylogic_epi32(A, B, C, I)                              \
-  ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A),	\
-    (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)-1))
-
-#define _mm_mask_ternarylogic_epi32(A, U, B, C, I)			\
-  ((__m128i) __builtin_ia32_pternlogd128_mask ((__v4si)(__m128i)(A),	\
-    (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm_maskz_ternarylogic_epi32(U, A, B, C, I)			\
-  ((__m128i) __builtin_ia32_pternlogd128_maskz ((__v4si)(__m128i)(A),	\
-    (__v4si)(__m128i)(B), (__v4si)(__m128i)(C), (int)(I), (__mmask8)(U)))
-
-#define _mm256_roundscale_ps(A, B)				        \
-  ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A),    \
-    (int)(B), (__v8sf)(__m256)_mm256_setzero_ps(), (__mmask8)-1))
-
-#define _mm256_mask_roundscale_ps(W, U, A, B)			        \
-  ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A),    \
-    (int)(B), (__v8sf)(__m256)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_roundscale_ps(U, A, B)			        \
-  ((__m256) __builtin_ia32_rndscaleps_256_mask ((__v8sf)(__m256)(A),    \
-    (int)(B), (__v8sf)(__m256)_mm256_setzero_ps(), (__mmask8)(U)))
-
-#define _mm256_roundscale_pd(A, B)				        \
-  ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A),  \
-    (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)-1))
-
-#define _mm256_mask_roundscale_pd(W, U, A, B)			        \
-  ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A),  \
-    (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_roundscale_pd(U, A, B)			        \
-  ((__m256d) __builtin_ia32_rndscalepd_256_mask ((__v4df)(__m256d)(A),  \
-    (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)(U)))
-
-#define _mm_roundscale_ps(A, B)					        \
-  ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A),    \
-    (int)(B), (__v4sf)(__m128)_mm_setzero_ps(), (__mmask8)-1))
-
-#define _mm_mask_roundscale_ps(W, U, A, B)			        \
-  ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A),    \
-    (int)(B), (__v4sf)(__m128)(W), (__mmask8)(U)))
-
-#define _mm_maskz_roundscale_ps(U, A, B)			        \
-  ((__m128) __builtin_ia32_rndscaleps_128_mask ((__v4sf)(__m128)(A),    \
-    (int)(B), (__v4sf)(__m128)_mm_setzero_ps(), (__mmask8)(U)))
-
-#define _mm_roundscale_pd(A, B)					        \
-  ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A),  \
-    (int)(B), (__v2df)(__m128d)_mm_setzero_pd(), (__mmask8)-1))
-
-#define _mm_mask_roundscale_pd(W, U, A, B)			        \
-  ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A),  \
-    (int)(B), (__v2df)(__m128d)(W), (__mmask8)(U)))
-
-#define _mm_maskz_roundscale_pd(U, A, B)			        \
-  ((__m128d) __builtin_ia32_rndscalepd_128_mask ((__v2df)(__m128d)(A),  \
-    (int)(B), (__v2df)(__m128d)_mm_setzero_pd(), (__mmask8)(U)))
-
-#define _mm256_getmant_ps(X, B, C)                                              \
-  ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v8sf)(__m256)_mm256_setzero_ps(),   \
-                                         (__mmask8)-1))
-
-#define _mm256_mask_getmant_ps(W, U, X, B, C)                                   \
-  ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v8sf)(__m256)(W),                   \
-                                         (__mmask8)(U)))
-
-#define _mm256_maskz_getmant_ps(U, X, B, C)                                     \
-  ((__m256) __builtin_ia32_getmantps256_mask ((__v8sf)(__m256) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v8sf)(__m256)_mm256_setzero_ps(),   \
-                                         (__mmask8)(U)))
-
-#define _mm_getmant_ps(X, B, C)                                                 \
-  ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v4sf)(__m128)_mm_setzero_ps(),      \
-                                         (__mmask8)-1))
-
-#define _mm_mask_getmant_ps(W, U, X, B, C)                                      \
-  ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v4sf)(__m128)(W),                   \
-                                         (__mmask8)(U)))
-
-#define _mm_maskz_getmant_ps(U, X, B, C)                                        \
-  ((__m128) __builtin_ia32_getmantps128_mask ((__v4sf)(__m128) (X),             \
-                                         (int)(((C)<<2) | (B)),                 \
-                                         (__v4sf)(__m128)_mm_setzero_ps(),      \
-                                         (__mmask8)(U)))
-
-#define _mm256_getmant_pd(X, B, C)                                              \
-  ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v4df)(__m256d)_mm256_setzero_pd(), \
-                                          (__mmask8)-1))
-
-#define _mm256_mask_getmant_pd(W, U, X, B, C)                                   \
-  ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v4df)(__m256d)(W),                 \
-                                          (__mmask8)(U)))
-
-#define _mm256_maskz_getmant_pd(U, X, B, C)                                     \
-  ((__m256d) __builtin_ia32_getmantpd256_mask ((__v4df)(__m256d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v4df)(__m256d)_mm256_setzero_pd(), \
-                                          (__mmask8)(U)))
-
-#define _mm_getmant_pd(X, B, C)                                                 \
-  ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v2df)(__m128d)_mm_setzero_pd(),    \
-                                          (__mmask8)-1))
-
-#define _mm_mask_getmant_pd(W, U, X, B, C)                                      \
-  ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v2df)(__m128d)(W),                 \
-                                          (__mmask8)(U)))
-
-#define _mm_maskz_getmant_pd(U, X, B, C)                                        \
-  ((__m128d) __builtin_ia32_getmantpd128_mask ((__v2df)(__m128d) (X),           \
-                                         (int)(((C)<<2) | (B)),                 \
-                                          (__v2df)(__m128d)_mm_setzero_pd(),    \
-                                          (__mmask8)(U)))
-
-#define _mm256_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256) __builtin_ia32_gather3siv8sf ((__v8sf)(__m256)V1OLD,		\
-					 (float const *)ADDR,		\
-					 (__v8si)(__m256i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i32gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)		\
-  (__m128) __builtin_ia32_gather3siv4sf ((__v4sf)(__m128)V1OLD,		\
-					 (float const *)ADDR,		\
-					 (__v4si)(__m128i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256d) __builtin_ia32_gather3siv4df ((__v4df)(__m256d)V1OLD,	\
-					  (double const *)ADDR,		\
-					  (__v4si)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i32gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)		\
-  (__m128d) __builtin_ia32_gather3siv2df ((__v2df)(__m128d)V1OLD,	\
-					  (double const *)ADDR,		\
-					  (__v4si)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128) __builtin_ia32_gather3div8sf ((__v4sf)(__m128)V1OLD,		\
-					 (float const *)ADDR,		\
-					 (__v4di)(__m256i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i64gather_ps(V1OLD, MASK, INDEX, ADDR, SCALE)		\
-  (__m128) __builtin_ia32_gather3div4sf ((__v4sf)(__m128)V1OLD,		\
-					 (float const *)ADDR,		\
-					 (__v2di)(__m128i)INDEX,	\
-					 (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256d) __builtin_ia32_gather3div4df ((__v4df)(__m256d)V1OLD,	\
-					  (double const *)ADDR,		\
-					  (__v4di)(__m256i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i64gather_pd(V1OLD, MASK, INDEX, ADDR, SCALE)		\
-  (__m128d) __builtin_ia32_gather3div2df ((__v2df)(__m128d)V1OLD,	\
-					  (double const *)ADDR,		\
-					  (__v2di)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256i) __builtin_ia32_gather3siv8si ((__v8si)(__m256i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v8si)(__m256i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i32gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128i) __builtin_ia32_gather3siv4si ((__v4si)(__m128i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v4si)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256i) __builtin_ia32_gather3siv4di ((__v4di)(__m256i)V1OLD,	\
-					  (long long const *)ADDR,	\
-					  (__v4si)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i32gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128i) __builtin_ia32_gather3siv2di ((__v2di)(__m128i)V1OLD,	\
-					  (long long const *)ADDR,	\
-					  (__v4si)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128i) __builtin_ia32_gather3div8si ((__v4si)(__m128i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v4di)(__m256i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i64gather_epi32(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128i) __builtin_ia32_gather3div4si ((__v4si)(__m128i)V1OLD,	\
-					  (int const *)ADDR,		\
-					  (__v2di)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m256i) __builtin_ia32_gather3div4di ((__v4di)(__m256i)V1OLD,	\
-					  (long long const *)ADDR,	\
-					  (__v4di)(__m256i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm_mmask_i64gather_epi64(V1OLD, MASK, INDEX, ADDR, SCALE)	\
-  (__m128i) __builtin_ia32_gather3div2di ((__v2di)(__m128i)V1OLD,	\
-					  (long long const *)ADDR,	\
-					  (__v2di)(__m128i)INDEX,	\
-					  (__mmask8)MASK, (int)SCALE)
-
-#define _mm256_i32scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv8sf ((float *)ADDR, (__mmask8)0xFF,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8sf)(__m256)V1, (int)SCALE)
-
-#define _mm256_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv8sf ((float *)ADDR, (__mmask8)MASK,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8sf)(__m256)V1, (int)SCALE)
-
-#define _mm_i32scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv4sf ((float *)ADDR, (__mmask8)0xFF,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm_mask_i32scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv4sf ((float *)ADDR, (__mmask8)MASK,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm256_i32scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv4df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4df)(__m256d)V1, (int)SCALE)
-
-#define _mm256_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv4df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4df)(__m256d)V1, (int)SCALE)
-
-#define _mm_i32scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv2df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v2df)(__m128d)V1, (int)SCALE)
-
-#define _mm_mask_i32scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv2df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v2df)(__m128d)V1, (int)SCALE)
-
-#define _mm256_i64scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv8sf ((float *)ADDR, (__mmask8)0xFF,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm256_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv8sf ((float *)ADDR, (__mmask8)MASK,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm_i64scatter_ps(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv4sf ((float *)ADDR, (__mmask8)0xFF,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm_mask_i64scatter_ps(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv4sf ((float *)ADDR, (__mmask8)MASK,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v4sf)(__m128)V1, (int)SCALE)
-
-#define _mm256_i64scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv4df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4df)(__m256d)V1, (int)SCALE)
-
-#define _mm256_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv4df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4df)(__m256d)V1, (int)SCALE)
-
-#define _mm_i64scatter_pd(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv2df ((double *)ADDR, (__mmask8)0xFF,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v2df)(__m128d)V1, (int)SCALE)
-
-#define _mm_mask_i64scatter_pd(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv2df ((double *)ADDR, (__mmask8)MASK,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v2df)(__m128d)V1, (int)SCALE)
-
-#define _mm256_i32scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv8si ((int *)ADDR, (__mmask8)0xFF,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8si)(__m256i)V1, (int)SCALE)
-
-#define _mm256_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scattersiv8si ((int *)ADDR, (__mmask8)MASK,		\
-				(__v8si)(__m256i)INDEX,			\
-				(__v8si)(__m256i)V1, (int)SCALE)
-
-#define _mm_i32scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv4si ((int *)ADDR, (__mmask8)0xFF,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm_mask_i32scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv4si ((int *)ADDR, (__mmask8)MASK,		\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm256_i32scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv4di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4di)(__m256i)V1, (int)SCALE)
-
-#define _mm256_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scattersiv4di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v4si)(__m128i)INDEX,			\
-				(__v4di)(__m256i)V1, (int)SCALE)
-
-#define _mm_i32scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scattersiv2di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v4si)(__m128i)INDEX,			\
-				(__v2di)(__m128i)V1, (int)SCALE)
-
-#define _mm_mask_i32scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scattersiv2di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v4si)(__m128i)INDEX,			\
-				(__v2di)(__m128i)V1, (int)SCALE)
-
-#define _mm256_i64scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv8si ((int *)ADDR, (__mmask8)0xFF,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm256_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scatterdiv8si ((int *)ADDR, (__mmask8)MASK,		\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm_i64scatter_epi32(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv4si ((int *)ADDR, (__mmask8)0xFF,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm_mask_i64scatter_epi32(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv4si ((int *)ADDR, (__mmask8)MASK,		\
-				(__v2di)(__m128i)INDEX,			\
-				(__v4si)(__m128i)V1, (int)SCALE)
-
-#define _mm256_i64scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv4di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4di)(__m256i)V1, (int)SCALE)
-
-#define _mm256_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)	\
-  __builtin_ia32_scatterdiv4di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v4di)(__m256i)INDEX,			\
-				(__v4di)(__m256i)V1, (int)SCALE)
-
-#define _mm_i64scatter_epi64(ADDR, INDEX, V1, SCALE)			\
-  __builtin_ia32_scatterdiv2di ((long long *)ADDR, (__mmask8)0xFF,	\
-				(__v2di)(__m128i)INDEX,			\
-				(__v2di)(__m128i)V1, (int)SCALE)
-
-#define _mm_mask_i64scatter_epi64(ADDR, MASK, INDEX, V1, SCALE)		\
-  __builtin_ia32_scatterdiv2di ((long long *)ADDR, (__mmask8)MASK,	\
-				(__v2di)(__m128i)INDEX,			\
-				(__v2di)(__m128i)V1, (int)SCALE)
-
-#define _mm256_mask_shuffle_epi32(W, U, X, C)                                       \
-  ((__m256i)  __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C),        \
-                                             (__v8si)(__m256i)(W),                  \
-                                             (__mmask8)(U)))
-
-#define _mm256_maskz_shuffle_epi32(U, X, C)                                         \
-  ((__m256i)  __builtin_ia32_pshufd256_mask ((__v8si)(__m256i)(X), (int)(C),        \
-                                             (__v8si)(__m256i)_mm256_setzero_si256(),  \
-                                             (__mmask8)(U)))
-
-#define _mm_mask_shuffle_epi32(W, U, X, C)                                          \
-  ((__m128i)  __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C),        \
-                                             (__v4si)(__m128i)(W),                  \
-                                             (__mmask8)(U)))
-
-#define _mm_maskz_shuffle_epi32(U, X, C)                                            \
-  ((__m128i)  __builtin_ia32_pshufd128_mask ((__v4si)(__m128i)(X), (int)(C),        \
-                                             (__v4si)(__m128i)_mm_setzero_si128 (),     \
-                                             (__mmask8)(U)))
-
-#define _mm256_rol_epi64(A, B)                                                 \
-  ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)_mm256_setzero_si256 (),\
-                                          (__mmask8)-1))
-
-#define _mm256_mask_rol_epi64(W, U, A, B)                                      \
-  ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm256_maskz_rol_epi64(U, A, B)                                        \
-  ((__m256i)__builtin_ia32_prolq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)_mm256_setzero_si256 (),\
-                                          (__mmask8)(U)))
-
-#define _mm_rol_epi64(A, B)                                                    \
-  ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)_mm_setzero_di(),   \
-                                          (__mmask8)-1))
-
-#define _mm_mask_rol_epi64(W, U, A, B)                                         \
-  ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm_maskz_rol_epi64(U, A, B)                                           \
-  ((__m128i)__builtin_ia32_prolq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)_mm_setzero_di(),   \
-                                          (__mmask8)(U)))
-
-#define _mm256_ror_epi64(A, B)                                                 \
-  ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)_mm256_setzero_si256 (),\
-                                          (__mmask8)-1))
-
-#define _mm256_mask_ror_epi64(W, U, A, B)                                      \
-  ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm256_maskz_ror_epi64(U, A, B)                                        \
-  ((__m256i)__builtin_ia32_prorq256_mask ((__v4di)(__m256i)(A), (int)(B),      \
-                                          (__v4di)(__m256i)_mm256_setzero_si256 (),\
-                                          (__mmask8)(U)))
-
-#define _mm_ror_epi64(A, B)                                                    \
-  ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)_mm_setzero_di(),   \
-                                          (__mmask8)-1))
-
-#define _mm_mask_ror_epi64(W, U, A, B)                                         \
-  ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm_maskz_ror_epi64(U, A, B)                                           \
-  ((__m128i)__builtin_ia32_prorq128_mask ((__v2di)(__m128i)(A), (int)(B),      \
-                                          (__v2di)(__m128i)_mm_setzero_di(),   \
-                                          (__mmask8)(U)))
-
-#define _mm256_rol_epi32(A, B)                                                 \
-  ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)_mm256_setzero_si256(),\
-                                          (__mmask8)-1))
-
-#define _mm256_mask_rol_epi32(W, U, A, B)                                      \
-  ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm256_maskz_rol_epi32(U, A, B)                                        \
-  ((__m256i)__builtin_ia32_prold256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)_mm256_setzero_si256(),\
-                                          (__mmask8)(U)))
-
-#define _mm_rol_epi32(A, B)                                                    \
-  ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)_mm_setzero_si128 (),   \
-                                          (__mmask8)-1))
-
-#define _mm_mask_rol_epi32(W, U, A, B)                                         \
-  ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm_maskz_rol_epi32(U, A, B)                                           \
-  ((__m128i)__builtin_ia32_prold128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)_mm_setzero_si128 (),   \
-                                          (__mmask8)(U)))
-
-#define _mm256_ror_epi32(A, B)                                                 \
-  ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)_mm256_setzero_si256(),\
-                                          (__mmask8)-1))
-
-#define _mm256_mask_ror_epi32(W, U, A, B)                                      \
-  ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm256_maskz_ror_epi32(U, A, B)                                        \
-  ((__m256i)__builtin_ia32_prord256_mask ((__v8si)(__m256i)(A), (int)(B),      \
-                                          (__v8si)(__m256i)_mm256_setzero_si256(),\
-                                          (__mmask8)(U)))
-
-#define _mm_ror_epi32(A, B)                                                    \
-  ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)_mm_setzero_si128 (),   \
-                                          (__mmask8)-1))
-
-#define _mm_mask_ror_epi32(W, U, A, B)                                         \
-  ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)(W),                \
-                                          (__mmask8)(U)))
-
-#define _mm_maskz_ror_epi32(U, A, B)                                           \
-  ((__m128i)__builtin_ia32_prord128_mask ((__v4si)(__m128i)(A), (int)(B),      \
-                                          (__v4si)(__m128i)_mm_setzero_si128 (),   \
-                                          (__mmask8)(U)))
-
-#define _mm256_alignr_epi32(X, Y, C)                                        \
-    ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X),          \
-        (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(X), (__mmask8)-1))
-
-#define _mm256_mask_alignr_epi32(W, U, X, Y, C)                             \
-    ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X),          \
-        (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_alignr_epi32(U, X, Y, C)                               \
-    ((__m256i)__builtin_ia32_alignd256_mask ((__v8si)(__m256i)(X),          \
-        (__v8si)(__m256i)(Y), (int)(C), (__v8si)(__m256i)_mm256_setzero_si256 (),\
-        (__mmask8)(U)))
-
-#define _mm256_alignr_epi64(X, Y, C)                                        \
-    ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X),          \
-        (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(X), (__mmask8)-1))
-
-#define _mm256_mask_alignr_epi64(W, U, X, Y, C)                             \
-    ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X),          \
-        (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_alignr_epi64(U, X, Y, C)                               \
-    ((__m256i)__builtin_ia32_alignq256_mask ((__v4di)(__m256i)(X),          \
-        (__v4di)(__m256i)(Y), (int)(C), (__v4di)(__m256i)_mm256_setzero_si256 (),\
-        (__mmask8)(U)))
-
-#define _mm_alignr_epi32(X, Y, C)                                           \
-    ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X),          \
-        (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(X), (__mmask8)-1))
-
-#define _mm_mask_alignr_epi32(W, U, X, Y, C)                                \
-    ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X),          \
-        (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_alignr_epi32(U, X, Y, C)                                  \
-    ((__m128i)__builtin_ia32_alignd128_mask ((__v4si)(__m128i)(X),          \
-        (__v4si)(__m128i)(Y), (int)(C), (__v4si)(__m128i)_mm_setzero_si128(),\
-        (__mmask8)(U)))
-
-#define _mm_alignr_epi64(X, Y, C)                                           \
-    ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X),          \
-        (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
-
-#define _mm_mask_alignr_epi64(W, U, X, Y, C)                                \
-    ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X),          \
-        (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)(X), (__mmask8)-1))
-
-#define _mm_maskz_alignr_epi64(U, X, Y, C)                                  \
-    ((__m128i)__builtin_ia32_alignq128_mask ((__v2di)(__m128i)(X),          \
-        (__v2di)(__m128i)(Y), (int)(C), (__v2di)(__m128i)_mm_setzero_si128(),\
-        (__mmask8)(U)))
-
-#define _mm_mask_cvtps_ph(W, U, A, I)						\
-  ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I),      \
-      (__v8hi)(__m128i) (W), (__mmask8) (U)))
-
-#define _mm_maskz_cvtps_ph(U, A, I)						\
-  ((__m128i) __builtin_ia32_vcvtps2ph_mask ((__v4sf)(__m128) A, (int) (I),      \
-      (__v8hi)(__m128i) _mm_setzero_hi(), (__mmask8) (U)))
-
-#define _mm256_mask_cvtps_ph(W, U, A, I)					\
-  ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I),	\
-      (__v8hi)(__m128i) (W), (__mmask8) (U)))
-
-#define _mm256_maskz_cvtps_ph(U, A, I)						\
-  ((__m128i) __builtin_ia32_vcvtps2ph256_mask ((__v8sf)(__m256) A, (int) (I),   \
-      (__v8hi)(__m128i) _mm_setzero_hi(), (__mmask8) (U)))
-
-#define _mm256_mask_srai_epi32(W, U, A, B)				\
-  ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A),	\
-    (int)(B), (__v8si)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_srai_epi32(U, A, B)				\
-  ((__m256i) __builtin_ia32_psradi256_mask ((__v8si)(__m256i)(A),	\
-    (int)(B), (__v8si)_mm256_setzero_si256(), (__mmask8)(U)))
-
-#define _mm_mask_srai_epi32(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A),       \
-    (int)(B), (__v4si)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srai_epi32(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psradi128_mask ((__v4si)(__m128i)(A),       \
-    (int)(B), (__v4si)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_srai_epi64(A, B)						\
-  ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A),	\
-    (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)-1))
-
-#define _mm256_mask_srai_epi64(W, U, A, B)				\
-  ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A),	\
-    (int)(B), (__v4di)(__m256i)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_srai_epi64(U, A, B)				\
-  ((__m256i) __builtin_ia32_psraqi256_mask ((__v4di)(__m256i)(A),	\
-    (int)(B), (__v4di)_mm256_setzero_si256 (), (__mmask8)(U)))
-
-#define _mm_srai_epi64(A, B)						\
-  ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A),       \
-    (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)-1))
-
-#define _mm_mask_srai_epi64(W, U, A, B)                                 \
-  ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A),       \
-    (int)(B), (__v2di)(__m128i)(W), (__mmask8)(U)))
-
-#define _mm_maskz_srai_epi64(U, A, B)                                   \
-  ((__m128i) __builtin_ia32_psraqi128_mask ((__v2di)(__m128i)(A),       \
-    (int)(B), (__v2di)_mm_setzero_si128(), (__mmask8)(U)))
-
-#define _mm256_mask_permutex_pd(W, U, A, B)                             \
-  ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A),       \
-    (int)(B), (__v4df)(__m256d)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_permutex_pd(U, A, B)				\
-  ((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(A),       \
-    (int)(B), (__v4df)(__m256d)_mm256_setzero_pd(), (__mmask8)(U)))
-
-#define _mm256_mask_permute_pd(W, U, X, C)					    \
-  ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C),	    \
-					      (__v4df)(__m256d)(W),		    \
-					      (__mmask8)(U)))
-
-#define _mm256_maskz_permute_pd(U, X, C)					    \
-  ((__m256d) __builtin_ia32_vpermilpd256_mask ((__v4df)(__m256d)(X), (int)(C),	    \
-					      (__v4df)(__m256d)_mm256_setzero_pd(), \
-					      (__mmask8)(U)))
-
-#define _mm256_mask_permute_ps(W, U, X, C)					    \
-  ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C),	    \
-					      (__v8sf)(__m256)(W), (__mmask8)(U)))
-
-#define _mm256_maskz_permute_ps(U, X, C)					    \
-  ((__m256) __builtin_ia32_vpermilps256_mask ((__v8sf)(__m256)(X), (int)(C),	    \
-					      (__v8sf)(__m256)_mm256_setzero_ps(),  \
-					      (__mmask8)(U)))
-
-#define _mm_mask_permute_pd(W, U, X, C)						    \
-  ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C),	    \
-					    (__v2df)(__m128d)(W), (__mmask8)(U)))
-
-#define _mm_maskz_permute_pd(U, X, C)						    \
-  ((__m128d) __builtin_ia32_vpermilpd_mask ((__v2df)(__m128d)(X), (int)(C),	    \
-					    (__v2df)(__m128d)_mm_setzero_pd(),	    \
-					    (__mmask8)(U)))
-
-#define _mm_mask_permute_ps(W, U, X, C)						    \
-  ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C),	    \
-					  (__v4sf)(__m128)(W), (__mmask8)(U)))
-
-#define _mm_maskz_permute_ps(U, X, C)						    \
-  ((__m128) __builtin_ia32_vpermilps_mask ((__v4sf)(__m128)(X), (int)(C),	    \
-					  (__v4sf)(__m128)_mm_setzero_ps(),	    \
-					  (__mmask8)(U)))
-
-#define _mm256_mask_blend_pd(__U, __A, __W)			      \
-  ((__m256d) __builtin_ia32_blendmpd_256_mask ((__v4df) (__A),	      \
-						     (__v4df) (__W),  \
-						     (__mmask8) (__U)))
-
-#define _mm256_mask_blend_ps(__U, __A, __W)			      \
-  ((__m256) __builtin_ia32_blendmps_256_mask ((__v8sf) (__A),	      \
-						    (__v8sf) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm256_mask_blend_epi64(__U, __A, __W)			      \
-  ((__m256i) __builtin_ia32_blendmq_256_mask ((__v4di) (__A),	      \
-						    (__v4di) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm256_mask_blend_epi32(__U, __A, __W)			      \
-  ((__m256i) __builtin_ia32_blendmd_256_mask ((__v8si) (__A),	      \
-						    (__v8si) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm_mask_blend_pd(__U, __A, __W)			      \
-  ((__m128d) __builtin_ia32_blendmpd_128_mask ((__v2df) (__A),	      \
-						     (__v2df) (__W),  \
-						     (__mmask8) (__U)))
-
-#define _mm_mask_blend_ps(__U, __A, __W)			      \
-  ((__m128) __builtin_ia32_blendmps_128_mask ((__v4sf) (__A),	      \
-						    (__v4sf) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm_mask_blend_epi64(__U, __A, __W)			      \
-  ((__m128i) __builtin_ia32_blendmq_128_mask ((__v2di) (__A),	      \
-						    (__v2di) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm_mask_blend_epi32(__U, __A, __W)			      \
-  ((__m128i) __builtin_ia32_blendmd_128_mask ((__v4si) (__A),	      \
-						    (__v4si) (__W),   \
-						    (__mmask8) (__U)))
-
-#define _mm256_cmp_epu32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X),	\
-					    (__v8si)(__m256i)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm256_cmp_epi64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X),	\
-					   (__v4di)(__m256i)(Y), (int)(P),\
-					   (__mmask8)-1))
-
-#define _mm256_cmp_epi32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X),	\
-					   (__v8si)(__m256i)(Y), (int)(P),\
-					   (__mmask8)-1))
-
-#define _mm256_cmp_epu64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X),	\
-					    (__v4di)(__m256i)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm256_cmp_pd_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X),	\
-					    (__v4df)(__m256d)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm256_cmp_ps_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X),	\
-					     (__v8sf)(__m256)(Y), (int)(P),\
-					     (__mmask8)-1))
-
-#define _mm256_mask_cmp_epi64_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpq256_mask ((__v4di)(__m256i)(X),	\
-					   (__v4di)(__m256i)(Y), (int)(P),\
-					   (__mmask8)(M)))
-
-#define _mm256_mask_cmp_epi32_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpd256_mask ((__v8si)(__m256i)(X),	\
-					   (__v8si)(__m256i)(Y), (int)(P),\
-					   (__mmask8)(M)))
-
-#define _mm256_mask_cmp_epu64_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di)(__m256i)(X),	\
-					    (__v4di)(__m256i)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm256_mask_cmp_epu32_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si)(__m256i)(X),	\
-					    (__v8si)(__m256i)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm256_mask_cmp_pd_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmppd256_mask ((__v4df)(__m256d)(X),	\
-					    (__v4df)(__m256d)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm256_mask_cmp_ps_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpps256_mask ((__v8sf)(__m256)(X),	\
-					     (__v8sf)(__m256)(Y), (int)(P),\
-					     (__mmask8)(M)))
-
-#define _mm_cmp_epi64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X),	\
-					   (__v2di)(__m128i)(Y), (int)(P),\
-					   (__mmask8)-1))
-
-#define _mm_cmp_epi32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X),	\
-					   (__v4si)(__m128i)(Y), (int)(P),\
-					   (__mmask8)-1))
-
-#define _mm_cmp_epu64_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X),	\
-					    (__v2di)(__m128i)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm_cmp_epu32_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X),	\
-					    (__v4si)(__m128i)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm_cmp_pd_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X),	\
-					    (__v2df)(__m128d)(Y), (int)(P),\
-					    (__mmask8)-1))
-
-#define _mm_cmp_ps_mask(X, Y, P)					\
-  ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X),	\
-					     (__v4sf)(__m128)(Y), (int)(P),\
-					     (__mmask8)-1))
-
-#define _mm_mask_cmp_epi64_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpq128_mask ((__v2di)(__m128i)(X),	\
-					   (__v2di)(__m128i)(Y), (int)(P),\
-					   (__mmask8)(M)))
-
-#define _mm_mask_cmp_epi32_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpd128_mask ((__v4si)(__m128i)(X),	\
-					   (__v4si)(__m128i)(Y), (int)(P),\
-					   (__mmask8)(M)))
-
-#define _mm_mask_cmp_epu64_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di)(__m128i)(X),	\
-					    (__v2di)(__m128i)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm_mask_cmp_epu32_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si)(__m128i)(X),	\
-					    (__v4si)(__m128i)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm_mask_cmp_pd_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmppd128_mask ((__v2df)(__m128d)(X),	\
-					    (__v2df)(__m128d)(Y), (int)(P),\
-					    (__mmask8)(M)))
-
-#define _mm_mask_cmp_ps_mask(M, X, Y, P)				\
-  ((__mmask8) __builtin_ia32_cmpps128_mask ((__v4sf)(__m128)(X),	\
-					     (__v4sf)(__m128)(Y), (int)(P),\
-					     (__mmask8)(M)))
-
-#endif
-
-#define _mm256_permutexvar_ps(A, B)	_mm256_permutevar8x32_ps((B), (A))
-
-#ifdef __DISABLE_AVX512VL__
-#undef __DISABLE_AVX512VL__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX512VL__ */
-
-#endif /* _AVX512VLINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avxintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/avxintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,1467 +1,0 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 11.0.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-# error "Never use <avxintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _AVXINTRIN_H_INCLUDED
-#define _AVXINTRIN_H_INCLUDED
-
-#ifndef __AVX__
-#pragma GCC push_options
-#pragma GCC target("avx")
-#define __DISABLE_AVX__
-#endif /* __AVX__ */
-
-/* Internal data types for implementing the intrinsics.  */
-typedef double __v4df __attribute__ ((__vector_size__ (32)));
-typedef float __v8sf __attribute__ ((__vector_size__ (32)));
-typedef long long __v4di __attribute__ ((__vector_size__ (32)));
-typedef unsigned long long __v4du __attribute__ ((__vector_size__ (32)));
-typedef int __v8si __attribute__ ((__vector_size__ (32)));
-typedef unsigned int __v8su __attribute__ ((__vector_size__ (32)));
-typedef short __v16hi __attribute__ ((__vector_size__ (32)));
-typedef unsigned short __v16hu __attribute__ ((__vector_size__ (32)));
-typedef char __v32qi __attribute__ ((__vector_size__ (32)));
-typedef unsigned char __v32qu __attribute__ ((__vector_size__ (32)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef float __m256 __attribute__ ((__vector_size__ (32),
-				     __may_alias__));
-typedef long long __m256i __attribute__ ((__vector_size__ (32),
-					  __may_alias__));
-typedef double __m256d __attribute__ ((__vector_size__ (32),
-				       __may_alias__));
-
-/* Compare predicates for scalar and packed compare intrinsics.  */
-
-/* Equal (ordered, non-signaling)  */
-#define _CMP_EQ_OQ	0x00
-/* Less-than (ordered, signaling)  */
-#define _CMP_LT_OS	0x01
-/* Less-than-or-equal (ordered, signaling)  */
-#define _CMP_LE_OS	0x02
-/* Unordered (non-signaling)  */
-#define _CMP_UNORD_Q	0x03
-/* Not-equal (unordered, non-signaling)  */
-#define _CMP_NEQ_UQ	0x04
-/* Not-less-than (unordered, signaling)  */
-#define _CMP_NLT_US	0x05
-/* Not-less-than-or-equal (unordered, signaling)  */
-#define _CMP_NLE_US	0x06
-/* Ordered (nonsignaling)   */
-#define _CMP_ORD_Q	0x07
-/* Equal (unordered, non-signaling)  */
-#define _CMP_EQ_UQ	0x08
-/* Not-greater-than-or-equal (unordered, signaling)  */
-#define _CMP_NGE_US	0x09
-/* Not-greater-than (unordered, signaling)  */
-#define _CMP_NGT_US	0x0a
-/* False (ordered, non-signaling)  */
-#define _CMP_FALSE_OQ	0x0b
-/* Not-equal (ordered, non-signaling)  */
-#define _CMP_NEQ_OQ	0x0c
-/* Greater-than-or-equal (ordered, signaling)  */
-#define _CMP_GE_OS	0x0d
-/* Greater-than (ordered, signaling)  */
-#define _CMP_GT_OS	0x0e
-/* True (unordered, non-signaling)  */
-#define _CMP_TRUE_UQ	0x0f
-/* Equal (ordered, signaling)  */
-#define _CMP_EQ_OS	0x10
-/* Less-than (ordered, non-signaling)  */
-#define _CMP_LT_OQ	0x11
-/* Less-than-or-equal (ordered, non-signaling)  */
-#define _CMP_LE_OQ	0x12
-/* Unordered (signaling)  */
-#define _CMP_UNORD_S	0x13
-/* Not-equal (unordered, signaling)  */
-#define _CMP_NEQ_US	0x14
-/* Not-less-than (unordered, non-signaling)  */
-#define _CMP_NLT_UQ	0x15
-/* Not-less-than-or-equal (unordered, non-signaling)  */
-#define _CMP_NLE_UQ	0x16
-/* Ordered (signaling)  */
-#define _CMP_ORD_S	0x17
-/* Equal (unordered, signaling)  */
-#define _CMP_EQ_US	0x18
-/* Not-greater-than-or-equal (unordered, non-signaling)  */
-#define _CMP_NGE_UQ	0x19
-/* Not-greater-than (unordered, non-signaling)  */
-#define _CMP_NGT_UQ	0x1a
-/* False (ordered, signaling)  */
-#define _CMP_FALSE_OS	0x1b
-/* Not-equal (ordered, signaling)  */
-#define _CMP_NEQ_OS	0x1c
-/* Greater-than-or-equal (ordered, non-signaling)  */
-#define _CMP_GE_OQ	0x1d
-/* Greater-than (ordered, non-signaling)  */
-#define _CMP_GT_OQ	0x1e
-/* True (unordered, signaling)  */
-#define _CMP_TRUE_US	0x1f
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) ((__v4df)__A + (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_add_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) ((__v8sf)__A + (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_addsub_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_addsubpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_addsub_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_addsubps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_and_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_and_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_andps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_andnot_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_andnpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_andnot_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_andnps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-/* Double/single precision floating point blend instructions - select
-   data from 2 sources using constant/variable mask.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blend_pd (__m256d __X, __m256d __Y, const int __M)
-{
-  return (__m256d) __builtin_ia32_blendpd256 ((__v4df)__X,
-					      (__v4df)__Y,
-					      __M);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blend_ps (__m256 __X, __m256 __Y, const int __M)
-{
-  return (__m256) __builtin_ia32_blendps256 ((__v8sf)__X,
-					     (__v8sf)__Y,
-					     __M);
-}
-#else
-#define _mm256_blend_pd(X, Y, M)					\
-  ((__m256d) __builtin_ia32_blendpd256 ((__v4df)(__m256d)(X),		\
-					(__v4df)(__m256d)(Y), (int)(M)))
-
-#define _mm256_blend_ps(X, Y, M)					\
-  ((__m256) __builtin_ia32_blendps256 ((__v8sf)(__m256)(X),		\
-				       (__v8sf)(__m256)(Y), (int)(M)))
-#endif
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blendv_pd (__m256d __X, __m256d __Y, __m256d __M)
-{
-  return (__m256d) __builtin_ia32_blendvpd256 ((__v4df)__X,
-					       (__v4df)__Y,
-					       (__v4df)__M);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_blendv_ps (__m256 __X, __m256 __Y, __m256 __M)
-{
-  return (__m256) __builtin_ia32_blendvps256 ((__v8sf)__X,
-					      (__v8sf)__Y,
-					      (__v8sf)__M);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_div_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) ((__v4df)__A / (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_div_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) ((__v8sf)__A / (__v8sf)__B);
-}
-
-/* Dot product instructions with mask-defined summing and zeroing parts
-   of result.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_dp_ps (__m256 __X, __m256 __Y, const int __M)
-{
-  return (__m256) __builtin_ia32_dpps256 ((__v8sf)__X,
-					  (__v8sf)__Y,
-					  __M);
-}
-#else
-#define _mm256_dp_ps(X, Y, M)						\
-  ((__m256) __builtin_ia32_dpps256 ((__v8sf)(__m256)(X),		\
-				    (__v8sf)(__m256)(Y), (int)(M)))
-#endif
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hadd_pd (__m256d __X, __m256d __Y)
-{
-  return (__m256d) __builtin_ia32_haddpd256 ((__v4df)__X, (__v4df)__Y);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hadd_ps (__m256 __X, __m256 __Y)
-{
-  return (__m256) __builtin_ia32_haddps256 ((__v8sf)__X, (__v8sf)__Y);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hsub_pd (__m256d __X, __m256d __Y)
-{
-  return (__m256d) __builtin_ia32_hsubpd256 ((__v4df)__X, (__v4df)__Y);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_hsub_ps (__m256 __X, __m256 __Y)
-{
-  return (__m256) __builtin_ia32_hsubps256 ((__v8sf)__X, (__v8sf)__Y);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_maxpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_max_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_maxps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_minpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_min_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_minps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mul_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) ((__v4df)__A * (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mul_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) ((__v8sf)__A * (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_or_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_orpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_or_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_orps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_pd (__m256d __A, __m256d __B, const int __mask)
-{
-  return (__m256d) __builtin_ia32_shufpd256 ((__v4df)__A, (__v4df)__B,
-					     __mask);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_shuffle_ps (__m256 __A, __m256 __B, const int __mask)
-{
-  return (__m256) __builtin_ia32_shufps256 ((__v8sf)__A, (__v8sf)__B,
-					    __mask);
-}
-#else
-#define _mm256_shuffle_pd(A, B, N)					\
-  ((__m256d)__builtin_ia32_shufpd256 ((__v4df)(__m256d)(A),		\
-				      (__v4df)(__m256d)(B), (int)(N)))
-
-#define _mm256_shuffle_ps(A, B, N)					\
-  ((__m256) __builtin_ia32_shufps256 ((__v8sf)(__m256)(A),		\
-				      (__v8sf)(__m256)(B), (int)(N)))
-#endif
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) ((__v4df)__A - (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sub_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) ((__v8sf)__A - (__v8sf)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_xor_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_xorpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_xor_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_xorps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_pd (__m128d __X, __m128d __Y, const int __P)
-{
-  return (__m128d) __builtin_ia32_cmppd ((__v2df)__X, (__v2df)__Y, __P);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_ps (__m128 __X, __m128 __Y, const int __P)
-{
-  return (__m128) __builtin_ia32_cmpps ((__v4sf)__X, (__v4sf)__Y, __P);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_pd (__m256d __X, __m256d __Y, const int __P)
-{
-  return (__m256d) __builtin_ia32_cmppd256 ((__v4df)__X, (__v4df)__Y,
-					    __P);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmp_ps (__m256 __X, __m256 __Y, const int __P)
-{
-  return (__m256) __builtin_ia32_cmpps256 ((__v8sf)__X, (__v8sf)__Y,
-					   __P);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_sd (__m128d __X, __m128d __Y, const int __P)
-{
-  return (__m128d) __builtin_ia32_cmpsd ((__v2df)__X, (__v2df)__Y, __P);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmp_ss (__m128 __X, __m128 __Y, const int __P)
-{
-  return (__m128) __builtin_ia32_cmpss ((__v4sf)__X, (__v4sf)__Y, __P);
-}
-#else
-#define _mm_cmp_pd(X, Y, P)						\
-  ((__m128d) __builtin_ia32_cmppd ((__v2df)(__m128d)(X),		\
-				   (__v2df)(__m128d)(Y), (int)(P)))
-
-#define _mm_cmp_ps(X, Y, P)						\
-  ((__m128) __builtin_ia32_cmpps ((__v4sf)(__m128)(X),			\
-				  (__v4sf)(__m128)(Y), (int)(P)))
-
-#define _mm256_cmp_pd(X, Y, P)						\
-  ((__m256d) __builtin_ia32_cmppd256 ((__v4df)(__m256d)(X),		\
-				      (__v4df)(__m256d)(Y), (int)(P)))
-
-#define _mm256_cmp_ps(X, Y, P)						\
-  ((__m256) __builtin_ia32_cmpps256 ((__v8sf)(__m256)(X),		\
-				     (__v8sf)(__m256)(Y), (int)(P)))
-
-#define _mm_cmp_sd(X, Y, P)						\
-  ((__m128d) __builtin_ia32_cmpsd ((__v2df)(__m128d)(X),		\
-				   (__v2df)(__m128d)(Y), (int)(P)))
-
-#define _mm_cmp_ss(X, Y, P)						\
-  ((__m128) __builtin_ia32_cmpss ((__v4sf)(__m128)(X),			\
-				  (__v4sf)(__m128)(Y), (int)(P)))
-#endif
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi32_pd (__m128i __A)
-{
-  return (__m256d)__builtin_ia32_cvtdq2pd256 ((__v4si) __A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtepi32_ps (__m256i __A)
-{
-  return (__m256)__builtin_ia32_cvtdq2ps256 ((__v8si) __A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtpd_ps (__m256d __A)
-{
-  return (__m128)__builtin_ia32_cvtpd2ps256 ((__v4df) __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_epi32 (__m256 __A)
-{
-  return (__m256i)__builtin_ia32_cvtps2dq256 ((__v8sf) __A);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_pd (__m128 __A)
-{
-  return (__m256d)__builtin_ia32_cvtps2pd256 ((__v4sf) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttpd_epi32 (__m256d __A)
-{
-  return (__m128i)__builtin_ia32_cvttpd2dq256 ((__v4df) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtpd_epi32 (__m256d __A)
-{
-  return (__m128i)__builtin_ia32_cvtpd2dq256 ((__v4df) __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvttps_epi32 (__m256 __A)
-{
-  return (__m256i)__builtin_ia32_cvttps2dq256 ((__v8sf) __A);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extractf128_pd (__m256d __X, const int __N)
-{
-  return (__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)__X, __N);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extractf128_ps (__m256 __X, const int __N)
-{
-  return (__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)__X, __N);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extractf128_si256 (__m256i __X, const int __N)
-{
-  return (__m128i) __builtin_ia32_vextractf128_si256 ((__v8si)__X, __N);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extract_epi32 (__m256i __X, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 2);
-  return _mm_extract_epi32 (__Y, __N % 4);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extract_epi16 (__m256i __X, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 3);
-  return _mm_extract_epi16 (__Y, __N % 8);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extract_epi8 (__m256i __X, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 4);
-  return _mm_extract_epi8 (__Y, __N % 16);
-}
-
-#ifdef __x86_64__
-extern __inline long long  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_extract_epi64 (__m256i __X, const int __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1);
-  return _mm_extract_epi64 (__Y, __N % 2);
-}
-#endif
-#else
-#define _mm256_extractf128_pd(X, N)					\
-  ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(X),	\
-						(int)(N)))
-
-#define _mm256_extractf128_ps(X, N)					\
-  ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(X),	\
-					       (int)(N)))
-
-#define _mm256_extractf128_si256(X, N)					\
-  ((__m128i) __builtin_ia32_vextractf128_si256 ((__v8si)(__m256i)(X),	\
-						(int)(N)))
-
-#define _mm256_extract_epi32(X, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 2);		\
-      _mm_extract_epi32 (__Y, (N) % 4);					\
-    }))
-
-#define _mm256_extract_epi16(X, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 3);		\
-      _mm_extract_epi16 (__Y, (N) % 8);					\
-    }))
-
-#define _mm256_extract_epi8(X, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 4);		\
-      _mm_extract_epi8 (__Y, (N) % 16);					\
-    }))
-
-#ifdef __x86_64__
-#define _mm256_extract_epi64(X, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 1);		\
-      _mm_extract_epi64 (__Y, (N) % 2);					\
-    }))
-#endif
-#endif
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_zeroall (void)
-{
-  __builtin_ia32_vzeroall ();
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_zeroupper (void)
-{
-  __builtin_ia32_vzeroupper ();
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutevar_pd (__m128d __A, __m128i __C)
-{
-  return (__m128d) __builtin_ia32_vpermilvarpd ((__v2df)__A,
-						(__v2di)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutevar_pd (__m256d __A, __m256i __C)
-{
-  return (__m256d) __builtin_ia32_vpermilvarpd256 ((__v4df)__A,
-						   (__v4di)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permutevar_ps (__m128 __A, __m128i __C)
-{
-  return (__m128) __builtin_ia32_vpermilvarps ((__v4sf)__A,
-					       (__v4si)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permutevar_ps (__m256 __A, __m256i __C)
-{
-  return (__m256) __builtin_ia32_vpermilvarps256 ((__v8sf)__A,
-						  (__v8si)__C);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permute_pd (__m128d __X, const int __C)
-{
-  return (__m128d) __builtin_ia32_vpermilpd ((__v2df)__X, __C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute_pd (__m256d __X, const int __C)
-{
-  return (__m256d) __builtin_ia32_vpermilpd256 ((__v4df)__X, __C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permute_ps (__m128 __X, const int __C)
-{
-  return (__m128) __builtin_ia32_vpermilps ((__v4sf)__X, __C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute_ps (__m256 __X, const int __C)
-{
-  return (__m256) __builtin_ia32_vpermilps256 ((__v8sf)__X, __C);
-}
-#else
-#define _mm_permute_pd(X, C)						\
-  ((__m128d) __builtin_ia32_vpermilpd ((__v2df)(__m128d)(X), (int)(C)))
-
-#define _mm256_permute_pd(X, C)						\
-  ((__m256d) __builtin_ia32_vpermilpd256 ((__v4df)(__m256d)(X),	(int)(C)))
-
-#define _mm_permute_ps(X, C)						\
-  ((__m128) __builtin_ia32_vpermilps ((__v4sf)(__m128)(X), (int)(C)))
-
-#define _mm256_permute_ps(X, C)						\
-  ((__m256) __builtin_ia32_vpermilps256 ((__v8sf)(__m256)(X), (int)(C)))
-#endif
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2f128_pd (__m256d __X, __m256d __Y, const int __C)
-{
-  return (__m256d) __builtin_ia32_vperm2f128_pd256 ((__v4df)__X,
-						    (__v4df)__Y,
-						    __C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2f128_ps (__m256 __X, __m256 __Y, const int __C)
-{
-  return (__m256) __builtin_ia32_vperm2f128_ps256 ((__v8sf)__X,
-						   (__v8sf)__Y,
-						   __C);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2f128_si256 (__m256i __X, __m256i __Y, const int __C)
-{
-  return (__m256i) __builtin_ia32_vperm2f128_si256 ((__v8si)__X,
-						    (__v8si)__Y,
-						    __C);
-}
-#else
-#define _mm256_permute2f128_pd(X, Y, C)					\
-  ((__m256d) __builtin_ia32_vperm2f128_pd256 ((__v4df)(__m256d)(X),	\
-					      (__v4df)(__m256d)(Y),	\
-					      (int)(C)))
-
-#define _mm256_permute2f128_ps(X, Y, C)					\
-  ((__m256) __builtin_ia32_vperm2f128_ps256 ((__v8sf)(__m256)(X),	\
-					     (__v8sf)(__m256)(Y),	\
-					     (int)(C)))
-
-#define _mm256_permute2f128_si256(X, Y, C)				\
-  ((__m256i) __builtin_ia32_vperm2f128_si256 ((__v8si)(__m256i)(X),	\
-					      (__v8si)(__m256i)(Y),	\
-					      (int)(C)))
-#endif
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_broadcast_ss (float const *__X)
-{
-  return (__m128) __builtin_ia32_vbroadcastss (__X);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_sd (double const *__X)
-{
-  return (__m256d) __builtin_ia32_vbroadcastsd256 (__X);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_ss (float const *__X)
-{
-  return (__m256) __builtin_ia32_vbroadcastss256 (__X);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_pd (__m128d const *__X)
-{
-  return (__m256d) __builtin_ia32_vbroadcastf128_pd256 (__X);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_broadcast_ps (__m128 const *__X)
-{
-  return (__m256) __builtin_ia32_vbroadcastf128_ps256 (__X);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insertf128_pd (__m256d __X, __m128d __Y, const int __O)
-{
-  return (__m256d) __builtin_ia32_vinsertf128_pd256 ((__v4df)__X,
-						     (__v2df)__Y,
-						     __O);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insertf128_ps (__m256 __X, __m128 __Y, const int __O)
-{
-  return (__m256) __builtin_ia32_vinsertf128_ps256 ((__v8sf)__X,
-						    (__v4sf)__Y,
-						    __O);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O)
-{
-  return (__m256i) __builtin_ia32_vinsertf128_si256 ((__v8si)__X,
-						     (__v4si)__Y,
-						     __O);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insert_epi32 (__m256i __X, int __D, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 2);
-  __Y = _mm_insert_epi32 (__Y, __D, __N % 4);
-  return _mm256_insertf128_si256 (__X, __Y, __N >> 2);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insert_epi16 (__m256i __X, int __D, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 3);
-  __Y = _mm_insert_epi16 (__Y, __D, __N % 8);
-  return _mm256_insertf128_si256 (__X, __Y, __N >> 3);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insert_epi8 (__m256i __X, int __D, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 4);
-  __Y = _mm_insert_epi8 (__Y, __D, __N % 16);
-  return _mm256_insertf128_si256 (__X, __Y, __N >> 4);
-}
-
-#ifdef __x86_64__
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_insert_epi64 (__m256i __X, long long __D, int const __N)
-{
-  __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1);
-  __Y = _mm_insert_epi64 (__Y, __D, __N % 2);
-  return _mm256_insertf128_si256 (__X, __Y, __N >> 1);
-}
-#endif
-#else
-#define _mm256_insertf128_pd(X, Y, O)					\
-  ((__m256d) __builtin_ia32_vinsertf128_pd256 ((__v4df)(__m256d)(X),	\
-					       (__v2df)(__m128d)(Y),	\
-					       (int)(O)))
-
-#define _mm256_insertf128_ps(X, Y, O)					\
-  ((__m256) __builtin_ia32_vinsertf128_ps256 ((__v8sf)(__m256)(X),	\
-					      (__v4sf)(__m128)(Y),  	\
-					      (int)(O)))
-
-#define _mm256_insertf128_si256(X, Y, O)				\
-  ((__m256i) __builtin_ia32_vinsertf128_si256 ((__v8si)(__m256i)(X),	\
-					       (__v4si)(__m128i)(Y),	\
-					       (int)(O)))
-
-#define _mm256_insert_epi32(X, D, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 2);		\
-      __Y = _mm_insert_epi32 (__Y, (D), (N) % 4);			\
-      _mm256_insertf128_si256 ((X), __Y, (N) >> 2);			\
-    }))
-
-#define _mm256_insert_epi16(X, D, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 3);		\
-      __Y = _mm_insert_epi16 (__Y, (D), (N) % 8);			\
-      _mm256_insertf128_si256 ((X), __Y, (N) >> 3);			\
-    }))
-
-#define _mm256_insert_epi8(X, D, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 4);		\
-      __Y = _mm_insert_epi8 (__Y, (D), (N) % 16);			\
-      _mm256_insertf128_si256 ((X), __Y, (N) >> 4);			\
-    }))
-
-#ifdef __x86_64__
-#define _mm256_insert_epi64(X, D, N)					\
-  (__extension__							\
-   ({									\
-      __m128i __Y = _mm256_extractf128_si256 ((X), (N) >> 1);		\
-      __Y = _mm_insert_epi64 (__Y, (D), (N) % 2);			\
-      _mm256_insertf128_si256 ((X), __Y, (N) >> 1);			\
-    }))
-#endif
-#endif
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_load_pd (double const *__P)
-{
-  return *(__m256d *)__P;
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_store_pd (double *__P, __m256d __A)
-{
-  *(__m256d *)__P = __A;
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_load_ps (float const *__P)
-{
-  return *(__m256 *)__P;
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_store_ps (float *__P, __m256 __A)
-{
-  *(__m256 *)__P = __A;
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_loadu_pd (double const *__P)
-{
-  return (__m256d) __builtin_ia32_loadupd256 (__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_storeu_pd (double *__P, __m256d __A)
-{
-  __builtin_ia32_storeupd256 (__P, (__v4df)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_loadu_ps (float const *__P)
-{
-  return (__m256) __builtin_ia32_loadups256 (__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_storeu_ps (float *__P, __m256 __A)
-{
-  __builtin_ia32_storeups256 (__P, (__v8sf)__A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_load_si256 (__m256i const *__P)
-{
-  return *__P;
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_store_si256 (__m256i *__P, __m256i __A)
-{
-  *__P = __A;
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_loadu_si256 (__m256i const *__P)
-{
-  return (__m256i) __builtin_ia32_loaddqu256 ((char const *)__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_storeu_si256 (__m256i *__P, __m256i __A)
-{
-  __builtin_ia32_storedqu256 ((char *)__P, (__v32qi)__A);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskload_pd (double const *__P, __m128i __M)
-{
-  return (__m128d) __builtin_ia32_maskloadpd ((const __v2df *)__P,
-					      (__v2di)__M);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskstore_pd (double *__P, __m128i __M, __m128d __A)
-{
-  __builtin_ia32_maskstorepd ((__v2df *)__P, (__v2di)__M, (__v2df)__A);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskload_pd (double const *__P, __m256i __M)
-{
-  return (__m256d) __builtin_ia32_maskloadpd256 ((const __v4df *)__P,
-						 (__v4di)__M);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskstore_pd (double *__P, __m256i __M, __m256d __A)
-{
-  __builtin_ia32_maskstorepd256 ((__v4df *)__P, (__v4di)__M, (__v4df)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskload_ps (float const *__P, __m128i __M)
-{
-  return (__m128) __builtin_ia32_maskloadps ((const __v4sf *)__P,
-					     (__v4si)__M);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskstore_ps (float *__P, __m128i __M, __m128 __A)
-{
-  __builtin_ia32_maskstoreps ((__v4sf *)__P, (__v4si)__M, (__v4sf)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskload_ps (float const *__P, __m256i __M)
-{
-  return (__m256) __builtin_ia32_maskloadps256 ((const __v8sf *)__P,
-						(__v8si)__M);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maskstore_ps (float *__P, __m256i __M, __m256 __A)
-{
-  __builtin_ia32_maskstoreps256 ((__v8sf *)__P, (__v8si)__M, (__v8sf)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movehdup_ps (__m256 __X)
-{
-  return (__m256) __builtin_ia32_movshdup256 ((__v8sf)__X);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_moveldup_ps (__m256 __X)
-{
-  return (__m256) __builtin_ia32_movsldup256 ((__v8sf)__X);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movedup_pd (__m256d __X)
-{
-  return (__m256d) __builtin_ia32_movddup256 ((__v4df)__X);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_lddqu_si256 (__m256i const *__P)
-{
-  return (__m256i) __builtin_ia32_lddqu256 ((char const *)__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_stream_si256 (__m256i *__A, __m256i __B)
-{
-  __builtin_ia32_movntdq256 ((__v4di *)__A, (__v4di)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_stream_pd (double *__A, __m256d __B)
-{
-  __builtin_ia32_movntpd256 (__A, (__v4df)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_stream_ps (float *__P, __m256 __A)
-{
-  __builtin_ia32_movntps256 (__P, (__v8sf)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rcp_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_rcpps256 ((__v8sf)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_rsqrt_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_rsqrtps256 ((__v8sf)__A);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sqrt_pd (__m256d __A)
-{
-  return (__m256d) __builtin_ia32_sqrtpd256 ((__v4df)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_sqrt_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_sqrtps256 ((__v8sf)__A);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_round_pd (__m256d __V, const int __M)
-{
-  return (__m256d) __builtin_ia32_roundpd256 ((__v4df)__V, __M);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_round_ps (__m256 __V, const int __M)
-{
-  return (__m256) __builtin_ia32_roundps256 ((__v8sf)__V, __M);
-}
-#else
-#define _mm256_round_pd(V, M) \
-  ((__m256d) __builtin_ia32_roundpd256 ((__v4df)(__m256d)(V), (int)(M)))
-
-#define _mm256_round_ps(V, M) \
-  ((__m256) __builtin_ia32_roundps256 ((__v8sf)(__m256)(V), (int)(M)))
-#endif
-
-#define _mm256_ceil_pd(V)	_mm256_round_pd ((V), _MM_FROUND_CEIL)
-#define _mm256_floor_pd(V)	_mm256_round_pd ((V), _MM_FROUND_FLOOR)
-#define _mm256_ceil_ps(V)	_mm256_round_ps ((V), _MM_FROUND_CEIL)
-#define _mm256_floor_ps(V)	_mm256_round_ps ((V), _MM_FROUND_FLOOR)
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpckhpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_pd (__m256d __A, __m256d __B)
-{
-  return (__m256d) __builtin_ia32_unpcklpd256 ((__v4df)__A, (__v4df)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpackhi_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpckhps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_unpacklo_ps (__m256 __A, __m256 __B)
-{
-  return (__m256) __builtin_ia32_unpcklps256 ((__v8sf)__A, (__v8sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testz_pd (__m128d __M, __m128d __V)
-{
-  return __builtin_ia32_vtestzpd ((__v2df)__M, (__v2df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testc_pd (__m128d __M, __m128d __V)
-{
-  return __builtin_ia32_vtestcpd ((__v2df)__M, (__v2df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testnzc_pd (__m128d __M, __m128d __V)
-{
-  return __builtin_ia32_vtestnzcpd ((__v2df)__M, (__v2df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testz_ps (__m128 __M, __m128 __V)
-{
-  return __builtin_ia32_vtestzps ((__v4sf)__M, (__v4sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testc_ps (__m128 __M, __m128 __V)
-{
-  return __builtin_ia32_vtestcps ((__v4sf)__M, (__v4sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testnzc_ps (__m128 __M, __m128 __V)
-{
-  return __builtin_ia32_vtestnzcps ((__v4sf)__M, (__v4sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testz_pd (__m256d __M, __m256d __V)
-{
-  return __builtin_ia32_vtestzpd256 ((__v4df)__M, (__v4df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testc_pd (__m256d __M, __m256d __V)
-{
-  return __builtin_ia32_vtestcpd256 ((__v4df)__M, (__v4df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testnzc_pd (__m256d __M, __m256d __V)
-{
-  return __builtin_ia32_vtestnzcpd256 ((__v4df)__M, (__v4df)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testz_ps (__m256 __M, __m256 __V)
-{
-  return __builtin_ia32_vtestzps256 ((__v8sf)__M, (__v8sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testc_ps (__m256 __M, __m256 __V)
-{
-  return __builtin_ia32_vtestcps256 ((__v8sf)__M, (__v8sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testnzc_ps (__m256 __M, __m256 __V)
-{
-  return __builtin_ia32_vtestnzcps256 ((__v8sf)__M, (__v8sf)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testz_si256 (__m256i __M, __m256i __V)
-{
-  return __builtin_ia32_ptestz256 ((__v4di)__M, (__v4di)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testc_si256 (__m256i __M, __m256i __V)
-{
-  return __builtin_ia32_ptestc256 ((__v4di)__M, (__v4di)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_testnzc_si256 (__m256i __M, __m256i __V)
-{
-  return __builtin_ia32_ptestnzc256 ((__v4di)__M, (__v4di)__V);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movemask_pd (__m256d __A)
-{
-  return __builtin_ia32_movmskpd256 ((__v4df)__A);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_movemask_ps (__m256 __A)
-{
-  return __builtin_ia32_movmskps256 ((__v8sf)__A);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_undefined_pd (void)
-{
-  __m256d __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_undefined_ps (void)
-{
-  __m256 __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_undefined_si256 (void)
-{
-  __m256i __Y = __Y;
-  return __Y;
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setzero_pd (void)
-{
-  return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setzero_ps (void)
-{
-  return __extension__ (__m256){ 0.0, 0.0, 0.0, 0.0,
-				 0.0, 0.0, 0.0, 0.0 };
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setzero_si256 (void)
-{
-  return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
-}
-
-/* Create the vector [A B C D].  */
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_pd (double __A, double __B, double __C, double __D)
-{
-  return __extension__ (__m256d){ __D, __C, __B, __A };
-}
-
-/* Create the vector [A B C D E F G H].  */
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_ps (float __A, float __B, float __C, float __D,
-	       float __E, float __F, float __G, float __H)
-{
-  return __extension__ (__m256){ __H, __G, __F, __E,
-				 __D, __C, __B, __A };
-}
-
-/* Create the vector [A B C D E F G H].  */
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_epi32 (int __A, int __B, int __C, int __D,
-		  int __E, int __F, int __G, int __H)
-{
-  return __extension__ (__m256i)(__v8si){ __H, __G, __F, __E,
-					  __D, __C, __B, __A };
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12,
-		  short __q11, short __q10, short __q09, short __q08,
-		  short __q07, short __q06, short __q05, short __q04,
-		  short __q03, short __q02, short __q01, short __q00)
-{
-  return __extension__ (__m256i)(__v16hi){
-    __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
-    __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
-  };
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_epi8  (char __q31, char __q30, char __q29, char __q28,
-		  char __q27, char __q26, char __q25, char __q24,
-		  char __q23, char __q22, char __q21, char __q20,
-		  char __q19, char __q18, char __q17, char __q16,
-		  char __q15, char __q14, char __q13, char __q12,
-		  char __q11, char __q10, char __q09, char __q08,
-		  char __q07, char __q06, char __q05, char __q04,
-		  char __q03, char __q02, char __q01, char __q00)
-{
-  return __extension__ (__m256i)(__v32qi){
-    __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
-    __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15,
-    __q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23,
-    __q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31
-  };
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set_epi64x (long long __A, long long __B, long long __C,
-		   long long __D)
-{
-  return __extension__ (__m256i)(__v4di){ __D, __C, __B, __A };
-}
-
-/* Create a vector with all elements equal to A.  */
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_pd (double __A)
-{
-  return __extension__ (__m256d){ __A, __A, __A, __A };
-}
-
-/* Create a vector with all elements equal to A.  */
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_ps (float __A)
-{
-  return __extension__ (__m256){ __A, __A, __A, __A,
-				 __A, __A, __A, __A };
-}
-
-/* Create a vector with all elements equal to A.  */
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_epi32 (int __A)
-{
-  return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A,
-					  __A, __A, __A, __A };
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_epi16 (short __A)
-{
-  return _mm256_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A,
-			   __A, __A, __A, __A, __A, __A, __A, __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_epi8 (char __A)
-{
-  return _mm256_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
-			  __A, __A, __A, __A, __A, __A, __A, __A,
-			  __A, __A, __A, __A, __A, __A, __A, __A,
-			  __A, __A, __A, __A, __A, __A, __A, __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_set1_epi64x (long long __A)
-{
-  return __extension__ (__m256i)(__v4di){ __A, __A, __A, __A };
-}
-
-/* Create vectors of elements in the reversed order from the
-   _mm256_set_XXX functions.  */
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_pd (double __A, double __B, double __C, double __D)
-{
-  return _mm256_set_pd (__D, __C, __B, __A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_ps (float __A, float __B, float __C, float __D,
-		float __E, float __F, float __G, float __H)
-{
-  return _mm256_set_ps (__H, __G, __F, __E, __D, __C, __B, __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_epi32 (int __A, int __B, int __C, int __D,
-		   int __E, int __F, int __G, int __H)
-{
-  return _mm256_set_epi32 (__H, __G, __F, __E, __D, __C, __B, __A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_epi16 (short __q15, short __q14, short __q13, short __q12,
-		   short __q11, short __q10, short __q09, short __q08,
-		   short __q07, short __q06, short __q05, short __q04,
-		   short __q03, short __q02, short __q01, short __q00)
-{
-  return _mm256_set_epi16 (__q00, __q01, __q02, __q03,
-			   __q04, __q05, __q06, __q07,
-			   __q08, __q09, __q10, __q11,
-			   __q12, __q13, __q14, __q15);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_epi8  (char __q31, char __q30, char __q29, char __q28,
-		   char __q27, char __q26, char __q25, char __q24,
-		   char __q23, char __q22, char __q21, char __q20,
-		   char __q19, char __q18, char __q17, char __q16,
-		   char __q15, char __q14, char __q13, char __q12,
-		   char __q11, char __q10, char __q09, char __q08,
-		   char __q07, char __q06, char __q05, char __q04,
-		   char __q03, char __q02, char __q01, char __q00)
-{
-  return _mm256_set_epi8 (__q00, __q01, __q02, __q03,
-			  __q04, __q05, __q06, __q07,
-			  __q08, __q09, __q10, __q11,
-			  __q12, __q13, __q14, __q15,
-			  __q16, __q17, __q18, __q19,
-			  __q20, __q21, __q22, __q23,
-			  __q24, __q25, __q26, __q27,
-			  __q28, __q29, __q30, __q31);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_setr_epi64x (long long __A, long long __B, long long __C,
-		    long long __D)
-{
-  return _mm256_set_epi64x (__D, __C, __B, __A);
-}
-
-/* Casts between various SP, DP, INT vector types.  Note that these do no
-   conversion of values, they just change the type.  */
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castpd_ps (__m256d __A)
-{
-  return (__m256) __A;
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castpd_si256 (__m256d __A)
-{
-  return (__m256i) __A;
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castps_pd (__m256 __A)
-{
-  return (__m256d) __A;
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castps_si256(__m256 __A)
-{
-  return (__m256i) __A;
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castsi256_ps (__m256i __A)
-{
-  return (__m256) __A;
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castsi256_pd (__m256i __A)
-{
-  return (__m256d) __A;
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castpd256_pd128 (__m256d __A)
-{
-  return (__m128d) __builtin_ia32_pd_pd256 ((__v4df)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castps256_ps128 (__m256 __A)
-{
-  return (__m128) __builtin_ia32_ps_ps256 ((__v8sf)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castsi256_si128 (__m256i __A)
-{
-  return (__m128i) __builtin_ia32_si_si256 ((__v8si)__A);
-}
-
-/* When cast is done from a 128 to 256-bit type, the low 128 bits of
-   the 256-bit result contain source parameter value and the upper 128
-   bits of the result are undefined.  Those intrinsics shouldn't
-   generate any extra moves.  */
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castpd128_pd256 (__m128d __A)
-{
-  return (__m256d) __builtin_ia32_pd256_pd ((__v2df)__A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castps128_ps256 (__m128 __A)
-{
-  return (__m256) __builtin_ia32_ps256_ps ((__v4sf)__A);
-}
-
-extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_castsi128_si256 (__m128i __A)
-{
-  return (__m256i) __builtin_ia32_si256_si ((__v4si)__A);
-}
-
-#ifdef __DISABLE_AVX__
-#undef __DISABLE_AVX__
-#pragma GCC pop_options
-#endif /* __DISABLE_AVX__ */
-
-#endif /* _AVXINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmi2intrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmi2intrin.h	(revision 1046)
+++ 	(revision )
@@ -1,109 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <bmi2intrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _BMI2INTRIN_H_INCLUDED
-#define _BMI2INTRIN_H_INCLUDED
-
-#ifndef __BMI2__
-#pragma GCC push_options
-#pragma GCC target("bmi2")
-#define __DISABLE_BMI2__
-#endif /* __BMI2__ */
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_bzhi_u32 (unsigned int __X, unsigned int __Y)
-{
-  return __builtin_ia32_bzhi_si (__X, __Y);
-}
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_pdep_u32 (unsigned int __X, unsigned int __Y)
-{
-  return __builtin_ia32_pdep_si (__X, __Y);
-}
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_pext_u32 (unsigned int __X, unsigned int __Y)
-{
-  return __builtin_ia32_pext_si (__X, __Y);
-}
-
-#ifdef  __x86_64__
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_bzhi_u64 (unsigned long long __X, unsigned long long __Y)
-{
-  return __builtin_ia32_bzhi_di (__X, __Y);
-}
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_pdep_u64 (unsigned long long __X, unsigned long long __Y)
-{
-  return __builtin_ia32_pdep_di (__X, __Y);
-}
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_pext_u64 (unsigned long long __X, unsigned long long __Y)
-{
-  return __builtin_ia32_pext_di (__X, __Y);
-}
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mulx_u64 (unsigned long long __X, unsigned long long __Y,
-	   unsigned long long *__P)
-{
-  unsigned __int128 __res = (unsigned __int128) __X * __Y;
-  *__P = (unsigned long long) (__res >> 64);
-  return (unsigned long long) __res;
-}
-
-#else /* !__x86_64__ */
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P)
-{
-  unsigned long long __res = (unsigned long long) __X * __Y;
-  *__P = (unsigned int) (__res >> 32);
-  return (unsigned int) __res;
-}
-
-#endif /* !__x86_64__  */
-
-#ifdef __DISABLE_BMI2__
-#undef __DISABLE_BMI2__
-#pragma GCC pop_options
-#endif /* __DISABLE_BMI2__ */
-
-#endif /* _BMI2INTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmiintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmiintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,184 +1,0 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <bmiintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _BMIINTRIN_H_INCLUDED
-#define _BMIINTRIN_H_INCLUDED
-
-#ifndef __BMI__
-#pragma GCC push_options
-#pragma GCC target("bmi")
-#define __DISABLE_BMI__
-#endif /* __BMI__ */
-
-extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__tzcnt_u16 (unsigned short __X)
-{
-  return __builtin_ctzs (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__andn_u32 (unsigned int __X, unsigned int __Y)
-{
-  return ~__X & __Y;
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bextr_u32 (unsigned int __X, unsigned int __Y)
-{
-  return __builtin_ia32_bextr_u32 (__X, __Y);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_bextr_u32 (unsigned int __X, unsigned int __Y, unsigned __Z)
-{
-  return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsi_u32 (unsigned int __X)
-{
-  return __X & -__X;
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsi_u32 (unsigned int __X)
-{
-  return __blsi_u32 (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsmsk_u32 (unsigned int __X)
-{
-  return __X ^ (__X - 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsmsk_u32 (unsigned int __X)
-{
-  return __blsmsk_u32 (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsr_u32 (unsigned int __X)
-{
-  return __X & (__X - 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsr_u32 (unsigned int __X)
-{
-  return __blsr_u32 (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__tzcnt_u32 (unsigned int __X)
-{
-  return __builtin_ctz (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_tzcnt_u32 (unsigned int __X)
-{
-  return __builtin_ctz (__X);
-}
-
-
-#ifdef  __x86_64__
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__andn_u64 (unsigned long long __X, unsigned long long __Y)
-{
-  return ~__X & __Y;
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bextr_u64 (unsigned long long __X, unsigned long long __Y)
-{
-  return __builtin_ia32_bextr_u64 (__X, __Y);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_bextr_u64 (unsigned long long __X, unsigned int __Y, unsigned int __Z)
-{
-  return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsi_u64 (unsigned long long __X)
-{
-  return __X & -__X;
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsi_u64 (unsigned long long __X)
-{
-  return __blsi_u64 (__X);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsmsk_u64 (unsigned long long __X)
-{
-  return __X ^ (__X - 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsmsk_u64 (unsigned long long __X)
-{
-  return __blsmsk_u64 (__X);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsr_u64 (unsigned long long __X)
-{
-  return __X & (__X - 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_blsr_u64 (unsigned long long __X)
-{
-  return __blsr_u64 (__X);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__tzcnt_u64 (unsigned long long __X)
-{
-  return __builtin_ctzll (__X);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_tzcnt_u64 (unsigned long long __X)
-{
-  return __builtin_ctzll (__X);
-}
-
-#endif /* __x86_64__  */
-
-#ifdef __DISABLE_BMI__
-#undef __DISABLE_BMI__
-#pragma GCC pop_options
-#endif /* __DISABLE_BMI__ */
-
-#endif /* _BMIINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/bmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,29 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _BMMINTRIN_H_INCLUDED
-#define _BMMINTRIN_H_INCLUDED
-
-# error "SSE5 instruction set removed from compiler"
-
-#endif /* _BMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/clflushoptintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/clflushoptintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <clflushoptintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _CLFLUSHOPTINTRIN_H_INCLUDED
-#define _CLFLUSHOPTINTRIN_H_INCLUDED
-
-#ifndef __CLFLUSHOPT__
-#pragma GCC push_options
-#pragma GCC target("clflushopt")
-#define __DISABLE_CLFLUSHOPT__
-#endif /* __CLFLUSHOPT__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_clflushopt (void *__A)
-{
-  __builtin_ia32_clflushopt (__A);
-}
-
-#ifdef __DISABLE_CLFLUSHOPT__
-#undef __DISABLE_CLFLUSHOPT__
-#pragma GCC pop_options
-#endif /* __DISABLE_CLFLUSHOPT__ */
-
-#endif /* _CLFLUSHOPTINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/clwbintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/clwbintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <clwbintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _CLWBINTRIN_H_INCLUDED
-#define _CLWBINTRIN_H_INCLUDED
-
-#ifndef __CLWB__
-#pragma GCC push_options
-#pragma GCC target("clwb")
-#define __DISABLE_CLWB__
-#endif /* __CLWB__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_clwb (void *__A)
-{
-  __builtin_ia32_clwb (__A);
-}
-
-#ifdef __DISABLE_CLWB__
-#undef __DISABLE_CLWB__
-#pragma GCC pop_options
-#endif /* __DISABLE_CLWB__ */
-
-#endif /* _CLWBINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/cpuid.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/cpuid.h	(revision 1046)
+++ 	(revision )
@@ -1,244 +1,0 @@
-/*
- * Copyright (C) 2007-2015 Free Software Foundation, Inc.
- *
- * This file is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 3, or (at your option) any
- * later version.
- * 
- * This file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- * 
- * Under Section 7 of GPL version 3, you are granted additional
- * permissions described in the GCC Runtime Library Exception, version
- * 3.1, as published by the Free Software Foundation.
- * 
- * You should have received a copy of the GNU General Public License and
- * a copy of the GCC Runtime Library Exception along with this program;
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-/* %ecx */
-#define bit_SSE3	(1 << 0)
-#define bit_PCLMUL	(1 << 1)
-#define bit_LZCNT	(1 << 5)
-#define bit_SSSE3	(1 << 9)
-#define bit_FMA		(1 << 12)
-#define bit_CMPXCHG16B	(1 << 13)
-#define bit_SSE4_1	(1 << 19)
-#define bit_SSE4_2	(1 << 20)
-#define bit_MOVBE	(1 << 22)
-#define bit_POPCNT	(1 << 23)
-#define bit_AES		(1 << 25)
-#define bit_XSAVE	(1 << 26)
-#define bit_OSXSAVE	(1 << 27)
-#define bit_AVX		(1 << 28)
-#define bit_F16C	(1 << 29)
-#define bit_RDRND	(1 << 30)
-
-/* %edx */
-#define bit_CMPXCHG8B	(1 << 8)
-#define bit_CMOV	(1 << 15)
-#define bit_MMX		(1 << 23)
-#define bit_FXSAVE	(1 << 24)
-#define bit_SSE		(1 << 25)
-#define bit_SSE2	(1 << 26)
-
-/* Extended Features */
-/* %ecx */
-#define bit_LAHF_LM	(1 << 0)
-#define bit_ABM		(1 << 5)
-#define bit_SSE4a	(1 << 6)
-#define bit_PRFCHW	(1 << 8)
-#define bit_XOP         (1 << 11)
-#define bit_LWP 	(1 << 15)
-#define bit_FMA4        (1 << 16)
-#define bit_TBM         (1 << 21)
-#define bit_MWAITX      (1 << 29)
-
-/* %edx */
-#define bit_MMXEXT	(1 << 22)
-#define bit_LM		(1 << 29)
-#define bit_3DNOWP	(1 << 30)
-#define bit_3DNOW	(1 << 31)
-
-/* Extended Features (%eax == 7) */
-/* %ebx */
-#define bit_FSGSBASE	(1 << 0)
-#define bit_BMI	(1 << 3)
-#define bit_HLE	(1 << 4)
-#define bit_AVX2	(1 << 5)
-#define bit_BMI2	(1 << 8)
-#define bit_RTM	(1 << 11)
-#define bit_MPX	(1 << 14)
-#define bit_AVX512F	(1 << 16)
-#define bit_AVX512DQ	(1 << 17)
-#define bit_RDSEED	(1 << 18)
-#define bit_ADX	(1 << 19)
-#define bit_AVX512IFMA	(1 << 21)
-#define bit_PCOMMIT	(1 << 22)
-#define bit_CLFLUSHOPT	(1 << 23)
-#define bit_CLWB	(1 << 24)
-#define bit_AVX512PF	(1 << 26)
-#define bit_AVX512ER	(1 << 27)
-#define bit_AVX512CD	(1 << 28)
-#define bit_SHA		(1 << 29)
-#define bit_AVX512BW	(1 << 30)
-#define bit_AVX512VL	(1 << 31)
-
-/* %ecx */
-#define bit_PREFETCHWT1	  (1 << 0)
-#define bit_AVX512VBMI	(1 << 1)
-
-/* XFEATURE_ENABLED_MASK register bits (%eax == 13, %ecx == 0) */
-#define bit_BNDREGS     (1 << 3)
-#define bit_BNDCSR      (1 << 4)
-
-/* Extended State Enumeration Sub-leaf (%eax == 13, %ecx == 1) */
-#define bit_XSAVEOPT	(1 << 0)
-#define bit_XSAVEC	(1 << 1)
-#define bit_XSAVES	(1 << 3)
-
-/* Signatures for different CPU implementations as returned in uses
-   of cpuid with level 0.  */
-#define signature_AMD_ebx	0x68747541
-#define signature_AMD_ecx	0x444d4163
-#define signature_AMD_edx	0x69746e65
-
-#define signature_CENTAUR_ebx	0x746e6543
-#define signature_CENTAUR_ecx	0x736c7561
-#define signature_CENTAUR_edx	0x48727561
-
-#define signature_CYRIX_ebx	0x69727943
-#define signature_CYRIX_ecx	0x64616574
-#define signature_CYRIX_edx	0x736e4978
-
-#define signature_INTEL_ebx	0x756e6547
-#define signature_INTEL_ecx	0x6c65746e
-#define signature_INTEL_edx	0x49656e69
-
-#define signature_TM1_ebx	0x6e617254
-#define signature_TM1_ecx	0x55504361
-#define signature_TM1_edx	0x74656d73
-
-#define signature_TM2_ebx	0x756e6547
-#define signature_TM2_ecx	0x3638784d
-#define signature_TM2_edx	0x54656e69
-
-#define signature_NSC_ebx	0x646f6547
-#define signature_NSC_ecx	0x43534e20
-#define signature_NSC_edx	0x79622065
-
-#define signature_NEXGEN_ebx	0x4778654e
-#define signature_NEXGEN_ecx	0x6e657669
-#define signature_NEXGEN_edx	0x72446e65
-
-#define signature_RISE_ebx	0x65736952
-#define signature_RISE_ecx	0x65736952
-#define signature_RISE_edx	0x65736952
-
-#define signature_SIS_ebx	0x20536953
-#define signature_SIS_ecx	0x20536953
-#define signature_SIS_edx	0x20536953
-
-#define signature_UMC_ebx	0x20434d55
-#define signature_UMC_ecx	0x20434d55
-#define signature_UMC_edx	0x20434d55
-
-#define signature_VIA_ebx	0x20414956
-#define signature_VIA_ecx	0x20414956
-#define signature_VIA_edx	0x20414956
-
-#define signature_VORTEX_ebx	0x74726f56
-#define signature_VORTEX_ecx	0x436f5320
-#define signature_VORTEX_edx	0x36387865
-
-#define __cpuid(level, a, b, c, d)			\
-  __asm__ ("cpuid\n\t"					\
-	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level))
-
-#define __cpuid_count(level, count, a, b, c, d)		\
-  __asm__ ("cpuid\n\t"					\
-	   : "=a" (a), "=b" (b), "=c" (c), "=d" (d)	\
-	   : "0" (level), "2" (count))
-
-
-/* Return highest supported input value for cpuid instruction.  ext can
-   be either 0x0 or 0x8000000 to return highest supported value for
-   basic or extended cpuid information.  Function returns 0 if cpuid
-   is not supported or whatever cpuid returns in eax register.  If sig
-   pointer is non-null, then first four bytes of the signature
-   (as found in ebx register) are returned in location pointed by sig.  */
-
-static __inline unsigned int
-__get_cpuid_max (unsigned int __ext, unsigned int *__sig)
-{
-  unsigned int __eax, __ebx, __ecx, __edx;
-
-#ifndef __x86_64__
-  /* See if we can use cpuid.  On AMD64 we always can.  */
-#if __GNUC__ >= 3
-  __asm__ ("pushf{l|d}\n\t"
-	   "pushf{l|d}\n\t"
-	   "pop{l}\t%0\n\t"
-	   "mov{l}\t{%0, %1|%1, %0}\n\t"
-	   "xor{l}\t{%2, %0|%0, %2}\n\t"
-	   "push{l}\t%0\n\t"
-	   "popf{l|d}\n\t"
-	   "pushf{l|d}\n\t"
-	   "pop{l}\t%0\n\t"
-	   "popf{l|d}\n\t"
-	   : "=&r" (__eax), "=&r" (__ebx)
-	   : "i" (0x00200000));
-#else
-/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
-   nor alternatives in i386 code.  */
-  __asm__ ("pushfl\n\t"
-	   "pushfl\n\t"
-	   "popl\t%0\n\t"
-	   "movl\t%0, %1\n\t"
-	   "xorl\t%2, %0\n\t"
-	   "pushl\t%0\n\t"
-	   "popfl\n\t"
-	   "pushfl\n\t"
-	   "popl\t%0\n\t"
-	   "popfl\n\t"
-	   : "=&r" (__eax), "=&r" (__ebx)
-	   : "i" (0x00200000));
-#endif
-
-  if (!((__eax ^ __ebx) & 0x00200000))
-    return 0;
-#endif
-
-  /* Host supports cpuid.  Return highest supported cpuid input value.  */
-  __cpuid (__ext, __eax, __ebx, __ecx, __edx);
-
-  if (__sig)
-    *__sig = __ebx;
-
-  return __eax;
-}
-
-/* Return cpuid data for requested cpuid level, as found in returned
-   eax, ebx, ecx and edx registers.  The function checks if cpuid is
-   supported and returns 1 for valid cpuid information or 0 for
-   unsupported cpuid level.  All pointers are required to be non-null.  */
-
-static __inline int
-__get_cpuid (unsigned int __level,
-	     unsigned int *__eax, unsigned int *__ebx,
-	     unsigned int *__ecx, unsigned int *__edx)
-{
-  unsigned int __ext = __level & 0x80000000;
-
-  if (__get_cpuid_max (__ext, 0) < __level)
-    return 0;
-
-  __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
-  return 1;
-}
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/cross-stdarg.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/cross-stdarg.h	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef __CROSS_STDARG_H_INCLUDED
-#define __CROSS_STDARG_H_INCLUDED
-
-/* Make sure that for non x64 targets cross builtins are defined.  */
-#ifndef __x86_64__
-/* Call abi ms_abi.  */
-#define __builtin_ms_va_list __builtin_va_list
-#define __builtin_ms_va_copy __builtin_va_copy
-#define __builtin_ms_va_start __builtin_va_start
-#define __builtin_ms_va_end __builtin_va_end
-
-/* Call abi sysv_abi.  */
-#define __builtin_sysv_va_list __builtin_va_list
-#define __builtin_sysv_va_copy __builtin_va_copy
-#define __builtin_sysv_va_start __builtin_va_start
-#define __builtin_sysv_va_end __builtin_va_end
-#endif
-
-#define __ms_va_copy(__d,__s) __builtin_ms_va_copy(__d,__s)
-#define __ms_va_start(__v,__l) __builtin_ms_va_start(__v,__l)
-#define __ms_va_arg(__v,__l)	__builtin_va_arg(__v,__l)
-#define __ms_va_end(__v) __builtin_ms_va_end(__v)
-
-#define __sysv_va_copy(__d,__s) __builtin_sysv_va_copy(__d,__s)
-#define __sysv_va_start(__v,__l) __builtin_sysv_va_start(__v,__l)
-#define __sysv_va_arg(__v,__l)	__builtin_va_arg(__v,__l)
-#define __sysv_va_end(__v) __builtin_sysv_va_end(__v)
-
-#ifndef __GNUC_SYSV_VA_LIST
-#define __GNUC_SYSV_VA_LIST
-  typedef __builtin_sysv_va_list __gnuc_sysv_va_list;
-#endif
-
-#ifndef _SYSV_VA_LIST_DEFINED
-#define _SYSV_VA_LIST_DEFINED
-  typedef __gnuc_sysv_va_list sysv_va_list;
-#endif
-
-#ifndef __GNUC_MS_VA_LIST
-#define __GNUC_MS_VA_LIST
-  typedef __builtin_ms_va_list __gnuc_ms_va_list;
-#endif
-
-#ifndef _MS_VA_LIST_DEFINED
-#define _MS_VA_LIST_DEFINED
-  typedef __gnuc_ms_va_list ms_va_list;
-#endif
-
-#endif /* __CROSS_STDARG_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/emmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/emmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,1561 +1,0 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 9.0.  */
-
-#ifndef _EMMINTRIN_H_INCLUDED
-#define _EMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSE header files*/
-#include <xmmintrin.h>
-
-#ifndef __SSE2__
-#pragma GCC push_options
-#pragma GCC target("sse2")
-#define __DISABLE_SSE2__
-#endif /* __SSE2__ */
-
-/* SSE2 */
-typedef double __v2df __attribute__ ((__vector_size__ (16)));
-typedef long long __v2di __attribute__ ((__vector_size__ (16)));
-typedef unsigned long long __v2du __attribute__ ((__vector_size__ (16)));
-typedef int __v4si __attribute__ ((__vector_size__ (16)));
-typedef unsigned int __v4su __attribute__ ((__vector_size__ (16)));
-typedef short __v8hi __attribute__ ((__vector_size__ (16)));
-typedef unsigned short __v8hu __attribute__ ((__vector_size__ (16)));
-typedef char __v16qi __attribute__ ((__vector_size__ (16)));
-typedef unsigned char __v16qu __attribute__ ((__vector_size__ (16)));
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
-typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
-
-/* Create a selector for use with the SHUFPD instruction.  */
-#define _MM_SHUFFLE2(fp1,fp0) \
- (((fp1) << 1) | (fp0))
-
-/* Create a vector with element 0 as F and the rest zero.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_sd (double __F)
-{
-  return __extension__ (__m128d){ __F, 0.0 };
-}
-
-/* Create a vector with both elements equal to F.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_pd (double __F)
-{
-  return __extension__ (__m128d){ __F, __F };
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pd1 (double __F)
-{
-  return _mm_set1_pd (__F);
-}
-
-/* Create a vector with the lower value X and upper value W.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pd (double __W, double __X)
-{
-  return __extension__ (__m128d){ __X, __W };
-}
-
-/* Create a vector with the lower value W and upper value X.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_pd (double __W, double __X)
-{
-  return __extension__ (__m128d){ __W, __X };
-}
-
-/* Create an undefined vector.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_undefined_pd (void)
-{
-  __m128d __Y = __Y;
-  return __Y;
-}
-
-/* Create a vector of zeros.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_pd (void)
-{
-  return __extension__ (__m128d){ 0.0, 0.0 };
-}
-
-/* Sets the low DPFP value of A from the low value of B.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_move_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
-}
-
-/* Load two DPFP values from P.  The address must be 16-byte aligned.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_pd (double const *__P)
-{
-  return *(__m128d *)__P;
-}
-
-/* Load two DPFP values from P.  The address need not be 16-byte aligned.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadu_pd (double const *__P)
-{
-  return __builtin_ia32_loadupd (__P);
-}
-
-/* Create a vector with all two elements equal to *P.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load1_pd (double const *__P)
-{
-  return _mm_set1_pd (*__P);
-}
-
-/* Create a vector with element 0 as *P and the rest zero.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_sd (double const *__P)
-{
-  return _mm_set_sd (*__P);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_pd1 (double const *__P)
-{
-  return _mm_load1_pd (__P);
-}
-
-/* Load two DPFP values in reverse order.  The address must be aligned.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadr_pd (double const *__P)
-{
-  __m128d __tmp = _mm_load_pd (__P);
-  return __builtin_ia32_shufpd (__tmp, __tmp, _MM_SHUFFLE2 (0,1));
-}
-
-/* Store two DPFP values.  The address must be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_pd (double *__P, __m128d __A)
-{
-  *(__m128d *)__P = __A;
-}
-
-/* Store two DPFP values.  The address need not be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storeu_pd (double *__P, __m128d __A)
-{
-  __builtin_ia32_storeupd (__P, __A);
-}
-
-/* Stores the lower DPFP value.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_sd (double *__P, __m128d __A)
-{
-  *__P = ((__v2df)__A)[0];
-}
-
-extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_f64 (__m128d __A)
-{
-  return ((__v2df)__A)[0];
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storel_pd (double *__P, __m128d __A)
-{
-  _mm_store_sd (__P, __A);
-}
-
-/* Stores the upper DPFP value.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storeh_pd (double *__P, __m128d __A)
-{
-  *__P = ((__v2df)__A)[1];
-}
-
-/* Store the lower DPFP value across two words.
-   The address must be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store1_pd (double *__P, __m128d __A)
-{
-  _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,0)));
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_pd1 (double *__P, __m128d __A)
-{
-  _mm_store1_pd (__P, __A);
-}
-
-/* Store two DPFP values in reverse order.  The address must be aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storer_pd (double *__P, __m128d __A)
-{
-  _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,1)));
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi128_si32 (__m128i __A)
-{
-  return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
-}
-
-#ifdef __x86_64__
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi128_si64 (__m128i __A)
-{
-  return ((__v2di)__A)[0];
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi128_si64x (__m128i __A)
-{
-  return ((__v2di)__A)[0];
-}
-#endif
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d) ((__v2df)__A + (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d) ((__v2df)__A - (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d) ((__v2df)__A * (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d) ((__v2df)__A / (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_pd (__m128d __A)
-{
-  return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A);
-}
-
-/* Return pair {sqrt (B[0]), A[1]}.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_sd (__m128d __A, __m128d __B)
-{
-  __v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
-  return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_and_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_andnot_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_or_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_xor_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnlt_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnle_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpngt_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnge_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpord_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpunord_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
-					 (__v2df)
-					 __builtin_ia32_cmpltsd ((__v2df) __B,
-								 (__v2df)
-								 __A));
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
-					 (__v2df)
-					 __builtin_ia32_cmplesd ((__v2df) __B,
-								 (__v2df)
-								 __A));
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnlt_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnle_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpngt_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
-					 (__v2df)
-					 __builtin_ia32_cmpnltsd ((__v2df) __B,
-								  (__v2df)
-								  __A));
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnge_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
-					 (__v2df)
-					 __builtin_ia32_cmpnlesd ((__v2df) __B,
-								  (__v2df)
-								  __A));
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpord_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpunord_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comieq_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comilt_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comile_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comigt_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comige_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comineq_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomieq_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomilt_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomile_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomigt_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomige_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomineq_sd (__m128d __A, __m128d __B)
-{
-  return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);
-}
-
-/* Create a vector of Qi, where i is the element number.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_epi64x (long long __q1, long long __q0)
-{
-  return __extension__ (__m128i)(__v2di){ __q0, __q1 };
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_epi64 (__m64 __q1,  __m64 __q0)
-{
-  return _mm_set_epi64x ((long long)__q1, (long long)__q0);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
-{
-  return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
-	       short __q3, short __q2, short __q1, short __q0)
-{
-  return __extension__ (__m128i)(__v8hi){
-    __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
-	      char __q11, char __q10, char __q09, char __q08,
-	      char __q07, char __q06, char __q05, char __q04,
-	      char __q03, char __q02, char __q01, char __q00)
-{
-  return __extension__ (__m128i)(__v16qi){
-    __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
-    __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
-  };
-}
-
-/* Set all of the elements of the vector to A.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_epi64x (long long __A)
-{
-  return _mm_set_epi64x (__A, __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_epi64 (__m64 __A)
-{
-  return _mm_set_epi64 (__A, __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_epi32 (int __A)
-{
-  return _mm_set_epi32 (__A, __A, __A, __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_epi16 (short __A)
-{
-  return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_epi8 (char __A)
-{
-  return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
-		       __A, __A, __A, __A, __A, __A, __A, __A);
-}
-
-/* Create a vector of Qi, where i is the element number.
-   The parameter order is reversed from the _mm_set_epi* functions.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_epi64 (__m64 __q0, __m64 __q1)
-{
-  return _mm_set_epi64 (__q1, __q0);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3)
-{
-  return _mm_set_epi32 (__q3, __q2, __q1, __q0);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3,
-	        short __q4, short __q5, short __q6, short __q7)
-{
-  return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03,
-	       char __q04, char __q05, char __q06, char __q07,
-	       char __q08, char __q09, char __q10, char __q11,
-	       char __q12, char __q13, char __q14, char __q15)
-{
-  return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08,
-		       __q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00);
-}
-
-/* Create a vector with element 0 as *P and the rest zero.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_si128 (__m128i const *__P)
-{
-  return *__P;
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadu_si128 (__m128i const *__P)
-{
-  return (__m128i) __builtin_ia32_loaddqu ((char const *)__P);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadl_epi64 (__m128i const *__P)
-{
-  return _mm_set_epi64 ((__m64)0LL, *(__m64 *)__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_si128 (__m128i *__P, __m128i __B)
-{
-  *__P = __B;
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storeu_si128 (__m128i *__P, __m128i __B)
-{
-  __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storel_epi64 (__m128i *__P, __m128i __B)
-{
-  *(long long *)__P = ((__v2di)__B)[0];
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movepi64_pi64 (__m128i __B)
-{
-  return (__m64) ((__v2di)__B)[0];
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movpi64_epi64 (__m64 __A)
-{
-  return _mm_set_epi64 ((__m64)0LL, __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_move_epi64 (__m128i __A)
-{
-  return (__m128i)__builtin_ia32_movq128 ((__v2di) __A);
-}
-
-/* Create an undefined vector.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_undefined_si128 (void)
-{
-  __m128i __Y = __Y;
-  return __Y;
-}
-
-/* Create a vector of zeros.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_si128 (void)
-{
-  return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi32_pd (__m128i __A)
-{
-  return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi32_ps (__m128i __A)
-{
-  return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_epi32 (__m128d __A)
-{
-  return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_pi32 (__m128d __A)
-{
-  return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpd_ps (__m128d __A)
-{
-  return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttpd_epi32 (__m128d __A)
-{
-  return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttpd_pi32 (__m128d __A)
-{
-  return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpi32_pd (__m64 __A)
-{
-  return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_epi32 (__m128 __A)
-{
-  return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttps_epi32 (__m128 __A)
-{
-  return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_pd (__m128 __A)
-{
-  return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_si32 (__m128d __A)
-{
-  return __builtin_ia32_cvtsd2si ((__v2df) __A);
-}
-
-#ifdef __x86_64__
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_si64 (__m128d __A)
-{
-  return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_si64x (__m128d __A)
-{
-  return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
-}
-#endif
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_si32 (__m128d __A)
-{
-  return __builtin_ia32_cvttsd2si ((__v2df) __A);
-}
-
-#ifdef __x86_64__
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_si64 (__m128d __A)
-{
-  return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttsd_si64x (__m128d __A)
-{
-  return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
-}
-#endif
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsd_ss (__m128 __A, __m128d __B)
-{
-  return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi32_sd (__m128d __A, int __B)
-{
-  return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
-}
-
-#ifdef __x86_64__
-/* Intel intrinsic.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_sd (__m128d __A, long long __B)
-{
-  return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64x_sd (__m128d __A, long long __B)
-{
-  return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
-}
-#endif
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_sd (__m128d __A, __m128 __B)
-{
-  return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask)
-{
-  return (__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, __mask);
-}
-#else
-#define _mm_shuffle_pd(A, B, N)						\
-  ((__m128d)__builtin_ia32_shufpd ((__v2df)(__m128d)(A),		\
-				   (__v2df)(__m128d)(B), (int)(N)))
-#endif
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_pd (__m128d __A, __m128d __B)
-{
-  return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadh_pd (__m128d __A, double const *__B)
-{
-  return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadl_pd (__m128d __A, double const *__B)
-{
-  return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movemask_pd (__m128d __A)
-{
-  return __builtin_ia32_movmskpd ((__v2df)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packs_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packs_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packus_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v16qu)__A + (__v16qu)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hu)__A + (__v8hu)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v4su)__A + (__v4su)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du)__A + (__v2du)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_epu16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v16qu)__A - (__v16qu)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hu)__A - (__v8hu)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v4su)__A - (__v4su)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du)__A - (__v2du)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_epu16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_madd_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhi_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mullo_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hu)__A * (__v8hu)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_su32 (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_epi16 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_epi32 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_epi64 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srai_epi16 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srai_epi32 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_bsrli_si128 (__m128i __A, const int __N)
-{
-  return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_bslli_si128 (__m128i __A, const int __N)
-{
-  return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_si128 (__m128i __A, const int __N)
-{
-  return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_si128 (__m128i __A, const int __N)
-{
-  return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8);
-}
-#else
-#define _mm_bsrli_si128(A, N) \
-  ((__m128i)__builtin_ia32_psrldqi128 ((__m128i)(A), (int)(N) * 8))
-#define _mm_bslli_si128(A, N) \
-  ((__m128i)__builtin_ia32_pslldqi128 ((__m128i)(A), (int)(N) * 8))
-#define _mm_srli_si128(A, N) \
-  ((__m128i)__builtin_ia32_psrldqi128 ((__m128i)(A), (int)(N) * 8))
-#define _mm_slli_si128(A, N) \
-  ((__m128i)__builtin_ia32_pslldqi128 ((__m128i)(A), (int)(N) * 8))
-#endif
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_epi16 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_epi32 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_epi64 (__m128i __A, int __B)
-{
-  return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sra_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sra_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_epi64 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_and_si128 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du)__A & (__v2du)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_andnot_si128 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_or_si128 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du)__A | (__v2du)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_xor_si128 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v2du)__A ^ (__v2du)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v16qi)__A == (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hi)__A == (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v4si)__A == (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v16qi)__A < (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hi)__A < (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v4si)__A < (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi8 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v16qi)__A > (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v8hi)__A > (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) ((__v4si)__A > (__v4si)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_epi16 (__m128i const __A, int const __N)
-{
-  return (unsigned short) __builtin_ia32_vec_ext_v8hi ((__v8hi)__A, __N);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_epi16 (__m128i const __A, int const __D, int const __N)
-{
-  return (__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)__A, __D, __N);
-}
-#else
-#define _mm_extract_epi16(A, N) \
-  ((int) (unsigned short) __builtin_ia32_vec_ext_v8hi ((__v8hi)(__m128i)(A), (int)(N)))
-#define _mm_insert_epi16(A, D, N)				\
-  ((__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)(__m128i)(A),	\
-					  (int)(D), (int)(N)))
-#endif
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epi16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movemask_epi8 (__m128i __A)
-{
-  return __builtin_ia32_pmovmskb128 ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhi_epu16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shufflehi_epi16 (__m128i __A, const int __mask)
-{
-  return (__m128i)__builtin_ia32_pshufhw ((__v8hi)__A, __mask);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shufflelo_epi16 (__m128i __A, const int __mask)
-{
-  return (__m128i)__builtin_ia32_pshuflw ((__v8hi)__A, __mask);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_epi32 (__m128i __A, const int __mask)
-{
-  return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask);
-}
-#else
-#define _mm_shufflehi_epi16(A, N) \
-  ((__m128i)__builtin_ia32_pshufhw ((__v8hi)(__m128i)(A), (int)(N)))
-#define _mm_shufflelo_epi16(A, N) \
-  ((__m128i)__builtin_ia32_pshuflw ((__v8hi)(__m128i)(A), (int)(N)))
-#define _mm_shuffle_epi32(A, N) \
-  ((__m128i)__builtin_ia32_pshufd ((__v4si)(__m128i)(A), (int)(N)))
-#endif
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C)
-{
-  __builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_avg_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_avg_epu16 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sad_epu8 (__m128i __A, __m128i __B)
-{
-  return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_si32 (int *__A, int __B)
-{
-  __builtin_ia32_movnti (__A, __B);
-}
-
-#ifdef __x86_64__
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_si64 (long long int *__A, long long int __B)
-{
-  __builtin_ia32_movnti64 (__A, __B);
-}
-#endif
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_si128 (__m128i *__A, __m128i __B)
-{
-  __builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_pd (double *__A, __m128d __B)
-{
-  __builtin_ia32_movntpd (__A, (__v2df)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_clflush (void const *__A)
-{
-  __builtin_ia32_clflush (__A);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_lfence (void)
-{
-  __builtin_ia32_lfence ();
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mfence (void)
-{
-  __builtin_ia32_mfence ();
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi32_si128 (int __A)
-{
-  return _mm_set_epi32 (0, 0, 0, __A);
-}
-
-#ifdef __x86_64__
-/* Intel intrinsic.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_si128 (long long __A)
-{
-  return _mm_set_epi64x (0, __A);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64x_si128 (long long __A)
-{
-  return _mm_set_epi64x (0, __A);
-}
-#endif
-
-/* Casts between various SP, DP, INT vector types.  Note that these do no
-   conversion of values, they just change the type.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castpd_ps(__m128d __A)
-{
-  return (__m128) __A;
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castpd_si128(__m128d __A)
-{
-  return (__m128i) __A;
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castps_pd(__m128 __A)
-{
-  return (__m128d) __A;
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castps_si128(__m128 __A)
-{
-  return (__m128i) __A;
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castsi128_ps(__m128i __A)
-{
-  return (__m128) __A;
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_castsi128_pd(__m128i __A)
-{
-  return (__m128d) __A;
-}
-
-#ifdef __DISABLE_SSE2__
-#undef __DISABLE_SSE2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE2__ */
-
-#endif /* _EMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/f16cintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/f16cintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,98 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <f16intrin.h> directly; include <x86intrin.h> or <immintrin.h> instead."
-#endif
-
-#ifndef _F16CINTRIN_H_INCLUDED
-#define _F16CINTRIN_H_INCLUDED
-
-#ifndef __F16C__
-#pragma GCC push_options
-#pragma GCC target("f16c")
-#define __DISABLE_F16C__
-#endif /* __F16C__ */
-
-extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_cvtsh_ss (unsigned short __S)
-{
-  __v8hi __H = __extension__ (__v8hi){ (short) __S, 0, 0, 0, 0, 0, 0, 0 };
-  __v4sf __A = __builtin_ia32_vcvtph2ps (__H);
-  return __builtin_ia32_vec_ext_v4sf (__A, 0);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtph_ps (__m128i __A)
-{
-  return (__m128) __builtin_ia32_vcvtph2ps ((__v8hi) __A);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtph_ps (__m128i __A)
-{
-  return (__m256) __builtin_ia32_vcvtph2ps256 ((__v8hi) __A);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_cvtss_sh (float __F, const int __I)
-{
-  __v4sf __A =  __extension__ (__v4sf){ __F, 0, 0, 0 };
-  __v8hi __H = __builtin_ia32_vcvtps2ph (__A, __I);
-  return (unsigned short) __builtin_ia32_vec_ext_v8hi (__H, 0);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_ph (__m128 __A, const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph ((__v4sf) __A, __I);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cvtps_ph (__m256 __A, const int __I)
-{
-  return (__m128i) __builtin_ia32_vcvtps2ph256 ((__v8sf) __A, __I);
-}
-#else
-#define _cvtss_sh(__F, __I)						\
-  (__extension__ 							\
-   ({									\
-      __v4sf __A =  __extension__ (__v4sf){ __F, 0, 0, 0 };		\
-      __v8hi __H = __builtin_ia32_vcvtps2ph (__A, __I);			\
-      (unsigned short) __builtin_ia32_vec_ext_v8hi (__H, 0);		\
-    }))
-
-#define _mm_cvtps_ph(A, I) \
-  ((__m128i) __builtin_ia32_vcvtps2ph ((__v4sf)(__m128) A, (int) (I)))
-
-#define _mm256_cvtps_ph(A, I) \
-  ((__m128i) __builtin_ia32_vcvtps2ph256 ((__v8sf)(__m256) A, (int) (I)))
-#endif /* __OPTIMIZE */
-
-#ifdef __DISABLE_F16C__
-#undef __DISABLE_F16C__
-#pragma GCC pop_options
-#endif /* __DISABLE_F16C__ */
-
-#endif /* _F16CINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/float.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/float.h	(revision 1046)
+++ 	(revision )
@@ -1,275 +1,0 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  5.2.4.2.2  Characteristics of floating types <float.h>
- */
-
-#ifndef _FLOAT_H___
-#define _FLOAT_H___
-
-/* Radix of exponent representation, b. */
-#undef FLT_RADIX
-#define FLT_RADIX	__FLT_RADIX__
-
-/* Number of base-FLT_RADIX digits in the significand, p.  */
-#undef FLT_MANT_DIG
-#undef DBL_MANT_DIG
-#undef LDBL_MANT_DIG
-#define FLT_MANT_DIG	__FLT_MANT_DIG__
-#define DBL_MANT_DIG	__DBL_MANT_DIG__
-#define LDBL_MANT_DIG	__LDBL_MANT_DIG__
-
-/* Number of decimal digits, q, such that any floating-point number with q
-   decimal digits can be rounded into a floating-point number with p radix b
-   digits and back again without change to the q decimal digits,
-
-	p * log10(b)			if b is a power of 10
-	floor((p - 1) * log10(b))	otherwise
-*/
-#undef FLT_DIG
-#undef DBL_DIG
-#undef LDBL_DIG
-#define FLT_DIG		__FLT_DIG__
-#define DBL_DIG		__DBL_DIG__
-#define LDBL_DIG	__LDBL_DIG__
-
-/* Minimum int x such that FLT_RADIX**(x-1) is a normalized float, emin */
-#undef FLT_MIN_EXP
-#undef DBL_MIN_EXP
-#undef LDBL_MIN_EXP
-#define FLT_MIN_EXP	__FLT_MIN_EXP__
-#define DBL_MIN_EXP	__DBL_MIN_EXP__
-#define LDBL_MIN_EXP	__LDBL_MIN_EXP__
-
-/* Minimum negative integer such that 10 raised to that power is in the
-   range of normalized floating-point numbers,
-
-	ceil(log10(b) * (emin - 1))
-*/
-#undef FLT_MIN_10_EXP
-#undef DBL_MIN_10_EXP
-#undef LDBL_MIN_10_EXP
-#define FLT_MIN_10_EXP	__FLT_MIN_10_EXP__
-#define DBL_MIN_10_EXP	__DBL_MIN_10_EXP__
-#define LDBL_MIN_10_EXP	__LDBL_MIN_10_EXP__
-
-/* Maximum int x such that FLT_RADIX**(x-1) is a representable float, emax.  */
-#undef FLT_MAX_EXP
-#undef DBL_MAX_EXP
-#undef LDBL_MAX_EXP
-#define FLT_MAX_EXP	__FLT_MAX_EXP__
-#define DBL_MAX_EXP	__DBL_MAX_EXP__
-#define LDBL_MAX_EXP	__LDBL_MAX_EXP__
-
-/* Maximum integer such that 10 raised to that power is in the range of
-   representable finite floating-point numbers,
-
-	floor(log10((1 - b**-p) * b**emax))
-*/
-#undef FLT_MAX_10_EXP
-#undef DBL_MAX_10_EXP
-#undef LDBL_MAX_10_EXP
-#define FLT_MAX_10_EXP	__FLT_MAX_10_EXP__
-#define DBL_MAX_10_EXP	__DBL_MAX_10_EXP__
-#define LDBL_MAX_10_EXP	__LDBL_MAX_10_EXP__
-
-/* Maximum representable finite floating-point number,
-
-	(1 - b**-p) * b**emax
-*/
-#undef FLT_MAX
-#undef DBL_MAX
-#undef LDBL_MAX
-#define FLT_MAX		__FLT_MAX__
-#define DBL_MAX		__DBL_MAX__
-#define LDBL_MAX	__LDBL_MAX__
-
-/* The difference between 1 and the least value greater than 1 that is
-   representable in the given floating point type, b**1-p.  */
-#undef FLT_EPSILON
-#undef DBL_EPSILON
-#undef LDBL_EPSILON
-#define FLT_EPSILON	__FLT_EPSILON__
-#define DBL_EPSILON	__DBL_EPSILON__
-#define LDBL_EPSILON	__LDBL_EPSILON__
-
-/* Minimum normalized positive floating-point number, b**(emin - 1).  */
-#undef FLT_MIN
-#undef DBL_MIN
-#undef LDBL_MIN
-#define FLT_MIN		__FLT_MIN__
-#define DBL_MIN		__DBL_MIN__
-#define LDBL_MIN	__LDBL_MIN__
-
-/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown.  */
-/* ??? This is supposed to change with calls to fesetround in <fenv.h>.  */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/* The floating-point expression evaluation method.
-        -1  indeterminate
-         0  evaluate all operations and constants just to the range and
-            precision of the type
-         1  evaluate operations and constants of type float and double
-            to the range and precision of the double type, evaluate
-            long double operations and constants to the range and
-            precision of the long double type
-         2  evaluate all operations and constants to the range and
-            precision of the long double type
-
-   ??? This ought to change with the setting of the fp control word;
-   the value provided by the compiler assumes the widest setting.  */
-#undef FLT_EVAL_METHOD
-#define FLT_EVAL_METHOD	__FLT_EVAL_METHOD__
-
-/* Number of decimal digits, n, such that any floating-point number in the
-   widest supported floating type with pmax radix b digits can be rounded
-   to a floating-point number with n decimal digits and back again without
-   change to the value,
-
-	pmax * log10(b)			if b is a power of 10
-	ceil(1 + pmax * log10(b))	otherwise
-*/
-#undef DECIMAL_DIG
-#define DECIMAL_DIG	__DECIMAL_DIG__
-
-#endif /* C99 */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
-/* Versions of DECIMAL_DIG for each floating-point type.  */
-#undef FLT_DECIMAL_DIG
-#undef DBL_DECIMAL_DIG
-#undef LDBL_DECIMAL_DIG
-#define FLT_DECIMAL_DIG		__FLT_DECIMAL_DIG__
-#define DBL_DECIMAL_DIG		__DBL_DECIMAL_DIG__
-#define LDBL_DECIMAL_DIG	__DECIMAL_DIG__
-
-/* Whether types support subnormal numbers.  */
-#undef FLT_HAS_SUBNORM
-#undef DBL_HAS_SUBNORM
-#undef LDBL_HAS_SUBNORM
-#define FLT_HAS_SUBNORM		__FLT_HAS_DENORM__
-#define DBL_HAS_SUBNORM		__DBL_HAS_DENORM__
-#define LDBL_HAS_SUBNORM	__LDBL_HAS_DENORM__
-
-/* Minimum positive values, including subnormals.  */
-#undef FLT_TRUE_MIN
-#undef DBL_TRUE_MIN
-#undef LDBL_TRUE_MIN
-#define FLT_TRUE_MIN	__FLT_DENORM_MIN__
-#define DBL_TRUE_MIN	__DBL_DENORM_MIN__
-#define LDBL_TRUE_MIN	__LDBL_DENORM_MIN__
-
-#endif /* C11 */
-
-#ifdef __STDC_WANT_DEC_FP__
-/* Draft Technical Report 24732, extension for decimal floating-point
-   arithmetic: Characteristic of decimal floating types <float.h>.  */
-
-/* Number of base-FLT_RADIX digits in the significand, p.  */
-#undef DEC32_MANT_DIG
-#undef DEC64_MANT_DIG
-#undef DEC128_MANT_DIG
-#define DEC32_MANT_DIG	__DEC32_MANT_DIG__
-#define DEC64_MANT_DIG	__DEC64_MANT_DIG__
-#define DEC128_MANT_DIG	__DEC128_MANT_DIG__
-
-/* Minimum exponent. */
-#undef DEC32_MIN_EXP
-#undef DEC64_MIN_EXP
-#undef DEC128_MIN_EXP
-#define DEC32_MIN_EXP	__DEC32_MIN_EXP__
-#define DEC64_MIN_EXP	__DEC64_MIN_EXP__
-#define DEC128_MIN_EXP	__DEC128_MIN_EXP__
-
-/* Maximum exponent. */
-#undef DEC32_MAX_EXP
-#undef DEC64_MAX_EXP
-#undef DEC128_MAX_EXP
-#define DEC32_MAX_EXP	__DEC32_MAX_EXP__
-#define DEC64_MAX_EXP	__DEC64_MAX_EXP__
-#define DEC128_MAX_EXP	__DEC128_MAX_EXP__
-
-/* Maximum representable finite decimal floating-point number
-   (there are 6, 15, and 33 9s after the decimal points respectively). */
-#undef DEC32_MAX
-#undef DEC64_MAX
-#undef DEC128_MAX
-#define DEC32_MAX   __DEC32_MAX__
-#define DEC64_MAX   __DEC64_MAX__
-#define DEC128_MAX  __DEC128_MAX__
-
-/* The difference between 1 and the least value greater than 1 that is
-   representable in the given floating point type. */
-#undef DEC32_EPSILON
-#undef DEC64_EPSILON
-#undef DEC128_EPSILON
-#define DEC32_EPSILON	__DEC32_EPSILON__
-#define DEC64_EPSILON	__DEC64_EPSILON__
-#define DEC128_EPSILON	__DEC128_EPSILON__
-
-/* Minimum normalized positive floating-point number. */
-#undef DEC32_MIN
-#undef DEC64_MIN
-#undef DEC128_MIN
-#define DEC32_MIN	__DEC32_MIN__
-#define DEC64_MIN	__DEC64_MIN__
-#define DEC128_MIN	__DEC128_MIN__
-
-/* Minimum subnormal positive floating-point number. */
-#undef DEC32_SUBNORMAL_MIN
-#undef DEC64_SUBNORMAL_MIN
-#undef DEC128_SUBNORMAL_MIN
-#define DEC32_SUBNORMAL_MIN       __DEC32_SUBNORMAL_MIN__
-#define DEC64_SUBNORMAL_MIN       __DEC64_SUBNORMAL_MIN__
-#define DEC128_SUBNORMAL_MIN      __DEC128_SUBNORMAL_MIN__
-
-/* The floating-point expression evaluation method.
-         -1  indeterminate
-         0  evaluate all operations and constants just to the range and
-            precision of the type
-         1  evaluate operations and constants of type _Decimal32 
-	    and _Decimal64 to the range and precision of the _Decimal64 
-            type, evaluate _Decimal128 operations and constants to the 
-	    range and precision of the _Decimal128 type;
-	 2  evaluate all operations and constants to the range and
-	    precision of the _Decimal128 type.  */
-
-#undef DEC_EVAL_METHOD
-#define DEC_EVAL_METHOD	__DEC_EVAL_METHOD__
-
-#endif /* __STDC_WANT_DEC_FP__ */
-
-#if defined (__MINGW32__) && ! defined (_MINGW_FLOAT_H_)
-/* MinGW.org's runtime libraries provide a supplementary float.h, which
- * must also be included to complement this one.  Ideally that MinGW.org
- * header should be included first, and it will include this one, but in
- * a default configuration it doesn't normally happen this way; when we
- * didn't see it first, include the MinGW.org header now!
- */
-# include_next <float.h>
-#endif
-
-#endif /* _FLOAT_H___ */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fma4intrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fma4intrin.h	(revision 1046)
+++ 	(revision )
@@ -1,241 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-# error "Never use <fma4intrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _FMA4INTRIN_H_INCLUDED
-#define _FMA4INTRIN_H_INCLUDED
-
-/* We need definitions from the SSE4A, SSE3, SSE2 and SSE header files.  */
-#include <ammintrin.h>
-
-#ifndef __FMA4__
-#pragma GCC push_options
-#pragma GCC target("fma4")
-#define __DISABLE_FMA4__
-#endif /* __FMA4__ */
-
-/* 128b Floating point multiply/add type instructions.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msub_ps (__m128 __A, __m128 __B, __m128 __C)
-
-{
-  return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msub_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msub_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmacc_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmacc_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, (__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmacc_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmacc_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, (__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmsub_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmsub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmsub_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_nmsub_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddsub_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddsub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msubadd_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_msubadd_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
-}
-
-/* 256b Floating point multiply/add type instructions.  */
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_macc_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_macc_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_msub_ps (__m256 __A, __m256 __B, __m256 __C)
-
-{
-  return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_msub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_nmacc_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_nmacc_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, (__v4df)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_nmsub_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_nmsub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maddsub_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_maddsub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_msubadd_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_msubadd_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C);
-}
-
-#ifdef __DISABLE_FMA4__
-#undef __DISABLE_FMA4__
-#pragma GCC pop_options
-#endif /* __DISABLE_FMA4__ */
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fmaintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fmaintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,302 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-# error "Never use <fmaintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _FMAINTRIN_H_INCLUDED
-#define _FMAINTRIN_H_INCLUDED
-
-#ifndef __FMA__
-#pragma GCC push_options
-#pragma GCC target("fma")
-#define __DISABLE_FMA__
-#endif /* __FMA__ */
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B,
-                                           (__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmadd_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B,
-                                              (__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B,
-                                          (__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B,
-                                             (__v8sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d) __builtin_ia32_vfmaddsd3 ((__v2df)__A, (__v2df)__B,
-                                             (__v2df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmadd_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128) __builtin_ia32_vfmaddss3 ((__v4sf)__A, (__v4sf)__B,
-                                            (__v4sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B,
-                                           -(__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmsub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B,
-                                              -(__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B,
-                                          -(__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmsub_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B,
-                                             -(__v8sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, (__v2df)__B,
-                                            -(__v2df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsub_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, (__v4sf)__B,
-                                           -(__v4sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B,
-                                           (__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B,
-                                              (__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B,
-                                          (__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B,
-                                             (__v8sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B,
-                                            (__v2df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmadd_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B,
-                                           (__v4sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B,
-                                           -(__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B,
-                                              -(__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B,
-                                          -(__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B,
-                                             -(__v8sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_sd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddsd3 ((__v2df)__A, -(__v2df)__B,
-                                            -(__v2df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fnmsub_ss (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddss3 ((__v4sf)__A, -(__v4sf)__B,
-                                           -(__v4sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B,
-                                              (__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A,
-                                                 (__v4df)__B,
-                                                 (__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B,
-                                             (__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A,
-                                                (__v8sf)__B,
-                                                (__v8sf)__C);
-}
-
-extern __inline __m128d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C)
-{
-  return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B,
-                                              -(__v2df)__C);
-}
-
-extern __inline __m256d
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C)
-{
-  return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A,
-                                                 (__v4df)__B,
-                                                 -(__v4df)__C);
-}
-
-extern __inline __m128
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C)
-{
-  return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B,
-                                             -(__v4sf)__C);
-}
-
-extern __inline __m256
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C)
-{
-  return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A,
-                                                (__v8sf)__B,
-                                                -(__v8sf)__C);
-}
-
-#ifdef __DISABLE_FMA__
-#undef __DISABLE_FMA__
-#pragma GCC pop_options
-#endif /* __DISABLE_FMA__ */
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fxsrintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/fxsrintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,73 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <fxsrintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
-
-#ifndef _FXSRINTRIN_H_INCLUDED
-#define _FXSRINTRIN_H_INCLUDED
-
-#ifndef __FXSR__
-#pragma GCC push_options
-#pragma GCC target("fxsr")
-#define __DISABLE_FXSR__
-#endif /* __FXSR__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_fxsave (void *__P)
-{
-  return __builtin_ia32_fxsave (__P);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_fxrstor (void *__P)
-{
-  return __builtin_ia32_fxrstor (__P);
-}
-
-#ifdef __x86_64__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_fxsave64 (void *__P)
-{
-    return __builtin_ia32_fxsave64 (__P);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_fxrstor64 (void *__P)
-{
-    return __builtin_ia32_fxrstor64 (__P);
-}
-#endif
-
-#ifdef __DISABLE_FXSR__
-#undef __DISABLE_FXSR__
-#pragma GCC pop_options
-#endif /* __DISABLE_FXSR__ */
-
-
-#endif /* _FXSRINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ia32intrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ia32intrin.h	(revision 1046)
+++ 	(revision )
@@ -1,299 +1,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-# error "Never use <ia32intrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-/* 32bit bsf */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bsfd (int __X)
-{
-  return __builtin_ctz (__X);
-}
-
-/* 32bit bsr */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bsrd (int __X)
-{
-  return __builtin_ia32_bsrsi (__X);
-}
-
-/* 32bit bswap */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bswapd (int __X)
-{
-  return __builtin_bswap32 (__X);
-}
-
-#ifndef __SSE4_2__
-#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_2__ */
-
-/* 32bit accumulate CRC32 (polynomial 0x11EDC6F41) value.  */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__crc32b (unsigned int __C, unsigned char __V)
-{
-  return __builtin_ia32_crc32qi (__C, __V);
-}
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__crc32w (unsigned int __C, unsigned short __V)
-{
-  return __builtin_ia32_crc32hi (__C, __V);
-}
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__crc32d (unsigned int __C, unsigned int __V)
-{
-  return __builtin_ia32_crc32si (__C, __V);
-}
-
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
-
-/* 32bit popcnt */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__popcntd (unsigned int __X)
-{
-  return __builtin_popcount (__X);
-}
-
-/* rdpmc */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rdpmc (int __S)
-{
-  return __builtin_ia32_rdpmc (__S);
-}
-
-/* rdtsc */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rdtsc (void)
-{
-  return __builtin_ia32_rdtsc ();
-}
-
-/* rdtscp */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rdtscp (unsigned int *__A)
-{
-  return __builtin_ia32_rdtscp (__A);
-}
-
-/* 8bit rol */
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rolb (unsigned char __X, int __C)
-{
-  return __builtin_ia32_rolqi (__X, __C);
-}
-
-/* 16bit rol */
-extern __inline unsigned short
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rolw (unsigned short __X, int __C)
-{
-  return __builtin_ia32_rolhi (__X, __C);
-}
-
-/* 32bit rol */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rold (unsigned int __X, int __C)
-{
-  return (__X << __C) | (__X >> (32 - __C));
-}
-
-/* 8bit ror */
-extern __inline unsigned char
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rorb (unsigned char __X, int __C)
-{
-  return __builtin_ia32_rorqi (__X, __C);
-}
-
-/* 16bit ror */
-extern __inline unsigned short
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rorw (unsigned short __X, int __C)
-{
-  return __builtin_ia32_rorhi (__X, __C);
-}
-
-/* 32bit ror */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rord (unsigned int __X, int __C)
-{
-  return (__X >> __C) | (__X << (32 - __C));
-}
-
-/* Pause */
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__pause (void)
-{
-  __builtin_ia32_pause ();
-}
-
-#ifdef __x86_64__
-/* 64bit bsf */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bsfq (long long __X)
-{
-  return __builtin_ctzll (__X);
-}
-
-/* 64bit bsr */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bsrq (long long __X)
-{
-  return __builtin_ia32_bsrdi (__X);
-}
-
-/* 64bit bswap */
-extern __inline long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bswapq (long long __X)
-{
-  return __builtin_bswap64 (__X);
-}
-
-#ifndef __SSE4_2__
-#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_2__ */
-
-/* 64bit accumulate CRC32 (polynomial 0x11EDC6F41) value.  */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__crc32q (unsigned long long __C, unsigned long long __V)
-{
-  return __builtin_ia32_crc32di (__C, __V);
-}
-
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
-
-/* 64bit popcnt */
-extern __inline long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__popcntq (unsigned long long __X)
-{
-  return __builtin_popcountll (__X);
-}
-
-/* 64bit rol */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rolq (unsigned long long __X, int __C)
-{
-  return (__X << __C) | (__X >> (64 - __C));
-}
-
-/* 64bit ror */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__rorq (unsigned long long __X, int __C)
-{
-  return (__X >> __C) | (__X << (64 - __C));
-}
-
-/* Read flags register */
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__readeflags (void)
-{
-  return __builtin_ia32_readeflags_u64 ();
-}
-
-/* Write flags register */
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__writeeflags (unsigned long long X)
-{
-  __builtin_ia32_writeeflags_u64 (X);
-}
-
-#define _bswap64(a)		__bswapq(a)
-#define _popcnt64(a)		__popcntq(a)
-#else
-
-/* Read flags register */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__readeflags (void)
-{
-  return __builtin_ia32_readeflags_u32 ();
-}
-
-/* Write flags register */
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__writeeflags (unsigned int X)
-{
-  __builtin_ia32_writeeflags_u32 (X);
-}
-
-#endif
-
-/* On LP64 systems, longs are 64-bit.  Use the appropriate rotate
- * function.  */
-#ifdef __LP64__
-#define _lrotl(a,b)		__rolq((a), (b))
-#define _lrotr(a,b)		__rorq((a), (b))
-#else
-#define _lrotl(a,b)		__rold((a), (b))
-#define _lrotr(a,b)		__rord((a), (b))
-#endif
-
-#define _bit_scan_forward(a)	__bsfd(a)
-#define _bit_scan_reverse(a)	__bsrd(a)
-#define _bswap(a)		__bswapd(a)
-#define _popcnt32(a)		__popcntd(a)
-#define _rdpmc(a)		__rdpmc(a)
-#define _rdtsc()		__rdtsc()
-#define _rdtscp(a)		__rdtscp(a)
-#define _rotwl(a,b)		__rolw((a), (b))
-#define _rotwr(a,b)		__rorw((a), (b))
-#define _rotl(a,b)		__rold((a), (b))
-#define _rotr(a,b)		__rord((a), (b))
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/immintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/immintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,195 +1,0 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#define _IMMINTRIN_H_INCLUDED
-
-#include <mmintrin.h>
-
-#include <xmmintrin.h>
-
-#include <emmintrin.h>
-
-#include <pmmintrin.h>
-
-#include <tmmintrin.h>
-
-#include <smmintrin.h>
-
-#include <wmmintrin.h>
-
-#include <avxintrin.h>
-
-#include <avx2intrin.h>
-
-#include <avx512fintrin.h>
-
-#include <avx512erintrin.h>
-
-#include <avx512pfintrin.h>
-
-#include <avx512cdintrin.h>
-
-#include <avx512vlintrin.h>
-
-#include <avx512bwintrin.h>
-
-#include <avx512dqintrin.h>
-
-#include <avx512vlbwintrin.h>
-
-#include <avx512vldqintrin.h>
-
-#include <avx512ifmaintrin.h>
-
-#include <avx512ifmavlintrin.h>
-
-#include <avx512vbmiintrin.h>
-
-#include <avx512vbmivlintrin.h>
-
-#include <shaintrin.h>
-
-#include <lzcntintrin.h>
-
-#include <bmiintrin.h>
-
-#include <bmi2intrin.h>
-
-#include <fmaintrin.h>
-
-#include <f16cintrin.h>
-
-#include <rtmintrin.h>
-
-#include <xtestintrin.h>
-
-#ifndef __RDRND__
-#pragma GCC push_options
-#pragma GCC target("rdrnd")
-#define __DISABLE_RDRND__
-#endif /* __RDRND__ */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdrand16_step (unsigned short *__P)
-{
-  return __builtin_ia32_rdrand16_step (__P);
-}
-
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdrand32_step (unsigned int *__P)
-{
-  return __builtin_ia32_rdrand32_step (__P);
-}
-#ifdef __DISABLE_RDRND__
-#undef __DISABLE_RDRND__
-#pragma GCC pop_options
-#endif /* __DISABLE_RDRND__ */
-
-#ifdef  __x86_64__
-
-#ifndef __FSGSBASE__
-#pragma GCC push_options
-#pragma GCC target("fsgsbase")
-#define __DISABLE_FSGSBASE__
-#endif /* __FSGSBASE__ */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_readfsbase_u32 (void)
-{
-  return __builtin_ia32_rdfsbase32 ();
-}
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_readfsbase_u64 (void)
-{
-  return __builtin_ia32_rdfsbase64 ();
-}
-
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_readgsbase_u32 (void)
-{
-  return __builtin_ia32_rdgsbase32 ();
-}
-
-extern __inline unsigned long long
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_readgsbase_u64 (void)
-{
-  return __builtin_ia32_rdgsbase64 ();
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_writefsbase_u32 (unsigned int __B)
-{
-  __builtin_ia32_wrfsbase32 (__B);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_writefsbase_u64 (unsigned long long __B)
-{
-  __builtin_ia32_wrfsbase64 (__B);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_writegsbase_u32 (unsigned int __B)
-{
-  __builtin_ia32_wrgsbase32 (__B);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_writegsbase_u64 (unsigned long long __B)
-{
-  __builtin_ia32_wrgsbase64 (__B);
-}
-#ifdef __DISABLE_FSGSBASE__
-#undef __DISABLE_FSGSBASE__
-#pragma GCC pop_options
-#endif /* __DISABLE_FSGSBASE__ */
-
-#ifndef __RDRND__
-#pragma GCC push_options
-#pragma GCC target("rdrnd")
-#define __DISABLE_RDRND__
-#endif /* __RDRND__ */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdrand64_step (unsigned long long *__P)
-{
-  return __builtin_ia32_rdrand64_step (__P);
-}
-#ifdef __DISABLE_RDRND__
-#undef __DISABLE_RDRND__
-#pragma GCC pop_options
-#endif /* __DISABLE_RDRND__ */
-
-#endif /* __x86_64__  */
-
-#endif /* _IMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/iso646.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/iso646.h	(revision 1046)
+++ 	(revision )
@@ -1,45 +1,0 @@
-/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.9  Alternative spellings  <iso646.h>
- */
-
-#ifndef _ISO646_H
-#define _ISO646_H
-
-#ifndef __cplusplus
-#define and	&&
-#define and_eq	&=
-#define bitand	&
-#define bitor	|
-#define compl	~
-#define not	!
-#define not_eq	!=
-#define or	||
-#define or_eq	|=
-#define xor	^
-#define xor_eq	^=
-#endif
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/lwpintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/lwpintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,105 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-# error "Never use <lwpintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _LWPINTRIN_H_INCLUDED
-#define _LWPINTRIN_H_INCLUDED
-
-#ifndef __LWP__
-#pragma GCC push_options
-#pragma GCC target("lwp")
-#define __DISABLE_LWP__
-#endif /* __LWP__ */
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__llwpcb (void *pcbAddress)
-{
-  __builtin_ia32_llwpcb (pcbAddress);
-}
-
-extern __inline void * __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__slwpcb (void)
-{
-  return __builtin_ia32_slwpcb ();
-}
-
-#ifdef __OPTIMIZE__
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lwpval32 (unsigned int data2, unsigned int data1, unsigned int flags)
-{
-  __builtin_ia32_lwpval32 (data2, data1, flags);
-}
-
-#ifdef __x86_64__
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lwpval64 (unsigned long long data2, unsigned int data1, unsigned int flags)
-{
-  __builtin_ia32_lwpval64 (data2, data1, flags);
-}
-#endif
-#else
-#define __lwpval32(D2, D1, F) \
-  (__builtin_ia32_lwpval32 ((unsigned int) (D2), (unsigned int) (D1), \
-			    (unsigned int) (F)))
-#ifdef __x86_64__
-#define __lwpval64(D2, D1, F) \
-  (__builtin_ia32_lwpval64 ((unsigned long long) (D2), (unsigned int) (D1), \
-			    (unsigned int) (F)))
-#endif
-#endif
-
-
-#ifdef __OPTIMIZE__
-extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lwpins32 (unsigned int data2, unsigned int data1, unsigned int flags)
-{
-  return __builtin_ia32_lwpins32 (data2, data1, flags);
-}
-
-#ifdef __x86_64__
-extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lwpins64 (unsigned long long data2, unsigned int data1, unsigned int flags)
-{
-  return __builtin_ia32_lwpins64 (data2, data1, flags);
-}
-#endif
-#else
-#define __lwpins32(D2, D1, F) \
-  (__builtin_ia32_lwpins32 ((unsigned int) (D2), (unsigned int) (D1), \
-			    (unsigned int) (F)))
-#ifdef __x86_64__
-#define __lwpins64(D2, D1, F) \
-  (__builtin_ia32_lwpins64 ((unsigned long long) (D2), (unsigned int) (D1), \
-			    (unsigned int) (F)))
-#endif
-#endif
-
-#ifdef __DISABLE_LWP__
-#undef __DISABLE_LWP__
-#pragma GCC pop_options
-#endif /* __DISABLE_LWP__ */
-
-#endif /* _LWPINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/lzcntintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/lzcntintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <lzcntintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-
-#ifndef _LZCNTINTRIN_H_INCLUDED
-#define _LZCNTINTRIN_H_INCLUDED
-
-#ifndef __LZCNT__
-#pragma GCC push_options
-#pragma GCC target("lzcnt")
-#define __DISABLE_LZCNT__
-#endif /* __LZCNT__ */
-
-extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lzcnt16 (unsigned short __X)
-{
-  return __builtin_clzs (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lzcnt32 (unsigned int __X)
-{
-  return __builtin_clz (__X);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_lzcnt_u32 (unsigned int __X)
-{
-  return __builtin_clz (__X);
-}
-
-#ifdef __x86_64__
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__lzcnt64 (unsigned long long __X)
-{
-  return __builtin_clzll (__X);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_lzcnt_u64 (unsigned long long __X)
-{
-  return __builtin_clzll (__X);
-}
-#endif
-
-#ifdef __DISABLE_LZCNT__
-#undef __DISABLE_LZCNT__
-#pragma GCC pop_options
-#endif /* __DISABLE_LZCNT__ */
-
-#endif /* _LZCNTINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mm3dnow.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mm3dnow.h	(revision 1046)
+++ 	(revision )
@@ -1,218 +1,0 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the mm3dnow.h (of supposedly AMD origin) included with
-   MSVC 7.1.  */
-
-#ifndef _MM3DNOW_H_INCLUDED
-#define _MM3DNOW_H_INCLUDED
-
-#include <mmintrin.h>
-#include <prfchwintrin.h>
-
-#ifndef __3dNOW__
-#pragma GCC push_options
-#pragma GCC target("3dnow")
-#define __DISABLE_3dNOW__
-#endif /* __3dNOW__ */
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_femms (void)
-{
-  __builtin_ia32_femms();
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pavgusb (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pavgusb ((__v8qi)__A, (__v8qi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pf2id (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pf2id ((__v2sf)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfacc (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfacc ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfadd (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfadd ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfcmpeq (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfcmpeq ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfcmpge (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfcmpge ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfcmpgt (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfcmpgt ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfmax (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfmax ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfmin (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfmin ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfmul (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfmul ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfrcp (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pfrcp ((__v2sf)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfrcpit1 (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfrcpit1 ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfrcpit2 (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfrcpit2 ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfrsqrt (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pfrsqrt ((__v2sf)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfrsqit1 (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfrsqit1 ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfsub (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfsub ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfsubr (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfsubr ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pi2fd (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pi2fd ((__v2si)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmulhrw (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pmulhrw ((__v4hi)__A, (__v4hi)__B);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_prefetch (void *__P)
-{
-  __builtin_prefetch (__P, 0, 3 /* _MM_HINT_T0 */);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_from_float (float __A)
-{
-  return __extension__ (__m64)(__v2sf){ __A, 0.0f };
-}
-
-extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_to_float (__m64 __A)
-{
-  union { __v2sf v; float a[2]; } __tmp;
-  __tmp.v = (__v2sf)__A;
-  return __tmp.a[0];
-}
-
-#ifdef __3dNOW_A__
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pf2iw (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pf2iw ((__v2sf)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfnacc (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfnacc ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pfpnacc (__m64 __A, __m64 __B)
-{
-  return (__m64)__builtin_ia32_pfpnacc ((__v2sf)__A, (__v2sf)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pi2fw (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pi2fw ((__v2si)__A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pswapd (__m64 __A)
-{
-  return (__m64)__builtin_ia32_pswapdsf ((__v2sf)__A);
-}
-
-#endif /* __3dNOW_A__ */
-
-#ifdef __DISABLE_3dNOW__
-#undef __DISABLE_3dNOW__
-#pragma GCC pop_options
-#endif /* __DISABLE_3dNOW__ */
-
-#endif /* _MM3DNOW_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mm_malloc.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mm_malloc.h	(revision 1046)
+++ 	(revision )
@@ -1,74 +1,0 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _MM_MALLOC_H_INCLUDED
-#define _MM_MALLOC_H_INCLUDED
-
-#include <stdlib.h>
-#include <errno.h>
-
-static __inline__ void* 
-_mm_malloc (size_t size, size_t align)
-{
-  void * malloc_ptr;
-  void * aligned_ptr;
-
-  /* Error if align is not a power of two.  */
-  if (align & (align - 1))
-    {
-      errno = EINVAL;
-      return ((void*) 0);
-    }
-
-  if (size == 0)
-    return ((void *) 0);
-
- /* Assume malloc'd pointer is aligned at least to sizeof (void*).
-    If necessary, add another sizeof (void*) to store the value
-    returned by malloc. Effectively this enforces a minimum alignment
-    of sizeof double. */     
-    if (align < 2 * sizeof (void *))
-      align = 2 * sizeof (void *);
-
-  malloc_ptr = malloc (size + align);
-  if (!malloc_ptr)
-    return ((void *) 0);
-
-  /* Align  We have at least sizeof (void *) space below malloc'd ptr. */
-  aligned_ptr = (void *) (((size_t) malloc_ptr + align)
-			  & ~((size_t) (align) - 1));
-
-  /* Store the original pointer just before p.  */	
-  ((void **) aligned_ptr) [-1] = malloc_ptr;
-
-  return aligned_ptr;
-}
-
-static __inline__ void
-_mm_free (void * aligned_ptr)
-{
-  if (aligned_ptr)
-    free (((void **) aligned_ptr) [-1]);
-}
-
-#endif /* _MM_MALLOC_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,942 +1,0 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 9.0.  */
-
-#ifndef _MMINTRIN_H_INCLUDED
-#define _MMINTRIN_H_INCLUDED
-
-#ifndef __MMX__
-#pragma GCC push_options
-#pragma GCC target("mmx")
-#define __DISABLE_MMX__
-#endif /* __MMX__ */
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
-
-/* Internal data types for implementing the intrinsics.  */
-typedef int __v2si __attribute__ ((__vector_size__ (8)));
-typedef short __v4hi __attribute__ ((__vector_size__ (8)));
-typedef char __v8qi __attribute__ ((__vector_size__ (8)));
-typedef long long __v1di __attribute__ ((__vector_size__ (8)));
-typedef float __v2sf __attribute__ ((__vector_size__ (8)));
-
-/* Empty the multimedia state.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_empty (void)
-{
-  __builtin_ia32_emms ();
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_empty (void)
-{
-  _mm_empty ();
-}
-
-/* Convert I to a __m64 object.  The integer is zero-extended to 64-bits.  */
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi32_si64 (int __i)
-{
-  return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
-}
-
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_from_int (int __i)
-{
-  return _mm_cvtsi32_si64 (__i);
-}
-
-#ifdef __x86_64__
-/* Convert I to a __m64 object.  */
-
-/* Intel intrinsic.  */
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_from_int64 (long long __i)
-{
-  return (__m64) __i;
-}
-
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_m64 (long long __i)
-{
-  return (__m64) __i;
-}
-
-/* Microsoft intrinsic.  */
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64x_si64 (long long __i)
-{
-  return (__m64) __i;
-}
-
-extern __inline __m64  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pi64x (long long __i)
-{
-  return (__m64) __i;
-}
-#endif
-
-/* Convert the lower 32 bits of the __m64 object into an integer.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_si32 (__m64 __i)
-{
-  return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_to_int (__m64 __i)
-{
-  return _mm_cvtsi64_si32 (__i);
-}
-
-#ifdef __x86_64__
-/* Convert the __m64 object to a 64bit integer.  */
-
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_to_int64 (__m64 __i)
-{
-  return (long long)__i;
-}
-
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtm64_si64 (__m64 __i)
-{
-  return (long long)__i;
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_si64x (__m64 __i)
-{
-  return (long long)__i;
-}
-#endif
-
-/* Pack the four 16-bit values from M1 into the lower four 8-bit values of
-   the result, and the four 16-bit values from M2 into the upper four 8-bit
-   values of the result, all with signed saturation.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packs_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_packsswb (__m64 __m1, __m64 __m2)
-{
-  return _mm_packs_pi16 (__m1, __m2);
-}
-
-/* Pack the two 32-bit values from M1 in to the lower two 16-bit values of
-   the result, and the two 32-bit values from M2 into the upper two 16-bit
-   values of the result, all with signed saturation.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packs_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_packssdw (__m64 __m1, __m64 __m2)
-{
-  return _mm_packs_pi32 (__m1, __m2);
-}
-
-/* Pack the four 16-bit values from M1 into the lower four 8-bit values of
-   the result, and the four 16-bit values from M2 into the upper four 8-bit
-   values of the result, all with unsigned saturation.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packs_pu16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_packuswb (__m64 __m1, __m64 __m2)
-{
-  return _mm_packs_pu16 (__m1, __m2);
-}
-
-/* Interleave the four 8-bit values from the high half of M1 with the four
-   8-bit values from the high half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpckhbw (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpackhi_pi8 (__m1, __m2);
-}
-
-/* Interleave the two 16-bit values from the high half of M1 with the two
-   16-bit values from the high half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpckhwd (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpackhi_pi16 (__m1, __m2);
-}
-
-/* Interleave the 32-bit value from the high half of M1 with the 32-bit
-   value from the high half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpckhdq (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpackhi_pi32 (__m1, __m2);
-}
-
-/* Interleave the four 8-bit values from the low half of M1 with the four
-   8-bit values from the low half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpcklbw (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpacklo_pi8 (__m1, __m2);
-}
-
-/* Interleave the two 16-bit values from the low half of M1 with the two
-   16-bit values from the low half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpcklwd (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpacklo_pi16 (__m1, __m2);
-}
-
-/* Interleave the 32-bit value from the low half of M1 with the 32-bit
-   value from the low half of M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_punpckldq (__m64 __m1, __m64 __m2)
-{
-  return _mm_unpacklo_pi32 (__m1, __m2);
-}
-
-/* Add the 8-bit values in M1 to the 8-bit values in M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddb (__m64 __m1, __m64 __m2)
-{
-  return _mm_add_pi8 (__m1, __m2);
-}
-
-/* Add the 16-bit values in M1 to the 16-bit values in M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddw (__m64 __m1, __m64 __m2)
-{
-  return _mm_add_pi16 (__m1, __m2);
-}
-
-/* Add the 32-bit values in M1 to the 32-bit values in M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddd (__m64 __m1, __m64 __m2)
-{
-  return _mm_add_pi32 (__m1, __m2);
-}
-
-/* Add the 64-bit values in M1 to the 64-bit values in M2.  */
-#ifndef __SSE2__
-#pragma GCC push_options
-#pragma GCC target("sse2")
-#define __DISABLE_SSE2__
-#endif /* __SSE2__ */
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_si64 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddq ((__v1di)__m1, (__v1di)__m2);
-}
-#ifdef __DISABLE_SSE2__
-#undef __DISABLE_SSE2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE2__ */
-
-/* Add the 8-bit values in M1 to the 8-bit values in M2 using signed
-   saturated arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddsb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddsb (__m64 __m1, __m64 __m2)
-{
-  return _mm_adds_pi8 (__m1, __m2);
-}
-
-/* Add the 16-bit values in M1 to the 16-bit values in M2 using signed
-   saturated arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddsw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddsw (__m64 __m1, __m64 __m2)
-{
-  return _mm_adds_pi16 (__m1, __m2);
-}
-
-/* Add the 8-bit values in M1 to the 8-bit values in M2 using unsigned
-   saturated arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_pu8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddusb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddusb (__m64 __m1, __m64 __m2)
-{
-  return _mm_adds_pu8 (__m1, __m2);
-}
-
-/* Add the 16-bit values in M1 to the 16-bit values in M2 using unsigned
-   saturated arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_adds_pu16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_paddusw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_paddusw (__m64 __m1, __m64 __m2)
-{
-  return _mm_adds_pu16 (__m1, __m2);
-}
-
-/* Subtract the 8-bit values in M2 from the 8-bit values in M1.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubb (__m64 __m1, __m64 __m2)
-{
-  return _mm_sub_pi8 (__m1, __m2);
-}
-
-/* Subtract the 16-bit values in M2 from the 16-bit values in M1.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubw (__m64 __m1, __m64 __m2)
-{
-  return _mm_sub_pi16 (__m1, __m2);
-}
-
-/* Subtract the 32-bit values in M2 from the 32-bit values in M1.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubd (__m64 __m1, __m64 __m2)
-{
-  return _mm_sub_pi32 (__m1, __m2);
-}
-
-/* Add the 64-bit values in M1 to the 64-bit values in M2.  */
-#ifndef __SSE2__
-#pragma GCC push_options
-#pragma GCC target("sse2")
-#define __DISABLE_SSE2__
-#endif /* __SSE2__ */
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_si64 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubq ((__v1di)__m1, (__v1di)__m2);
-}
-#ifdef __DISABLE_SSE2__
-#undef __DISABLE_SSE2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE2__ */
-
-/* Subtract the 8-bit values in M2 from the 8-bit values in M1 using signed
-   saturating arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubsb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubsb (__m64 __m1, __m64 __m2)
-{
-  return _mm_subs_pi8 (__m1, __m2);
-}
-
-/* Subtract the 16-bit values in M2 from the 16-bit values in M1 using
-   signed saturating arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubsw (__m64 __m1, __m64 __m2)
-{
-  return _mm_subs_pi16 (__m1, __m2);
-}
-
-/* Subtract the 8-bit values in M2 from the 8-bit values in M1 using
-   unsigned saturating arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_pu8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubusb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubusb (__m64 __m1, __m64 __m2)
-{
-  return _mm_subs_pu8 (__m1, __m2);
-}
-
-/* Subtract the 16-bit values in M2 from the 16-bit values in M1 using
-   unsigned saturating arithmetic.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_subs_pu16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_psubusw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psubusw (__m64 __m1, __m64 __m2)
-{
-  return _mm_subs_pu16 (__m1, __m2);
-}
-
-/* Multiply four 16-bit values in M1 by four 16-bit values in M2 producing
-   four 32-bit intermediate results, which are then summed by pairs to
-   produce two 32-bit results.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_madd_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pmaddwd ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmaddwd (__m64 __m1, __m64 __m2)
-{
-  return _mm_madd_pi16 (__m1, __m2);
-}
-
-/* Multiply four signed 16-bit values in M1 by four signed 16-bit values in
-   M2 and produce the high 16 bits of the 32-bit results.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pmulhw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmulhw (__m64 __m1, __m64 __m2)
-{
-  return _mm_mulhi_pi16 (__m1, __m2);
-}
-
-/* Multiply four 16-bit values in M1 by four 16-bit values in M2 and produce
-   the low 16 bits of the results.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mullo_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pmullw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmullw (__m64 __m1, __m64 __m2)
-{
-  return _mm_mullo_pi16 (__m1, __m2);
-}
-
-/* Shift four 16-bit values in M left by COUNT.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_pi16 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (__v4hi)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psllw (__m64 __m, __m64 __count)
-{
-  return _mm_sll_pi16 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_pi16 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psllwi ((__v4hi)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psllwi (__m64 __m, int __count)
-{
-  return _mm_slli_pi16 (__m, __count);
-}
-
-/* Shift two 32-bit values in M left by COUNT.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_pi32 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_pslld ((__v2si)__m, (__v2si)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pslld (__m64 __m, __m64 __count)
-{
-  return _mm_sll_pi32 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_pi32 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_pslldi ((__v2si)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pslldi (__m64 __m, int __count)
-{
-  return _mm_slli_pi32 (__m, __count);
-}
-
-/* Shift the 64-bit value in M left by COUNT.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sll_si64 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psllq ((__v1di)__m, (__v1di)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psllq (__m64 __m, __m64 __count)
-{
-  return _mm_sll_si64 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_slli_si64 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psllqi ((__v1di)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psllqi (__m64 __m, int __count)
-{
-  return _mm_slli_si64 (__m, __count);
-}
-
-/* Shift four 16-bit values in M right by COUNT; shift in the sign bit.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sra_pi16 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (__v4hi)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psraw (__m64 __m, __m64 __count)
-{
-  return _mm_sra_pi16 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srai_pi16 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psrawi ((__v4hi)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrawi (__m64 __m, int __count)
-{
-  return _mm_srai_pi16 (__m, __count);
-}
-
-/* Shift two 32-bit values in M right by COUNT; shift in the sign bit.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sra_pi32 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psrad ((__v2si)__m, (__v2si)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrad (__m64 __m, __m64 __count)
-{
-  return _mm_sra_pi32 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srai_pi32 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psradi ((__v2si)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psradi (__m64 __m, int __count)
-{
-  return _mm_srai_pi32 (__m, __count);
-}
-
-/* Shift four 16-bit values in M right by COUNT; shift in zeros.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_pi16 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (__v4hi)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrlw (__m64 __m, __m64 __count)
-{
-  return _mm_srl_pi16 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_pi16 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psrlwi ((__v4hi)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrlwi (__m64 __m, int __count)
-{
-  return _mm_srli_pi16 (__m, __count);
-}
-
-/* Shift two 32-bit values in M right by COUNT; shift in zeros.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_pi32 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psrld ((__v2si)__m, (__v2si)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrld (__m64 __m, __m64 __count)
-{
-  return _mm_srl_pi32 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_pi32 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psrldi ((__v2si)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrldi (__m64 __m, int __count)
-{
-  return _mm_srli_pi32 (__m, __count);
-}
-
-/* Shift the 64-bit value in M left by COUNT; shift in zeros.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srl_si64 (__m64 __m, __m64 __count)
-{
-  return (__m64) __builtin_ia32_psrlq ((__v1di)__m, (__v1di)__count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrlq (__m64 __m, __m64 __count)
-{
-  return _mm_srl_si64 (__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_srli_si64 (__m64 __m, int __count)
-{
-  return (__m64) __builtin_ia32_psrlqi ((__v1di)__m, __count);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psrlqi (__m64 __m, int __count)
-{
-  return _mm_srli_si64 (__m, __count);
-}
-
-/* Bit-wise AND the 64-bit values in M1 and M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_and_si64 (__m64 __m1, __m64 __m2)
-{
-  return __builtin_ia32_pand (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pand (__m64 __m1, __m64 __m2)
-{
-  return _mm_and_si64 (__m1, __m2);
-}
-
-/* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the
-   64-bit value in M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_andnot_si64 (__m64 __m1, __m64 __m2)
-{
-  return __builtin_ia32_pandn (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pandn (__m64 __m1, __m64 __m2)
-{
-  return _mm_andnot_si64 (__m1, __m2);
-}
-
-/* Bit-wise inclusive OR the 64-bit values in M1 and M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_or_si64 (__m64 __m1, __m64 __m2)
-{
-  return __builtin_ia32_por (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_por (__m64 __m1, __m64 __m2)
-{
-  return _mm_or_si64 (__m1, __m2);
-}
-
-/* Bit-wise exclusive OR the 64-bit values in M1 and M2.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_xor_si64 (__m64 __m1, __m64 __m2)
-{
-  return __builtin_ia32_pxor (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pxor (__m64 __m1, __m64 __m2)
-{
-  return _mm_xor_si64 (__m1, __m2);
-}
-
-/* Compare eight 8-bit values.  The result of the comparison is 0xFF if the
-   test is true and zero if false.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpeqb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpeqb (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpeq_pi8 (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpgtb ((__v8qi)__m1, (__v8qi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpgtb (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpgt_pi8 (__m1, __m2);
-}
-
-/* Compare four 16-bit values.  The result of the comparison is 0xFFFF if
-   the test is true and zero if false.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpeqw (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpeq_pi16 (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpgtw ((__v4hi)__m1, (__v4hi)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpgtw (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpgt_pi16 (__m1, __m2);
-}
-
-/* Compare two 32-bit values.  The result of the comparison is 0xFFFFFFFF if
-   the test is true and zero if false.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpeqd (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpeq_pi32 (__m1, __m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
-{
-  return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pcmpgtd (__m64 __m1, __m64 __m2)
-{
-  return _mm_cmpgt_pi32 (__m1, __m2);
-}
-
-/* Creates a 64-bit zero.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_si64 (void)
-{
-  return (__m64)0LL;
-}
-
-/* Creates a vector of two 32-bit values; I0 is least significant.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pi32 (int __i1, int __i0)
-{
-  return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
-}
-
-/* Creates a vector of four 16-bit values; W0 is least significant.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pi16 (short __w3, short __w2, short __w1, short __w0)
-{
-  return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3);
-}
-
-/* Creates a vector of eight 8-bit values; B0 is least significant.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_pi8 (char __b7, char __b6, char __b5, char __b4,
-	     char __b3, char __b2, char __b1, char __b0)
-{
-  return (__m64) __builtin_ia32_vec_init_v8qi (__b0, __b1, __b2, __b3,
-					       __b4, __b5, __b6, __b7);
-}
-
-/* Similar, but with the arguments in reverse order.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_pi32 (int __i0, int __i1)
-{
-  return _mm_set_pi32 (__i1, __i0);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3)
-{
-  return _mm_set_pi16 (__w3, __w2, __w1, __w0);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3,
-	      char __b4, char __b5, char __b6, char __b7)
-{
-  return _mm_set_pi8 (__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
-}
-
-/* Creates a vector of two 32-bit values, both elements containing I.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_pi32 (int __i)
-{
-  return _mm_set_pi32 (__i, __i);
-}
-
-/* Creates a vector of four 16-bit values, all elements containing W.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_pi16 (short __w)
-{
-  return _mm_set_pi16 (__w, __w, __w, __w);
-}
-
-/* Creates a vector of eight 8-bit values, all elements containing B.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_pi8 (char __b)
-{
-  return _mm_set_pi8 (__b, __b, __b, __b, __b, __b, __b, __b);
-}
-#ifdef __DISABLE_MMX__
-#undef __DISABLE_MMX__
-#pragma GCC pop_options
-#endif /* __DISABLE_MMX__ */
-
-#endif /* _MMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mwaitxintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/mwaitxintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _MWAITXINTRIN_H_INCLUDED
-#define _MWAITXINTRIN_H_INCLUDED
-
-#ifndef __MWAITX__
-#pragma GCC push_options
-#pragma GCC target("mwaitx")
-#define __DISABLE_MWAITX__
-#endif /* __MWAITX__ */
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_monitorx (void const * __P, unsigned int __E, unsigned int __H)
-{
-  __builtin_ia32_monitorx (__P, __E, __H);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mwaitx (unsigned int __E, unsigned int __H, unsigned int __C)
-{
-  __builtin_ia32_mwaitx (__E, __H, __C);
-}
-
-#ifdef __DISABLE_MWAITX__
-#undef __DISABLE_MWAITX__
-#pragma GCC pop_options
-#endif /* __DISABLE_MWAITX__ */
-
-#endif /* _MWAITXINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/nmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/nmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 10.0.  */
-
-#ifndef _NMMINTRIN_H_INCLUDED
-#define _NMMINTRIN_H_INCLUDED
-
-/* We just include SSE4.1 header file.  */
-#include <smmintrin.h>
-
-#endif /* _NMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/omp.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/omp.h	(revision 1046)
+++ 	(revision )
@@ -1,128 +1,0 @@
-/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@redhat.com>.
-
-   This file is part of the GNU Offloading and Multi Processing Library
-   (libgomp).
-
-   Libgomp is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-   more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _OMP_H
-#define _OMP_H 1
-
-#ifndef _LIBGOMP_OMP_LOCK_DEFINED
-#define _LIBGOMP_OMP_LOCK_DEFINED 1
-/* These two structures get edited by the libgomp build process to 
-   reflect the shape of the two types.  Their internals are private
-   to the library.  */
-
-typedef struct
-{
-  unsigned char _x[4] 
-    __attribute__((__aligned__(4)));
-} omp_lock_t;
-
-typedef struct
-{
-  unsigned char _x[12] 
-    __attribute__((__aligned__(4)));
-} omp_nest_lock_t;
-#endif
-
-typedef enum omp_sched_t
-{
-  omp_sched_static = 1,
-  omp_sched_dynamic = 2,
-  omp_sched_guided = 3,
-  omp_sched_auto = 4
-} omp_sched_t;
-
-typedef enum omp_proc_bind_t
-{
-  omp_proc_bind_false = 0,
-  omp_proc_bind_true = 1,
-  omp_proc_bind_master = 2,
-  omp_proc_bind_close = 3,
-  omp_proc_bind_spread = 4
-} omp_proc_bind_t;
-
-#ifdef __cplusplus
-extern "C" {
-# define __GOMP_NOTHROW throw ()
-#else
-# define __GOMP_NOTHROW __attribute__((__nothrow__))
-#endif
-
-extern void omp_set_num_threads (int) __GOMP_NOTHROW;
-extern int omp_get_num_threads (void) __GOMP_NOTHROW;
-extern int omp_get_max_threads (void) __GOMP_NOTHROW;
-extern int omp_get_thread_num (void) __GOMP_NOTHROW;
-extern int omp_get_num_procs (void) __GOMP_NOTHROW;
-
-extern int omp_in_parallel (void) __GOMP_NOTHROW;
-
-extern void omp_set_dynamic (int) __GOMP_NOTHROW;
-extern int omp_get_dynamic (void) __GOMP_NOTHROW;
-
-extern void omp_set_nested (int) __GOMP_NOTHROW;
-extern int omp_get_nested (void) __GOMP_NOTHROW;
-
-extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
-
-extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-
-extern double omp_get_wtime (void) __GOMP_NOTHROW;
-extern double omp_get_wtick (void) __GOMP_NOTHROW;
-
-extern void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
-extern void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
-extern int omp_get_thread_limit (void) __GOMP_NOTHROW;
-extern void omp_set_max_active_levels (int) __GOMP_NOTHROW;
-extern int omp_get_max_active_levels (void) __GOMP_NOTHROW;
-extern int omp_get_level (void) __GOMP_NOTHROW;
-extern int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
-extern int omp_get_team_size (int) __GOMP_NOTHROW;
-extern int omp_get_active_level (void) __GOMP_NOTHROW;
-
-extern int omp_in_final (void) __GOMP_NOTHROW;
-
-extern int omp_get_cancellation (void) __GOMP_NOTHROW;
-extern omp_proc_bind_t omp_get_proc_bind (void) __GOMP_NOTHROW;
-
-extern void omp_set_default_device (int) __GOMP_NOTHROW;
-extern int omp_get_default_device (void) __GOMP_NOTHROW;
-extern int omp_get_num_devices (void) __GOMP_NOTHROW;
-extern int omp_get_num_teams (void) __GOMP_NOTHROW;
-extern int omp_get_team_num (void) __GOMP_NOTHROW;
-
-extern int omp_is_initial_device (void) __GOMP_NOTHROW;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _OMP_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/openacc.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/openacc.h	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-/* OpenACC Runtime Library User-facing Declarations
-
-   Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   Contributed by Mentor Embedded.
-
-   This file is part of the GNU Offloading and Multi Processing Library
-   (libgomp).
-
-   Libgomp is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
-   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-   more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _OPENACC_H
-#define _OPENACC_H 1
-
-/* The OpenACC standard is silent on whether or not including <openacc.h>
-   might or must not include other header files.  We chose to include
-   some.  */
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if __cplusplus >= 201103
-# define __GOACC_NOTHROW noexcept ()
-#elif __cplusplus
-# define __GOACC_NOTHROW throw ()
-#else /* Not C++ */
-# define __GOACC_NOTHROW __attribute__ ((__nothrow__))
-#endif
-
-/* Types */
-typedef enum acc_device_t
-  {
-    /* Keep in sync with include/gomp-constants.h.  */
-    acc_device_none = 0,
-    acc_device_default = 1,
-    acc_device_host = 2,
-    acc_device_host_nonshm = 3,
-    acc_device_not_host = 4,
-    acc_device_nvidia = 5,
-    _ACC_device_hwm
-  } acc_device_t;
-
-typedef enum acc_async_t
-  {
-    /* Keep in sync with include/gomp-constants.h.  */
-    acc_async_noval = -1,
-    acc_async_sync  = -2
-  } acc_async_t;
-
-int acc_get_num_devices (acc_device_t) __GOACC_NOTHROW;
-void acc_set_device_type (acc_device_t) __GOACC_NOTHROW;
-acc_device_t acc_get_device_type (void) __GOACC_NOTHROW;
-void acc_set_device_num (int, acc_device_t) __GOACC_NOTHROW;
-int acc_get_device_num (acc_device_t) __GOACC_NOTHROW;
-int acc_async_test (int) __GOACC_NOTHROW;
-int acc_async_test_all (void) __GOACC_NOTHROW;
-void acc_wait (int) __GOACC_NOTHROW;
-void acc_wait_async (int, int) __GOACC_NOTHROW;
-void acc_wait_all (void) __GOACC_NOTHROW;
-void acc_wait_all_async (int) __GOACC_NOTHROW;
-void acc_init (acc_device_t) __GOACC_NOTHROW;
-void acc_shutdown (acc_device_t) __GOACC_NOTHROW;
-int acc_on_device (acc_device_t) __GOACC_NOTHROW;
-void *acc_malloc (size_t) __GOACC_NOTHROW;
-void acc_free (void *) __GOACC_NOTHROW;
-/* Some of these would be more correct with const qualifiers, but
-   the standard specifies otherwise.  */
-void *acc_copyin (void *, size_t) __GOACC_NOTHROW;
-void *acc_present_or_copyin (void *, size_t) __GOACC_NOTHROW;
-void *acc_create (void *, size_t) __GOACC_NOTHROW;
-void *acc_present_or_create (void *, size_t) __GOACC_NOTHROW;
-void acc_copyout (void *, size_t) __GOACC_NOTHROW;
-void acc_delete (void *, size_t) __GOACC_NOTHROW;
-void acc_update_device (void *, size_t) __GOACC_NOTHROW;
-void acc_update_self (void *, size_t) __GOACC_NOTHROW;
-void acc_map_data (void *, void *, size_t) __GOACC_NOTHROW;
-void acc_unmap_data (void *) __GOACC_NOTHROW;
-void *acc_deviceptr (void *) __GOACC_NOTHROW;
-void *acc_hostptr (void *) __GOACC_NOTHROW;
-int acc_is_present (void *, size_t) __GOACC_NOTHROW;
-void acc_memcpy_to_device (void *, void *, size_t) __GOACC_NOTHROW;
-void acc_memcpy_from_device (void *, void *, size_t) __GOACC_NOTHROW;
-
-/* Old names.  OpenACC does not specify whether these can or must
-   not be macros, inlines or aliases for the new names.  */
-#define acc_pcreate acc_present_or_create
-#define acc_pcopyin acc_present_or_copyin
-
-/* CUDA-specific routines.  */
-void *acc_get_current_cuda_device (void) __GOACC_NOTHROW;
-void *acc_get_current_cuda_context (void) __GOACC_NOTHROW;
-void *acc_get_cuda_stream (int) __GOACC_NOTHROW;
-int acc_set_cuda_stream (int, void *) __GOACC_NOTHROW;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _OPENACC_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/pcommitintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/pcommitintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <pcommitintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _PCOMMITINTRIN_H_INCLUDED
-#define _PCOMMITINTRIN_H_INCLUDED
-
-#ifndef __PCOMMIT__
-#pragma GCC push_options
-#pragma GCC target("pcommit")
-#define __DISABLE_PCOMMIT__
-#endif /* __PCOMMIT__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_pcommit (void)
-{
-  __builtin_ia32_pcommit ();
-}
-
-#ifdef __DISABLE_PCOMMIT__
-#undef __DISABLE_PCOMMIT__
-#pragma GCC pop_options
-#endif /* __DISABLE_PCOMMIT__ */
-
-#endif /* _PCOMMITINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/pmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/pmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 9.0.  */
-
-#ifndef _PMMINTRIN_H_INCLUDED
-#define _PMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSE2 and SSE header files*/
-#include <emmintrin.h>
-
-#ifndef __SSE3__
-#pragma GCC push_options
-#pragma GCC target("sse3")
-#define __DISABLE_SSE3__
-#endif /* __SSE3__ */
-
-/* Additional bits in the MXCSR.  */
-#define _MM_DENORMALS_ZERO_MASK		0x0040
-#define _MM_DENORMALS_ZERO_ON		0x0040
-#define _MM_DENORMALS_ZERO_OFF		0x0000
-
-#define _MM_SET_DENORMALS_ZERO_MODE(mode) \
-  _mm_setcsr ((_mm_getcsr () & ~_MM_DENORMALS_ZERO_MASK) | (mode))
-#define _MM_GET_DENORMALS_ZERO_MODE() \
-  (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_addsub_ps (__m128 __X, __m128 __Y)
-{
-  return (__m128) __builtin_ia32_addsubps ((__v4sf)__X, (__v4sf)__Y);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_ps (__m128 __X, __m128 __Y)
-{
-  return (__m128) __builtin_ia32_haddps ((__v4sf)__X, (__v4sf)__Y);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_ps (__m128 __X, __m128 __Y)
-{
-  return (__m128) __builtin_ia32_hsubps ((__v4sf)__X, (__v4sf)__Y);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movehdup_ps (__m128 __X)
-{
-  return (__m128) __builtin_ia32_movshdup ((__v4sf)__X);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_moveldup_ps (__m128 __X)
-{
-  return (__m128) __builtin_ia32_movsldup ((__v4sf)__X);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_addsub_pd (__m128d __X, __m128d __Y)
-{
-  return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_pd (__m128d __X, __m128d __Y)
-{
-  return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_pd (__m128d __X, __m128d __Y)
-{
-  return (__m128d) __builtin_ia32_hsubpd ((__v2df)__X, (__v2df)__Y);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loaddup_pd (double const *__P)
-{
-  return _mm_load1_pd (__P);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movedup_pd (__m128d __X)
-{
-  return _mm_shuffle_pd (__X, __X, _MM_SHUFFLE2 (0,0));
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_lddqu_si128 (__m128i const *__P)
-{
-  return (__m128i) __builtin_ia32_lddqu ((char const *)__P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
-{
-  __builtin_ia32_monitor (__P, __E, __H);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mwait (unsigned int __E, unsigned int __H)
-{
-  __builtin_ia32_mwait (__E, __H);
-}
-
-#ifdef __DISABLE_SSE3__
-#undef __DISABLE_SSE3__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE3__ */
-
-#endif /* _PMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/popcntintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/popcntintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _POPCNTINTRIN_H_INCLUDED
-#define _POPCNTINTRIN_H_INCLUDED
-
-#ifndef __POPCNT__
-#pragma GCC push_options
-#pragma GCC target("popcnt")
-#define __DISABLE_POPCNT__
-#endif /* __POPCNT__ */
-
-/* Calculate a number of bits set to 1.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_popcnt_u32 (unsigned int __X)
-{
-  return __builtin_popcount (__X);
-}
-
-#ifdef __x86_64__
-extern __inline long long  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_popcnt_u64 (unsigned long long __X)
-{
-  return __builtin_popcountll (__X);
-}
-#endif
-
-#ifdef __DISABLE_POPCNT__
-#undef __DISABLE_POPCNT__
-#pragma GCC pop_options
-#endif  /* __DISABLE_POPCNT__ */
-
-#endif /* _POPCNTINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/prfchwintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/prfchwintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED && !defined _MM3DNOW_H_INCLUDED
-# error "Never use <prfchwintrin.h> directly; include <x86intrin.h> or <mm3dnow.h> instead."
-#endif
-
-#ifndef _PRFCHWINTRIN_H_INCLUDED
-#define _PRFCHWINTRIN_H_INCLUDED
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_prefetchw (void *__P)
-{
-  __builtin_prefetch (__P, 1, 3 /* _MM_HINT_T0 */);
-}
-
-#endif /* _PRFCHWINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/quadmath.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/quadmath.h	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-/* GCC Quad-Precision Math Library
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
-   Written by Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-This file is part of the libquadmath library.
-Libquadmath is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-Libquadmath is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with libquadmath; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#ifndef QUADMATH_H
-#define QUADMATH_H
-
-#include <stdlib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Define the complex type corresponding to __float128
-   ("_Complex __float128" is not allowed) */
-typedef _Complex float __attribute__((mode(TC))) __complex128;
-
-#ifdef __cplusplus
-# define __quadmath_throw throw ()
-# define __quadmath_nth(fct) fct throw ()
-#else
-# define __quadmath_throw __attribute__((__nothrow__))
-# define __quadmath_nth(fct) __attribute__((__nothrow__)) fct
-#endif
-
-/* Prototypes for real functions */
-extern __float128 acosq (__float128) __quadmath_throw;
-extern __float128 acoshq (__float128) __quadmath_throw;
-extern __float128 asinq (__float128) __quadmath_throw;
-extern __float128 asinhq (__float128) __quadmath_throw;
-extern __float128 atanq (__float128) __quadmath_throw;
-extern __float128 atanhq (__float128) __quadmath_throw;
-extern __float128 atan2q (__float128, __float128) __quadmath_throw;
-extern __float128 cbrtq (__float128) __quadmath_throw;
-extern __float128 ceilq (__float128) __quadmath_throw;
-extern __float128 copysignq (__float128, __float128) __quadmath_throw;
-extern __float128 coshq (__float128) __quadmath_throw;
-extern __float128 cosq (__float128) __quadmath_throw;
-extern __float128 erfq (__float128) __quadmath_throw;
-extern __float128 erfcq (__float128) __quadmath_throw;
-extern __float128 expq (__float128) __quadmath_throw;
-extern __float128 expm1q (__float128) __quadmath_throw;
-extern __float128 fabsq (__float128) __quadmath_throw;
-extern __float128 fdimq (__float128, __float128) __quadmath_throw;
-extern int finiteq (__float128) __quadmath_throw;
-extern __float128 floorq (__float128) __quadmath_throw;
-extern __float128 fmaq (__float128, __float128, __float128) __quadmath_throw;
-extern __float128 fmaxq (__float128, __float128) __quadmath_throw;
-extern __float128 fminq (__float128, __float128) __quadmath_throw;
-extern __float128 fmodq (__float128, __float128) __quadmath_throw;
-extern __float128 frexpq (__float128, int *) __quadmath_throw;
-extern __float128 hypotq (__float128, __float128) __quadmath_throw;
-extern int isinfq (__float128) __quadmath_throw;
-extern int ilogbq (__float128) __quadmath_throw;
-extern int isnanq (__float128) __quadmath_throw;
-extern __float128 j0q (__float128) __quadmath_throw;
-extern __float128 j1q (__float128) __quadmath_throw;
-extern __float128 jnq (int, __float128) __quadmath_throw;
-extern __float128 ldexpq (__float128, int) __quadmath_throw;
-extern __float128 lgammaq (__float128) __quadmath_throw;
-extern long long int llrintq (__float128) __quadmath_throw;
-extern long long int llroundq (__float128) __quadmath_throw;
-extern __float128 logq (__float128) __quadmath_throw;
-extern __float128 log10q (__float128) __quadmath_throw;
-extern __float128 log2q (__float128) __quadmath_throw;
-extern __float128 log1pq (__float128) __quadmath_throw;
-extern long int lrintq (__float128) __quadmath_throw;
-extern long int lroundq (__float128) __quadmath_throw;
-extern __float128 modfq (__float128, __float128 *) __quadmath_throw;
-extern __float128 nanq (const char *) __quadmath_throw;
-extern __float128 nearbyintq (__float128) __quadmath_throw;
-extern __float128 nextafterq (__float128, __float128) __quadmath_throw;
-extern __float128 powq (__float128, __float128) __quadmath_throw;
-extern __float128 remainderq (__float128, __float128) __quadmath_throw;
-extern __float128 remquoq (__float128, __float128, int *) __quadmath_throw;
-extern __float128 rintq (__float128) __quadmath_throw;
-extern __float128 roundq (__float128) __quadmath_throw;
-extern __float128 scalblnq (__float128, long int) __quadmath_throw;
-extern __float128 scalbnq (__float128, int) __quadmath_throw;
-extern int signbitq (__float128) __quadmath_throw;
-extern void sincosq (__float128, __float128 *, __float128 *) __quadmath_throw;
-extern __float128 sinhq (__float128) __quadmath_throw;
-extern __float128 sinq (__float128) __quadmath_throw;
-extern __float128 sqrtq (__float128) __quadmath_throw;
-extern __float128 tanq (__float128) __quadmath_throw;
-extern __float128 tanhq (__float128) __quadmath_throw;
-extern __float128 tgammaq (__float128) __quadmath_throw;
-extern __float128 truncq (__float128) __quadmath_throw;
-extern __float128 y0q (__float128) __quadmath_throw;
-extern __float128 y1q (__float128) __quadmath_throw;
-extern __float128 ynq (int, __float128) __quadmath_throw;
-
-
-/* Prototypes for complex functions */
-extern __float128 cabsq (__complex128) __quadmath_throw;
-extern __float128 cargq (__complex128) __quadmath_throw;
-extern __float128 cimagq (__complex128) __quadmath_throw;
-extern __float128 crealq (__complex128) __quadmath_throw;
-extern __complex128 cacosq (__complex128) __quadmath_throw;
-extern __complex128 cacoshq (__complex128) __quadmath_throw;
-extern __complex128 casinq (__complex128) __quadmath_throw;
-extern __complex128 casinhq (__complex128) __quadmath_throw;
-extern __complex128 catanq (__complex128) __quadmath_throw;
-extern __complex128 catanhq (__complex128) __quadmath_throw;
-extern __complex128 ccosq (__complex128) __quadmath_throw;
-extern __complex128 ccoshq (__complex128) __quadmath_throw;
-extern __complex128 cexpq (__complex128) __quadmath_throw;
-extern __complex128 cexpiq (__float128) __quadmath_throw;
-extern __complex128 clogq (__complex128) __quadmath_throw;
-extern __complex128 clog10q (__complex128) __quadmath_throw;
-extern __complex128 conjq (__complex128) __quadmath_throw;
-extern __complex128 cpowq (__complex128, __complex128) __quadmath_throw;
-extern __complex128 cprojq (__complex128) __quadmath_throw;
-extern __complex128 csinq (__complex128) __quadmath_throw;
-extern __complex128 csinhq (__complex128) __quadmath_throw;
-extern __complex128 csqrtq (__complex128) __quadmath_throw;
-extern __complex128 ctanq (__complex128) __quadmath_throw;
-extern __complex128 ctanhq (__complex128) __quadmath_throw;
-
-
-/* Prototypes for string <-> __float128 conversion functions */
-extern __float128 strtoflt128 (const char *, char **) __quadmath_throw;
-extern int quadmath_snprintf (char *str, size_t size,
-			      const char *format, ...) __quadmath_throw;
-
-
-/* Macros */
-#define FLT128_MAX 1.18973149535723176508575932662800702e4932Q
-#define FLT128_MIN 3.36210314311209350626267781732175260e-4932Q
-#define FLT128_EPSILON 1.92592994438723585305597794258492732e-34Q
-#define FLT128_DENORM_MIN 6.475175119438025110924438958227646552e-4966Q
-#define FLT128_MANT_DIG 113
-#define FLT128_MIN_EXP (-16381)
-#define FLT128_MAX_EXP 16384
-#define FLT128_DIG 33
-#define FLT128_MIN_10_EXP (-4931)
-#define FLT128_MAX_10_EXP 4932
-
-
-#define HUGE_VALQ __builtin_huge_valq()
-/* The following alternative is valid, but brings the warning:
-   (floating constant exceeds range of ‘__float128’)  */
-/* #define HUGE_VALQ (__extension__ 0x1.0p32767Q) */
-
-#define M_Eq		2.7182818284590452353602874713526625Q  /* e */
-#define M_LOG2Eq	1.4426950408889634073599246810018921Q  /* log_2 e */
-#define M_LOG10Eq	0.4342944819032518276511289189166051Q  /* log_10 e */
-#define M_LN2q		0.6931471805599453094172321214581766Q  /* log_e 2 */
-#define M_LN10q		2.3025850929940456840179914546843642Q  /* log_e 10 */
-#define M_PIq		3.1415926535897932384626433832795029Q  /* pi */
-#define M_PI_2q		1.5707963267948966192313216916397514Q  /* pi/2 */
-#define M_PI_4q		0.7853981633974483096156608458198757Q  /* pi/4 */
-#define M_1_PIq		0.3183098861837906715377675267450287Q  /* 1/pi */
-#define M_2_PIq		0.6366197723675813430755350534900574Q  /* 2/pi */
-#define M_2_SQRTPIq	1.1283791670955125738961589031215452Q  /* 2/sqrt(pi) */
-#define M_SQRT2q	1.4142135623730950488016887242096981Q  /* sqrt(2) */
-#define M_SQRT1_2q	0.7071067811865475244008443621048490Q  /* 1/sqrt(2) */
-
-#define __quadmath_extern_inline \
-  extern inline __attribute__ ((__gnu_inline__))
-
-__quadmath_extern_inline __float128
-__quadmath_nth (cimagq (__complex128 __z))
-{
-  return __imag__ __z;
-}
-
-__quadmath_extern_inline __float128
-__quadmath_nth (crealq (__complex128 __z))
-{
-  return __real__ __z;
-}
-
-__quadmath_extern_inline __complex128
-__quadmath_nth (conjq (__complex128 __z))
-{
-  return __extension__ ~__z;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/quadmath_weak.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/quadmath_weak.h	(revision 1046)
+++ 	(revision )
@@ -1,137 +1,0 @@
-/* GCC Quad-Precision Math Library
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
-   Written by Tobias Burnus  <burnus@net-b.de>
-
-This file is part of the libquadmath library.
-Libquadmath is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-Libquadmath is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with libquadmath; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#ifndef QUADMATH_WEAK_H
-#define QUADMATH_WEAK_H
-
-#include "quadmath.h"
-
-#if SUPPORTS_WEAK
-# define __qmath2(name,name2,type) \
-  static __typeof(type) name __attribute__ ((__weakref__(#name2)));
-# define __qmath_(name) __qmath_ ## name
-#else
-# define __qmath2(name,name2,type)
-# define __qmath_(name) name
-#endif
-
-/* __qmath_foo is a weak reference to symbol foo.  */
-#define __qmath3(name) __qmath2(__qmath_ ## name,name,name)
-
-/* Prototypes for real functions.  */
-__qmath3 (acosq)
-__qmath3 (acoshq)
-__qmath3 (asinq)
-__qmath3 (asinhq)
-__qmath3 (atanq)
-__qmath3 (atanhq)
-__qmath3 (atan2q)
-__qmath3 (cbrtq)
-__qmath3 (ceilq)
-__qmath3 (copysignq)
-__qmath3 (coshq)
-__qmath3 (cosq)
-__qmath3 (erfq)
-__qmath3 (erfcq)
-__qmath3 (expq)
-__qmath3 (expm1q)
-__qmath3 (fabsq)
-__qmath3 (fdimq)
-__qmath3 (finiteq)
-__qmath3 (floorq)
-__qmath3 (fmaq)
-__qmath3 (fmaxq)
-__qmath3 (fminq)
-__qmath3 (fmodq)
-__qmath3 (frexpq)
-__qmath3 (hypotq)
-__qmath3 (ilogbq)
-__qmath3 (isinfq)
-__qmath3 (isnanq)
-__qmath3 (j0q)
-__qmath3 (j1q)
-__qmath3 (jnq)
-__qmath3 (ldexpq)
-__qmath3 (lgammaq)
-__qmath3 (llrintq)
-__qmath3 (llroundq)
-__qmath3 (logq)
-__qmath3 (log10q)
-__qmath3 (log1pq)
-__qmath3 (log2q)
-__qmath3 (lrintq)
-__qmath3 (lroundq)
-__qmath3 (modfq)
-__qmath3 (nanq)
-__qmath3 (nearbyintq)
-__qmath3 (nextafterq)
-__qmath3 (powq)
-__qmath3 (remainderq)
-__qmath3 (remquoq)
-__qmath3 (rintq)
-__qmath3 (roundq)
-__qmath3 (scalblnq)
-__qmath3 (scalbnq)
-__qmath3 (signbitq)
-__qmath3 (sincosq)
-__qmath3 (sinhq)
-__qmath3 (sinq)
-__qmath3 (sqrtq)
-__qmath3 (tanq)
-__qmath3 (tanhq)
-__qmath3 (tgammaq)
-__qmath3 (truncq)
-__qmath3 (y0q)
-__qmath3 (y1q)
-__qmath3 (ynq)
-
-
-/* Prototypes for complex functions.  */
-__qmath3 (cabsq)
-__qmath3 (cargq)
-__qmath3 (cimagq)
-__qmath3 (crealq)
-__qmath3 (cacosq)
-__qmath3 (cacoshq)
-__qmath3 (casinq)
-__qmath3 (casinhq)
-__qmath3 (catanq)
-__qmath3 (catanhq)
-__qmath3 (ccosq)
-__qmath3 (ccoshq)
-__qmath3 (cexpq)
-__qmath3 (cexpiq)
-__qmath3 (clogq)
-__qmath3 (clog10q)
-__qmath3 (conjq)
-__qmath3 (cpowq)
-__qmath3 (cprojq)
-__qmath3 (csinq)
-__qmath3 (csinhq)
-__qmath3 (csqrtq)
-__qmath3 (ctanq)
-__qmath3 (ctanhq)
-
-
-/* Prototypes for string <-> flt128 conversion functions.  */
-__qmath3 (strtoflt128)
-__qmath3 (quadmath_snprintf)
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/rdseedintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/rdseedintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,66 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _RDSEEDINTRIN_H_INCLUDED
-#define _RDSEEDINTRIN_H_INCLUDED
-
-#ifndef __RDSEED__
-#pragma GCC push_options
-#pragma GCC target("rdseed")
-#define __DISABLE_RDSEED__
-#endif /* __RDSEED__ */
-
-
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdseed16_step (unsigned short *p)
-{
-    return __builtin_ia32_rdseed_hi_step (p);
-}
-
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdseed32_step (unsigned int *p)
-{
-    return __builtin_ia32_rdseed_si_step (p);
-}
-
-#ifdef __x86_64__
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_rdseed64_step (unsigned long long *p)
-{
-    return __builtin_ia32_rdseed_di_step (p);
-}
-#endif
-
-#ifdef __DISABLE_RDSEED__
-#undef __DISABLE_RDSEED__
-#pragma GCC pop_options
-#endif /* __DISABLE_RDSEED__ */
-
-#endif /* _RDSEEDINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/rtmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/rtmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,84 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-# error "Never use <rtmintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _RTMINTRIN_H_INCLUDED
-#define _RTMINTRIN_H_INCLUDED
-
-#ifndef __RTM__
-#pragma GCC push_options
-#pragma GCC target("rtm")
-#define __DISABLE_RTM__
-#endif /* __RTM__ */
-
-#define _XBEGIN_STARTED		(~0u)
-#define _XABORT_EXPLICIT	(1 << 0)
-#define _XABORT_RETRY		(1 << 1)
-#define _XABORT_CONFLICT	(1 << 2)
-#define _XABORT_CAPACITY	(1 << 3)
-#define _XABORT_DEBUG		(1 << 4)
-#define _XABORT_NESTED		(1 << 5)
-#define _XABORT_CODE(x)		(((x) >> 24) & 0xFF)
-
-/* Start an RTM code region.  Return _XBEGIN_STARTED on success and the
-   abort condition otherwise.  */
-extern __inline unsigned int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xbegin (void)
-{
-  return __builtin_ia32_xbegin ();
-}
-
-/* Specify the end of an RTM code region.  If it corresponds to the
-   outermost transaction, then attempts the transaction commit.  If the
-   commit fails, then control is transferred to the outermost transaction
-   fallback handler.  */
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xend (void)
-{
-  __builtin_ia32_xend ();
-}
-
-/* Force an RTM abort condition. The control is transferred to the
-   outermost transaction fallback handler with the abort condition IMM.  */
-#ifdef __OPTIMIZE__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xabort (const unsigned int imm)
-{
-  __builtin_ia32_xabort (imm);
-}
-#else
-#define _xabort(N)  __builtin_ia32_xabort (N)
-#endif /* __OPTIMIZE__ */
-
-#ifdef __DISABLE_RTM__
-#undef __DISABLE_RTM__
-#pragma GCC pop_options
-#endif /* __DISABLE_RTM__ */
-
-#endif /* _RTMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/shaintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/shaintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,98 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-#error "Never use <shaintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _SHAINTRIN_H_INCLUDED
-#define _SHAINTRIN_H_INCLUDED
-
-#ifndef __SHA__
-#pragma GCC push_options
-#pragma GCC target("sha")
-#define __DISABLE_SHA__
-#endif /* __SHA__ */
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha1msg1_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_sha1msg1 ((__v4si) __A, (__v4si) __B);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha1msg2_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_sha1msg2 ((__v4si) __A, (__v4si) __B);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha1nexte_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_sha1nexte ((__v4si) __A, (__v4si) __B);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha1rnds4_epu32 (__m128i __A, __m128i __B, const int __I)
-{
-  return (__m128i) __builtin_ia32_sha1rnds4 ((__v4si) __A, (__v4si) __B, __I);
-}
-#else
-#define _mm_sha1rnds4_epu32(A, B, I)				    \
-  ((__m128i) __builtin_ia32_sha1rnds4 ((__v4si)(__m128i)A,	    \
-				       (__v4si)(__m128i)B, (int)I))
-#endif
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha256msg1_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_sha256msg1 ((__v4si) __A, (__v4si) __B);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha256msg2_epu32 (__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_sha256msg2 ((__v4si) __A, (__v4si) __B);
-}
-
-extern __inline __m128i
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
-{
-  return (__m128i) __builtin_ia32_sha256rnds2 ((__v4si) __A, (__v4si) __B,
-					       (__v4si) __C);
-}
-
-#ifdef __DISABLE_SHA__
-#undef __DISABLE_SHA__
-#pragma GCC pop_options
-#endif /* __DISABLE_SHA__ */
-
-#endif /* _SHAINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/smmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/smmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,862 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 10.0.  */
-
-#ifndef _SMMINTRIN_H_INCLUDED
-#define _SMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSSE3, SSE3, SSE2 and SSE header
-   files.  */
-#include <tmmintrin.h>
-
-#ifndef __SSE4_1__
-#pragma GCC push_options
-#pragma GCC target("sse4.1")
-#define __DISABLE_SSE4_1__
-#endif /* __SSE4_1__ */
-
-/* Rounding mode macros. */
-#define _MM_FROUND_TO_NEAREST_INT	0x00
-#define _MM_FROUND_TO_NEG_INF		0x01
-#define _MM_FROUND_TO_POS_INF		0x02
-#define _MM_FROUND_TO_ZERO		0x03
-#define _MM_FROUND_CUR_DIRECTION	0x04
-
-#define _MM_FROUND_RAISE_EXC		0x00
-#define _MM_FROUND_NO_EXC		0x08
-
-#define _MM_FROUND_NINT		\
-  (_MM_FROUND_TO_NEAREST_INT | _MM_FROUND_RAISE_EXC)
-#define _MM_FROUND_FLOOR	\
-  (_MM_FROUND_TO_NEG_INF | _MM_FROUND_RAISE_EXC)
-#define _MM_FROUND_CEIL		\
-  (_MM_FROUND_TO_POS_INF | _MM_FROUND_RAISE_EXC)
-#define _MM_FROUND_TRUNC	\
-  (_MM_FROUND_TO_ZERO | _MM_FROUND_RAISE_EXC)
-#define _MM_FROUND_RINT		\
-  (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_RAISE_EXC)
-#define _MM_FROUND_NEARBYINT	\
-  (_MM_FROUND_CUR_DIRECTION | _MM_FROUND_NO_EXC)
-
-/* Test Instruction */
-/* Packed integer 128-bit bitwise comparison. Return 1 if
-   (__V & __M) == 0.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testz_si128 (__m128i __M, __m128i __V)
-{
-  return __builtin_ia32_ptestz128 ((__v2di)__M, (__v2di)__V);
-}
-
-/* Packed integer 128-bit bitwise comparison. Return 1 if
-   (__V & ~__M) == 0.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testc_si128 (__m128i __M, __m128i __V)
-{
-  return __builtin_ia32_ptestc128 ((__v2di)__M, (__v2di)__V);
-}
-
-/* Packed integer 128-bit bitwise comparison. Return 1 if
-   (__V & __M) != 0 && (__V & ~__M) != 0.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_testnzc_si128 (__m128i __M, __m128i __V)
-{
-  return __builtin_ia32_ptestnzc128 ((__v2di)__M, (__v2di)__V);
-}
-
-/* Macros for packed integer 128-bit comparison intrinsics.  */
-#define _mm_test_all_zeros(M, V) _mm_testz_si128 ((M), (V))
-
-#define _mm_test_all_ones(V) \
-  _mm_testc_si128 ((V), _mm_cmpeq_epi32 ((V), (V)))
-
-#define _mm_test_mix_ones_zeros(M, V) _mm_testnzc_si128 ((M), (V))
-
-/* Packed/scalar double precision floating point rounding.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_round_pd (__m128d __V, const int __M)
-{
-  return (__m128d) __builtin_ia32_roundpd ((__v2df)__V, __M);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_round_sd(__m128d __D, __m128d __V, const int __M)
-{
-  return (__m128d) __builtin_ia32_roundsd ((__v2df)__D,
-					   (__v2df)__V,
-					   __M);
-}
-#else
-#define _mm_round_pd(V, M) \
-  ((__m128d) __builtin_ia32_roundpd ((__v2df)(__m128d)(V), (int)(M)))
-
-#define _mm_round_sd(D, V, M)						\
-  ((__m128d) __builtin_ia32_roundsd ((__v2df)(__m128d)(D),		\
-				     (__v2df)(__m128d)(V), (int)(M)))
-#endif
-
-/* Packed/scalar single precision floating point rounding.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_round_ps (__m128 __V, const int __M)
-{
-  return (__m128) __builtin_ia32_roundps ((__v4sf)__V, __M);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_round_ss (__m128 __D, __m128 __V, const int __M)
-{
-  return (__m128) __builtin_ia32_roundss ((__v4sf)__D,
-					  (__v4sf)__V,
-					  __M);
-}
-#else
-#define _mm_round_ps(V, M) \
-  ((__m128) __builtin_ia32_roundps ((__v4sf)(__m128)(V), (int)(M)))
-
-#define _mm_round_ss(D, V, M)						\
-  ((__m128) __builtin_ia32_roundss ((__v4sf)(__m128)(D),		\
-				    (__v4sf)(__m128)(V), (int)(M)))
-#endif
-
-/* Macros for ceil/floor intrinsics.  */
-#define _mm_ceil_pd(V)	   _mm_round_pd ((V), _MM_FROUND_CEIL)
-#define _mm_ceil_sd(D, V)  _mm_round_sd ((D), (V), _MM_FROUND_CEIL)
-
-#define _mm_floor_pd(V)	   _mm_round_pd((V), _MM_FROUND_FLOOR)
-#define _mm_floor_sd(D, V) _mm_round_sd ((D), (V), _MM_FROUND_FLOOR)
-
-#define _mm_ceil_ps(V)	   _mm_round_ps ((V), _MM_FROUND_CEIL)
-#define _mm_ceil_ss(D, V)  _mm_round_ss ((D), (V), _MM_FROUND_CEIL)
-
-#define _mm_floor_ps(V)	   _mm_round_ps ((V), _MM_FROUND_FLOOR)
-#define _mm_floor_ss(D, V) _mm_round_ss ((D), (V), _MM_FROUND_FLOOR)
-
-/* SSE4.1 */
-
-/* Integer blend instructions - select data from 2 sources using
-   constant/variable mask.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
-{
-  return (__m128i) __builtin_ia32_pblendw128 ((__v8hi)__X,
-					      (__v8hi)__Y,
-					      __M);
-}
-#else
-#define _mm_blend_epi16(X, Y, M)					\
-  ((__m128i) __builtin_ia32_pblendw128 ((__v8hi)(__m128i)(X),		\
-					(__v8hi)(__m128i)(Y), (int)(M)))
-#endif
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M)
-{
-  return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__X,
-					       (__v16qi)__Y,
-					       (__v16qi)__M);
-}
-
-/* Single precision floating point blend instructions - select data
-   from 2 sources using constant/variable mask.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
-{
-  return (__m128) __builtin_ia32_blendps ((__v4sf)__X,
-					  (__v4sf)__Y,
-					  __M);
-}
-#else
-#define _mm_blend_ps(X, Y, M)						\
-  ((__m128) __builtin_ia32_blendps ((__v4sf)(__m128)(X),		\
-				    (__v4sf)(__m128)(Y), (int)(M)))
-#endif
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M)
-{
-  return (__m128) __builtin_ia32_blendvps ((__v4sf)__X,
-					   (__v4sf)__Y,
-					   (__v4sf)__M);
-}
-
-/* Double precision floating point blend instructions - select data
-   from 2 sources using constant/variable mask.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blend_pd (__m128d __X, __m128d __Y, const int __M)
-{
-  return (__m128d) __builtin_ia32_blendpd ((__v2df)__X,
-					   (__v2df)__Y,
-					   __M);
-}
-#else
-#define _mm_blend_pd(X, Y, M)						\
-  ((__m128d) __builtin_ia32_blendpd ((__v2df)(__m128d)(X),		\
-				     (__v2df)(__m128d)(Y), (int)(M)))
-#endif
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M)
-{
-  return (__m128d) __builtin_ia32_blendvpd ((__v2df)__X,
-					    (__v2df)__Y,
-					    (__v2df)__M);
-}
-
-/* Dot product instructions with mask-defined summing and zeroing parts
-   of result.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_dp_ps (__m128 __X, __m128 __Y, const int __M)
-{
-  return (__m128) __builtin_ia32_dpps ((__v4sf)__X,
-				       (__v4sf)__Y,
-				       __M);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_dp_pd (__m128d __X, __m128d __Y, const int __M)
-{
-  return (__m128d) __builtin_ia32_dppd ((__v2df)__X,
-					(__v2df)__Y,
-					__M);
-}
-#else
-#define _mm_dp_ps(X, Y, M)						\
-  ((__m128) __builtin_ia32_dpps ((__v4sf)(__m128)(X),			\
-				 (__v4sf)(__m128)(Y), (int)(M)))
-
-#define _mm_dp_pd(X, Y, M)						\
-  ((__m128d) __builtin_ia32_dppd ((__v2df)(__m128d)(X),			\
-				  (__v2df)(__m128d)(Y), (int)(M)))
-#endif
-
-/* Packed integer 64-bit comparison, zeroing or filling with ones
-   corresponding parts of result.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_epi64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) ((__v2di)__X == (__v2di)__Y);
-}
-
-/*  Min/max packed integer instructions.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epi8 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pminsb128 ((__v16qi)__X, (__v16qi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epi8 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi)__X, (__v16qi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epu16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pminuw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epu16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pminsd128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_epu32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pminud128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_epu32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaxud128 ((__v4si)__X, (__v4si)__Y);
-}
-
-/* Packed integer 32-bit multiplication with truncation of upper
-   halves of results.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mullo_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) ((__v4su)__X * (__v4su)__Y);
-}
-
-/* Packed integer 32-bit multiplication of 2 pairs of operands
-   with two 64-bit results.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__X, (__v4si)__Y);
-}
-
-/* Insert single precision float into packed single precision array
-   element selected by index N.  The bits [7-6] of N define S
-   index, the bits [5-4] define D index, and bits [3-0] define
-   zeroing mask for D.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_ps (__m128 __D, __m128 __S, const int __N)
-{
-  return (__m128) __builtin_ia32_insertps128 ((__v4sf)__D,
-					      (__v4sf)__S,
-					      __N);
-}
-#else
-#define _mm_insert_ps(D, S, N)						\
-  ((__m128) __builtin_ia32_insertps128 ((__v4sf)(__m128)(D),		\
-					(__v4sf)(__m128)(S), (int)(N)))
-#endif
-
-/* Helper macro to create the N value for _mm_insert_ps.  */
-#define _MM_MK_INSERTPS_NDX(S, D, M) (((S) << 6) | ((D) << 4) | (M))
-
-/* Extract binary representation of single precision float from packed
-   single precision array element of X selected by index N.  */
-
-#ifdef __OPTIMIZE__
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_ps (__m128 __X, const int __N)
-{
-  union { int i; float f; } __tmp;
-  __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N);
-  return __tmp.i;
-}
-#else
-#define _mm_extract_ps(X, N)						\
-  (__extension__							\
-   ({									\
-     union { int i; float f; } __tmp;					\
-     __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)(__m128)(X), (int)(N)); \
-     __tmp.i;								\
-   }))
-#endif
-
-/* Extract binary representation of single precision float into
-   D from packed single precision array element of S selected
-   by index N.  */
-#define _MM_EXTRACT_FLOAT(D, S, N) \
-  { (D) = __builtin_ia32_vec_ext_v4sf ((__v4sf)(S), (N)); }
-  
-/* Extract specified single precision float element into the lower
-   part of __m128.  */
-#define _MM_PICK_OUT_PS(X, N)				\
-  _mm_insert_ps (_mm_setzero_ps (), (X), 		\
-		 _MM_MK_INSERTPS_NDX ((N), 0, 0x0e))
-
-/* Insert integer, S, into packed integer array element of D
-   selected by index N.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_epi8 (__m128i __D, int __S, const int __N)
-{
-  return (__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)__D,
-						 __S, __N);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_epi32 (__m128i __D, int __S, const int __N)
-{
-  return (__m128i) __builtin_ia32_vec_set_v4si ((__v4si)__D,
-						 __S, __N);
-}
-
-#ifdef __x86_64__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_epi64 (__m128i __D, long long __S, const int __N)
-{
-  return (__m128i) __builtin_ia32_vec_set_v2di ((__v2di)__D,
-						 __S, __N);
-}
-#endif
-#else
-#define _mm_insert_epi8(D, S, N)					\
-  ((__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)(__m128i)(D),	\
-					   (int)(S), (int)(N)))
-
-#define _mm_insert_epi32(D, S, N)				\
-  ((__m128i) __builtin_ia32_vec_set_v4si ((__v4si)(__m128i)(D),	\
-					  (int)(S), (int)(N)))
-
-#ifdef __x86_64__
-#define _mm_insert_epi64(D, S, N)					\
-  ((__m128i) __builtin_ia32_vec_set_v2di ((__v2di)(__m128i)(D),		\
-					  (long long)(S), (int)(N)))
-#endif
-#endif
-
-/* Extract integer from packed integer array element of X selected by
-   index N.  */
-
-#ifdef __OPTIMIZE__
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_epi8 (__m128i __X, const int __N)
-{
-   return (unsigned char) __builtin_ia32_vec_ext_v16qi ((__v16qi)__X, __N);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_epi32 (__m128i __X, const int __N)
-{
-   return __builtin_ia32_vec_ext_v4si ((__v4si)__X, __N);
-}
-
-#ifdef __x86_64__
-extern __inline long long  __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_epi64 (__m128i __X, const int __N)
-{
-  return __builtin_ia32_vec_ext_v2di ((__v2di)__X, __N);
-}
-#endif
-#else
-#define _mm_extract_epi8(X, N) \
-  ((int) (unsigned char) __builtin_ia32_vec_ext_v16qi ((__v16qi)(__m128i)(X), (int)(N)))
-#define _mm_extract_epi32(X, N) \
-  ((int) __builtin_ia32_vec_ext_v4si ((__v4si)(__m128i)(X), (int)(N)))
-
-#ifdef __x86_64__
-#define _mm_extract_epi64(X, N) \
-  ((long long) __builtin_ia32_vec_ext_v2di ((__v2di)(__m128i)(X), (int)(N)))
-#endif
-#endif
-
-/* Return horizontal packed word minimum and its index in bits [15:0]
-   and bits [18:16] respectively.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_minpos_epu16 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_phminposuw128 ((__v8hi)__X);
-}
-
-/* Packed integer sign-extension.  */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi8_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxbd128 ((__v16qi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi16_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxwd128 ((__v8hi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi8_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxbq128 ((__v16qi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi32_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxdq128 ((__v4si)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi16_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxwq128 ((__v8hi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepi8_epi16 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovsxbw128 ((__v16qi)__X);
-}
-
-/* Packed integer zero-extension. */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu8_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxbd128 ((__v16qi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu16_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxwd128 ((__v8hi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu8_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxbq128 ((__v16qi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu32_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxdq128 ((__v4si)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu16_epi64 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxwq128 ((__v8hi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtepu8_epi16 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pmovzxbw128 ((__v16qi)__X);
-}
-
-/* Pack 8 double words from 2 operands into 8 words of result with
-   unsigned saturation. */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_packus_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_packusdw128 ((__v4si)__X, (__v4si)__Y);
-}
-
-/* Sum absolute 8-bit integer difference of adjacent groups of 4
-   byte integers in the first 2 operands.  Starting offsets within
-   operands are determined by the 3rd mask operand.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mpsadbw_epu8 (__m128i __X, __m128i __Y, const int __M)
-{
-  return (__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)__X,
-					      (__v16qi)__Y, __M);
-}
-#else
-#define _mm_mpsadbw_epu8(X, Y, M)					\
-  ((__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)(__m128i)(X),		\
-					(__v16qi)(__m128i)(Y), (int)(M)))
-#endif
-
-/* Load double quadword using non-temporal aligned hint.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_load_si128 (__m128i *__X)
-{
-  return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __X);
-}
-
-#ifndef __SSE4_2__
-#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_2__ */
-
-/* These macros specify the source data format.  */
-#define _SIDD_UBYTE_OPS			0x00
-#define _SIDD_UWORD_OPS			0x01
-#define _SIDD_SBYTE_OPS			0x02
-#define _SIDD_SWORD_OPS			0x03
-
-/* These macros specify the comparison operation.  */
-#define _SIDD_CMP_EQUAL_ANY		0x00
-#define _SIDD_CMP_RANGES		0x04
-#define _SIDD_CMP_EQUAL_EACH		0x08
-#define _SIDD_CMP_EQUAL_ORDERED		0x0c
-
-/* These macros specify the polarity.  */
-#define _SIDD_POSITIVE_POLARITY		0x00
-#define _SIDD_NEGATIVE_POLARITY		0x10
-#define _SIDD_MASKED_POSITIVE_POLARITY	0x20
-#define _SIDD_MASKED_NEGATIVE_POLARITY	0x30
-
-/* These macros specify the output selection in _mm_cmpXstri ().  */
-#define _SIDD_LEAST_SIGNIFICANT		0x00
-#define _SIDD_MOST_SIGNIFICANT		0x40
-
-/* These macros specify the output selection in _mm_cmpXstrm ().  */
-#define _SIDD_BIT_MASK			0x00
-#define _SIDD_UNIT_MASK			0x40
-
-/* Intrinsics for text/string processing.  */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistrm (__m128i __X, __m128i __Y, const int __M)
-{
-  return (__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)__X,
-						(__v16qi)__Y,
-						__M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistri (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistri128 ((__v16qi)__X,
-				      (__v16qi)__Y,
-				      __M);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestrm (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return (__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)__X, __LX,
-						(__v16qi)__Y, __LY,
-						__M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestri (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestri128 ((__v16qi)__X, __LX,
-				      (__v16qi)__Y, __LY,
-				      __M);
-}
-#else
-#define _mm_cmpistrm(X, Y, M)						\
-  ((__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)(__m128i)(X),	\
-					  (__v16qi)(__m128i)(Y), (int)(M)))
-#define _mm_cmpistri(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistri128 ((__v16qi)(__m128i)(X),		\
-				      (__v16qi)(__m128i)(Y), (int)(M)))
-
-#define _mm_cmpestrm(X, LX, Y, LY, M)					\
-  ((__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)(__m128i)(X),	\
-					  (int)(LX), (__v16qi)(__m128i)(Y), \
-					  (int)(LY), (int)(M)))
-#define _mm_cmpestri(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestri128 ((__v16qi)(__m128i)(X), (int)(LX),	\
-				      (__v16qi)(__m128i)(Y), (int)(LY),	\
-				      (int)(M)))
-#endif
-
-/* Intrinsics for text/string processing and reading values of
-   EFlags.  */
-
-#ifdef __OPTIMIZE__
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistra (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistria128 ((__v16qi)__X,
-				       (__v16qi)__Y,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistrc (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistric128 ((__v16qi)__X,
-				       (__v16qi)__Y,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistro (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistrio128 ((__v16qi)__X,
-				       (__v16qi)__Y,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistrs (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistris128 ((__v16qi)__X,
-				       (__v16qi)__Y,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpistrz (__m128i __X, __m128i __Y, const int __M)
-{
-  return __builtin_ia32_pcmpistriz128 ((__v16qi)__X,
-				       (__v16qi)__Y,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestra (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestria128 ((__v16qi)__X, __LX,
-				       (__v16qi)__Y, __LY,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestrc (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestric128 ((__v16qi)__X, __LX,
-				       (__v16qi)__Y, __LY,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestro (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestrio128 ((__v16qi)__X, __LX,
-				       (__v16qi)__Y, __LY,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestrs (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestris128 ((__v16qi)__X, __LX,
-				       (__v16qi)__Y, __LY,
-				       __M);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpestrz (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
-{
-  return __builtin_ia32_pcmpestriz128 ((__v16qi)__X, __LX,
-				       (__v16qi)__Y, __LY,
-				       __M);
-}
-#else
-#define _mm_cmpistra(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistria128 ((__v16qi)(__m128i)(X),		\
-				       (__v16qi)(__m128i)(Y), (int)(M)))
-#define _mm_cmpistrc(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistric128 ((__v16qi)(__m128i)(X),		\
-				       (__v16qi)(__m128i)(Y), (int)(M)))
-#define _mm_cmpistro(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistrio128 ((__v16qi)(__m128i)(X),		\
-				       (__v16qi)(__m128i)(Y), (int)(M)))
-#define _mm_cmpistrs(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistris128 ((__v16qi)(__m128i)(X),		\
-				       (__v16qi)(__m128i)(Y), (int)(M)))
-#define _mm_cmpistrz(X, Y, M)						\
-  ((int) __builtin_ia32_pcmpistriz128 ((__v16qi)(__m128i)(X),		\
-				       (__v16qi)(__m128i)(Y), (int)(M)))
-
-#define _mm_cmpestra(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestria128 ((__v16qi)(__m128i)(X), (int)(LX), \
-				       (__v16qi)(__m128i)(Y), (int)(LY), \
-				       (int)(M)))
-#define _mm_cmpestrc(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestric128 ((__v16qi)(__m128i)(X), (int)(LX), \
-				       (__v16qi)(__m128i)(Y), (int)(LY), \
-				       (int)(M)))
-#define _mm_cmpestro(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestrio128 ((__v16qi)(__m128i)(X), (int)(LX), \
-				       (__v16qi)(__m128i)(Y), (int)(LY), \
-				       (int)(M)))
-#define _mm_cmpestrs(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestris128 ((__v16qi)(__m128i)(X), (int)(LX), \
-				       (__v16qi)(__m128i)(Y), (int)(LY), \
-				       (int)(M)))
-#define _mm_cmpestrz(X, LX, Y, LY, M)					\
-  ((int) __builtin_ia32_pcmpestriz128 ((__v16qi)(__m128i)(X), (int)(LX), \
-				       (__v16qi)(__m128i)(Y), (int)(LY), \
-				       (int)(M)))
-#endif
-
-/* Packed integer 64-bit comparison, zeroing or filling with ones
-   corresponding parts of result.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_epi64 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) ((__v2di)__X > (__v2di)__Y);
-}
-
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
-
-#ifdef __DISABLE_SSE4_1__
-#undef __DISABLE_SSE4_1__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_1__ */
-
-#include <popcntintrin.h>
-
-#ifndef __SSE4_1__
-#pragma GCC push_options
-#pragma GCC target("sse4.1")
-#define __DISABLE_SSE4_1__
-#endif /* __SSE4_1__ */
-
-#ifndef __SSE4_2__
-#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_1__ */
-
-/* Accumulate CRC32 (polynomial 0x11EDC6F41) value.  */
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_crc32_u8 (unsigned int __C, unsigned char __V)
-{
-  return __builtin_ia32_crc32qi (__C, __V);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_crc32_u16 (unsigned int __C, unsigned short __V)
-{
-  return __builtin_ia32_crc32hi (__C, __V);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_crc32_u32 (unsigned int __C, unsigned int __V)
-{
-  return __builtin_ia32_crc32si (__C, __V);
-}
-
-#ifdef __x86_64__
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_crc32_u64 (unsigned long long __C, unsigned long long __V)
-{
-  return __builtin_ia32_crc32di (__C, __V);
-}
-#endif
-
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
-
-#ifdef __DISABLE_SSE4_1__
-#undef __DISABLE_SSE4_1__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_1__ */
-
-#endif /* _SMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/ssp.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/ssp.h	(revision 1046)
+++ 	(revision )
@@ -1,65 +1,0 @@
-/* Object size checking support macros.
-   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file.  (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#ifndef _SSP_H
-#define _SSP_H 1
-
-#if _FORTIFY_SOURCE > 0 && __OPTIMIZE__ > 0 \
-    && defined __GNUC__ \
-    && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) \
-    && !defined __cplusplus
-# if _FORTIFY_SOURCE == 1
-#  define __SSP_FORTIFY_LEVEL 1
-# elif _FORTIFY_SOURCE > 1
-#  define __SSP_FORTIFY_LEVEL 2
-# endif
-#endif
-
-#if __SSP_FORTIFY_LEVEL > 0
-# include <stddef.h>
-# define __ssp_bos(ptr) __builtin_object_size (ptr, __SSP_FORTIFY_LEVEL > 1)
-# define __ssp_bos0(ptr) __builtin_object_size (ptr, 0)
-
-# define __SSP_REDIRECT(name, proto, alias) \
-  name proto __asm__ (__SSP_ASMNAME (#alias))
-# define __SSP_ASMNAME(cname)  __SSP_ASMNAME2 (__USER_LABEL_PREFIX__, cname)
-# define __SSP_ASMNAME2(prefix, cname) __SSP_ASMNAME3 (prefix) cname
-# define __SSP_ASMNAME3(prefix) #prefix
-
-# undef __SSP_HAVE_VSNPRINTF
-
-extern void __chk_fail (void) __attribute__((__noreturn__));
-#endif
-
-#endif /* _SSP_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/stdio.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/stdio.h	(revision 1046)
+++ 	(revision )
@@ -1,100 +1,0 @@
-/* Checking macros for stdio functions.
-   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file.  (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#ifndef _SSP_STDIO_H
-#define _SSP_STDIO_H 1
-
-#include <ssp.h>
-#include_next <stdio.h>
-
-#if __SSP_FORTIFY_LEVEL > 0
-
-#include <stdarg.h>
-
-#undef sprintf
-#undef vsprintf
-#undef snprintf
-#undef vsnprintf
-#undef gets
-#undef fgets
-
-extern int __sprintf_chk (char *__restrict__ __s, int __flag, size_t __slen,
-			  __const char *__restrict__ __format, ...);
-extern int __vsprintf_chk (char *__restrict__ __s, int __flag, size_t __slen,
-			   __const char *__restrict__ __format,
-			   va_list __ap);
-
-#define sprintf(str, ...) \
-  __builtin___sprintf_chk (str, 0, __ssp_bos (str), \
-			   __VA_ARGS__)
-#define vsprintf(str, fmt, ap) \
-  __builtin___vsprintf_chk (str, 0, __ssp_bos (str), fmt, ap)
-
-extern int __snprintf_chk (char *__restrict__ __s, size_t __n, int __flag,
-			   size_t __slen, __const char *__restrict__ __format,
-			   ...);
-extern int __vsnprintf_chk (char *__restrict__ __s, size_t __n, int __flag,
-			    size_t __slen, __const char *__restrict__ __format,
-			    va_list __ap);
-
-#define snprintf(str, len, ...) \
-  __builtin___snprintf_chk (str, len, 0, __ssp_bos (str), __VA_ARGS__)
-#define vsnprintf(str, len, fmt, ap) \
-  __builtin___vsnprintf_chk (str, len, 0, __ssp_bos (str), fmt, ap)
-
-extern char *__gets_chk (char *__str, size_t);
-extern char *__SSP_REDIRECT (__gets_alias, (char *__str), gets);
-
-extern inline __attribute__((__always_inline__)) char *
-gets (char *__str)
-{
-  if (__ssp_bos (__str) != (size_t) -1)
-    return __gets_chk (__str, __ssp_bos (__str));
-  return __gets_alias (__str);
-}
-
-extern char *__SSP_REDIRECT (__fgets_alias,
-			     (char *__restrict__ __s, int __n,
-			      FILE *__restrict__ __stream), fgets);
-
-extern inline __attribute__((__always_inline__)) char *
-fgets (char *__restrict__ __s, int __n, FILE *__restrict__ __stream)
-{
-  if (__ssp_bos (__s) != (size_t) -1 && (size_t) __n > __ssp_bos (__s))
-    __chk_fail ();
-  return __fgets_alias (__s, __n, __stream);
-}
-
-#endif /* __SSP_FORTIFY_LEVEL > 0 */
-#endif /* _SSP_STDIO_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/string.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/string.h	(revision 1046)
+++ 	(revision )
@@ -1,167 +1,0 @@
-/* Checking macros for string functions.
-   Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file.  (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#ifndef _SSP_STRING_H
-#define _SSP_STRING_H 1
-
-#include <ssp.h>
-#include_next <string.h>
-
-#if __SSP_FORTIFY_LEVEL > 0
-
-#undef memcpy
-#undef memmove
-#undef memset
-#undef strcat
-#undef strcpy
-#undef strncat
-#undef strncpy
-#undef mempcpy
-#undef stpcpy
-#undef bcopy
-#undef bzero
-
-#define memcpy(dest, src, len) \
-  ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memcpy_chk (dest, src, len, __ssp_bos0 (dest))		\
-   : __memcpy_ichk (dest, src, len))
-static inline __attribute__((__always_inline__)) void *
-__memcpy_ichk (void *__restrict__ __dest, const void *__restrict__ __src,
-	       size_t __len)
-{
-  return __builtin___memcpy_chk (__dest, __src, __len, __ssp_bos0 (__dest));
-}
-
-
-#define memmove(dest, src, len) \
-  ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memmove_chk (dest, src, len, __ssp_bos0 (dest))		\
-   : __memmove_ichk (dest, src, len))
-static inline __attribute__((__always_inline__)) void *
-__memmove_ichk (void *__dest, const void *__src, size_t __len)
-{
-  return __builtin___memmove_chk (__dest, __src, __len, __ssp_bos0 (__dest));
-}
-
-
-#define mempcpy(dest, src, len) \
-  ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___mempcpy_chk (dest, src, len, __ssp_bos0 (dest))	\
-   : __mempcpy_ichk (dest, src, len))
-static inline __attribute__((__always_inline__)) void *
-__mempcpy_ichk (void *__restrict__ __dest, const void *__restrict__ __src,
-		size_t __len)
-{
-  return __builtin___mempcpy_chk (__dest, __src, __len, __ssp_bos0 (__dest));
-}
-
-
-#define memset(dest, ch, len) \
-  ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memset_chk (dest, ch, len, __ssp_bos0 (dest))		\
-   : __memset_ichk (dest, ch, len))
-static inline __attribute__((__always_inline__)) void *
-__memset_ichk (void *__dest, int __ch, size_t __len)
-{
-  return __builtin___memset_chk (__dest, __ch, __len, __ssp_bos0 (__dest));
-}
-
-#define bcopy(src, dest, len) ((void) \
- ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memmove_chk (dest, src, len, __ssp_bos0 (dest))	\
-   : __memmove_ichk (dest, src, len)))
-#define bzero(dest, len) ((void) \
-  ((__ssp_bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memset_chk (dest, '\0', len, __ssp_bos0 (dest))	\
-   : __memset_ichk (dest, '\0', len)))
-
-
-#define strcpy(dest, src) \
-  ((__ssp_bos (dest) != (size_t) -1)					\
-   ? __builtin___strcpy_chk (dest, src, __ssp_bos (dest))		\
-   : __strcpy_ichk (dest, src))
-static inline __attribute__((__always_inline__)) char *
-__strcpy_ichk (char *__restrict__ __dest, const char *__restrict__ __src)
-{
-  return __builtin___strcpy_chk (__dest, __src, __ssp_bos (__dest));
-}
-
-
-#define stpcpy(dest, src) \
-  ((__ssp_bos (dest) != (size_t) -1)					\
-   ? __builtin___stpcpy_chk (dest, src, __ssp_bos (dest))		\
-   : __stpcpy_ichk (dest, src))
-static inline __attribute__((__always_inline__)) char *
-__stpcpy_ichk (char *__restrict__ __dest, const char *__restrict__ __src)
-{
-  return __builtin___stpcpy_chk (__dest, __src, __ssp_bos (__dest));
-}
-
-
-#define strncpy(dest, src, len) \
-  ((__ssp_bos (dest) != (size_t) -1)					\
-   ? __builtin___strncpy_chk (dest, src, len, __ssp_bos (dest))		\
-   : __strncpy_ichk (dest, src, len))
-static inline __attribute__((__always_inline__)) char *
-__strncpy_ichk (char *__restrict__ __dest, const char *__restrict__ __src,
-		size_t __len)
-{
-  return __builtin___strncpy_chk (__dest, __src, __len, __ssp_bos (__dest));
-}
-
-
-#define strcat(dest, src) \
-  ((__ssp_bos (dest) != (size_t) -1)					\
-   ? __builtin___strcat_chk (dest, src, __ssp_bos (dest))		\
-   : __strcat_ichk (dest, src))
-static inline __attribute__((__always_inline__)) char *
-__strcat_ichk (char *__restrict__ __dest, const char *__restrict__ __src)
-{
-  return __builtin___strcat_chk (__dest, __src, __ssp_bos (__dest));
-}
-
-
-#define strncat(dest, src, len) \
-  ((__ssp_bos (dest) != (size_t) -1)					\
-   ? __builtin___strncat_chk (dest, src, len, __ssp_bos (dest))		\
-   : __strncat_ichk (dest, src, len))
-static inline __attribute__((__always_inline__)) char *
-__strncat_ichk (char *__restrict__ __dest, const char *__restrict__ __src,
-		size_t __len)
-{
-  return __builtin___strncat_chk (__dest, __src, __len, __ssp_bos (__dest));
-}
-
-#endif /* __SSP_FORTIFY_LEVEL > 0 */
-#endif /* _SSP_STRING_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/unistd.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/ssp/unistd.h	(revision 1046)
+++ 	(revision )
@@ -1,84 +1,0 @@
-/* Checking macros for unistd functions.
-   Copyright (C) 2005, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file.  (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-#ifndef _SSP_UNISTD_H
-#define _SSP_UNISTD_H 1
-
-#include <ssp.h>
-#include_next <unistd.h>
-
-#if __SSP_FORTIFY_LEVEL > 0
-
-#undef read
-#undef readlink
-#undef getcwd
-
-extern ssize_t __SSP_REDIRECT (__read_alias, (int __fd, void *__buf,
-					      size_t __nbytes), read);
-
-extern inline __attribute__((__always_inline__)) ssize_t
-read (int __fd, void *__buf, size_t __nbytes)
-{
-  if (__ssp_bos0 (__buf) != (size_t) -1 && __nbytes > __ssp_bos0 (__buf))
-    __chk_fail ();
-  return __read_alias (__fd, __buf, __nbytes);
-}
-
-extern int __SSP_REDIRECT (__readlink_alias,
-			   (const char *__restrict__ __path,
-			    char *__restrict__ __buf, size_t __len),
-			   readlink);
-
-extern inline __attribute__((__always_inline__)) int
-readlink (const char *__restrict__ __path, char *__restrict__ __buf,
-	  size_t __len)
-{
-  if (__ssp_bos (__buf) != (size_t) -1 && __len > __ssp_bos (__buf))
-    __chk_fail ();
-  return __readlink_alias (__path, __buf, __len);
-}
-
-extern char *__SSP_REDIRECT (__getcwd_alias,
-			     (char *__buf, size_t __size), getcwd);
-
-extern inline __attribute__((__always_inline__)) char *
-getcwd (char *__buf, size_t __size)
-{
-  if (__ssp_bos (__buf) != (size_t) -1 && __size > __ssp_bos (__buf))
-    __chk_fail ();
-  return __getcwd_alias (__buf, __size);
-}
-
-#endif /* __SSP_FORTIFY_LEVEL > 0 */
-#endif /* _SSP_UNISTD_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdalign.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdalign.h	(revision 1046)
+++ 	(revision )
@@ -1,39 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* ISO C1X: 7.15 Alignment <stdalign.h>.  */
-
-#ifndef _STDALIGN_H
-#define _STDALIGN_H
-
-#ifndef __cplusplus
-
-#define alignas _Alignas
-#define alignof _Alignof
-
-#define __alignas_is_defined 1
-#define __alignof_is_defined 1
-
-#endif
-
-#endif	/* stdalign.h */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdarg.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdarg.h	(revision 1046)
+++ 	(revision )
@@ -1,126 +1,0 @@
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.15  Variable arguments  <stdarg.h>
- */
-
-#ifndef _STDARG_H
-#ifndef _ANSI_STDARG_H_
-#ifndef __need___va_list
-#define _STDARG_H
-#define _ANSI_STDARG_H_
-#endif /* not __need___va_list */
-#undef __need___va_list
-
-/* Define __gnuc_va_list.  */
-
-#ifndef __GNUC_VA_LIST
-#define __GNUC_VA_LIST
-typedef __builtin_va_list __gnuc_va_list;
-#endif
-
-/* Define the standard macros for the user,
-   if this invocation was from the user program.  */
-#ifdef _STDARG_H
-
-#define va_start(v,l)	__builtin_va_start(v,l)
-#define va_end(v)	__builtin_va_end(v)
-#define va_arg(v,l)	__builtin_va_arg(v,l)
-#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__)
-#define va_copy(d,s)	__builtin_va_copy(d,s)
-#endif
-#define __va_copy(d,s)	__builtin_va_copy(d,s)
-
-/* Define va_list, if desired, from __gnuc_va_list. */
-/* We deliberately do not define va_list when called from
-   stdio.h, because ANSI C says that stdio.h is not supposed to define
-   va_list.  stdio.h needs to have access to that data type, 
-   but must not use that name.  It should use the name __gnuc_va_list,
-   which is safe because it is reserved for the implementation.  */
-
-#ifdef _BSD_VA_LIST
-#undef _BSD_VA_LIST
-#endif
-
-#if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST))
-/* SVR4.2 uses _VA_LIST for an internal alias for va_list,
-   so we must avoid testing it and setting it here.
-   SVR4 uses _VA_LIST as a flag in stdarg.h, but we should
-   have no conflict with that.  */
-#ifndef _VA_LIST_
-#define _VA_LIST_
-#ifdef __i860__
-#ifndef _VA_LIST
-#define _VA_LIST va_list
-#endif
-#endif /* __i860__ */
-typedef __gnuc_va_list va_list;
-#ifdef _SCO_DS
-#define __VA_LIST
-#endif
-#endif /* _VA_LIST_ */
-#else /* not __svr4__ || _SCO_DS */
-
-/* The macro _VA_LIST_ is the same thing used by this file in Ultrix.
-   But on BSD NET2 we must not test or define or undef it.
-   (Note that the comments in NET 2's ansi.h
-   are incorrect for _VA_LIST_--see stdio.h!)  */
-#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT)
-/* The macro _VA_LIST_DEFINED is used in Windows NT 3.5  */
-#ifndef _VA_LIST_DEFINED
-/* The macro _VA_LIST is used in SCO Unix 3.2.  */
-#ifndef _VA_LIST
-/* The macro _VA_LIST_T_H is used in the Bull dpx2  */
-#ifndef _VA_LIST_T_H
-/* The macro __va_list__ is used by BeOS.  */
-#ifndef __va_list__
-typedef __gnuc_va_list va_list;
-#endif /* not __va_list__ */
-#endif /* not _VA_LIST_T_H */
-#endif /* not _VA_LIST */
-#endif /* not _VA_LIST_DEFINED */
-#if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__))
-#define _VA_LIST_
-#endif
-#ifndef _VA_LIST
-#define _VA_LIST
-#endif
-#ifndef _VA_LIST_DEFINED
-#define _VA_LIST_DEFINED
-#endif
-#ifndef _VA_LIST_T_H
-#define _VA_LIST_T_H
-#endif
-#ifndef __va_list__
-#define __va_list__
-#endif
-
-#endif /* not _VA_LIST_, except on certain systems */
-
-#endif /* not __svr4__ */
-
-#endif /* _STDARG_H */
-
-#endif /* not _ANSI_STDARG_H_ */
-#endif /* not _STDARG_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdatomic.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdatomic.h	(revision 1046)
+++ 	(revision )
@@ -1,238 +1,0 @@
-/* Copyright (C) 2013-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* ISO C11 Standard:  7.17  Atomics <stdatomic.h>.  */
-
-#ifndef _STDATOMIC_H
-#define _STDATOMIC_H
-
-typedef enum
-  {
-    memory_order_relaxed = __ATOMIC_RELAXED,
-    memory_order_consume = __ATOMIC_CONSUME,
-    memory_order_acquire = __ATOMIC_ACQUIRE,
-    memory_order_release = __ATOMIC_RELEASE,
-    memory_order_acq_rel = __ATOMIC_ACQ_REL,
-    memory_order_seq_cst = __ATOMIC_SEQ_CST
-  } memory_order;
-
-
-typedef _Atomic _Bool atomic_bool;
-typedef _Atomic char atomic_char;
-typedef _Atomic signed char atomic_schar;
-typedef _Atomic unsigned char atomic_uchar;
-typedef _Atomic short atomic_short;
-typedef _Atomic unsigned short atomic_ushort;
-typedef _Atomic int atomic_int;
-typedef _Atomic unsigned int atomic_uint;
-typedef _Atomic long atomic_long;
-typedef _Atomic unsigned long atomic_ulong;
-typedef _Atomic long long atomic_llong;
-typedef _Atomic unsigned long long atomic_ullong;
-typedef _Atomic __CHAR16_TYPE__ atomic_char16_t;
-typedef _Atomic __CHAR32_TYPE__ atomic_char32_t;
-typedef _Atomic __WCHAR_TYPE__ atomic_wchar_t;
-typedef _Atomic __INT_LEAST8_TYPE__ atomic_int_least8_t;
-typedef _Atomic __UINT_LEAST8_TYPE__ atomic_uint_least8_t;
-typedef _Atomic __INT_LEAST16_TYPE__ atomic_int_least16_t;
-typedef _Atomic __UINT_LEAST16_TYPE__ atomic_uint_least16_t;
-typedef _Atomic __INT_LEAST32_TYPE__ atomic_int_least32_t;
-typedef _Atomic __UINT_LEAST32_TYPE__ atomic_uint_least32_t;
-typedef _Atomic __INT_LEAST64_TYPE__ atomic_int_least64_t;
-typedef _Atomic __UINT_LEAST64_TYPE__ atomic_uint_least64_t;
-typedef _Atomic __INT_FAST8_TYPE__ atomic_int_fast8_t;
-typedef _Atomic __UINT_FAST8_TYPE__ atomic_uint_fast8_t;
-typedef _Atomic __INT_FAST16_TYPE__ atomic_int_fast16_t;
-typedef _Atomic __UINT_FAST16_TYPE__ atomic_uint_fast16_t;
-typedef _Atomic __INT_FAST32_TYPE__ atomic_int_fast32_t;
-typedef _Atomic __UINT_FAST32_TYPE__ atomic_uint_fast32_t;
-typedef _Atomic __INT_FAST64_TYPE__ atomic_int_fast64_t;
-typedef _Atomic __UINT_FAST64_TYPE__ atomic_uint_fast64_t;
-typedef _Atomic __INTPTR_TYPE__ atomic_intptr_t;
-typedef _Atomic __UINTPTR_TYPE__ atomic_uintptr_t;
-typedef _Atomic __SIZE_TYPE__ atomic_size_t;
-typedef _Atomic __PTRDIFF_TYPE__ atomic_ptrdiff_t;
-typedef _Atomic __INTMAX_TYPE__ atomic_intmax_t;
-typedef _Atomic __UINTMAX_TYPE__ atomic_uintmax_t;        
-
-
-#define ATOMIC_VAR_INIT(VALUE)	(VALUE)
-#define atomic_init(PTR, VAL)			\
-  do						\
-    {						\
-      *(PTR) = (VAL);				\
-    }						\
-  while (0)
-
-#define kill_dependency(Y)			\
-  __extension__					\
-  ({						\
-    __auto_type __kill_dependency_tmp = (Y);	\
-    __kill_dependency_tmp;			\
-  })
-
-#define atomic_thread_fence(MO)	__atomic_thread_fence (MO)
-#define atomic_signal_fence(MO)	__atomic_signal_fence  (MO)
-#define atomic_is_lock_free(OBJ) __atomic_is_lock_free (sizeof (*(OBJ)), (OBJ))
-
-#define ATOMIC_BOOL_LOCK_FREE		__GCC_ATOMIC_BOOL_LOCK_FREE
-#define ATOMIC_CHAR_LOCK_FREE		__GCC_ATOMIC_CHAR_LOCK_FREE
-#define ATOMIC_CHAR16_T_LOCK_FREE	__GCC_ATOMIC_CHAR16_T_LOCK_FREE
-#define ATOMIC_CHAR32_T_LOCK_FREE	__GCC_ATOMIC_CHAR32_T_LOCK_FREE
-#define ATOMIC_WCHAR_T_LOCK_FREE	__GCC_ATOMIC_WCHAR_T_LOCK_FREE
-#define ATOMIC_SHORT_LOCK_FREE		__GCC_ATOMIC_SHORT_LOCK_FREE
-#define ATOMIC_INT_LOCK_FREE		__GCC_ATOMIC_INT_LOCK_FREE
-#define ATOMIC_LONG_LOCK_FREE		__GCC_ATOMIC_LONG_LOCK_FREE
-#define ATOMIC_LLONG_LOCK_FREE		__GCC_ATOMIC_LLONG_LOCK_FREE
-#define ATOMIC_POINTER_LOCK_FREE	__GCC_ATOMIC_POINTER_LOCK_FREE
-
-
-/* Note that these macros require __typeof__ and __auto_type to remove
-   _Atomic qualifiers (and const qualifiers, if those are valid on
-   macro operands).
-   
-   Also note that the header file uses the generic form of __atomic
-   builtins, which requires the address to be taken of the value
-   parameter, and then we pass that value on.  This allows the macros
-   to work for any type, and the compiler is smart enough to convert
-   these to lock-free _N variants if possible, and throw away the
-   temps.  */
-
-#define atomic_store_explicit(PTR, VAL, MO)				\
-  __extension__								\
-  ({									\
-    __auto_type __atomic_store_ptr = (PTR);				\
-    __typeof__ (*__atomic_store_ptr) __atomic_store_tmp = (VAL);	\
-    __atomic_store (__atomic_store_ptr, &__atomic_store_tmp, (MO));	\
-  })
-
-#define atomic_store(PTR, VAL)				\
-  atomic_store_explicit (PTR, VAL, __ATOMIC_SEQ_CST)
-
-
-#define atomic_load_explicit(PTR, MO)					\
-  __extension__								\
-  ({									\
-    __auto_type __atomic_load_ptr = (PTR);				\
-    __typeof__ (*__atomic_load_ptr) __atomic_load_tmp;			\
-    __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (MO));	\
-    __atomic_load_tmp;							\
-  })
-
-#define atomic_load(PTR)  atomic_load_explicit (PTR, __ATOMIC_SEQ_CST)
-
-
-#define atomic_exchange_explicit(PTR, VAL, MO)				\
-  __extension__								\
-  ({									\
-    __auto_type __atomic_exchange_ptr = (PTR);				\
-    __typeof__ (*__atomic_exchange_ptr) __atomic_exchange_val = (VAL);	\
-    __typeof__ (*__atomic_exchange_ptr) __atomic_exchange_tmp;		\
-    __atomic_exchange (__atomic_exchange_ptr, &__atomic_exchange_val,	\
-		       &__atomic_exchange_tmp, (MO));			\
-    __atomic_exchange_tmp;						\
-  })
-
-#define atomic_exchange(PTR, VAL) 			\
-  atomic_exchange_explicit (PTR, VAL, __ATOMIC_SEQ_CST)
-
-
-#define atomic_compare_exchange_strong_explicit(PTR, VAL, DES, SUC, FAIL) \
-  __extension__								\
-  ({									\
-    __auto_type __atomic_compare_exchange_ptr = (PTR);			\
-    __typeof__ (*__atomic_compare_exchange_ptr) __atomic_compare_exchange_tmp \
-      = (DES);								\
-    __atomic_compare_exchange (__atomic_compare_exchange_ptr, (VAL),	\
-			       &__atomic_compare_exchange_tmp, 0,	\
-			       (SUC), (FAIL));				\
-  })
-
-#define atomic_compare_exchange_strong(PTR, VAL, DES) 			   \
-  atomic_compare_exchange_strong_explicit (PTR, VAL, DES, __ATOMIC_SEQ_CST, \
-					   __ATOMIC_SEQ_CST)
-
-#define atomic_compare_exchange_weak_explicit(PTR, VAL, DES, SUC, FAIL) \
-  __extension__								\
-  ({									\
-    __auto_type __atomic_compare_exchange_ptr = (PTR);			\
-    __typeof__ (*__atomic_compare_exchange_ptr) __atomic_compare_exchange_tmp \
-      = (DES);								\
-    __atomic_compare_exchange (__atomic_compare_exchange_ptr, (VAL),	\
-			       &__atomic_compare_exchange_tmp, 1,	\
-			       (SUC), (FAIL));				\
-  })
-
-#define atomic_compare_exchange_weak(PTR, VAL, DES)			\
-  atomic_compare_exchange_weak_explicit (PTR, VAL, DES, __ATOMIC_SEQ_CST, \
-					 __ATOMIC_SEQ_CST)
-
-
-
-#define atomic_fetch_add(PTR, VAL) __atomic_fetch_add ((PTR), (VAL), 	\
-						       __ATOMIC_SEQ_CST)
-#define atomic_fetch_add_explicit(PTR, VAL, MO) 			\
-			  __atomic_fetch_add ((PTR), (VAL), (MO))
-
-#define atomic_fetch_sub(PTR, VAL) __atomic_fetch_sub ((PTR), (VAL), 	\
-						       __ATOMIC_SEQ_CST)
-#define atomic_fetch_sub_explicit(PTR, VAL, MO) 			\
-			  __atomic_fetch_sub ((PTR), (VAL), (MO))
-
-#define atomic_fetch_or(PTR, VAL) __atomic_fetch_or ((PTR), (VAL), 	\
-						       __ATOMIC_SEQ_CST)
-#define atomic_fetch_or_explicit(PTR, VAL, MO) 			\
-			  __atomic_fetch_or ((PTR), (VAL), (MO))
-
-#define atomic_fetch_xor(PTR, VAL) __atomic_fetch_xor ((PTR), (VAL), 	\
-						       __ATOMIC_SEQ_CST)
-#define atomic_fetch_xor_explicit(PTR, VAL, MO) 			\
-			  __atomic_fetch_xor ((PTR), (VAL), (MO))
-
-#define atomic_fetch_and(PTR, VAL) __atomic_fetch_and ((PTR), (VAL), 	\
-						       __ATOMIC_SEQ_CST)
-#define atomic_fetch_and_explicit(PTR, VAL, MO) 			\
-			  __atomic_fetch_and ((PTR), (VAL), (MO))
-
-
-typedef _Atomic struct
-{
-#if __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1
-  _Bool __val;
-#else
-  unsigned char __val;
-#endif
-} atomic_flag;
-
-#define ATOMIC_FLAG_INIT	{ 0 }
-
-
-#define atomic_flag_test_and_set(PTR) 					\
-			__atomic_test_and_set ((PTR), __ATOMIC_SEQ_CST)
-#define atomic_flag_test_and_set_explicit(PTR, MO)			\
-			__atomic_test_and_set ((PTR), (MO))
-
-#define atomic_flag_clear(PTR)	__atomic_clear ((PTR), __ATOMIC_SEQ_CST)
-#define atomic_flag_clear_explicit(PTR, MO)   __atomic_clear ((PTR), (MO))
-
-#endif  /* _STDATOMIC_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdbool.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdbool.h	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-/* Copyright (C) 1998-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.16  Boolean type and values  <stdbool.h>
- */
-
-#ifndef _STDBOOL_H
-#define _STDBOOL_H
-
-#ifndef __cplusplus
-
-#define bool	_Bool
-#define true	1
-#define false	0
-
-#else /* __cplusplus */
-
-/* Supporting _Bool in C++ is a GCC extension.  */
-#define _Bool	bool
-
-#if __cplusplus < 201103L
-/* Defining these macros in C++98 is a GCC extension.  */
-#define bool	bool
-#define false	false
-#define true	true
-#endif
-
-#endif /* __cplusplus */
-
-/* Signal that all the definitions are present.  */
-#define __bool_true_false_are_defined	1
-
-#endif	/* stdbool.h */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stddef.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stddef.h	(revision 1046)
+++ 	(revision )
@@ -1,443 +1,0 @@
-/* Copyright (C) 1989-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.17  Common definitions  <stddef.h>
- */
-#if (!defined(_STDDEF_H) && !defined(_STDDEF_H_) && !defined(_ANSI_STDDEF_H) \
-     && !defined(__STDDEF_H__)) \
-    || defined(__need_wchar_t) || defined(__need_size_t) \
-    || defined(__need_ptrdiff_t) || defined(__need_NULL) \
-    || defined(__need_wint_t)
-
-/* Any one of these symbols __need_* means that GNU libc
-   wants us just to define one data type.  So don't define
-   the symbols that indicate this file's entire job has been done.  */
-#if (!defined(__need_wchar_t) && !defined(__need_size_t)	\
-     && !defined(__need_ptrdiff_t) && !defined(__need_NULL)	\
-     && !defined(__need_wint_t))
-#define _STDDEF_H
-#define _STDDEF_H_
-/* snaroff@next.com says the NeXT needs this.  */
-#define _ANSI_STDDEF_H
-#endif
-
-#ifndef __sys_stdtypes_h
-/* This avoids lossage on SunOS but only if stdtypes.h comes first.
-   There's no way to win with the other order!  Sun lossage.  */
-
-/* On 4.3bsd-net2, make sure ansi.h is included, so we have
-   one less case to deal with in the following.  */
-#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
-#include <machine/ansi.h>
-#endif
-/* On FreeBSD 5, machine/ansi.h does not exist anymore... */
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-#include <sys/_types.h>
-#endif
-
-/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-   defined if the corresponding type is *not* defined.
-   FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-   NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_)  || defined(_I386_ANSI_H_)
-#if !defined(_SIZE_T_) && !defined(_BSD_SIZE_T_)
-#define _SIZE_T
-#endif
-#if !defined(_PTRDIFF_T_) && !defined(_BSD_PTRDIFF_T_)
-#define _PTRDIFF_T
-#endif
-/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
-   instead of _WCHAR_T_. */
-#if !defined(_WCHAR_T_) && !defined(_BSD_WCHAR_T_)
-#ifndef _BSD_WCHAR_T_
-#define _WCHAR_T
-#endif
-#endif
-/* Undef _FOO_T_ if we are supposed to define foo_t.  */
-#if defined (__need_ptrdiff_t) || defined (_STDDEF_H_)
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#if defined (__need_size_t) || defined (_STDDEF_H_)
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#if defined (__need_wchar_t) || defined (_STDDEF_H_)
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) */
-
-/* Sequent's header files use _PTRDIFF_T_ in some conflicting way.
-   Just ignore it.  */
-#if defined (__sequent__) && defined (_PTRDIFF_T_)
-#undef _PTRDIFF_T_
-#endif
-
-/* On VxWorks, <type/vxTypesBase.h> may have defined macros like
-   _TYPE_size_t which will typedef size_t.  fixincludes patched the
-   vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
-   not defined, and so that defining this macro defines _GCC_SIZE_T.
-   If we find that the macros are still defined at this point, we must
-   invoke them so that the type is defined as expected.  */
-#if defined (_TYPE_ptrdiff_t) && (defined (__need_ptrdiff_t) || defined (_STDDEF_H_))
-_TYPE_ptrdiff_t;
-#undef _TYPE_ptrdiff_t
-#endif
-#if defined (_TYPE_size_t) && (defined (__need_size_t) || defined (_STDDEF_H_))
-_TYPE_size_t;
-#undef _TYPE_size_t
-#endif
-#if defined (_TYPE_wchar_t) && (defined (__need_wchar_t) || defined (_STDDEF_H_))
-_TYPE_wchar_t;
-#undef _TYPE_wchar_t
-#endif
-
-/* In case nobody has defined these types, but we aren't running under
-   GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
-   __WCHAR_TYPE__ have reasonable values.  This can happen if the
-   parts of GCC is compiled by an older compiler, that actually
-   include gstddef.h, such as collect2.  */
-
-/* Signed type of difference of two pointers.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_ptrdiff_t)
-#ifndef _PTRDIFF_T	/* in case <sys/types.h> has defined it. */
-#ifndef _T_PTRDIFF_
-#ifndef _T_PTRDIFF
-#ifndef __PTRDIFF_T
-#ifndef _PTRDIFF_T_
-#ifndef _BSD_PTRDIFF_T_
-#ifndef ___int_ptrdiff_t_h
-#ifndef _GCC_PTRDIFF_T
-#ifndef _PTRDIFF_T_DECLARED /* DragonFly */
-#define _PTRDIFF_T
-#define _T_PTRDIFF_
-#define _T_PTRDIFF
-#define __PTRDIFF_T
-#define _PTRDIFF_T_
-#define _BSD_PTRDIFF_T_
-#define ___int_ptrdiff_t_h
-#define _GCC_PTRDIFF_T
-#define _PTRDIFF_T_DECLARED
-#ifndef __PTRDIFF_TYPE__
-#define __PTRDIFF_TYPE__ long int
-#endif
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-#endif /* _PTRDIFF_T_DECLARED */
-#endif /* _GCC_PTRDIFF_T */
-#endif /* ___int_ptrdiff_t_h */
-#endif /* _BSD_PTRDIFF_T_ */
-#endif /* _PTRDIFF_T_ */
-#endif /* __PTRDIFF_T */
-#endif /* _T_PTRDIFF */
-#endif /* _T_PTRDIFF_ */
-#endif /* _PTRDIFF_T */
-
-/* If this symbol has done its job, get rid of it.  */
-#undef	__need_ptrdiff_t
-
-#endif /* _STDDEF_H or __need_ptrdiff_t.  */
-
-/* Unsigned type of `sizeof' something.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_size_t)
-#ifndef __size_t__	/* BeOS */
-#ifndef __SIZE_T__	/* Cray Unicos/Mk */
-#ifndef _SIZE_T	/* in case <sys/types.h> has defined it. */
-#ifndef _SYS_SIZE_T_H
-#ifndef _T_SIZE_
-#ifndef _T_SIZE
-#ifndef __SIZE_T
-#ifndef _SIZE_T_
-#ifndef _BSD_SIZE_T_
-#ifndef _SIZE_T_DEFINED_
-#ifndef _SIZE_T_DEFINED
-#ifndef _BSD_SIZE_T_DEFINED_	/* Darwin */
-#ifndef _SIZE_T_DECLARED	/* FreeBSD 5 */
-#ifndef ___int_size_t_h
-#ifndef _GCC_SIZE_T
-#ifndef _SIZET_
-#ifndef __size_t
-#define __size_t__	/* BeOS */
-#define __SIZE_T__	/* Cray Unicos/Mk */
-#define _SIZE_T
-#define _SYS_SIZE_T_H
-#define _T_SIZE_
-#define _T_SIZE
-#define __SIZE_T
-#define _SIZE_T_
-#define _BSD_SIZE_T_
-#define _SIZE_T_DEFINED_
-#define _SIZE_T_DEFINED
-#define _BSD_SIZE_T_DEFINED_	/* Darwin */
-#define _SIZE_T_DECLARED	/* FreeBSD 5 */
-#define ___int_size_t_h
-#define _GCC_SIZE_T
-#define _SIZET_
-#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
-  || defined(__DragonFly__) \
-  || defined(__FreeBSD_kernel__)
-/* __size_t is a typedef on FreeBSD 5, must not trash it. */
-#elif defined (__VMS__)
-/* __size_t is also a typedef on VMS.  */
-#else
-#define __size_t
-#endif
-#ifndef __SIZE_TYPE__
-#define __SIZE_TYPE__ long unsigned int
-#endif
-#if !(defined (__GNUG__) && defined (size_t))
-typedef __SIZE_TYPE__ size_t;
-#ifdef __BEOS__
-typedef long ssize_t;
-#endif /* __BEOS__ */
-#endif /* !(defined (__GNUG__) && defined (size_t)) */
-#endif /* __size_t */
-#endif /* _SIZET_ */
-#endif /* _GCC_SIZE_T */
-#endif /* ___int_size_t_h */
-#endif /* _SIZE_T_DECLARED */
-#endif /* _BSD_SIZE_T_DEFINED_ */
-#endif /* _SIZE_T_DEFINED */
-#endif /* _SIZE_T_DEFINED_ */
-#endif /* _BSD_SIZE_T_ */
-#endif /* _SIZE_T_ */
-#endif /* __SIZE_T */
-#endif /* _T_SIZE */
-#endif /* _T_SIZE_ */
-#endif /* _SYS_SIZE_T_H */
-#endif /* _SIZE_T */
-#endif /* __SIZE_T__ */
-#endif /* __size_t__ */
-#undef	__need_size_t
-#endif /* _STDDEF_H or __need_size_t.  */
-
-
-/* Wide character type.
-   Locale-writers should change this as necessary to
-   be big enough to hold unique values not between 0 and 127,
-   and not (wchar_t) -1, for each defined multibyte character.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_wchar_t)
-#ifndef __wchar_t__	/* BeOS */
-#ifndef __WCHAR_T__	/* Cray Unicos/Mk */
-#ifndef _WCHAR_T
-#ifndef _T_WCHAR_
-#ifndef _T_WCHAR
-#ifndef __WCHAR_T
-#ifndef _WCHAR_T_
-#ifndef _BSD_WCHAR_T_
-#ifndef _BSD_WCHAR_T_DEFINED_    /* Darwin */
-#ifndef _BSD_RUNE_T_DEFINED_	/* Darwin */
-#ifndef _WCHAR_T_DECLARED /* FreeBSD 5 */
-#ifndef _WCHAR_T_DEFINED_
-#ifndef _WCHAR_T_DEFINED
-#ifndef _WCHAR_T_H
-#ifndef ___int_wchar_t_h
-#ifndef __INT_WCHAR_T_H
-#ifndef _GCC_WCHAR_T
-#define __wchar_t__	/* BeOS */
-#define __WCHAR_T__	/* Cray Unicos/Mk */
-#define _WCHAR_T
-#define _T_WCHAR_
-#define _T_WCHAR
-#define __WCHAR_T
-#define _WCHAR_T_
-#define _BSD_WCHAR_T_
-#define _WCHAR_T_DEFINED_
-#define _WCHAR_T_DEFINED
-#define _WCHAR_T_H
-#define ___int_wchar_t_h
-#define __INT_WCHAR_T_H
-#define _GCC_WCHAR_T
-#define _WCHAR_T_DECLARED
-
-/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
-   instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-   symbols in the _FOO_T_ family, stays defined even after its
-   corresponding type is defined).  If we define wchar_t, then we
-   must undef _WCHAR_T_; for BSD/386 1.1 (and perhaps others), if
-   we undef _WCHAR_T_, then we must also define rune_t, since 
-   headers like runetype.h assume that if machine/ansi.h is included,
-   and _BSD_WCHAR_T_ is not defined, then rune_t is available.
-   machine/ansi.h says, "Note that _WCHAR_T_ and _RUNE_T_ must be of
-   the same type." */
-#ifdef _BSD_WCHAR_T_
-#undef _BSD_WCHAR_T_
-#ifdef _BSD_RUNE_T_
-#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
-typedef _BSD_RUNE_T_ rune_t;
-#define _BSD_WCHAR_T_DEFINED_
-#define _BSD_RUNE_T_DEFINED_	/* Darwin */
-#if defined (__FreeBSD__) && (__FreeBSD__ < 5)
-/* Why is this file so hard to maintain properly?  In contrast to
-   the comment above regarding BSD/386 1.1, on FreeBSD for as long
-   as the symbol has existed, _BSD_RUNE_T_ must not stay defined or
-   redundant typedefs will occur when stdlib.h is included after this file. */
-#undef _BSD_RUNE_T_
-#endif
-#endif
-#endif
-#endif
-/* FreeBSD 5 can't be handled well using "traditional" logic above
-   since it no longer defines _BSD_RUNE_T_ yet still desires to export
-   rune_t in some cases... */
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
-#if __BSD_VISIBLE
-#ifndef _RUNE_T_DECLARED
-typedef __rune_t        rune_t;
-#define _RUNE_T_DECLARED
-#endif
-#endif
-#endif
-#endif
-
-#ifndef __WCHAR_TYPE__
-#define __WCHAR_TYPE__ int
-#endif
-#ifndef __cplusplus
-typedef __WCHAR_TYPE__ wchar_t;
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif /* _WCHAR_T_DECLARED */
-#endif /* _BSD_RUNE_T_DEFINED_ */
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif /* __WCHAR_T__ */
-#endif /* __wchar_t__ */
-#undef	__need_wchar_t
-#endif /* _STDDEF_H or __need_wchar_t.  */
-
-#if defined (__need_wint_t)
-#ifndef _WINT_T
-#define _WINT_T
-
-#ifndef __WINT_TYPE__
-#define __WINT_TYPE__ unsigned int
-#endif
-typedef __WINT_TYPE__ wint_t;
-#endif
-#undef __need_wint_t
-#endif
-
-/*  In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-    are already defined.  */
-/*  BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.  */
-/*  NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.  */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_)
-/*  The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_
-    are probably typos and should be removed before 2.8 is released.  */
-#ifdef _GCC_PTRDIFF_T_
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#ifdef _GCC_SIZE_T_
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#ifdef _GCC_WCHAR_T_
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-/*  The following ones are the real ones.  */
-#ifdef _GCC_PTRDIFF_T
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#ifdef _GCC_SIZE_T
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#ifdef _GCC_WCHAR_T
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ || _X86_64_ANSI_H_ || _I386_ANSI_H_ */
-
-#endif /* __sys_stdtypes_h */
-
-/* A null pointer constant.  */
-
-#if defined (_STDDEF_H) || defined (__need_NULL)
-#undef NULL		/* in case <stdio.h> has defined it. */
-#ifdef __GNUG__
-#define NULL __null
-#else   /* G++ */
-#ifndef __cplusplus
-#define NULL ((void *)0)
-#else   /* C++ */
-#define NULL 0
-#endif  /* C++ */
-#endif  /* G++ */
-#endif	/* NULL not defined and <stddef.h> or need NULL.  */
-#undef	__need_NULL
-
-#ifdef _STDDEF_H
-
-/* Offset of member MEMBER in a struct of type TYPE. */
-#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) \
-  || (defined(__cplusplus) && __cplusplus >= 201103L)
-#ifndef _GCC_MAX_ALIGN_T
-#define _GCC_MAX_ALIGN_T
-/* Type whose alignment is supported in every context and is at least
-   as great as that of any standard type not using alignment
-   specifiers.  */
-typedef struct {
-  long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
-  long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
-} max_align_t;
-#endif
-#endif /* C11 or C++11.  */
-
-#if defined(__cplusplus) && __cplusplus >= 201103L
-#ifndef _GXX_NULLPTR_T
-#define _GXX_NULLPTR_T
-  typedef decltype(nullptr) nullptr_t;
-#endif
-#endif /* C++11.  */
-
-#endif /* _STDDEF_H was defined this time */
-
-#endif /* !_STDDEF_H && !_STDDEF_H_ && !_ANSI_STDDEF_H && !__STDDEF_H__
-	  || __need_XXX was not defined before */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdfix.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdfix.h	(revision 1046)
+++ 	(revision )
@@ -1,204 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* ISO/IEC JTC1 SC22 WG14 N1169
- * Date: 2006-04-04
- * ISO/IEC TR 18037
- * Programming languages - C - Extensions to support embedded processors
- */
-
-#ifndef _STDFIX_H
-#define _STDFIX_H
-
-/* 7.18a.1 Introduction.  */
-
-#undef fract
-#undef accum
-#undef sat
-#define fract		_Fract
-#define accum		_Accum
-#define sat		_Sat
-
-/* 7.18a.3 Precision macros.  */
-
-#undef SFRACT_FBIT
-#undef SFRACT_MIN
-#undef SFRACT_MAX
-#undef SFRACT_EPSILON
-#define SFRACT_FBIT	__SFRACT_FBIT__
-#define SFRACT_MIN	__SFRACT_MIN__
-#define SFRACT_MAX	__SFRACT_MAX__
-#define SFRACT_EPSILON	__SFRACT_EPSILON__
-
-#undef USFRACT_FBIT
-#undef USFRACT_MIN
-#undef USFRACT_MAX
-#undef USFRACT_EPSILON
-#define USFRACT_FBIT	__USFRACT_FBIT__
-#define USFRACT_MIN	__USFRACT_MIN__		/* GCC extension.  */
-#define USFRACT_MAX	__USFRACT_MAX__
-#define USFRACT_EPSILON	__USFRACT_EPSILON__
-
-#undef FRACT_FBIT
-#undef FRACT_MIN
-#undef FRACT_MAX
-#undef FRACT_EPSILON
-#define FRACT_FBIT	__FRACT_FBIT__
-#define FRACT_MIN	__FRACT_MIN__
-#define FRACT_MAX	__FRACT_MAX__
-#define FRACT_EPSILON	__FRACT_EPSILON__
-
-#undef UFRACT_FBIT
-#undef UFRACT_MIN
-#undef UFRACT_MAX
-#undef UFRACT_EPSILON
-#define UFRACT_FBIT	__UFRACT_FBIT__
-#define UFRACT_MIN	__UFRACT_MIN__		/* GCC extension.  */
-#define UFRACT_MAX	__UFRACT_MAX__
-#define UFRACT_EPSILON	__UFRACT_EPSILON__
-
-#undef LFRACT_FBIT
-#undef LFRACT_MIN
-#undef LFRACT_MAX
-#undef LFRACT_EPSILON
-#define LFRACT_FBIT	__LFRACT_FBIT__
-#define LFRACT_MIN	__LFRACT_MIN__
-#define LFRACT_MAX	__LFRACT_MAX__
-#define LFRACT_EPSILON	__LFRACT_EPSILON__
-
-#undef ULFRACT_FBIT
-#undef ULFRACT_MIN
-#undef ULFRACT_MAX
-#undef ULFRACT_EPSILON
-#define ULFRACT_FBIT	__ULFRACT_FBIT__
-#define ULFRACT_MIN	__ULFRACT_MIN__		/* GCC extension.  */
-#define ULFRACT_MAX	__ULFRACT_MAX__
-#define ULFRACT_EPSILON	__ULFRACT_EPSILON__
-
-#undef LLFRACT_FBIT
-#undef LLFRACT_MIN
-#undef LLFRACT_MAX
-#undef LLFRACT_EPSILON
-#define LLFRACT_FBIT	__LLFRACT_FBIT__	/* GCC extension.  */
-#define LLFRACT_MIN	__LLFRACT_MIN__		/* GCC extension.  */
-#define LLFRACT_MAX	__LLFRACT_MAX__		/* GCC extension.  */
-#define LLFRACT_EPSILON	__LLFRACT_EPSILON__	/* GCC extension.  */
-
-#undef ULLFRACT_FBIT
-#undef ULLFRACT_MIN
-#undef ULLFRACT_MAX
-#undef ULLFRACT_EPSILON
-#define ULLFRACT_FBIT	__ULLFRACT_FBIT__	/* GCC extension.  */
-#define ULLFRACT_MIN	__ULLFRACT_MIN__	/* GCC extension.  */
-#define ULLFRACT_MAX	__ULLFRACT_MAX__	/* GCC extension.  */
-#define ULLFRACT_EPSILON	__ULLFRACT_EPSILON__	/* GCC extension.  */
-
-#undef SACCUM_FBIT
-#undef SACCUM_IBIT
-#undef SACCUM_MIN
-#undef SACCUM_MAX
-#undef SACCUM_EPSILON
-#define SACCUM_FBIT	__SACCUM_FBIT__
-#define SACCUM_IBIT	__SACCUM_IBIT__
-#define SACCUM_MIN	__SACCUM_MIN__
-#define SACCUM_MAX	__SACCUM_MAX__
-#define SACCUM_EPSILON	__SACCUM_EPSILON__
-
-#undef USACCUM_FBIT
-#undef USACCUM_IBIT
-#undef USACCUM_MIN
-#undef USACCUM_MAX
-#undef USACCUM_EPSILON
-#define USACCUM_FBIT	__USACCUM_FBIT__
-#define USACCUM_IBIT	__USACCUM_IBIT__
-#define USACCUM_MIN	__USACCUM_MIN__		/* GCC extension.  */
-#define USACCUM_MAX	__USACCUM_MAX__
-#define USACCUM_EPSILON	__USACCUM_EPSILON__
-
-#undef ACCUM_FBIT
-#undef ACCUM_IBIT
-#undef ACCUM_MIN
-#undef ACCUM_MAX
-#undef ACCUM_EPSILON
-#define ACCUM_FBIT	__ACCUM_FBIT__
-#define ACCUM_IBIT	__ACCUM_IBIT__
-#define ACCUM_MIN	__ACCUM_MIN__
-#define ACCUM_MAX	__ACCUM_MAX__
-#define ACCUM_EPSILON	__ACCUM_EPSILON__
-
-#undef UACCUM_FBIT
-#undef UACCUM_IBIT
-#undef UACCUM_MIN
-#undef UACCUM_MAX
-#undef UACCUM_EPSILON
-#define UACCUM_FBIT	__UACCUM_FBIT__
-#define UACCUM_IBIT	__UACCUM_IBIT__
-#define UACCUM_MIN	__UACCUM_MIN__		/* GCC extension.  */
-#define UACCUM_MAX	__UACCUM_MAX__
-#define UACCUM_EPSILON	__UACCUM_EPSILON__
-
-#undef LACCUM_FBIT
-#undef LACCUM_IBIT
-#undef LACCUM_MIN
-#undef LACCUM_MAX
-#undef LACCUM_EPSILON
-#define LACCUM_FBIT	__LACCUM_FBIT__
-#define LACCUM_IBIT	__LACCUM_IBIT__
-#define LACCUM_MIN	__LACCUM_MIN__
-#define LACCUM_MAX	__LACCUM_MAX__
-#define LACCUM_EPSILON	__LACCUM_EPSILON__
-
-#undef ULACCUM_FBIT
-#undef ULACCUM_IBIT
-#undef ULACCUM_MIN
-#undef ULACCUM_MAX
-#undef ULACCUM_EPSILON
-#define ULACCUM_FBIT	__ULACCUM_FBIT__
-#define ULACCUM_IBIT	__ULACCUM_IBIT__
-#define ULACCUM_MIN	__ULACCUM_MIN__		/* GCC extension.  */
-#define ULACCUM_MAX	__ULACCUM_MAX__
-#define ULACCUM_EPSILON	__ULACCUM_EPSILON__
-
-#undef LLACCUM_FBIT
-#undef LLACCUM_IBIT
-#undef LLACCUM_MIN
-#undef LLACCUM_MAX
-#undef LLACCUM_EPSILON
-#define LLACCUM_FBIT	__LLACCUM_FBIT__	/* GCC extension.  */
-#define LLACCUM_IBIT	__LLACCUM_IBIT__	/* GCC extension.  */
-#define LLACCUM_MIN	__LLACCUM_MIN__		/* GCC extension.  */
-#define LLACCUM_MAX	__LLACCUM_MAX__		/* GCC extension.  */
-#define LLACCUM_EPSILON	__LLACCUM_EPSILON__	/* GCC extension.  */
-
-#undef ULLACCUM_FBIT
-#undef ULLACCUM_IBIT
-#undef ULLACCUM_MIN
-#undef ULLACCUM_MAX
-#undef ULLACCUM_EPSILON
-#define ULLACCUM_FBIT	__ULLACCUM_FBIT__	/* GCC extension.  */
-#define ULLACCUM_IBIT	__ULLACCUM_IBIT__	/* GCC extension.  */
-#define ULLACCUM_MIN	__ULLACCUM_MIN__	/* GCC extension.  */
-#define ULLACCUM_MAX	__ULLACCUM_MAX__	/* GCC extension.  */
-#define ULLACCUM_EPSILON	__ULLACCUM_EPSILON__	/* GCC extension.  */
-
-#endif /* _STDFIX_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdint-gcc.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdint-gcc.h	(revision 1046)
+++ 	(revision )
@@ -1,263 +1,0 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.18  Integer types  <stdint.h>
- */
-
-#ifndef _GCC_STDINT_H
-#define _GCC_STDINT_H
-
-/* 7.8.1.1 Exact-width integer types */
-
-#ifdef __INT8_TYPE__
-typedef __INT8_TYPE__ int8_t;
-#endif
-#ifdef __INT16_TYPE__
-typedef __INT16_TYPE__ int16_t;
-#endif
-#ifdef __INT32_TYPE__
-typedef __INT32_TYPE__ int32_t;
-#endif
-#ifdef __INT64_TYPE__
-typedef __INT64_TYPE__ int64_t;
-#endif
-#ifdef __UINT8_TYPE__
-typedef __UINT8_TYPE__ uint8_t;
-#endif
-#ifdef __UINT16_TYPE__
-typedef __UINT16_TYPE__ uint16_t;
-#endif
-#ifdef __UINT32_TYPE__
-typedef __UINT32_TYPE__ uint32_t;
-#endif
-#ifdef __UINT64_TYPE__
-typedef __UINT64_TYPE__ uint64_t;
-#endif
-
-/* 7.8.1.2 Minimum-width integer types */
-
-typedef __INT_LEAST8_TYPE__ int_least8_t;
-typedef __INT_LEAST16_TYPE__ int_least16_t;
-typedef __INT_LEAST32_TYPE__ int_least32_t;
-typedef __INT_LEAST64_TYPE__ int_least64_t;
-typedef __UINT_LEAST8_TYPE__ uint_least8_t;
-typedef __UINT_LEAST16_TYPE__ uint_least16_t;
-typedef __UINT_LEAST32_TYPE__ uint_least32_t;
-typedef __UINT_LEAST64_TYPE__ uint_least64_t;
-
-/* 7.8.1.3 Fastest minimum-width integer types */
-
-typedef __INT_FAST8_TYPE__ int_fast8_t;
-typedef __INT_FAST16_TYPE__ int_fast16_t;
-typedef __INT_FAST32_TYPE__ int_fast32_t;
-typedef __INT_FAST64_TYPE__ int_fast64_t;
-typedef __UINT_FAST8_TYPE__ uint_fast8_t;
-typedef __UINT_FAST16_TYPE__ uint_fast16_t;
-typedef __UINT_FAST32_TYPE__ uint_fast32_t;
-typedef __UINT_FAST64_TYPE__ uint_fast64_t;
-
-/* 7.8.1.4 Integer types capable of holding object pointers */
-
-#ifdef __INTPTR_TYPE__
-typedef __INTPTR_TYPE__ intptr_t;
-#endif
-#ifdef __UINTPTR_TYPE__
-typedef __UINTPTR_TYPE__ uintptr_t;
-#endif
-
-/* 7.8.1.5 Greatest-width integer types */
-
-typedef __INTMAX_TYPE__ intmax_t;
-typedef __UINTMAX_TYPE__ uintmax_t;
-
-#if (!defined __cplusplus || __cplusplus >= 201103L \
-     || defined __STDC_LIMIT_MACROS)
-
-/* 7.18.2 Limits of specified-width integer types */
-
-#ifdef __INT8_MAX__
-# undef INT8_MAX
-# define INT8_MAX __INT8_MAX__
-# undef INT8_MIN
-# define INT8_MIN (-INT8_MAX - 1)
-#endif
-#ifdef __UINT8_MAX__
-# undef UINT8_MAX
-# define UINT8_MAX __UINT8_MAX__
-#endif
-#ifdef __INT16_MAX__
-# undef INT16_MAX
-# define INT16_MAX __INT16_MAX__
-# undef INT16_MIN
-# define INT16_MIN (-INT16_MAX - 1)
-#endif
-#ifdef __UINT16_MAX__
-# undef UINT16_MAX
-# define UINT16_MAX __UINT16_MAX__
-#endif
-#ifdef __INT32_MAX__
-# undef INT32_MAX
-# define INT32_MAX __INT32_MAX__
-# undef INT32_MIN
-# define INT32_MIN (-INT32_MAX - 1)
-#endif
-#ifdef __UINT32_MAX__
-# undef UINT32_MAX
-# define UINT32_MAX __UINT32_MAX__
-#endif
-#ifdef __INT64_MAX__
-# undef INT64_MAX
-# define INT64_MAX __INT64_MAX__
-# undef INT64_MIN
-# define INT64_MIN (-INT64_MAX - 1)
-#endif
-#ifdef __UINT64_MAX__
-# undef UINT64_MAX
-# define UINT64_MAX __UINT64_MAX__
-#endif
-
-#undef INT_LEAST8_MAX
-#define INT_LEAST8_MAX __INT_LEAST8_MAX__
-#undef INT_LEAST8_MIN
-#define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1)
-#undef UINT_LEAST8_MAX
-#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
-#undef INT_LEAST16_MAX
-#define INT_LEAST16_MAX __INT_LEAST16_MAX__
-#undef INT_LEAST16_MIN
-#define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1)
-#undef UINT_LEAST16_MAX
-#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
-#undef INT_LEAST32_MAX
-#define INT_LEAST32_MAX __INT_LEAST32_MAX__
-#undef INT_LEAST32_MIN
-#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
-#undef UINT_LEAST32_MAX
-#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
-#undef INT_LEAST64_MAX
-#define INT_LEAST64_MAX __INT_LEAST64_MAX__
-#undef INT_LEAST64_MIN
-#define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1)
-#undef UINT_LEAST64_MAX
-#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
-
-#undef INT_FAST8_MAX
-#define INT_FAST8_MAX __INT_FAST8_MAX__
-#undef INT_FAST8_MIN
-#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
-#undef UINT_FAST8_MAX
-#define UINT_FAST8_MAX __UINT_FAST8_MAX__
-#undef INT_FAST16_MAX
-#define INT_FAST16_MAX __INT_FAST16_MAX__
-#undef INT_FAST16_MIN
-#define INT_FAST16_MIN (-INT_FAST16_MAX - 1)
-#undef UINT_FAST16_MAX
-#define UINT_FAST16_MAX __UINT_FAST16_MAX__
-#undef INT_FAST32_MAX
-#define INT_FAST32_MAX __INT_FAST32_MAX__
-#undef INT_FAST32_MIN
-#define INT_FAST32_MIN (-INT_FAST32_MAX - 1)
-#undef UINT_FAST32_MAX
-#define UINT_FAST32_MAX __UINT_FAST32_MAX__
-#undef INT_FAST64_MAX
-#define INT_FAST64_MAX __INT_FAST64_MAX__
-#undef INT_FAST64_MIN
-#define INT_FAST64_MIN (-INT_FAST64_MAX - 1)
-#undef UINT_FAST64_MAX
-#define UINT_FAST64_MAX __UINT_FAST64_MAX__
-
-#ifdef __INTPTR_MAX__
-# undef INTPTR_MAX
-# define INTPTR_MAX __INTPTR_MAX__
-# undef INTPTR_MIN
-# define INTPTR_MIN (-INTPTR_MAX - 1)
-#endif
-#ifdef __UINTPTR_MAX__
-# undef UINTPTR_MAX
-# define UINTPTR_MAX __UINTPTR_MAX__
-#endif
-
-#undef INTMAX_MAX
-#define INTMAX_MAX __INTMAX_MAX__
-#undef INTMAX_MIN
-#define INTMAX_MIN (-INTMAX_MAX - 1)
-#undef UINTMAX_MAX
-#define UINTMAX_MAX __UINTMAX_MAX__
-
-/* 7.18.3 Limits of other integer types */
-
-#undef PTRDIFF_MAX
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#undef PTRDIFF_MIN
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__
-#undef SIG_ATOMIC_MIN
-#define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__
-
-#undef SIZE_MAX
-#define SIZE_MAX __SIZE_MAX__
-
-#undef WCHAR_MAX
-#define WCHAR_MAX __WCHAR_MAX__
-#undef WCHAR_MIN
-#define WCHAR_MIN __WCHAR_MIN__
-
-#undef WINT_MAX
-#define WINT_MAX __WINT_MAX__
-#undef WINT_MIN
-#define WINT_MIN __WINT_MIN__
-
-#endif /* (!defined __cplusplus || __cplusplus >= 201103L
-	   || defined __STDC_LIMIT_MACROS)  */
-
-#if (!defined __cplusplus || __cplusplus >= 201103L \
-     || defined __STDC_CONSTANT_MACROS)
-
-#undef INT8_C
-#define INT8_C(c) __INT8_C(c)
-#undef INT16_C
-#define INT16_C(c) __INT16_C(c)
-#undef INT32_C
-#define INT32_C(c) __INT32_C(c)
-#undef INT64_C
-#define INT64_C(c) __INT64_C(c)
-#undef UINT8_C
-#define UINT8_C(c) __UINT8_C(c)
-#undef UINT16_C
-#define UINT16_C(c) __UINT16_C(c)
-#undef UINT32_C
-#define UINT32_C(c) __UINT32_C(c)
-#undef UINT64_C
-#define UINT64_C(c) __UINT64_C(c)
-#undef INTMAX_C
-#define INTMAX_C(c) __INTMAX_C(c)
-#undef UINTMAX_C
-#define UINTMAX_C(c) __UINTMAX_C(c)
-
-#endif /* (!defined __cplusplus || __cplusplus >= 201103L
-	   || defined __STDC_CONSTANT_MACROS) */
-
-#endif /* _GCC_STDINT_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdint.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdint.h	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-#ifndef _GCC_WRAP_STDINT_H
-#if __STDC_HOSTED__
-# if defined __cplusplus && __cplusplus >= 201103L
-#  undef __STDC_LIMIT_MACROS
-#  define __STDC_LIMIT_MACROS
-#  undef __STDC_CONSTANT_MACROS
-#  define __STDC_CONSTANT_MACROS
-# endif
-# include_next <stdint.h>
-#else
-# include "stdint-gcc.h"
-#endif
-#define _GCC_WRAP_STDINT_H
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdnoreturn.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/stdnoreturn.h	(revision 1046)
+++ 	(revision )
@@ -1,35 +1,0 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* ISO C1X: 7.23 _Noreturn <stdnoreturn.h>.  */
-
-#ifndef _STDNORETURN_H
-#define _STDNORETURN_H
-
-#ifndef __cplusplus
-
-#define noreturn _Noreturn
-
-#endif
-
-#endif	/* stdnoreturn.h */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tbmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tbmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,180 +1,0 @@
-/* Copyright (C) 2010-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-# error "Never use <tbmintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _TBMINTRIN_H_INCLUDED
-#define _TBMINTRIN_H_INCLUDED
-
-#ifndef __TBM__
-#pragma GCC push_options
-#pragma GCC target("tbm")
-#define __DISABLE_TBM__
-#endif /* __TBM__ */
-
-#ifdef __OPTIMIZE__
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bextri_u32 (unsigned int __X, const unsigned int __I)
-{
-	return __builtin_ia32_bextri_u32 (__X, __I);
-}
-#else
-#define __bextri_u32(X, I)                                           \
-        ((unsigned int)__builtin_ia32_bextri_u32 ((unsigned int)(X), \
-	                                          (unsigned int)(I)))
-#endif /*__OPTIMIZE__ */
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcfill_u32 (unsigned int __X)
-{
-  return __X & (__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blci_u32 (unsigned int __X)
-{
-  return __X | ~(__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcic_u32 (unsigned int __X)
-{
-  return ~__X & (__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcmsk_u32 (unsigned int __X)
-{
-  return __X ^ (__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcs_u32 (unsigned int __X)
-{
-  return __X | (__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsfill_u32 (unsigned int __X)
-{
-  return __X | (__X - 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsic_u32 (unsigned int __X)
-{
-  return ~__X | (__X - 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__t1mskc_u32 (unsigned int __X)
-{
-  return ~__X | (__X + 1);
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__tzmsk_u32 (unsigned int __X)
-{
-  return ~__X & (__X - 1);
-}
-
-
-
-#ifdef __x86_64__
-#ifdef __OPTIMIZE__
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__bextri_u64 (unsigned long long __X, const unsigned int __I)
-{
-  return __builtin_ia32_bextri_u64 (__X, __I);
-}
-#else
-#define __bextri_u64(X, I)						   \
-  ((unsigned long long)__builtin_ia32_bextri_u64 ((unsigned long long)(X), \
-						  (unsigned long long)(I)))
-#endif /*__OPTIMIZE__ */
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcfill_u64 (unsigned long long __X)
-{
-  return __X & (__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blci_u64 (unsigned long long __X)
-{
-  return __X | ~(__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcic_u64 (unsigned long long __X)
-{
-  return ~__X & (__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcmsk_u64 (unsigned long long __X)
-{
-  return __X ^ (__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blcs_u64 (unsigned long long __X)
-{
-  return __X | (__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsfill_u64 (unsigned long long __X)
-{
-  return __X | (__X - 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__blsic_u64 (unsigned long long __X)
-{
-  return ~__X | (__X - 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__t1mskc_u64 (unsigned long long __X)
-{
-  return ~__X | (__X + 1);
-}
-
-extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-__tzmsk_u64 (unsigned long long __X)
-{
-  return ~__X & (__X - 1);
-}
-
-
-#endif /* __x86_64__  */
-
-#ifdef __DISABLE_TBM__
-#undef __DISABLE_TBM__
-#pragma GCC pop_options
-#endif /* __DISABLE_TBM__ */
-
-#endif /* _TBMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tgmath.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tgmath.h	(revision 1046)
+++ 	(revision )
@@ -1,171 +1,0 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
-   Contributed by Apple, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/*
- * ISO C Standard:  7.22  Type-generic math <tgmath.h>
- */
-
-#ifndef _TGMATH_H
-#define _TGMATH_H
-
-#include <math.h>
-
-#ifndef __cplusplus
-#include <complex.h>
-
-/* Naming convention: generic macros are defining using
-   __TGMATH_CPLX*, __TGMATH_REAL*, and __TGMATH_CPLX_ONLY.  _CPLX
-   means the generic argument(s) may be real or complex, _REAL means
-   real only, _CPLX means complex only.  If there is no suffix, we are
-   defining a function of one generic argument.  If the suffix is _n
-   it is a function of n generic arguments.  If the suffix is _m_n it
-   is a function of n arguments, the first m of which are generic.  We
-   only define these macros for values of n and/or m that are needed. */
-
-/* The general rules for generic macros are given in 7.22 paragraphs 1 and 2.
-   If any generic parameter is complex, we use a complex version.  Otherwise
-   we use a real version.  If the real part of any generic parameter is long
-   double, we use the long double version.  Otherwise if the real part of any
-   generic parameter is double or of integer type, we use the double version.
-   Otherwise we use the float version. */
-
-#define __tg_cplx(expr) \
-  __builtin_classify_type(expr) == 9
-
-#define __tg_ldbl(expr) \
-  __builtin_types_compatible_p(__typeof__(expr), long double)
-
-#define __tg_dbl(expr)                                       \
-  (__builtin_types_compatible_p(__typeof__(expr), double)    \
-   || __builtin_classify_type(expr) == 1)
-
-#define __tg_choose(x,f,d,l)                                  \
-  __builtin_choose_expr(__tg_ldbl(x), l,                      \
-                        __builtin_choose_expr(__tg_dbl(x), d, \
-                                              f))
-
-#define __tg_choose_2(x,y,f,d,l)                                             \
-  __builtin_choose_expr(__tg_ldbl(x) || __tg_ldbl(y), l,                     \
-                        __builtin_choose_expr(__tg_dbl(x) || __tg_dbl(y), d, \
-                                              f))
-
-#define __tg_choose_3(x,y,z,f,d,l)                                        \
-   __builtin_choose_expr(__tg_ldbl(x) || __tg_ldbl(y) || __tg_ldbl(z), l, \
-                        __builtin_choose_expr(__tg_dbl(x) || __tg_dbl(y)  \
-                                              || __tg_dbl(z), d,          \
-                                              f))
-
-#define __TGMATH_CPLX(z,R,C)                                                  \
-  __builtin_choose_expr (__tg_cplx(z),                                        \
-                         __tg_choose (__real__(z), C##f(z), (C)(z), C##l(z)), \
-                         __tg_choose (z, R##f(z), (R)(z), R##l(z)))
-
-#define __TGMATH_CPLX_2(z1,z2,R,C)                                             \
-  __builtin_choose_expr (__tg_cplx(z1) || __tg_cplx(z2),                       \
-                         __tg_choose_2 (__real__(z1), __real__(z2),            \
-                                        C##f(z1,z2), (C)(z1,z2), C##l(z1,z2)), \
-                         __tg_choose_2 (z1, z2,                                \
-                                        R##f(z1,z2), (R)(z1,z2), R##l(z1,z2)))
-
-#define __TGMATH_REAL(x,R) \
-  __tg_choose (x, R##f(x), (R)(x), R##l(x))
-#define __TGMATH_REAL_2(x,y,R) \
-  __tg_choose_2 (x, y, R##f(x,y), (R)(x,y), R##l(x,y))
-#define __TGMATH_REAL_3(x,y,z,R) \
-  __tg_choose_3 (x, y, z, R##f(x,y,z), (R)(x,y,z), R##l(x,y,z))
-#define __TGMATH_REAL_1_2(x,y,R) \
-  __tg_choose (x, R##f(x,y), (R)(x,y), R##l(x,y))
-#define __TGMATH_REAL_2_3(x,y,z,R) \
-  __tg_choose_2 (x, y, R##f(x,y,z), (R)(x,y,z), R##l(x,y,z))
-#define __TGMATH_CPLX_ONLY(z,C) \
-  __tg_choose (__real__(z), C##f(z), (C)(z), C##l(z))
-
-/* Functions defined in both <math.h> and <complex.h> (7.22p4) */
-#define acos(z)          __TGMATH_CPLX(z, acos, cacos)
-#define asin(z)          __TGMATH_CPLX(z, asin, casin)
-#define atan(z)          __TGMATH_CPLX(z, atan, catan)
-#define acosh(z)         __TGMATH_CPLX(z, acosh, cacosh)
-#define asinh(z)         __TGMATH_CPLX(z, asinh, casinh)
-#define atanh(z)         __TGMATH_CPLX(z, atanh, catanh)
-#define cos(z)           __TGMATH_CPLX(z, cos, ccos)
-#define sin(z)           __TGMATH_CPLX(z, sin, csin)
-#define tan(z)           __TGMATH_CPLX(z, tan, ctan)
-#define cosh(z)          __TGMATH_CPLX(z, cosh, ccosh)
-#define sinh(z)          __TGMATH_CPLX(z, sinh, csinh)
-#define tanh(z)          __TGMATH_CPLX(z, tanh, ctanh)
-#define exp(z)           __TGMATH_CPLX(z, exp, cexp)
-#define log(z)           __TGMATH_CPLX(z, log, clog)
-#define pow(z1,z2)       __TGMATH_CPLX_2(z1, z2, pow, cpow)
-#define sqrt(z)          __TGMATH_CPLX(z, sqrt, csqrt)
-#define fabs(z)          __TGMATH_CPLX(z, fabs, cabs)
-
-/* Functions defined in <math.h> only (7.22p5) */
-#define atan2(x,y)       __TGMATH_REAL_2(x, y, atan2)
-#define cbrt(x)          __TGMATH_REAL(x, cbrt)
-#define ceil(x)          __TGMATH_REAL(x, ceil)
-#define copysign(x,y)    __TGMATH_REAL_2(x, y, copysign)
-#define erf(x)           __TGMATH_REAL(x, erf)
-#define erfc(x)          __TGMATH_REAL(x, erfc)
-#define exp2(x)          __TGMATH_REAL(x, exp2)
-#define expm1(x)         __TGMATH_REAL(x, expm1)
-#define fdim(x,y)        __TGMATH_REAL_2(x, y, fdim)
-#define floor(x)         __TGMATH_REAL(x, floor)
-#define fma(x,y,z)       __TGMATH_REAL_3(x, y, z, fma)
-#define fmax(x,y)        __TGMATH_REAL_2(x, y, fmax)
-#define fmin(x,y)        __TGMATH_REAL_2(x, y, fmin)
-#define fmod(x,y)        __TGMATH_REAL_2(x, y, fmod)
-#define frexp(x,y)       __TGMATH_REAL_1_2(x, y, frexp)
-#define hypot(x,y)       __TGMATH_REAL_2(x, y, hypot)
-#define ilogb(x)         __TGMATH_REAL(x, ilogb)
-#define ldexp(x,y)       __TGMATH_REAL_1_2(x, y, ldexp)
-#define lgamma(x)        __TGMATH_REAL(x, lgamma)
-#define llrint(x)        __TGMATH_REAL(x, llrint)
-#define llround(x)       __TGMATH_REAL(x, llround)
-#define log10(x)         __TGMATH_REAL(x, log10)
-#define log1p(x)         __TGMATH_REAL(x, log1p)
-#define log2(x)          __TGMATH_REAL(x, log2)
-#define logb(x)          __TGMATH_REAL(x, logb)
-#define lrint(x)         __TGMATH_REAL(x, lrint)
-#define lround(x)        __TGMATH_REAL(x, lround)
-#define nearbyint(x)     __TGMATH_REAL(x, nearbyint)
-#define nextafter(x,y)   __TGMATH_REAL_2(x, y, nextafter)
-#define nexttoward(x,y)  __TGMATH_REAL_1_2(x, y, nexttoward)
-#define remainder(x,y)   __TGMATH_REAL_2(x, y, remainder)
-#define remquo(x,y,z)    __TGMATH_REAL_2_3(x, y, z, remquo)
-#define rint(x)          __TGMATH_REAL(x, rint)
-#define round(x)         __TGMATH_REAL(x, round)
-#define scalbn(x,y)      __TGMATH_REAL_1_2(x, y, scalbn)
-#define scalbln(x,y)     __TGMATH_REAL_1_2(x, y, scalbln)
-#define tgamma(x)        __TGMATH_REAL(x, tgamma)
-#define trunc(x)         __TGMATH_REAL(x, trunc)
-
-/* Functions defined in <complex.h> only (7.22p6) */
-#define carg(z)          __TGMATH_CPLX_ONLY(z, carg)
-#define cimag(z)         __TGMATH_CPLX_ONLY(z, cimag)
-#define conj(z)          __TGMATH_CPLX_ONLY(z, conj)
-#define cproj(z)         __TGMATH_CPLX_ONLY(z, cproj)
-#define creal(z)         __TGMATH_CPLX_ONLY(z, creal)
-
-#endif /* __cplusplus */
-#endif /* _TGMATH_H */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/tmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,249 +1,0 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 9.1.  */
-
-#ifndef _TMMINTRIN_H_INCLUDED
-#define _TMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSE3, SSE2 and SSE header files*/
-#include <pmmintrin.h>
-
-#ifndef __SSSE3__
-#pragma GCC push_options
-#pragma GCC target("ssse3")
-#define __DISABLE_SSSE3__
-#endif /* __SSSE3__ */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadds_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadd_pi32 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hadds_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsubs_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsub_pi32 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsubs_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddubs_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddubs_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhrs_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhrs_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_epi8 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_pi8 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_epi8 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_epi16 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_epi32 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_pi8 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_pi16 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sign_pi32 (__m64 __X, __m64 __Y)
-{
-  return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y);
-}
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
-{
-  return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
-					      (__v2di)__Y, __N * 8);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_alignr_pi8(__m64 __X, __m64 __Y, const int __N)
-{
-  return (__m64) __builtin_ia32_palignr ((__v1di)__X,
-					 (__v1di)__Y, __N * 8);
-}
-#else
-#define _mm_alignr_epi8(X, Y, N)					\
-  ((__m128i) __builtin_ia32_palignr128 ((__v2di)(__m128i)(X),		\
-					(__v2di)(__m128i)(Y),		\
-					(int)(N) * 8))
-#define _mm_alignr_pi8(X, Y, N)						\
-  ((__m64) __builtin_ia32_palignr ((__v1di)(__m64)(X),			\
-				   (__v1di)(__m64)(Y),			\
-				   (int)(N) * 8))
-#endif
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_epi8 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_epi16 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_epi32 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_pi8 (__m64 __X)
-{
-  return (__m64) __builtin_ia32_pabsb ((__v8qi)__X);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_pi16 (__m64 __X)
-{
-  return (__m64) __builtin_ia32_pabsw ((__v4hi)__X);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_abs_pi32 (__m64 __X)
-{
-  return (__m64) __builtin_ia32_pabsd ((__v2si)__X);
-}
-
-#ifdef __DISABLE_SSSE3__
-#undef __DISABLE_SSSE3__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSSE3__ */
-
-#endif /* _TMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/unwind.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/unwind.h	(revision 1046)
+++ 	(revision )
@@ -1,293 +1,0 @@
-/* Exception handling and frame unwind runtime interface routines.
-   Copyright (C) 2001-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This is derived from the C++ ABI for IA-64.  Where we diverge
-   for cross-architecture compatibility are noted with "@@@".  */
-
-#ifndef _UNWIND_H
-#define _UNWIND_H
-
-#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__)
-/* Only for _GCC_specific_handler.  */
-#include <windows.h>
-#endif
-
-#ifndef HIDE_EXPORTS
-#pragma GCC visibility push(default)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Level 1: Base ABI  */
-
-/* @@@ The IA-64 ABI uses uint64 throughout.  Most places this is
-   inefficient for 32-bit and smaller machines.  */
-typedef unsigned _Unwind_Word __attribute__((__mode__(__unwind_word__)));
-typedef signed _Unwind_Sword __attribute__((__mode__(__unwind_word__)));
-#if defined(__ia64__) && defined(__hpux__)
-typedef unsigned _Unwind_Ptr __attribute__((__mode__(__word__)));
-#else
-typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
-#endif
-typedef unsigned _Unwind_Internal_Ptr __attribute__((__mode__(__pointer__)));
-
-/* @@@ The IA-64 ABI uses a 64-bit word to identify the producer and
-   consumer of an exception.  We'll go along with this for now even on
-   32-bit machines.  We'll need to provide some other option for
-   16-bit machines and for machines with > 8 bits per byte.  */
-typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));
-
-/* The unwind interface uses reason codes in several contexts to
-   identify the reasons for failures or other actions.  */
-typedef enum
-{
-  _URC_NO_REASON = 0,
-  _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
-  _URC_FATAL_PHASE2_ERROR = 2,
-  _URC_FATAL_PHASE1_ERROR = 3,
-  _URC_NORMAL_STOP = 4,
-  _URC_END_OF_STACK = 5,
-  _URC_HANDLER_FOUND = 6,
-  _URC_INSTALL_CONTEXT = 7,
-  _URC_CONTINUE_UNWIND = 8
-} _Unwind_Reason_Code;
-
-
-/* The unwind interface uses a pointer to an exception header object
-   as its representation of an exception being thrown. In general, the
-   full representation of an exception object is language- and
-   implementation-specific, but it will be prefixed by a header
-   understood by the unwind interface.  */
-
-struct _Unwind_Exception;
-
-typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
-					      struct _Unwind_Exception *);
-
-struct _Unwind_Exception
-{
-  _Unwind_Exception_Class exception_class;
-  _Unwind_Exception_Cleanup_Fn exception_cleanup;
-
-#if !defined (__USING_SJLJ_EXCEPTIONS__) && defined (__SEH__)
-  _Unwind_Word private_[6];
-#else
-  _Unwind_Word private_1;
-  _Unwind_Word private_2;
-#endif
-
-  /* @@@ The IA-64 ABI says that this structure must be double-word aligned.
-     Taking that literally does not make much sense generically.  Instead we
-     provide the maximum alignment required by any type for the machine.  */
-} __attribute__((__aligned__));
-
-
-/* The ACTIONS argument to the personality routine is a bitwise OR of one
-   or more of the following constants.  */
-typedef int _Unwind_Action;
-
-#define _UA_SEARCH_PHASE	1
-#define _UA_CLEANUP_PHASE	2
-#define _UA_HANDLER_FRAME	4
-#define _UA_FORCE_UNWIND	8
-#define _UA_END_OF_STACK	16
-
-/* The target can override this macro to define any back-end-specific
-   attributes required for the lowest-level stack frame.  */
-#ifndef LIBGCC2_UNWIND_ATTRIBUTE
-#define LIBGCC2_UNWIND_ATTRIBUTE
-#endif
-
-/* This is an opaque type used to refer to a system-specific data
-   structure used by the system unwinder. This context is created and
-   destroyed by the system, and passed to the personality routine
-   during unwinding.  */
-struct _Unwind_Context;
-
-/* Raise an exception, passing along the given exception object.  */
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_RaiseException (struct _Unwind_Exception *);
-
-/* Raise an exception for forced unwinding.  */
-
-typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
-     (int, _Unwind_Action, _Unwind_Exception_Class,
-      struct _Unwind_Exception *, struct _Unwind_Context *, void *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-
-/* Helper to invoke the exception_cleanup routine.  */
-extern void _Unwind_DeleteException (struct _Unwind_Exception *);
-
-/* Resume propagation of an existing exception.  This is used after
-   e.g. executing cleanup code, and not to implement rethrowing.  */
-extern void LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Resume (struct _Unwind_Exception *);
-
-/* @@@ Resume propagation of a FORCE_UNWIND exception, or to rethrow
-   a normal exception that was handled.  */
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Resume_or_Rethrow (struct _Unwind_Exception *);
-
-/* @@@ Use unwind data to perform a stack backtrace.  The trace callback
-   is called for every stack frame in the call chain, but no cleanup
-   actions are performed.  */
-typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)
-     (struct _Unwind_Context *, void *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Backtrace (_Unwind_Trace_Fn, void *);
-
-/* These functions are used for communicating information about the unwind
-   context (i.e. the unwind descriptors and the user register state) between
-   the unwind library and the personality routine and landing pad.  Only
-   selected registers may be manipulated.  */
-
-extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
-extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
-
-extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
-extern _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *);
-extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
-
-/* @@@ Retrieve the CFA of the given context.  */
-extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
-
-extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
-
-extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
-
-
-/* The personality routine is the function in the C++ (or other language)
-   runtime library which serves as an interface between the system unwind
-   library and language-specific exception handling semantics.  It is
-   specific to the code fragment described by an unwind info block, and
-   it is always referenced via the pointer in the unwind info block, and
-   hence it has no ABI-specified name.
-
-   Note that this implies that two different C++ implementations can
-   use different names, and have different contents in the language
-   specific data area.  Moreover, that the language specific data
-   area contains no version info because name of the function invoked
-   provides more effective versioning by detecting at link time the
-   lack of code to handle the different data format.  */
-
-typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
-     (int, _Unwind_Action, _Unwind_Exception_Class,
-      struct _Unwind_Exception *, struct _Unwind_Context *);
-
-/* @@@ The following alternate entry points are for setjmp/longjmp
-   based unwinding.  */
-
-struct SjLj_Function_Context;
-extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
-extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_RaiseException (struct _Unwind_Exception *);
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-extern void LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_Resume (struct _Unwind_Exception *);
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_Resume_or_Rethrow (struct _Unwind_Exception *);
-
-/* @@@ The following provide access to the base addresses for text
-   and data-relative addressing in the LDSA.  In order to stay link
-   compatible with the standard ABI for IA-64, we inline these.  */
-
-#ifdef __ia64__
-#include <stdlib.h>
-
-static inline _Unwind_Ptr
-_Unwind_GetDataRelBase (struct _Unwind_Context *_C)
-{
-  /* The GP is stored in R1.  */
-  return _Unwind_GetGR (_C, 1);
-}
-
-static inline _Unwind_Ptr
-_Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
-{
-  abort ();
-  return 0;
-}
-
-/* @@@ Retrieve the Backing Store Pointer of the given context.  */
-extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
-#else
-extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
-extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
-#endif
-
-/* @@@ Given an address, return the entry point of the function that
-   contains it.  */
-extern void * _Unwind_FindEnclosingFunction (void *pc);
-
-#ifndef __SIZEOF_LONG__
-  #error "__SIZEOF_LONG__ macro not defined"
-#endif
-
-#ifndef __SIZEOF_POINTER__
-  #error "__SIZEOF_POINTER__ macro not defined"
-#endif
-
-
-/* leb128 type numbers have a potentially unlimited size.
-   The target of the following definitions of _sleb128_t and _uleb128_t
-   is to have efficient data types large enough to hold the leb128 type
-   numbers used in the unwind code.
-   Mostly these types will simply be defined to long and unsigned long
-   except when a unsigned long data type on the target machine is not
-   capable of storing a pointer.  */
-
-#if __SIZEOF_LONG__ >= __SIZEOF_POINTER__
-  typedef long _sleb128_t;
-  typedef unsigned long _uleb128_t;
-#elif __SIZEOF_LONG_LONG__ >= __SIZEOF_POINTER__
-  typedef long long _sleb128_t;
-  typedef unsigned long long _uleb128_t;
-#else
-# error "What type shall we use for _sleb128_t?"
-#endif
-
-#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__)
-/* Handles the mapping from SEH to GCC interfaces.  */
-EXCEPTION_DISPOSITION _GCC_specific_handler (PEXCEPTION_RECORD, void *,
-					     PCONTEXT, PDISPATCHER_CONTEXT,
-					     _Unwind_Personality_Fn);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifndef HIDE_EXPORTS
-#pragma GCC visibility pop
-#endif
-
-#endif /* unwind.h */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/varargs.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/varargs.h	(revision 1046)
+++ 	(revision )
@@ -1,7 +1,0 @@
-#ifndef _VARARGS_H
-#define _VARARGS_H
-
-#error "GCC no longer implements <varargs.h>."
-#error "Revise your code to use <stdarg.h>."
-
-#endif
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/wmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/wmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 10.1.  */
-
-#ifndef _WMMINTRIN_H_INCLUDED
-#define _WMMINTRIN_H_INCLUDED
-
-/* We need definitions from the SSE2 header file.  */
-#include <emmintrin.h>
-
-/* AES */
-
-#ifndef __AES__
-#pragma GCC push_options
-#pragma GCC target("aes")
-#define __DISABLE_AES__
-#endif /* __AES__ */
-
-/* Performs 1 round of AES decryption of the first m128i using 
-   the second m128i as a round key.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aesdec_si128 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_aesdec128 ((__v2di)__X, (__v2di)__Y);
-}
-
-/* Performs the last round of AES decryption of the first m128i 
-   using the second m128i as a round key.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aesdeclast_si128 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_aesdeclast128 ((__v2di)__X,
-						 (__v2di)__Y);
-}
-
-/* Performs 1 round of AES encryption of the first m128i using 
-   the second m128i as a round key.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aesenc_si128 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_aesenc128 ((__v2di)__X, (__v2di)__Y);
-}
-
-/* Performs the last round of AES encryption of the first m128i
-   using the second m128i as a round key.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aesenclast_si128 (__m128i __X, __m128i __Y)
-{
-  return (__m128i) __builtin_ia32_aesenclast128 ((__v2di)__X, (__v2di)__Y);
-}
-
-/* Performs the InverseMixColumn operation on the source m128i 
-   and stores the result into m128i destination.  */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aesimc_si128 (__m128i __X)
-{
-  return (__m128i) __builtin_ia32_aesimc128 ((__v2di)__X);
-}
-
-/* Generates a m128i round key for the input m128i AES cipher key and
-   byte round constant.  The second parameter must be a compile time
-   constant.  */
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_aeskeygenassist_si128 (__m128i __X, const int __C)
-{
-  return (__m128i) __builtin_ia32_aeskeygenassist128 ((__v2di)__X, __C);
-}
-#else
-#define _mm_aeskeygenassist_si128(X, C)					\
-  ((__m128i) __builtin_ia32_aeskeygenassist128 ((__v2di)(__m128i)(X),	\
-						(int)(C)))
-#endif
-
-#ifdef __DISABLE_AES__
-#undef __DISABLE_AES__
-#pragma GCC pop_options
-#endif /* __DISABLE_AES__ */
-
-/* PCLMUL */
-
-#ifndef __PCLMUL__
-#pragma GCC push_options
-#pragma GCC target("pclmul")
-#define __DISABLE_PCLMUL__
-#endif /* __PCLMUL__ */
-
-/* Performs carry-less integer multiplication of 64-bit halves of
-   128-bit input operands.  The third parameter inducates which 64-bit
-   haves of the input parameters v1 and v2 should be used. It must be
-   a compile time constant.  */
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
-{
-  return (__m128i) __builtin_ia32_pclmulqdq128 ((__v2di)__X,
-						(__v2di)__Y, __I);
-}
-#else
-#define _mm_clmulepi64_si128(X, Y, I)					\
-  ((__m128i) __builtin_ia32_pclmulqdq128 ((__v2di)(__m128i)(X),		\
-					  (__v2di)(__m128i)(Y), (int)(I)))
-#endif
-
-#ifdef __DISABLE_PCLMUL__
-#undef __DISABLE_PCLMUL__
-#pragma GCC pop_options
-#endif /* __DISABLE_PCLMUL__ */
-
-#endif /* _WMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/x86intrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/x86intrin.h	(revision 1046)
+++ 	(revision )
@@ -1,89 +1,0 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-#define _X86INTRIN_H_INCLUDED
-
-#include <ia32intrin.h>
-
-#include <mmintrin.h>
-
-#include <xmmintrin.h>
-
-#include <emmintrin.h>
-
-#include <pmmintrin.h>
-
-#include <tmmintrin.h>
-
-#include <ammintrin.h>
-
-#include <smmintrin.h>
-
-#include <wmmintrin.h>
-
-/* For including AVX instructions */
-#include <immintrin.h>
-
-#include <mm3dnow.h>
-
-#include <fma4intrin.h>
-
-#include <xopintrin.h>
-
-#include <lwpintrin.h>
-
-#include <bmiintrin.h>
-
-#include <bmi2intrin.h>
-
-#include <tbmintrin.h>
-
-#include <lzcntintrin.h>
-
-#include <popcntintrin.h>
-
-#include <rdseedintrin.h>
-
-#include <prfchwintrin.h>
-
-#include <fxsrintrin.h>
-
-#include <xsaveintrin.h>
-
-#include <xsaveoptintrin.h>
-
-#include <adxintrin.h>
-
-#include <clwbintrin.h>
-
-#include <pcommitintrin.h>
-
-#include <clflushoptintrin.h>
-
-#include <xsavesintrin.h>
-
-#include <xsavecintrin.h>
-
-#include <mwaitxintrin.h>
-#endif /* _X86INTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xmmintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xmmintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,1267 +1,0 @@
-/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Implemented from the specification included in the Intel C++ Compiler
-   User Guide and Reference, version 9.0.  */
-
-#ifndef _XMMINTRIN_H_INCLUDED
-#define _XMMINTRIN_H_INCLUDED
-
-/* We need type definitions from the MMX header file.  */
-#include <mmintrin.h>
-
-/* Get _mm_malloc () and _mm_free ().  */
-#include <mm_malloc.h>
-
-/* Constants for use with _mm_prefetch.  */
-enum _mm_hint
-{
-  /* _MM_HINT_ET is _MM_HINT_T with set 3rd bit.  */
-  _MM_HINT_ET0 = 7,
-  _MM_HINT_ET1 = 6,
-  _MM_HINT_T0 = 3,
-  _MM_HINT_T1 = 2,
-  _MM_HINT_T2 = 1,
-  _MM_HINT_NTA = 0
-};
-
-/* Loads one cache line from address P to a location "closer" to the
-   processor.  The selector I specifies the type of prefetch operation.  */
-#ifdef __OPTIMIZE__
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_prefetch (const void *__P, enum _mm_hint __I)
-{
-  __builtin_prefetch (__P, (__I & 0x4) >> 2, __I & 0x3);
-}
-#else
-#define _mm_prefetch(P, I) \
-  __builtin_prefetch ((P), ((I & 0x4) >> 2), (I & 0x3))
-#endif
-
-#ifndef __SSE__
-#pragma GCC push_options
-#pragma GCC target("sse")
-#define __DISABLE_SSE__
-#endif /* __SSE__ */
-
-/* The Intel API is flexible enough that we must allow aliasing with other
-   vector types, and their scalar components.  */
-typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
-
-/* Internal data types for implementing the intrinsics.  */
-typedef float __v4sf __attribute__ ((__vector_size__ (16)));
-
-/* Create a selector for use with the SHUFPS instruction.  */
-#define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \
- (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | (fp0))
-
-/* Bits in the MXCSR.  */
-#define _MM_EXCEPT_MASK       0x003f
-#define _MM_EXCEPT_INVALID    0x0001
-#define _MM_EXCEPT_DENORM     0x0002
-#define _MM_EXCEPT_DIV_ZERO   0x0004
-#define _MM_EXCEPT_OVERFLOW   0x0008
-#define _MM_EXCEPT_UNDERFLOW  0x0010
-#define _MM_EXCEPT_INEXACT    0x0020
-
-#define _MM_MASK_MASK         0x1f80
-#define _MM_MASK_INVALID      0x0080
-#define _MM_MASK_DENORM       0x0100
-#define _MM_MASK_DIV_ZERO     0x0200
-#define _MM_MASK_OVERFLOW     0x0400
-#define _MM_MASK_UNDERFLOW    0x0800
-#define _MM_MASK_INEXACT      0x1000
-
-#define _MM_ROUND_MASK        0x6000
-#define _MM_ROUND_NEAREST     0x0000
-#define _MM_ROUND_DOWN        0x2000
-#define _MM_ROUND_UP          0x4000
-#define _MM_ROUND_TOWARD_ZERO 0x6000
-
-#define _MM_FLUSH_ZERO_MASK   0x8000
-#define _MM_FLUSH_ZERO_ON     0x8000
-#define _MM_FLUSH_ZERO_OFF    0x0000
-
-/* Create an undefined vector.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_undefined_ps (void)
-{
-  __m128 __Y = __Y;
-  return __Y;
-}
-
-/* Create a vector of zeros.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setzero_ps (void)
-{
-  return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
-}
-
-/* Perform the respective operation on the lower SPFP (single-precision
-   floating-point) values of A and B; the upper three SPFP values are
-   passed through from A.  */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_mulss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_ss (__m128 __A)
-{
-  return (__m128) __builtin_ia32_sqrtss ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp_ss (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rcpss ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt_ss (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rsqrtss ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_minss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_maxss ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Perform the respective operation on the four SPFP values in A and B.  */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_add_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) ((__v4sf)__A + (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sub_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) ((__v4sf)__A - (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mul_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) ((__v4sf)__A * (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_div_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) ((__v4sf)__A / (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sqrt_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_sqrtps ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rcp_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rcpps ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rsqrt_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_rsqrtps ((__v4sf)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_minps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_maxps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Perform logical bit-wise operations on 128-bit values.  */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_and_ps (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_andps (__A, __B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_andnot_ps (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_andnps (__A, __B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_or_ps (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_orps (__A, __B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_xor_ps (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_xorps (__A, __B);
-}
-
-/* Perform a comparison on the lower SPFP values of A and B.  If the
-   comparison is true, place a mask of all ones in the result, otherwise a
-   mask of zeros.  The upper three SPFP values are passed through from A.  */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpeqss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpltss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpless ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf) __A,
-					(__v4sf)
-					__builtin_ia32_cmpltss ((__v4sf) __B,
-								(__v4sf)
-								__A));
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf) __A,
-					(__v4sf)
-					__builtin_ia32_cmpless ((__v4sf) __B,
-								(__v4sf)
-								__A));
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpneqss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnlt_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpnltss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnle_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpnless ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpngt_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf) __A,
-					(__v4sf)
-					__builtin_ia32_cmpnltss ((__v4sf) __B,
-								 (__v4sf)
-								 __A));
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnge_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf) __A,
-					(__v4sf)
-					__builtin_ia32_cmpnless ((__v4sf) __B,
-								 (__v4sf)
-								 __A));
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpord_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpordss ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpunord_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpunordss ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Perform a comparison on the four SPFP values of A and B.  For each
-   element, if the comparison is true, place a mask of all ones in the
-   result, otherwise a mask of zeros.  */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpeq_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpltps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpleps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpgt_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpgtps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpgeps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpneqps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnlt_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpnltps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnle_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpnleps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpngt_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpngtps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpnge_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpngeps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpord_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpordps ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpunord_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_cmpunordps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Compare the lower SPFP values of A and B and return 1 if true
-   and 0 if false.  */
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comieq_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comieq ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comilt_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comilt ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comile_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comile ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comigt_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comigt ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comige_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comige ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comineq_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_comineq ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomieq_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomieq ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomilt_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomilt ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomile_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomile ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomigt_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomigt ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomige_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomige ((__v4sf)__A, (__v4sf)__B);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_ucomineq_ss (__m128 __A, __m128 __B)
-{
-  return __builtin_ia32_ucomineq ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Convert the lower SPFP value to a 32-bit integer according to the current
-   rounding mode.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_si32 (__m128 __A)
-{
-  return __builtin_ia32_cvtss2si ((__v4sf) __A);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_ss2si (__m128 __A)
-{
-  return _mm_cvtss_si32 (__A);
-}
-
-#ifdef __x86_64__
-/* Convert the lower SPFP value to a 32-bit integer according to the
-   current rounding mode.  */
-
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_si64 (__m128 __A)
-{
-  return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_si64x (__m128 __A)
-{
-  return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
-}
-#endif
-
-/* Convert the two lower SPFP values to 32-bit integers according to the
-   current rounding mode.  Return the integers in packed form.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_pi32 (__m128 __A)
-{
-  return (__m64) __builtin_ia32_cvtps2pi ((__v4sf) __A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_ps2pi (__m128 __A)
-{
-  return _mm_cvtps_pi32 (__A);
-}
-
-/* Truncate the lower SPFP value to a 32-bit integer.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_si32 (__m128 __A)
-{
-  return __builtin_ia32_cvttss2si ((__v4sf) __A);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_ss2si (__m128 __A)
-{
-  return _mm_cvttss_si32 (__A);
-}
-
-#ifdef __x86_64__
-/* Truncate the lower SPFP value to a 32-bit integer.  */
-
-/* Intel intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_si64 (__m128 __A)
-{
-  return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttss_si64x (__m128 __A)
-{
-  return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
-}
-#endif
-
-/* Truncate the two lower SPFP values to 32-bit integers.  Return the
-   integers in packed form.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvttps_pi32 (__m128 __A)
-{
-  return (__m64) __builtin_ia32_cvttps2pi ((__v4sf) __A);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtt_ps2pi (__m128 __A)
-{
-  return _mm_cvttps_pi32 (__A);
-}
-
-/* Convert B to a SPFP value and insert it as element zero in A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi32_ss (__m128 __A, int __B)
-{
-  return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_si2ss (__m128 __A, int __B)
-{
-  return _mm_cvtsi32_ss (__A, __B);
-}
-
-#ifdef __x86_64__
-/* Convert B to a SPFP value and insert it as element zero in A.  */
-
-/* Intel intrinsic.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64_ss (__m128 __A, long long __B)
-{
-  return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
-}
-
-/* Microsoft intrinsic.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtsi64x_ss (__m128 __A, long long __B)
-{
-  return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
-}
-#endif
-
-/* Convert the two 32-bit values in B to SPFP form and insert them
-   as the two lower elements in A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpi32_ps (__m128 __A, __m64 __B)
-{
-  return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvt_pi2ps (__m128 __A, __m64 __B)
-{
-  return _mm_cvtpi32_ps (__A, __B);
-}
-
-/* Convert the four signed 16-bit values in A to SPFP form.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpi16_ps (__m64 __A)
-{
-  __v4hi __sign;
-  __v2si __hisi, __losi;
-  __v4sf __zero, __ra, __rb;
-
-  /* This comparison against zero gives us a mask that can be used to
-     fill in the missing sign bits in the unpack operations below, so
-     that we get signed values after unpacking.  */
-  __sign = __builtin_ia32_pcmpgtw ((__v4hi)0LL, (__v4hi)__A);
-
-  /* Convert the four words to doublewords.  */
-  __losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, __sign);
-  __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign);
-
-  /* Convert the doublewords to floating point two at a time.  */
-  __zero = (__v4sf) _mm_setzero_ps ();
-  __ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
-  __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
-
-  return (__m128) __builtin_ia32_movlhps (__ra, __rb);
-}
-
-/* Convert the four unsigned 16-bit values in A to SPFP form.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpu16_ps (__m64 __A)
-{
-  __v2si __hisi, __losi;
-  __v4sf __zero, __ra, __rb;
-
-  /* Convert the four words to doublewords.  */
-  __losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, (__v4hi)0LL);
-  __hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL);
-
-  /* Convert the doublewords to floating point two at a time.  */
-  __zero = (__v4sf) _mm_setzero_ps ();
-  __ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
-  __rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
-
-  return (__m128) __builtin_ia32_movlhps (__ra, __rb);
-}
-
-/* Convert the low four signed 8-bit values in A to SPFP form.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpi8_ps (__m64 __A)
-{
-  __v8qi __sign;
-
-  /* This comparison against zero gives us a mask that can be used to
-     fill in the missing sign bits in the unpack operations below, so
-     that we get signed values after unpacking.  */
-  __sign = __builtin_ia32_pcmpgtb ((__v8qi)0LL, (__v8qi)__A);
-
-  /* Convert the four low bytes to words.  */
-  __A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, __sign);
-
-  return _mm_cvtpi16_ps(__A);
-}
-
-/* Convert the low four unsigned 8-bit values in A to SPFP form.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpu8_ps(__m64 __A)
-{
-  __A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, (__v8qi)0LL);
-  return _mm_cvtpu16_ps(__A);
-}
-
-/* Convert the four signed 32-bit values in A and B to SPFP form.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtpi32x2_ps(__m64 __A, __m64 __B)
-{
-  __v4sf __zero = (__v4sf) _mm_setzero_ps ();
-  __v4sf __sfa = __builtin_ia32_cvtpi2ps (__zero, (__v2si)__A);
-  __v4sf __sfb = __builtin_ia32_cvtpi2ps (__sfa, (__v2si)__B);
-  return (__m128) __builtin_ia32_movlhps (__sfa, __sfb);
-}
-
-/* Convert the four SPFP values in A to four signed 16-bit integers.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_pi16(__m128 __A)
-{
-  __v4sf __hisf = (__v4sf)__A;
-  __v4sf __losf = __builtin_ia32_movhlps (__hisf, __hisf);
-  __v2si __hisi = __builtin_ia32_cvtps2pi (__hisf);
-  __v2si __losi = __builtin_ia32_cvtps2pi (__losf);
-  return (__m64) __builtin_ia32_packssdw (__hisi, __losi);
-}
-
-/* Convert the four SPFP values in A to four signed 8-bit integers.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtps_pi8(__m128 __A)
-{
-  __v4hi __tmp = (__v4hi) _mm_cvtps_pi16 (__A);
-  return (__m64) __builtin_ia32_packsswb (__tmp, (__v4hi)0LL);
-}
-
-/* Selects four specific SPFP values from A and B based on MASK.  */
-#ifdef __OPTIMIZE__
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_ps (__m128 __A, __m128 __B, int const __mask)
-{
-  return (__m128) __builtin_ia32_shufps ((__v4sf)__A, (__v4sf)__B, __mask);
-}
-#else
-#define _mm_shuffle_ps(A, B, MASK)					\
-  ((__m128) __builtin_ia32_shufps ((__v4sf)(__m128)(A),			\
-				   (__v4sf)(__m128)(B), (int)(MASK)))
-#endif
-
-/* Selects and interleaves the upper two SPFP values from A and B.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpackhi_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpckhps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Selects and interleaves the lower two SPFP values from A and B.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_unpacklo_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_unpcklps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Sets the upper two SPFP values with 64-bits of data loaded from P;
-   the lower two values are passed through from A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadh_pi (__m128 __A, __m64 const *__P)
-{
-  return (__m128) __builtin_ia32_loadhps ((__v4sf)__A, (const __v2sf *)__P);
-}
-
-/* Stores the upper two SPFP values of A into P.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storeh_pi (__m64 *__P, __m128 __A)
-{
-  __builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A);
-}
-
-/* Moves the upper two values of B into the lower two values of A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movehl_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movhlps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Moves the lower two values of B into the upper two values of A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movelh_ps (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movlhps ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Sets the lower two SPFP values with 64-bits of data loaded from P;
-   the upper two values are passed through from A.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadl_pi (__m128 __A, __m64 const *__P)
-{
-  return (__m128) __builtin_ia32_loadlps ((__v4sf)__A, (const __v2sf *)__P);
-}
-
-/* Stores the lower two SPFP values of A into P.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storel_pi (__m64 *__P, __m128 __A)
-{
-  __builtin_ia32_storelps ((__v2sf *)__P, (__v4sf)__A);
-}
-
-/* Creates a 4-bit mask from the most significant bits of the SPFP values.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movemask_ps (__m128 __A)
-{
-  return __builtin_ia32_movmskps ((__v4sf)__A);
-}
-
-/* Return the contents of the control register.  */
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_getcsr (void)
-{
-  return __builtin_ia32_stmxcsr ();
-}
-
-/* Read exception bits from the control register.  */
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_GET_EXCEPTION_STATE (void)
-{
-  return _mm_getcsr() & _MM_EXCEPT_MASK;
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_GET_EXCEPTION_MASK (void)
-{
-  return _mm_getcsr() & _MM_MASK_MASK;
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_GET_ROUNDING_MODE (void)
-{
-  return _mm_getcsr() & _MM_ROUND_MASK;
-}
-
-extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_GET_FLUSH_ZERO_MODE (void)
-{
-  return _mm_getcsr() & _MM_FLUSH_ZERO_MASK;
-}
-
-/* Set the control register to I.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setcsr (unsigned int __I)
-{
-  __builtin_ia32_ldmxcsr (__I);
-}
-
-/* Set exception bits in the control register.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_SET_EXCEPTION_STATE(unsigned int __mask)
-{
-  _mm_setcsr((_mm_getcsr() & ~_MM_EXCEPT_MASK) | __mask);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_SET_EXCEPTION_MASK (unsigned int __mask)
-{
-  _mm_setcsr((_mm_getcsr() & ~_MM_MASK_MASK) | __mask);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_SET_ROUNDING_MODE (unsigned int __mode)
-{
-  _mm_setcsr((_mm_getcsr() & ~_MM_ROUND_MASK) | __mode);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_MM_SET_FLUSH_ZERO_MODE (unsigned int __mode)
-{
-  _mm_setcsr((_mm_getcsr() & ~_MM_FLUSH_ZERO_MASK) | __mode);
-}
-
-/* Create a vector with element 0 as F and the rest zero.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_ss (float __F)
-{
-  return __extension__ (__m128)(__v4sf){ __F, 0.0f, 0.0f, 0.0f };
-}
-
-/* Create a vector with all four elements equal to F.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set1_ps (float __F)
-{
-  return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F };
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_ps1 (float __F)
-{
-  return _mm_set1_ps (__F);
-}
-
-/* Create a vector with element 0 as *P and the rest zero.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_ss (float const *__P)
-{
-  return _mm_set_ss (*__P);
-}
-
-/* Create a vector with all four elements equal to *P.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load1_ps (float const *__P)
-{
-  return _mm_set1_ps (*__P);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_ps1 (float const *__P)
-{
-  return _mm_load1_ps (__P);
-}
-
-/* Load four SPFP values from P.  The address must be 16-byte aligned.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_load_ps (float const *__P)
-{
-  return (__m128) *(__v4sf *)__P;
-}
-
-/* Load four SPFP values from P.  The address need not be 16-byte aligned.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadu_ps (float const *__P)
-{
-  return (__m128) __builtin_ia32_loadups (__P);
-}
-
-/* Load four SPFP values in reverse order.  The address must be aligned.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_loadr_ps (float const *__P)
-{
-  __v4sf __tmp = *(__v4sf *)__P;
-  return (__m128) __builtin_ia32_shufps (__tmp, __tmp, _MM_SHUFFLE (0,1,2,3));
-}
-
-/* Create the vector [Z Y X W].  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_set_ps (const float __Z, const float __Y, const float __X, const float __W)
-{
-  return __extension__ (__m128)(__v4sf){ __W, __X, __Y, __Z };
-}
-
-/* Create the vector [W X Y Z].  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_setr_ps (float __Z, float __Y, float __X, float __W)
-{
-  return __extension__ (__m128)(__v4sf){ __Z, __Y, __X, __W };
-}
-
-/* Stores the lower SPFP value.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_ss (float *__P, __m128 __A)
-{
-  *__P = ((__v4sf)__A)[0];
-}
-
-extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cvtss_f32 (__m128 __A)
-{
-  return ((__v4sf)__A)[0];
-}
-
-/* Store four SPFP values.  The address must be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_ps (float *__P, __m128 __A)
-{
-  *(__v4sf *)__P = (__v4sf)__A;
-}
-
-/* Store four SPFP values.  The address need not be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storeu_ps (float *__P, __m128 __A)
-{
-  __builtin_ia32_storeups (__P, (__v4sf)__A);
-}
-
-/* Store the lower SPFP value across four words.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store1_ps (float *__P, __m128 __A)
-{
-  __v4sf __va = (__v4sf)__A;
-  __v4sf __tmp = __builtin_ia32_shufps (__va, __va, _MM_SHUFFLE (0,0,0,0));
-  _mm_storeu_ps (__P, __tmp);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_store_ps1 (float *__P, __m128 __A)
-{
-  _mm_store1_ps (__P, __A);
-}
-
-/* Store four SPFP values in reverse order.  The address must be aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_storer_ps (float *__P, __m128 __A)
-{
-  __v4sf __va = (__v4sf)__A;
-  __v4sf __tmp = __builtin_ia32_shufps (__va, __va, _MM_SHUFFLE (0,1,2,3));
-  _mm_store_ps (__P, __tmp);
-}
-
-/* Sets the low SPFP value of A from the low value of B.  */
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_move_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf)__A, (__v4sf)__B);
-}
-
-/* Extracts one of the four words of A.  The selector N must be immediate.  */
-#ifdef __OPTIMIZE__
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_extract_pi16 (__m64 const __A, int const __N)
-{
-  return __builtin_ia32_vec_ext_v4hi ((__v4hi)__A, __N);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pextrw (__m64 const __A, int const __N)
-{
-  return _mm_extract_pi16 (__A, __N);
-}
-#else
-#define _mm_extract_pi16(A, N)	\
-  ((int) __builtin_ia32_vec_ext_v4hi ((__v4hi)(__m64)(A), (int)(N)))
-
-#define _m_pextrw(A, N) _mm_extract_pi16(A, N)
-#endif
-
-/* Inserts word D into one of four words of A.  The selector N must be
-   immediate.  */
-#ifdef __OPTIMIZE__
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_insert_pi16 (__m64 const __A, int const __D, int const __N)
-{
-  return (__m64) __builtin_ia32_vec_set_v4hi ((__v4hi)__A, __D, __N);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pinsrw (__m64 const __A, int const __D, int const __N)
-{
-  return _mm_insert_pi16 (__A, __D, __N);
-}
-#else
-#define _mm_insert_pi16(A, D, N)				\
-  ((__m64) __builtin_ia32_vec_set_v4hi ((__v4hi)(__m64)(A),	\
-					(int)(D), (int)(N)))
-
-#define _m_pinsrw(A, D, N) _mm_insert_pi16(A, D, N)
-#endif
-
-/* Compute the element-wise maximum of signed 16-bit values.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_pi16 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pmaxsw ((__v4hi)__A, (__v4hi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmaxsw (__m64 __A, __m64 __B)
-{
-  return _mm_max_pi16 (__A, __B);
-}
-
-/* Compute the element-wise maximum of unsigned 8-bit values.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_max_pu8 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pmaxub ((__v8qi)__A, (__v8qi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmaxub (__m64 __A, __m64 __B)
-{
-  return _mm_max_pu8 (__A, __B);
-}
-
-/* Compute the element-wise minimum of signed 16-bit values.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_pi16 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pminsw ((__v4hi)__A, (__v4hi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pminsw (__m64 __A, __m64 __B)
-{
-  return _mm_min_pi16 (__A, __B);
-}
-
-/* Compute the element-wise minimum of unsigned 8-bit values.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_min_pu8 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pminub ((__v8qi)__A, (__v8qi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pminub (__m64 __A, __m64 __B)
-{
-  return _mm_min_pu8 (__A, __B);
-}
-
-/* Create an 8-bit mask of the signs of 8-bit values.  */
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_movemask_pi8 (__m64 __A)
-{
-  return __builtin_ia32_pmovmskb ((__v8qi)__A);
-}
-
-extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmovmskb (__m64 __A)
-{
-  return _mm_movemask_pi8 (__A);
-}
-
-/* Multiply four unsigned 16-bit values in A by four unsigned 16-bit values
-   in B and produce the high 16 bits of the 32-bit results.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mulhi_pu16 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pmulhuw ((__v4hi)__A, (__v4hi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pmulhuw (__m64 __A, __m64 __B)
-{
-  return _mm_mulhi_pu16 (__A, __B);
-}
-
-/* Return a combination of the four 16-bit values in A.  The selector
-   must be an immediate.  */
-#ifdef __OPTIMIZE__
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_pi16 (__m64 __A, int const __N)
-{
-  return (__m64) __builtin_ia32_pshufw ((__v4hi)__A, __N);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pshufw (__m64 __A, int const __N)
-{
-  return _mm_shuffle_pi16 (__A, __N);
-}
-#else
-#define _mm_shuffle_pi16(A, N) \
-  ((__m64) __builtin_ia32_pshufw ((__v4hi)(__m64)(A), (int)(N)))
-
-#define _m_pshufw(A, N) _mm_shuffle_pi16 (A, N)
-#endif
-
-/* Conditionally store byte elements of A into P.  The high bit of each
-   byte in the selector N determines whether the corresponding byte from
-   A is stored.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P)
-{
-  __builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_maskmovq (__m64 __A, __m64 __N, char *__P)
-{
-  _mm_maskmove_si64 (__A, __N, __P);
-}
-
-/* Compute the rounded averages of the unsigned 8-bit values in A and B.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_avg_pu8 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pavgb ((__v8qi)__A, (__v8qi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pavgb (__m64 __A, __m64 __B)
-{
-  return _mm_avg_pu8 (__A, __B);
-}
-
-/* Compute the rounded averages of the unsigned 16-bit values in A and B.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_avg_pu16 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_pavgw ((__v4hi)__A, (__v4hi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_pavgw (__m64 __A, __m64 __B)
-{
-  return _mm_avg_pu16 (__A, __B);
-}
-
-/* Compute the sum of the absolute differences of the unsigned 8-bit
-   values in A and B.  Return the value in the lower 16-bit word; the
-   upper words are cleared.  */
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sad_pu8 (__m64 __A, __m64 __B)
-{
-  return (__m64) __builtin_ia32_psadbw ((__v8qi)__A, (__v8qi)__B);
-}
-
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_m_psadbw (__m64 __A, __m64 __B)
-{
-  return _mm_sad_pu8 (__A, __B);
-}
-
-/* Stores the data in A to the address P without polluting the caches.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_pi (__m64 *__P, __m64 __A)
-{
-  __builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A);
-}
-
-/* Likewise.  The address must be 16-byte aligned.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_stream_ps (float *__P, __m128 __A)
-{
-  __builtin_ia32_movntps (__P, (__v4sf)__A);
-}
-
-/* Guarantees that every preceding store is globally visible before
-   any subsequent store.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sfence (void)
-{
-  __builtin_ia32_sfence ();
-}
-
-/* Transpose the 4x4 matrix composed of row[0-3].  */
-#define _MM_TRANSPOSE4_PS(row0, row1, row2, row3)			\
-do {									\
-  __v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3);	\
-  __v4sf __t0 = __builtin_ia32_unpcklps (__r0, __r1);			\
-  __v4sf __t1 = __builtin_ia32_unpcklps (__r2, __r3);			\
-  __v4sf __t2 = __builtin_ia32_unpckhps (__r0, __r1);			\
-  __v4sf __t3 = __builtin_ia32_unpckhps (__r2, __r3);			\
-  (row0) = __builtin_ia32_movlhps (__t0, __t1);				\
-  (row1) = __builtin_ia32_movhlps (__t1, __t0);				\
-  (row2) = __builtin_ia32_movlhps (__t2, __t3);				\
-  (row3) = __builtin_ia32_movhlps (__t3, __t2);				\
-} while (0)
-
-/* For backward source compatibility.  */
-# include <emmintrin.h>
-
-#ifdef __DISABLE_SSE__
-#undef __DISABLE_SSE__
-#pragma GCC pop_options
-#endif /* __DISABLE_SSE__ */
-
-/* The execution of the next instruction is delayed by an implementation
-   specific amount of time.  The instruction does not modify the
-   architectural state.  This is after the pop_options pragma because
-   it does not require SSE support in the processor--the encoding is a
-   nop on processors that do not support it.  */
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_pause (void)
-{
-  __builtin_ia32_pause ();
-}
-
-#endif /* _XMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xopintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xopintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,844 +1,0 @@
-/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _X86INTRIN_H_INCLUDED
-# error "Never use <xopintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _XOPMMINTRIN_H_INCLUDED
-#define _XOPMMINTRIN_H_INCLUDED
-
-#include <fma4intrin.h>
-
-#ifndef __XOP__
-#pragma GCC push_options
-#pragma GCC target("xop")
-#define __DISABLE_XOP__
-#endif /* __XOP__ */
-
-/* Integer multiply/add intructions. */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return (__m128i) __builtin_ia32_vpmacssww ((__v8hi)__A,(__v8hi)__B, (__v8hi)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return (__m128i) __builtin_ia32_vpmacsww ((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacsswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacssdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacsdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacssdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacsdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacssdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmacsdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmadcsswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpmadcswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
-}
-
-/* Packed Integer Horizontal Add and Subtract */
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddw_epi8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddbw ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddd_epi8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddbd ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epi8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddbq ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddd_epi16(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddwd ((__v8hi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epi16(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddwq ((__v8hi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epi32(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphadddq ((__v4si)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddw_epu8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddubw ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddd_epu8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddubd ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epu8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddubq ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddd_epu16(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphadduwd ((__v8hi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epu16(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphadduwq ((__v8hi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_haddq_epu32(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphaddudq ((__v4si)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsubw_epi8(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphsubbw ((__v16qi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsubd_epi16(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphsubwd ((__v8hi)__A);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_hsubq_epi32(__m128i __A)
-{
-  return  (__m128i) __builtin_ia32_vphsubdq ((__v4si)__A);
-}
-
-/* Vector conditional move and permute */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpcmov (__A, __B, __C);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
-{
-  return  (__m128i) __builtin_ia32_vpperm ((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
-}
-
-/* Packed Integer Rotates and Shifts
-   Rotates - Non-Immediate form */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rot_epi8(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vprotb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rot_epi16(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vprotw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rot_epi32(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vprotd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_rot_epi64(__m128i __A,  __m128i __B)
-{
-  return (__m128i)  __builtin_ia32_vprotq ((__v2di)__A, (__v2di)__B);
-}
-
-/* Rotates - Immediate form */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roti_epi8(__m128i __A, const int __B)
-{
-  return  (__m128i) __builtin_ia32_vprotbi ((__v16qi)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roti_epi16(__m128i __A, const int __B)
-{
-  return  (__m128i) __builtin_ia32_vprotwi ((__v8hi)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roti_epi32(__m128i __A, const int __B)
-{
-  return  (__m128i) __builtin_ia32_vprotdi ((__v4si)__A, __B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_roti_epi64(__m128i __A, const int __B)
-{
-  return  (__m128i) __builtin_ia32_vprotqi ((__v2di)__A, __B);
-}
-#else
-#define _mm_roti_epi8(A, N) \
-  ((__m128i) __builtin_ia32_vprotbi ((__v16qi)(__m128i)(A), (int)(N)))
-#define _mm_roti_epi16(A, N) \
-  ((__m128i) __builtin_ia32_vprotwi ((__v8hi)(__m128i)(A), (int)(N)))
-#define _mm_roti_epi32(A, N) \
-  ((__m128i) __builtin_ia32_vprotdi ((__v4si)(__m128i)(A), (int)(N)))
-#define _mm_roti_epi64(A, N) \
-  ((__m128i) __builtin_ia32_vprotqi ((__v2di)(__m128i)(A), (int)(N)))
-#endif
-
-/* Shifts */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shl_epi8(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshlb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shl_epi16(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshlw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shl_epi32(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshld ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shl_epi64(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshlq ((__v2di)__A, (__v2di)__B);
-}
-
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha_epi8(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshab ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha_epi16(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshaw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha_epi32(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshad ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_sha_epi64(__m128i __A,  __m128i __B)
-{
-  return  (__m128i) __builtin_ia32_vpshaq ((__v2di)__A, (__v2di)__B);
-}
-
-/* Compare and Predicate Generation
-   pcom (integer, unsinged bytes) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltub ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleub ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtub ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeub ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomequb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomnequb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseub ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epu8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueub ((__v16qi)__A, (__v16qi)__B);
-}
-
-/*pcom (integer, unsinged words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomequw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomnequw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epu16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueuw ((__v8hi)__A, (__v8hi)__B);
-}
-
-/*pcom (integer, unsinged double words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltud ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleud ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtud ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeud ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomequd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomnequd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseud ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epu32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueud ((__v4si)__A, (__v4si)__B);
-}
-
-/*pcom (integer, unsinged quad words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltuq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleuq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtuq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeuq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomequq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomnequq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseuq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epu64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueuq ((__v2di)__A, (__v2di)__B);
-}
-
-/*pcom (integer, signed bytes) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomeqb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomneqb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseb ((__v16qi)__A, (__v16qi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epi8(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueb ((__v16qi)__A, (__v16qi)__B);
-}
-
-/*pcom (integer, signed words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomlew ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgew ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomeqw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomneqw ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalsew ((__v8hi)__A, (__v8hi)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epi16(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtruew ((__v8hi)__A, (__v8hi)__B);
-}
-
-/*pcom (integer, signed double words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomled ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomged ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomeqd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomneqd ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalsed ((__v4si)__A, (__v4si)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epi32(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrued ((__v4si)__A, (__v4si)__B);
-}
-
-/*pcom (integer, signed quad words) */
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comlt_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomltq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comle_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomleq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comgt_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgtq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comge_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomgeq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comeq_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomeqq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comneq_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomneqq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comfalse_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomfalseq ((__v2di)__A, (__v2di)__B);
-}
-
-extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_comtrue_epi64(__m128i __A, __m128i __B)
-{
-  return (__m128i) __builtin_ia32_vpcomtrueq ((__v2di)__A, (__v2di)__B);
-}
-
-/* FRCZ */
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_frcz_ps (__m128 __A)
-{
-  return (__m128) __builtin_ia32_vfrczps ((__v4sf)__A);
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_frcz_pd (__m128d __A)
-{
-  return (__m128d) __builtin_ia32_vfrczpd ((__v2df)__A);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_frcz_ss (__m128 __A, __m128 __B)
-{
-  return (__m128) __builtin_ia32_movss ((__v4sf)__A,
-					(__v4sf)
-					__builtin_ia32_vfrczss ((__v4sf)__B));
-}
-
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_frcz_sd (__m128d __A, __m128d __B)
-{
-  return (__m128d) __builtin_ia32_movsd ((__v2df)__A,
-					 (__v2df)
-					 __builtin_ia32_vfrczsd ((__v2df)__B));
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_frcz_ps (__m256 __A)
-{
-  return (__m256) __builtin_ia32_vfrczps256 ((__v8sf)__A);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_frcz_pd (__m256d __A)
-{
-  return (__m256d) __builtin_ia32_vfrczpd256 ((__v4df)__A);
-}
-
-/* PERMIL2 */
-
-#ifdef __OPTIMIZE__
-extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permute2_pd (__m128d __X, __m128d __Y, __m128i __C, const int __I)
-{
-  return (__m128d) __builtin_ia32_vpermil2pd ((__v2df)__X,
-					      (__v2df)__Y,
-					      (__v2di)__C,
-					      __I);
-}
-
-extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2_pd (__m256d __X, __m256d __Y, __m256i __C, const int __I)
-{
-  return (__m256d) __builtin_ia32_vpermil2pd256 ((__v4df)__X,
-						 (__v4df)__Y,
-						 (__v4di)__C,
-						 __I);
-}
-
-extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_permute2_ps (__m128 __X, __m128 __Y, __m128i __C, const int __I)
-{
-  return (__m128) __builtin_ia32_vpermil2ps ((__v4sf)__X,
-					     (__v4sf)__Y,
-					     (__v4si)__C,
-					     __I);
-}
-
-extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_permute2_ps (__m256 __X, __m256 __Y, __m256i __C, const int __I)
-{
-  return (__m256) __builtin_ia32_vpermil2ps256 ((__v8sf)__X,
-						(__v8sf)__Y,
-						(__v8si)__C,
-						__I);
-}
-#else
-#define _mm_permute2_pd(X, Y, C, I)					\
-  ((__m128d) __builtin_ia32_vpermil2pd ((__v2df)(__m128d)(X),		\
-					(__v2df)(__m128d)(Y),		\
-					(__v2di)(__m128d)(C),		\
-					(int)(I)))
-
-#define _mm256_permute2_pd(X, Y, C, I)					\
-  ((__m256d) __builtin_ia32_vpermil2pd256 ((__v4df)(__m256d)(X),	\
-					   (__v4df)(__m256d)(Y),	\
-					   (__v4di)(__m256d)(C),	\
-					   (int)(I)))
-
-#define _mm_permute2_ps(X, Y, C, I)					\
-  ((__m128) __builtin_ia32_vpermil2ps ((__v4sf)(__m128)(X),		\
-				       (__v4sf)(__m128)(Y),		\
-				       (__v4si)(__m128)(C),		\
-				       (int)(I)))
-
-#define _mm256_permute2_ps(X, Y, C, I)					\
-  ((__m256) __builtin_ia32_vpermil2ps256 ((__v8sf)(__m256)(X),		\
-					  (__v8sf)(__m256)(Y),  	\
-					  (__v8si)(__m256)(C),		\
- 					  (int)(I)))
-#endif /* __OPTIMIZE__ */
-
-#ifdef __DISABLE_XOP__
-#undef __DISABLE_XOP__
-#pragma GCC pop_options
-#endif /* __DISABLE_XOP__ */
-
-#endif /* _XOPMMINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsavecintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsavecintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <xsavecintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _XSAVECINTRIN_H_INCLUDED
-#define _XSAVECINTRIN_H_INCLUDED
-
-#ifndef __XSAVEC__
-#pragma GCC push_options
-#pragma GCC target("xsavec")
-#define __DISABLE_XSAVEC__
-#endif /* __XSAVEC__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsavec (void *__P, long long __M)
-{
-  __builtin_ia32_xsavec (__P, __M);
-}
-
-#ifdef __x86_64__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsavec64 (void *__P, long long __M)
-{
-  __builtin_ia32_xsavec64 (__P, __M);
-}
-#endif
-
-#ifdef __DISABLE_XSAVEC__
-#undef __DISABLE_XSAVEC__
-#pragma GCC pop_options
-#endif /* __DISABLE_XSAVEC__ */
-
-#endif /* _XSAVECINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsaveintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsaveintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <xsaveintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
-
-#ifndef _XSAVEINTRIN_H_INCLUDED
-#define _XSAVEINTRIN_H_INCLUDED
-
-#ifndef __XSAVE__
-#pragma GCC push_options
-#pragma GCC target("xsave")
-#define __DISABLE_XSAVE__
-#endif /* __XSAVE__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsave (void *__P, long long __M)
-{
-  return __builtin_ia32_xsave (__P, __M);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xrstor (void *__P, long long __M)
-{
-  return __builtin_ia32_xrstor (__P, __M);
-}
-
-#ifdef __x86_64__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsave64 (void *__P, long long __M)
-{
-  return __builtin_ia32_xsave64 (__P, __M);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xrstor64 (void *__P, long long __M)
-{
-  return __builtin_ia32_xrstor64 (__P, __M);
-}
-#endif
-
-#ifdef __DISABLE_XSAVE__
-#undef __DISABLE_XSAVE__
-#pragma GCC pop_options
-#endif /* __DISABLE_XSAVE__ */
-
-#endif /* _XSAVEINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsaveoptintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsaveoptintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <xsaveoptintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
-
-#ifndef _XSAVEOPTINTRIN_H_INCLUDED
-#define _XSAVEOPTINTRIN_H_INCLUDED
-
-#ifndef __XSAVEOPT__
-#pragma GCC push_options
-#pragma GCC target("xsaveopt")
-#define __DISABLE_XSAVEOPT__
-#endif /* __XSAVEOPT__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsaveopt (void *__P, long long __M)
-{
-  return __builtin_ia32_xsaveopt (__P, __M);
-}
-
-#ifdef __x86_64__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsaveopt64 (void *__P, long long __M)
-{
-  return __builtin_ia32_xsaveopt64 (__P, __M);
-}
-#endif
-
-#ifdef __DISABLE_XSAVEOPT__
-#undef __DISABLE_XSAVEOPT__
-#pragma GCC pop_options
-#endif /* __DISABLE_XSAVEOPT__ */
-
-#endif /* _XSAVEOPTINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsavesintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xsavesintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <xsavesintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _XSAVESINTRIN_H_INCLUDED
-#define _XSAVESINTRIN_H_INCLUDED
-
-#ifndef __XSAVES__
-#pragma GCC push_options
-#pragma GCC target("xsaves")
-#define __DISABLE_XSAVES__
-#endif /* __XSAVES__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsaves (void *__P, long long __M)
-{
-  __builtin_ia32_xsaves (__P, __M);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xrstors (void *__P, long long __M)
-{
-  __builtin_ia32_xrstors (__P, __M);
-}
-
-#ifdef __x86_64__
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xrstors64 (void *__P, long long __M)
-{
-  __builtin_ia32_xrstors64 (__P, __M);
-}
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xsaves64 (void *__P, long long __M)
-{
-  __builtin_ia32_xsaves64 (__P, __M);
-}
-#endif
-
-#ifdef __DISABLE_XSAVES__
-#undef __DISABLE_XSAVES__
-#pragma GCC pop_options
-#endif /* __DISABLE_XSAVES__ */
-
-#endif /* _XSAVESINTRIN_H_INCLUDED */
Index: Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xtestintrin.h
===================================================================
--- Daodan/MinGW/lib/gcc/mingw32/5.3.0/include/xtestintrin.h	(revision 1046)
+++ 	(revision )
@@ -1,51 +1,0 @@
-/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _IMMINTRIN_H_INCLUDED
-# error "Never use <xtestintrin.h> directly; include <immintrin.h> instead."
-#endif
-
-#ifndef _XTESTINTRIN_H_INCLUDED
-#define _XTESTINTRIN_H_INCLUDED
-
-#ifndef __RTM__
-#pragma GCC push_options
-#pragma GCC target("rtm")
-#define __DISABLE_RTM__
-#endif /* __RTM__ */
-
-/* Return non-zero if the instruction executes inside an RTM or HLE code
-   region.  Return zero otherwise.   */
-extern __inline int
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_xtest (void)
-{
-  return __builtin_ia32_xtest ();
-}
-
-#ifdef __DISABLE_RTM__
-#undef __DISABLE_RTM__
-#pragma GCC pop_options
-#endif /* __DISABLE_RTM__ */
-
-#endif /* _XTESTINTRIN_H_INCLUDED */
Index: Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/fixinc.sh
===================================================================
--- Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/fixinc.sh	(revision 1046)
+++ 	(revision )
@@ -1,2 +1,0 @@
-#! /bin/sh
-exit 0
Index: Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/mkheaders
===================================================================
--- Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/mkheaders	(revision 1046)
+++ 	(revision )
@@ -1,104 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc.
-
-#This file is part of GCC.
-
-#GCC is free software; you can redistribute it and/or modify it under
-#the terms of the GNU General Public License as published by the Free
-#Software Foundation; either version 3, or (at your option) any later
-#version.
-
-#GCC is distributed in the hope that it will be useful, but WITHOUT
-#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-#for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with GCC; see the file COPYING3.  If not see
-#<http://www.gnu.org/licenses/>.
-
-# Basic information
-target=i686-pc-mingw32
-target_noncanonical=mingw32
-version=5.3.0
-
-VERBOSE=0
-while [ x$1 = x-v ] ; do
-    shift
-    VERBOSE=`expr $VERBOSE + 1`
-done
-export VERBOSE
-
-if [ x$1 = x--help ] ; then
-    echo "Usage: mkheaders [options] [prefix [isysroot]]"
-    echo "Options:"
-    echo "  -v        Print more output (may be repeated for even more output)"
-    echo "  --help    This help"
-    echo "  --version Print version information"
-    exit 0
-fi
-
-if [ x$1 = x--version ] ; then
-    echo "mkheaders (GCC) version $version"
-    echo "Copyright 2002, 2007, 2009 Free Software Foundation, Inc."
-    echo "This program is free software; you may redistribute it under the"
-    echo "terms of the GNU General Public License.  This program has"
-    echo "absolutely no warranty."
-    exit 0
-fi
-
-# Common prefix for installation directories.
-if [ x$1 != x ] ; then
-  prefix=$1
-  shift
-else
-  prefix=/mingw
-fi
-
-# Allow for alternate isysroot in which to find headers
-if [ x$1 != x ] ; then
-  isysroot=$1
-  shift
-else
-  isysroot=
-fi
-
-# Directory in which to put host dependent programs and libraries
-exec_prefix=${prefix}
-# Directory in which to put the directories used by the compiler.
-libdir=${exec_prefix}/lib
-libexecdir=${exec_prefix}/libexec
-# Directory in which the compiler finds libraries, etc.
-libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
-# Directory in which the compiler finds executables
-libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version}
-
-itoolsdir=${libexecsubdir}/install-tools
-itoolsdatadir=${libsubdir}/install-tools
-incdir=${libsubdir}/include-fixed
-mkinstalldirs="/bin/bash ${itoolsdir}/mkinstalldirs"
-
-cd ${itoolsdir}
-rm -rf ${incdir}/*
-
-for ml in `cat ${itoolsdatadir}/fixinc_list`; do
-  sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`
-  multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`
-  subincdir=${incdir}${multi_dir}
-  . ${itoolsdatadir}/mkheaders.conf
-  if [ x${STMP_FIXINC} != x ] ; then
-	TARGET_MACHINE="${target}" target_canonical="${target}" \
-	    MACRO_LIST="${itoolsdatadir}/macro_list" \
-	    /bin/bash ./fixinc.sh ${subincdir} \
-	    ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
-	rm -f ${subincdir}/syslimits.h
-	if [ -f ${subincdir}/limits.h ]; then
-	  mv ${subincdir}/limits.h ${subincdir}/syslimits.h
-	else
-	  cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h
-	fi
-  fi
-
-  cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}
-done
Index: Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/mkinstalldirs
===================================================================
--- Daodan/MinGW/libexec/gcc/mingw32/5.3.0/install-tools/mkinstalldirs	(revision 1046)
+++ 	(revision )
@@ -1,162 +1,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-nl='
-'
-IFS=" ""	$nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <bug-automake@gnu.org>."
-
-# process command line arguments
-while test $# -gt 0 ; do
-  case $1 in
-    -h | --help | --h*)         # -h for help
-      echo "$usage"
-      exit $?
-      ;;
-    -m)                         # -m PERM arg
-      shift
-      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
-      dirmode=$1
-      shift
-      ;;
-    --version)
-      echo "$0 $scriptversion"
-      exit $?
-      ;;
-    --)                         # stop option processing
-      shift
-      break
-      ;;
-    -*)                         # unknown option
-      echo "$usage" 1>&2
-      exit 1
-      ;;
-    *)                          # first non-opt arg
-      break
-      ;;
-  esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-  0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error.  This is a problem when calling mkinstalldirs
-# from a parallel make.  We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
-  '')
-    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-      echo "mkdir -p -- $*"
-      exec mkdir -p -- "$@"
-    else
-      # On NextStep and OpenStep, the 'mkdir' command does not
-      # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because '.' already
-      # exists.
-      test -d ./-p && rmdir ./-p
-      test -d ./--version && rmdir ./--version
-    fi
-    ;;
-  *)
-    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
-       test ! -d ./--version; then
-      echo "mkdir -m $dirmode -p -- $*"
-      exec mkdir -m "$dirmode" -p -- "$@"
-    else
-      # Clean up after NextStep and OpenStep mkdir.
-      for d in ./-m ./-p ./--version "./$dirmode";
-      do
-        test -d $d && rmdir $d
-      done
-    fi
-    ;;
-esac
-
-for file
-do
-  case $file in
-    /*) pathcomp=/ ;;
-    *)  pathcomp= ;;
-  esac
-  oIFS=$IFS
-  IFS=/
-  set fnord $file
-  shift
-  IFS=$oIFS
-
-  for d
-  do
-    test "x$d" = x && continue
-
-    pathcomp=$pathcomp$d
-    case $pathcomp in
-      -*) pathcomp=./$pathcomp ;;
-    esac
-
-    if test ! -d "$pathcomp"; then
-      echo "mkdir $pathcomp"
-
-      mkdir "$pathcomp" || lasterr=$?
-
-      if test ! -d "$pathcomp"; then
-	errstatus=$lasterr
-      else
-	if test ! -z "$dirmode"; then
-	  echo "chmod $dirmode $pathcomp"
-	  lasterr=
-	  chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-	  if test ! -z "$lasterr"; then
-	    errstatus=$lasterr
-	  fi
-	fi
-      fi
-    fi
-
-    pathcomp=$pathcomp/
-  done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
Index: Daodan/MinGW/libexec/mingw-get/setup.lua
===================================================================
--- Daodan/MinGW/libexec/mingw-get/setup.lua	(revision 1046)
+++ 	(revision )
@@ -1,80 +1,0 @@
---
--- setup.lua
---
--- $Id: setup.lua,v 49e57abe7f83 2013/09/21 08:35:52 keithmarshall $
---
--- Lua 5.2 module providing common setup hooks for mingw-get.
---
---
--- This file is a component of mingw-get.
---
--- Written by Keith Marshall <keithmarshall@users.sourceforge.net>
--- Copyright (C) 2012, 2013, 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 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.
---
-   local M = {}
-   local wsh = require "wsh"
---
-   function M.libexec_path( script, subsystem )
-     if not subsystem
-     then
-       subsystem = "mingw-get"
-     end
-     return wsh.libexec_path( script, subsystem )
-   end
---
-   function M.argwrap( arglist, ... )
-     for argind, argval in ipairs {...}
-     do
-       arglist = arglist .. " " .. argval
-     end
-     return arglist
-   end
---
-   function M.shlink( args, ... )
-     if args
-     then
-       wsh.execute( M.argwrap( M.libexec_path( "shlink.js" ), args, ... ) )
-     end
-   end
---
-   function M.unlink( args, ... )
-     if args
-     then
-       wsh.execute( M.argwrap( M.libexec_path( "unlink.js" ), args, ... ) )
-     end
-   end
---
-   function M.create_shortcuts( ... )
-     M.shlink( os.getenv( "MINGW_GET_DESKTOP_HOOK" ), ... )
-     M.shlink( os.getenv( "MINGW_GET_START_MENU_HOOK" ), ... )
-   end
---
-   function M.delete_shortcuts( ... )
-     M.unlink( "--desktop", ... )
-     M.unlink( "--all-users --desktop", ... )
-     M.unlink( "--all-users --start-menu", ... )
-     M.unlink( "--start-menu", ... )
-   end
---
-   return M
---
--- $RCSfile: setup.lua,v $: end of file */
Index: Daodan/MinGW/libexec/mingw-get/shlink.js
===================================================================
--- Daodan/MinGW/libexec/mingw-get/shlink.js	(revision 1046)
+++ 	(revision )
@@ -1,385 +1,0 @@
-/*
- * shlink.js
- *
- * $Id: shlink.js,v 0f864a5cad9e 2012/04/06 22:49:36 keithmarshall $
- *
- * Invoke the Windows Scripting Host to create or modify a windows shortcut,
- * with specified parameters.
- *
- * Usage:
- *   cscript -nologo shlink.js [--option[=value] ...] target name
- *
- * Options:
- *   --verbose	report shortcut parameter assignments on stdout
- *
- *   --all-users
- *   		create the shortcut in the start menu, or on the
- *   		desktop available to all users; (has no effect,
- *   		unless --start-menu or --desktop is specified)
- *
- *   --desktop	create the shortcut on the desktop of the current
- *   		user, (or for all users, with --all-users)
- *
- *   --start-menu
- *   		create the shortcut in the user's start menu, (or
- *   		all users' start menu, with --all-users)
- *
- *   --arguments="argument list ..."
- *		specify arguments to be passed to the command
- *		invoked by the shortcut
- *
- *   --description="text ..."
- *		specify the "tool tip" for the shortcut
- *
- *   --hotkey="[SHIFT+][CTRL+][ALT+]key"
- *   		specify a hot-key combination which may be used
- *   		to invoke the shortcut command
- *
- *   --icon="d:\path\to\icon\file[,index]"
- *   		specify an icon to associate with the shortcut;
- *   		if unspecified, the first icon in the target file,
- *   		or failing that, a system default is used
- *
- *   --show=normal|maximised|minimised
- *   		specify the style of window in which the program
- *   		invoked by the shortcut will start running
- *
- *   --workingdir="d:\path\to\working\directory"
- *   		specify the absolute path name for the directory
- *   		which will become the current working directory when
- *   		the program invoked by the shortcut is started
- *
- * Parameters:
- *   target	the path name to the program to invoke, or the file
- *		to be opened, when the shortcut is activated.
- *
- *   name	the path name for the shortcut file itself; if this
- *		does not end with either a ".lnk" or ".url" extension,
- *		then ".lnk" will be appended, so creating a regular
- *		file system link type shortcut.
- *
- *
- * This file is a component of mingw-get.
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2012, MinGW 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 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.
- *
- */
-var cmdName = WScript.ScriptName;
-var WinShell = WScript.CreateObject("WScript.Shell");
-
-/* Properties for the shortcut may be specified as arguments
- * to command line options, each of which is represented in the
- * GNU long option form, by keywords with property associations
- * as specified by:
- */
-var options = Array(
-      "name",		/*  File name/path of .lnk file	*/
-      "all-users",
-      "start-menu",
-      "desktop",
-      "verbose",
-  /* 
-   *  Option		    Property
-   *  -------------	    -------------------------
-   */ 
-      "arguments",	/*  Shortcut.Arguments		*/
-      "description",	/*  Shortcut.Description	*/
-      "hotkey",		/*  Shortcut.HotKey		*/
-      "icon",		/*  Shortcut.IconLocation	*/
-      "show",		/*  Shortcut.WindowStyle	*/
-      "target",		/*  Shortcut.TargetPath		*/
-      "workingdir"	/*  Shortcut.WorkingDirectory	*/
-    );
-
-/* The "complain" function provides a mechanism for writing
- * diagnostic messages to stderr, and optionally aborting the
- * calling script.
- */
-function complain( condition, message )
-{
-  WScript.StdErr.WriteLine( cmdName + ": " + message );
-  if( condition < 0 )
-    WScript.Quit( -condition );
-  return condition;
-}
-
-/* Strip ".js" suffix from command name.
- */
-var i = cmdName.lastIndexOf( ".js" );
-if( (i > 0) &&  (cmdName.substr( i ) == ".js") )
-  cmdName = cmdName.substr( 0, i );
-
-/* Initialise all options to "unassigned" state.
- */
-var target = -1;
-var lnkname = -1;
-var desktop = -1;
-var allusers = -1;
-var startmenu = -1;
-var verbosity = -1;
-var unassigned = "+++unassigned+++";
-var assigned = Array( options.length );
-for( var k = 0; k < assigned.length; k++ )
-{
-  switch( options[k] )
-  {
-    case "name":
-      lnkname = k;
-      break;
-
-    case "desktop":
-      desktop = k;
-      break;
-
-    case "start-menu":
-      startmenu = k;
-      break;
-
-    case "all-users":
-      allusers = k;
-      break;
-
-    case "target":
-      target = k;
-      break;
-
-    case "verbose":
-      verbosity = k;
-  }
-  assigned[k] = unassigned;
-}
-
-/* Define the prefix, which will qualify the location
- * of the shortcut; initialise it to nothing, so that by
- * default shortcuts will be located by absolute path name,
- * as specified, or relative to current working directory.
- */
-var prefix = "";
-
-var j;
-function assign_option( name, value )
-{
-  switch( name )
-  {
-    case "desktop":
-    case "start-menu":
-    case "all-users":
-    case "verbose":
-      j = i;
-      return "set";
-  }
-  return value;
-}
-
-/* Parse the command line.
- */
-var argv = WScript.Arguments;
-for( i = 0; i < argv.length; i++ )
-{
-  if( argv( i ).indexOf( "--" ) == 0 )
-  {
-    /* Handle arguments specifying options...
-     */
-    if( (optind = argv( j = i ).indexOf( "=" ) + 1) > 3 )
-    {
-      optnam = argv( j ).substr( 2, optind - 3 );
-      optarg = argv( j ).substr( optind );
-    }
-    else
-    {
-      optnam = argv( j ).substr( 2 );
-      if( ++j < argv.length )
-	optarg = argv( j );
-      else
-	optarg = unassigned;
-    }
-
-    var matched = 0;
-    for( var k = 0; k < options.length; k++ )
-    {
-      if( optnam == options[k] )
-      {
-	matched = 1;
-	assigned[k] = assign_option( options[k], optarg );
-	k = options.length;
-      }
-      else if( options[k].indexOf(optnam) == 0 )
-      {
-	if( ++matched > 1 )
-	  complain( -2, cmdName + "option '" + argv( i ) + "' is ambiguous" );
-	assigned[k] = assign_option( options[k], optarg );
-      }
-    }
-    if( matched == 1 )
-    {
-      i = j;
-    }
-    else
-      complain( -2, "option '" + argv( i ) + "' is not supported" );
-  }
-
-  /* Handle non-option arguments...
-   */
-  else if( (target >= 0) && (assigned[target] == unassigned) )
-    /*
-     * ...the first of which is the target to which the
-     * (shortcut) link is to refer...
-     */
-    assigned[target] = argv( i );
-
-  else if( (lnkname >= 0) && (assigned[lnkname] == unassigned) )
-    /*
-     * ...the second is the file system path name at which
-     * the link file itself is to be saved...
-     */
-    assigned[lnkname] = argv( i );
-
-  else
-    /* ...and any more than two is an error.
-     */
-    complain( -2, "too many arguments" );
-}
-
-/* Verify that mandatory arguments have been specified...
- */
-if( assigned[target] == unassigned )
-  /*
-   * First of these, the TargetPath specification, is required;
-   * diagnose and abort, if missing.
-   */
-  complain( -2, "missing argument: no target path specified" );
-
-if( assigned[lnkname] == unassigned )
-  /*
-   * Second, the path name for the link file itself is essential;
-   * again, diagnose and abort if missing.
-   */
-  complain( -2, "missing argument: no shortcut name specified" );
-
-/* We have both the mandatory arguments; check that the link name
- * is properly terminated by a ".lnk" or ".url" suffix...
- */
-var suffix = "";
-if( (i = assigned[lnkname].length - 4) > 0 )
-  suffix = assigned[lnkname].substr( i );
-
-/* ...and append ".lnk" as default, if not already present.
- */
-if( (suffix != ".lnk") && (suffix != ".url") )
-  assigned[lnkname] += ".lnk";
-
-/* Add the appropriate prefix for '--desktop' or '--start-menu' shortcuts.
- */
-if( assigned[desktop] != unassigned )
-{
-  if( assigned[startmenu] != unassigned )
-    complain( -2, "options '--desktop' and '--start-menu' are incompatible" );
-  else prefix = WinShell.SpecialFolders( (assigned[allusers] == unassigned)
-      ? "Desktop" : "AllUsersDesktop" ) + "\\";
-}
-else if( assigned[startmenu] != unassigned )
-  prefix = WinShell.SpecialFolders( (assigned[allusers] == unassigned)
-      ? "StartMenu" : "AllUsersStartMenu" ) + "\\";
-
-else if( assigned[allusers] != unassigned )
-  complain( -2,
-      "option '--all-users' also requires '--desktop' or '--start-menu'"
-    );
-
-/* Handle verbosity...
- */
-function verbose_assignment( property, value )
-{
-  if( assigned[verbosity] == "set" )
-    WScript.Echo( cmdName + ": set " + property + " = " + value );
-}
-
-/* Initialise the shortcut entity reference.
- */
-if( assigned[verbosity] == "set" )
-  WScript.Echo( cmdName + ": create shortcut: " + prefix + assigned[lnkname] );
-
-var Shortcut = WinShell.CreateShortcut( prefix + assigned[lnkname] );
-
-for( var k = 0; k < options.length; k++ )
-{
-  if( assigned[k] != unassigned )
-    switch( options[k] )
-    {
-      case "arguments":
-	verbose_assignment( "Shortcut.Arguments", assigned[k] );
-	Shortcut.Arguments = assigned[k];
-	break;
-
-      case "description":
-	verbose_assignment( "Shortcut.Description", assigned[k] );
-	Shortcut.Description = assigned[k];
-	break;
-
-      case "hotkey":
-	verbose_assignment( "Shortcut.HotKey", assigned[k] );
-	Shortcut.HotKey = assigned[k];
-	break;
-
-      case "icon":
-	verbose_assignment( "Shortcut.IconLocation", assigned[k] );
-	Shortcut.IconLocation = assigned[k];
-	break;
-
-      case "show":
-	verbose_assignment( "Shortcut.WindowStyle", assigned[k] );
-        var style = Array(
-	    "normal",     1,
-	    "maximised",  3,
-	    "maximized",  3,
-	    "minimised",  7,
-	    "minimized",  7
-	  );
-	for( j = 0; j < style.length; j++ )
-	  if( style[j++].indexOf( assigned[k] ) == 0 )
-	  {
-	    Shortcut.WindowStyle = style[j];
-	    j = 100;
-	  }
-	if( j < 100 )
-	  complain( 1, "unrecognised mode '--show=" + assigned[k] + "' ignored" );
-	break;
-
-      case "target":
-	verbose_assignment( "Shortcut.TargetPath", assigned[k] );
-	Shortcut.TargetPath = assigned[k];
-	break;
-
-      case "workingdir":
-	verbose_assignment( "Shortcut.WorkingDirectory", assigned[k] );
-	Shortcut.WorkingDirectory = assigned[k];
-    }
-  else if( assigned[verbosity] == "set" )
-    WScript.Echo( cmdName + ": option '--" + options[k] + "' is unassigned" );
-}
-
-/* Commit the shortcut entity to disk.
- */
-Shortcut.Save();
-
-/* $RCSfile: shlink.js,v $: end of file */
Index: Daodan/MinGW/libexec/mingw-get/unlink.js
===================================================================
--- Daodan/MinGW/libexec/mingw-get/unlink.js	(revision 1046)
+++ 	(revision )
@@ -1,245 +1,0 @@
-/*
- * unlink.js
- *
- * $Id: unlink.js,v cd9a9ac85727 2013/09/20 08:43:04 keithmarshall $
- *
- * Invoke the Windows Scripting Host to remove specified files, typically
- * from the user's or all users' start menu or desktop directories.
- *
- * Usage:
- *   cscript -nologo unlink.js [--option ...] file ...
- *
- * Options:
- *   --all-users
- *		references to desktop or start menu files apply
- *		to the directories serving all users
- *
- *   --desktop	remove files from the user's desktop directory, (or
- *		from all users' desktop directory, with --all-users)
- *
- *   --start-menu
- *		remove files from the user's start menu directory, (or
- *		from all users' start menu directory, with --all-users)
- *
- *   --if-linked=target_path
- *		do not remove any matched file which is not a shortcut
- *		(.lnk or .url) referring to the specified target path;
- *		when this option is specified, any specified file name
- *		which does not already have a .lnk or .url extension
- *		will have .lnk appended, before seeking any match
- *
- *   --force	override read-only attributes when removing files.
- *
- * Parameters:
- *   file	the path name for a file to be removed; if --desktop
- *		or --start-menu is specified, it should be a relative
- *		path name, which will then be resolved relative to the
- *		appropriate system directory path.
- *
- *
- * This file is a component of mingw-get.
- *
- * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
- * Copyright (C) 2012, 2013, 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 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.
- *
- */
-var cmdName = WScript.ScriptName;
-var FileSystem = WScript.CreateObject("Scripting.FileSystemObject");
-var WinShell = WScript.CreateObject("WScript.Shell");
-
-/* Strip ".js" suffix from command name.
- */
-var i = cmdName.lastIndexOf( ".js" );
-if( (i > 0) &&  (cmdName.substr( i ) == ".js") )
-  cmdName = cmdName.substr( 0, i );
-
-/* Specify the keywords which identify command line options.
- */
-var options = Array(
-    /*
-     *  Option		    Effect
-     *  -------------	    -------------------------
-     */
-	"all-users",	 /* Resolve file path names in all-users domain... */
-	"start-menu",	 /* ...relative to user's or all-users' start menu... */
-	"desktop",	 /* ...or desktop directories. */
-	"if-linked",     /* Only delete shortcuts with specified target path */
-	"force"  	 /* Forcibly override read-only attribute */
-    );
-
-/* Initialise all options as "unassigned".
- */
-var unassigned = "+++unassigned+++";
-var assigned = Array( options.length );
-for( i = 0; i < assigned.length; i++ )
-  assigned[i] = unassigned;
-
-/* The "complain" function provides a mechanism for writing
- * diagnostic messages to stderr, and optionally aborting the
- * calling script.
- */
-function complain( condition, message )
-{
-  WScript.StdErr.WriteLine( cmdName + ": " + message );
-  if( condition < 0 )
-    WScript.Quit( -condition );
-  return condition;
-}
-
-/* Parse the command line, to identify any specified options.
- */
-var chklink = "";
-var argv = WScript.Arguments;
-for( i = 0; i < argv.length; i++ )
-{
-  if( argv( i ).indexOf( "--" ) == 0 )
-  {
-    /* Handle arguments specifying options...
-     */
-    var optind;
-    var matched = 0;
-    var optname = argv( i ).substr( 2 );
-    var optarg = "";
-    for( var k = 0; k < options.length; k++ )
-    {
-      /* Try to match each defined option in turn...
-       */
-      var argind = optname.indexOf( "=" );
-      if( argind > 0 )
-      {
-	optarg = optname.substr( argind + 1 );
-	optname = optname.substr( 0, argind );
-      }
-
-      if( optname == options[k] )
-      {
-	/* A exact (complete) match trumps any possible abbreviation...
-	 */
-	matched = 1;
-	assigned[optind = k] = optname;
-	k = options.length;
-      }
-
-      else if( options[k].indexOf( optname ) == 0 )
-      {
-	/* Otherwise abbreviations are allowed, but must uniquely
-	 * identify only one defined option name...
-	 */
-	if( matched++ > 0 )
-	  complain( -2, "option '" + argv( i ) + "' is ambiguous" );
-	assigned[optind = k] = options[k];
-      }
-    }
-    if( matched == 0 )
-      /*
-       * Bail out, if no match identified.
-       */
-      complain( -2, "option '" + argv( i ) + "' is undefined" );
-
-    if( assigned[optind] == "if-linked" )
-      chklink = optarg;
-  }
-}
-
-/* Establish prefix for resolving paths relative to desktop
- * or start menu directories, and handle the --force option.
- */
-var prefix = "";
-var allusers = false;
-var force = false;
-for( i = 0; i < options.length; i++ )
-{
-  switch( assigned[i] )
-  {
-    case "force":
-      force = true;
-      break;
-
-    case "all-users":
-      allusers = true;
-      break;
-
-    case "start-menu":
-      prefix = WinShell.SpecialFolders( allusers ? "AllUsersStartMenu"
-	  : "StartMenu"
-	) + "\\";
-      break;
-
-    case "desktop":
-      if( prefix != "" )
-	complain( -2, "options '--start-menu' and '--desktop' are incompatible" );
-      prefix = WinShell.SpecialFolders( allusers ? "AllUsersDesktop"
-	  : "Desktop"
-	) + "\\";
-  }
-}
-
-/* Parse the command line again, to process path name arguments,
- * and delete the specified files.
- */
-for( i = 0; i < argv.length; i++ )
-{
-  if( argv( i ).indexOf( "--" ) != 0 )
-  {
-    /* Not an option argument, so assume it's a path name.
-     */
-    var filename = prefix + argv( i );
-    if( chklink != "" )
-    {
-      /* The "--if-linked" option is in effect, and a viable
-       * target path has been defined.  The file to be deleted
-       * MUST be a shortcut file, (i.e. it MUST bear a ".lnk" or
-       * ".url" extension); supply ".lnk" as default, if this is
-       * not so.
-       */
-      var l = filename.length - 4;
-      var suffix = (l > 0) ? filename.substr( l ) : 0;
-      if( (suffix != ".lnk") && (suffix != ".url") )
-	filename += ".lnk";
-    }
-    if( FileSystem.FileExists( filename ) )
-    {
-      /* The requisite file DOES exist...
-       */
-      if( chklink != "" )
-      {
-	/* ...but when "--if-linked is in effect, we must verify that
-	 * the link target is matched (case-insensitively), before...
-	 */
-	var ref = WinShell.CreateShortcut( filename );
-	var chk = WinShell.CreateShortcut( filename ); chk.TargetPath = chklink;
-	if( ref.TargetPath.toLowerCase() == chk.TargetPath.toLowerCase() )
-	  /*
-	   * ...we may proceed with deletion.
-	   */
-	  FileSystem.DeleteFile( filename, force );
-      }
-      else
-	/* When "--if-linked" is NOT in effect, we may simply
-	 * proceed with deletion, without further ado.
-	 */
-	FileSystem.DeleteFile( filename, force );
-    }
-  }
-}
-
-/* $RCSfile: unlink.js,v $: end of file */
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.x
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.x	(revision 1046)
+++ 	(revision )
@@ -1,306 +1,0 @@
-/* Default linker script, for normal executables */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pei-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  /* Make the virtual address and file offset synced if the alignment is
-     lower than the target page size. */
-  . = SIZEOF_HEADERS;
-  . = ALIGN(__section_alignment__);
-  .text  __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
-  {
-     *(.init)
-    *(.text)
-    *(SORT(.text$*))
-     *(.text.*)
-     *(.gnu.linkonce.t.*)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-     *(.fini)
-    /* ??? Why is .gcc_exc here?  */
-     *(.gcc_exc)
-    PROVIDE (etext = .);
-    PROVIDE (_etext = .);
-     *(.gcc_except_table)
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data BLOCK(__section_alignment__) :
-  {
-    __data_start__ = . ;
-    *(.data)
-    *(.data2)
-    *(SORT(.data$*))
-    *(.jcr)
-    __data_end__ = . ;
-    *(.data_cygwin_nocopy)
-  }
-  .rdata BLOCK(__section_alignment__) :
-  {
-    *(.rdata)
-             *(SORT(.rdata$*))
-    __rt_psrelocs_start = .;
-    *(.rdata_runtime_pseudo_reloc)
-    __rt_psrelocs_end = .;
-  }
-  __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
-  ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  .eh_frame BLOCK(__section_alignment__) :
-  {
-    *(.eh_frame*)
-  }
-  .pdata BLOCK(__section_alignment__) :
-  {
-    *(.pdata)
-  }
-  .bss BLOCK(__section_alignment__) :
-  {
-    __bss_start__ = . ;
-    *(.bss)
-    *(COMMON)
-    __bss_end__ = . ;
-  }
-  .edata BLOCK(__section_alignment__) :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-     *(.note.GNU-stack)
-     *(.gnu.lto_*)
-  }
-  .idata BLOCK(__section_alignment__) :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-    SORT(*)(.idata$2)
-    SORT(*)(.idata$3)
-    /* These zeroes mark the end of the import list.  */
-    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
-    SORT(*)(.idata$4)
-    __IAT_start__ = .;
-    SORT(*)(.idata$5)
-    __IAT_end__ = .;
-    SORT(*)(.idata$6)
-    SORT(*)(.idata$7)
-  }
-  .CRT BLOCK(__section_alignment__) :
-  {
-    ___crt_xc_start__ = . ;
-    *(SORT(.CRT$XC*))  /* C initialization */
-    ___crt_xc_end__ = . ;
-    ___crt_xi_start__ = . ;
-    *(SORT(.CRT$XI*))  /* C++ initialization */
-    ___crt_xi_end__ = . ;
-    ___crt_xl_start__ = . ;
-    *(SORT(.CRT$XL*))  /* TLS callbacks */
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-    ___crt_xp_start__ = . ;
-    *(SORT(.CRT$XP*))  /* Pre-termination */
-    ___crt_xp_end__ = . ;
-    ___crt_xt_start__ = . ;
-    *(SORT(.CRT$XT*))  /* Termination */
-    ___crt_xt_end__ = . ;
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls BLOCK(__section_alignment__) :
-  {
-    ___tls_start__ = . ;
-    *(.tls$AAA)
-    *(.tls)
-    *(.tls$)
-    *(SORT(.tls$*))
-    *(.tls$ZZZ)
-    ___tls_end__ = . ;
-  }
-  .endjunk BLOCK(__section_alignment__) :
-  {
-    /* end is deprecated, don't use it */
-    PROVIDE (end = .);
-    PROVIDE ( _end = .);
-     __end__ = .;
-  }
-  .rsrc BLOCK(__section_alignment__) : SUBALIGN(4)
-  {
-    *(.rsrc)
-    *(.rsrc$*)
-  }
-  .reloc BLOCK(__section_alignment__) :
-  {
-    *(.reloc)
-  }
-  .stab BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stab)
-  }
-  .stabstr BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_info .gnu.linkonce.wi.*)
-  }
-  .zdebug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_info .zdebug.gnu.linkonce.wi.*)
-  }
-  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_types .gnu.linkonce.wt.*)
-  }
-  .zdebug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_types .gnu.linkonce.wt.*)
-  }
-}
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xa
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xa	(revision 1046)
+++ 	(revision )
@@ -1,306 +1,0 @@
-/* Script for ld --enable-auto-import: Like the default script except read only data is placed into .data  */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pei-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  /* Make the virtual address and file offset synced if the alignment is
-     lower than the target page size. */
-  . = SIZEOF_HEADERS;
-  . = ALIGN(__section_alignment__);
-  .text  __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
-  {
-     *(.init)
-    *(.text)
-    *(SORT(.text$*))
-     *(.text.*)
-     *(.gnu.linkonce.t.*)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-     *(.fini)
-    /* ??? Why is .gcc_exc here?  */
-     *(.gcc_exc)
-    PROVIDE (etext = .);
-    PROVIDE (_etext = .);
-     *(.gcc_except_table)
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data BLOCK(__section_alignment__) :
-  {
-    __data_start__ = . ;
-    *(.data)
-    *(.data2)
-    *(SORT(.data$*))
-            *(.rdata)
-	    *(SORT(.rdata$*))
-    *(.jcr)
-    __data_end__ = . ;
-    *(.data_cygwin_nocopy)
-  }
-  .rdata BLOCK(__section_alignment__) :
-  {
-    __rt_psrelocs_start = .;
-    *(.rdata_runtime_pseudo_reloc)
-    __rt_psrelocs_end = .;
-  }
-  __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
-  ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  .eh_frame BLOCK(__section_alignment__) :
-  {
-    *(.eh_frame*)
-  }
-  .pdata BLOCK(__section_alignment__) :
-  {
-    *(.pdata)
-  }
-  .bss BLOCK(__section_alignment__) :
-  {
-    __bss_start__ = . ;
-    *(.bss)
-    *(COMMON)
-    __bss_end__ = . ;
-  }
-  .edata BLOCK(__section_alignment__) :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-     *(.note.GNU-stack)
-     *(.gnu.lto_*)
-  }
-  .idata BLOCK(__section_alignment__) :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-    SORT(*)(.idata$2)
-    SORT(*)(.idata$3)
-    /* These zeroes mark the end of the import list.  */
-    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
-    SORT(*)(.idata$4)
-    __IAT_start__ = .;
-    SORT(*)(.idata$5)
-    __IAT_end__ = .;
-    SORT(*)(.idata$6)
-    SORT(*)(.idata$7)
-  }
-  .CRT BLOCK(__section_alignment__) :
-  {
-    ___crt_xc_start__ = . ;
-    *(SORT(.CRT$XC*))  /* C initialization */
-    ___crt_xc_end__ = . ;
-    ___crt_xi_start__ = . ;
-    *(SORT(.CRT$XI*))  /* C++ initialization */
-    ___crt_xi_end__ = . ;
-    ___crt_xl_start__ = . ;
-    *(SORT(.CRT$XL*))  /* TLS callbacks */
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-    ___crt_xp_start__ = . ;
-    *(SORT(.CRT$XP*))  /* Pre-termination */
-    ___crt_xp_end__ = . ;
-    ___crt_xt_start__ = . ;
-    *(SORT(.CRT$XT*))  /* Termination */
-    ___crt_xt_end__ = . ;
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls BLOCK(__section_alignment__) :
-  {
-    ___tls_start__ = . ;
-    *(.tls$AAA)
-    *(.tls)
-    *(.tls$)
-    *(SORT(.tls$*))
-    *(.tls$ZZZ)
-    ___tls_end__ = . ;
-  }
-  .endjunk BLOCK(__section_alignment__) :
-  {
-    /* end is deprecated, don't use it */
-    PROVIDE (end = .);
-    PROVIDE ( _end = .);
-     __end__ = .;
-  }
-  .rsrc BLOCK(__section_alignment__) : SUBALIGN(4)
-  {
-    *(.rsrc)
-    *(.rsrc$*)
-  }
-  .reloc BLOCK(__section_alignment__) :
-  {
-    *(.reloc)
-  }
-  .stab BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stab)
-  }
-  .stabstr BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_info .gnu.linkonce.wi.*)
-  }
-  .zdebug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_info .zdebug.gnu.linkonce.wi.*)
-  }
-  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_types .gnu.linkonce.wt.*)
-  }
-  .zdebug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_types .gnu.linkonce.wt.*)
-  }
-}
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xbn
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xbn	(revision 1046)
+++ 	(revision )
@@ -1,306 +1,0 @@
-/* Script for -N: mix text and data on same page; don't align data */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pei-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  /* Make the virtual address and file offset synced if the alignment is
-     lower than the target page size. */
-  . = SIZEOF_HEADERS;
-  . = ALIGN(__section_alignment__);
-  .text  __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
-  {
-     *(.init)
-    *(.text)
-    *(SORT(.text$*))
-     *(.text.*)
-     *(.gnu.linkonce.t.*)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-     *(.fini)
-    /* ??? Why is .gcc_exc here?  */
-     *(.gcc_exc)
-    PROVIDE (etext = .);
-    PROVIDE (_etext = .);
-     *(.gcc_except_table)
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data BLOCK(__section_alignment__) :
-  {
-    __data_start__ = . ;
-    *(.data)
-    *(.data2)
-    *(SORT(.data$*))
-    *(.jcr)
-    __data_end__ = . ;
-    *(.data_cygwin_nocopy)
-  }
-  .rdata BLOCK(__section_alignment__) :
-  {
-    *(.rdata)
-             *(SORT(.rdata$*))
-    __rt_psrelocs_start = .;
-    *(.rdata_runtime_pseudo_reloc)
-    __rt_psrelocs_end = .;
-  }
-  __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
-  ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  .eh_frame BLOCK(__section_alignment__) :
-  {
-    *(.eh_frame*)
-  }
-  .pdata BLOCK(__section_alignment__) :
-  {
-    *(.pdata)
-  }
-  .bss BLOCK(__section_alignment__) :
-  {
-    __bss_start__ = . ;
-    *(.bss)
-    *(COMMON)
-    __bss_end__ = . ;
-  }
-  .edata BLOCK(__section_alignment__) :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-     *(.note.GNU-stack)
-     *(.gnu.lto_*)
-  }
-  .idata BLOCK(__section_alignment__) :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-    SORT(*)(.idata$2)
-    SORT(*)(.idata$3)
-    /* These zeroes mark the end of the import list.  */
-    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
-    SORT(*)(.idata$4)
-    __IAT_start__ = .;
-    SORT(*)(.idata$5)
-    __IAT_end__ = .;
-    SORT(*)(.idata$6)
-    SORT(*)(.idata$7)
-  }
-  .CRT BLOCK(__section_alignment__) :
-  {
-    ___crt_xc_start__ = . ;
-    *(SORT(.CRT$XC*))  /* C initialization */
-    ___crt_xc_end__ = . ;
-    ___crt_xi_start__ = . ;
-    *(SORT(.CRT$XI*))  /* C++ initialization */
-    ___crt_xi_end__ = . ;
-    ___crt_xl_start__ = . ;
-    *(SORT(.CRT$XL*))  /* TLS callbacks */
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-    ___crt_xp_start__ = . ;
-    *(SORT(.CRT$XP*))  /* Pre-termination */
-    ___crt_xp_end__ = . ;
-    ___crt_xt_start__ = . ;
-    *(SORT(.CRT$XT*))  /* Termination */
-    ___crt_xt_end__ = . ;
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls BLOCK(__section_alignment__) :
-  {
-    ___tls_start__ = . ;
-    *(.tls$AAA)
-    *(.tls)
-    *(.tls$)
-    *(SORT(.tls$*))
-    *(.tls$ZZZ)
-    ___tls_end__ = . ;
-  }
-  .endjunk BLOCK(__section_alignment__) :
-  {
-    /* end is deprecated, don't use it */
-    PROVIDE (end = .);
-    PROVIDE ( _end = .);
-     __end__ = .;
-  }
-  .rsrc BLOCK(__section_alignment__) : SUBALIGN(4)
-  {
-    *(.rsrc)
-    *(.rsrc$*)
-  }
-  .reloc BLOCK(__section_alignment__) :
-  {
-    *(.reloc)
-  }
-  .stab BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stab)
-  }
-  .stabstr BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_info .gnu.linkonce.wi.*)
-  }
-  .zdebug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_info .zdebug.gnu.linkonce.wi.*)
-  }
-  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_types .gnu.linkonce.wt.*)
-  }
-  .zdebug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_types .gnu.linkonce.wt.*)
-  }
-}
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xn
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xn	(revision 1046)
+++ 	(revision )
@@ -1,306 +1,0 @@
-/* Script for -n: mix text and data on same page */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pei-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  /* Make the virtual address and file offset synced if the alignment is
-     lower than the target page size. */
-  . = SIZEOF_HEADERS;
-  . = ALIGN(__section_alignment__);
-  .text  __image_base__ + ( __section_alignment__ < 0x1000 ? . : __section_alignment__ ) :
-  {
-     *(.init)
-    *(.text)
-    *(SORT(.text$*))
-     *(.text.*)
-     *(.gnu.linkonce.t.*)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-     *(.fini)
-    /* ??? Why is .gcc_exc here?  */
-     *(.gcc_exc)
-    PROVIDE (etext = .);
-    PROVIDE (_etext = .);
-     *(.gcc_except_table)
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data BLOCK(__section_alignment__) :
-  {
-    __data_start__ = . ;
-    *(.data)
-    *(.data2)
-    *(SORT(.data$*))
-    *(.jcr)
-    __data_end__ = . ;
-    *(.data_cygwin_nocopy)
-  }
-  .rdata BLOCK(__section_alignment__) :
-  {
-    *(.rdata)
-             *(SORT(.rdata$*))
-    __rt_psrelocs_start = .;
-    *(.rdata_runtime_pseudo_reloc)
-    __rt_psrelocs_end = .;
-  }
-  __rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
-  ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  __RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
-  ___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  __RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
-  .eh_frame BLOCK(__section_alignment__) :
-  {
-    *(.eh_frame*)
-  }
-  .pdata BLOCK(__section_alignment__) :
-  {
-    *(.pdata)
-  }
-  .bss BLOCK(__section_alignment__) :
-  {
-    __bss_start__ = . ;
-    *(.bss)
-    *(COMMON)
-    __bss_end__ = . ;
-  }
-  .edata BLOCK(__section_alignment__) :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-     *(.note.GNU-stack)
-     *(.gnu.lto_*)
-  }
-  .idata BLOCK(__section_alignment__) :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-    SORT(*)(.idata$2)
-    SORT(*)(.idata$3)
-    /* These zeroes mark the end of the import list.  */
-    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
-    SORT(*)(.idata$4)
-    __IAT_start__ = .;
-    SORT(*)(.idata$5)
-    __IAT_end__ = .;
-    SORT(*)(.idata$6)
-    SORT(*)(.idata$7)
-  }
-  .CRT BLOCK(__section_alignment__) :
-  {
-    ___crt_xc_start__ = . ;
-    *(SORT(.CRT$XC*))  /* C initialization */
-    ___crt_xc_end__ = . ;
-    ___crt_xi_start__ = . ;
-    *(SORT(.CRT$XI*))  /* C++ initialization */
-    ___crt_xi_end__ = . ;
-    ___crt_xl_start__ = . ;
-    *(SORT(.CRT$XL*))  /* TLS callbacks */
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-    ___crt_xp_start__ = . ;
-    *(SORT(.CRT$XP*))  /* Pre-termination */
-    ___crt_xp_end__ = . ;
-    ___crt_xt_start__ = . ;
-    *(SORT(.CRT$XT*))  /* Termination */
-    ___crt_xt_end__ = . ;
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls BLOCK(__section_alignment__) :
-  {
-    ___tls_start__ = . ;
-    *(.tls$AAA)
-    *(.tls)
-    *(.tls$)
-    *(SORT(.tls$*))
-    *(.tls$ZZZ)
-    ___tls_end__ = . ;
-  }
-  .endjunk BLOCK(__section_alignment__) :
-  {
-    /* end is deprecated, don't use it */
-    PROVIDE (end = .);
-    PROVIDE ( _end = .);
-     __end__ = .;
-  }
-  .rsrc BLOCK(__section_alignment__) : SUBALIGN(4)
-  {
-    *(.rsrc)
-    *(.rsrc$*)
-  }
-  .reloc BLOCK(__section_alignment__) :
-  {
-    *(.reloc)
-  }
-  .stab BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stab)
-  }
-  .stabstr BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_info .gnu.linkonce.wi.*)
-  }
-  .zdebug_info BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_info .zdebug.gnu.linkonce.wi.*)
-  }
-  .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.debug_types .gnu.linkonce.wt.*)
-  }
-  .zdebug_types BLOCK(__section_alignment__) (NOLOAD) :
-  {
-    *(.zdebug_types .gnu.linkonce.wt.*)
-  }
-}
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xr
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xr	(revision 1046)
+++ 	(revision )
@@ -1,238 +1,0 @@
-/* Script for ld -r: link without relocation */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pe-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  .text  :
-  {
-    *(.text)
-    *(.glue_7t)
-    *(.glue_7)
-    /* ??? Why is .gcc_exc here?  */
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data  :
-  {
-    *(.data)
-    *(.data2)
-    *(.jcr)
-  }
-  .rdata  :
-  {
-    *(.rdata)
-    *(.rdata_runtime_pseudo_reloc)
-  }
-  .eh_frame  :
-  {
-    *(.eh_frame*)
-  }
-  .pdata  :
-  {
-    *(.pdata)
-  }
-  .bss  :
-  {
-    *(.bss)
-    *(COMMON)
-  }
-  .edata  :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-  }
-  .idata  :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-  }
-  .CRT  :
-  {
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls  :
-  {
-  }
-  .endjunk  :
-  {
-    /* end is deprecated, don't use it */
-  }
-  .rsrc  : SUBALIGN(4)
-  {
-    *(.rsrc)
-  }
-  .reloc  :
-  {
-    *(.reloc)
-  }
-  .stab   :
-  {
-    *(.stab)
-  }
-  .stabstr   :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges   :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges   :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames   :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames   :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes   :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes   :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info   :
-  {
-    *(.debug_info)
-  }
-  .zdebug_info   :
-  {
-    *(.zdebug_info)
-  }
-  .debug_abbrev   :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev   :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line   :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line   :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame   :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame   :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str   :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str   :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc   :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc   :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo   :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo   :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames   :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames   :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames   :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames   :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames   :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames   :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames   :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames   :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro   :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro   :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges   :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges   :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types   :
-  {
-    *(.debug_types)
-  }
-  .zdebug_types   :
-  {
-    *(.zdebug_types)
-  }
-}
Index: Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xu
===================================================================
--- Daodan/MinGW/mingw32/lib/ldscripts/i386pe.xu	(revision 1046)
+++ 	(revision )
@@ -1,242 +1,0 @@
-/* Script for ld -Ur: link w/out relocation, do create constructors */
-/* Copyright (C) 2014 Free Software Foundation, Inc.
-   Copying and distribution of this script, with or without modification,
-   are permitted in any medium without royalty provided the copyright
-   notice and this notice are preserved.  */
-OUTPUT_FORMAT(pe-i386)
-SEARCH_DIR("/mingw/mingw32/lib"); SEARCH_DIR("/mingw/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
-SECTIONS
-{
-  .text  :
-  {
-    *(.text)
-    *(.glue_7t)
-    *(.glue_7)
-     ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
-			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0);
-     ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
-			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0);
-    /* ??? Why is .gcc_exc here?  */
-  }
-  /* The Cygwin32 library uses a section to avoid copying certain data
-     on fork.  This used to be named ".data".  The linker used
-     to include this between __data_start__ and __data_end__, but that
-     breaks building the cygwin32 dll.  Instead, we name the section
-     ".data_cygwin_nocopy" and explicitly include it after __data_end__. */
-  .data  :
-  {
-    *(.data)
-    *(.data2)
-    *(.jcr)
-  }
-  .rdata  :
-  {
-    *(.rdata)
-    *(.rdata_runtime_pseudo_reloc)
-  }
-  .eh_frame  :
-  {
-    *(.eh_frame*)
-  }
-  .pdata  :
-  {
-    *(.pdata)
-  }
-  .bss  :
-  {
-    *(.bss)
-    *(COMMON)
-  }
-  .edata  :
-  {
-    *(.edata)
-  }
-  /DISCARD/ :
-  {
-    *(.debug$S)
-    *(.debug$T)
-    *(.debug$F)
-    *(.drectve)
-  }
-  .idata  :
-  {
-    /* This cannot currently be handled with grouped sections.
-	See pe.em:sort_sections.  */
-  }
-  .CRT  :
-  {
-    /* ___crt_xl_end__ is defined in the TLS Directory support code */
-  }
-  /* Windows TLS expects .tls$AAA to be at the start and .tls$ZZZ to be
-     at the end of section.  This is important because _tls_start MUST
-     be at the beginning of the section to enable SECREL32 relocations with TLS
-     data.  */
-  .tls  :
-  {
-  }
-  .endjunk  :
-  {
-    /* end is deprecated, don't use it */
-  }
-  .rsrc  : SUBALIGN(4)
-  {
-    *(.rsrc)
-  }
-  .reloc  :
-  {
-    *(.reloc)
-  }
-  .stab   :
-  {
-    *(.stab)
-  }
-  .stabstr   :
-  {
-    *(.stabstr)
-  }
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section.  Unlike other targets that fake this by putting the
-     section VMA at 0, the PE format will not allow it.  */
-  /* DWARF 1.1 and DWARF 2.  */
-  .debug_aranges   :
-  {
-    *(.debug_aranges)
-  }
-  .zdebug_aranges   :
-  {
-    *(.zdebug_aranges)
-  }
-  .debug_pubnames   :
-  {
-    *(.debug_pubnames)
-  }
-  .zdebug_pubnames   :
-  {
-    *(.zdebug_pubnames)
-  }
-  .debug_pubtypes   :
-  {
-    *(.debug_pubtypes)
-  }
-  .zdebug_pubtypes   :
-  {
-    *(.zdebug_pubtypes)
-  }
-  /* DWARF 2.  */
-  .debug_info   :
-  {
-    *(.debug_info)
-  }
-  .zdebug_info   :
-  {
-    *(.zdebug_info)
-  }
-  .debug_abbrev   :
-  {
-    *(.debug_abbrev)
-  }
-  .zdebug_abbrev   :
-  {
-    *(.zdebug_abbrev)
-  }
-  .debug_line   :
-  {
-    *(.debug_line)
-  }
-  .zdebug_line   :
-  {
-    *(.zdebug_line)
-  }
-  .debug_frame   :
-  {
-    *(.debug_frame*)
-  }
-  .zdebug_frame   :
-  {
-    *(.zdebug_frame*)
-  }
-  .debug_str   :
-  {
-    *(.debug_str)
-  }
-  .zdebug_str   :
-  {
-    *(.zdebug_str)
-  }
-  .debug_loc   :
-  {
-    *(.debug_loc)
-  }
-  .zdebug_loc   :
-  {
-    *(.zdebug_loc)
-  }
-  .debug_macinfo   :
-  {
-    *(.debug_macinfo)
-  }
-  .zdebug_macinfo   :
-  {
-    *(.zdebug_macinfo)
-  }
-  /* SGI/MIPS DWARF 2 extensions.  */
-  .debug_weaknames   :
-  {
-    *(.debug_weaknames)
-  }
-  .zdebug_weaknames   :
-  {
-    *(.zdebug_weaknames)
-  }
-  .debug_funcnames   :
-  {
-    *(.debug_funcnames)
-  }
-  .zdebug_funcnames   :
-  {
-    *(.zdebug_funcnames)
-  }
-  .debug_typenames   :
-  {
-    *(.debug_typenames)
-  }
-  .zdebug_typenames   :
-  {
-    *(.zdebug_typenames)
-  }
-  .debug_varnames   :
-  {
-    *(.debug_varnames)
-  }
-  .zdebug_varnames   :
-  {
-    *(.zdebug_varnames)
-  }
-  .debug_macro   :
-  {
-    *(.debug_macro)
-  }
-  .zdebug_macro   :
-  {
-    *(.zdebug_macro)
-  }
-  /* DWARF 3.  */
-  .debug_ranges   :
-  {
-    *(.debug_ranges)
-  }
-  .zdebug_ranges   :
-  {
-    *(.zdebug_ranges)
-  }
-  /* DWARF 4.  */
-  .debug_types   :
-  {
-    *(.debug_types)
-  }
-  .zdebug_types   :
-  {
-    *(.zdebug_types)
-  }
-}
Index: Daodan/MinGW/msys/1.0/bin/bashbug
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bashbug	(revision 1046)
+++ 	(revision )
@@ -1,272 +1,0 @@
-#!/bin/sh -
-#
-# bashbug - create a bug report and mail it to the bug address
-#
-# The bug address depends on the release status of the shell.  Versions
-# with status `devel', `alpha', `beta', or `rc' mail bug reports to
-# chet@cwru.edu and, optionally, to bash-testers@cwru.edu.
-# Other versions send mail to bug-bash@gnu.org.
-#
-# Copyright (C) 1996-2004 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
-
-#
-# configuration section:
-#	these variables are filled in by the make target in Makefile
-#
-MACHINE="i686"
-OS="msys"
-CC="gcc"
-CFLAGS=" -DPROGRAM='bash.exe' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='msys' -DCONF_MACHTYPE='i686-pc-msys' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -DRECYCLES_PIDS   -I.  -I/c/projetos/msys-bash/bash3/bash-3.1 -I/c/projetos/msys-bash/bash3/bash-3.1/include -I/c/projetos/msys-bash/bash3/bash-3.1/lib   -O2 -fno-unit-at-a-time -s -march=i386 -mtune=i686"
-RELEASE="3.1"
-PATCHLEVEL="23"
-RELSTATUS="release"
-MACHTYPE="i686-pc-msys"
-
-PATH=/bin:/usr/bin:/usr/local/bin:$PATH
-export PATH
-
-# Check if TMPDIR is set, default to /tmp
-: ${TMPDIR:=/tmp}
-
-#Securely create a temporary directory for the temporary files
-TEMPDIR=$TMPDIR/bbug.$$
-(umask 077 && mkdir $TEMPDIR) || {
-	echo "$0: could not create temporary directory" >&2
-	exit 1
-}
-
-TEMPFILE1=$TEMPDIR/bbug1
-TEMPFILE2=$TEMPDIR/bbug2
-        
-USAGE="Usage: $0 [--help] [--version] [bug-report-email-address]"
-VERSTR="GNU bashbug, version ${RELEASE}.${PATCHLEVEL}-${RELSTATUS}"
-
-do_help= do_version=
-
-while [ $# -gt 0 ]; do
-	case "$1" in
-	--help)		shift ; do_help=y ;;
-	--version)	shift ; do_version=y ;;
-	--)		shift ; break ;;
-	-*)		echo "bashbug: ${1}: invalid option" >&2
-			echo "$USAGE" >& 2
-			exit 2 ;;
-	*)		break ;;
-	esac
-done
-
-if [ -n "$do_version" ]; then
-	echo "${VERSTR}"
-	exit 0
-fi
-
-if [ -n "$do_help" ]; then
-	echo "${VERSTR}"
-	echo "${USAGE}"
-	echo
-	cat << HERE_EOF
-Bashbug is used to send mail to the Bash maintainers
-for when Bash doesn't behave like you'd like, or expect.
-
-Bashbug will start up your editor (as defined by the shell's
-EDITOR environment variable) with a preformatted bug report
-template for you to fill in. The report will be mailed to the
-bash maintainers by default. See the manual for details.
-
-If you invoke bashbug by accident, just quit your editor without
-saving any changes to the template, and no bug report will be sent.
-HERE_EOF
-	exit 0
-fi
-
-# Figure out how to echo a string without a trailing newline
-N=`echo 'hi there\c'`
-case "$N" in
-*c)	n=-n c= ;;
-*)	n= c='\c' ;;
-esac
-
-BASHTESTERS="bash-testers@cwru.edu"
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*)	BUGBASH=chet@cwru.edu ;;
-*)				BUGBASH=bug-bash@gnu.org ;;
-esac
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*)
-		echo "$0: This is a testing release.  Would you like your bug report"
-		echo "$0: to be sent to the bash-testers mailing list?"
-		echo $n "$0: Send to bash-testers? $c"
-		read ans
-		case "$ans" in
-		y*|Y*)	BUGBASH="${BUGBASH},${BASHTESTERS}" ;;
-		esac ;;
-esac
-
-BUGADDR="${1-$BUGBASH}"
-
-if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
-	if [ -x /usr/bin/editor ]; then
-		DEFEDITOR=editor
-	elif [ -x /usr/local/bin/ce ]; then
-		DEFEDITOR=ce
-	elif [ -x /usr/local/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/contrib/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/bin/emacs ]; then
-		DEFEDITOR=emacs
-	elif [ -x /usr/bin/xemacs ]; then
-		DEFEDITOR=xemacs
-	elif [ -x /usr/contrib/bin/jove ]; then
-		DEFEDITOR=jove
-	elif [ -x /usr/local/bin/jove ]; then
-		DEFEDITOR=jove
-	elif [ -x /usr/bin/vi ]; then
-		DEFEDITOR=vi
-	else
-		echo "$0: No default editor found: attempting to use vi" >&2
-		DEFEDITOR=vi
-	fi
-fi
-
-
-: ${EDITOR=$DEFEDITOR}
-
-: ${USER=${LOGNAME-`whoami`}}
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15
-trap 'rm -rf "$TEMPDIR"' 0
-
-UN=
-if (uname) >/dev/null 2>&1; then
-	UN=`uname -a`
-fi
-
-if [ -f /usr/lib/sendmail ] ; then
-	RMAIL="/usr/lib/sendmail"
-	SMARGS="-i -t"
-elif [ -f /usr/sbin/sendmail ] ; then
-	RMAIL="/usr/sbin/sendmail"
-	SMARGS="-i -t"
-else
-	RMAIL=rmail
-	SMARGS="$BUGADDR"
-fi
-
-INITIAL_SUBJECT='[50 character or so descriptive subject here (for reference)]'
-
-cat > "$TEMPFILE1" <<EOF
-From: ${USER}
-To: ${BUGADDR}
-Subject: ${INITIAL_SUBJECT}
-
-Configuration Information [Automatically generated, do not change]:
-Machine: $MACHINE
-OS: $OS
-Compiler: $CC
-Compilation CFLAGS: $CFLAGS
-uname output: $UN
-Machine Type: $MACHTYPE
-
-Bash Version: $RELEASE
-Patch Level: $PATCHLEVEL
-Release Status: $RELSTATUS
-
-Description:
-	[Detailed description of the problem, suggestion, or complaint.]
-
-Repeat-By:
-	[Describe the sequence of events that causes the problem
-	to occur.]
-
-Fix:
-	[Description of how to fix the problem.  If you don't know a
-	fix for the problem, don't include this section.]
-EOF
-
-cp "$TEMPFILE1" "$TEMPFILE2"
-chmod u+w "$TEMPFILE1"
-
-trap '' 2		# ignore interrupts while in editor
-
-edstat=1
-while [ $edstat -ne 0 ]; do
-	$EDITOR "$TEMPFILE1"
-	edstat=$?
-
-	if [ $edstat -ne 0 ]; then
-		echo "$0: editor \`$EDITOR' exited with nonzero status."
-		echo "$0: Perhaps it was interrupted."
-		echo "$0: Type \`y' to give up, and lose your bug report;"
-		echo "$0: type \`n' to re-enter the editor."
-		echo $n "$0: Do you want to give up? $c"
-
-		read ans
-		case "$ans" in
-		[Yy]*) exit 1 ;;
-		esac
-
-		continue
-	fi
-
-	# find the subject from the temp file and see if it's been changed
-	CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ 	]*||' | sed 1q`
-
-	case "$CURR_SUB" in
-	"${INITIAL_SUBJECT}")
-		echo
-		echo "$0: You have not changed the subject from the default."
-		echo "$0: Please use a more descriptive subject header."
-		echo "$0: Type \`y' to give up, and lose your bug report;"
-		echo "$0: type \`n' to re-enter the editor."
-		echo $n "$0: Do you want to give up? $c"
-
-		read ans
-		case "$ans" in
-		[Yy]*) exit 1 ;;
-		esac
-
-		echo "$0:  The editor will be restarted in five seconds."
-		sleep 5
-		edstat=1
-		;;
-	esac
-
-done
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 2	# restore trap on SIGINT
-
-if cmp -s "$TEMPFILE1" "$TEMPFILE2"
-then
-	echo "File not changed, no bug report submitted."
-	exit
-fi
-
-echo $n "Send bug report? [y/n] $c"
-read ans
-case "$ans" in
-[Nn]*)	exit 0 ;;
-esac
-
-${RMAIL} $SMARGS < "$TEMPFILE1" || {
-	cat "$TEMPFILE1" >> $HOME/dead.bashbug
-	echo "$0: mail failed: report saved in $HOME/dead.bashbug" >&2
-}
-
-exit 0
Index: Daodan/MinGW/msys/1.0/bin/bzcmp
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzcmp	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-#!/bin/sh
-# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
-# Bzcmp/diff wrapped for bzip2, 
-# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-# Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro-
-# gram  on compressed files.  All options specified are passed
-# directly to cmp or diff.  If only 1 file is specified,  then
-# the  files  compared  are file1 and an uncompressed file1.gz.
-# If two files are specified, then they are  uncompressed  (if
-# necessary) and fed to cmp or diff.  The exit status from cmp
-# or diff is preserved.
-
-PATH="/usr/bin:/bin:$PATH"; export PATH
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
-  *cmp) comp=${CMP-cmp}   ;;
-  *)    comp=${DIFF-diff} ;;
-esac
-
-OPTIONS=
-FILES=
-for ARG
-do
-    case "$ARG" in
-    -*)	OPTIONS="$OPTIONS $ARG";;
-     *)	if test -f "$ARG"; then
-            FILES="$FILES $ARG"
-        else
-            echo "${prog}: $ARG not found or not a regular file"
-	    exit 1
-        fi ;;
-    esac
-done
-if test -z "$FILES"; then
-	echo "Usage: $prog [${comp}_options] file [file]"
-	exit 1
-fi
-tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
-      echo 'cannot create a temporary file' >&2
-      exit 1
-}
-set $FILES
-if test $# -eq 1; then
-	FILE=`echo "$1" | sed 's/.bz2$//'`
-	bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
-	STAT="$?"
-
-elif test $# -eq 2; then
-	case "$1" in
-        *.bz2)
-                case "$2" in
-	        *.bz2)
-			F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
-                        bzip2 -cdfq "$2" > $tmp
-                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
-                        STAT="$?"
-			/bin/rm -f $tmp;;
-
-                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
-                        STAT="$?";;
-                esac;;
-        *)      case "$2" in
-	        *.bz2)
-                        bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
-                        STAT="$?";;
-                *)      $comp $OPTIONS "$1" "$2"
-                        STAT="$?";;
-                esac;;
-	esac
-        exit "$STAT"
-else
-	echo "Usage: $prog [${comp}_options] file [file]"
-	exit 1
-fi
Index: Daodan/MinGW/msys/1.0/bin/bzdiff
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzdiff	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-#!/bin/sh
-# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
-# Bzcmp/diff wrapped for bzip2, 
-# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-# Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro-
-# gram  on compressed files.  All options specified are passed
-# directly to cmp or diff.  If only 1 file is specified,  then
-# the  files  compared  are file1 and an uncompressed file1.gz.
-# If two files are specified, then they are  uncompressed  (if
-# necessary) and fed to cmp or diff.  The exit status from cmp
-# or diff is preserved.
-
-PATH="/usr/bin:/bin:$PATH"; export PATH
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
-  *cmp) comp=${CMP-cmp}   ;;
-  *)    comp=${DIFF-diff} ;;
-esac
-
-OPTIONS=
-FILES=
-for ARG
-do
-    case "$ARG" in
-    -*)	OPTIONS="$OPTIONS $ARG";;
-     *)	if test -f "$ARG"; then
-            FILES="$FILES $ARG"
-        else
-            echo "${prog}: $ARG not found or not a regular file"
-	    exit 1
-        fi ;;
-    esac
-done
-if test -z "$FILES"; then
-	echo "Usage: $prog [${comp}_options] file [file]"
-	exit 1
-fi
-tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
-      echo 'cannot create a temporary file' >&2
-      exit 1
-}
-set $FILES
-if test $# -eq 1; then
-	FILE=`echo "$1" | sed 's/.bz2$//'`
-	bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
-	STAT="$?"
-
-elif test $# -eq 2; then
-	case "$1" in
-        *.bz2)
-                case "$2" in
-	        *.bz2)
-			F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
-                        bzip2 -cdfq "$2" > $tmp
-                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
-                        STAT="$?"
-			/bin/rm -f $tmp;;
-
-                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
-                        STAT="$?";;
-                esac;;
-        *)      case "$2" in
-	        *.bz2)
-                        bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
-                        STAT="$?";;
-                *)      $comp $OPTIONS "$1" "$2"
-                        STAT="$?";;
-                esac;;
-	esac
-        exit "$STAT"
-else
-	echo "Usage: $prog [${comp}_options] file [file]"
-	exit 1
-fi
Index: Daodan/MinGW/msys/1.0/bin/bzegrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzegrep	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-#!/bin/sh
-
-# bzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from zgrep of the Debian gzip package by Anibal Monsalve Salazar. 
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo "$0" | sed 's|.*/||'`
-case "$prog" in
-	*egrep)	grep=${EGREP-egrep}	;;
-	*fgrep)	grep=${FGREP-fgrep}	;;
-	*)	grep=${GREP-grep}	;;
-esac
-
-pat=""
-after_dash_dash=""
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  case "$after_dash_dash$1" in
-  --d* | --rec*)	echo >&2 "$0: $1: option not supported"; exit 2;;
-  --files-with-*)	files_with_matches=1;;
-  --files-witho*)	files_without_matches=1;;
-  --no-f*)	no_filename=1;;
-  --wi*)	with_filename=1;;
-  --*)	;;
-  -*)
-	case "$1" in
-	-*[dr]*) echo >&2 "$0: $1: option not supported"; exit 2;;
-	esac
-	case "$1" in
-	-*H*)	with_filename=1;;
-	esac
-	case "$1" in
-	-*h*)	no_filename=1;;
-	esac
-	case "$1" in
-	-*L*)	files_without_matches=1;;
-	esac
-	case "$1" in
-	-*l*)	files_with_matches=1;;
-	esac;;
-  esac
-  case "$after_dash_dash$1" in
-  -[ef])   opt="$opt $1"; shift; pat="$1"
-           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
-             grep=egrep
-           fi;;
-  -[ABCdm])opt="$opt $1 $2"; shift;;
-  --)      opt="$opt $1"; after_dash_dash=1;;
-  -*)	   opt="$opt $1";;
-   *)      if test -z "$pat"; then
-	     pat="$1"
-	   else
-	     break;
-           fi;;
-  esac
-  shift
-done
-
-if test -z "$pat"; then
-  echo "grep through bzip2 files"
-  echo "usage: $prog [grep_options] pattern [files]"
-  exit 2
-fi
-
-if test $# -eq 0; then
-  bzip2 -cdfq | $grep $opt "$pat"
-  exit $?
-fi
-
-res=0
-for i do
-  bzip2 -cdfq -- "$i" |
-    if test $files_with_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null && printf "%s\n" "$i"
-    elif test $files_without_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null || printf "%s\n" "$i"
-    elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then
-      $grep $opt "$pat"
-    else
-      i=$(echo "$i" | sed -e 's/[\\|&]/\\&/g')
-      if test $with_filename -eq 1; then
-	sed_script="s|^[^:]*:|${i}:|"
-      else
-	sed_script="s|^|${i}:|"
-      fi
-      # Hack adapted from GPLed code at
-      # http://home.comcast.net/~j.p.h/cus-faq-2
-      # Has the same effect as the following two lines of bash:
-      #
-      # $grep $opt "$pat" | sed "$sed_script"
-      # exit ${PIPESTATUS[0]}
-      #
-      # Inside the `...`, fd4 goes to the pipe whose other end is read
-      # and passed to eval; fd1 is the normal standard output
-      # preserved the line before with exec 3>&1
-      exec 3>&1
-      eval `
-      exec 4>&1 >&3 3>&-
-      {
-       $grep $opt "$pat" 4>&-; echo "r=$?;" >&4
-      } | sed "$sed_script"
-      `
-      exit $r
-    fi
-  r=$?
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/bzfgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzfgrep	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-#!/bin/sh
-
-# bzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from zgrep of the Debian gzip package by Anibal Monsalve Salazar. 
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo "$0" | sed 's|.*/||'`
-case "$prog" in
-	*egrep)	grep=${EGREP-egrep}	;;
-	*fgrep)	grep=${FGREP-fgrep}	;;
-	*)	grep=${GREP-grep}	;;
-esac
-
-pat=""
-after_dash_dash=""
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  case "$after_dash_dash$1" in
-  --d* | --rec*)	echo >&2 "$0: $1: option not supported"; exit 2;;
-  --files-with-*)	files_with_matches=1;;
-  --files-witho*)	files_without_matches=1;;
-  --no-f*)	no_filename=1;;
-  --wi*)	with_filename=1;;
-  --*)	;;
-  -*)
-	case "$1" in
-	-*[dr]*) echo >&2 "$0: $1: option not supported"; exit 2;;
-	esac
-	case "$1" in
-	-*H*)	with_filename=1;;
-	esac
-	case "$1" in
-	-*h*)	no_filename=1;;
-	esac
-	case "$1" in
-	-*L*)	files_without_matches=1;;
-	esac
-	case "$1" in
-	-*l*)	files_with_matches=1;;
-	esac;;
-  esac
-  case "$after_dash_dash$1" in
-  -[ef])   opt="$opt $1"; shift; pat="$1"
-           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
-             grep=egrep
-           fi;;
-  -[ABCdm])opt="$opt $1 $2"; shift;;
-  --)      opt="$opt $1"; after_dash_dash=1;;
-  -*)	   opt="$opt $1";;
-   *)      if test -z "$pat"; then
-	     pat="$1"
-	   else
-	     break;
-           fi;;
-  esac
-  shift
-done
-
-if test -z "$pat"; then
-  echo "grep through bzip2 files"
-  echo "usage: $prog [grep_options] pattern [files]"
-  exit 2
-fi
-
-if test $# -eq 0; then
-  bzip2 -cdfq | $grep $opt "$pat"
-  exit $?
-fi
-
-res=0
-for i do
-  bzip2 -cdfq -- "$i" |
-    if test $files_with_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null && printf "%s\n" "$i"
-    elif test $files_without_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null || printf "%s\n" "$i"
-    elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then
-      $grep $opt "$pat"
-    else
-      i=$(echo "$i" | sed -e 's/[\\|&]/\\&/g')
-      if test $with_filename -eq 1; then
-	sed_script="s|^[^:]*:|${i}:|"
-      else
-	sed_script="s|^|${i}:|"
-      fi
-      # Hack adapted from GPLed code at
-      # http://home.comcast.net/~j.p.h/cus-faq-2
-      # Has the same effect as the following two lines of bash:
-      #
-      # $grep $opt "$pat" | sed "$sed_script"
-      # exit ${PIPESTATUS[0]}
-      #
-      # Inside the `...`, fd4 goes to the pipe whose other end is read
-      # and passed to eval; fd1 is the normal standard output
-      # preserved the line before with exec 3>&1
-      exec 3>&1
-      eval `
-      exec 4>&1 >&3 3>&-
-      {
-       $grep $opt "$pat" 4>&-; echo "r=$?;" >&4
-      } | sed "$sed_script"
-      `
-      exit $r
-    fi
-  r=$?
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/bzgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzgrep	(revision 1046)
+++ 	(revision )
@@ -1,132 +1,0 @@
-#!/bin/sh
-
-# bzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from zgrep of the Debian gzip package by Anibal Monsalve Salazar. 
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo "$0" | sed 's|.*/||'`
-case "$prog" in
-	*egrep)	grep=${EGREP-egrep}	;;
-	*fgrep)	grep=${FGREP-fgrep}	;;
-	*)	grep=${GREP-grep}	;;
-esac
-
-pat=""
-after_dash_dash=""
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  case "$after_dash_dash$1" in
-  --d* | --rec*)	echo >&2 "$0: $1: option not supported"; exit 2;;
-  --files-with-*)	files_with_matches=1;;
-  --files-witho*)	files_without_matches=1;;
-  --no-f*)	no_filename=1;;
-  --wi*)	with_filename=1;;
-  --*)	;;
-  -*)
-	case "$1" in
-	-*[dr]*) echo >&2 "$0: $1: option not supported"; exit 2;;
-	esac
-	case "$1" in
-	-*H*)	with_filename=1;;
-	esac
-	case "$1" in
-	-*h*)	no_filename=1;;
-	esac
-	case "$1" in
-	-*L*)	files_without_matches=1;;
-	esac
-	case "$1" in
-	-*l*)	files_with_matches=1;;
-	esac;;
-  esac
-  case "$after_dash_dash$1" in
-  -[ef])   opt="$opt $1"; shift; pat="$1"
-           if test "$grep" = grep; then  # grep is buggy with -e on SVR4
-             grep=egrep
-           fi;;
-  -[ABCdm])opt="$opt $1 $2"; shift;;
-  --)      opt="$opt $1"; after_dash_dash=1;;
-  -*)	   opt="$opt $1";;
-   *)      if test -z "$pat"; then
-	     pat="$1"
-	   else
-	     break;
-           fi;;
-  esac
-  shift
-done
-
-if test -z "$pat"; then
-  echo "grep through bzip2 files"
-  echo "usage: $prog [grep_options] pattern [files]"
-  exit 2
-fi
-
-if test $# -eq 0; then
-  bzip2 -cdfq | $grep $opt "$pat"
-  exit $?
-fi
-
-res=0
-for i do
-  bzip2 -cdfq -- "$i" |
-    if test $files_with_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null && printf "%s\n" "$i"
-    elif test $files_without_matches -eq 1; then
-      $grep $opt "$pat" > /dev/null || printf "%s\n" "$i"
-    elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then
-      $grep $opt "$pat"
-    else
-      i=$(echo "$i" | sed -e 's/[\\|&]/\\&/g')
-      if test $with_filename -eq 1; then
-	sed_script="s|^[^:]*:|${i}:|"
-      else
-	sed_script="s|^|${i}:|"
-      fi
-      # Hack adapted from GPLed code at
-      # http://home.comcast.net/~j.p.h/cus-faq-2
-      # Has the same effect as the following two lines of bash:
-      #
-      # $grep $opt "$pat" | sed "$sed_script"
-      # exit ${PIPESTATUS[0]}
-      #
-      # Inside the `...`, fd4 goes to the pipe whose other end is read
-      # and passed to eval; fd1 is the normal standard output
-      # preserved the line before with exec 3>&1
-      exec 3>&1
-      eval `
-      exec 4>&1 >&3 3>&-
-      {
-       $grep $opt "$pat" 4>&-; echo "r=$?;" >&4
-      } | sed "$sed_script"
-      `
-      exit $r
-    fi
-  r=$?
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/bzless
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzless	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#!/bin/sh
-
-# Bzmore wrapped for bzip2, 
-# adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
-	*less)	more=less	;;
-	*)	more=more       ;;
-esac
-
-if test "`echo -n a`" = "-n a"; then
-  # looks like a SysV system:
-  n1=''; n2='\c'
-else
-  n1='-n'; n2=''
-fi
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
-  cb='cbreak'; ncb='-cbreak'
-else
-  # 'stty min 1' resets eof to ^a on both SunOS and SysV!
-  cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 && test -n "$oldtty"; then
-   trap 'stty $oldtty 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
-else
-   trap 'stty $ncb echo 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
-fi
-
-if test $# = 0; then
-    if test -t 0; then
-	echo usage: $prog files...
-    else
-	bzip2 -cdfq | eval $more
-    fi
-else
-    FIRST=1
-    for FILE
-    do
-	if test $FIRST -eq 0; then
-		echo $n1 "--More--(Next file: $FILE)$n2"
-		stty $cb -echo 2>/dev/null
-		ANS=`dd bs=1 count=1 2>/dev/null` 
-		stty $ncb echo 2>/dev/null
-		echo " "
-		if test "$ANS" = 'e' || test "$ANS" = 'q'; then
-			exit
-		fi
-	fi
-	if test "$ANS" != 's'; then
-		echo "------> $FILE <------"
-		bzip2 -cdfq "$FILE" | eval $more
-	fi
-	if test -t; then
-		FIRST=0
-	fi
-    done
-fi
Index: Daodan/MinGW/msys/1.0/bin/bzmore
===================================================================
--- Daodan/MinGW/msys/1.0/bin/bzmore	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-#!/bin/sh
-
-# Bzmore wrapped for bzip2, 
-# adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
-	*less)	more=less	;;
-	*)	more=more       ;;
-esac
-
-if test "`echo -n a`" = "-n a"; then
-  # looks like a SysV system:
-  n1=''; n2='\c'
-else
-  n1='-n'; n2=''
-fi
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
-  cb='cbreak'; ncb='-cbreak'
-else
-  # 'stty min 1' resets eof to ^a on both SunOS and SysV!
-  cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 && test -n "$oldtty"; then
-   trap 'stty $oldtty 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
-else
-   trap 'stty $ncb echo 2>/dev/null; exit' 0 INT QUIT TRAP USR1 PIPE TERM
-fi
-
-if test $# = 0; then
-    if test -t 0; then
-	echo usage: $prog files...
-    else
-	bzip2 -cdfq | eval $more
-    fi
-else
-    FIRST=1
-    for FILE
-    do
-	if test $FIRST -eq 0; then
-		echo $n1 "--More--(Next file: $FILE)$n2"
-		stty $cb -echo 2>/dev/null
-		ANS=`dd bs=1 count=1 2>/dev/null` 
-		stty $ncb echo 2>/dev/null
-		echo " "
-		if test "$ANS" = 'e' || test "$ANS" = 'q'; then
-			exit
-		fi
-	fi
-	if test "$ANS" != 's'; then
-		echo "------> $FILE <------"
-		bzip2 -cdfq "$FILE" | eval $more
-	fi
-	if test -t; then
-		FIRST=0
-	fi
-    done
-fi
Index: Daodan/MinGW/msys/1.0/bin/cls
===================================================================
--- Daodan/MinGW/msys/1.0/bin/cls	(revision 1046)
+++ 	(revision )
@@ -1,9 +1,0 @@
-#! /bin/sh
-# Copyright (C) 2003, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is a part of Minimal SYStem (MSYS)
-#   http://www.mingw.org/msys.shtml
-# File: cls
-
-#Clear the screen
-echo -ne "\033[2J"
Index: Daodan/MinGW/msys/1.0/bin/clsb
===================================================================
--- Daodan/MinGW/msys/1.0/bin/clsb	(revision 1046)
+++ 	(revision )
@@ -1,9 +1,0 @@
-#! /bin/sh
-# Copyright (C) 2003, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is a part of Minimal SYStem (MSYS)
-#   http://www.mingw.org/msys.shtml
-# File: clsb
-
-# Clear the screen and buffer
-echo -ne "\033c"
Index: Daodan/MinGW/msys/1.0/bin/cmd
===================================================================
--- Daodan/MinGW/msys/1.0/bin/cmd	(revision 1046)
+++ 	(revision )
@@ -1,8 +1,0 @@
-#!/bin/sh
-# Copyright (C) 2002, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is part of Minimal SYStem.
-#   http://www.mingw.org/msys.shtml
-# File: cmd
-
-"$COMSPEC" "$@"
Index: Daodan/MinGW/msys/1.0/bin/ftp
===================================================================
--- Daodan/MinGW/msys/1.0/bin/ftp	(revision 1046)
+++ 	(revision )
@@ -1,8 +1,0 @@
-#!/bin/sh
-# Copyright (C) 2002, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is part of Minimal SYStem.
-#   http://www.mingw.org/msys.shtml
-# File: ftp
-
-cmd //c start ftp "$@"
Index: Daodan/MinGW/msys/1.0/bin/gunzip
===================================================================
--- Daodan/MinGW/msys/1.0/bin/gunzip	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec gzip -d "$@"
Index: Daodan/MinGW/msys/1.0/bin/gzexe
===================================================================
--- Daodan/MinGW/msys/1.0/bin/gzexe	(revision 1046)
+++ 	(revision )
@@ -1,229 +1,0 @@
-#!/bin/sh
-# gzexe: compressor for Unix executables.
-# Use this only for binaries that you do not use frequently.
-#
-# The compressed version is a shell script which decompresses itself after
-# skipping $skip lines of shell commands.  We try invoking the compressed
-# executable with the original name (for programs looking at their name).
-# We also try to retain the original file permissions on the compressed file.
-# For safety reasons, gzexe will not create setuid or setgid shell scripts.
-
-# WARNING: the first line of this file must be either : or #!/bin/sh
-# The : is required for some old versions of csh.
-# On Ultrix, /bin/sh is too buggy, change the first line to: #!/bin/sh5
-
-
-# Copyright (C) 1998, 2002, 2004, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-tab='	'
-nl='
-'
-IFS=" $tab$nl"
-
-version='gzexe (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly.'
-
-usage="Usage: $0 [OPTION] FILE...
-Rename each FILE with a compressed version of itself, renaming FILE to FILE~.
-
-  -d             Decompress each FILE instead of compressing it.
-      --help     display this help and exit
-      --version  output version information and exit
-
-Report bugs to <bug-gzip@gnu.org>."
-
-
-PATH="${GZIP_BINDIR-'/usr/bin'}:$PATH"
-
-decomp=0
-res=0
-while :; do
-  case $1 in
-  -d) decomp=1; shift;;
-  --h*) exec echo "$usage";;
-  --v*) exec echo "$version";;
-  --) shift; break;;
-  *) break;;
-  esac
-done
-
-if test $# -eq 0; then
-  echo >&2 "$0: missing operand
-Try \`$0 --help' for more information."
-  exit 1
-fi
-
-tmp=
-trap 'res=$?
-  test -n "$tmp" && rm -f "$tmp"
-  (exit $res); exit $res
-' 0 1 2 3 5 10 13 15
-
-mktemp_status=
-
-for i do
-  case $i in
-  -*) file=./$i;;
-  *)  file=$i;;
-  esac
-  if test ! -f "$file" || test ! -r "$file"; then
-    res=$?
-    echo >&2 "$0: $i is not a readable regular file"
-    continue
-  fi
-  if test $decomp -eq 0; then
-    if sed -e 1d -e 2q "$file" | grep "^skip=[0-9][0-9]*$" >/dev/null; then
-      echo >&2 "$0: $i is already gzexe'd"
-      continue
-    fi
-  fi
-  if test -u "$file"; then
-    echo >&2 "$0: $i has setuid permission, unchanged"
-    continue
-  fi
-  if test -g "$file"; then
-    echo >&2 "$0: $i has setgid permission, unchanged"
-    continue
-  fi
-  case /$file in
-  */basename | */bash | */cat | */chmod | */cp | \
-  */dirname | */echo | */expr | */gzip | \
-  */ln | */mkdir | */mktemp | */mv | */rm | \
-  */sed | */sh | */sleep | */test | */tail)
-    echo >&2 "$0: $i might depend on itself"; continue;;
-  esac
-
-  dir=`dirname "$file"` || dir=$TMPDIR
-  test -d "$dir" && test -w "$dir" && test -x "$dir" || dir=/tmp
-  test -n "$tmp" && rm -f "$tmp"
-  if test -z "$mktemp_status"; then
-    type mktemp >/dev/null 2>&1
-    mktemp_status=$?
-  fi
-  if test $mktemp_status -eq 0; then
-    tmp=`TMPDIR=$dir mktemp -t gzexeXXXXXX`
-  else
-    tmp=$dir/gzexe$$
-  fi && { cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp"; } || {
-    res=$?
-    echo >&2 "$0: cannot copy $file"
-    continue
-  }
-  if test -w "$tmp"; then
-    writable=1
-  else
-    writable=0
-    chmod u+w "$tmp" || {
-      res=$?
-      echo >&2 "$0: cannot chmod $tmp"
-      continue
-    }
-  fi
-  if test $decomp -eq 0; then
-    (cat <<'EOF' &&
-#!/bin/sh
-skip=44
-
-tab='	'
-nl='
-'
-IFS=" $tab$nl"
-
-umask=`umask`
-umask 77
-
-gztmpdir=
-trap 'res=$?
-  test -n "$gztmpdir" && rm -fr "$gztmpdir"
-  (exit $res); exit $res
-' 0 1 2 3 5 10 13 15
-
-if type mktemp >/dev/null 2>&1; then
-  gztmpdir=`mktemp -dt`
-else
-  gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir
-fi || { (exit 127); exit 127; }
-
-gztmp=$gztmpdir/$0
-case $0 in
--* | */*'
-') mkdir -p "$gztmp" && rm -r "$gztmp";;
-*/*) gztmp=$gztmpdir/`basename "$0"`;;
-esac || { (exit 127); exit 127; }
-
-case `echo X | tail -n +1 2>/dev/null` in
-X) tail_n=-n;;
-*) tail_n=;;
-esac
-if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then
-  umask $umask
-  chmod 700 "$gztmp"
-  (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &
-  "$gztmp" ${1+"$@"}; res=$?
-else
-  echo >&2 "Cannot decompress $0"
-  (exit 127); res=127
-fi; exit $res
-EOF
-    gzip -cv9 "$file") > "$tmp" || {
-      res=$?
-      echo >&2 "$0: compression not possible for $i, file unchanged."
-      continue
-    }
-
-  else
-    # decompression
-    skip=44
-    skip_line=`sed -e 1d -e 2q "$file"`
-    case $skip_line in
-    skip=[0-9] | skip=[0-9][0-9] | skip=[0-9][0-9][0-9])
-      eval "$skip_line";;
-    esac
-    case `echo X | tail -n +1 2>/dev/null` in
-    X) tail_n=-n;;
-    *) tail_n=;;
-    esac
-    tail $tail_n +$skip "$file" | gzip -cd > "$tmp" || {
-      res=$?
-      echo >&2 "$0: $i probably not in gzexe format, file unchanged."
-      continue
-    }
-  fi
-  test $writable -eq 1 || chmod u-w "$tmp" || {
-    res=$?
-    echo >&2 "$0: $tmp: cannot chmod"
-    continue
-  }
-  ln -f "$file" "$file~" || {
-    res=$?
-    echo >&2 "$0: cannot backup $i as $i~"
-    continue
-  }
-  mv -f "$tmp" "$file" || {
-    res=$?
-    echo >&2 "$0: cannot rename $tmp to $i"
-    continue
-  }
-  tmp=
-done
-(exit $res); exit $res
Index: Daodan/MinGW/msys/1.0/bin/igawk
===================================================================
--- Daodan/MinGW/msys/1.0/bin/igawk	(revision 1046)
+++ 	(revision )
@@ -1,133 +1,0 @@
-#! /bin/sh
-# igawk --- like gawk but do @include processing
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# July 1993
-
-if [ "$1" = debug ]
-then
-    set -x
-    shift
-fi
-
-# A literal newline, so that program text is formatted correctly
-n='
-'
-
-# Initialize variables to empty
-program=
-opts=
-
-while [ $# -ne 0 ] # loop over arguments
-do
-    case $1 in
-    --)     shift; break;;
-
-    -W)     shift
-            # The ${x?'message here'} construct prints a
-            # diagnostic if $x is the null string
-            set -- -W"${@?'missing operand'}"
-            continue;;
-
-    -[vF])  opts="$opts $1 '${2?'missing operand'}'"
-            shift;;
-
-    -[vF]*) opts="$opts '$1'" ;;
-
-    -f)     program="$program$n@include ${2?'missing operand'}"
-            shift;;
-
-    -f*)    f=`expr "$1" : '-f\(.*\)'`
-            program="$program$n@include $f";;
-
-    -[W-]file=*)
-            f=`expr "$1" : '-.file=\(.*\)'`
-            program="$program$n@include $f";;
-
-    -[W-]file)
-            program="$program$n@include ${2?'missing operand'}"
-            shift;;
-
-    -[W-]source=*)
-            t=`expr "$1" : '-.source=\(.*\)'`
-            program="$program$n$t";;
-
-    -[W-]source)
-            program="$program$n${2?'missing operand'}"
-            shift;;
-
-    -[W-]version)
-            echo igawk: version 2.0 1>&2
-            gawk --version
-            exit 0 ;;
-
-    -[W-]*) opts="$opts '$1'" ;;
-
-    *)      break;;
-    esac
-    shift
-done
-
-if [ -z "$program" ]
-then
-     program=${1?'missing program'}
-     shift
-fi
-
-# At this point, `program' has the program.
-expand_prog='
-
-function pathto(file,    i, t, junk)
-{
-    if (index(file, "/") != 0)
-        return file
-
-    for (i = 1; i <= ndirs; i++) {
-        t = (pathlist[i] "/" file)
-        if ((getline junk < t) > 0) {
-            # found it
-            close(t)
-            return t
-        }
-    }
-    return ""
-}
-BEGIN {
-    path = ENVIRON["AWKPATH"]
-    ndirs = split(path, pathlist, ":")
-    for (i = 1; i <= ndirs; i++) {
-        if (pathlist[i] == "")
-            pathlist[i] = "."
-    }
-    stackptr = 0
-    input[stackptr] = ARGV[1] # ARGV[1] is first file
-
-    for (; stackptr >= 0; stackptr--) {
-        while ((getline < input[stackptr]) > 0) {
-            if (tolower($1) != "@include") {
-                print
-                continue
-            }
-            fpath = pathto($2)
-            if (fpath == "") {
-                printf("igawk:%s:%d: cannot find %s\n",
-                    input[stackptr], FNR, $2) > "/dev/stderr"
-                continue
-            }
-            if (! (fpath in processed)) {
-                processed[fpath] = input[stackptr]
-                input[++stackptr] = fpath  # push onto stack
-            } else
-                print $2, "included in", input[stackptr],
-                    "already included in",
-                    processed[fpath] > "/dev/stderr"
-        }
-        close(input[stackptr])
-    }
-}'  # close quote ends `expand_prog' variable
-
-processed_program=`gawk -- "$expand_prog" /dev/stdin <<EOF
-$program
-EOF
-`
-eval gawk $opts -- '"$processed_program"' '"$@"'
Index: Daodan/MinGW/msys/1.0/bin/install-info.exe.manifest
===================================================================
--- Daodan/MinGW/msys/1.0/bin/install-info.exe.manifest	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
-    <v3:security>
-      <v3:requestedPrivileges>
-        <v3:requestedExecutionLevel level="asInvoker" />
-      </v3:requestedPrivileges>
-    </v3:security>
-  </v3:trustInfo>
-</assembly>
Index: Daodan/MinGW/msys/1.0/bin/install.exe.manifest
===================================================================
--- Daodan/MinGW/msys/1.0/bin/install.exe.manifest	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
-    <v3:security>
-      <v3:requestedPrivileges>
-        <v3:requestedExecutionLevel level="asInvoker" />
-      </v3:requestedPrivileges>
-    </v3:security>
-  </v3:trustInfo>
-</assembly>
Index: Daodan/MinGW/msys/1.0/bin/lnkcnv
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lnkcnv	(revision 1046)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/sh
-# Copyright (C) 2002, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is part of Minimal SYStem.
-#   http://www.mingw.org/msys.shtml
-# File: lnkcnv - .lnk symlink file to actual file converter.
-
-Param1=$1
-LinkName=`echo $Param1 | sed -e 's/\.lnk$//'`
-FileName=`cat $Param1 | tr '[:cntrl:]' ' ' | \
-    sed -e 's/      / /g' \
-	-e 's/     / /g' \
-	-e 's/    / /g' \
-	-e 's/   / /g' \
-	-e 's/  / /g' | \
-    cut -f 4 -d ' '`
-
-ln -s $FileName $LinkName
-rm -f $Param1
Index: Daodan/MinGW/msys/1.0/bin/lzcmp
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzcmp	(revision 1046)
+++ 	(revision )
@@ -1,172 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *cmp*) prog=xzcmp; cmp=${CMP:-cmp};;
-  *)     prog=xzdiff; cmp=${DIFF:-diff};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... FILE1 [FILE2]
-Compare FILE1 to FILE2, using their uncompressed contents if they are
-compressed.  If FILE2 is omitted, then the files compared are FILE1 and
-FILE1 from which the compression format suffix has been stripped.
-
-Do comparisons like '$cmp' does.  OPTIONs are the same as for '$cmp'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-
-while :; do
-  case $1 in
-    --h*) printf '%s\n' "$usage" || exit 2; exit;;
-    --v*) echo "$version" || exit 2; exit;;
-    --) shift; break;;
-    -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
-    -?*) cmp="$cmp '$1'";;
-    *) break;;
-  esac
-  shift
-done
-cmp="$cmp --"
-
-for file; do
-  test "X$file" = X- || <"$file" || exit 2
-done
-
-xz1=$xz
-xz2=$xz
-xz_status=0
-exec 3>&1
-
-if test $# -eq 1; then
-  case $1 in
-    *[-.]xz | *[-.]lzma | *.t[lx]z)
-      ;;
-    *[-.]bz2 | *.tbz | *.tbz2)
-      xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z)
-      xz1=gzip;;
-    *)
-      echo >&2 "$0: $1: Unknown compressed file name suffix"
-      exit 2;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma)
-      FILE=`expr "X$1" : 'X\(.*\)[-.][abglmxzZ2]*$'`;;
-    *.t[abglx]z)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)[abglx]z$'`ar;;
-    *.tbz2)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)bz2$'`ar;;
-  esac
-  xz_status=$(
-    exec 4>&1
-    ($xz1 -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
-  )
-elif test $# -eq 2; then
-  case $1 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;;
-  esac
-  case $2 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-      case "$2" in
-        *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-          if test "$1$2" = --; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq - 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - - >&3
-            )
-          elif # Reject Solaris 8's buggy /bin/bash 2.03.
-              echo X | (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) 5<&0; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-                eval "$cmp" /dev/fd/5 - >&3) 5<&0
-            )
-            case $xz_status in
-              *[1-9]*) xz_status=1;;
-              *) xz_status=0;;
-            esac
-          else
-            F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog
-            tmp=
-            trap '
-              test -n "$tmp" && rm -f "$tmp"
-              (exit 2); exit 2
-            ' HUP INT PIPE TERM 0
-            tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-            $xz2 -cdfq -- "$2" > "$tmp" || exit 2
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - '"$tmp"' >&3
-            )
-            cmp_status=$?
-            rm -f "$tmp" || xz_status=$?
-            trap - HUP INT PIPE TERM 0
-            (exit $cmp_status)
-          fi;;
-      *)
-        xz_status=$(
-          exec 4>&1
-          ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" - '"$2"' >&3
-        );;
-    esac;;
-  *)
-    case "$2" in
-      *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-        xz_status=$(
-          exec 4>&1
-          ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" '"$1"' - >&3
-         );;
-      *)
-        eval "$cmp" '"$1"' '"$2"';;
-    esac;;
-  esac
-else
-  echo >&2 "$0: Invalid number of operands; try \`${0##*/} --help' for help"
-  exit 2
-fi
-
-cmp_status=$?
-test "$xz_status" -eq 0 || exit 2
-exit $cmp_status
Index: Daodan/MinGW/msys/1.0/bin/lzdiff
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzdiff	(revision 1046)
+++ 	(revision )
@@ -1,172 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *cmp*) prog=xzcmp; cmp=${CMP:-cmp};;
-  *)     prog=xzdiff; cmp=${DIFF:-diff};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... FILE1 [FILE2]
-Compare FILE1 to FILE2, using their uncompressed contents if they are
-compressed.  If FILE2 is omitted, then the files compared are FILE1 and
-FILE1 from which the compression format suffix has been stripped.
-
-Do comparisons like '$cmp' does.  OPTIONs are the same as for '$cmp'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-
-while :; do
-  case $1 in
-    --h*) printf '%s\n' "$usage" || exit 2; exit;;
-    --v*) echo "$version" || exit 2; exit;;
-    --) shift; break;;
-    -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
-    -?*) cmp="$cmp '$1'";;
-    *) break;;
-  esac
-  shift
-done
-cmp="$cmp --"
-
-for file; do
-  test "X$file" = X- || <"$file" || exit 2
-done
-
-xz1=$xz
-xz2=$xz
-xz_status=0
-exec 3>&1
-
-if test $# -eq 1; then
-  case $1 in
-    *[-.]xz | *[-.]lzma | *.t[lx]z)
-      ;;
-    *[-.]bz2 | *.tbz | *.tbz2)
-      xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z)
-      xz1=gzip;;
-    *)
-      echo >&2 "$0: $1: Unknown compressed file name suffix"
-      exit 2;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma)
-      FILE=`expr "X$1" : 'X\(.*\)[-.][abglmxzZ2]*$'`;;
-    *.t[abglx]z)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)[abglx]z$'`ar;;
-    *.tbz2)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)bz2$'`ar;;
-  esac
-  xz_status=$(
-    exec 4>&1
-    ($xz1 -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
-  )
-elif test $# -eq 2; then
-  case $1 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;;
-  esac
-  case $2 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-      case "$2" in
-        *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-          if test "$1$2" = --; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq - 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - - >&3
-            )
-          elif # Reject Solaris 8's buggy /bin/bash 2.03.
-              echo X | (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) 5<&0; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-                eval "$cmp" /dev/fd/5 - >&3) 5<&0
-            )
-            case $xz_status in
-              *[1-9]*) xz_status=1;;
-              *) xz_status=0;;
-            esac
-          else
-            F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog
-            tmp=
-            trap '
-              test -n "$tmp" && rm -f "$tmp"
-              (exit 2); exit 2
-            ' HUP INT PIPE TERM 0
-            tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-            $xz2 -cdfq -- "$2" > "$tmp" || exit 2
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - '"$tmp"' >&3
-            )
-            cmp_status=$?
-            rm -f "$tmp" || xz_status=$?
-            trap - HUP INT PIPE TERM 0
-            (exit $cmp_status)
-          fi;;
-      *)
-        xz_status=$(
-          exec 4>&1
-          ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" - '"$2"' >&3
-        );;
-    esac;;
-  *)
-    case "$2" in
-      *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-        xz_status=$(
-          exec 4>&1
-          ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" '"$1"' - >&3
-         );;
-      *)
-        eval "$cmp" '"$1"' '"$2"';;
-    esac;;
-  esac
-else
-  echo >&2 "$0: Invalid number of operands; try \`${0##*/} --help' for help"
-  exit 2
-fi
-
-cmp_status=$?
-test "$xz_status" -eq 0 || exit 2
-exit $cmp_status
Index: Daodan/MinGW/msys/1.0/bin/lzegrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzegrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/lzfgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzfgrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/lzgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzgrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/lzless
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzless	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-
-# The original version for gzip was written by Paul Eggert.
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT.
-xz='xz --format=auto'
-
-version='xzless (XZ Utils) 5.0.3'
-
-usage="Usage: ${0##*/} [OPTION]... [FILE]...
-Like 'less', but operate on the uncompressed contents of xz compressed FILEs.
-
-Options are the same as for 'less'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-case $1 in
-	--help)    echo "$usage" || exit 2; exit;;
-	--version) echo "$version" || exit 2; exit;;
-esac
-
-if test "${LESSMETACHARS+set}" != set; then
-	# Work around a bug in less 394 and earlier;
-	# it mishandles the metacharacters '$%=~'.
-	space=' '
-	tab='	'
-	nl='
-'
-	LESSMETACHARS="$space$tab$nl'"';*?"()<>[|&^`#\$%=~'
-fi
-
-if test "$(less -V | { read ver && echo ${ver#less }; })" -ge 429; then
-	# less 429 or later: LESSOPEN pipe will be used on
-	# standard input if $LESSOPEN begins with |-.
-	LESSOPEN="|-$xz -cdfq -- %s"
-else
-	LESSOPEN="|$xz -cdfq -- %s"
-fi
-export LESSMETACHARS LESSOPEN
-
-exec less "$@"
Index: Daodan/MinGW/msys/1.0/bin/lzmore
===================================================================
--- Daodan/MinGW/msys/1.0/bin/lzmore	(revision 1046)
+++ 	(revision )
@@ -1,78 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 2001, 2002, 2007 Free Software Foundation
-# Copyright (C) 1992, 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT.
-xz='xz --format=auto'
-
-version='xzmore (XZ Utils) 5.0.3'
-
-usage="Usage: ${0##*/} [OPTION]... [FILE]...
-Like 'more', but operate on the uncompressed contents of xz compressed FILEs.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-case $1 in
-	--help)    echo "$usage" || exit 2; exit;;
-	--version) echo "$version" || exit 2; exit;;
-esac
-
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
-	cb='cbreak'; ncb='-cbreak'
-else
-	# 'stty min 1' resets eof to ^a on both SunOS and SysV!
-	cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 && test -n "$oldtty"; then
-	trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
-else
-	trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
-fi
-
-if test $# = 0; then
-	if test -t 0; then
-		echo "$usage"; exit 1
-	else
-		$xz -cdfq | eval "${PAGER:-more}"
-	fi
-else
-	FIRST=1
-	for FILE; do
-		< "$FILE" || continue
-		if test $FIRST -eq 0; then
-			printf "%s--More--(Next file: %s)" "" "$FILE"
-			stty $cb -echo 2>/dev/null
-			ANS=`dd bs=1 count=1 2>/dev/null`
-			stty $ncb echo 2>/dev/null
-			echo " "
-			case "$ANS" in
-				[eq]) exit;;
-			esac
-		fi
-		if test "$ANS" != 's'; then
-			echo "------> $FILE <------"
-			$xz -cdfq -- "$FILE" | eval "${PAGER:-more}"
-		fi
-		if test -t 1; then
-			FIRST=0
-		fi
-	done
-fi
Index: Daodan/MinGW/msys/1.0/bin/mount
===================================================================
--- Daodan/MinGW/msys/1.0/bin/mount	(revision 1046)
+++ 	(revision )
@@ -1,231 +1,0 @@
-#!/bin/sh
-#
-# File: mount
-# $Id: mount,v 1.2 2010/03/24 21:28:27 keithmarshall Exp $
-#
-# =====================================================================
-#
-# Copyright (C) 2006, 2007, 2009, 2010 by Keith Marshall
-#  mailto:keithmarshall@users.sourceforge.net
-#
-# This file is part of MSYS
-#  http://www.mingw.org/msys.shtml
-#
-# 2009-04-06: First published implementation for MSYS-1.0.11
-# 2010-03-24: Updated for MSYS-1.0.14: --replace option added
-#
-# MSYS is free software.  It is provided "as is", in the hope that it
-# may be useful; there is NO WARRANTY OF ANY KIND, not even an implied
-# warranty of MERCHANTABILITY or FITNESS FOR ANY PARTICULAR PURPOSE.
-# At no time will the author accept liability for damages, however
-# caused, resulting from the use of this software.
-#
-# Permission is granted to copy and redistribute this software, either
-# as is, or in modified form, provided that:--
-#
-#   1) All such copies are distributed with the same rights
-#      of redistribution.
-#
-#   2) The preceding disclaimer of warranty and liabality is
-#      retained verbatim, in all copies.
-#
-#   3) Accreditation of the original author remains in place.
-#
-#   4) Modified copies are clearly identified as such, with
-#      additional accreditation given to the authors of each
-#      modified version.
-#
-# =====================================================================
-#
-#
-# Ensure the the `fstab' mount registry exists, and is writeable.
-#
-  >> ${MNTTAB="/etc/fstab"}
-#
-# Check for '--replace' option, so we can honour requests to reassign
-# an existing mount table entry.
-#
-  case $1 in
-    --replace | --replac | --repla | --repl) shift ; replace=yes ;;
-    *) replace=no ;;
-  esac
-#
-# Select the operation to be performed, based on number of argumemnts.
-#
-  case $# in
-    0)
-#
-#     No arguments specified...
-#     Simply report the current state of the mount table.
-#
-      /bin/msysmnt.exe ;;
-#
-    1)
-#
-#     One argument specified...
-#     Check for any pre-existing mount which may conflict; if none,
-#     try to match it to a default mount specification from the `fstab'
-#     configuration file, and mount the specified directory, if any,
-#     on its associated mount point.
-#
-      FSTAB=${FSTAB-"$MNTTAB.conf"}
-      MNTPATH=`echo "$1" | tr '\\\\' /`
-#
-      if cat $MNTTAB | tr '\\' / | awk '
-#
-#       Check for pre-existing mount of specified argument;
-#       set exit status to:--
-#         0: if no such mount exists;
-#         1: if argument is an already mounted directory;
-#         2: if argument is a mount point already in use.
-#
-	BEGIN { status = 0 }
-	/^#/ { $0 = "" }
-	$1 == "'$MNTPATH'" { status = 1 }
-	$2 == "'$MNTPATH'" { status = 2 }
-	END { exit status }'
-      then
-#
-#       No pre-existing mount conflicts...
-#
-	if WINPATH=`cat 2>/dev/null $FSTAB | tr '\\' / | awk '
-#
-#         Look up the default mount point specification;
-#         set exit status, (assigned to "errno"), to:--
-#           0: if found; (it is assigned to WINPATH);
-#           1: if found, but multiply and ambiguously defined;
-#           2: if not found.
-#
-	  BEGIN { status = 0; mount = "" }
-	  /^#/ { $0 = "" }
-	  $1 == "'$MNTPATH'" {
-	     if( mount == "" ) mount = $0
-	     else if( mount != $0 ) status = 1
-	   }
-	  $2 == "'$MNTPATH'" {
-	     if( mount == "" ) mount = $0
-	     else if( mount != $0 ) status = 1
-	   }
-	  END {
-	     if( mount == "" ) exit 2
-	     print mount
-	     exit status
-	   }'` errno=$?
-	then
-#
-#         Found a default mount specification; activate it.
-#
-	  echo $WINPATH >> $MNTTAB
-#
-	elif test -f $FSTAB && test -r $FSTAB
-	then
-#
-#         Read the configuration file, but could not find
-#         a mount specification matching the argument.
-#
-	  case $errno in
-	    1) echo >&2 "$0: $FSTAB: ambiguous reference for $MNTPATH" ;;
-	    2) echo >&2 "$0: $FSTAB: no mount specification for $MNTPATH" ;;
-	  esac
-#
-	elif test -f $FSTAB
-	then
-#
-#         Found the configuration file, but could not read it.
-#
-	  echo >&2 "$0: $FSTAB: cannot read configuration file"
-#
-	else
-#
-#         Could not find the configuration file.
-#
-	  echo >&2 "$0: $FSTAB: configuration file not found"
-	fi
-#
-      elif test x"$replace" = xyes
-      then
-#
-#       Found a conflicting active mount,
-#       but the 'replace' option WAS specified...
-#       Tear it down, and remount.
-#
-        umount $MNTPATH
-        mount $MNTPATH
-        exit $?
-#
-      else
-#
-#       Found a conflicting active mount,
-#       and the 'replace' option was NOT specified...
-#       Display an appropriate diagnostic message, depending on
-#       whether the argument represented a directory path name,
-#       or a mount point, and bail out.
-#
-	case $? in
-	  1) echo >&2 "$0: '$MNTPATH' is already mounted" ;;
-	  2) echo >&2 "$0: mount point '$MNTPATH' is already in use" ;;
-	esac
-	exit 1
-      fi ;;
-#
-    2)
-#
-#     Two arguments specified...
-#     First is directory path name, second is mount point.
-#
-      WINPATH=`echo "$1" | tr '\\\\' /`
-      MNTPATH=`echo "$2" | tr '\\\\' /`
-#
-      if cat $MNTTAB | tr '\\' / | awk '
-#
-#       Check that the mount point is not already in use;
-#       set exit status to:--
-#         0: if no existing mount table entry matches;
-#         1: if mount point already in mount table.
-#
-	BEGIN { status = 0 }
-	/^#/ { $0 = "" }
-	$2 == "'$MNTPATH'" { status = 1 }
-	END { exit status }'
-      then
-#
-#       Mount point not yet assigned...
-#       Update the mount table, to include the new specification.
-#
-	echo -e "$WINPATH\t$MNTPATH" >> "$MNTTAB"
-#
-      elif test x"$replace" = xyes
-      then
-#
-#       The mount point is already in use,
-#       but the 'replace' option WAS specified...
-#       Tear it down, and remount.
-#
-        umount $MNTPATH
-	echo -e "$WINPATH\t$MNTPATH" >> "$MNTTAB"
-#
-      else
-#
-#       Mount point is already in use,
-#       and the 'replace' option was NOT specified...
-#       Diagnose, and bail out.
-#
-	echo >&2 "$0: mount point '$MNTPATH' is already in use"
-	exit 1
-      fi ;;
-#
-    *)
-#
-#     More than two arguments specified...
-#     Complain, and bail out.
-#
-      echo >&2 "$0: incorrect number of arguments"
-      echo >&2 "usage: mount [--replace] [<win32path> <msyspath>]"
-      exit 2 ;;
-  esac
-#
-# On successful completion, ensure we set the exit status appropriately.
-#
-  exit 0
-#
-# $RCSfile: mount,v $: end of file
Index: Daodan/MinGW/msys/1.0/bin/msysinfo
===================================================================
--- Daodan/MinGW/msys/1.0/bin/msysinfo	(revision 1046)
+++ 	(revision )
@@ -1,29 +1,0 @@
-#!/bin/sh
-# This script has been placed in the public domain by its author, John Kane.
-# This file is part of MSYS
-#   http://www.mingw.org/msys.shtml
-# File: msysinfo
-
-echo 'msysinfo-1.3: Send this to the MSYS support list:'
-echo ; echo 'MSYS '$(uname -rvmp)"; targ="$(uname -s|cut -d_ -f1)
-echo $(sh --version | grep -i '[0-9]\.[0-9]')"; ENV=${ENV:-.profile}"
-echo -n $(make --version | grep -i '[0-9]\.[0-9]' | cut -db -f1)""
-echo $(make --version | grep -i 'Built')"; MAKE_MODE=$MAKE_MODE"
-echo $(gcc --version | grep -i '[0-9]\.[0-9]')"; targ="$(uname -s|cut -d_ -f1)
-ld --version | grep -i '[0-9]\.[0-9]'
-ls -o --full-time /bin/msys*.dll | cut -c 25-
-ls -o --full-time $(type -p make).exe | cut -c 25-
-ls -o --full-time $(type -p gcc).exe | cut -c 25-
-ls -o --full-time $(type -p ld).exe | cut -c 25-
-echo "HOME=$HOME"
-echo "Sysname=$(uname --sysname)  OSTYPE=$OSTYPE  TERM=$TERM"
-echo "PATH=$PATH" | fold -w 64 ; echo "$ ls -tx $PWD" ; ls -tAxFw64
-if [ "$1" = "all" ] || [ "$1" = "long" ] ; then
-  echo ; md5sum -b /bin/msys*.dll ; md5sum -b $(type -p make).exe
-  md5sum -b $(type -p gcc).exe ; md5sum -b $(type -p ld).exe
-  echo ; echo "In /etc/fstab:" ; cat /etc/fstab | grep '/'
-  echo ; echo "In /etc/profile:" ; cat /etc/profile | grep -i 'export'
-  echo ; grep -a '%%%' /bin/msys*.dll
-  echo ; set | fold -sw 64
-  echo ; echo '$ msysinfo all >msysinfo.txt   will save this to a file'
-fi
Index: Daodan/MinGW/msys/1.0/bin/pdftexi2dvi
===================================================================
--- Daodan/MinGW/msys/1.0/bin/pdftexi2dvi	(revision 1046)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/sh
-# $Id: pdftexi2dvi,v 1.3 2007/07/05 15:22:26 karl Exp $
-# Written by Thomas Esser.  Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
-  && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
-  && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
-  && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
-  && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
Index: Daodan/MinGW/msys/1.0/bin/start
===================================================================
--- Daodan/MinGW/msys/1.0/bin/start	(revision 1046)
+++ 	(revision )
@@ -1,8 +1,0 @@
-#!/bin/sh
-# Copyright (C) 2002, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This file is part of Minimal SYStem.
-#   http://www.mingw.org/msys.shtml
-# File: start
-
-cmd //c start "$@"
Index: Daodan/MinGW/msys/1.0/bin/texi2dvi
===================================================================
--- Daodan/MinGW/msys/1.0/bin/texi2dvi	(revision 1046)
+++ 	(revision )
@@ -1,1821 +1,0 @@
-#! /bin/sh
-# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources.
-# $Id: texi2dvi,v 1.135 2008/09/18 18:46:01 karl Exp $
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# Original author: Noah Friedman.
-#
-# Please send bug reports, etc. to bug-texinfo@gnu.org.
-# If possible, please send a copy of the output of the script called with
-# the `--debug' option when making a bug report.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
-  && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
-  && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-# No failure shall remain unpunished.
-set -e
-
-if ! command -v tex >/dev/null 2>&1; then
- cat <<%EOM%
-You don't have a working TeX binary installed, but the texi2dvi script
-can't proceed without it. If you want to use this script, you have to
-install some kind of TeX, for example the MikTeX package from
-http://miktex.org/ (which is not part of the typical MSYS environment).
-%EOM%
- exit 1
-fi
-
-# This string is expanded by rcs automatically when this file is checked out.
-rcs_revision='$Revision: 1.135 $'
-rcs_version=`set - $rcs_revision; echo $2`
-program=`echo $0 | sed -e 's!.*/!!'`
-
-build_mode=${TEXI2DVI_BUILD_MODE:-local}
-build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
-
-# Initialize variables for option overriding and otherwise.
-# Don't use `unset' since old bourne shells don't have this command.
-# Instead, assign them an empty value.
-action=compile
-batch=false     # true for batch mode
-catcode_special=true
-debug=false
-escape="\\"
-expand=         # t for expansion via makeinfo
-includes=
-line_error=true # Pass --file-line-error to TeX.
-no_line_error=false  # absolutely do not pass --file-line-error to TeX
-oname=          # --output
-out_lang=dvi
-quiet=false     # by default let the tools' message be displayed
-recode=false
-set_language=
-src_specials=
-textra=         # Extra TeX commands to insert in the input file.
-txiprereq=19990129 # minimum texinfo.tex version with macro expansion
-verb=false      # true for verbose mode
-translate_file= # name of charset translation file
-recode_from=    # if not empty, recode from this encoding to @documentencoding
-
-orig_pwd=`pwd`
-
-# We have to initialize IFS to space tab newline since we save and
-# restore IFS and apparently POSIX allows stupid/broken behavior with
-# empty-but-set IFS.
-# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html
-# We need space, tab and new line, in precisely that order.  And don't leave
-# trailing blanks.
-space=' '
-tab='	'
-newline='
-'
-IFS="$space$tab$newline"
-
-# In case someone pedantic insists on using grep -E.
-: ${EGREP=egrep}
-
-# Systems which define $COMSPEC or $ComSpec use semicolons to separate
-# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC
-# might be inherited, but : is used.
-if test -n "$COMSPEC$ComSpec" \
-   && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then
-  path_sep=";"
-else
-  path_sep=":"
-fi
-
-# Pacify verbose cds.
-CDPATH=${ZSH_VERSION+.}$path_sep
-
-# If $TEX is set to a directory, don't use it.
-test -n "$TEX" && test -d "$TEX" && unset TEX
-
-# 
-
-## --------------------- ##
-## Auxiliary functions.  ##
-## --------------------- ##
-
-# In case `local' is not supported by the shell, provide a function
-# that simulates it by simply performing the assignments.  This means
-# that we must not expect `local' to work, i.e., we must not (i) rely
-# on it during recursion, and (ii) have two local declarations of the
-# same variable.  (ii) is easy to check statically, and our test suite
-# does make sure there is never twice a static local declaration of a
-# variable.  (i) cannot be checked easily, so just be careful.
-#
-# Note that since we might use a function simulating `local', we can
-# no longer rely on the fact that no IFS-splitting is performed.  So,
-# while
-#
-# foo=$bar
-#
-# is fine (no IFS-splitting), never write
-#
-# local foo=$bar
-#
-# but rather
-#
-# local foo="$bar"
-(
-  foo=bar
-  test_local () {
-    local foo=foo
-  }
-  test_local
-  test $foo = bar
-) || local () {
-  case $1 in
-    *=*) eval "$1";;
-  esac
-}
-
-
-# cd_orig
-# -------
-# Return to the original directory.
-cd_orig ()
-{
-  # In case $orig_pwd is on a different drive (for DOS).
-  cd /
-
-  # Return to the original directory so that
-  # - the next file is processed in correct conditions
-  # - the temporary file can be removed
-  cd "$orig_pwd" || exit 1
-}
-
-# func_dirname FILE
-# -----------------
-# Return the directory part of FILE.
-func_dirname ()
-{
-  dirname "$1" 2>/dev/null \
-  || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; }
-}
-
-
-# absolute NAME -> ABS-NAME
-# -------------------------
-# Return an absolute path to NAME.
-absolute ()
-{
-  case $1 in
-   [\\/]* | ?:[\\/]*)
-      # Absolute paths don't need to be expanded.
-      echo "$1"
-      ;;
-   *) local slashes
-      slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'`
-      local rel
-      rel=$orig_pwd/`func_dirname "$1"`
-      if test -d "$rel"; then
-	(cd "$rel" 2>/dev/null &&
-	 local n
-	 n=`pwd`/`basename "$1"`"$slashes"
-	 echo "$n")
-      else
-	error 1 "not a directory: $rel"
-      fi
-      ;;
-  esac
-}
-
-
-# ensure_dir DIR1 DIR2...
-# -----------------------
-# Make sure the directories exist.
-ensure_dir ()
-{
-  for dir
-  do
-    test -d "$dir" \
-      || mkdir "$dir" \
-      || error 1 "cannot create directory: $dir"
-  done
-}
-
-
-# error EXIT_STATUS LINE1 LINE2...
-# --------------------------------
-# Report an error and exit with failure if EXIT_STATUS is non null.
-error ()
-{
-  local s="$1"
-  shift
-  report "$@"
-  if test "$s" != 0; then
-    exit $s
-  fi
-}
-
-
-# findprog PROG
-# -------------
-# Return true if PROG is somewhere in PATH, else false.
-findprog ()
-{
-  local saveIFS="$IFS"
-  IFS=$path_sep  # break path components at the path separator
-  for dir in $PATH; do
-    IFS=$saveIFS
-    # The basic test for an executable is `test -f $f && test -x $f'.
-    # (`test -x' is not enough, because it can also be true for directories.)
-    # We have to try this both for $1 and $1.exe.
-    #
-    # Note: On Cygwin and DJGPP, `test -x' also looks for .exe.  On Cygwin,
-    # also `test -f' has this enhancement, bot not on DJGPP.  (Both are
-    # design decisions, so there is little chance to make them consistent.)
-    # Thusly, it seems to be difficult to make use of these enhancements.
-    #
-    if  { test -f "$dir/$1"	&& test -x "$dir/$1"; } ||
-	{ test -f "$dir/$1.exe"	&& test -x "$dir/$1.exe"; }; then
-      return 0
-    fi
-  done
-  return 1
-}
-
-# report LINE1 LINE2...
-# ---------------------
-# Report some information on stderr.
-report ()
-{
-  for i in "$@"
-  do
-    echo >&2 "$0: $i"
-  done
-}
-
-
-# run COMMAND-LINE
-# ----------------
-# Run the COMMAND-LINE verbosely, and catching errors as failures.
-run ()
-{
-  verbose "Running $@"
-  "$@" 2>&5 1>&2 ||
-     error 1 "$1 failed"
-}
-
-
-# usage
-# -----
-# Display usage and exit successfully.
-usage ()
-{
-  # We used to simply have `echo "$usage"', but coping with the
-  # changing behavior of `echo' is much harder than simply using a
-  # here-doc.
-  #
-  #             echo '\noto'   echo '\\noto'   echo -e '\\noto'
-  # bash 3.1      \noto           \\noto          \noto
-  # bash 3.2       %oto           \noto           -e \noto
-  #
-  # where % denotes the eol character.
-  cat <<EOF
-Usage: $program [OPTION]... FILE...
-
-Run each Texinfo or (La)TeX FILE through TeX in turn until all
-cross-references are resolved, building all indices.  The directory
-containing each FILE is searched for included files.  The suffix of FILE
-is used to determine its language ((La)TeX or Texinfo).  To process
-(e)plain TeX files, set the environment variable LATEX=tex.
-
-In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX,
-the FILE may also be composed of the following simple TeX commands.
-  \`\\input{FILE}'     the actual file to compile
-  \`\\nonstopmode'     same as --batch
-
-Makeinfo is used to perform Texinfo macro expansion before running TeX
-when needed.
-
-General options:
-  -b, --batch         no interaction
-  -D, --debug         turn on shell debugging (set -x)
-  -h, --help          display this help and exit successfully
-  -o, --output=OFILE  leave output in OFILE (implies --clean);
-			only one input FILE may be specified in this case
-  -q, --quiet         no output unless errors (implies --batch)
-  -s, --silent        same as --quiet
-  -v, --version       display version information and exit successfully
-  -V, --verbose       report on what is done
-
-TeX tuning:
-  -@                         use @input instead of \input for preloaded Texinfo
-      --dvi                  output a DVI file [default]
-      --dvipdf               output a PDF file via DVI (using dvipdf)
-  -e, -E, --expand           force macro expansion using makeinfo
-  -I DIR                     search DIR for Texinfo files
-  -l, --language=LANG        specify LANG for FILE, either latex or texinfo
-      --no-line-error        do not pass --file-line-error to TeX
-  -p, --pdf                  use pdftex or pdflatex for processing
-  -r, --recode               call recode before TeX to translate input
-      --recode-from=ENC      recode from ENC to the @documentencoding
-      --src-specials         pass --src-specials to TeX
-  -t, --command=CMD          insert CMD in copy of input file
-   or --texinfo=CMD          multiple values accumulate
-      --translate-file=FILE  use given charset translation file for TeX
-
-Build modes:
-  --build=MODE         specify the treatment of auxiliary files [$build_mode]
-      --tidy           same as --build=tidy
-  -c, --clean          same as --build=clean
-      --build-dir=DIR  specify where the tidy compilation is performed;
-			 implies --tidy;
-			 defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
-  --mostly-clean       remove the auxiliary files and directories
-			 but not the output
-
-The MODE specifies where the TeX compilation takes place, and, as a
-consequence, how auxiliary files are treated.  The build mode
-can also be set using the environment variable TEXI2DVI_BUILD_MODE.
-
-Valid MODEs are:
-  \`local'      compile in the current directory, leaving all the auxiliary
-	       files around.  This is the traditional TeX use.
-  \`tidy'       compile in a local *.t2d directory, where the auxiliary files
-	       are left.  Output files are copied back to the original file.
-  \`clean'      same as \`tidy', but remove the auxiliary directory afterwards.
-	       Every compilation therefore requires the full cycle.
-
-Using the \`tidy' mode brings several advantages:
-  -   the current directory is not cluttered with plethora of temporary files.
-  -   clutter can be even reduced using --build-dir=dir: all the *.t2d
-      directories are stored there.
-  -   clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d
-      or --build-dir=\$HOME/.t2d.
-  -   the output file is updated after every succesful TeX run, for
-      sake of concurrent visualization of the output.  In a \`local' build
-      the viewer stops during the whole TeX run.
-  -   if the compilation fails, the previous state of the output file
-      is preserved.
-  -   PDF and DVI compilation are kept in separate subdirectories
-      preventing any possibility of auxiliary file incompatibility.
-
-On the other hand, because \`tidy' compilation takes place in another
-directory, occasionally TeX won't be able to find some files (e.g., when
-using \\graphicspath): in that case use -I to specify the additional
-directories to consider.
-
-The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
-TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used
-to run those commands, if they are set.  Any CMD strings are added
-after @setfilename for Texinfo input, in the first line for LaTeX input.
-
-Email bug reports to <bug-texinfo@gnu.org>,
-general questions and discussion to <help-texinfo@gnu.org>.
-Texinfo home page: http://www.gnu.org/software/texinfo/
-EOF
-  exit 0
-}
-
-
-# verbose WORD1 WORD2
-# -------------------
-# Report some verbose information.
-verbose ()
-{
-  if $verb; then
-    echo >&2 "$0: $@"
-  fi
-}
-
-
-# version
-# -------
-# Display version info and exit succesfully.
-version ()
-{
-  cat <<EOF
-texi2dvi (GNU Texinfo 4.13) $rcs_version
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-EOF
-  exit 0
-}
-
-
-## ---------------- ##
-## Handling lists.  ##
-## ---------------- ##
-
-
-# list_append LIST-NAME ELEM
-# --------------------------
-# Set LIST-NAME to its former contents, with ELEM appended.
-list_append ()
-{
-  local la_l="$1"
-  shift
-  eval set X \$$la_l "$@"
-  shift
-  eval $la_l=\""$@"\"
-}
-
-
-# list_concat_dirs LIST-NAME DIR-LIST
-# -----------------------------------
-# Append to LIST-NAME all the components (included empty) from
-# the $path_sep separated list DIR-LIST.  Make the paths absolute.
-list_concat_dirs ()
-{
-  local lcd_list="$1"
-  # Empty path components are meaningful to tex.  We rewrite them as
-  # `EMPTY' so they don't get lost when we split on $path_sep.
-  # Hopefully no one will have an actual directory named EMPTY.
-  local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \
-                       -e 's/$path_sep\$/${path_sep}EMPTY/g' \
-                       -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
-  save_IFS=$IFS
-  IFS=$path_sep
-  set x `echo "$2" | eval sed $replace_EMPTY`; shift
-  IFS=$save_IFS
-  local dir
-  for dir
-  do
-    case $dir in
-      EMPTY)
-       list_append $lcd_list ""
-       ;;
-      *)
-       if test -d $dir; then
-          dir=`absolute "$dir"`
-         list_append $lcd_list "$dir"
-       fi
-       ;;
-    esac
-  done
-}
-
-
-# list_prefix LIST-NAME SEP -> STRING
-# -----------------------------------
-# Return a string that is composed of the LIST-NAME with each item
-# preceded by SEP.
-list_prefix ()
-{
-  local lp_p="$2"
-  eval set X \$$1
-  shift
-  local lp_res
-  for i
-  do
-    lp_res="$lp_res \"$lp_p\" \"$i\""
-  done
-  echo "$lp_res"
-}
-
-# list_infix LIST-NAME SEP -> STRING
-# ----------------------------------
-# Same as list_prefix, but a separator.
-list_infix ()
-{
-  eval set X \$$1
-  shift
-  local la_IFS="$IFS"
-  IFS=$path_sep
-  echo "$*"
-  IFS=$la_IFS
-}
-
-# list_dir_to_abs LIST-NAME
-# -------------------------
-# Convert the list to using only absolute dir names.
-# Currently unused, but should replace absolute_filenames some day.
-list_dir_to_abs ()
-{
-  local ld_l="$1"
-  eval set X \$$ld_l
-  shift
-  local ld_res
-  for dir
-  do
-    dir=`absolute "$dir"`
-    test -d "$dir" || continue
-    ld_res="$ld_res \"$dir\""
-  done
-  set X $ld_res; shift
-  eval $ld_l=\"$@\"
-}
-
-
-## ------------------------------ ##
-## Language auxiliary functions.  ##
-## ------------------------------ ##
-
-# out_lang_tex
-# ------------
-# Return the tex output language (DVI or PDF) for $OUT_LANG.
-out_lang_tex ()
-{
-  case $out_lang in
-    dvi | ps | dvipdf ) echo dvi;;
-    pdf ) echo $out_lang;;
-    html | info | text ) echo $out_lang;;
-    *)    error 1 "$0: invalid out_lang: $1";;
-  esac
-}
-
-
-# out_lang_ext
-# ------------
-# Return the extension for $OUT_LANG.
-out_lang_ext ()
-{
-  case $out_lang in
-    dvipdf ) echo pdf;;
-    dvi | html | info | pdf | ps | text ) echo $out_lang;;
-    *)    error 1 "$0: invalid out_lang: $1";;
-  esac
-}
-
-
-## ------------------------- ##
-## TeX auxiliary functions.  ##
-## ------------------------- ##
-
-# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
-# Likewise for bibtex and makeindex.
-tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \
-TEXINPUTS TFMFONTS"
-for var in $tex_envvars; do
-  eval ${var}_orig=\$$var
-  export $var
-done
-
-
-# absolute_filenames TEX-PATH -> TEX-PATH
-# ---------------------------------------
-# Convert relative paths to absolute paths, so we can run in another
-# directory (e.g., in tidy build mode, or during the macro-support
-# detection).  Prepend ".".
-absolute_filenames ()
-{
-  # Empty path components are meaningful to tex.  We rewrite them as
-  # `EMPTY' so they don't get lost when we split on $path_sep.
-  # Hopefully no one will have an actual directory named EMPTY.
-  local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
-                       -e 's/$path_sep\$/${path_sep}EMPTY/g' \
-                       -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
-  local res
-  res=`echo "$1" | eval sed $replace_empty`
-  save_IFS=$IFS
-  IFS=$path_sep
-  set x $res; shift
-  res=.
-  for dir
-  do
-    case $dir in
-      EMPTY)
-	res=$res$path_sep
-	;;
-      *)
-	if test -d "$dir"; then
-	  res=$res$path_sep`absolute "$dir"`
-	else
-	  # Even if $dir is not a directory, preserve it in the path.
-	  # It might contain metacharacters that TeX will expand in
-	  # turn, e.g., /some/path/{a,b,c}.  This will not get the
-	  # implicit absolutification of the path, but we can't help that.
-	  res=$res$path_sep$dir
-	fi
-	;;
-    esac
-  done
-  echo "$res"
-}
-
-
-# output_base_name FILE
-# ---------------------
-# The name of FILE, possibly renamed to satisfy --output.
-output_base_name ()
-{
-  case $oname in
-    '') echo "$1";;
-     *) local out_noext
-	out_noext=`echo "$oname" | sed 's/\.[^.]*$//'`
-	local file_ext
-	file_ext=`echo "$1" | sed 's/^.*\.//'`
-	echo "$out_noext.$file_ext"
-      ;;
-  esac
-}
-
-
-# move_to_dest FILE...
-# --------------------
-# Move FILE to the place where the user expects it.  Truly move it, that
-# is, it must not remain in its build location unless that is also the
-# output location.  (Otherwise it might appear as an extra file in make
-# distcheck.)
-#
-# FILE can be the principal output (in which case -o directly applies), or
-# an auxiliary file with the same base name.
-move_to_dest ()
-{
-  local dest
-  local destfile
-  local destdir
-  local destbase
-  local sourcedir
-  local sourcebase
-
-  for file
-  do
-    case $tidy:$oname in
-      true:)  dest=$orig_pwd;;
-      false:) dest=;;
-      *:*)    dest=`output_base_name "$file"`;;
-    esac
-    if test ! -f "$file"; then
-      error 1 "no such file or directory: $file"
-    fi
-    if test -n "$dest"; then
-      # We need to know whether $dest is a directory.
-      if test -d "$dest"; then
-        destdir=$dest
-        destfile=$dest/$file
-      else
-        destdir="`dirname $dest`"
-        destfile=$dest
-      fi
-      # We want to compare the source location and the output location,
-      # and if they are different, do the move.  But if they are the
-      # same, we must preserve the source.  Since we can't assume
-      # stat(1) or test -ef is available, resort to comparing the
-      # directory names, canonicalized with pwd.  We can't use cmp -s
-      # since the output file might not actually change from run to run;
-      # e.g., TeX DVI output is timestamped to only the nearest minute.
-      destdir=`cd $destdir && pwd`
-      destbase=`basename $destfile`
-      #
-      sourcedir=`dirname $file`
-      sourcedir=`cd $sourcedir && pwd`
-      sourcebase=`basename $file`
-      #
-      if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then
-        verbose "Moving $file to $destfile"
-        rm -f "$destfile"
-        mv "$file" "$destfile"
-      fi
-    fi
-  done
-}
-
-
-## --------------------- ##
-## Managing xref files.  ##
-## --------------------- ##
-
-# aux_file_p FILE
-# ---------------
-# Return with success with FILE is an aux file.
-aux_file_p ()
-{
-  test -f "$1" || return 1
-  case $1 in
-    *.aux) return 0;;
-    *)     return 1;;
-  esac
-}
-
-# bibaux_file_p FILE
-# ------------------
-# Return with success with FILE is an aux file containing citation
-# requests.
-bibaux_file_p ()
-{
-  test -s "$1" || return 1
-  if (grep '^\\bibstyle[{]' "$1"   \
-      && grep '^\\bibdata[{]' "$1" \
-      ## The following line is suspicious: fails when there
-      ## are citations in sub aux files.  We need to be
-      ## smarter in this case.
-      ## && grep '^\\citation[{]' "$f"
-      ) >&6 2>&1;
-  then
-    return 0
-  fi
-  return 1
-}
-
-# index_file_p FILE
-# -----------------
-# Return with success with FILE is an index file.
-# When index.sty is used, there is a space before the brace.
-index_file_p ()
-{
-  test -f "$1" || return 1
-  case `sed '1q' "$1"` in
-    "\\entry{"*|"\\indexentry{"*|"\\indexentry {"*) return 0;;
-    *) return 1;;
-  esac
-}
-
-# xref_file_p FILE
-# ----------------
-# Return with success if FILE is an xref file (indexes, tables and lists).
-xref_file_p ()
-{
-  test -f "$1" || return 1
-  # If the file is not suitable to be an index or xref file, don't
-  # process it.  It's suitable if the first character is a
-  # backslash or right quote or at, as long as the first line isn't
-  # \input texinfo.
-  case `sed '1q' "$1"` in
-    "\\input texinfo"*) return 1;;
-    [\\''@]*)           return 0;;
-	   *)           return 1;;
-  esac
-}
-
-
-# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER]
-# -----------------------------------------------------
-# Return the list of files generated by the TeX compilation of FILENAME-NOEXT.
-generated_files_get ()
-{
-  local filter=true
-  if test -n "$2"; then
-    filter=$2
-  fi
-
-  # Gather the files created by TeX.
-  (
-    if test -f "$1.log"; then
-      sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
-    fi
-    echo "$1.log"
-  ) |
-  # Depending on these files, infer outputs from other tools.
-  while read file; do
-    echo $file
-    case $in_lang in
-      texinfo)
-	# texindex: texinfo.cp -> texinfo.cps
-       if index_file_p $file; then
-	 echo ${file}s
-       fi
-       ;;
-      latex)
-	if aux_file_p $file; then
-          # bibtex: *.aux -> *.bbl and *.blg.
-	  echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/'
-          echo $file | sed 's/^\(.*\)\.aux$/\1.blg/'
-          # -recorder: .fls
-          echo $file | sed 's/^\(.*\)\.aux$/\1.fls/'
-       fi
-       ;;
-    esac
-  done |
-  # Filter existing files matching the criterion.
-  #
-  # With an input file name containing a space, this produces a
-  # "command not found" message (and filtering is ineffective).
-  # The situation with a newline is presumably even worse.
-  while read file; do
-    if $filter "$file"; then
-      echo $file
-    fi
-  done |
-  sort |
-  # Some files are opened several times, e.g., listings.sty's *.vrb.
-  uniq
-}
-
-
-# xref_files_save
-# ---------------
-# Save the xref files.
-xref_files_save ()
-{
-  # Save copies of auxiliary files for later comparison.
-  xref_files_orig=`generated_files_get "$in_noext" xref_file_p`
-  if test -n "$xref_files_orig"; then
-    verbose "Backing up xref files: $xref_files_orig"
-    # The following line improves `cp $xref_files_orig "$work_bak"'
-    # by preserving the directory parts.  Think of
-    # cp chap1/main.aux chap2/main.aux $work_bak.
-    #
-    # Users may have, e.g., --keep-old-files.  Don't let this interfere.
-    # (Don't use unset for the sake of ancient shells.)
-    TAR_OPTIONS=; export TAR_OPTIONS
-    tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -)
-  fi
-}
-
-
-# xref_files_changed
-# ------------------
-# Whether the xref files were changed since the previous run.
-xref_files_changed ()
-{
-  # LaTeX (and the package changebar) report in the LOG file if it
-  # should be rerun.  This is needed for files included from
-  # subdirs, since texi2dvi does not try to compare xref files in
-  # subdirs.  Performing xref files test is still good since LaTeX
-  # does not report changes in xref files.
-  if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then
-    return 0
-  fi
-
-  # If old and new lists don't at least have the same file list,
-  # then one file or another has definitely changed.
-  xref_files_new=`generated_files_get "$in_noext" xref_file_p`
-  verbose "Original xref files = $xref_files_orig"
-  verbose "New xref files      = $xref_files_new"
-  if test "x$xref_files_orig" != "x$xref_files_new"; then
-    return 0
-  fi
-
-  # Compare each file until we find a difference.
-  for this_file in $xref_files_new; do
-    verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..."
-    # cmp -s returns nonzero exit status if files differ.
-    if cmp -s "$this_file" "$work_bak/$this_file"; then :; else
-      verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..."
-      if $debug; then
-	diff -u "$work_bak/$this_file" "$this_file"
-      fi
-      return 0
-    fi
-  done
-
-  # No change.
-  return 1
-}
-
-
-
-## ----------------------- ##
-## Running the TeX suite.  ##
-## ----------------------- ##
-
-
-
-# run_tex ()
-# ----------
-# Run TeX as "$tex $in_input", taking care of errors and logs.
-run_tex ()
-{
-  case $in_lang:`out_lang_tex` in
-    latex:dvi)   tex=${LATEX:-latex};;
-    latex:pdf)   tex=${PDFLATEX:-pdflatex};;
-    texinfo:dvi)
-	# MetaPost also uses the TEX environment variable.  If the user
-	# has set TEX=latex for that reason, don't bomb out.
-	case $TEX in
-	  *latex) tex=tex;; # don't bother trying to find etex
-	       *) tex=$TEX
-	esac;;
-    texinfo:pdf) tex=$PDFTEX;;
-
-    *) error 1 "$0: $out_lang not supported for $in_lang";;
-  esac
-
-  # Beware of aux files in subdirectories that require the
-  # subdirectory to exist.
-  case $in_lang:$tidy in
-    latex:true)
-       sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" |
-       sort -u |
-       while read d
-       do
-	 ensure_dir "$work_build/$d"
-       done
-       ;;
-  esac
-
-  # Note that this will be used via an eval: quote properly.
-  local cmd="$tex"
-
-  # If possible, make TeX report error locations in GNU format.
-  if test "${tex_help:+set}" != set; then
-    # Go to a temporary directory to try --help, since old versions that
-    # don't accept --help will generate a texput.log.
-    tex_help_dir=$t2ddir/tex_help
-    ensure_dir "$tex_help_dir"
-    tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1`
-  fi
-  if $no_line_error; then :; else
-    # The mk program and perhaps others want to parse TeX's
-    # original error messages.
-    case $line_error:$tex_help in
-      true:*file-line-error*) cmd="$cmd --file-line-error";;
-    esac
-  fi
-
-  # Tell TeX about TCX file, if specified.
-  test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file"
-
-  # Tell TeX to make source specials (for backtracking from output to
-  # source, given a sufficiently smart editor), if specifed.
-  test -n "$src_specials" && cmd="$cmd $src_specials"
-
-  # Tell TeX to be batch if requested.
-  if $batch; then
-    # \batchmode does not show terminal output at all, so we don't
-    # want that.  And even in batch mode, TeX insists on having input
-    # from the user.  Close its stdin to make it impossible.
-    cmd="$cmd </dev/null '${escape}nonstopmode'"
-  fi
-
-  # we'd like to handle arbitrary input file names, especially
-  # foo~bar/a~b.tex, since Debian likes ~ characters.
-  if $catcode_special; then
-    # $normaltilde is just to reduce line length in this source file.
-    # The idea is to define \normaltilde as a catcode other ~ character,
-    # then make the active ~ be equivalent to that, instead of the plain
-    # TeX tie.  Then when the active ~ appears in the filename, it will
-    # be expanded to itself, as far as \input will see.  (This is the
-    # same thing that texinfo.tex does in general, BTW.)
-    normaltilde="${escape}catcode126=12 ${escape}def${escape}normaltilde{~}"
-    cmd="$cmd '$normaltilde${escape}catcode126=13 ${escape}let~\normaltilde '"
-  fi
-  # Other special (non-active) characters could be supported by
-  # resetting their catcodes to other on the command line and changing
-  # texinfo.tex to initialize everything to plain catcodes.  Maybe someday.
-  
-  # append the \input command.
-  cmd="$cmd '${escape}input'"
-
-  # TeX's \input does not (easily or reliably) support whitespace
-  # characters or other special characters in file names.  Our intensive
-  # use of absolute file names makes this worse: the enclosing directory
-  # names may include white spaces.  Improve the situation using a
-  # symbolic link to the filename in the current directory, in tidy mode
-  # only.  Do not alter in_input.
-  #
-  # The filename is almost always tokenized using plain TeX conventions
-  # (the exception would be if the user made a texinfo.fmt file).  Not
-  # all the plain TeX special characters cause trouble, but there's no
-  # harm in making the link.
-  #
-  case $tidy:`func_dirname "$in_input"` in
-    true:*["$space$tab$newline\"#\$%\\^_{}~"]*)
-      _run_tex_file_name=`basename "$in_input"`
-      if test ! -f "$_run_tex_file_name"; then
-	# It might not be a file, clear it.
-	run rm -f "$_run_tex_file_name"
-	run ln -s "$in_input"
-      fi
-      cmd="$cmd '$_run_tex_file_name'"
-      ;;
-
-    *)
-      cmd="$cmd '$in_input'"
-      ;;
-  esac
-
-  verbose "$0: Running $cmd ..."
-  if eval "$cmd" >&5; then
-    case $out_lang in
-      dvi | pdf ) move_to_dest "$in_noext.$out_lang";;
-    esac
-  else
-    error 1 "$tex exited with bad status, quitting."
-  fi
-}
-
-# run_bibtex ()
-# -------------
-# Run bibtex on current file.
-# - If its input (AUX) exists.
-# - If some citations are missing (LOG contains `Citation').
-#   or the LOG complains of a missing .bbl
-#
-# Don't try to be too smart:
-#
-# 1. Running bibtex only if the bbl file exists and is older than
-# the LaTeX file is wrong, since the document might include files
-# that have changed.
-#
-# 3. Because there can be several AUX (if there are \include's),
-# but a single LOG, looking for missing citations in LOG is
-# easier, though we take the risk to match false messages.
-run_bibtex ()
-{
-  case $in_lang in
-    latex)   bibtex=${BIBTEX:-bibtex};;
-    texinfo) return;;
-  esac
-
-  # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex.
-  # The no .aux && \bibdata test is also for btxmac, in case it was the
-  # first run of a bibtex-using document.  Otherwise, it's possible that
-  # bibtex would never be run.
-  if test -r "$in_noext.aux" \
-     && test -r "$in_noext.log" \
-     && (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \
-	  || grep '.*Undefined citation' "$in_noext.log" \
-	  || grep 'No file .*\.bbl\.' "$in_noext.log") \
-	  || (grep 'No \.aux file' "$in_noext.log" \
-	      && grep '^\\bibdata' "$in_noext.aux") \
-	>&6 2>&1; \
-  then
-    for f in `generated_files_get "$in_noext" bibaux_file_p`
-    do
-      run $bibtex "$f"
-    done
-  fi
-}
-
-# run_index ()
-# ------------
-# Run texindex (or makeindex) on current index files.  If they already
-# exist, and after running TeX a first time the index files don't
-# change, then there's no reason to run TeX again.  But we won't know
-# that if the index files are out of date or nonexistent.
-run_index ()
-{
-  case $in_lang in
-    latex)   texindex=${MAKEINDEX:-makeindex};;
-    texinfo) texindex=${TEXINDEX:-texindex};;
-  esac
-  index_files=`generated_files_get $in_noext index_file_p`
-  if test -n "$texindex" && test -n "$index_files"; then
-    run $texindex $index_files
-  fi
-}
-
-
-# run_thumbpdf ()
-# ---------------
-run_thumbpdf ()
-{
-  if test `out_lang_tex` = pdf \
-     && test -r "$in_noext.log" \
-     && grep 'thumbpdf\.sty'  "$in_noext.log" >&6 2>&1; \
-  then
-    thumbpdf=${THUMBPDF:-thumbpdf}
-    thumbcmd="$thumbpdf $in_dir/$in_noext"
-    verbose "Running $thumbcmd ..."
-    if $thumbcmd >&5; then
-      run_tex
-    else
-      report "$thumbpdf exited with bad status." \
-	     "Ignoring its output."
-    fi
-  fi
-}
-
-
-# run_dvipdf FILE.dvi
-# -------------------
-# Convert FILE.dvi to FILE.pdf.
-run_dvipdf ()
-{
-  # Find which dvi->pdf program is available.
-  if test -z "$dvipdf"; then
-    for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf;
-    do
-      if findprog $i; then
-	dvipdf=$i
-      fi
-    done
-  fi
-  # These tools have varying interfaces, some 'input output', others
-  # 'input -o output'.  They all seem to accept 'input' only,
-  # outputting using the expected file name.
-  run $dvipdf "$1"
-  if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then
-    error 1 "$0: cannot find output file"
-  fi
-}
-
-# run_tex_suite ()
-# ----------------
-# Run the TeX tools until a fix point is reached.
-run_tex_suite ()
-{
-  # Move to the working directory.
-  if $tidy; then
-    verbose "cd $work_build"
-    cd "$work_build" || exit 1
-  fi
-
-  # Count the number of cycles.
-  local cycle=0
-
-  while :; do
-    cycle=`expr $cycle + 1`
-    verbose "Cycle $cycle for $command_line_filename"
-
-    xref_files_save
-
-    # We run bibtex first, because I can see reasons for the indexes
-    # to change after bibtex is run, but I see no reason for the
-    # converse.
-    run_bibtex
-    run_index
-    run_core_conversion
-
-    xref_files_changed || break
-  done
-
-  # If we were using thumbpdf and producing PDF, then run thumbpdf
-  # and TeX one last time.
-  run_thumbpdf
-
-  # Install the result if we didn't already (i.e., if the output is
-  # dvipdf or ps).
-  case $out_lang in
-    dvipdf)
-      run_dvipdf "$in_noext.`out_lang_tex`"
-      move_to_dest "$in_noext.`out_lang_ext`"
-      ;;
-    ps)
-      dvips -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`"
-      move_to_dest "$in_noext.`out_lang_ext`"
-      ;;
-  esac
-
-  cd_orig
-}
-
-## -------------------------------- ##
-## TeX processing auxiliary tools.  ##
-## -------------------------------- ##
-
-
-# A sed script that preprocesses Texinfo sources in order to keep the
-# iftex sections only.  We want to remove non TeX sections, and comment
-# (with `@c texi2dvi') TeX sections so that makeinfo does not try to
-# parse them.  Nevertheless, while commenting TeX sections, don't
-# comment @macro/@end macro so that makeinfo does propagate them.
-# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough
-# (yet), makeinfo can't parse the TeX commands, so work around with sed.
-#
-comment_iftex=\
-'/^@tex/,/^@end tex/{
-  s/^/@c texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
-  s/^/@c texi2dvi/
-  /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{
-    s/^@c texi2dvi//
-  }
-}
-/^@ifnottex/,/^@end ifnottex/{
-  s/^/@c (texi2dvi)/
-}
-/^@ifinfo/,/^@end ifinfo/{
-  /^@node/p
-  /^@menu/,/^@end menu/p
-  t
-  s/^/@c (texi2dvi)/
-}
-s/^@ifnotinfo/@c texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/'
-
-# Uncommenting is simple: Remove any leading `@c texi2dvi'.
-uncomment_iftex='s/^@c texi2dvi//'
-
-
-# run_makeinfo ()
-# ---------------
-# Expand macro commands in the original source file using Makeinfo.
-# Always use `end' footnote style, since the `separate' style
-# generates different output (arguably this is a bug in -E).  Discard
-# main info output, the user asked to run TeX, not makeinfo.
-run_makeinfo ()
-{
-  test $in_lang = texinfo \
-    || return 0
-
-  # Unless required by the user, makeinfo expansion is wanted only
-  # if texinfo.tex is too old.
-  if test "$expand" = t; then
-    makeinfo=${MAKEINFO:-makeinfo}
-  else
-    # Check if texinfo.tex performs macro expansion by looking for
-    # its version.  The version is a date of the form YEAR-MO-DA.
-    # We don't need to use [0-9] to match the digits since anyway
-    # the comparison with $txiprereq, a number, will fail with non
-    # digits.
-    # Run in a temporary directory to avoid leaving files.
-    version_test_dir=$t2ddir/version_test
-    ensure_dir "$version_test_dir"
-    (
-       cd "$version_test_dir"
-       echo '\input texinfo.tex @bye' >txiversion.tex
-       # Be sure that if tex wants to fail, it is not interactive:
-       # close stdin.
-       $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err
-    )
-    if test $? != 0; then
-      cat "$version_test_dir/txiversion.out"
-      cat "$version_test_dir/txiversion.err" >&2
-      error 1 "texinfo.tex appears to be broken, quitting."
-    fi
-    eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"`
-    verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
-    if test "$txiprereq" -le "$txiversion" >&6 2>&1; then
-      makeinfo=
-    else
-      makeinfo=${MAKEINFO:-makeinfo}
-    fi
-    # As long as we had to run TeX, offer the user this convenience:
-    if test "$txiformat" = Texinfo; then
-	escape=@
-    fi
-  fi
-
-  if test -n "$makeinfo"; then
-    # in_src: the file with macros expanded.
-    # Use the same basename to generate the same aux file names.
-    work_src=$workdir/src
-    ensure_dir "$work_src"
-    in_src=$work_src/$in_base
-    local miincludes
-    miincludes=`list_prefix includes -I`
-    verbose "Macro-expanding $command_line_filename to $in_src ..."
-    # eval $makeinfo because it might be defined as something complex
-    # (running missing) and then we end up with things like '"-I"',
-    # and "-I" (including the quotes) is not an option name.  This
-    # happens with gettext 0.14.5, at least.
-    sed "$comment_iftex" "$command_line_filename" \
-      | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \
-	-o /dev/null --macro-expand=- \
-      | sed "$uncomment_iftex" >"$in_src"
-    # Continue only if everything succeeded.
-    if test $? -ne 0 \
-       || test ! -r "$in_src"; then
-      verbose "Expansion failed, ignored...";
-    else
-      in_input=$in_src
-    fi
-  fi
-}
-
-# insert_commands ()
-# ------------------
-# Used most commonly for @finalout, @smallbook, etc.
-insert_commands ()
-{
-  local textra_cmd
-  case $in_lang in
-    latex)   textra_cmd=1i;;
-    texinfo) textra_cmd='/^@setfilename/a';;
-    *)       error 1 "internal error, unknown language: $in_lang";;
-  esac
-
-  if test -n "$textra"; then
-    # _xtr.  The file with the user's extra commands.
-    work_xtr=$workdir/xtr
-    in_xtr=$work_xtr/$in_base
-    ensure_dir "$work_xtr"
-    verbose "Inserting extra commands: $textra"
-    sed "$textra_cmd\\
-$textra" "$in_input" >"$in_xtr"
-    in_input=$in_xtr
-  fi
-}
-
-# run_recode ()
-# -------------
-# If this is a Texinfo file with a specified input encoding, and
-# recode is available, then recode to plain 7 bit Texinfo.
-run_recode ()
-{
-  local from
-  local to
-
-  if test $in_lang = texinfo; then
-    pgm='s/^ *@documentencoding  *\([^ ][^ ]*\) *$/\1/
-	t found
-	d
-	:found
-	q'
-    encoding=`sed -e "$pgm" "$in_input"`
-    if $recode && test -n "$encoding" && findprog recode; then
-      if test -n "$recode_from"; then
-	from=$recode_from
-	to=$encoding
-      else
-	from=$encoding
-	to=$texinfo
-      fi
-      verbose "Recoding from $from to $to."
-      # _rcd.  The Texinfo file recoded in 7bit.
-      work_rcd=$workdir/recode
-      in_rcd=$work_rcd/$in_base
-      ensure_dir "$work_rcd"
-      if recode "$encoding..$to" <"$in_input" >"$in_rcd" \
-	 && test -s "$in_rcd"; then
-	in_input=$in_rcd
-      else
-	verbose "Recoding failed, using original input."
-      fi
-    fi
-  fi
-}
-
-# compute_language FILENAME
-# -------------------------
-# Return the short string describing the language in which FILENAME
-# is written: `texinfo' or `latex'.
-compute_language ()
-{
-  # If the user explicitly specified the language, use that.
-  # Otherwise, if the first line is \input texinfo, assume it's texinfo.
-  # Otherwise, guess from the file extension.
-  if test -n "$set_language"; then
-    echo $set_language
-  elif sed 1q "$1" | grep 'input texinfo' >&6; then
-    echo texinfo
-  else
-    # Get the type of the file (latex or texinfo) from the given language
-    # we just guessed, or from the file extension if not set yet.
-    case $1 in
-      *.ltx | *.tex | *.drv | *.dtx) echo latex;;
-      *)                             echo texinfo;;
-    esac
-  fi
-}
-
-
-# run_hevea (MODE)
-# ----------------
-# Convert to HTML/INFO/TEXT.
-#
-# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the
-# charset is set to latin1, and troublesome in other modes since
-# accented characters loose their accents.
-#
-# Don't pass `-o DEST' to hevea because in that case it leaves all its
-# auxiliary files there too...  Too bad, because it means we will need
-# to handle images some day.
-run_hevea ()
-{
-  local hevea="${HEVEA:-hevea}"
-  local run_hevea="$hevea"
-
-  case $1 in
-    html) ;;
-    text|info) run_hevea="$run_hevea -$1";;
-    *) error 1 "run_hevea: invalid argument: $1";;
-  esac
-
-  # Compiling to the tmp directory enables to preserve a previous
-  # successful compilation.
-  run_hevea="$run_hevea -fix -O -o '$out_base'"
-  run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' "
-  run_hevea="$run_hevea '$in_input'"
-
-  if $debug; then
-    run_hevea="$run_hevea -v -v"
-  fi
-
-  verbose "running $run_hevea"
-  if eval "$run_hevea" >&5; then
-    # hevea leaves trailing white spaces, this is annoying.
-    case $1 in text|info)
-      perl -pi -e 's/[ \t]+$//g' "$out_base"*;;
-    esac
-    case $1 in
-    html|text) move_to_dest "$out_base";;
-    info) # There can be foo.info-1, foo.info-2 etc.
-	       move_to_dest "$out_base"*;;
-    esac
-  else
-    error 1 "$hevea exited with bad status, quitting."
-  fi
-}
-
-
-# run_core_conversion ()
-# ----------------------
-# Run the TeX (or HeVeA).
-run_core_conversion ()
-{
-  case $in_lang:`out_lang_tex` in
-    *:dvi|*:pdf)
-	run_tex;;
-    latex:html|latex:text|latex:info)
-	run_hevea $out_lang;;
-    *)
-	error 1 "invalid input/output combination: $in_lang/$out_lang";;
-  esac
-}
-
-
-# compile ()
-# ----------
-# Run the full compilation chain, from pre-processing to installation
-# of the output at its expected location.
-compile ()
-{
-  # Source file might include additional sources.
-  # We want `.:$orig_pwd' before anything else.  (We'll add `.:' later
-  # after all other directories have been turned into absolute paths.)
-  # `.' goes first to ensure that any old .aux, .cps,
-  # etc. files in ${directory} don't get used in preference to fresher
-  # files in `.'.  Include orig_pwd in case we are in clean build mode, where
-  # we've cd'd to a temp directory.
-  txincludes=`list_infix includes $path_sep`
-  common="$orig_pwd$path_sep$in_dir$path_sep$txincludes$path_sep"
-  for var in $tex_envvars; do
-    eval val="\$common\$${var}_orig"
-    # Convert relative paths to absolute paths, so we can run in another
-    # directory (e.g., in clean build mode, or during the macro-support
-    # detection). ".:" is added here.
-    val=`absolute_filenames "$val"`
-    eval $var="\"$val\""
-    export $var
-    eval verbose \"$var=\'\$${var}\'\"
-  done
-
-  # --expand
-  run_makeinfo
-
-  # --command, --texinfo
-  insert_commands
-
-  # --recode
-  run_recode
-
-  # Run until a fix point is reached.
-  run_tex_suite
-}
-
-
-# remove FILES
-# ------------
-remove ()
-{
-  verbose "Removing" "$@"
-  rm -rf "$@"
-}
-
-
-# mostly_clean
-# ------------
-# Remove auxiliary files and directories.  Changes the current directory.
-mostly_clean ()
-{
-  cd_orig
-  set X "$t2ddir"
-  shift
-  $tidy || {
-    local log="$work_build/$in_noext.log"
-    set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"`
-    shift
-  }
-  remove ${1+"$@"}
-}
-
-
-# cleanup ()
-# ----------
-# Remove what should be removed according to options.
-# Called at the end of each compilation cycle, and at the end of
-# the script.  Changes the current directory.
-cleanup ()
-{
-  case $build_mode in
-    local) cd_orig; remove "$t2ddir";;
-    clean) mostly_clean;;
-    tidy)  ;;
-  esac
-}
-
-
-
-## ---------------------- ##
-## Command line parsing.  ##
-## ---------------------- ##
-
-# Push a token among the arguments that will be used to notice when we
-# ended options/arguments parsing.
-# Use "set dummy ...; shift" rather than 'set - ..." because on
-# Solaris set - turns off set -x (but keeps set -e).
-# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3
-# still expand "$@" to a single argument (the empty string) rather
-# than nothing at all.
-arg_sep="$$--$$"
-set dummy ${1+"$@"} "$arg_sep"; shift
-
-# 
-
-# Parse command line arguments.
-while test x"$1" != x"$arg_sep"; do
-
-  # Handle --option=value by splitting apart and putting back on argv.
-  case "$1" in
-    --*=*)
-      opt=`echo "$1" | sed -e 's/=.*//'`
-      val=`echo "$1" | sed -e 's/[^=]*=//'`
-      shift
-      set dummy "$opt" "$val" ${1+"$@"}; shift
-      ;;
-  esac
-
-  # This recognizes --quark as --quiet.  So what.
-  case "$1" in
-    -@ ) escape=@;;
-    # Silently and without documentation accept -b and --b[atch] as synonyms.
-    -b | --batch) batch=true;;
-	 --build)      shift; build_mode=$1;;
-	 --build-dir)  shift; build_dir=$1; build_mode=tidy;;
-    -c | --clean) build_mode=clean;;
-    -D | --debug) debug=true;;
-	 --dvi)   out_lang=dvi;;
-	 --dvipdf)   out_lang=dvipdf;;
-    -e | -E | --expand) expand=t;;
-    -h | --help) usage;;
-	 --html) out_lang=html;;
-    -I)   shift; list_concat_dirs includes "$1";;
-    --info) out_lang=info;;
-    -l | --lang | --language) shift; set_language=$1;;
-    --mostly-clean) action=mostly-clean;;
-    --no-line-error) no_line_error=true;;
-    -o | --out  | --output)
-      shift
-      # Make it absolute, just in case we also have --clean, or whatever.
-      oname=`absolute "$1"`;;
-    -p | --pdf) out_lang=pdf;;
-	 --ps)  out_lang=ps;;
-    -q | -s | --quiet | --silent) quiet=true; batch=true;;
-    -r | --recode) recode=true;;
-    --recode-from) shift; recode=true; recode_from="$1";;
-    --src-specials) src_specials=--src-specials;;
-    -t | --texinfo | --command ) shift; textra="$textra\\
-"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;;
-    --text) out_lang=text;;
-    --translate-file ) shift; translate_file="$1";;
-    --tidy) build_mode=tidy;;
-    -v | --vers*) version;;
-    -V | --verb*) verb=true;;
-    --) # What remains are not options.
-      shift
-      while test x"$1" != x"$arg_sep"; do
-	set dummy ${1+"$@"} "$1"; shift
-	shift
-      done
-      break;;
-    -*)
-      error 1 "Unknown or ambiguous option \`$1'." \
-	      "Try \`--help' for more information."
-      ;;
-    *) set dummy ${1+"$@"} "$1"; shift;;
-   esac
-   shift
-done
-# Pop the token
-shift
-
-# $tidy:  compile in a t2d directory.
-# $clean: remove all the aux files.
-case $build_mode in
-  local) clean=false; tidy=false;;
-  tidy)  clean=false; tidy=true;;
-  clean) clean=true;  tidy=true;;
-      *) error 1 "invalid build mode: $build_mode";;
-esac
-
-# Interpret remaining command line args as filenames.
-case $# in
- 0)
-  error 2 "Missing file arguments." "Try \`--help' for more information."
-  ;;
- 1) ;;
- *)
-  if test -n "$oname"; then
-    error 2 "Can't use option \`--output' with more than one argument."
-  fi
-  ;;
-esac
-
-
-# We can't do much without tex.
-#
-if findprog ${TEX:-tex}; then :; else cat <<EOM
-You don't have a working TeX binary (${TEX:-tex}) installed anywhere in
-your PATH, and texi2dvi cannot proceed without one.  If you want to use
-this script, you'll need to install TeX (if you don't have it) or change
-your PATH or TEX environment variable (if you do).  See the --help
-output for more details.
-
-For information about obtaining TeX, please see http://www.tug.org.  If
-you happen to be using Debian, you can get it with this command:
-  apt-get install tetex-bin
-EOM
-  exit 1
-fi
-
-
-# We want to use etex (or pdftex) if they are available, and the user
-# didn't explicitly specify.  We don't check for elatex and pdfelatex
-# because (as of 2003), the LaTeX team has asked that new distributions
-# use etex by default anyway.
-#
-# End up with the TEX and PDFTEX variables set to what we are going to use.
-if test -z "$TEX"; then
-  if findprog etex; then TEX=etex; else TEX=tex; fi
-fi
-#
-if test -z "$PDFTEX"; then
-  if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi
-fi
-
-
-# File descriptor usage:
-# 0 standard input
-# 1 standard output (--verbose messages)
-# 2 standard error
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 tools output (turned off by --quiet)
-# 6 tracing/debugging (set -x output, etc.)
-
-
-# Main tools' output (TeX, etc.) that TeX users are used to seeing.
-#
-# If quiet, discard, else redirect to the message flow.
-if $quiet; then
-  exec 5>/dev/null
-else
-  exec 5>&1
-fi
-
-
-# Enable tracing, and auxiliary tools output.
-#
-# Should be used where you'd typically use /dev/null to throw output
-# away.  But sometimes it is convenient to see that output (e.g., from
-# a grep) to aid debugging.  Especially debugging at distance, via the
-# user.
-if $debug; then
-  exec 6>&1
-  set -x
-else
-  exec 6>/dev/null
-fi
-
-# 
-
-
-# input_file_name_decode
-# ----------------------
-# Decode COMMAND_LINE_FILENAME, and compute:
-# - COMMAND_LINE_FILENAME clean of TeX commands
-# - IN_DIR
-#   The directory to the input file, possibly absolute if needed.
-# - IN_DIR_ABS
-#   The absolute directory of the input file.
-# - IN_BASE
-#   The input file base name (no directory part).
-# - IN_NOEXT
-#   The input file name without extensions (nor directory part).
-# - IN_INPUT
-#   Defaults to COMMAND_LINE_FILENAME, but might change if the
-#   input is preprocessed (recode etc.).  With directory, possibly absolute.
-input_file_name_decode ()
-{
-  # See if we are run from within AUC-Tex, in which case we are
-  # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'.
-  case $command_line_filename in
-    *\\nonstopmode*)
-      batch=true;;
-  esac
-  case $command_line_filename in
-    *\\input{*}*)
-      # Let AUC-TeX error parser deal with line numbers.
-      line_error=false
-      command_line_filename=`\
-	expr X"$command_line_filename" : X'.*input{\([^}]*\)}'`
-      ;;
-  esac
-
-  # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
-  # prepend `./' in order to avoid that the tools take it as an option.
-  echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >&6 \
-  || command_line_filename="./$command_line_filename"
-
-  # See if the file exists.  If it doesn't we're in trouble since, even
-  # though the user may be able to reenter a valid filename at the tex
-  # prompt (assuming they're attending the terminal), this script won't
-  # be able to find the right xref files and so forth.
-  test -r "$command_line_filename" ||
-    error 1 "cannot read $command_line_filename, skipping."
-
-  # Get the name of the current directory.
-  in_dir=`func_dirname "$command_line_filename"`
-  in_dir_abs=`absolute "$in_dir"`
-  # In a clean build, we `cd', so get an absolute file name.
-  if $tidy; then
-    in_dir=$in_dir_abs
-  fi
-
-  # Strip directory part but leave extension.
-  in_base=`basename "$command_line_filename"`
-  # Strip extension.
-  in_noext=`echo "$in_base" | sed 's/\.[^.]*$//'`
-
-  # The normalized file name to compile.  Must always point to the
-  # file to actually compile (in case of recoding, macro-expansion etc.).
-  in_input=$in_dir/$in_base
-
-
-  # Compute the output file name.
-  if test x"$oname" != x; then
-    out_name=$oname
-  else
-    out_name=$in_noext.`out_lang_ext`
-  fi
-  out_dir=`func_dirname "$out_name"`
-  out_dir_abs=`absolute "$out_dir"`
-  out_base=`basename "$out_name"`
-  out_noext=`echo "$out_base" | sed 's/\.[^.]*$//'`
-}
-
-
-## -------------- ##
-## TeXify files.  ##
-## -------------- ##
-
-for command_line_filename
-do
-  verbose "Processing $command_line_filename ..."
-
-  input_file_name_decode
-
-  # `texinfo' or `latex'?
-  in_lang=`compute_language "$command_line_filename"`
-
-  # An auxiliary directory used for all the auxiliary tasks involved
-  # in compiling this document.
-  case $build_dir in
-      '' | . ) t2ddir=$out_noext.t2d ;;
-      *) # Avoid collisions between multiple occurrences of the same
-	 # file.  The sed expression is fragile if the cwd has
-	 # active characters.
-	 t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" |
-	     sed "s,^$orig_pwd/,," |
-	     sed 's,/,!,g'`
-  esac
-  # Remove it at exit if clean mode.
-  trap "cleanup" 0 HUP INT TERM
-
-  ensure_dir "$build_dir" "$t2ddir"
-
-  # We will change directory, better work with an absolute path...
-  t2ddir=`absolute "$t2ddir"`
-  # Sometimes there are incompatibilities between auxiliary files for
-  # DVI and PDF.  The contents can also change whether we work on PDF
-  # and/or DVI.  So keep separate spaces for each.
-  workdir=$t2ddir/`out_lang_tex`
-  ensure_dir "$workdir"
-
-  # _build.  In a tidy build, where the auxiliary files are output.
-  if $tidy; then
-    work_build=$workdir/build
-  else
-    work_build=.
-  fi
-
-  # _bak.  Copies of the previous auxiliary files (another round is
-  # run if they differ from the new ones).
-  work_bak=$workdir/bak
-
-  # Make those directories.
-  ensure_dir "$work_build" "$work_bak"
-
-  case $action in
-    compile)
-      # Compile the document.
-      compile
-      cleanup
-      ;;
-
-    mostly-clean)
-      mostly_clean
-      ;;
-  esac
-done
-
-verbose "done."
-exit 0 # exit successfully, not however we ended the loop.
Index: Daodan/MinGW/msys/1.0/bin/texi2pdf
===================================================================
--- Daodan/MinGW/msys/1.0/bin/texi2pdf	(revision 1046)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/sh
-# $Id: texi2pdf,v 1.2 2005/01/28 01:52:04 karl Exp $
-# Written by Thomas Esser.  Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
-  && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
-  && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
-  && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
-  && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
Index: Daodan/MinGW/msys/1.0/bin/umount
===================================================================
--- Daodan/MinGW/msys/1.0/bin/umount	(revision 1046)
+++ 	(revision )
@@ -1,101 +1,0 @@
-#!/bin/sh
-#
-# File: umount
-# $Id: umount,v 1.2 2010/03/24 21:28:30 keithmarshall Exp $
-#
-# =====================================================================
-#
-# Copyright (C) 2006, 2007, 2009 by Keith Marshall
-#  mailto:keithmarshall@users.sourceforge.net
-#
-# This file is part of MSYS
-#  http://www.mingw.org/msys.shtml
-#
-# 2009-04-06: First published implementation for MSYS-1.0.11
-#
-# MSYS is free software.  It is provided "as is", in the hope that it
-# may be useful; there is NO WARRANTY OF ANY KIND, not even an implied
-# warranty of MERCHANTABILITY or FITNESS FOR ANY PARTICULAR PURPOSE.
-# At no time will the author accept liability for damages, however
-# caused, resulting from the use of this software.
-#
-# Permission is granted to copy and redistribute this software, either
-# as is, or in modified form, provided that:--
-#
-#   1) All such copies are distributed with the same rights
-#      of redistribution.
-#
-#   2) The preceding disclaimer of warranty and liabality is
-#      retained verbatim, in all copies.
-#
-#   3) Accreditation of the original author remains in place.
-#
-#   4) Modified copies are clearly identified as such, with
-#      additional accreditation given to the authors of each
-#      modified version.
-#
-# =====================================================================
-#
-# Exactly one argument is required...
-#
-  if test $# -eq 1
-  then
-#
-#   Normally, it specifies the mount point to be released,
-#   but it may also represent a mounted directory path name,
-#   for which all bound mount points are to be filtered out
-#   of the "mount table" file.
-#
-    MNTPATH=`echo "$1" | tr '\\\\' /`
-    TMPFILE=${TMPDIR-"/tmp"}/mnttab$$.tmp
-    MNTTAB=${MNTTAB-"/etc/fstab"}
-#
-    if cat "$MNTTAB" | tr '\\' / | awk '
-#
-#     Copy the "mount table" to a temporary file, filtering
-#     out all active mount point records which match MNTPATH,
-#     (the specified argument); set exit status to:--
-#       0: if at least one mount point is matched;
-#       1: if no match is found.
-#
-      BEGIN { status = 1 }
-      { keep = $0 }
-      /^#/ { print; keep = "no"; $0 = "!'$MNTPATH'" }
-      $2 == "'$MNTPATH'" { keep = "no"; status = 0 }
-      { $2 = "!" } $0 == "'$MNTPATH' !" { keep = "no"; status = 0 }
-      keep != "no" { print keep }
-      END { exit status }' > "$TMPFILE"
-    then
-#
-#     At least one mount point was selected to release...
-#     Replace the active "mount table" file with the regenerated
-#     copy, so completing the operation.
-#
-      cp "$TMPFILE" "$MNTTAB"
-      rm -f "$TMPFILE"
-#
-    else
-#
-#     No active mount point matched the specified argument...
-#     Discard the temporary file, complain, and bail out.
-#
-      rm -f "$TMPFILE"
-      echo >&2 "$0: '$1' is not mounted"
-      exit 1
-    fi
-#
-  else
-#
-#   The command line did not specify exactly one argument...
-#   Complain, and bail out.
-#
-    echo >&2 "$0: incorrect number of arguments"
-    echo >&2 "usage: umount <path>"
-    exit 2
-  fi
-#
-# On successful completion, ensure we set the exit status appropriately.
-#
-  exit 0
-#
-# $RCSfile: umount,v $: end of file
Index: Daodan/MinGW/msys/1.0/bin/uncompress
===================================================================
--- Daodan/MinGW/msys/1.0/bin/uncompress	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec gzip -d "$@"
Index: Daodan/MinGW/msys/1.0/bin/which
===================================================================
--- Daodan/MinGW/msys/1.0/bin/which	(revision 1046)
+++ 	(revision )
@@ -1,66 +1,0 @@
-#!/bin/sh
-# Original copyright (C) 2002, Earnie Boyd
-#   mailto:earnie@users.sf.net
-# This implementation copyright (C) 2006, 2008, Keith Marshall
-#   mailto:keithmarshall@users.sf.net
-#
-# This file is part of MSYS
-#   http://www.mingw.org/msys.shtml
-#
-# File: which
-# $Id: which,v 1.4 2009/03/14 14:13:32 keithmarshall Exp $
-
-CMD=`IFS='\\/:'; set CMD $0; eval echo \$\{$#\}`
-if test $# -lt 1
-then
-  echo >&2 "$CMD: syntax error: missing argument"
-  echo >&2 "Usage: $CMD [ -a | --all ] cmd ..."
-  exit 1
-fi
-
-# To accomodate Woe32's typically asinine $PATH, which frequently
-# includes directory names with embedded spaces, we need to set up
-# $IFS to consider only a newline as a field separator.
-IFS=$'\n'
-
-break=break
-for PROG
-do
-  if test x"$PROG" = x-a || test x"$PROG" = x--all
-  then
-    break=""
-  else
-    WHICH=""
-    # need `type -ap -- "$PROG" || type -p -- "$PROG"'
-    # because `type -ap foo' reports nothing, if both `foo' and `foo.exe'
-    # are present, and are distinct.
-    for LIST in `type -ap -- "$PROG" || type -p -- "$PROG"`
-    do
-      if test -f "$LIST"
-      then
-	# preserve `.exe' extension
-        WHICH="$LIST"`test -f "$LIST.exe" && echo '.exe'`
-	if test "$LIST" != "$WHICH"
-	then
-	  # detect distinct `foo' and `foo.exe'
-	  # (this needs IFS=<space>, to get the INODE numbers)
-	  IFS=" " INODE1=`ls -id "$LIST"` INODE2=`ls -id "$WHICH"`
-	  if test `set ref $INODE1; echo $2` != `set ref $INODE2; echo $2`
-	  then
-	    # `foo' matches first, followed by `foo.exe'
-	    test -z "$break" && echo "$LIST" || WHICH="$LIST"
-	  fi
-	  # reset IFS=<newline>, to get any further PROG names
-	  IFS=$'\n'
-	fi
-	echo "$WHICH"
-	$break
-      fi
-    done
-    test x"$WHICH" = x && echo >&2 "$CMD: $PROG: "${ERROR="unknown command"}
-  fi
-done
-test ${ERROR+set} && exit 1
-exit 0
-
-# $RCSfile: which,v $: end of file
Index: Daodan/MinGW/msys/1.0/bin/xzcmp
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzcmp	(revision 1046)
+++ 	(revision )
@@ -1,172 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *cmp*) prog=xzcmp; cmp=${CMP:-cmp};;
-  *)     prog=xzdiff; cmp=${DIFF:-diff};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... FILE1 [FILE2]
-Compare FILE1 to FILE2, using their uncompressed contents if they are
-compressed.  If FILE2 is omitted, then the files compared are FILE1 and
-FILE1 from which the compression format suffix has been stripped.
-
-Do comparisons like '$cmp' does.  OPTIONs are the same as for '$cmp'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-
-while :; do
-  case $1 in
-    --h*) printf '%s\n' "$usage" || exit 2; exit;;
-    --v*) echo "$version" || exit 2; exit;;
-    --) shift; break;;
-    -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
-    -?*) cmp="$cmp '$1'";;
-    *) break;;
-  esac
-  shift
-done
-cmp="$cmp --"
-
-for file; do
-  test "X$file" = X- || <"$file" || exit 2
-done
-
-xz1=$xz
-xz2=$xz
-xz_status=0
-exec 3>&1
-
-if test $# -eq 1; then
-  case $1 in
-    *[-.]xz | *[-.]lzma | *.t[lx]z)
-      ;;
-    *[-.]bz2 | *.tbz | *.tbz2)
-      xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z)
-      xz1=gzip;;
-    *)
-      echo >&2 "$0: $1: Unknown compressed file name suffix"
-      exit 2;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma)
-      FILE=`expr "X$1" : 'X\(.*\)[-.][abglmxzZ2]*$'`;;
-    *.t[abglx]z)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)[abglx]z$'`ar;;
-    *.tbz2)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)bz2$'`ar;;
-  esac
-  xz_status=$(
-    exec 4>&1
-    ($xz1 -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
-  )
-elif test $# -eq 2; then
-  case $1 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;;
-  esac
-  case $2 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-      case "$2" in
-        *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-          if test "$1$2" = --; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq - 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - - >&3
-            )
-          elif # Reject Solaris 8's buggy /bin/bash 2.03.
-              echo X | (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) 5<&0; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-                eval "$cmp" /dev/fd/5 - >&3) 5<&0
-            )
-            case $xz_status in
-              *[1-9]*) xz_status=1;;
-              *) xz_status=0;;
-            esac
-          else
-            F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog
-            tmp=
-            trap '
-              test -n "$tmp" && rm -f "$tmp"
-              (exit 2); exit 2
-            ' HUP INT PIPE TERM 0
-            tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-            $xz2 -cdfq -- "$2" > "$tmp" || exit 2
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - '"$tmp"' >&3
-            )
-            cmp_status=$?
-            rm -f "$tmp" || xz_status=$?
-            trap - HUP INT PIPE TERM 0
-            (exit $cmp_status)
-          fi;;
-      *)
-        xz_status=$(
-          exec 4>&1
-          ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" - '"$2"' >&3
-        );;
-    esac;;
-  *)
-    case "$2" in
-      *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-        xz_status=$(
-          exec 4>&1
-          ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" '"$1"' - >&3
-         );;
-      *)
-        eval "$cmp" '"$1"' '"$2"';;
-    esac;;
-  esac
-else
-  echo >&2 "$0: Invalid number of operands; try \`${0##*/} --help' for help"
-  exit 2
-fi
-
-cmp_status=$?
-test "$xz_status" -eq 0 || exit 2
-exit $cmp_status
Index: Daodan/MinGW/msys/1.0/bin/xzdiff
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzdiff	(revision 1046)
+++ 	(revision )
@@ -1,172 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *cmp*) prog=xzcmp; cmp=${CMP:-cmp};;
-  *)     prog=xzdiff; cmp=${DIFF:-diff};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... FILE1 [FILE2]
-Compare FILE1 to FILE2, using their uncompressed contents if they are
-compressed.  If FILE2 is omitted, then the files compared are FILE1 and
-FILE1 from which the compression format suffix has been stripped.
-
-Do comparisons like '$cmp' does.  OPTIONs are the same as for '$cmp'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-
-while :; do
-  case $1 in
-    --h*) printf '%s\n' "$usage" || exit 2; exit;;
-    --v*) echo "$version" || exit 2; exit;;
-    --) shift; break;;
-    -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
-    -?*) cmp="$cmp '$1'";;
-    *) break;;
-  esac
-  shift
-done
-cmp="$cmp --"
-
-for file; do
-  test "X$file" = X- || <"$file" || exit 2
-done
-
-xz1=$xz
-xz2=$xz
-xz_status=0
-exec 3>&1
-
-if test $# -eq 1; then
-  case $1 in
-    *[-.]xz | *[-.]lzma | *.t[lx]z)
-      ;;
-    *[-.]bz2 | *.tbz | *.tbz2)
-      xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z)
-      xz1=gzip;;
-    *)
-      echo >&2 "$0: $1: Unknown compressed file name suffix"
-      exit 2;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma)
-      FILE=`expr "X$1" : 'X\(.*\)[-.][abglmxzZ2]*$'`;;
-    *.t[abglx]z)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)[abglx]z$'`ar;;
-    *.tbz2)
-      FILE=`expr "X$1" : 'X\(.*[-.]t\)bz2$'`ar;;
-  esac
-  xz_status=$(
-    exec 4>&1
-    ($xz1 -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
-  )
-elif test $# -eq 2; then
-  case $1 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;;
-  esac
-  case $2 in
-    *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;;
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;;
-  esac
-  case $1 in
-    *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-      case "$2" in
-        *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-          if test "$1$2" = --; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq - 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - - >&3
-            )
-          elif # Reject Solaris 8's buggy /bin/bash 2.03.
-              echo X | (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) 5<&0; then
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-                eval "$cmp" /dev/fd/5 - >&3) 5<&0
-            )
-            case $xz_status in
-              *[1-9]*) xz_status=1;;
-              *) xz_status=0;;
-            esac
-          else
-            F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog
-            tmp=
-            trap '
-              test -n "$tmp" && rm -f "$tmp"
-              (exit 2); exit 2
-            ' HUP INT PIPE TERM 0
-            tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-            $xz2 -cdfq -- "$2" > "$tmp" || exit 2
-            xz_status=$(
-              exec 4>&1
-              ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                eval "$cmp" - '"$tmp"' >&3
-            )
-            cmp_status=$?
-            rm -f "$tmp" || xz_status=$?
-            trap - HUP INT PIPE TERM 0
-            (exit $cmp_status)
-          fi;;
-      *)
-        xz_status=$(
-          exec 4>&1
-          ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" - '"$2"' >&3
-        );;
-    esac;;
-  *)
-    case "$2" in
-      *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -)
-        xz_status=$(
-          exec 4>&1
-          ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-            eval "$cmp" '"$1"' - >&3
-         );;
-      *)
-        eval "$cmp" '"$1"' '"$2"';;
-    esac;;
-  esac
-else
-  echo >&2 "$0: Invalid number of operands; try \`${0##*/} --help' for help"
-  exit 2
-fi
-
-cmp_status=$?
-test "$xz_status" -eq 0 || exit 2
-exit $cmp_status
Index: Daodan/MinGW/msys/1.0/bin/xzegrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzegrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/xzfgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzfgrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/xzgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzgrep	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-#!/bin/sh
-
-# xzgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the
-# environment variables.
-xz='xz --format=auto'
-unset GZIP BZIP BZIP2
-
-case ${0##*/} in
-  *egrep*) prog=xzegrep; grep=${GREP:-egrep};;
-  *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
-  *)       prog=xzgrep; grep=${GREP:-grep};;
-esac
-
-version="$prog (XZ Utils) 5.0.3"
-
-usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for '$grep'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: Option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (--no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then
-  grep="$grep -q"
-fi
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i; do
-  case $i in
-    *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";;
-    *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";;
-    *) uncompress="$xz -cdfq";;
-  esac
-  # Fail if xz or grep (or sed) fails.
-  xz_status=$(
-    exec 5>&1
-    ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" || {
-        r=$?
-        if test $r -eq 1; then
-          printf '%s\n' "$i" || r=2
-        fi
-        exit $r
-      }
-    elif test $with_filename -eq 0 &&
-         { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-            sed '
-              $!N
-              $s/[&\|]/\\&/g
-              $s/\n/\\n/g
-            ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-        exec 4>&1
-        (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$xz_status" -eq 0 || test "$xz_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/xzless
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzless	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-
-# The original version for gzip was written by Paul Eggert.
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT.
-xz='xz --format=auto'
-
-version='xzless (XZ Utils) 5.0.3'
-
-usage="Usage: ${0##*/} [OPTION]... [FILE]...
-Like 'less', but operate on the uncompressed contents of xz compressed FILEs.
-
-Options are the same as for 'less'.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-case $1 in
-	--help)    echo "$usage" || exit 2; exit;;
-	--version) echo "$version" || exit 2; exit;;
-esac
-
-if test "${LESSMETACHARS+set}" != set; then
-	# Work around a bug in less 394 and earlier;
-	# it mishandles the metacharacters '$%=~'.
-	space=' '
-	tab='	'
-	nl='
-'
-	LESSMETACHARS="$space$tab$nl'"';*?"()<>[|&^`#\$%=~'
-fi
-
-if test "$(less -V | { read ver && echo ${ver#less }; })" -ge 429; then
-	# less 429 or later: LESSOPEN pipe will be used on
-	# standard input if $LESSOPEN begins with |-.
-	LESSOPEN="|-$xz -cdfq -- %s"
-else
-	LESSOPEN="|$xz -cdfq -- %s"
-fi
-export LESSMETACHARS LESSOPEN
-
-exec less "$@"
Index: Daodan/MinGW/msys/1.0/bin/xzmore
===================================================================
--- Daodan/MinGW/msys/1.0/bin/xzmore	(revision 1046)
+++ 	(revision )
@@ -1,78 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 2001, 2002, 2007 Free Software Foundation
-# Copyright (C) 1992, 1993 Jean-loup Gailly
-
-# Modified for XZ Utils by Andrew Dudman and Lasse Collin.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-#SET_PATH - This line is a placeholder to ease patching this script.
-
-# Instead of unsetting XZ_OPT, just make sure that xz will use file format
-# autodetection. This way memory usage limit and thread limit can be
-# specified via XZ_OPT.
-xz='xz --format=auto'
-
-version='xzmore (XZ Utils) 5.0.3'
-
-usage="Usage: ${0##*/} [OPTION]... [FILE]...
-Like 'more', but operate on the uncompressed contents of xz compressed FILEs.
-
-Report bugs to <lasse.collin@tukaani.org>."
-
-case $1 in
-	--help)    echo "$usage" || exit 2; exit;;
-	--version) echo "$version" || exit 2; exit;;
-esac
-
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
-	cb='cbreak'; ncb='-cbreak'
-else
-	# 'stty min 1' resets eof to ^a on both SunOS and SysV!
-	cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 && test -n "$oldtty"; then
-	trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
-else
-	trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
-fi
-
-if test $# = 0; then
-	if test -t 0; then
-		echo "$usage"; exit 1
-	else
-		$xz -cdfq | eval "${PAGER:-more}"
-	fi
-else
-	FIRST=1
-	for FILE; do
-		< "$FILE" || continue
-		if test $FIRST -eq 0; then
-			printf "%s--More--(Next file: %s)" "" "$FILE"
-			stty $cb -echo 2>/dev/null
-			ANS=`dd bs=1 count=1 2>/dev/null`
-			stty $ncb echo 2>/dev/null
-			echo " "
-			case "$ANS" in
-				[eq]) exit;;
-			esac
-		fi
-		if test "$ANS" != 's'; then
-			echo "------> $FILE <------"
-			$xz -cdfq -- "$FILE" | eval "${PAGER:-more}"
-		fi
-		if test -t 1; then
-			FIRST=0
-		fi
-	done
-fi
Index: Daodan/MinGW/msys/1.0/bin/zcat
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zcat	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec gzip -cd "$@"
Index: Daodan/MinGW/msys/1.0/bin/zcmp
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zcmp	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec zdiff --__cmp "$@"
Index: Daodan/MinGW/msys/1.0/bin/zdiff
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zdiff	(revision 1046)
+++ 	(revision )
@@ -1,161 +1,0 @@
-#!/bin/sh
-# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-
-case $1 in
-  --__cmp) shift
-	prog=cmp;  cmp='${CMP-cmp}'  ;;
-  *)    prog=diff; cmp='${DIFF-diff}';;
-esac
-
-version="z$prog (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly."
-
-usage="Usage: $0 [OPTION]... FILE1 [FILE2]
-Compare FILE1 to FILE2, using their uncompressed contents if they are
-compressed.  If FILE2 is omitted, compare FILE1 to the uncompressed
-contents of FILE1.gz.  Do comparisons like '$prog' does.
-
-OPTIONs are the same as for '$prog'.
-
-Report bugs to <bug-gzip@gnu.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-
-while :; do
-  case $1 in
-  --h*) printf '%s\n' "$usage" || exit 2; exit;;
-  --v*) echo "$version" || exit 2; exit;;
-  --) shift; break;;
-  -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
-  -?*) cmp="$cmp '$1'";;
-  *) break;;
-  esac
-  shift
-done
-cmp="$cmp --"
-
-for file
-do
-  test "X$file" = X- || <"$file" || exit 2
-done
-
-gzip_status=0
-exec 3>&1
-
-if test $# -eq 1; then
-  case $1 in
-  *[-.]gz* | *[-.][zZ] | *.t[ga]z)
-    FILE=`expr "X$1" : 'X\(.*\)[-.][zZtga]*$'`
-    gzip_status=$(
-      exec 4>&1
-      (gzip -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
-    );;
-  *)
-    echo >&2 "$0: $1: unknown compressed file extension"
-    exit 2;;
-  esac
-elif test $# -eq 2; then
-	case "$1" in
-	*[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
-                case "$2" in
-		*[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
-		    if test "$1$2" = --; then
-			gzip_status=$(
-			  exec 4>&1
-			  (gzip -cdfq - 4>&-; echo $? >&4) 3>&- |
-			    eval "$cmp" - - >&3
-			)
-		    elif
-			# Reject Solaris 8's buggy /bin/bash 2.03.
-			echo X |
-			 (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) \
-				5<&0
-		    then
-			gzip_status=$(
-			  exec 4>&1
-			  (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-			    ( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-			       eval "$cmp" /dev/fd/5 - >&3) 5<&0
-			)
-			case $gzip_status in
-			  *[1-9]*) gzip_status=1;;
-			  *) gzip_status=0;;
-			esac
-		    else
-			F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog
-			tmp=
-			trap '
-			  test -n "$tmp" && rm -f "$tmp"
-			  (exit 2); exit 2
-			' HUP INT PIPE TERM 0
-			if type mktemp >/dev/null 2>&1; then
-			  tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-			else
-			  set -C
-			  tmp=${TMPDIR-/tmp}/$F.$$
-			fi
-			gzip -cdfq -- "$2" > "$tmp" || exit 2
-			gzip_status=$(
-			  exec 4>&1
-			  (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-			    eval "$cmp" - '"$tmp"' >&3
-			)
-                        cmp_status=$?
-			rm -f "$tmp" || gzip_status=$?
-			trap - HUP INT PIPE TERM 0
-			(exit $cmp_status)
-		    fi;;
-		*)
-		    gzip_status=$(
-		      exec 4>&1
-		      (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-		        eval "$cmp" - '"$2"' >&3
-		    );;
-                esac;;
-        *)      case "$2" in
-		*[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
-			gzip_status=$(
-			  exec 4>&1
-			  (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-			    eval "$cmp" '"$1"' - >&3
-			);;
-		*)	eval "$cmp" '"$1"' '"$2"';;
-                esac;;
-	esac
-else
-	echo >&2 "$0: invalid number of operands; try \`$0 --help' for help"
-	exit 2
-fi
-
-cmp_status=$?
-test "$gzip_status" -eq 0 || exit 2
-exit $cmp_status
Index: Daodan/MinGW/msys/1.0/bin/zegrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zegrep	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec zgrep -E "$@"
Index: Daodan/MinGW/msys/1.0/bin/zfgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zfgrep	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-#!/bin/sh
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-exec zgrep -F "$@"
Index: Daodan/MinGW/msys/1.0/bin/zforce
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zforce	(revision 1046)
+++ 	(revision )
@@ -1,71 +1,0 @@
-#!/bin/sh
-# zforce: force a gz extension on all gzip files so that gzip will not
-# compress them twice.
-#
-# This can be useful for files with names truncated after a file transfer.
-# 12345678901234 is renamed to 12345678901.gz
-
-
-# Copyright (C) 2002, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH="${GZIP_BINDIR-'/usr/bin'}:$PATH"; export PATH
-
-version="zforce (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly."
-
-usage="Usage: $0 [FILE]...
-Force a .gz extension on all compressed FILEs so that gzip will
-not compress them twice.
-
-Report bugs to <bug-gzip@gnu.org>."
-
-if test $# = 0; then
-  echo "$usage"
-  exit 1
-fi
-
-res=0
-for i do
-  case "$i" in
-  --h*) exec echo "$usage";;
-  --v*) exec echo "$version";;
-  *[-.]z | *[-.]gz | *.t[ag]z) continue;;
-  esac
-
-  if test ! -f "$i" ; then
-    echo zforce: $i not a file
-    res=1
-    continue
-  fi
-
-  if gzip -lv < "$i" 2>/dev/null | grep '^defl' > /dev/null; then
-
-    new="$i.gz"
-    if mv "$i" "$new"; then
-      echo $i -- replaced with $new
-    else
-      res=$?
-    fi
-  fi
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/zgrep
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zgrep	(revision 1046)
+++ 	(revision )
@@ -1,209 +1,0 @@
-#!/bin/sh
-
-# zgrep -- a wrapper around a grep program that decompresses files as needed
-# Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
-grep='${GREP-grep}'
-
-version='z$grep (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly.'
-
-usage="Usage: $0 [OPTION]... [-e] PATTERN [FILE]...
-Look for instances of PATTERN in the input FILEs, using their
-uncompressed contents if they are compressed.
-
-OPTIONs are the same as for 'grep'.
-
-Report bugs to <bug-gzip@gnu.org>."
-
-# sed script to escape all ' for the shell, and then (to handle trailing
-# newlines correctly) turn trailing X on last line into '.
-escape='
-  s/'\''/'\''\\'\'''\''/g
-  $s/X$/'\''/
-'
-operands=
-have_pat=0
-pat_on_stdin=0
-files_with_matches=0
-files_without_matches=0
-no_filename=0
-with_filename=0
-
-while test $# -ne 0; do
-  option=$1
-  shift
-  optarg=
-
-  case $option in
-  (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*)
-    arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape")
-    eval "set -- $arg2 "'${1+"$@"}'
-    option=$(expr "X$option" : 'X\(-.[0-9]*\)');;
-  (--binary-*=* | --[lm]a*=* | --reg*=*)
-    ;;
-  (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*)
-    case ${1?"$option option requires an argument"} in
-    (*\'*)
-      optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");;
-    (*)
-      optarg=" '$1'";;
-    esac
-    shift;;
-  (--)
-    break;;
-  (-?*)
-    ;;
-  (*)
-    case $option in
-    (*\'*)
-      operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");;
-    (*)
-      operands="$operands '$option'";;
-    esac
-    ${POSIXLY_CORRECT+break}
-    continue;;
-  esac
-
-  case $option in
-  (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*)
-    printf >&2 '%s: %s: option not supported\n' "$0" "$option"
-    exit 2;;
-  (-[ef]* | --file | --file=* | --reg*)
-    # The pattern is coming from a file rather than the command-line.
-    # If the file is actually stdin then we need to do a little
-    # magic, (since we use stdin to pass the gzip output to grep).
-    # So find a free fd and change the argument to then use this
-    # file descriptor for the pattern.
-    case $optarg in
-    (" '-'" | " '/dev/stdin'" | " '/dev/fd/0'")
-      pat_on_stdin=1
-      # Start search from 6 since the script already uses 3 and 5
-      for fd in $(seq 6 254); do
-	  if test ! -e /dev/fd/$fd; then
-	      pat_fd=$fd
-	      break;
-	  fi
-      done
-      optarg=/dev/fd/$pat_fd;
-    esac
-    have_pat=1;;
-  (--h | --he | --hel | --help)
-    echo "$usage" || exit 2
-    exit;;
-  (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \
-  | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \
-  | --with-filename)
-    with_filename=1
-    continue;;
-  (-l | --files-with-*)
-    files_with_matches=1;;
-  (-L | --files-witho*)
-    files_without_matches=1;;
-  (-h | --no-f*)
-    no_filename=1;;
-  (-V | --v | --ve | --ver | --vers | --versi | --versio | --version)
-    echo "$version" || exit 2
-    exit;;
-  esac
-
-  case $option in
-  (*\'?*)
-    option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");;
-  (*)
-    option="'$option'";;
-  esac
-
-  grep="$grep $option$optarg"
-done
-
-eval "set -- $operands "'${1+"$@"}'
-
-if test $have_pat -eq 0; then
-  case ${1?"missing pattern; try \`$0 --help' for help"} in
-  (*\'*)
-    grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");;
-  (*)
-    grep="$grep -- '$1'";;
-  esac
-  shift
-fi
-
-if test $# -eq 0; then
-  set -- -
-fi
-
-exec 3>&1
-res=0
-
-for i
-do
-  # Fail if gzip or grep (or sed) fails.
-  gzip_status=$(
-    exec 5>&1
-    if test $pat_on_stdin -eq 1; then
-	eval "exec $pat_fd<&0"
-    fi
-    (gzip -cdfq -- "$i" 5>&-; echo $? >&5) 3>&- |
-    if test $files_with_matches -eq 1; then
-      eval "$grep" >/dev/null && { printf '%s\n' "$i" || exit 2; }
-    elif test $files_without_matches -eq 1; then
-      eval "$grep" >/dev/null || {
-	r=$?
-	if test $r -eq 1; then
-	  printf '%s\n' "$i" || r=2
-	fi
-	exit $r
-      }
-    elif test $with_filename -eq 0 &&
-	 { test $# -eq 1 || test $no_filename -eq 1; }; then
-      eval "$grep"
-    else
-      case $i in
-      (*'
-'* | *'&'* | *'\'* | *'|'*)
-        i=$(printf '%s\n' "$i" |
-	    sed '
-	      $!N
-	      $s/[&\|]/\\&/g
-	      $s/\n/\\n/g
-	    ');;
-      esac
-      sed_script="s|^|$i:|"
-
-      # Fail if grep or sed fails.
-      r=$(
-	exec 4>&1
-	(eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
-      ) || r=2
-      exit $r
-    fi >&3 5>&-
-  )
-  r=$?
-  test "$gzip_status" -eq 0 || test "$gzip_status" -eq 2 || r=2
-  test $res -lt $r && res=$r
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/bin/zless
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zless	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH="${GZIP_BINDIR-'/usr/bin'}:$PATH"; export PATH
-
-version="zless (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Paul Eggert."
-
-usage="Usage: $0 [OPTION]... [FILE]...
-Like 'less', but operate on the uncompressed contents of any compressed FILEs.
-
-Options are the same as for 'less'.
-
-Report bugs to <bug-gzip@gnu.org>."
-
-case $1 in
---help)    exec echo "$usage";;
---version) exec echo "$version";;
-esac
-
-if test "${LESSMETACHARS+set}" != set; then
-  # Work around a bug in less 394 and earlier;
-  # it mishandles the metacharacters '$%=~'.
-  space=' '
-  tab='	'
-  newline='
-'
-  LESSMETACHARS="$space$tab$newline'"';*?"()<>[|&^`#\$%=~'
-  export LESSMETACHARS
-fi
-
-LESSOPEN="|gzip -cdfq -- %s"; export LESSOPEN
-exec less "$@"
Index: Daodan/MinGW/msys/1.0/bin/zmore
===================================================================
--- Daodan/MinGW/msys/1.0/bin/zmore	(revision 1046)
+++ 	(revision )
@@ -1,88 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 2001, 2002, 2007 Free Software Foundation
-# Copyright (C) 1992, 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH="${GZIP_BINDIR-'/usr/bin'}:$PATH"; export PATH
-
-version="zmore (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly."
-
-usage="Usage: $0 [OPTION]... [FILE]...
-Like 'more', but operate on the uncompressed contents of any compressed FILEs.
-
-Report bugs to <bug-gzip@gnu.org>."
-
-if test "`echo -n a`" = "-n a"; then
-  # looks like a SysV system:
-  n1=''; n2='\c'
-else
-  n1='-n'; n2=''
-fi
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
-  cb='cbreak'; ncb='-cbreak'
-else
-  # 'stty min 1' resets eof to ^a on both SunOS and SysV!
-  cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 && test -n "$oldtty"; then
-   trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
-else
-   trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
-fi
-
-if test $# = 0; then
-    if test -t 0; then
-	echo "$usage"
-    else
-	gzip -cdfq | eval more
-    fi
-else
-    FIRST=1
-    for FILE
-    do
-	case $FILE in
-	--h*) exec echo "$usage";;
-	--v*) exec echo "$version";;
-	esac
-
-	< "$FILE" || continue
-	if test $FIRST -eq 0; then
-		echo $n1 "--More--(Next file: $FILE)$n2"
-		stty $cb -echo 2>/dev/null
-		ANS=`dd bs=1 count=1 2>/dev/null`
-		stty $ncb echo 2>/dev/null
-		echo " "
-		case "$ANS" in
-		[eq]) exit;;
-		esac
-	fi
-	if test "$ANS" != 's'; then
-		echo "------> $FILE <------"
-		gzip -cdfq -- "$FILE" | more
-	fi
-	if test -t 1; then
-		FIRST=0
-	fi
-    done
-fi
Index: Daodan/MinGW/msys/1.0/bin/znew
===================================================================
--- Daodan/MinGW/msys/1.0/bin/znew	(revision 1046)
+++ 	(revision )
@@ -1,183 +1,0 @@
-#!/bin/sh
-
-# Copyright (C) 1998, 2002, 2004, 2007 Free Software Foundation
-# Copyright (C) 1993 Jean-loup Gailly
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-PATH="${GZIP_BINDIR-'/usr/bin'}:$PATH"; export PATH
-
-version="znew (gzip) 1.3.12
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
-There is NO WARRANTY, to the extent permitted by law.
-
-Written by Jean-loup Gailly."
-
-usage="Usage: $0 [OPTION]... [FILE]...
-Recompress files from .Z (compress) format to .gz (gzip) format.
-
-Options:
-
-  -f     Force recompression even if a .gz file already exists.
-  -t     Test the new files before deleting originals.
-  -v     Verbose; display name and statistics for each file compressed.
-  -9     Use the slowest compression method (optimal compression).
-  -P     Use pipes for the conversion to reduce disk space usage.
-  -K     Keep a .Z file when it is smaller than the .gz file.
-      --help     display this help and exit
-      --version  output version information and exit
-
-Report bugs to <bug-gzip@gnu.org>."
-
-check=0
-pipe=0
-opt=
-files=
-keep=0
-res=0
-old=0
-new=0
-block=1024
-# block is the disk block size (best guess, need not be exact)
-
-warn="(does not preserve modes and timestamp)"
-tmp=${TMPDIR-/tmp}/zfoo.$$
-set -C
-echo hi > $tmp || exit
-if test -z "`(${CPMOD-cpmod} $tmp $tmp) 2>&1`"; then
-  cpmod=${CPMOD-cpmod}
-  warn=""
-fi
-
-if test -z "$cpmod" && ${TOUCH-touch} -r $tmp $tmp 2>/dev/null; then
-  cpmod="${TOUCH-touch}"
-  cpmodarg="-r"
-  warn="(does not preserve file modes)"
-fi
-
-# check if GZIP env. variable uses -S or --suffix
-gzip -q $tmp
-ext=`echo $tmp* | sed "s|$tmp||"`
-rm -f $tmp*
-if test -z "$ext"; then
-  echo znew: error determining gzip extension
-  exit 1
-fi
-if test "$ext" = ".Z"; then
-  echo znew: cannot use .Z as gzip extension.
-  exit 1
-fi
-
-for arg
-do
-  case "$arg" in
-  --help)      exec echo "$usage";;
-  --version)   exec echo "$version";;
-  -*)     opt="$opt $arg"; shift;;
-   *)     break;;
-  esac
-done
-
-if test $# -eq 0; then
-  echo "$usage"
-  exit 1
-fi
-
-opt=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
-case "$opt" in
-  *t*) check=1; opt=`echo "$opt" | sed 's/t//g'`
-esac
-case "$opt" in
-  *K*) keep=1; opt=`echo "$opt" | sed 's/K//g'`
-esac
-case "$opt" in
-  *P*) pipe=1; opt=`echo "$opt" | sed 's/P//g'`
-esac
-if test -n "$opt"; then
-  opt="-$opt"
-fi
-
-for i do
-  n=`echo $i | sed 's/.Z$//'`
-  if test ! -f "$n.Z" ; then
-    echo $n.Z not found
-    res=1; continue
-  fi
-  test $keep -eq 1 && old=`wc -c < "$n.Z"`
-  if test $pipe -eq 1; then
-    if gzip -d < "$n.Z" | gzip $opt > "$n$ext"; then
-      # Copy file attributes from old file to new one, if possible.
-      test -n "$cpmod" && $cpmod $cpmodarg "$n.Z" "$n$ext" 2> /dev/null
-    else
-      echo error while recompressing $n.Z
-      res=1; continue
-    fi
-  else
-    if test $check -eq 1; then
-      if cp -p "$n.Z" "$n.$$" 2> /dev/null || cp "$n.Z" "$n.$$"; then
-	:
-      else
-	echo cannot backup "$n.Z"
-        res=1; continue
-      fi
-    fi
-    if gzip -d "$n.Z"; then
-      :
-    else
-      test $check -eq 1 && mv "$n.$$" "$n.Z"
-      echo error while uncompressing $n.Z
-      res=1; continue
-    fi
-    if gzip $opt "$n"; then
-      :
-    else
-      if test $check -eq 1; then
-	mv "$n.$$" "$n.Z" && rm -f "$n"
-        echo error while recompressing $n
-      else
-	# compress $n  (might be dangerous if disk full)
-        echo error while recompressing $n, left uncompressed
-      fi
-      res=1; continue
-    fi
-  fi
-  test $keep -eq 1 && new=`wc -c < "$n$ext"`
-  if test $keep -eq 1 && test `expr \( $old + $block - 1 \) / $block` -lt \
-			      `expr \( $new + $block - 1 \) / $block`; then
-    if test $pipe -eq 1; then
-      rm -f "$n$ext"
-    elif test $check -eq 1; then
-      mv "$n.$$" "$n.Z" && rm -f "$n$ext"
-    else
-      gzip -d "$n$ext" && compress "$n" && rm -f "$n$ext"
-    fi
-    echo "$n.Z smaller than $n$ext -- unchanged"
-
-  elif test $check -eq 1; then
-    if gzip -t "$n$ext" ; then
-      rm -f "$n.$$" "$n.Z"
-    else
-      test $pipe -eq 0 && mv "$n.$$" "$n.Z"
-      rm -f "$n$ext"
-      echo error while testing $n$ext, $n.Z unchanged
-      res=1; continue
-    fi
-  elif test $pipe -eq 1; then
-    rm -f "$n.Z"
-  fi
-done
-exit $res
Index: Daodan/MinGW/msys/1.0/etc/fstab
===================================================================
--- Daodan/MinGW/msys/1.0/etc/fstab	(revision 1046)
+++ 	(revision )
@@ -1,9 +1,0 @@
-# /etc/fstab -- mount table configuration for MSYS.
-# Please refer to /etc/fstab.sample for explanatory annotation.
-
-# MSYS-Portable needs this "magic" comment:
-# MSYSROOT=C:/MinGW/msys/1.0
-
-# Win32_Path				Mount_Point
-#-------------------------------------	-----------
-C:/MinGW				/mingw
Index: Daodan/MinGW/msys/1.0/etc/fstab.sample
===================================================================
--- Daodan/MinGW/msys/1.0/etc/fstab.sample	(revision 1046)
+++ 	(revision )
@@ -1,29 +1,0 @@
-# /etc/fstab.sample -- sample mount table configuration for MSYS.
-
-# Lines with a "#" in column one are interpreted as comment lines;
-# with the exception of comments described as "magic", neither these
-# lines, nor any blank lines, are interpreted as configuration.
-
-# Comment lines which are described as "magic" should neither be
-# deleted, nor edited manually; ignoring this advice may cause your
-# MSYS installation to malfunction.
-
-# When running MSYS from a portable device, such as a USB thumb drive,
-# the following "magic" comment is used to track changes in host drive
-# letter assignment, so allowing MSYS-Portable start-up hooks to remap
-# mount table entries which refer to the relocated device:
-#
-# MSYSROOT=C:/MinGW/msys/1.0
-
-# The mount table configuration follows below.  The line format is
-# simple: you specify the Win32 path, followed by one or more space or
-# tab delimiters, followed by the mount point name.  In a typical UNIX
-# installation, each mount point must exist as a named directory on a
-# physically accessible device, before it can actually be used as a
-# mount point.  For this implementation the "must exist" requirement
-# is not enforced; however, it will assist programs such as find, and
-# readline's tab completion if each does physically exist.
-
-# Win32_Path				Mount_Point
-#-------------------------------------	-----------
-C:/MinGW				/mingw
Index: Daodan/MinGW/msys/1.0/etc/inputrc.default
===================================================================
--- Daodan/MinGW/msys/1.0/etc/inputrc.default	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-# Key-bindings for the command-line editor.
-
-# Ask before displaying >50 items
-# Since $WINDIR $PATH var can be in $PATH, this could list
-# all window exectables in C:\WINDOWS
-set completion-query-items 50
-
-# Ignore case for the command-line-completion functionality
-# on:  default to a Windows style console
-# off: default to a *nix style console
-set completion-ignore-case on
-
-# none, visible or audible
-set bell-style audible
-
-# disable/enable 8bit input
-set meta-flag on
-set input-meta on
-set output-meta off
-set convert-meta on
-
-# visible-stats
-# Append a mark according to the file type in a listing
-set visible-stats off
-set mark-directories on
-
-# Show all instead of beeping first
-set show-all-if-ambiguous off
-
-# MSYSTEM is emacs based
-$if mode=emacs
-	# Common to Console & RXVT
-	"\C-?": backward-kill-line     		# Ctrl-BackSpace
-	"\e[2~": paste-from-clipboard  		# "Ins. Key"
-	"\e[5~": beginning-of-history  		# Page up
-	"\e[6~": end-of-history        		# Page down
-	
-	$if term=msys # RXVT
-		"\e[7~": beginning-of-line      # Home Key
-		"\e[8~": end-of-line            # End Key
-		"\e[11~": display-shell-version # F1
-		"\e[15~": re-read-init-file     # F5
-	$endif
-	$if term=cygwin # Console
-		"\e[1~": beginning-of-line      # Home Key
-		"\e[4~": end-of-line            # End Key
-	$endif
-$endif
-
-
Index: Daodan/MinGW/msys/1.0/etc/profile
===================================================================
--- Daodan/MinGW/msys/1.0/etc/profile	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-# Copyright (C) 2001, 2002  Earnie Boyd  <earnie@users.sf.net>
-# This file is part of the Minimal SYStem.
-#   http://www.mingw.org/msys.shtml
-# 
-#         File:	profile
-#  Description:	Shell environment initialization script
-# Last Revised:	2002.05.04
-
-if [ -z "$MSYSTEM" ]; then
-  MSYSTEM=MINGW32
-fi
-
-# My decision to add a . to the PATH and as the first item in the path list
-# is to mimick the Win32 method of finding executables.
-#
-# I filter the PATH value setting in order to get ready for self hosting the
-# MSYS runtime and wanting different paths searched first for files.
-if [ $MSYSTEM == MINGW32 ]; then
-  export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
-else
-  export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
-fi
-
-if [ -z "$USERNAME" ]; then
-  LOGNAME="`id -un`"
-else
-  LOGNAME="$USERNAME"
-fi
-
-# Set up USER's home directory
-if [ -z "$HOME" ]; then
-  HOME="/home/$LOGNAME"
-fi
-
-if [ ! -d "$HOME" ]; then
-  mkdir -p "$HOME"
-  cp /etc/inputrc.default "$HOME"/.inputrc
-fi
-
-if [ "x$HISTFILE" == "x/.bash_history" ]; then
-  HISTFILE=$HOME/.bash_history
-fi
-
-export HOME LOGNAME MSYSTEM HISTFILE
-
-for i in /etc/profile.d/*.sh ; do
-  if [ -f $i ]; then
-    . $i
-  fi
-done
-
-export MAKE_MODE=unix
-export PS1='\[\033]0;$MSYSTEM:\w\007
-\033[32m\]\u@\h \[\033[33m\w\033[0m\]
-$ '
-
-alias clear=clsb
-
-cd "$HOME"
-
Index: Daodan/MinGW/msys/1.0/etc/termcap
===================================================================
--- Daodan/MinGW/msys/1.0/etc/termcap	(revision 1046)
+++ 	(revision )
@@ -1,1846 +1,0 @@
-######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
-#
-# This version of terminfo.src is distributed with ncurses and is maintained
-# by Thomas E. Dickey (TD).
-#
-# Report bugs and new terminal descriptions to
-#	bug-ncurses@gnu.org
-#
-#	$Revision: 1.354 $
-#	$Date: 2009/10/31 17:28:35 $
-#
-# The original header is preserved below for reference.  It is noted that there
-# is a "newer" version which differs in some cosmetic details (but actually
-# stopped updates several years ago); we have decided to not change the header
-# unless there is also a change in content.
-#
-# To further muddy the waters, it is noted that changes to this file as part of
-# maintenance of ncurses (since 1996) are generally conceded to be copyright
-# under the ncurses MIT-style license.  That was the effect of the agreement
-# which the principal authors of ncurses made in 1998.  However, since much of
-# the file itself is of unknown authorship (and the disclaimer below makes it
-# obvious that Raymond cannot or will not convey rights over those parts),
-# there is no explicit copyright notice on the file itself.
-#
-# It would also be a nuisance to split the file into unknown/known authorship
-# and move pieces as they are maintained, since many of the maintenance changes
-# have been small corrections to Raymond's translations to/from termcap format,
-# correcting the data but not the accompanying annotations.
-#
-# In any case, note that almost half of this file is not data but annotations
-# which reflect creative effort.  Furthermore, the structure of entries to
-# reuse common chunks also is creative (and subject to copyright).  Finally,
-# some portions of the data are derivative work under a compatible MIT-style
-# license from xterm.
-#
-#------------------------------------------------------------------------------
-#	Version 10.2.1
-#	terminfo syntax
-#
-#	Eric S. Raymond		(current maintainer)
-#	John Kunze, Berkeley
-#	Craig Leres, Berkeley
-#
-# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
-# address is no longer valid.  The latest version can always be found at
-# <http://www.tuxedo.org/terminfo>.
-#
-# PURPOSE OF THIS FILE:
-#
-# This file describes the capabilities of various character-cell terminals,
-# as needed by software such as screen-oriented editors.
-#
-# Other terminfo and termcap files exist, supported by various OS vendors
-# or as relics of various older versions of UNIX.  This one is the longest
-# and most comprehensive one in existence.  It subsumes not only the entirety
-# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL
-# termcap file, but also large numbers of vendor-maintained termcap and
-# terminfo entries more complete and carefully tested than those in historical
-# termcap/terminfo versions.
-#
-# Pointers to related resources (including the ncurses distribution) may
-# be found at <http://www.tuxedo.org/terminfo>.
-#
-# INTERNATIONALIZATION:
-#
-# This file uses only the US-ASCII character set (no ISO8859 characters).
-#
-# This file assumes a US-ASCII character set. If you need to fix this, start
-# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
-# for your character set.  \E(A and \E)A enables the British character set
-# with the pound sign at position 2/3.
-#
-# In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
-# C1 characters are considered the first-byte set of the Japanese encodings,
-# so \E)0 should be avoided in <enacs> and initialization strings.
-#
-# FILE FORMAT:
-#
-# The version you are looking at may be in any of three formats: master
-# (terminfo with OT capabilities), stock terminfo, or termcap.  You can tell
-# which by the format given in the header above.
-#
-# The master format is accepted and generated by the terminfo tools in the
-# ncurses suite; it differs from stock (System V-compatible) terminfo only
-# in that it admits a group of capabilities (prefixed `OT') equivalent to
-# various obsolete termcap capabilities.  You can, thus, convert from master
-# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if
-# you have ncurses `tic -I' is nicer (among other things, it automatically
-# outputs entries in a canonical form).
-#
-# The termcap version is generated automatically from the master version
-# using tic -C.  This filtering leaves in the OT capabilities under their
-# original termcap names.  All translated entries fit within the 1023-byte
-# string-table limit of archaic termcap libraries except where explicitly
-# noted below.  Note that the termcap translation assumes that your termcap
-# library can handle multiple tc capabilities in an entry. 4.4BSD has this
-# capability.  Older versions of GNU termcap, through 1.3, do not.
-#
-# For details on these formats, see terminfo(5) in the ncurses distribution,
-# and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
-# curses has been declared obsolete by the caretakers of the 4.4BSD sources
-# as of June 1995; they are encouraging everyone to migrate to ncurses.
-#
-# Note: unlike some other distributed terminfo files (Novell Unix & SCO's),
-# no entry in this file has embedded comments.  This is so source translation
-# to termcap only has to carry over leading comments.  Also, no name field
-# contains embedded whitespace (such whitespace confuses rdist).
-#
-# Further note: older versions of this file were often installed with an editor
-# script (reorder) that moved the most common terminal types to the front of
-# the file.  This should no longer be necessary, as the file is now ordered
-# roughly by type frequency with ANSI/VT100 and other common types up front.
-#
-# Some information has been merged in from terminfo files distributed by
-# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below).  Much information
-# comes from vendors who maintain official terminfos for their hardware
-# (notably DEC and Wyse).
-#
-# A detailed change history is included at the end of this file.
-#
-# FILE ORGANIZATION:
-#
-# Comments in this file begin with # - they cannot appear in the middle
-# of a terminfo/termcap entry (this feature had to be sacrificed in order
-# to allow standard terminfo and termcap syntax to be generated cleanly from
-# the master format).  Individual capabilities are commented out by
-# placing a period between the colon and the capability name.
-#
-# The file is divided up into major sections (headed by lines beginning with
-# the string "########") and minor sections (beginning with "####"); do
-#
-#	grep "^####" <file> | more
-#
-# to see a listing of section headings.  The intent of the divisions is
-# (a) to make it easier to find things, and (b) to order the database so
-# that important and frequently-encountered terminal types are near the
-# front (so that you'll get reasonable search efficiency from a linear
-# search of the termcap form even if you don't use reorder).  Minor sections
-# usually correspond to manufacturers or standard terminal classes.
-# Parenthesized words following manufacturer names are type prefixes or
-# product line names used by that manufacturers.
-#
-# HOW TO READ THE ENTRIES:
-#
-# The first name in an entry is the canonical name for the model or
-# type, last entry is a verbose description.  Others are mnemonic synonyms for
-# the terminal.
-#
-# Terminal names look like <manufacturer> <model> - <modes/options>
-# The part to the left of the dash, if a dash is present, describes the
-# particular hardware of the terminal.  The part to the right may be used
-# for flags indicating special ROMs, extra memory, particular terminal modes,
-# or user preferences.
-#
-# All names should be in lower case, for consistency in typing.
-#
-# The following are conventionally used suffixes:
-#	-2p	Has two pages of memory.  Likewise 4p, 8p, etc.
-#	-am	Enable auto-margin.
-#	-m	Monochrome.  Suppress color support
-#	-mc	Magic-cookie.  Some terminals (notably older Wyses) can
-#		only support one attribute without magic-cookie lossage.
-#		Their base entry is usually paired with another that
-#		uses magic cookies to support multiple attributes.
-#	-nam	No auto-margin - suppress :am: capability
-#	-nl	No labels - suppress soft labels
-#	-ns	No status line - suppress status line
-#	-rv	Terminal in reverse video mode (black on white)
-#	-s	Enable status line.
-#	-vb	Use visible bell (:vb:) rather than :bl:.
-#	-w	Wide - in 132 column mode.
-# If a name has multiple suffixes and one is a line height, that one should
-# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
-#
-# Entries with embedded plus signs are designed to be included through use/tc
-# capabilities, not used as standalone entries.
-#
-# To avoid search clashes, some older all-numeric names for terminals have
-# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
-# All primary names of terminals now have alphanumeric prefixes.
-#
-# Comments marked "esr" are mostly results of applying the termcap-compiler
-# code packaged with ncurses and contemplating the resulting error messages.
-# In many cases, these indicated obvious fixes to syntax garbled by the
-# composers.  In a few cases, I was able to deduce corrected forms for garbled
-# capabilities by looking at context.  All the information in the original
-# entries is preserved in the comments.
-#
-# In the comments, terminfo capability names are bracketed with <> (angle
-# brackets).  Termcap capability names are bracketed with :: (colons).
-#
-# INTERPRETATION OF USER CAPABILITIES
-#
-# The System V Release 4 and XPG4 terminfo format defines ten string
-# capabilities for use by applications, <u0>...<u9>.   In this file, we use
-# certain of these capabilities to describe functions which are not covered
-# by terminfo.  The mapping is as follows:
-#
-#	u9	terminal enquire string (equiv. to ANSI/ECMA-48 DA)
-#	u8	terminal answerback description
-#	u7	cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
-#	u6	cursor position report (equiv. to ANSI/ECMA-48 CPR)
-#
-# The terminal enquire string <u9> should elicit an answerback response
-# from the terminal.  Common values for <u9> will be ^E (on older ASCII
-# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
-#
-# The cursor position request (<u7>) string should elicit a cursor position
-# report.  A typical value (for VT100 terminals) is \E[6n.
-#
-# The terminal answerback description (u8) must consist of an expected
-# answerback string.  The string may contain the following scanf(3)-like
-# escapes:
-#
-#	%c	Accept any character
-#	%[...]	Accept any number of characters in the given set
-#
-# The cursor position report (<u6>) string must contain two scanf(3)-style
-# %d format elements.  The first of these must correspond to the Y coordinate
-# and the second to the %d.  If the string contains the sequence %i, it is
-# taken as an instruction to decrement each value after reading it (this is
-# the inverse sense from the cup string).  The typical CPR value is
-# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
-#
-# These capabilities are used by tack(1m), the terminfo action checker
-# (distributed with ncurses 5.0).
-#
-# TABSET FILES
-#
-# All the entries in this file have been edited to assume that the tabset
-# files directory is /usr/share/tabset, in conformance with the File Hierarchy
-# Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
-# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
-#
-# No curses package we know of actually uses these files.  If their location
-# is an issue, you will have to hand-patch the file locations before compiling
-# this file.
-#
-# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
-#
-# As the ANSI/ECMA-48 standard and variants take firmer hold, and as
-# character-cell terminals are increasingly replaced by X displays, much of
-# this file is becoming a historical document (this is part of the reason for
-# the new organization, which puts ANSI types, xterm, Unix consoles,
-# and vt100 up front in confidence that this will catch 95% of new hardware).
-#
-# For the terminal types still alive, I'd like to have manufacturer's
-# contact data (Internet address and/or snail-mail + phone).
-#
-# I'm also interested in enriching the comments so that the latter portions of
-# the file do in fact become a potted history of VDT technology as seen by
-# UNIX hackers.  Ideally, I'd like the headers for each manufacturer to
-# include its live/dead/out-of-the-business status, and for as many
-# terminal types as possible to be tagged with information like years
-# of heaviest use, popularity, and interesting features.
-#
-# I'm especially interested in identifying the obscure entries listed under
-# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
-# wisdom about them gets lost.  If you know a lot about obscure old terminals,
-# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
-# eyeball it for things you can identify and describe.
-#
-# If you have been around long enough to contribute, please read the file
-# with this in mind and send me your annotations.
-#
-# COPYRIGHTS AND OTHER DELUSIONS
-#
-# The BSD ancestor of this file had a standard Regents of the University of
-# California copyright with dates from 1980 to 1993.
-#
-# Some information has been merged in from a terminfo file SCO distributes.
-# It has an obnoxious boilerplate copyright which I'm ignoring because they
-# took so much of the content from the ancestral BSD versions of this file
-# and didn't attribute it, thereby violating the BSD Regents' copyright.
-#
-# Not that anyone should care.  However many valid functions copyrights may
-# serve, putting one on a termcap/terminfo file with hundreds of anonymous
-# contributors makes about as much sense as copyrighting a wall-full of
-# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
-#
-# This file deliberately has no copyright.  It belongs to no one and everyone.
-# If you claim you own it, you will merely succeed in looking like a fool.
-# Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
-# There are no guarantees anywhere.  Svaha!
-#
-
-######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
-#
-# This section describes terminal classes and brands that are still
-# quite common.
-#
-
-#### Specials
-#
-# Special "terminals".  These are used to label tty lines when you don't
-# know what kind of terminal is on it.  The characteristics of an unknown
-# terminal are the lowest common denominator - they look about like a ti 700.
-#
-
-dumb|80-column dumb tty:\
-	:am:\
-	:co#80:\
-	:bl=^G:cr=^M:do=^J:sf=^J:
-unknown|unknown terminal type:\
-	:am:gn:\
-	:co#80:\
-	:bl=^G:cr=^M:do=^J:sf=^J:
-lpr|printer|line printer:\
-	:bs:hc:os:\
-	:co#132:li#66:\
-	:bl=^G:cr=^M:do=^J:ff=^L:le=^H:sf=^J:
-
-vanilla|dumb tty:\
-	:bs:\
-	:bl=^G:cr=^M:do=^J:sf=^J:
-ansi+erase:\
-	:cd=\E[J:ce=\E[K:cl=\E[H\E[J:
-ansi+cup:\
-	:cm=\E[%i%d;%dH:ho=\E[H:
-
-# The IBM PC alternate character set.  Plug this into any Intel console entry.
-# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
-# ROM graphics for control characters such as the diamond, up- and down-arrow.
-# This works with the System V, Linux, and BSDI consoles.  It's a safe bet this
-# will work with any Intel console, they all seem to have inherited \E[11m
-# from the ANSI.SYS de-facto standard.
-klone+acs|alternate character set for ansi.sys displays:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:as=\E[11m:
-
-# Highlight controls corresponding to the ANSI.SYS standard.  Most
-# console drivers for Intel boxes obey these.  Makes the same assumption
-# about \E[11m as klone+acs.  True ANSI/ECMA-48 would have :se=\E[27m:,
-# :ue=\E[24m:, but this isn't a documented feature of ANSI.SYS.
-klone+sgr|attribute control for ansi.sys displays:\
-	:S2=\E[11m:S3=\E[10m:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:\
-	:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:
-
-# Most Intel boxes do not treat "invis" (invisible) text.
-klone+sgr8|attribute control for ansi.sys displays:\
-	:S2=\E[11m:S3=\E[10m:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:as=\E[11m:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\
-	:mr=\E[7m:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:
-
-# Highlight controls corresponding to the ANSI.SYS standard.  *All*
-# console drivers for Intel boxes obey these.  Does not assume \E[11m will
-# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
-# diamond and arrow characters under curses.
-klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m):\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:as=\E[12m:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\
-	:mr=\E[7m:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:
-
-# ANSI.SYS color control.  The setab/setaf caps depend on the coincidence
-# between SVr4/XPG4's color numbers and ANSI.SYS attributes.  Here are longer
-# but equivalent strings that don't rely on that coincidence:
-# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
-# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
-# They match a subset of ECMA-48.
-klone+color|color control for ansi.sys and ISO6429-compatible displays:\
-	:Co#8:NC#3:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:op=\E[37;40m:
-
-# This is better than klone+color, it doesn't assume white-on-black as the
-# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
-ecma+color|color control for ECMA-48-compatible terminals:\
-	:Co#8:NC#3:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:op=\E[39;49m:
-
-# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
-# beware of screen size problems and memory relative cursor addressing.
-ansi-mini|any ansi terminal with pessimistic assumptions:\
-	:am:bs:xo:\
-	:co#80:li#24:\
-	:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
-	:do=^J:ho=\E[H:sf=^J:
-
-# Procomm and some other ANSI emulations don't recognize all of the ANSI-
-# standard capabilities.  This entry deletes :UP:, :RI:, :DO:, :LE:, and
-# <vpa>/<hpa> capabilities, forcing curses to use repetitions of :up:,
-# :nd:, :do: and :le:.  Also deleted :IC: and :ic:, as QModem up to
-# 5.03 doesn't recognize these.  Finally, we delete :rp: and :sr:, which seem
-# to confuse many emulators.  On the other hand, we can count on these programs
-# doing :ae:/:as:/:sa:. Older versions of this entry featured
-# <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
-# ANSI.SYS influence.
-# From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
-pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode):\
-	:am:bs:mi:ms:\
-	:co#80:it#8:li#24:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
-	:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mk=\E[8m:mr=\E[7m:nd=\E[C:se=\E[m:sf=^J:so=\E[7m:st=\EH:\
-	:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
-# The color versions.  All PC emulators do color...
-pcansi|ibm-pc terminal programs claiming to be ansi:\
-	:am:bs:mi:ms:\
-	:Co#8:NC#3:co#80:it#8:li#24:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
-	:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\
-	:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
-pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines:\
-	:am:bs:mi:ms:\
-	:Co#8:NC#3:co#80:it#8:li#25:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
-	:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\
-	:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
-pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines:\
-	:am:bs:mi:ms:\
-	:Co#8:NC#3:co#80:it#8:li#33:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
-	:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\
-	:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
-pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines:\
-	:am:bs:mi:ms:\
-	:Co#8:NC#3:co#80:it#8:li#43:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\E[B:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
-	:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=^J:\
-	:so=\E[7m:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
-
-# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
-# If you want pound signs rather than dollars, replace `B' with `A'
-# in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
-# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
-ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes:\
-	:5i:am:bs:mi:ms:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-	:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[12m:bl=^G:bt=\E[Z:cb=\E[1K:\
-	:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\
-	:ec=\E[%dX:ei=:ho=\E[H:im=:kB=\E[Z:kI=\E[L:kb=^H:kd=\E[B:\
-	:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:pf=\E[4i:\
-	:po=\E[5i:s0=\E(B:s1=\E)B:s2=\E*B:s3=\E+B:se=\E[m:sf=^J:\
-	:so=\E[7m:st=\EH:ta=\E[I:ue=\E[m:up=\E[A:us=\E[4m:
-
-ansi+enq|ncurses extension for ANSI ENQ:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:u9=\E[c:
-
-# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
-# standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
-# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
-ansi|ansi/pc-term compatible with color:\
-	:5i:am:bs:mi:ms:\
-	:Co#8:NC#3:co#80:it#8:li#24:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\
-	:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:S2=\E[11m:\
-	:S3=\E[10m:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:al=\E[L:as=\E[11m:bl=^G:bt=\E[Z:cb=\E[1K:\
-	:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\
-	:ec=\E[%dX:ei=:ho=\E[H:im=:kB=\E[Z:kI=\E[L:kb=^H:kd=\E[B:\
-	:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=\r\E[S:\
-	:op=\E[39;49m:pf=\E[4i:po=\E[5i:s0=\E(B:s1=\E)B:s2=\E*B:\
-	:s3=\E+B:se=\E[m:sf=^J:so=\E[7m:st=\EH:ta=\E[I:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:
-
-#### DOS ANSI.SYS variants
-#
-# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
-# documentation (except for the keyboard key reassignment feature, which
-# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
-# though undocumented.  The <pfkey> capability is untested but should work for
-# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
-# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
-ansi.sys-old|ANSI.SYS under PC-DOS 2.1:\
-	:am:bs:mi:ms:xo:\
-	:Co#8:NC#3:co#80:li#25:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\
-	:SA=\E[?7h:\
-	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
-	:ae=\E[10m:as=\E[11m:ce=\E[k:cl=\E[2J:cm=\E[%i%d;%dH:\
-	:do=\E[B:ho=\E[H:is=\E[m\E[?7h:kd=^J:kh=^^:kl=^H:kr=^L:\
-	:ku=^K:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\
-	:nd=\E[C:op=\E[37;40m:pk=\E[0;%+\:;"%s"p:rc=\E[u:sc=\E[s:\
-	:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:\
-	:us=\E[4m:
-
-# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
-#		ka1,kh		kcuu1		kpp,ka3
-#
-#		Left=\0K	5=\0L		Right=\0M
-#		kcub1		kb2		kcuf1
-#
-#		End=\0O		Down=\0P	NxPag=\0Q
-#		kc1,kend	kcud1		kc3,knp
-#
-#		Ins=\0R		Del=\0S
-#		kich1		kdch1
-#
-# On keyboard with 12 function keys,
-#	shifted f-keys: F13-F24
-#	control f-keys: F25-F36
-#	alt f-keys:     F37-F48
-# The shift/control/alt keys do not modify each other, but alt overrides both,
-# and control overrides shift.
-#
-# <pfkey> capability for F1-F48 -TD
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-ansi.sys|ANSI.SYS 3.1 and later versions:\
-	:am:bs:mi:ms:xo:\
-	:Co#8:NC#3:co#80:li#25:pa#64:\
-	:@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\
-	:F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\
-	:FC=\0]:FD=\0\207:FE=\0\210:FF=\0^:FG=\0_:FH=\0`:FI=\0a:\
-	:FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\
-	:FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\
-	:FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\
-	:K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\
-	:SA=\E[?7h:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:do=\E[B:\
-	:ho=\E[H:is=\E[m\E[?7h:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:\
-	:k6=\0@:k7=\0A:k8=\0B:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kI=\0R:\
-	:kN=\0Q:kP=\0I:kb=^H:kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:\
-	:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:\
-	:nd=\E[C:op=\E[37;40m:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:up=\E[A:us=\E[4m:
-
-#
-# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
-# This should only be used when the terminal emulator cannot redefine the keys.
-# Since redefining keys with ansi.sys also affects PC-DOS programs, the key
-# definitions must be restored.  If the terminal emulator is quit while in vi
-# or others using :ks:/:ke:, the keypad will not be defined as per PC-DOS.
-# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix
-# (^U and ^D are already defined for tn3270).  The ESC is safe for vi but it
-# does "beep".  ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab.
-# Note that :kl: is always BS, because PC-dos can tolerate this change.
-# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
-# Consequently the End keypad key could not be set (it is relatively safe and
-# actually useful because it sends ^@ O, which beeps and opens a line above).
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi:\
-	:am:bs:mi:ms:xo:\
-	:co#80:li#25:\
-	:K1=\0G:K2=\0L:K3=\0I:K4=\0O:K5=\0Q:ce=\E[K:cl=\E[2J:\
-	:cm=\E[%i%d;%dH:do=\E[B:ho=\E[H:\
-	:is=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\
-	:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\
-	:k9=\0C:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:\
-	:ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\
-	:kh=\0G:kl=\0K:kr=\0M:\
-	:ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\
-	:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m:
-#
-# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS:\
-	:am:bs:mi:ms:xo:\
-	:Co#8:NC#3:co#80:li#25:pa#64:\
-	:@7=\0O:AB=\E[4%dm:AF=\E[3%dm:F1=\0\205:F2=\0\206:F3=\0T:\
-	:F4=\0U:F5=\0V:F6=\0W:F7=\0X:F8=\0Y:F9=\0Z:FA=\0[:FB=\0\\:\
-	:FC=\0]:FD=\0\207:FE=\0\210:FF=\0^:FG=\0_:FH=\0`:FI=\0a:\
-	:FJ=\0b:FK=\0c:FL=\0d:FM=\0e:FN=\0f:FO=\0g:FP=\0\211:\
-	:FQ=\0\212:FR=\0h:FS=\0i:FT=\0j:FU=\0k:FV=\0l:FW=\0m:FX=\0n:\
-	:FY=\0o:FZ=\0p:Fa=\0q:Fb=\0\213:Fc=\0\214:K1=\0G:K2=\0L:\
-	:K3=\0I:K4=\0O:K5=\0Q:RA=\E[?7l:S2=\E[11m:S3=\E[10m:\
-	:SA=\E[?7h:al=\E[1L:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:\
-	:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:ho=\E[H:ic=\E[1@:im=:\
-	:is=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n:\
-	:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\
-	:k9=\0C:k;=\0D:kB=\0^O:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:\
-	:kd=\0P:kh=\0G:kl=\0K:kr=\0M:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:rc=\E[u:\
-	:sc=\E[s:se=\E[m:so=\E[7m:u6=\E[%i%d;%dR:u7=\E[6n:ue=\E[m:\
-	:up=\E[A:us=\E[4m:
-#
-# See ansi.sysk and nansi.sys above.
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi:\
-	:am:bs:mi:ms:xo:\
-	:co#80:li#25:\
-	:K1=\0G:K2=\0L:K3=\0I:K4=\0O:K5=\0Q:al=\E[1L:ce=\E[K:\
-	:cl=\E[2J:cm=\E[%i%d;%dH:dc=\E[1P:dl=\E[1M:do=\E[B:ei=:\
-	:ho=\E[H:ic=\E[1@:im=:\
-	:is=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\
-	:k1=\0;:k2=\0<:k3=\0=:k4=\0>:k5=\0?:k6=\0@:k7=\0A:k8=\0B:\
-	:k9=\0C:kD=\0S:kI=\0R:kN=\0Q:kP=\0I:kb=^H:kd=\0P:\
-	:ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\
-	:kh=\0G:kl=\0K:kr=\0M:\
-	:ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\
-	:ku=\0H:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:rc=\E[u:sc=\E[s:se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:us=\E[4m:
-
-#### Linux consoles
-#
-
-# This entry is good for the 1.2.13 or later version of the Linux console.
-#
-# ***************************************************************************
-# *                                                                         *
-# *                           WARNING:                                      *
-# * Linuxes come with a default keyboard mapping kcbt=^I.  This entry, in   *
-# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
-# * character. Here are the keymap replacement lines that will set this up: *
-# *                                                                         *
-#	keycode  15 = Tab             Tab
-#		alt     keycode  15 = Meta_Tab
-#		shift	keycode  15 = F26
-#	string F26 ="\033[Z"
-# *                                                                         *
-# * This has to use a key slot which is unfortunate (any unused one will    *
-# * do, F26 is the higher-numbered one).  The change ought to be built      *
-# * into the kernel tables.                                                 *
-# *                                                                         *
-# ***************************************************************************
-#
-# All linux kernels since 1.2.13 (at least) set the screen size
-# themselves; this entry assumes that capability.
-#
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-linux-basic|linux console:\
-	:am:eo:mi:ms:ut:xn:xo:\
-	:Co#8:NC#18:it#8:pa#64:\
-	:&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\
-	:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\
-	:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:RA=\E[?7l:S2=\E[11m:\
-	:S3=\E[10m:SA=\E[?7h:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\
-	:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\
-	:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\
-	:k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\
-	:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\
-	:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:op=\E[39;49m:\
-	:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\
-	:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\
-	:ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:
-
-# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
-# and it matters, turn off <ccc>.  The %02x escape used to implement this is
-# not supposedly back-portable to older SV curses (although it has worked fine
-# on Solaris for several years) and not supported in ncurses versions before
-# 1.9.9.
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-linux-c-nc|linux console with color-change:\
-	:am:cc:eo:mi:ms:ut:xn:xo:\
-	:Co#8:NC#18:it#8:pa#64:\
-	:&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\
-	:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\
-	:FA=\E[34~:IC=\E[%d@:K2=\E[G:Km=\E[M:RA=\E[?7l:S2=\E[11m:\
-	:S3=\E[10m:SA=\E[?7h:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:\
-	:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\
-	:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\
-	:k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:\
-	:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\
-	:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:oc=\E]R:op=\E[39;49m:\
-	:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\
-	:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\
-	:ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:
-
-# The 2.2.x kernels add a private mode that sets the cursor type; use that to
-# get a block cursor for cvvis.
-# reported by Frank Heckenbach <frank@g-n-u.de>.
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-linux|linux console:\
-	:am:eo:mi:ms:xn:xo:\
-	:it#8:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:IC=\E[%d@:K2=\E[G:al=\E[L:\
-	:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\
-	:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[[A:k2=\E[[B:\
-	:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
-	:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
-	:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:\
-	:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\
-	:ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c:
-
-#### DEC VT100 and compatibles
-#
-# DEC terminals from the vt100 forward are collected here. Older DEC terminals
-# and micro consoles can be found in the `obsolete' section.  More details on
-# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
-# found near the end of this file.
-#
-# Except where noted, these entries are DEC's official terminfos.
-# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information.  Updated terminfos and termcaps
-# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
-#
-# In October 1995 DEC sold its terminals business, including the VT and Dorio
-# line and trademark, to SunRiver Data Systems.  SunRiver has since changed
-# its name to Boundless Technologies; see http://www.boundless.com.
-#
-
-# NOTE:  Any VT100 emulation, whether in hardware or software, almost
-# certainly includes what DEC called the `Level 1 editing extension' codes;
-# only the very oldest VT100s lacked these and there probably aren't any of
-# those left alive.  To capture these, use one of the VT102 entries.
-#
-# Note that the :xn: glitch in vt100 is not quite the same as on the Concept,
-# since the cursor is left in a different position while in the
-# weird state (concept at beginning of next line, vt100 at end
-# of this line) so all versions of vi before 3.7 don't handle
-# :xn: right on vt100. The correct way to handle :xn: is when
-# you output the char in column 80, immediately output CR LF
-# and then assume you are in column 1 of the next line. If :xn:
-# is on, am should be on too.
-#
-# I assume you have smooth scroll off or are at a slow enough baud
-# rate that it doesn't matter (1200? or less). Also this assumes
-# that you set auto-nl to "on", if you set it off use vt100-nam
-# below.
-#
-# The padding requirements listed here are guesses. It is strongly
-# recommended that xon/xoff be enabled, as this is assumed here.
-#
-# The vt100 uses <rs2> and <rf> rather than :is:/:ct:/:st: because the
-# tab settings are in non-volatile memory and don't need to be
-# reset upon login. Also setting the number of columns glitches
-# the screen annoyingly. You can type "reset" to get them set.
-#
-# The VT100 series terminals have cursor ("arrows") keys which can operate
-# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
-# is the reset state, and is assumed to be the normal state.  Application
-# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
-# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
-# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
-# was provided primarily as an aid to the porting of VT52 applications.  It is
-# assumed that the cursor keys are normally in Cursor Mode, and expected that
-# applications such as vi will always transmit the :ks: string.  Therefore,
-# the definitions for the cursor keys are made to match what the terminal
-# transmits after the :ks: string is transmitted.  If the :ks: string
-# is a null string or is not defined, then cursor keys are assumed to be in
-# "Cursor Mode", and the cursor keys definitions should match that assumption,
-# else the application may fail.  It is also expected that applications will
-# always transmit the :ke: string to the terminal before they exit.
-#
-# The VT100 series terminals have an auxiliary keypad, commonly referred to as
-# the "Numeric Keypad", because it is a cluster of numeric and function keys.
-# The Numeric Keypad which can operate in two different modes: Numeric Mode and
-# Application Mode.  Numeric Mode is the reset state, and is assumed to be
-# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
-# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
-# Enter key transmits the same as the Return key (Note: the Return key
-# can be configured to send either LF (\015) or CR LF).  In Application Mode,
-# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
-# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
-# is normally in Numeric Mode.  If an application requires that the keypad be
-# in Application Mode then it is expected that the user, or the application,
-# will set the TERM environment variable to point to a terminfo entry which has
-# defined the :ks: string to include the codes that switch the keypad into
-# Application Mode, and the terminfo entry will also define function key
-# fields to match the Application Mode control codes.  If the :ks: string
-# is a null string or is not defined, then the keypad is assumed to be in
-# Numeric Mode.  If the :ks: string switches the keypad into Application
-# Mode, it is expected that the :ke: string will contain the control codes
-# necessary to reset the keypad to "Normal" mode, and it is also expected that
-# applications which transmit the :ks: string will also always transmit the
-# :ke: string to the terminal before they exit.
-#
-# Here's a diagram of the VT100 keypad keys with their bindings.
-# The top line is the name of the key (some DEC keyboards have the keys
-# labelled somewhat differently, like GOLD instead of PF1, but this is
-# the most "official" name).  The second line is the escape sequence it
-# generates in Application Keypad mode (where "$" means the ESC
-# character).  The third line contains two items, first the mapping of
-# the key in terminfo, and then in termcap.
-#   _______________________________________
-#  |   PF1   |   PF2   |   PF3   |   PF4   |
-#  |   $OP   |   $OQ   |   $OR   |   $OS   |
-#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
-#  |    7         8         9         -    |
-#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
-#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
-#  |    4    |    5    |    6    |    ,    |
-#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
-#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
-#  |    1    |    2    |    3    |         |
-#  |   $Oq   |   $Or   |   $Os   |  enter  |
-#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|  $OM    |
-#  |         0         |   .     |         |
-#  |        $Op        |  $On    |         |
-#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
-#
-# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
-# terminfo guidelines.  That is a compromise used to assign the remaining
-# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
-# support:
-vt100+keypad|dec vt100 numeric keypad no fkeys:\
-	:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:
-vt100+pfkeys|dec vt100 numeric keypad:\
-	:@8=\EOM:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:k1=\EOP:\
-	:k2=\EOQ:k3=\EOR:k4=\EOS:
-vt100+fnkeys|dec vt100 numeric keypad:\
-	:@8=\EOM:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:k0=\EOy:\
-	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:\
-	:k8=\EOl:k9=\EOw:k;=\EOx:
-#
-# A better adaptation to modern keyboards such as the PC's, which have a dozen
-# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
-# use the 5-key arrangement to model the arrow keys as suggested in the
-# terminfo guidelines:
-#   _______________________________________
-#  |   PF1   |   PF2   |   PF3   |   PF4   |
-#  |   $OP   |   $OQ   |   $OR   |   $OS   |
-#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
-#  |    7         8         9         -    |
-#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
-#  |_ka1__K1_|_________|_ka3__K3_|_________|
-#  |    4    |    5    |    6    |    ,    |
-#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
-#  |_________|_kb2__K2_|_________|_________|
-#  |    1    |    2    |    3    |         |
-#  |   $Oq   |   $Or   |   $Os   |  enter  |
-#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
-#  |         0         |   .     |         |
-#  |        $Op        |  $On    |         |
-#  |___________________|_________|_kent_@8_|
-#
-vt220+keypad|dec vt220 numeric keypad:\
-	:@8=\EOM:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:k1=\EOP:\
-	:k2=\EOQ:k3=\EOR:k4=\EOS:
-#
-vt100+enq|ncurses extension for vt100-style ENQ:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:
-vt102+enq|ncurses extension for vt102-style ENQ:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:
-#
-# And here, for those of you with orphaned VT100s lacking documentation, is
-# a description of the soft switches invoked when you do `Set Up'.
-#
-#  Scroll 0-Jump               Shifted 3   0-#
-#  |      1-Smooth             |           1-British pound sign
-#  | Autorepeat 0-Off          | Wrap Around 0-Off
-#  | |          1-On           | |           1-On
-#  | | Screen 0-Dark Bkg       | | New Line 0-Off
-#  | | |      1-Light Bkg      | | |        1-On
-#  | | | Cursor 0-Underline    | | | Interlace 0-Off
-#  | | | |      1-Block        | | | |         1-On
-#  | | | |                     | | | |
-#  1 1 0 1       1 1 1 1       0 1 0 0       0 0 1 0       <--Standard Settings
-#                | | | |                     | | | |
-#                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
-#                | | |               1-On    | | |       1-50 Hz
-#                | | Ansi/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
-#                | |           1-ANSI        | |                1-8 Bits
-#                | Keyclick 0-Off            | Parity 0-Off
-#                |          1-On             |        1-On
-#                Margin Bell 0-Off           Parity Sense 0-Odd
-#                            1-On                         1-Even
-#
-# The following SET-UP modes are assumed for normal operation:
-#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
-#	WRAP_AROUND_ON  JUMP_SCROLL_OFF
-# Other SET-UP modes may be set for operator convenience or communication
-# requirements; I recommend
-#	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF    SHIFTED_3_#
-# Unless you have a graphics add-on such as Digital Engineering's VT640
-# (and even then, whenever it can be arranged!) you should set
-#	INTERLACE_OFF
-#
-# (vt100: I added <rmam>/<smam> based on the init string, also :bs:. -- esr)
-vt100|vt100-am|dec vt100 (w/advanced video):\
-	:5i:am:bs:ms:xn:xo:\
-	:co#80:it#8:li#24:vt#3:\
-	:@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:\
-	:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\
-	:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:do=^J:\
-	:eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:\
-	:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:l1=pf1:l2=pf2:l3=pf3:l4=pf4:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:pf=\E[4i:po=\E[5i:\
-	:ps=\E[0i:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\
-	:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:\
-	:up=\E[A:us=\E[4m:
-
-# PuTTY 0.55 (released 3 August 2004)
-# http://www.chiark.greenend.org.uk/~sgtatham/putty/
-#
-# Comparing with 0.51, vttest is much better (only a few problems with the
-# cursor position reports and wrapping).
-#
-# PuTTY 0.51 (released 14 December 2000)
-#
-# This emulates vt100 + vt52 (plus a few vt220 features:  ech, SRM, DECTCEM, as
-# well as SCO and Atari, color palettes from Linux console).  Reading the code,
-# it is intended to be VT102 plus selected features.  By default, it sets $TERM
-# to xterm, which is incorrect, since several features are misimplemented:
-#
-#	Alt+key always sends ESC+key, so 'km' capability is removed.
-#
-#	Control responses, wrapping and tabs are buggy, failing a couple of
-#	screens in vttest.
-#
-#	xterm mouse support is not implemented (unrelease version may).
-#
-# Several features such as backspace/delete are optional; this entry documents
-# the default behavior -TD
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-putty|PuTTY terminal emulator:\
-	:am:bw:hs:mi:ms:xn:xo:\
-	:it#8:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:K2=\E[G:\
-	:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:\
-	:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\ED:ds=\E]0;\007:ec=\E[%dX:ei=\E[4l:fs=^G:\
-	:ho=\E[H:im=\E[4h:\
-	:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R:\
-	:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
-	:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\
-	:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=^M^J:rc=\E8:\
-	:rs=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l:ti=\E[?47h:ts=\E]0;:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# palette is hardcoded...
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-putty-256color|PuTTY 0.58 with xterm 256-colors:\
-	:am:bw:hs:mi:ms:xn:xo:\
-	:it#8:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:K2=\E[G:\
-	:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:\
-	:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=\ED:ds=\E]0;\007:ec=\E[%dX:ei=\E[4l:fs=^G:\
-	:ho=\E[H:im=\E[4h:\
-	:is=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R:\
-	:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
-	:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\E[B:kh=\E[1~:\
-	:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=^M^J:rc=\E8:\
-	:rs=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l:ti=\E[?47h:ts=\E]0;:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# Compatible with the R6 xterm
-# (from XFree86 3.2 distribution, <acsc> and :it: added, <blink@> removed)
-# added khome/kend, hts based on the R6 xterm code - TD
-# (khome/kend do not actually work in X11R5 or X11R6, but many people use this
-# for compatibility with other emulators).
-# (acsc removed to fit entry within 1023 bytes)
-xterm-r6|xterm-old|xterm X11R6 version:\
-	:am:bs:km:mi:ms:xn:\
-	:co#80:it#8:li#24:\
-	:*6=\E[4~:@0=\E[1~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\
-	:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:\
-	:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\
-	:FA=\E[34~:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ae=^O:\
-	:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=^J:eA=\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\
-	:is=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:\
-	:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
-	:md=\E[1m:me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:rc=\E8:\
-	:rs=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8:sc=\E7:\
-	:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:u6=\E[%i%d;%dR:\
-	:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[m:up=\E[A:us=\E[4m:
-
-# This version reflects the current xterm features.
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-xterm-new|modern xterm terminal emulator:\
-	:am:bs:km:mi:ms:xn:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-	:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
-	:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
-	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\
-	:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:\
-	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\
-	:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\
-	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
-	:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:us=\E[4m:\
-	:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\
-	:vs=\E[?12;25h:
-#
-# This fragment describes as much of XFree86 xterm's "pc-style" function
-# keys as will fit into terminfo's 60 function keys.
-# From ctlseqs.ms:
-#    Code     Modifiers
-#  ---------------------------------
-#     2       Shift
-#     3       Alt
-#     4       Shift + Alt
-#     5       Control
-#     6       Shift + Control
-#     7       Alt + Control
-#     8       Shift + Alt + Control
-#  ---------------------------------
-# The meta key may also be used as a modifier in this scheme, adding another
-# bit to the parameter.
-xterm+pcfkeys|fragment for PC-style fkeys:\
-	:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%c=\E[6;2~:%e=\E[5;2~:\
-	:%i=\E[1;2C:*4=\E[3;2~:*7=\E[1;2F:@7=\EOF:F1=\E[23~:\
-	:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:\
-	:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:\
-	:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:\
-	:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:\
-	:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:\
-	:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:\
-	:FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\
-	:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\
-	:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\
-	:Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\
-	:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\
-	:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\
-	:Fq=\E[1;4Q:Fr=\E[1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kR=\E[1;2A:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:
-
-xterm+app|fragment with cursor keys in application mode:\
-	:@7=\EOF:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:
-
-xterm+pcc2|fragment with modifyCursorKeys:2:\
-	:#4=\E[1;2D:%i=\E[1;2C:kF=\E[1;2B:kR=\E[1;2A:
-#
-xterm+pcf2|fragment with modifyFunctionKeys:2:\
-	:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:\
-	:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:\
-	:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:\
-	:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:\
-	:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:\
-	:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:\
-	:FR=\E[1;6P:FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:\
-	:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:\
-	:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:\
-	:Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:\
-	:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:\
-	:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:\
-	:Fq=\E[1;4Q:Fr=\E[1;4R:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:
-#
-# Chunks from xterm #230:
-xterm+pce2|fragment with modifyCursorKeys:2:\
-	:#2=\E[1;2H:#3=\E[2;2~:%c=\E[6;2~:%e=\E[5;2~:*4=\E[3;2~:\
-	:*7=\E[1;2F:@7=\E[4~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kh=\E[1~:
-
-xterm+edit|fragment for 6-key editing-keypad:\
-	:@7=\E[4~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kh=\E[1~:
-
-xterm+pc+edit|fragment for pc-style editing keypad:\
-	:@7=\E[4~:kh=\E[1~:
-#
-# This chunk is used for building the VT220/Sun/PC keyboard variants.
-xterm-basic|modern xterm terminal emulator - common:\
-	:5i:am:bs:km:mi:ms:ut:xn:\
-	:Co#8:co#80:it#8:li#24:pa#64:\
-	:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\
-	:DO=\E[%dB:IC=\E[%d@:Km=\E[M:LE=\E[%dD:RA=\E[?7l:\
-	:RI=\E[%dC:SA=\E[?7h:UP=\E[%dA:\
-	:ac=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:\
-	:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\
-	:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:\
-	:is=\E[!p\E[?3;4l\E[4l\E>:kb=^H:ke=\E[?1l\E>:\
-	:ks=\E[?1h\E=:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mk=\E[8m:\
-	:ml=\El:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:mu=\Em:nd=\E[C:\
-	:op=\E[39;49m:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\Ec:\
-	:r2=\E[!p\E[?3;4l\E[4l\E>:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\
-	:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\
-	:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\
-	:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:\
-	:vi=\E[?25l:vs=\E[?12;25h:
-
-# 256-colors is a compile-time feature of XFree86 xterm beginning with
-# patch #111 (1999/7/10) -TD
-xterm+256color|xterm 256-color feature:\
-	:cc:\
-	:Co#256:pa#32767:\
-	:Sb@:Sf@:
-
-# 88-colors is a compile-time feature of XFree86 xterm beginning with
-# patch #115 (1999/9/18) -TD
-#
-# Note that the escape sequences used are the same as for 256-colors - xterm
-# has a different table of default color resource values.  If built for
-# 256-colors, it can still handle an 88-color palette by using the initc
-# capability.
-#
-# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals
-# which support the xterm+256color feature support the associated initc
-# capability.  So it is cancelled in the entries which use this and/or the
-# xterm+256color block.
-#
-# The default color palette for the 256- and 88-colors are different.  A
-# given executable will have one palette (perhaps compiled-in).  If the program
-# supports xterm's control sequence, it can be programmed using initc.
-xterm+88color|xterm 88-color feature:\
-	:cc:\
-	:Co#88:pa#7744:
-
-# These variants of XFree86 3.9.16 xterm are built as a configure option.
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-xterm-256color|xterm with 256 colors:\
-	:am:bs:km:mi:ms:xn:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-	:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
-	:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
-	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\
-	:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:\
-	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\
-	:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\
-	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
-	:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:us=\E[4m:\
-	:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\
-	:vs=\E[?12;25h:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-xterm-88color|xterm with 88 colors:\
-	:am:bs:km:mi:ms:xn:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-	:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
-	:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
-	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\
-	:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:\
-	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\
-	:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\
-	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
-	:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:us=\E[4m:\
-	:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\
-	:vs=\E[?12;25h:
-
-# This is xterm for ncurses.
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-xterm|xterm terminal emulator (X Window System):\
-	:am:bs:km:mi:ms:xn:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-	:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
-	:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
-	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\
-	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:\
-	:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:\
-	:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
-	:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:\
-	:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:\
-	:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:\
-	:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:us=\E[4m:\
-	:vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\
-	:vs=\E[?12;25h:
-
-# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
-# Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
-# Notes:
-# rxvt 2.21b uses
-#	smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O,
-# but some applications don't work with that.
-# It also has an AIX extension
-#	box2=lqkxjmwuvtn,
-# and
-#	ech=\E[%p1%dX,
-# but the latter does not work correctly.
-#
-# The distributed terminfo says it implements hpa and vpa, but they are not
-# implemented correctly, using relative rather than absolute positioning.
-#
-# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
-# Since rxvt is not really compatible with xterm, it should be configured as
-# "rxvt" or "rxvt-color".
-#
-# removed dch/dch1 because they are inconsistent with bce/ech -TD
-# remove km as per tack test -TD
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-basic|rxvt terminal base (X Window System):\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
-	:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:kh=\E[7~:\
-	:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\
-	:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\
-	:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:\
-	:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:us=\E[4m:\
-	:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# Key Codes from rxvt reference:
-#
-# Note: Shift + F1-F10 generates F11-F20
-#
-# For the keypad, use Shift to temporarily override Application-Keypad
-# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock
-# is off, escape sequences toggle Application-Keypad setting.
-# Also note that values of Home, End, Delete may have been compiled
-# differently on your system.
-#
-#                   Normal       Shift        Control      Ctrl+Shift
-#  Tab              ^I           ESC [ Z      ^I           ESC [ Z
-#  BackSpace        ^H           ^?           ^?           ^?
-#  Find             ESC [ 1 ~    ESC [ 1 $    ESC [ 1 ^    ESC [ 1 @
-#  Insert           ESC [ 2 ~    paste        ESC [ 2 ^    ESC [ 2 @
-#  Execute          ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
-#  Select           ESC [ 4 ~    ESC [ 4 $    ESC [ 4 ^    ESC [ 4 @
-#  Prior            ESC [ 5 ~    scroll-up    ESC [ 5 ^    ESC [ 5 @
-#  Next             ESC [ 6 ~    scroll-down  ESC [ 6 ^    ESC [ 6 @
-#  Home             ESC [ 7 ~    ESC [ 7 $    ESC [ 7 ^    ESC [ 7 @
-#  End              ESC [ 8 ~    ESC [ 8 $    ESC [ 8 ^    ESC [ 8 @
-#  Delete           ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
-#  F1               ESC [ 11 ~   ESC [ 23 ~   ESC [ 11 ^   ESC [ 23 ^
-#  F2               ESC [ 12 ~   ESC [ 24 ~   ESC [ 12 ^   ESC [ 24 ^
-#  F3               ESC [ 13 ~   ESC [ 25 ~   ESC [ 13 ^   ESC [ 25 ^
-#  F4               ESC [ 14 ~   ESC [ 26 ~   ESC [ 14 ^   ESC [ 26 ^
-#  F5               ESC [ 15 ~   ESC [ 28 ~   ESC [ 15 ^   ESC [ 28 ^
-#  F6               ESC [ 17 ~   ESC [ 29 ~   ESC [ 17 ^   ESC [ 29 ^
-#  F7               ESC [ 18 ~   ESC [ 31 ~   ESC [ 18 ^   ESC [ 31 ^
-#  F8               ESC [ 19 ~   ESC [ 32 ~   ESC [ 19 ^   ESC [ 32 ^
-#  F9               ESC [ 20 ~   ESC [ 33 ~   ESC [ 20 ^   ESC [ 33 ^
-#  F10              ESC [ 21 ~   ESC [ 34 ~   ESC [ 21 ^   ESC [ 34 ^
-#  F11              ESC [ 23 ~   ESC [ 23 $   ESC [ 23 ^   ESC [ 23 @
-#  F12              ESC [ 24 ~   ESC [ 24 $   ESC [ 24 ^   ESC [ 24 @
-#  F13              ESC [ 25 ~   ESC [ 25 $   ESC [ 25 ^   ESC [ 25 @
-#  F14              ESC [ 26 ~   ESC [ 26 $   ESC [ 26 ^   ESC [ 26 @
-#  F15 (Help)       ESC [ 28 ~   ESC [ 28 $   ESC [ 28 ^   ESC [ 28 @
-#  F16 (Menu)       ESC [ 29 ~   ESC [ 29 $   ESC [ 29 ^   ESC [ 29 @
-#  F17              ESC [ 31 ~   ESC [ 31 $   ESC [ 31 ^   ESC [ 31 @
-#  F18              ESC [ 32 ~   ESC [ 32 $   ESC [ 32 ^   ESC [ 32 @
-#  F19              ESC [ 33 ~   ESC [ 33 $   ESC [ 33 ^   ESC [ 33 @
-#  F20              ESC [ 34 ~   ESC [ 34 $   ESC [ 34 ^   ESC [ 34 @
-#
-#                                                          Application
-#  Up               ESC [ A      ESC [ a      ESC O a      ESC O A
-#  Down             ESC [ B      ESC [ b      ESC O b      ESC O B
-#  Right            ESC [ C      ESC [ c      ESC O c      ESC O C
-#  Left             ESC [ D      ESC [ d      ESC O d      ESC O D
-#  KP_Enter         ^M                                     ESC O M
-#  KP_F1            ESC O P                                ESC O P
-#  KP_F2            ESC O Q                                ESC O Q
-#  KP_F3            ESC O R                                ESC O R
-#  KP_F4            ESC O S                                ESC O S
-#  XK_KP_Multiply   *                                      ESC O j
-#  XK_KP_Add        +                                      ESC O k
-#  XK_KP_Separator  ,                                      ESC O l
-#  XK_KP_Subtract   -                                      ESC O m
-#  XK_KP_Decimal    .                                      ESC O n
-#  XK_KP_Divide     /                                      ESC O o
-#  XK_KP_0          0                                      ESC O p
-#  XK_KP_1          1                                      ESC O q
-#  XK_KP_2          2                                      ESC O r
-#  XK_KP_3          3                                      ESC O s
-#  XK_KP_4          4                                      ESC O t
-#  XK_KP_5          5                                      ESC O u
-#  XK_KP_6          6                                      ESC O v
-#  XK_KP_7          7                                      ESC O w
-#  XK_KP_8          8                                      ESC O x
-#  XK_KP_9          9                                      ESC O y
-#
-# The source-code for rxvt actually defines mappings for F21-F35, using
-# "ESC [ 35 ~" to "ESC [  49 ~".  Keyboards with more than 12 function keys
-# are rare, so this entry uses the shift- and control-modifiers as in
-# xterm+pcfkeys to define keys past F12.
-#
-# kIC is normally not used, since rxvt performs a paste for that (shifted
-# insert), unless private mode 35 is set.
-#
-# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD
-# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
-rxvt+pcfkeys|fragment for PC-style fkeys:\
-	:#2=\E[7$:#3=\E[2$:#4=\E[d:%c=\E[6$:%e=\E[5$:%i=\E[c:\
-	:*4=\E[3$:*6=\E[4~:*7=\E[8$:@0=\E[1~:@7=\E[8~:F1=\E[23~:\
-	:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:F6=\E[29~:\
-	:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:FB=\E[23$:\
-	:FC=\E[24$:FD=\E[11^:FE=\E[12^:FF=\E[13^:FG=\E[14^:\
-	:FH=\E[15^:FI=\E[17^:FJ=\E[18^:FK=\E[19^:FL=\E[20^:\
-	:FM=\E[21^:FN=\E[23^:FO=\E[24^:FP=\E[25^:FQ=\E[26^:\
-	:FR=\E[28^:FS=\E[29^:FT=\E[31^:FU=\E[32^:FV=\E[33^:\
-	:FW=\E[34^:FX=\E[23@:FY=\E[24@:k1=\E[11~:k2=\E[12~:\
-	:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:\
-	:k8=\E[19~:k9=\E[20~:k;=\E[21~:kD=\E[3~:kE=\E[8^:kI=\E[2~:\
-	:kN=\E[6~:kP=\E[5~:kd=\E[B:kh=\E[7~:kl=\E[D:kr=\E[C:\
-	:ku=\E[A:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt|rxvt terminal emulator (X Window System):\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-color|rxvt terminal emulator (X Window System):\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-256color|rxvt 2.7.9 with xterm 256-colors:\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-88color|rxvt 2.7.9 with xterm 88-colors:\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-xpm|rxvt terminal emulator (X Window System):\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin:\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m\017:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
-rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin:\
-	:am:bs:eo:mi:ms:xn:xo:\
-	:co#80:it#8:li#24:\
-	:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOu:\
-	:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dl=\E[M:\
-	:do=^J:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
-	:im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-	:k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:ke=\E>:\
-	:kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m\017:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
-	:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[24m:up=\E[A:\
-	:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:
-
-# Entries for use by the `screen' program by Juergen Weigert,
-# Michael Schroeder, Oliver Laumann.  The screen and
-# screen-w entries came with version 3.7.1.  The screen2 and screen3 entries
-# come from University of Wisconsin and may be older.
-# (screen: added :ve: on ANSI model -- esr)
-#
-# 'screen' defines extensions to termcap.  Some are used in its terminal
-# description:
-#      G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
-#      AX   (bool)  Does  understand ANSI set default fg/bg color
-#                   (\E[39m / \E[49m).
-#      S0   (str)   Switch charset 'G0' to the specified charset.
-#      E0   (str)   Switch charset 'G0' back to standard charset.
-#
-# tested with screen 3.09.08
-screen|VT 100/ANSI X3.64 virtual terminal:\
-	:am:bs:km:mi:ms:pt:xn:\
-	:Co#8:NC#3:co#80:it#8:li#24:pa#64:\
-	:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\
-	:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:\
-	:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
-	:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\
-	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
-	:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\
-	:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\
-	:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\
-	:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\
-	:vs=\E[34l:
-# The bce and status-line entries are from screen 3.9.13 (and require some
-# changes to .screenrc).
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-bce|VT 100/ANSI X3.64 virtual terminal with bce:\
-	:am:bs:km:mi:ms:pt:ut:xn:\
-	:Co#8:NC#3:co#80:it#8:li#24:pa#64:\
-	:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\
-	:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:\
-	:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:\
-	:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:\
-	:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\EM:us=\E[4m:\
-	:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l:
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line:\
-	:am:bs:km:mi:ms:pt:xn:\
-	:Co#8:NC#3:co#80:it#8:li#24:pa#64:\
-	:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:IC=\E[%d@:\
-	:Km=\E[M:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:\
-	:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-	:dl=\E[M:do=^J:ds=\E_\E\\:eA=\E(B\E)0:ei=\E[4l:fs=\E\\:\
-	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
-	:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\
-	:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\
-	:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E_:\
-	:ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\
-	:vi=\E[?25l:vs=\E[34l:
-
-# ======================================================================
-# Entries for GNU Screen with 16 colors.
-# Those variations permit to benefit from 16 colors palette, and from
-# bold font and blink attribute separated from bright colors. But they
-# are less portable than the generic "screen" 8 color entries: Their
-# usage makes real sense only if the terminals you attach and reattach
-# do all support 16 color palette.
-
-screen-16color|GNU Screen with 16 colors:\
-	:am:bs:km:mi:ms:pt:xn:\
-	:Co#16:NC#3:co#80:it#8:li#24:pa#256:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:\
-	:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
-	:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\
-	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
-	:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\
-	:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\
-	:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\
-	:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\
-	:vs=\E[34l:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-16color-s|GNU Screen with 16 colors and status line:\
-	:am:bs:km:mi:ms:pt:xn:\
-	:Co#16:NC#3:co#80:it#8:li#24:pa#256:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
-	:ds=\E_\E\\:eA=\E(B\E)0:ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:\
-	:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:\
-	:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ts=\E_:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l:
-
-screen-16color-bce|GNU Screen with 16 colors and BCE:\
-	:am:bs:km:mi:ms:pt:ut:xn:\
-	:Co#16:NC#3:co#80:it#8:li#24:pa#256:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:\
-	:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
-	:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\
-	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
-	:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\
-	:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\
-	:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\
-	:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\
-	:vs=\E[34l:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-16color-bce-s|GNU Screen with 16 colors, BCE, and status line:\
-	:am:bs:km:mi:ms:pt:ut:xn:\
-	:Co#16:NC#3:co#80:it#8:li#24:pa#256:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
-	:ds=\E_\E\\:eA=\E(B\E)0:ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:\
-	:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:\
-	:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ts=\E_:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l:
-
-# ======================================================================
-# Entries for GNU Screen 4.02 with --enable-colors256.
-
-screen-256color|GNU Screen with 256 colors:\
-	:am:bs:cc@:km:mi:ms:pt:xn:\
-	:Co#256:NC#3:co#80:it#8:li#24:pa#32767:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:\
-	:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
-	:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:\
-	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
-	:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ei=\E[4l:\
-	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
-	:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
-	:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:\
-	:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:\
-	:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:rc=\E8:\
-	:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:\
-	:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ue=\E[24m:\
-	:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:\
-	:vs=\E[34l:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-256color-s|GNU Screen with 256 colors and status line:\
-	:am:bs:cc@:km:mi:ms:pt:xn:\
-	:Co#256:NC#3:co#80:it#8:li#24:pa#32767:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
-	:ds=\E_\E\\:eA=\E(B\E)0:ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:\
-	:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:\
-	:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ts=\E_:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-256color-bce|GNU Screen with 256 colors and BCE:\
-	:am:bs:cc@:km:mi:ms:pt:ut:xn:\
-	:Co#256:NC#3:co#80:it#8:li#24:pa#32767:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
-	:eA=\E(B\E)0:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:\
-	:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\
-	:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kI=\E[2~:\
-	:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:ke=\E[?1l\E>:kh=\E[1~:\
-	:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\
-	:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:nw=\EE:op=\E[39;49m:\
-	:rc=\E8:rs=\Ec\E[?1000l\E[?25h:sc=\E7:se=\E[23m:sf=^J:\
-	:so=\E[3m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:\
-	:ue=\E[24m:up=\EM:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:\
-	:vi=\E[?25l:vs=\E[34l:
-
-# (sgr removed to fit entry within 1023 bytes)
-# (acsc removed to fit entry within 1023 bytes)
-screen-256color-bce-s|GNU Screen with 256 colors, BCE, and status line:\
-	:am:bs:cc@:km:mi:ms:pt:ut:xn:\
-	:Co#256:NC#3:co#80:it#8:li#24:pa#32767:\
-	:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:\
-	:F1=\E[23~:F2=\E[24~:IC=\E[%d@:Ic@:Km=\E[M:LE=\E[%dD:\
-	:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
-	:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
-	:ds=\E_\E\\:eA=\E(B\E)0:ei=\E[4l:fs=\E\\:ho=\E[H:im=\E[4h:\
-	:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
-	:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
-	:kB=\E[Z:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\EOB:\
-	:ke=\E[?1l\E>:kh=\E[1~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
-	:ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:\
-	:nw=\EE:op=\E[39;49m:rc=\E8:rs=\Ec\E[?1000l\E[?25h:\
-	:sc=\E7:se=\E[23m:sf=^J:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
-	:te=\E[?1049l:ti=\E[?1049h:ts=\E_:ue=\E[24m:up=\EM:\
-	:us=\E[4m:vb=\Eg:ve=\E[34h\E[?25h:vi=\E[?25l:vs=\E[34l:
-
-# Use this for cygwin (tested with version 1.1.0).
-# I've combined pcansi and linux.  Some values of course were different and
-# I've indicated which of these were and which I used.
-# Cheers, earnie_boyd@yahoo.com
-# several changes based on running with tack and comparing with older entry -TD
-# more changes from csw:
-#   add    cbt   [backtab]
-#   remove eo    [erase overstrike with blank]
-#   change clear was \E[H\E[J  now \E[2J  (faster?)
-#   remove cols
-#   remove lines
-#   remove ncv#3 [colors collide with highlights, bitmask] not applicable
-#                to MSDOS box?
-#   add    cub   [cursor back param]
-#   add    cuf   [cursor forward param]
-#   add    cuu   [cursor up param]
-#   add    cud   [cursor down param]
-#   add    hs    [has status line]
-#   add    fsl   [return from status line]
-#   add    tsl   [go to status line]
-#   add    smacs [Start alt charset] (not sure if this works)
-#   add    rmacs [End alt charset]   (ditto)
-#   add    smcup [enter_ca_mode] (save console; thanks Corinna)
-#   add    rmcup [exit_ca_mode]  (restore console; thanks Corinna)
-#   add    kb2   [center of keypad]
-#   add    u8    [user string 8] \E[?6c
-#   add    el    [clear to end of line] \E[K
-# Notes:
-#   cnorm [make cursor normal] not implemented
-#   flash [flash] not implemented
-#   blink [blink] not implemented very usefully in cygwin? \E[5m
-#   dim   [dim] not implemented very usefully in cygwin? \E[2m
-#   cub1  [cursor back 1] typically \E[D, but ^H is faster?
-#   kNXT  [shifted next key] not implemented
-#   kPRV  [shifted prev key] not implemented
-#   khome [home key] really is \E[1~ NOT \E[H
-#   tbc   [clear tab stops] not implemented
-#   xenl  [newline ignnored after 80 cols] messes up last line? Ehud Karni
-#   smpch [Start PC charset] is \E[11m, same as smacs
-#   rmpch [End PC charset] is \E[10m, same as rmacs
-#   mir   [move in insert mode] fails in tack?
-#   bce   [back color erase] causes problems with change background color?
-#   cvvis [make cursor very visible] causes a stackdump when testing with
-#         testcurs using the output option? \E[?25h\E[?8c
-#   civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
-#   ech   [erase characters param] broken \E[%p1%dX
-#   kcbt  [back-tab key] not implemented in cygwin?  \E[Z
-#
-# 2005/11/12 -TD
-#	Remove cbt since it does not work in current cygwin
-#	Add 'mir' and 'in' flags based on tack
-# (sgr removed to fit entry within 1023 bytes)
-# (rmacs/smacs removed for consistency)
-# (acsc removed to fit entry within 1023 bytes)
-cygwin|ansi emulation for Cygwin:\
-	:am:hs:mi:ms:xo:\
-	:Co#8:it#8:pa#64:\
-	:&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
-	:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[25~:\
-	:F4=\E[26~:F5=\E[28~:F6=\E[29~:F7=\E[31~:F8=\E[32~:\
-	:F9=\E[33~:FA=\E[34~:IC=\E[%d@:K2=\E[G:LE=\E[%dD:\
-	:RI=\E[%dC:S2=\E[11m:S3=\E[10m:UP=\E[%dA:al=\E[L:bl=^G:\
-	:cb=\E[1K:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[J:\
-	:cm=\E[%i%d;%dH:cr=^M:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\E[B:\
-	:ei=\E[4l:fs=^G:ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[[A:k2=\E[[B:\
-	:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
-	:k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
-	:kb=^H:kd=\E[B:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\
-	:md=\E[1m:me=\E[0m:mk=\E[8m:mr=\E[7m:nd=\E[C:nw=^M^J:\
-	:op=\E[39;49m:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\
-	:so=\E[7m:sr=\EM:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:\
-	:ts=\E];:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\
-	:ue=\E[24m:up=\E[A:us=\E[4m:
-ibm+16color|IBM aixterm color definitions:\
-	:Co#16:pa#256:
-msys:\
-	:tc=cygwin:
-
Index: Daodan/MinGW/msys/1.0/msys.bat
===================================================================
--- Daodan/MinGW/msys/1.0/msys.bat	(revision 1046)
+++ 	(revision )
@@ -1,200 +1,0 @@
-@echo off
-rem Copyright (C):  2001, 2002, 2003, 2004, 2005  Earnie Boyd
-rem   mailto:earnie@users.sf.net
-rem This file is part of Minimal SYStem
-rem   http://www.mingw.org/msys.shtml
-rem
-rem File:	    msys.bat
-rem Revision:	    2.4
-rem Revision Date:  December 8th, 2005
-
-rem ember to set the "Start in:" field of the shortcut.
-rem A value similar to C:\msys\1.0\bin is what the "Start in:" field needs
-rem to represent.
-
-rem ember value of GOTO: is used to know recursion has happened.
-if "%1" == "GOTO:" goto %2
-
-if NOT "x%WD%" == "x" set WD=
-
-rem ember command.com only uses the first eight characters of the label.
-goto _WindowsNT
-
-rem ember that we only execute here if we are in command.com.
-:_Windows
-
-if "x%COMSPEC%" == "x" set COMSPEC=command.com
-start /min %COMSPEC% /e:4096 /c %0 GOTO: _Resume %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto EOF
-
-rem ember that we execute here if we recursed.
-:_Resume
-for %%F in (1 2 3) do shift
-if NOT EXIST %WD%msys-1.0.dll set WD=.\bin\
-
-rem ember that we get here even in command.com.
-:_WindowsNT
-
-rem Hopefully a temporary workaround for getting MSYS shell to run on x64
-rem (WoW64 cmd prompt sets PROCESSOR_ARCHITECTURE to x86)
-if not "x%PROCESSOR_ARCHITECTURE%" == "xAMD64" goto _NotX64
-set COMSPEC=%WINDIR%\SysWOW64\cmd.exe
-%COMSPEC% /c %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto EOF
-:_NotX64
-
-if NOT EXIST %WD%msys-1.0.dll set WD=%~dp0\bin\
-
-rem ember Set up option to use rxvt based on value of %1
-set MSYSCON=unknown
-if "x%1" == "x-norxvt" set MSYSCON=sh.exe
-if "x%1" == "x--norxvt" set MSYSCON=sh.exe
-if "x%1" == "x-rxvt" set MSYSCON=rxvt.exe
-if "x%1" == "x--rxvt" set MSYSCON=rxvt.exe
-if "x%1" == "x-mintty" set MSYSCON=mintty.exe
-if "x%1" == "x--mintty" set MSYSCON=mintty.exe
-if NOT "x%MSYSCON%" == "xunknown" shift
-
-if "x%MSYSCON%" == "xunknown" set MSYSCON=sh.exe
-
-if "x%MSYSTEM%" == "x" set MSYSTEM=MINGW32
-if "%1" == "MINGW32" set MSYSTEM=MINGW32
-if "%1" == "MSYS" set MSYSTEM=MSYS
-
-if NOT "x%DISPLAY%" == "x" set DISPLAY=
-
-if "x%MSYSCON%" == "xmintty.exe" goto startmintty
-if "x%MSYSCON%" == "xrxvt.exe" goto startrxvt
-if "x%MSYSCON%" == "xsh.exe" goto startsh
-
-:unknowncon
-echo %MSYSCON% is an unknown option for msys.bat.
-pause
-exit 1
-
-:notfound
-echo Cannot find the rxvt.exe or sh.exe binary -- aborting.
-pause
-exit 1
-
-:startmintty
-if NOT EXIST %WD%mintty.exe goto startsh
-start %WD%mintty /bin/bash -l
-exit
-
-:startrxvt
-if NOT EXIST %WD%rxvt.exe goto startsh
-
-rem Setup the default colors for rxvt.
-if "x%MSYSBGCOLOR%" == "x" set MSYSBGCOLOR=White
-if "x%MSYSFGCOLOR%" == "x" set MSYSFGCOLOR=Black
-if "x%MINGW32BGCOLOR%" == "x" set MINGW32BGCOLOR=LightYellow
-if "x%MINGW32FGCOLOR%" == "x" set MINGW32FGCOLOR=Navy
-if "%MSYSTEM%" == "MSYS" set BGCOLOR=%MSYSBGCOLOR%
-if "%MSYSTEM%" == "MSYS" set FGCOLOR=%MSYSFGCOLOR%
-if "%MSYSTEM%" == "MINGW32" set BGCOLOR=%MINGW32BGCOLOR%
-if "%MSYSTEM%" == "MINGW32" set FGCOLOR=%MINGW32FGCOLOR%
-
-start %WD%rxvt -backspacekey  -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn Courier-12 -tn msys -geometry 80x25 -e /bin/sh --login -i
-exit
-
-:startsh
-if NOT EXIST %WD%sh.exe goto notfound
-start %WD%sh --login -i
-exit
-
-:EOF
-
-rem ChangeLog:
-rem 2002.03.07  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Move the @echo off to the top.
-rem	* Change the binmode setting to nobinmode.
-rem     * Remove the angle brackets around email address to workaround MS 
-rem	buggy command processor.
-rem
-rem 2002.03.12  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add filter logic to find rxvt.exe
-rem
-rem 2002.03.13  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Revert the nobinmode change.
-rem
-rem 2002.03.20  Earnie Boyd  mailto:earnie@users.sf.net
-rem     * Add logic for stating bash.
-rem
-rem 2002.04.11  Earnie Boyd  mailto;earnie@users.sf.net
-rem	* Add logic for setting MSYSTEM value based on parameter.
-rem
-rem 2002.04.15  Olivier Gautherot  mailto:olivier_gautherot@mentorg.com
-rem	* Reduce number test conditions for finding an executable.
-rem
-rem 2002.04.15  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Unset DISPLAY if set before starting shell.
-rem
-rem 2002.04.16  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Remove use of DEFINED in conditional statments for variables for
-rem	command.com support.
-rem	* Add check for nonexistance of USERNAME variable for Win9x support.
-rem
-rem 2002.04.17  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add foreground and background color defaults based on MSYSTEM value.
-rem
-rem 2002.04.22  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* More Win 9x changes.
-rem
-rem 2002.05.04  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Remove the SET of USERNAME and HOME.
-rem
-rem 2002.11.18  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add command.com detection and restart with a larger environment to
-rem	avoid errors on w9x.
-rem     Many thanks to Randy W. Sims mailto:RandyS@ThePierianSpring.org.
-rem	See Randy's response to "RE: [Mingw-msys] Installation on WindowsME" 
-rem	from 11/06/2002 in the archives of mingw-msys@lists.sf.net.
-rem
-rem 2002.11.19  Paul Garceau  mailto:pgarceau@attbi.com
-rem	* Fix a typo: Change COMPSPEC to COMSPEC.
-rem
-rem 2002.11.25  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Remove the SET CYGWIN since it doesn't matter any longer.
-rem
-rem 2003.02.03  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Win9x doesn't like ``EXISTS dir'' so change it to ``EXISTS dir\nul''.
-rem	Thanks to Nicolas Weber mailto:nicolasweber@gmx.de.
-rem
-rem 2003.03.06  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add -backspacekey switch to rxvt startup.
-rem	* Move RXVT color setup to startrxvt label
-rem
-rem 2004.01.30  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add -geometry parameter to work around an off by one issue with
-rem       the default values.
-rem	Thanks to Dave Schuyler mailto:parameter@users.sf.net
-rem
-rem 2004.03.28  Earnie Boyd  mailto:earnie@users.sf.net
-rem	* Add -norxvt or --norxvt switch argument.
-rem	Thanks to Keith Marshall mailto:Keith.Marshall@total.com.
-rem	* Add method to determine absolute path of msys.bat so that we no
-rem	longer need to change to the bin directory.  This allows msys.bat to be
-rem	called from any working directory.
-rem	Thanks to Kevin Mack  mailto:kevin.mack@us.cd-adapco.com
-rem
-rem 2005.07.06  Max TE Woodbury  mailto:mtew@users.sf.net
-rem     * Fixed WD check for command.com systems.
-rem     * Minimized intermediate CMD window to reduce startup flashyness.
-rem     * If rxvt.exe cannot be found, try sh.exe.
-rem
-rem 2005.12.06  Tuomo Latto  mailto:nonperson@users.sf.net
-rem     * Added a temporary workaround for getting MSYS shell to run on x64.
-rem
-rem 2005.12.07  Keith Marshall  mailto:keithmarshall@users.sf.net
-rem     * ``EXISTS %WD%\sh.exe'' should be ``EXISTS %WD%sh.exe''; corrected.
-rem     * Modified Tuomo's patch, to avoid trashing Window settings in Win32.
-rem
-rem 2005.12.08  Tuomo Latto  mailto:nonperson@users.sf.net
-rem     * Keith's modified patch fails on x64; start did funny things.
-rem     Reworked, for correct behaviour on both platforms.
-rem
-rem 2009.03.17  Keith Marshall  mailto:keithmarshall@users.sf.net
-rem     * Add -rxvt or --rxvt switch; start in --norxvt mode by default.
-rem     Make it deterministic; (do not inherit MSYSCON from parent).
-rem
Index: Daodan/MinGW/msys/1.0/postinstall/fstab.lua
===================================================================
--- Daodan/MinGW/msys/1.0/postinstall/fstab.lua	(revision 1046)
+++ 	(revision )
@@ -1,373 +1,0 @@
---
--- fstab.lua
---
--- $Id$
---
--- Lua 5.2 module providing a mingw-get setup hook for the MSYS fstab.
---
--- Written by Keith Marshall <keithmarshall@users.sourceforge.net>
--- Copyright (C) 2014, 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 and this permission notice 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.
---
---
--- We begin by initializing a container, for construction of a Lua module
--- to encapsulate the content of this source file.
---
-   local M = {}
---
--- mingw-get passes the MSYS installation root directory path,
--- in the $MSYS_SYSROOT environment variable; from this, we deduce
--- the path name for the working copy of the fstab file...
---
-   local function syspath( varname )
---
---   ...using this local helper function to ensure that the path name
---   string, returned from the environment, is free from insignificant
---   trailing directory name separators, and that all internal sequences
---   of directory name separators are normalized to a single '/'.
---
-     local pathname = string.gsub( os.getenv( varname ), "[/\\]+", "/" )
-     return string.match( pathname, "(.*[^/])/*$" )
-   end
-   local sysroot = syspath( "MSYS_SYSROOT" )
-   local mingw32_sysroot = syspath( "MINGW32_SYSROOT" )
-   local fstab_file_name = sysroot .. "/etc/fstab"
---
--- The following may be adjusted, to control the layout of the mount
--- point mapping records, within the fstab file.
---
-   local path_name_field_width, tab_width = 40, 8
---
--- Define a template, from which a sample fstab file for the current
--- MSYS installation may be generated, on invocation of this module's
--- "dump_sample" method...
---
-   local fstab_sample =
-   { '# /etc/fstab.sample -- sample mount table configuration for MSYS.',
-     '',
-     '# Lines with a "#" in column one are interpreted as comment lines;',
-     '# with the exception of comments described as "magic", neither these',
-     '# lines, nor any blank lines, are interpreted as configuration.',
-     '',
-     '# Comment lines which are described as "magic" should neither be',
-     '# deleted, nor edited manually; ignoring this advice may cause your',
-     '# MSYS installation to malfunction.',
-     '',
-     '# When running MSYS from a portable device, such as a USB thumb drive,',
-     '# the following "magic" comment is used to track changes in host drive',
-     '# letter assignment, so allowing MSYS-Portable start-up hooks to remap',
-     '# mount table entries which refer to the relocated device:',
-     '#',
-     '# MSYSROOT=D:/PortableApps/MSYS/1.0',
-     '',
-     '# The mount table configuration follows below.  The line format is',
-     '# simple: you specify the Win32 path, followed by one or more space or',
-     '# tab delimiters, followed by the mount point name.  In a typical UNIX',
-     '# installation, each mount point must exist as a named directory on a',
-     '# physically accessible device, before it can actually be used as a',
-     '# mount point.  For this implementation the "must exist" requirement',
-     '# is not enforced; however, it will assist programs such as find, and',
-     "# readline's tab completion if each does physically exist.",
-     '',
-     '# Win32_Path				Mount_Point',
-     '#-------------------------------------	-----------',
-     'c:/mingw					/mingw'
-   }
---
--- ...and a further template for a working configuration.
---
-   local fstab_basic =
-   { '# /etc/fstab -- mount table configuration for MSYS.',
-     '# Please refer to /etc/fstab.sample for explanatory annotation.',
-     '',
-     '# MSYS-Portable needs this "magic" comment:',
-     '# MSYSROOT=D:/PortableApps/MSYS/1.0',
-     '',
-     '# Win32_Path				Mount_Point',
-     '#-------------------------------------	-----------',
-     'c:/mingw					/mingw'
-   }
---
--- Define Lua regular expressions which may be used to identify
--- comment lines within the fstab file; (the first will match any
--- comment, while the second is specific to the "magic" comment,
--- as used by MSYS-Portable, to track changes in the allocation
--- of the drive identifier for the host device).
---
-   local fstab_comment_line = "^#"
-   local fstab_device_magic = "^(#%s*MSYSROOT=)(%S*)"
---
-   local function map_root_device( assignment )
---
---   A function to update the "magic" comment, which records the
---   allocation of the MSYS-Portable host device.
---
-     return string.gsub( assignment, fstab_device_magic, "%1" .. sysroot )
-   end
---
--- Define a Lua regular expression which may be used to verify
--- that any fstab file record represents a well formed mount point
--- specification; it also incorporates capture fields, which may
--- be used to extract each of the path name and mount point
--- identification fields from the specification.
---
-   local fstab_mount_specification = "^%s*(%S+)%s+(%S+)%s*$"
---
-   local function is_mount_specification( line )
---
---   A function to verify any fstab file record against the
---   preceding regular expression, to confirm whether it does
---   represent a well formed mount point specification.
---
-     return string.match( line, fstab_mount_specification )
-   end
---
-   local function get_mapped_path( specification )
---
---   A function to extract the associated path name field from
---   any well formed mount point specification record.
---
-     return string.gsub( specification, fstab_mount_specification, "%1" )
-   end
---
-   local function get_mount_point( specification )
---
---   A function to extract the mount point identification field
---   from any well formed mount point specification record.
---
-     return string.gsub( specification, fstab_mount_specification, "%2" )
-   end
---
--- In the event that a mount table configuration has already been
--- specified for this installation, capture this into an internal
--- "as built" configuration table...
---
-   local fstab_as_built = {}
-   local fstab = io.open( fstab_file_name )
-   if fstab
-   then
---
---   ...reading the existing configuration file, line by line...
---
-     for line in fstab:lines()
-     do
---
---     ...identifying comment lines...
---
-       if string.match( line, fstab_comment_line )
-       then
---
---       ...and ignoring all such, except any "device magic" line...
---
-	 if string.match( line, fstab_device_magic )
-	 then
---
---         ...from which we retrieve, and subsequently update, the
---         configuration-specific "sysroot" identification.
---
-	   sysroot = string.gsub( line, fstab_device_magic, "%2" )
-	 end
---
---     Also identify mount point specification lines...
---
-       elseif is_mount_specification( line )
-       then
-	 if string.match( get_mount_point( line ), "^/mingw$" )
-	 then
---
---	   ...and preserve the user's pre-configured path assignment
---	   for the "/mingw" mount point, if any.
---
-	   mingw32_sysroot = get_mapped_path( line )
---
-	 else
---
---	   ...while, for all EXCEPT the "/mingw" mount point,
---	   simply record the configuration.
---
-	   table.insert( fstab_as_built, line )
-	 end
-       end
-     end
-   end
---
---
-   local function fstab_write_configuration( fstab, template, current )
---
---   A function to write an fstab configuration to a designated output
---   stream, based on a specified template, reproducing and encapsulating
---   any existing configuration which may also have been specified...
---
-     local function fstab_writeln( line )
---
---     ...using this helper function to write line by line.
---
-       fstab:write( line .. "\n" )
-     end
---
-     local function assign_mount_point( mapped_path, mount_point )
---
---     This helper function formats each mount point specification
---     into a neatly tabulated layout...
---
-       local filled = string.len( mapped_path )
-       repeat
-	 mapped_path, filled = mapped_path .. "\t", filled + tab_width
-       until filled >= path_name_field_width
---
---     ...to be written out, with one line per mount point.
---
-       fstab_writeln( mapped_path .. mount_point )
-     end
---
---   Process the template, line by line...
---
-     for ref, line in next, template
-     do
---     ...and for each comment, or blank line encountered...
---
-       if string.match( line, "^#" ) or string.match( line, "^%s*$" )
-       then
---	 ...simply reproduce it in the output stream, while taking
---	 care to update any "device magic" which it may incorporate,
---	 so that it fits the configuration of this installation.
---
-	 fstab_writeln( map_root_device( line ) )
---
---     When we encounter a mount point specification line -- for
---     which each of the embedded templates should include exactly
---     one example...
---
-       elseif is_mount_specification( line )
-       then
---	 ...write out the specification for the "/mingw" mount
---	 point, as appropriate for this installation.
---
-	 assign_mount_point( mingw32_sysroot, "/mingw" )
-       end
-     end
---
---   And finally...
---
-     if current
-     then
---     ...when inclusion of the current mount configuration has been
---     specified, we process each configuration record in turn...
---
-       for ref, line in next, current
-       do
---	 ...and write out its corresponding mount point specification,
---	 (noting that we have already excluded the "/mingw" mount point
---	 from the recorded configuration, but we have already written a
---	 specification record for it).
---
-	 assign_mount_point( get_mapped_path( line ), get_mount_point( line ) )
-       end
-     end
-   end
---
---
-   function M.pathname( suffix )
---
---   An exported utility function, to facilitate identification of
---   the full MS-Windows path name for the "/etc/fstab" configuration
---   file, as appropriate to the current installation...
---
-     if suffix
-     then
---     ...appending any suffix which may have been specified, (e.g.
---     to specify a reference to the "/etc/fstab.sample" file)...
---
-       return fstab_file_name .. suffix
-     end
---
---   ...otherwise, specifying a reference to "/etc/fstab" itself.
---
-     return fstab_file_name
-   end
---
---
-   function M.dump_sample( stream_file )
---
---   An exported utility function, providing a method for displaying,
---   or otherwise emitting suitable content for the "/etc/fstab.sample"
---   file, as directed by the embedded "fstab_sample" template...
---
-     if not stream_file
-     then
---     ...writing to "stdout", in the event that no other destination
---     has been specified.
---
-       stream_file = io.stdout
-     end
---
---   Regardless of output destination, we delegate output to this local
---   function, processing the integral sample file template, but we omit
---   the current mount table configuration.
---
-     fstab_write_configuration( stream_file, fstab_sample )
-   end
---
---
-   function M.initialize( stream_file )
---
---   The primary initialization function, exported for use by mingw-get,
---   to write a working mount table configuration to the specified file
---   stream, which, unless otherwise specified...
---
-     local default_stream_file = nil
-     if not stream_file
-     then
---     ...is to be directed to the default "/etc/fstab" file.
---
-       default_stream_file = io.open( fstab_file_name, "w" )
-       stream_file = default_stream_file
-     end
---
---   Once again, regardless of how the output file has been identified,
---   provided the stream has been successfully assigned...
---
-     if stream_file
-     then
---     ...we delegate the actual output function to the local helper,
---     this time, processing the integral working file template, and we
---     include the record of the current mount table configuration.
---
-       fstab_write_configuration( stream_file, fstab_basic, fstab_as_built )
-     end
---
---   Finally, when updating the default "/etc/fstab" configuration,
---   via a locally opened output file stream...
---
-     if default_stream_file
-     then
---     ...we must now ensure that this output stream is closed.
---
-       io.close( default_stream_file )
-     end
-   end
---
--- Since this source file is intended to be loaded as a Lua module, we
--- must ultimately return a reference handle for it.
---
-   return M
---
--- $RCSfile$: end of file */
Index: Daodan/MinGW/msys/1.0/share/awk/assert.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/assert.awk	(revision 1046)
+++ 	(revision )
@@ -1,20 +1,0 @@
-# assert --- assert that a condition is true. Otherwise exit.
-
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# May, 1993
-
-function assert(condition, string)
-{
-    if (! condition) {
-        printf("%s:%d: assertion failed: %s\n",
-            FILENAME, FNR, string) > "/dev/stderr"
-        _assert_exit = 1
-        exit 1
-    }
-}
-
-END {
-    if (_assert_exit)
-        exit 1
-}
Index: Daodan/MinGW/msys/1.0/share/awk/bits2str.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/bits2str.awk	(revision 1046)
+++ 	(revision )
@@ -1,16 +1,0 @@
-# bits2str --- turn a byte into readable 1's and 0's
-
-function bits2str(bits,        data, mask)
-{
-    if (bits == 0)
-        return "0"
-
-    mask = 1
-    for (; bits != 0; bits = rshift(bits, 1))
-        data = (and(bits, mask) ? "1" : "0") data
-
-    while ((length(data) % 8) != 0)
-        data = "0" data
-
-    return data
-}
Index: Daodan/MinGW/msys/1.0/share/awk/cliff_rand.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/cliff_rand.awk	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-# cliff_rand.awk --- generate Cliff random numbers
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# December 2000
-
-BEGIN { _cliff_seed = 0.1 }
-
-function cliff_rand()
-{
-    _cliff_seed = (100 * log(_cliff_seed)) % 1
-    if (_cliff_seed < 0)
-        _cliff_seed = - _cliff_seed
-    return _cliff_seed
-}
Index: Daodan/MinGW/msys/1.0/share/awk/ctime.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/ctime.awk	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-# ctime.awk
-#
-# awk version of C ctime(3) function
-
-function ctime(ts,    format)
-{
-    format = "%a %b %d %H:%M:%S %Z %Y"
-    if (ts == 0)
-        ts = systime()       # use current time as default
-    return strftime(format, ts)
-}
Index: Daodan/MinGW/msys/1.0/share/awk/ftrans.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/ftrans.awk	(revision 1046)
+++ 	(revision )
@@ -1,15 +1,0 @@
-# ftrans.awk --- handle data file transitions
-#
-# user supplies beginfile() and endfile() functions
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# November 1992
-
-FNR == 1 {
-    if (_filename_ != "")
-        endfile(_filename_)
-    _filename_ = FILENAME
-    beginfile(FILENAME)
-}
-
-END  { endfile(_filename_) }
Index: Daodan/MinGW/msys/1.0/share/awk/getopt.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/getopt.awk	(revision 1046)
+++ 	(revision )
@@ -1,80 +1,0 @@
-# getopt.awk --- do C library getopt(3) function in awk
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-#
-# Initial version: March, 1991
-# Revised: May, 1993
-
-# External variables:
-#    Optind -- index in ARGV of first nonoption argument
-#    Optarg -- string value of argument to current option
-#    Opterr -- if nonzero, print our own diagnostic
-#    Optopt -- current option letter
-
-# Returns:
-#    -1     at end of options
-#    ?      for unrecognized option
-#    <c>    a character representing the current option
-
-# Private Data:
-#    _opti  -- index in multi-flag option, e.g., -abc
-function getopt(argc, argv, options,    thisopt, i)
-{
-    if (length(options) == 0)    # no options given
-        return -1
-
-    if (argv[Optind] == "--") {  # all done
-        Optind++
-        _opti = 0
-        return -1
-    } else if (argv[Optind] !~ /^-[^: \t\n\f\r\v\b]/) {
-        _opti = 0
-        return -1
-    }
-    if (_opti == 0)
-        _opti = 2
-    thisopt = substr(argv[Optind], _opti, 1)
-    Optopt = thisopt
-    i = index(options, thisopt)
-    if (i == 0) {
-        if (Opterr)
-            printf("%c -- invalid option\n",
-                                  thisopt) > "/dev/stderr"
-        if (_opti >= length(argv[Optind])) {
-            Optind++
-            _opti = 0
-        } else
-            _opti++
-        return "?"
-    }
-    if (substr(options, i + 1, 1) == ":") {
-        # get option argument
-        if (length(substr(argv[Optind], _opti + 1)) > 0)
-            Optarg = substr(argv[Optind], _opti + 1)
-        else
-            Optarg = argv[++Optind]
-        _opti = 0
-    } else
-        Optarg = ""
-    if (_opti == 0 || _opti >= length(argv[Optind])) {
-        Optind++
-        _opti = 0
-    } else
-        _opti++
-    return thisopt
-}
-BEGIN {
-    Opterr = 1    # default is to diagnose
-    Optind = 1    # skip ARGV[0]
-
-    # test program
-    if (_getopt_test) {
-        while ((_go_c = getopt(ARGC, ARGV, "ab:cd")) != -1)
-            printf("c = <%c>, optarg = <%s>\n",
-                                       _go_c, Optarg)
-        printf("non-option arguments:\n")
-        for (; Optind < ARGC; Optind++)
-            printf("\tARGV[%d] = <%s>\n",
-                                    Optind, ARGV[Optind])
-    }
-}
Index: Daodan/MinGW/msys/1.0/share/awk/gettime.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/gettime.awk	(revision 1046)
+++ 	(revision )
@@ -1,62 +1,0 @@
-# gettimeofday.awk --- get the time of day in a usable format
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain, May 1993
-#
-
-# Returns a string in the format of output of date(1)
-# Populates the array argument time with individual values:
-#    time["second"]       -- seconds (0 - 59)
-#    time["minute"]       -- minutes (0 - 59)
-#    time["hour"]         -- hours (0 - 23)
-#    time["althour"]      -- hours (0 - 12)
-#    time["monthday"]     -- day of month (1 - 31)
-#    time["month"]        -- month of year (1 - 12)
-#    time["monthname"]    -- name of the month
-#    time["shortmonth"]   -- short name of the month
-#    time["year"]         -- year modulo 100 (0 - 99)
-#    time["fullyear"]     -- full year
-#    time["weekday"]      -- day of week (Sunday = 0)
-#    time["altweekday"]   -- day of week (Monday = 0)
-#    time["dayname"]      -- name of weekday
-#    time["shortdayname"] -- short name of weekday
-#    time["yearday"]      -- day of year (0 - 365)
-#    time["timezone"]     -- abbreviation of timezone name
-#    time["ampm"]         -- AM or PM designation
-#    time["weeknum"]      -- week number, Sunday first day
-#    time["altweeknum"]   -- week number, Monday first day
-
-function gettimeofday(time,    ret, now, i)
-{
-    # get time once, avoids unnecessary system calls
-    now = systime()
-
-    # return date(1)-style output
-    ret = strftime("%a %b %d %H:%M:%S %Z %Y", now)
-
-    # clear out target array
-    delete time
-
-    # fill in values, force numeric values to be
-    # numeric by adding 0
-    time["second"]       = strftime("%S", now) + 0
-    time["minute"]       = strftime("%M", now) + 0
-    time["hour"]         = strftime("%H", now) + 0
-    time["althour"]      = strftime("%I", now) + 0
-    time["monthday"]     = strftime("%d", now) + 0
-    time["month"]        = strftime("%m", now) + 0
-    time["monthname"]    = strftime("%B", now)
-    time["shortmonth"]   = strftime("%b", now)
-    time["year"]         = strftime("%y", now) + 0
-    time["fullyear"]     = strftime("%Y", now) + 0
-    time["weekday"]      = strftime("%w", now) + 0
-    time["altweekday"]   = strftime("%u", now) + 0
-    time["dayname"]      = strftime("%A", now)
-    time["shortdayname"] = strftime("%a", now)
-    time["yearday"]      = strftime("%j", now) + 0
-    time["timezone"]     = strftime("%Z", now)
-    time["ampm"]         = strftime("%p", now)
-    time["weeknum"]      = strftime("%U", now) + 0
-    time["altweeknum"]   = strftime("%W", now) + 0
-
-    return ret
-}
Index: Daodan/MinGW/msys/1.0/share/awk/group.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/group.awk	(revision 1046)
+++ 	(revision )
@@ -1,87 +1,0 @@
-# group.awk --- functions for dealing with the group file
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# May 1993
-# Revised October 2000
-
-BEGIN    \
-{
-    # Change to suit your system
-    _gr_awklib = "/usr/sbin/awk/"
-}
-
-function _gr_init(    oldfs, oldrs, olddol0, grcat,
-                             using_fw, n, a, i)
-{
-    if (_gr_inited)
-        return
-
-    oldfs = FS
-    oldrs = RS
-    olddol0 = $0
-    using_fw = (PROCINFO["FS"] == "FIELDWIDTHS")
-    FS = ":"
-    RS = "\n"
-
-    grcat = _gr_awklib "grcat"
-    while ((grcat | getline) > 0) {
-        if ($1 in _gr_byname)
-            _gr_byname[$1] = _gr_byname[$1] "," $4
-        else
-            _gr_byname[$1] = $0
-        if ($3 in _gr_bygid)
-            _gr_bygid[$3] = _gr_bygid[$3] "," $4
-        else
-            _gr_bygid[$3] = $0
-
-        n = split($4, a, "[ \t]*,[ \t]*")
-        for (i = 1; i <= n; i++)
-            if (a[i] in _gr_groupsbyuser)
-                _gr_groupsbyuser[a[i]] = \
-                    _gr_groupsbyuser[a[i]] " " $1
-            else
-                _gr_groupsbyuser[a[i]] = $1
-
-        _gr_bycount[++_gr_count] = $0
-    }
-    close(grcat)
-    _gr_count = 0
-    _gr_inited++
-    FS = oldfs
-    if (using_fw)
-        FIELDWIDTHS = FIELDWIDTHS
-    RS = oldrs
-    $0 = olddol0
-}
-function getgrnam(group)
-{
-    _gr_init()
-    if (group in _gr_byname)
-        return _gr_byname[group]
-    return ""
-}
-function getgrgid(gid)
-{
-    _gr_init()
-    if (gid in _gr_bygid)
-        return _gr_bygid[gid]
-    return ""
-}
-function getgruser(user)
-{
-    _gr_init()
-    if (user in _gr_groupsbyuser)
-        return _gr_groupsbyuser[user]
-    return ""
-}
-function getgrent()
-{
-    _gr_init()
-    if (++_gr_count in _gr_bycount)
-        return _gr_bycount[_gr_count]
-    return ""
-}
-function endgrent()
-{
-    _gr_count = 0
-}
Index: Daodan/MinGW/msys/1.0/share/awk/join.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/join.awk	(revision 1046)
+++ 	(revision )
@@ -1,16 +1,0 @@
-# join.awk --- join an array into a string
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# May 1993
-
-function join(array, start, end, sep,    result, i)
-{
-    if (sep == "")
-       sep = " "
-    else if (sep == SUBSEP) # magic value
-       sep = ""
-    result = array[start]
-    for (i = start + 1; i <= end; i++)
-        result = result sep array[i]
-    return result
-}
Index: Daodan/MinGW/msys/1.0/share/awk/libintl.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/libintl.awk	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-function bindtextdomain(dir, domain)
-{
-    return dir
-}
-
-function dcgettext(string, domain, category)
-{
-    return string
-}
-
-function dcngettext(string1, string2, number, domain, category)
-{
-    return (number == 1 ? string1 : string2)
-}
Index: Daodan/MinGW/msys/1.0/share/awk/nextfile.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/nextfile.awk	(revision 1046)
+++ 	(revision )
@@ -1,16 +1,0 @@
-# nextfile --- skip remaining records in current file
-# correctly handle successive occurrences of the same file
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# May, 1993
-
-# this should be read in before the "main" awk program
-
-function nextfile()   { _abandon_ = FILENAME; next }
-
-_abandon_ == FILENAME {
-      if (FNR == 1)
-          _abandon_ = ""
-      else
-          next
-}
Index: Daodan/MinGW/msys/1.0/share/awk/noassign.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/noassign.awk	(revision 1046)
+++ 	(revision )
@@ -1,17 +1,0 @@
-# noassign.awk --- library file to avoid the need for a
-# special option that disables command-line assignments
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# October 1999
-
-function disable_assigns(argc, argv,    i)
-{
-    for (i = 1; i < argc; i++)
-        if (argv[i] ~ /^[A-Za-z_][A-Za-z_0-9]*=.*/)
-            argv[i] = ("./" argv[i])
-}
-
-BEGIN {
-    if (No_command_assign)
-        disable_assigns(ARGC, ARGV)
-}
Index: Daodan/MinGW/msys/1.0/share/awk/ord.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/ord.awk	(revision 1046)
+++ 	(revision )
@@ -1,44 +1,0 @@
-# ord.awk --- do ord and chr
-
-# Global identifiers:
-#    _ord_:        numerical values indexed by characters
-#    _ord_init:    function to initialize _ord_
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# 16 January, 1992
-# 20 July, 1992, revised
-
-BEGIN    { _ord_init() }
-
-function _ord_init(    low, high, i, t)
-{
-    low = sprintf("%c", 7) # BEL is ascii 7
-    if (low == "\a") {    # regular ascii
-        low = 0
-        high = 127
-    } else if (sprintf("%c", 128 + 7) == "\a") {
-        # ascii, mark parity
-        low = 128
-        high = 255
-    } else {        # ebcdic(!)
-        low = 0
-        high = 255
-    }
-
-    for (i = low; i <= high; i++) {
-        t = sprintf("%c", i)
-        _ord_[t] = i
-    }
-}
-function ord(str,    c)
-{
-    # only first character is of interest
-    c = substr(str, 1, 1)
-    return _ord_[c]
-}
-
-function chr(c)
-{
-    # force c to be numeric by adding 0
-    return sprintf("%c", c + 0)
-}
Index: Daodan/MinGW/msys/1.0/share/awk/passwd.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/passwd.awk	(revision 1046)
+++ 	(revision )
@@ -1,63 +1,0 @@
-# passwd.awk --- access password file information
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# May 1993
-# Revised October 2000
-
-BEGIN {
-    # tailor this to suit your system
-    _pw_awklib = "/usr/sbin/awk/"
-}
-
-function _pw_init(    oldfs, oldrs, olddol0, pwcat, using_fw)
-{
-    if (_pw_inited)
-        return
-
-    oldfs = FS
-    oldrs = RS
-    olddol0 = $0
-    using_fw = (PROCINFO["FS"] == "FIELDWIDTHS")
-    FS = ":"
-    RS = "\n"
-
-    pwcat = _pw_awklib "pwcat"
-    while ((pwcat | getline) > 0) {
-        _pw_byname[$1] = $0
-        _pw_byuid[$3] = $0
-        _pw_bycount[++_pw_total] = $0
-    }
-    close(pwcat)
-    _pw_count = 0
-    _pw_inited = 1
-    FS = oldfs
-    if (using_fw)
-        FIELDWIDTHS = FIELDWIDTHS
-    RS = oldrs
-    $0 = olddol0
-}
-function getpwnam(name)
-{
-    _pw_init()
-    if (name in _pw_byname)
-        return _pw_byname[name]
-    return ""
-}
-function getpwuid(uid)
-{
-    _pw_init()
-    if (uid in _pw_byuid)
-        return _pw_byuid[uid]
-    return ""
-}
-function getpwent()
-{
-    _pw_init()
-    if (_pw_count < _pw_total)
-        return _pw_bycount[++_pw_count]
-    return ""
-}
-function endpwent()
-{
-    _pw_count = 0
-}
Index: Daodan/MinGW/msys/1.0/share/awk/readable.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/readable.awk	(revision 1046)
+++ 	(revision )
@@ -1,16 +1,0 @@
-# readable.awk --- library file to skip over unreadable files
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# October 2000
-
-BEGIN {
-    for (i = 1; i < ARGC; i++) {
-        if (ARGV[i] ~ /^[A-Za-z_][A-Za-z0-9_]*=.*/ \
-            || ARGV[i] == "-")
-            continue    # assignment or standard input
-        else if ((getline junk < ARGV[i]) < 0) # unreadable
-            delete ARGV[i]
-        else
-            close(ARGV[i])
-    }
-}
Index: Daodan/MinGW/msys/1.0/share/awk/rewind.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/rewind.awk	(revision 1046)
+++ 	(revision )
@@ -1,20 +1,0 @@
-# rewind.awk --- rewind the current file and start over
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# September 2000
-
-function rewind(    i)
-{
-    # shift remaining arguments up
-    for (i = ARGC; i > ARGIND; i--)
-        ARGV[i] = ARGV[i-1]
-
-    # make sure gawk knows to keep going
-    ARGC++
-
-    # make current file next to get done
-    ARGV[ARGIND+1] = FILENAME
-
-    # do it
-    nextfile
-}
Index: Daodan/MinGW/msys/1.0/share/awk/round.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/round.awk	(revision 1046)
+++ 	(revision )
@@ -1,29 +1,0 @@
-# round.awk --- do normal rounding
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# August, 1996
-
-function round(x,   ival, aval, fraction)
-{
-   ival = int(x)    # integer part, int() truncates
-
-   # see if fractional part
-   if (ival == x)   # no fraction
-      return ival   # ensure no decimals
-
-   if (x < 0) {
-      aval = -x     # absolute value
-      ival = int(aval)
-      fraction = aval - ival
-      if (fraction >= .5)
-         return int(x) - 1   # -2.5 --> -3
-      else
-         return int(x)       # -2.3 --> -2
-   } else {
-      fraction = x - ival
-      if (fraction >= .5)
-         return ival + 1
-      else
-         return ival
-   }
-}
Index: Daodan/MinGW/msys/1.0/share/awk/strtonum.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/strtonum.awk	(revision 1046)
+++ 	(revision )
@@ -1,56 +1,0 @@
-# strtonum --- convert string to number
-
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# February, 2004
-
-function mystrtonum(str,        ret, chars, n, i, k, c)
-{
-    if (str ~ /^0[0-7]*$/) {
-        # octal
-        n = length(str)
-        ret = 0
-        for (i = 1; i <= n; i++) {
-            c = substr(str, i, 1)
-            if ((k = index("01234567", c)) > 0)
-                k-- # adjust for 1-basing in awk
-
-            ret = ret * 8 + k
-        }
-    } else if (str ~ /^0[xX][0-9a-fA-f]+/) {
-        # hexadecimal
-        str = substr(str, 3)    # lop off leading 0x
-        n = length(str)
-        ret = 0
-        for (i = 1; i <= n; i++) {
-            c = substr(str, i, 1)
-            c = tolower(c)
-            if ((k = index("0123456789", c)) > 0)
-                k-- # adjust for 1-basing in awk
-            else if ((k = index("abcdef", c)) > 0)
-                k += 9
-
-            ret = ret * 16 + k
-        }
-    } else if (str ~ /^[-+]?([0-9]+([.][0-9]*([Ee][0-9]+)?)?|([.][0-9]+([Ee][-+]?[0-9]+)?))$/) {
-        # decimal number, possibly floating point
-        ret = str + 0
-    } else
-        ret = "NOT-A-NUMBER"
-
-    return ret
-}
-
-# BEGIN {     # gawk test harness
-#     a[1] = "25"
-#     a[2] = ".31"
-#     a[3] = "0123"
-#     a[4] = "0xdeadBEEF"
-#     a[5] = "123.45"
-#     a[6] = "1.e3"
-#     a[7] = "1.32"
-#     a[7] = "1.32E2"
-# 
-#     for (i = 1; i in a; i++)
-#         print a[i], strtonum(a[i]), mystrtonum(a[i])
-# }
Index: Daodan/MinGW/msys/1.0/share/awk/zerofile.awk
===================================================================
--- Daodan/MinGW/msys/1.0/share/awk/zerofile.awk	(revision 1046)
+++ 	(revision )
@@ -1,19 +1,0 @@
-# zerofile.awk --- library file to process empty input files
-#
-# Arnold Robbins, arnold@skeeve.com, Public Domain
-# June 2003
-
-BEGIN { Argind = 0 }
-
-ARGIND > Argind + 1 {
-    for (Argind++; Argind < ARGIND; Argind++)
-        zerofile(ARGV[Argind], Argind)
-}
-
-ARGIND != Argind { Argind = ARGIND }
-
-END {
-    if (ARGIND > Argind)
-        for (Argind++; Argind <= ARGIND; Argind++)
-            zerofile(ARGV[Argind], Argind)
-}
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/COPYING
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/COPYING	(revision 1046)
+++ 	(revision )
@@ -1,345 +1,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/COPYING.LIB
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/COPYING.LIB	(revision 1046)
+++ 	(revision )
@@ -1,491 +1,0 @@
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-
-
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-
-     Appendix: How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-    MA 02111-1307, USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/CYGWIN_LICENSE
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/CYGWIN_LICENSE	(revision 1046)
+++ 	(revision )
@@ -1,46 +1,0 @@
---------------------------------------------------------------------------
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License (GPL) as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
---------------------------------------------------------------------------
-
-			*** NOTE ***
-
-In accordance with section 10 of the GPL, Cygnus permits programs whose
-sources are distributed under a license that complies with the Open
-Source definition to be linked with libcygwin.a without libcygwin.a
-itself causing the resulting program to be covered by the GNU GPL.
-
-This means that you can port an Open Source(tm) application to cygwin,
-and distribute that executable as if it didn't include a copy of
-libcygwin.a linked into it.  Note that this does not apply to the cygwin
-DLL itself.  If you distribute a (possibly modified) version of the DLL
-you must adhere to the terms of the GPL, i.e., you must provide sources
-for the cygwin DLL.
-
-See http://www.opensource.org/osd.html for the precise Open Source
-Definition referenced above.
-
-If you have questions about any of the above or would like to arrange
-for other licensing terms, please contact Cygnus using the information
-given below:
-
-     Cygnus Solutions
-     1325 Chesapeake Terrace
-     Sunnyvale, CA 94089
-     USA
-
-     +1 408 542 9600
-     hotline: +1 408 542 9601
-     email: info@cygnus.com
-     fax: +1 408 542 9699
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/MSYS_MISSION
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/MSYS_MISSION	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-File:		MSYS_MISSION
-Copyright (C):	Earnie Boyd  <earnie@users.sf.net>
-Distribution:	See MSYS_LICENSE
-Revision:	1.0.2
-Revision Date:	2002.01.25
-
-The mission or goal of MSYS is to provide a minimal POSIX environment for 
-configuring and building MinGW ports and code.  The MSYS developers have taken 
-the Cygwin source and modified it to fit the needs for MinGW and MSYS.  The very
-minimum of binaries needed to provide an efficient means to natively configure
-and make is what the developers have strived to distribute.  Therefore they do
-not encourage the use of MSYS as a runtime.
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/MSYS_VS_CYGWIN
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/MSYS_VS_CYGWIN	(revision 1046)
+++ 	(revision )
@@ -1,81 +1,0 @@
-File:		     MSYS_VS_CYGWIN
-Copyright (C):	     2001: Earnie Boyd  <earnie@users.sf.net>
-Distribution Rights: See MSYS_LICENSE
-File Revision:	     1.0.4
-File Revision Date:  2002.01.25
-
-mount:	The mount command is only used to display all mount points.  The mount
-points for the very important are automounted.  Nothing is stored in the Win32
-registry database.  If you wish to add other mount points, ones that aren't
-auto mounted, then you may do so in the /etc/fstab file.  i
-
-ROOTPATH "/": The "/" auto mount point is currently a reference to the parent
-directory of the directory containing the msys-1.0.dll file.  
-<strikeout>In later releases
-the / will be a reference to a pseudo device that points to the mount points.
-I.E. in a later release it is planned that `ls /' will list the mount points.
-</strikeout>  I plan to do something but it won't be as previously stated.
-
-/bin: The /bin auto mount point is a reference to the directory containing the
-msys-1.0.dll file.  I.E. if the path to msys-1.0.dll is
-C:\msys\1.0\bin\msys-1.0.dll then /bin resolves to C:\msys\1.0\bin.
-
-/tmp: The /tmp auto mount point is a reference to the directory that is
-referenced by the Win32 TMP environment variable.  I.E. if the win32 TMP
-environment variable value is C:\TEMP then the /tmp mount point resolves to
-C:\TEMP.
-
-/usr: The /usr auto mount point is a reference to the parent directory of the
-directory containing the msys-1.0.dll file.  I.E. if the path to msys-1.0.dll
-is C:\msys\1.0\bin\msys-1.0.dll then the /usr mount point resolves to
-C:\msys\1.0.
-
-/cygdrive:  There is no such item.  All devices and mapped shares are auto
-mounted with the device letter as the mount point.  E.G.: the C:\ drive is
-referenced as /c.
-
-/etc/fstab:  If this file exists then it is read for user specified mount
-points.  The form of the record is [PHYSICAL PATH][WHITE SPACE][MOUNT POINT]
-where [WHITE SPACE] is one or more spaces and/or tabs.
-
-binary vs text:  File processing mode is set to binary.  This is not changeable.
-I had originally planned to set this to text mode processing but ran into
-various problems of which volumes have been written in the Cygwin archives.
-For release 1.0 of MSYS this means that you cannot have \r\n line endings on
-text files.  In a future release it is planned to "Do The Right Thing" and
-predetermine the type of file being opened and set text or binary processing
-as appropriate for reading files.  Or, predetermine the type of file and as the
-file is being read remove the \r from the end of the line.
-
-uname -s:  The default system name is returned as MSYS_NT-4.0, if you're on
-NT 4.0.  However you could export MSYSTEM=MINGW32 as change the returned value
-for `uname -s' to MINGW32_NT-4.0.  This is done to aid the use of MSYS with
-MinGW and configuration scripts will determine that it is a MINGW32 build
-system.
-
---added in version 1.0.2--
-/bin and /usr/bin:  These are currently reserved for MSYS programs only (MSYS
-programs are progrms that depend on the msys-1.0.dll file).  It will be unlikely
-that non-MSYS programs will execute properly if they exist in /bin and /usr/bin.
-
-POSIX paths in arguments:  POSIX paths passed as arguments on the command line
-are now converted to WIN32 paths.  This is only true for programs that don't
-exist in the /bin and /usr/bin paths.  POSIX paths are determined by i) a '/'
-character in the argument and ii) the argument must not be two characters long.
-The two character filter is done so that WIN32 parameters of the type /x can be
-passed to the WIN32 program.  This allows you to do `write /p /mydocuments/abc'
-and the write.exe program found in the c:\WINNT\System32 directory on my
-system can print to the printer on lpt1 the c:\msys\1.0\mydocments\abc file.
-
---added in version 1.0.3--
-More robust checking for filesystem paths on arguments.
-
---added in version 1.0.4--
-Symlink resolution.
-diff, diff3 and head to the distribution.
---removed in version 1.0.4--
-Requirement that the path must begin with /.
-bash from the distribution.
-
---removed in version 1.0.11--
-Requirement that /bin and /usr/bin are reserved for MSYS programs only.
Index: Daodan/MinGW/msys/1.0/share/doc/MSYS/msysCORE-1.0.19-1-msys-RELEASE_NOTES.txt
===================================================================
--- Daodan/MinGW/msys/1.0/share/doc/MSYS/msysCORE-1.0.19-1-msys-RELEASE_NOTES.txt	(revision 1046)
+++ 	(revision )
@@ -1,151 +1,0 @@
-msysCORE
-========================================================================
-msysCORE consists of the MSYS runtime plus the basic support files for
-a standard MSYS installation.
-
-Runtime requirements:
-  None.
-
-Build requirements:
-  msys-bash-bin
-  msys-core-ext
-  msys-coreutils-bin
-  msys-diffutils-bin
-  msys-findutils-bin
-  msys-gawk-bin
-  msys-grep-bin
-  msys-make-bin
-  msys-sed-bin
-  msys-tar-bin
-  msys-xz-bin
-  msys-gcc-bin
-  mingw32-gcc-g++-bin
-
-Canonical homepage:
-  http://www.mingw.org/wiki/msys/
-
-Canonical download:
-  http://sourceforge.net/projects/mingw/files/
-
-License:
-  Cygwin (see /share/doc/MSYS/CYGWIN_LICENSE)
-
-Language:
-  C, C++
-
-========================================================================
-
-Build instructions:
-1) unpack msysCORE-1.0.19-1-msys-1.0.19-src.tar.xz
-2) Install the build requirements:
-  ./msysrlsbld -e build_dep
-  (requires mingw-get in PATH)
-3) Create an empty build directory and type: 
-   <path-to-source>/msysrlsbld
-
-See <path-to-source>/msysrlsbld -h for further options.
-
-This will create:
-
-  msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz
-    MSYS runtime DLL plus basic support files
-
-  msysCORE-1.0.19-1-msys-1.0.19-ext.tar.xz
-    A few support scripts dependent on other MSYS components.
-
-  msysCORE-1.0.19-1-msys-1.0.19-dev.tar.xz
-    Development files for the MSYS runtime.
-
-  msysCORE-1.0.19-1-msys-1.0.19-doc.tar.xz
-    MSYS documentation.
-
-  msysCORE-1.0.19-1-msys-1.0.19-lic.tar.xz
-    MSYS license.
-
-  msysCORE-1.0.19-1-msys-1.0.19-dbg.tar.bz2
-    Debug information:
-    * msys-1.0-debug.dll - Debug version of the MSYS runtime.
-    * strace.exe - System call tracer for use with the above.
-    * msys-1.0.dll.dbg - Symbolic information for decoding stack dumps.
-
-========================================================================
-
-----------  msysCORE-1.0.19-1 -- 2016 Jul 13 -----------
-* Fix a buffer overflow vulnerability in execvp (issue #2269).
-* Correct a bug with pipe handling that affected parallel make
-  (issue #1950).
-* Avoid loading some system DLLs, potentially improving process startup
-  time. (issue #1823).
-* Generate /etc/fstab automatically in postinstall (issue #2008):
-  1) /etc/fstab.sample is delivered with the package, but adjusted at
-  installation time, to reflect actual installation choice for /mingw mount
-  point association.
-  2) /etc/fstab is created if necessary, with the correct mapping of the
-  /mingw mount point.
-* Package compression format changed from lzma to xz.
-
-----------  msysCORE-1.0.18-1 -- 2012 Nov 21 -----------
-* Enable quoting of globbing characters on the command-line of native
-  applications (bug #3482704).
-* In case of an absent /etc directory, keep on trying to monitor the root
-  directory for its creation instead of silently failing (bug #3302830).
-* Fix getpwnam to return NULL for unknown user names, and be more robust
-  when HOME is not set (bug #3415129).
-* Import Cygwin 1.3.4 and port modern wincap functionality.
-* Convert msys.bat line endings back to CRLF. (bug #2854155)
-
-----------  msysCORE-1.0.17-1 -- 2011 Apr 19 -----------
-* Allow to override the error mode for Windows exceptions like GPF.
-
-----------  msysCORE-1.0.16-1 -- 2010 Sep 28 -----------
-* Fix a race condition when determining if a pid is valid
-  just after creating the process (bug #3042292)
-* Support path conversion of @file arguments.
-* Be more robust when dealing with ambiguous paths and mount points
-  (eg. /usr/tmp vs. /tmp, when /usr == /). Fixes bug #3059626.
-* Add --mintty option to msys.bat, for using mintty as the MSYS
-  terminal (mintty must be already installed for this to work).
-
-----------  msysCORE-1.0.15-1 -- 2010 Jul 06 -----------
-* Add declarations of fchdir and getdomainname to sys/unistd.h
-* Add declarations of rcmd, rexec, and rresvport to netdb.h
-* Correct bug involving double evaluations of pseudo-relocations
-  after fork().  Affected MSYS applications must be recompiled to
-  take advantage of this fix.
-* Add --replace option to mount and umount scripts
-* Split -bin component into -bin, -ext, -doc and -lic.
-* Removed a dependency of strace on the native GCC shared runtimes.
-* Moved the MSYS DLL base to 0x60800000, to hopefully minimize the need
-  to rebase it so often.
-* Simplified the bin/cmd script
-
-----------  msysCORE-1.0.14-1 -- 2010 Mar 17 -----------
-* Fix path translation in presence of components with dots.
-Example: /mingw/example.dot/../include
--> c:/mingw/example.dot/../include
-
-----------  msysCORE-1.0.13-2 -- 2010 Jan 27 -----------
-* Recompile at -O3 +:
-    -fno-unit-at-a-time
-  to avoid compiler optimization bug at -O3 and -O2
-
-----------  msysCORE-1.0.13-1 -- 2010 Jan 15 -----------
-* Updated MSYS to support runtime pseudo-relocs (see `info ld'
-  and search for --enable-runtime-pseudo-reloc). Both v1 and v2
-  relocations are supported.
-* Other changes necesssary to allow building with GCC 3.x rather
-  than the old 2.95.3 version.
-* Developer files are moved from within /usr/i686-pc-msys to
-  /usr/include and /usr/lib.
-* Fix a potential crash when preparing to run executables.
-* Fix bug #1249827 - MSYS appending Win32 path to hyphen.
-
-----------  msysCORE-1.0.12-1 -- 2010 Jan 5 -----------
-* Documentation moved to /share/doc/MSYS
-* MSYS symlink semantics are documented in /share/doc/MSYS/README.rtf
-* Improve symlink emulation:
-  - handle relative symlinks
-  - avoid infinite recursion
-  - correct return value on failure
-  - fail if destination exists
-* Better Win9x compatibility.
Index: Daodan/MinGW/msys/1.0/share/texinfo/texinfo.cat
===================================================================
--- Daodan/MinGW/msys/1.0/share/texinfo/texinfo.cat	(revision 1046)
+++ 	(revision )
@@ -1,3 +1,0 @@
-OVERRIDE YES
-
-PUBLIC "-//GNU//DTD TexinfoML V4.13//EN" "texinfo.dtd"
Index: Daodan/MinGW/msys/1.0/share/texinfo/texinfo.dtd
===================================================================
--- Daodan/MinGW/msys/1.0/share/texinfo/texinfo.dtd	(revision 1046)
+++ 	(revision )
@@ -1,507 +1,0 @@
-<!-- $Id: texinfo.dtd,v 1.13 2008/01/31 18:33:27 karl Exp $
-   Document Type Definition for Texinfo XML output (the '-'-xml option).
-
-  Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-  Free Software Foundation, Inc.
-
-  Copying and distribution of this file, with or without modification,
-  are permitted in any medium without royalty provided the copyright
-  notice and this notice are preserved.
-
-   Author: Philippe Martin
-   Contributors:
-           Karl Eichwalder
-           Alper Ersoy
-           Karl Berry
-           Torsten Bronger
--->
-
-<!-- * ENTITIES * -->
-
-<!-- Meta-information -->
-<!ENTITY % metainformation "setfilename | settitle | dircategory
-                            | documentdescription">
-<!ENTITY % variables "setvalue | clearvalue">
-
-<!-- Document language -->
-<!ENTITY % lang "documentlanguage">
-
-<!-- Language codes -->
-<!ENTITY % languagecodes "aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|da|de|dz|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|he|hi|hr|hu|hy|ia|id|ie|ik|is|it|iu|ja|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|ug|uk|ur|uz|vi|vo|wo|xh|yi|yo|za|zh|zu">
-
-<!-- ToC -->
-<!ENTITY % toc "contents | shortcontents">
-
-<!-- Title page -->
-<!ENTITY % titlepage_cmds "author | booktitle | booksubtitle">
-
-<!-- block -->
-<!ENTITY % block "menu | para | quotation | example | smallexample | lisp
-                  | smalllisp | cartouche | copying
-                  | format | smallformat | display
-                  | smalldisplay | itemize | enumerate | sp | center | group
-                  | table | multitable | definition | float | image">
-
-<!-- API definitions -->
-<!ENTITY % definition.cmds "defcategory | deffunction | defvariable | defparam
-                            | defdelimiter | deftype | defparamtype | defdatatype
-                            | defclass | defclassvar | defoperation">
-
-<!-- Headings -->
-<!ENTITY % headings "majorheading | chapheading | heading | subheading
-                     | subsubheading">
-
-
-<!-- Sectioning -->
-<!ENTITY % section.level1 "top | chapter | unnumbered | appendix">
-
-<!ENTITY % section.level2 "section | unnumberedsec | appendixsec">
-
-<!ENTITY % section.level3 "subsection | unnumberedsubsec | appendixsubsec">
-
-<!ENTITY % section.level4 "subsubsection | unnumberedsubsubsec 
-                           | appendixsubsubsec">
-
-<!ENTITY % section.all "%section.level1; | %section.level2; | %section.level3;
-                        | %section.level4;">
-
-
-<!ENTITY % section.level1.content "(%block;
-                                   | %section.level2;
-                                   | %section.level3;
-                                   | %section.level4;
-                                   | verbatim | titlepage | %toc;
-                                   | %lang; | %variables;
-                                   | %headings;
-                                   | listoffloats
-                                   | printindex)*">
-
-<!ENTITY % section.level2.content "(%block;
-                                   | %section.level3;
-                                   | %section.level4;
-                                   | verbatim | titlepage | %toc;
-                                   | %lang; | %variables;
-                                   | %headings;)*">
-
-<!ENTITY % section.level3.content "(%block;
-                                   | %section.level4;
-                                   | verbatim | titlepage | %toc;
-                                   | %lang; | %variables;
-                                   | %headings;)*">
-
-<!ENTITY % section.level4.content "(%block;
-                                    | verbatim | titlepage | %toc;
-                                    | %lang; | %variables;
-                                    | %headings;)*">
-
-<!-- Options (many missing) -->
-<!ENTITY % onoff "on|off">
-<!ENTITY % option.cmds "frenchspacing">
-
-<!-- Inline -->
-<!ENTITY % Inline.emphasize "strong | emph">
-<!ENTITY % Inline.fonts "b | i | r | sansserif | slanted | titlefont | tt
-                         | sc">
-<!ENTITY % Inline.footnote "footnote">
-<!ENTITY % Inline.markup "code | command | env | file | option | samp | verb
-                          | dfn | cite | key | kbd | var | acronym | url"> 
-<!ENTITY % Inline.math "math | dmn">
-<!ENTITY % Inline.reference "xref | inforef | indexterm | email | uref">
-<!ENTITY % Inline.misc "click | clicksequence | logo | punct">
-
-<!ENTITY % Inline.phrase
-           "%Inline.emphasize;  | %Inline.misc; | %Inline.fonts;
-            | %Inline.markup;   | %Inline.math; | %Inline.reference;
-            | %Inline.footnote; | %option.cmds; ">
-
-
-<!-- * ELEMENTS * -->
-
-<!-- TOP Level Element -->
-<!ELEMENT texinfo ((%metainformation; | titlepage | node | synindex | %block; | %toc;
-                    | %variables; | %lang;)* )>
-<!ATTLIST texinfo xml:lang (%languagecodes;) 'en'>
-
-<!-- meta-information -->
-<!ELEMENT setfilename (#PCDATA)>
-<!ELEMENT settitle    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT dircategory (#PCDATA)>
-
-<!ELEMENT setvalue    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT clearvalue  EMPTY>
-<!ATTLIST setvalue
-                name CDATA #REQUIRED>
-<!ATTLIST clearvalue
-                name CDATA #REQUIRED>
-
-<!-- ToC -->
-<!ELEMENT contents      EMPTY>
-<!ELEMENT shortcontents EMPTY>
-
-<!-- Document language -->
-<!ELEMENT documentlanguage EMPTY>
-<!ATTLIST documentlanguage xml:lang (%languagecodes;) 'en'>
-
-<!-- Titlepage -->
-<!ELEMENT titlepage    (%titlepage_cmds; | %block;)*>
-<!ELEMENT author       (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT booktitle    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT booksubtitle (#PCDATA | %Inline.phrase;)*>
-
-<!-- NODES -->
-<!ELEMENT node (nodename, nodenext?, nodeprev?, nodeup?,
-                (%section.all; | %block; | %toc; | %lang;)*) >
-
-<!ELEMENT nodename (#PCDATA)>
-<!ELEMENT nodenext (#PCDATA)>
-<!ELEMENT nodeprev (#PCDATA)>
-<!ELEMENT nodeup   (#PCDATA)>
-
-
-<!-- SECTIONING -->
-<!ELEMENT top           (title?, (%section.level1.content;))>
-
-<!ELEMENT chapter       (title?, (%section.level1.content;))>
-<!ELEMENT section       (title?, (%section.level2.content;))>
-<!ELEMENT subsection    (title?, (%section.level3.content;))>
-<!ELEMENT subsubsection (title?, (%section.level4.content;))>
-
-<!ELEMENT unnumbered          (title?, (%section.level1.content;))>
-<!ELEMENT unnumberedsec       (title?, (%section.level2.content;))>
-<!ELEMENT unnumberedsubsec    (title?, (%section.level3.content;))>
-<!ELEMENT unnumberedsubsubsec (title?, (%section.level4.content;))>
-
-<!ELEMENT appendix          (title?, (%section.level1.content;))>
-<!ELEMENT appendixsec       (title?, (%section.level2.content;))>
-<!ELEMENT appendixsubsec    (title?, (%section.level3.content;))>
-<!ELEMENT appendixsubsubsec (title?, (%section.level4.content;))>
-
-<!-- Headings and titles -->
-<!ELEMENT majorheading  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT chapheading   (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT heading       (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT subheading    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT subsubheading (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT title         (#PCDATA | %Inline.phrase;)*>
-
-<!-- Negative Indentation in Blocks -->
-<!ELEMENT exdent       (#PCDATA | %Inline.phrase;)*>
-
-
-<!-- BLOCK Elements -->
-
-<!ELEMENT quotation    (%block; | %Inline.phrase; | exdent)*>
-<!ELEMENT documentdescription (#PCDATA | %block; | %Inline.phrase;)*>
-<!ELEMENT example      (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT smallexample (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT lisp         (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT smalllisp    (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT cartouche    (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT copying      (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT format       (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT smallformat  (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT display      (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT smalldisplay (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT center       (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-<!ELEMENT group        (#PCDATA | %block; | %Inline.phrase; | exdent)*>
-
-<!ELEMENT image        (alttext)>
-<!ELEMENT alttext      (#PCDATA)>
-<!ATTLIST image
-            name      CDATA #REQUIRED
-            extension CDATA #REQUIRED
-            width     CDATA #REQUIRED
-            height    CDATA #REQUIRED>
-
-<!-- Whitespace in these elements are always preserved -->
-<!ATTLIST example      xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST smallexample xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST lisp         xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST smalllisp    xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST display      xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST smalldisplay xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST format       xml:space (preserve) #FIXED 'preserve'>
-<!ATTLIST smallformat  xml:space (preserve) #FIXED 'preserve'>
-
-<!ELEMENT verbatim     (#PCDATA)>
-<!ATTLIST verbatim     xml:space (preserve) #FIXED 'preserve'>
-
-<!ELEMENT para         (#PCDATA | %Inline.phrase; | %lang;)*>
-<!ATTLIST para
-          role CDATA #IMPLIED>
-
-<!ELEMENT menu (menuentry | detailmenu | para)*>
-<!ELEMENT detailmenu (menuentry | para)*>
-<!ELEMENT menuentry (menunode?, menutitle?, menucomment?)>
-<!ELEMENT menunode (#PCDATA)>
-<!ELEMENT menutitle (#PCDATA)>
-<!ELEMENT menucomment (#PCDATA | %Inline.phrase;)*>
-
-<!-- Floating displays -->
-<!ELEMENT float (floattype, floatpos, (%block;)*,
-                ((caption, shortcaption?) | (shortcaption, caption))?)>
-<!ATTLIST float
-          name CDATA #IMPLIED>
-<!ELEMENT floattype (#PCDATA)>
-<!ELEMENT floatpos (#PCDATA)>
-<!ELEMENT caption (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT shortcaption (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT listoffloats EMPTY>
-<!ATTLIST listoffloats
-          type CDATA #IMPLIED>
-
-<!-- Lists -->
-<!ELEMENT itemize (itemfunction, (item | itemize | enumerate | indexterm)*)>
-<!ELEMENT enumerate (item | itemize | enumerate | indexterm)*>
-<!ATTLIST enumerate
-          first CDATA #IMPLIED>
-
-<!ELEMENT item (%block;)*>
-
-<!ELEMENT itemfunction (#PCDATA | %Inline.phrase;)*>
-
-<!-- Tables -->
-<!ELEMENT table (tableitem | indexterm)+>
-<!ELEMENT tableitem ((tableterm, indexterm*)+, item?)>
-<!ELEMENT tableterm (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT multitable (columnfraction*, thead?, tbody)>
-<!ELEMENT columnfraction (#PCDATA)>
-<!ELEMENT thead (row+)>
-<!ELEMENT tbody (row+)>
-<!ELEMENT row (entry*)>
-<!ELEMENT entry (#PCDATA | %Inline.phrase;)*>
-
-<!-- API definitions -->
-<!ELEMENT definition (definitionterm | definitionitem | indexterm)+>
-<!ELEMENT definitionterm (%definition.cmds; | indexterm)+>
-<!ELEMENT definitionitem (%block;)*>
-
-<!ELEMENT defcategory  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT deffunction  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defvariable  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defparam     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defdelimiter (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT deftype      (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defparamtype (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defdatatype  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defclass     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defclassvar  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT defoperation (#PCDATA | %Inline.phrase;)*>
-
-<!-- INLINE Elements -->
-
-<!-- options -->
-<!ELEMENT frenchspacing (#PCDATA)> <!-- must be on or off -->
-<!ATTLIST frenchspacing val (%onoff;) 'off'>
-
-<!-- emphasize -->
-<!ELEMENT strong (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT emph   (#PCDATA | %Inline.phrase;)*>
-
-<!-- small caps -->
-<!ELEMENT sc (#PCDATA | %Inline.phrase;)*>
-
-<!-- fonts -->
-<!ELEMENT b  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT i  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT r  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT sansserif   (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT slanted     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT titlefont   (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT tt (#PCDATA | %Inline.phrase;)*>
-
-<!-- markup -->
-<!ELEMENT code    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT command (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT env     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT file    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT option  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT samp    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT dfn     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT cite    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT key     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT kbd     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT var     (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT url     (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT acronym (acronymword, acronymdesc?)>
-<!ELEMENT acronymword (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT acronymdesc (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT abbrev (abbrevword, abbrevdesc?)>
-<!ELEMENT abbrevword (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT abbrevdesc (#PCDATA | %Inline.phrase;)*>
-
-<!-- math -->
-<!ELEMENT math    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT dmn     (#PCDATA | %Inline.phrase;)*>
-
-<!-- reference -->
-<!ELEMENT anchor EMPTY>
-<!ATTLIST anchor
-          name CDATA #IMPLIED>
-
-<!ELEMENT xref (xrefnodename | xrefinfoname | xrefinfofile
-                | xrefprintedname | xrefprinteddesc)*>
-<!ELEMENT xrefnodename    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT xrefinfoname    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT xrefinfofile    (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT xrefprintedname (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT xrefprinteddesc (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT inforef (inforefnodename | inforefrefname | inforefinfoname)*>
-<!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT inforefrefname  (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT inforefinfoname (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT synindex  EMPTY>
-<!ATTLIST synindex
-          code      (yes|no) 'no'
-          from      NMTOKEN #REQUIRED
-          to        NMTOKEN #REQUIRED>
-<!ELEMENT indexterm (#PCDATA | %Inline.phrase;)*>
-<!ATTLIST indexterm
-          index CDATA #IMPLIED>
-
-<!ELEMENT email (emailaddress, emailname?)>
-<!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT emailname (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)>
-<!ELEMENT urefurl         (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT urefdesc        (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT urefreplacement (#PCDATA | %Inline.phrase;)*>
-
-<!ELEMENT footnote (para)>
-
-
-<!ELEMENT punct     (#PCDATA)>
-<!ATTLIST punct
-          end-of-sentence (yes|no) #IMPLIED>
-<!ELEMENT logo      (#PCDATA)>
-<!ELEMENT linebreak EMPTY>
-
-<!ENTITY tex        "<logo>TeX</logo>">
-<!ENTITY latex      "<logo>LaTeX</logo>">
-<!ENTITY ellipsis   "&#x2026;">
-<!ENTITY lt         "&#x3c;">
-<!ENTITY gt         "&#x3e;">
-<!ENTITY bullet     "&#x2022;">
-<!ENTITY copyright  "&#xa9;">
-<!ENTITY registered "&#xae;">
-<!ENTITY euro       "&#x20ac;">
-<!ENTITY pounds     "&#xa3;">
-<!ENTITY minus      "&#x2212;">
-<!ENTITY linebreak  "<linebreak/>">
-<!ENTITY space      " ">          <!-- Should become an element. -->
-<!ENTITY dots       "<punct end-of-sentence='no'>&#x2026;</punct>">
-<!ENTITY enddots    "<punct end-of-sentence='yes'>&#x2026;</punct>">
-<!ENTITY amp        "&#x26;">
-<!ENTITY lsquo      "&#x2018;">
-<!ENTITY rsquo      "&#x2019;">
-<!ENTITY sbquo      "&#x201a;">
-<!ENTITY ldquo      "&#x201c;">
-<!ENTITY rdquo      "&#x201d;">
-<!ENTITY bdquo      "&#x201e;">
-<!ENTITY laquo      "&#xab;">
-<!ENTITY raquo      "&#xbb;">
-<!ENTITY lsaquo     "&#x2039;">
-<!ENTITY rsaquo     "&#x203a;">
-<!ENTITY mdash      "&#x2014;">
-<!ENTITY ndash      "&#x2013;">
-<!ENTITY period     "<punct end-of-sentence='no'>.</punct>">
-<!ENTITY eosperiod  "<punct end-of-sentence='yes'>.</punct>">
-<!ENTITY quest      "<punct end-of-sentence='no'>?</punct>">
-<!ENTITY eosquest   "<punct end-of-sentence='yes'>?</punct>">
-<!ENTITY excl       "<punct end-of-sentence='no'>!</punct>">
-<!ENTITY eosexcl    "<punct end-of-sentence='yes'>!</punct>">
-
-<!ENTITY auml "&#xe4;">
-<!ENTITY ouml "&#xf6;">
-<!ENTITY uuml "&#xfc;">
-<!ENTITY Auml "&#xc4;">
-<!ENTITY Ouml "&#xd6;">
-<!ENTITY Uuml "&#xdc;">
-<!ENTITY Euml "&#xcb;">
-<!ENTITY euml "&#xeb;">
-<!ENTITY Iuml "&#xcf;">
-<!ENTITY iuml "&#xef;">
-<!ENTITY yuml "&#xff;">
-<!ENTITY uml  "&#xa8;">
-
-<!ENTITY Aacute "&#xc1;">
-<!ENTITY Eacute "&#xc9;">
-<!ENTITY Iacute "&#xcd;">
-<!ENTITY Oacute "&#xd3;">
-<!ENTITY Uacute "&#xda;">
-<!ENTITY Yacute "&#xdd;">
-<!ENTITY aacute "&#xe1;">
-<!ENTITY eacute "&#xe9;">
-<!ENTITY iacute "&#xed;">
-<!ENTITY oacute "&#xf3;">
-<!ENTITY uacute "&#xfa;">
-<!ENTITY yacute "&#xfd;">
-
-<!ENTITY ccedil "&#xe7;">
-<!ENTITY Ccedil "&#xc7;">
-
-<!ENTITY Acirc "&#xc2;">
-<!ENTITY Ecirc "&#xca;">
-<!ENTITY Icirc "&#xc3;">
-<!ENTITY Ocirc "&#xd4;">
-<!ENTITY Ucirc "&#xdb;">
-<!ENTITY acirc "&#xe2;">
-<!ENTITY ecirc "&#xea;">
-<!ENTITY icirc "&#xee;">
-<!ENTITY ocirc "&#xf4;">
-<!ENTITY ucirc "&#xfb;">
-
-<!ENTITY Agrave "&#xc0;">
-<!ENTITY Egrave "&#xc8;">
-<!ENTITY Igrave "&#xcc;">
-<!ENTITY Ograve "&#xd2;">
-<!ENTITY Ugrave "&#xd9;">
-<!ENTITY agrave "&#xe0;">
-<!ENTITY egrave "&#xe8;">
-<!ENTITY igrave "&#xec;">
-<!ENTITY ograve "&#xf2;">
-<!ENTITY ugrave "&#xf9;">
-
-<!ENTITY Atilde "&#xc3;">
-<!ENTITY Ntilde "&#xd1;">
-<!ENTITY Otilde "&#xd5;">
-<!ENTITY atilde "&#xe3;">
-<!ENTITY ntilde "&#xf1;">
-<!ENTITY otilde "&#xf5;">
-
-<!ENTITY oslash "&#xf8;">
-<!ENTITY Oslash "&#xd8;">
-
-<!ENTITY ordm "&#xba;">
-<!ENTITY ordf "&#xaa;">
-
-<!ENTITY iexcl "&#xa1;">
-<!ENTITY pound "&#xa3;">
-<!ENTITY iquest "&#xbf;">
-<!ENTITY AElig "&#xc6;">
-<!ENTITY aelig "&#xe6;">
-<!ENTITY OElig "&#x152;">
-<!ENTITY oelig "&#x153;">
-<!ENTITY Aring "&#xc5;">
-<!ENTITY aring "&#xe5;">
-<!ENTITY szlig "&#xdf;">
-
-<!ENTITY rarr "&#x2192;">
-<!ENTITY rArr "&#x21d2;">
-
-<!ENTITY macr "&#xaf;">
-
-
-<!-- fixxme: not yet classified -->
-
-<!ELEMENT sp (#PCDATA)>
-<!ATTLIST sp
-          lines CDATA #IMPLIED>
-<!ELEMENT printindex (#PCDATA)>
-
Index: Daodan/MinGW/msys/1.0/share/texinfo/texinfo.xsl
===================================================================
--- Daodan/MinGW/msys/1.0/share/texinfo/texinfo.xsl	(revision 1046)
+++ 	(revision )
@@ -1,242 +1,0 @@
-<?xml version='1.0'?>
-<!-- $Id: texinfo.xsl,v 1.1 2004/04/11 17:56:47 karl Exp $ -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<xsl:output method="html" indent="yes"/>
-
-<!-- root rule -->
-<xsl:template match="/">
-   <html>
-    <head><title>
-     <xsl:apply-templates select="TEXINFO/SETTITLE" mode="head"/>
-    </title></head>
-     <body bgcolor="#FFFFFF"><xsl:apply-templates/>
-</body></html>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO">
-  <xsl:apply-templates/>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO/SETFILENAME">
-</xsl:template>
-
-<xsl:template match="TEXINFO/SETTITLE" mode="head">
-  <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="TEXINFO/SETTITLE">
-  <h1><xsl:apply-templates/></h1>
-</xsl:template>
-
-
-<xsl:template match="TEXINFO/DIRCATEGORY">
-</xsl:template>
-
-<xsl:template match="//PARA">
-  <p><xsl:apply-templates/></p>
-</xsl:template>
-
-<xsl:template match="//EMPH">
-  <i><xsl:apply-templates/></i>
-</xsl:template>
-
-<!-- The node -->
-<xsl:template match="TEXINFO/NODE">
- <hr/>
- <p>
- <xsl:apply-templates select="NODENAME" mode="select"/>
- <xsl:apply-templates select="NODEPREV" mode="select"/>
- <xsl:apply-templates select="NODEUP" mode="select"/>
- <xsl:apply-templates select="NODENEXT" mode="select"/>
- <xsl:apply-templates/>
-  <h2>Footnotes</h2>
-  <ol>
-  <xsl:apply-templates select=".//FOOTNOTE" mode="footnote"/>
-   </ol>
- </p>
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENAME" mode="select">
-<h2>
- <a>
- <xsl:attribute name="name">
-  <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a>
-</h2>
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENAME"/>
-
-
-<xsl:template match="TEXINFO/NODE/NODEPREV" mode="select">
- [ <b>Previous: </b>
- <a>
- <xsl:attribute name="href">
-  <xsl:text>#</xsl:text>
-  <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODEPREV"/>
-	
-<xsl:template match="TEXINFO/NODE/NODEUP" mode="select">
- [ <b>Up: </b>
- <a>
- <xsl:attribute name="href">
-  <xsl:text>#</xsl:text>
-  <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODEUP"/>
-
-<xsl:template match="TEXINFO/NODE/NODENEXT" mode="select">
- [ <b>Next: </b>
- <a>
- <xsl:attribute name="href">
-  <xsl:text>#</xsl:text>
-  <xsl:apply-templates/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a> ]
-</xsl:template>
-
-<xsl:template match="TEXINFO/NODE/NODENEXT"/>
-
-<!-- Menu -->
-<xsl:template match="//MENU">
- <h3>Menu</h3>
- <xsl:apply-templates/>
-</xsl:template> 
-
-<xsl:template match="//MENU/MENUENTRY">
- <a>
- <xsl:attribute name="href">
-  <xsl:text>#</xsl:text>
-  <xsl:apply-templates select="MENUNODE"/>
- </xsl:attribute>
- <xsl:apply-templates select="MENUTITLE"/>
- </a>: 
- <xsl:apply-templates select="MENUCOMMENT"/>
- <br/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUNODE">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUTITLE">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//MENU/MENUENTRY/MENUCOMMENT">
- <xsl:apply-templates mode="menucomment"/>
-</xsl:template>
-
-<xsl:template match="PARA" mode="menucomment">
- <xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="//PARA">
- <p><xsl:apply-templates/></p>
-</xsl:template>
-
-<!-- LISTS -->
-<xsl:template match="//ITEMIZE">
- <ul>
-  <xsl:apply-templates/>
- </ul>
-</xsl:template>
-
-<xsl:template match="//ITEMIZE/ITEM">
- <li>
-  <xsl:apply-templates/>
- </li>
-</xsl:template>
-
-<xsl:template match="//ENUMERATE">
- <ol>
-  <xsl:apply-templates/>
- </ol>
-</xsl:template>
-
-<xsl:template match="//ENUMERATE/ITEM">
- <li>
-  <xsl:apply-templates/>
- </li>
-</xsl:template>
-
-<!-- INLINE -->
-<xsl:template match="//CODE">
- <tt>
-  <xsl:apply-templates/>
- </tt>
-</xsl:template>
-
-<xsl:template match="//DFN">
- <i><b>
-  <xsl:apply-templates/>
- </b></i>
-</xsl:template>
-
-<xsl:template match="//STRONG">
- <b>
-  <xsl:apply-templates/>
- </b>
-</xsl:template>
-
-<xsl:template match="//CENTER">
- <center>
-  <xsl:apply-templates/>
- </center>
-</xsl:template>
-
-<xsl:template match="//VAR">
- <i>
-  <xsl:apply-templates/>
- </i>
-</xsl:template>
-
-<xsl:template match="//KBD">
- <tt>
-  <xsl:apply-templates/>
- </tt>
-</xsl:template>
-
-<xsl:template match="//KEY">
- <b>
-  <xsl:apply-templates/>
- </b>
-</xsl:template>
-
-<!-- BLOCKS -->
-<xsl:template match="//DISPLAY">
- <pre>
-  <xsl:apply-templates/>
- </pre>
-</xsl:template>
-
-
-<!-- INDEX -->
-<xsl:template match="//INDEXTERM">
-</xsl:template>
-
-<!-- FOOTNOTE -->
-<xsl:template match="//FOOTNOTE">
-</xsl:template>
-
-<xsl:template match="//FOOTNOTE" mode="footnote">
- <li><xsl:apply-templates/></li>
-</xsl:template>
-
-</xsl:stylesheet>
Index: Daodan/MinGW/share/doc/gcc/5.3.0/COPYING
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/COPYING	(revision 1046)
+++ 	(revision )
@@ -1,345 +1,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year  name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
Index: Daodan/MinGW/share/doc/gcc/5.3.0/COPYING.LIB
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/COPYING.LIB	(revision 1046)
+++ 	(revision )
@@ -1,519 +1,0 @@
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-	51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes a de-facto standard.  To achieve this, non-free programs must
-be allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at least
-    three years, to give the same user the materials specified in
-    Subsection 6a, above, for a charge no more than the cost of
-    performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or
-your school, if any, to sign a "copyright disclaimer" for the library,
-if necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James
-  Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
Index: Daodan/MinGW/share/doc/gcc/5.3.0/COPYING.RUNTIME
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/COPYING.RUNTIME	(revision 1046)
+++ 	(revision )
@@ -1,73 +1,0 @@
-GCC RUNTIME LIBRARY EXCEPTION
-
-Version 3.1, 31 March 2009
-
-Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
-
-Everyone is permitted to copy and distribute verbatim copies of this
-license document, but changing it is not allowed.
-
-This GCC Runtime Library Exception ("Exception") is an additional
-permission under section 7 of the GNU General Public License, version
-3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
-bears a notice placed by the copyright holder of the file stating that
-the file is governed by GPLv3 along with this Exception.
-
-When you use GCC to compile a program, GCC may combine portions of
-certain GCC header files and runtime libraries with the compiled
-program. The purpose of this Exception is to allow compilation of
-non-GPL (including proprietary) programs to use, in this way, the
-header files and runtime libraries covered by this Exception.
-
-0. Definitions.
-
-A file is an "Independent Module" if it either requires the Runtime
-Library for execution after a Compilation Process, or makes use of an
-interface provided by the Runtime Library, but is not otherwise based
-on the Runtime Library.
-
-"GCC" means a version of the GNU Compiler Collection, with or without
-modifications, governed by version 3 (or a specified later version) of
-the GNU General Public License (GPL) with the option of using any
-subsequent versions published by the FSF.
-
-"GPL-compatible Software" is software whose conditions of propagation,
-modification and use would permit combination with GCC in accord with
-the license of GCC.
-
-"Target Code" refers to output from any compiler for a real or virtual
-target processor architecture, in executable form or suitable for
-input to an assembler, loader, linker and/or execution
-phase. Notwithstanding that, Target Code does not include data in any
-format that is used as a compiler intermediate representation, or used
-for producing a compiler intermediate representation.
-
-The "Compilation Process" transforms code entirely represented in
-non-intermediate languages designed for human-written code, and/or in
-Java Virtual Machine byte code, into Target Code. Thus, for example,
-use of source code generators and preprocessors need not be considered
-part of the Compilation Process, since the Compilation Process can be
-understood as starting with the output of the generators or
-preprocessors.
-
-A Compilation Process is "Eligible" if it is done using GCC, alone or
-with other GPL-compatible software, or if it is done without using any
-work based on GCC. For example, using non-GPL-compatible Software to
-optimize any GCC intermediate representations would not qualify as an
-Eligible Compilation Process.
-
-1. Grant of Additional Permission.
-
-You have permission to propagate a work of Target Code formed by
-combining the Runtime Library with Independent Modules, even if such
-propagation would otherwise violate the terms of GPLv3, provided that
-all Target Code was generated by Eligible Compilation Processes. You
-may then convey such a combination under terms of your choice,
-consistent with the licensing of the Independent Modules.
-
-2. No Weakening of GCC Copyleft.
-
-The availability of this Exception does not imply any general
-presumption that third-party software is unaffected by the copyleft
-requirements of the license of GCC.
-
Index: Daodan/MinGW/share/doc/gcc/5.3.0/COPYING3
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/COPYING3	(revision 1046)
+++ 	(revision )
@@ -1,674 +1,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: Daodan/MinGW/share/doc/gcc/5.3.0/COPYING3.LIB
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/COPYING3.LIB	(revision 1046)
+++ 	(revision )
@@ -1,165 +1,0 @@
-		   GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-  This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-  0. Additional Definitions. 
-
-  As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
-  "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
-  An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
-  A "Combined Work" is a work produced by combining or linking an
-Application with the Library.  The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
-  The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
-  The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-  1. Exception to Section 3 of the GNU GPL.
-
-  You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-  2. Conveying Modified Versions.
-
-  If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
-   a) under this License, provided that you make a good faith effort to
-   ensure that, in the event an Application does not supply the
-   function or data, the facility still operates, and performs
-   whatever part of its purpose remains meaningful, or
-
-   b) under the GNU GPL, with none of the additional permissions of
-   this License applicable to that copy.
-
-  3. Object Code Incorporating Material from Library Header Files.
-
-  The object code form of an Application may incorporate material from
-a header file that is part of the Library.  You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
-   a) Give prominent notice with each copy of the object code that the
-   Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the object code with a copy of the GNU GPL and this license
-   document.
-
-  4. Combined Works.
-
-  You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
-   a) Give prominent notice with each copy of the Combined Work that
-   the Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the Combined Work with a copy of the GNU GPL and this license
-   document.
-
-   c) For a Combined Work that displays copyright notices during
-   execution, include the copyright notice for the Library among
-   these notices, as well as a reference directing the user to the
-   copies of the GNU GPL and this license document.
-
-   d) Do one of the following:
-
-       0) Convey the Minimal Corresponding Source under the terms of this
-       License, and the Corresponding Application Code in a form
-       suitable for, and under terms that permit, the user to
-       recombine or relink the Application with a modified version of
-       the Linked Version to produce a modified Combined Work, in the
-       manner specified by section 6 of the GNU GPL for conveying
-       Corresponding Source.
-
-       1) Use a suitable shared library mechanism for linking with the
-       Library.  A suitable mechanism is one that (a) uses at run time
-       a copy of the Library already present on the user's computer
-       system, and (b) will operate properly with a modified version
-       of the Library that is interface-compatible with the Linked
-       Version. 
-
-   e) Provide Installation Information, but only if you would otherwise
-   be required to provide such information under section 6 of the
-   GNU GPL, and only to the extent that such information is
-   necessary to install and execute a modified version of the
-   Combined Work produced by recombining or relinking the
-   Application with a modified version of the Linked Version. (If
-   you use option 4d0, the Installation Information must accompany
-   the Minimal Corresponding Source and Corresponding Application
-   Code. If you use option 4d1, you must provide the Installation
-   Information in the manner specified by section 6 of the GNU GPL
-   for conveying Corresponding Source.)
-
-  5. Combined Libraries.
-
-  You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
-   a) Accompany the combined library with a copy of the same work based
-   on the Library, uncombined with any other library facilities,
-   conveyed under the terms of this License.
-
-   b) Give prominent notice with the combined library that part of it
-   is a work based on the Library, and explaining where to find the
-   accompanying uncombined form of the same work.
-
-  6. Revised Versions of the GNU Lesser General Public License.
-
-  The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-  Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
-  If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
Index: Daodan/MinGW/share/doc/gcc/5.3.0/zlib/LICENSE_1_0.txt
===================================================================
--- Daodan/MinGW/share/doc/gcc/5.3.0/zlib/LICENSE_1_0.txt	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-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, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
Index: Daodan/MinGW/share/doc/mingw-get/COPYING
===================================================================
--- Daodan/MinGW/share/doc/mingw-get/COPYING	(revision 1046)
+++ 	(revision )
@@ -1,674 +1,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: Daodan/MinGW/share/doc/mingw-get/README
===================================================================
--- Daodan/MinGW/share/doc/mingw-get/README	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-MinGW Package Download and Installation Tool
-============================================
-
-$Id: README.in,v 15e228fcee93 2013/09/04 15:45:38 keithmarshall $
-
-Description
------------
-
-mingw-get  is a tool to assist users in the management of MinGW and MSYS
-software installations.  Configured via an online XML database, which is
-managed  by the project maintainers, it offers a choice of graphical and
-command line driven user interfaces facilitating selective download  and
-installation of packages provided by the project.
-
-The   XML  database  provides  maintainers  with  a  mechanism  for  the
-specification of inter-package dependencies; this permits  configuration
-of  any  package,  such that the end user may elect to install just that
-specific package, leaving mingw-get to ensure that all dependencies will
-be automatically satisfied at installation time.
-
-
-Licensing Terms
----------------
-
-mingw-get  is  free software.  Permission is granted to copy, modify and
-redistribute this software, under the  provisions  of  the  GNU  General
-Public  License,  Version 3, (or, at your option, any later version), as
-published by the Free Software Foundation; see the file  COPYING,  which
-is distributed with the mingw-get-lic package, and with the source code,
-for licensing details.
-
-Note, in particular, that mingw-get is provided  "as is",  in  the  hope
-that  it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not even an
-implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR  ANY  PARTICULAR
-PURPOSE.   Under no circumstances will the author, or the MinGW Project,
-accept liability for any damages, however caused, arising from  the  use
-of this software.
-
-
-Further Information
--------------------
-
-For  development history, and details of features included in successive
-releases of mingw-get, please refer to the NEWS file.
-
-For installation and configuration instructions, see the file INSTALL.
-
-
-Reporting Bugs
---------------
-
-Please file bug reports as directed at http://mingw.org/Reporting_Bugs
-
-$RCSfile: README.in,v $: end of file
Index: Daodan/MinGW/var/lib/mingw-get/data/defaults.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/defaults.xml	(revision 1046)
+++ 	(revision )
@@ -1,137 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<profile project="MinGW" application="mingw-get">
-  <!--
-    $Id: profile.xml,v ee72dbfcc656 2013/09/20 12:05:26 keithmarshall $
-
-    Written by Keith Marshall  <keithmarshall@users.sourceforge.net>
-    Copyright (C) 2009, 2010, 2012, 2013, MinGW.org Project
-
-
-    Master configuration profile for mingw-get.
-
-    This file is user modifiable, to accommodate local customisation
-    of mingw-get's behaviour.  To avoid overwriting the user's local
-    customisations, when upgrading the mingw-get installation, this
-    file is distributed with the alternative name "defaults.xml"; a
-    locally customised version should always be renamed, so that it
-    may be identified as the preferentially loaded "profile.xml".
-
-
-    This is free software.  Permission is granted to copy, modify and
-    redistribute this software, under the provisions of the GNU General
-    Public License, Version 3, (or, at your option, any later version),
-    as published by the Free Software Foundation; see the file COPYING
-    for licensing details.
-
-    Note, in particular, that this software is provided "as is", in the
-    hope that it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not
-    even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR ANY
-    PARTICULAR PURPOSE.  Under no circumstances will the author, or the
-    MinGW Project, accept liability for any damages, however caused,
-    arising from the use of this software.
-  -->
-
-  <preferences client="cli">
-    <!--
-      "preferences" specifications provide a mechanism for defining
-      user specified default attributes for command line options such
-      as the "desktop" and "start-menu" short-cut creation controls.
-
-      Each of these options is disabled by default.  By uncommenting
-      any one of the following declarations, for each option, you may
-      change that default.  Note that you may still override settings
-      you establish here, by also specifying the option on the command
-      line as before; you may also disable an option enabled here, by
-      assigning an attribute value of "none" on the command line.
-    -->
-
-    <!--option name="desktop" /-->
-    <!--option name="desktop" value="all-users" /-->
-
-    <!--option name="start-menu" /-->
-    <!--option name="start-menu" value="all-users" /-->
-  </preferences>
-
-  <preferences client="gui">
-    <!--
-      The preceding "preferences" section applies exclusively to the
-      CLI client, (where command line options may be used); here, we
-      specify defaults for the GUI client, (which provides no support
-      for command line options), such that shortcuts will be created
-      on the desktop, and in the start menu, for the current user.
-
-      Note that matching of the "client" attribute will be performed
-      case-insensitively, against a keyword defined by the respective
-      client; any "preferences" section with no "client" assignment
-      will be matched for ALL clients.
-    -->
-
-    <option name="desktop" />
-    <option name="start-menu" />
-  </preferences>
-
-  <repository uri="http://prdownloads.sourceforge.net/mingw/%F.xml.lzma?download">
-    <!--
-      The "repository" specification identifies the URI where package
-      list catalogues may be downloaded; each catalogue download URI is
-      identified by substituting the catalogue name for the "%F" field
-      in the uri specification.
-
-      You may specify a particular collection of package lists to load
-      here, (selecting from the available catalogue-name.xml.lzma files
-      hosted on the repository server).  If you do this, then ONLY those
-      package lists which you explicitly specify will be loaded.  If you
-      specify no package list here, then the repository's standard list
-      of packages, as identified in the master "package-list.xml.lzma"
-      file will be automatically selected; this is the recommended
-      configuration choice.
-
-      Note however, that if the repository offers optional package list
-      selections, in addition to the the master list, and you wish any of
-      these to be loaded, then you MUST explicitly specify them here.  If
-      you exercise this option, then the automatic loading of the master
-      list will be inhibited, UNLESS you also explicitly include it in
-      your selection, by adding the explicit reference:-
-
-	<package-list catalogue="package-list" />
-
-      Additional package lists, which you wish to specify, are then
-      identified by the addition of as many further references of the
-      form:-
-
-	<package-list catalogue="catalogue-name" />
-
-      as may be required; (note that the "catalogue" attribute name
-      MUST be specified thus, with the GB English spelling).
-    -->
-  </repository>
-
-  <system-map id="default">
-    <!--
-      The system map specifies the installation paths for each managed
-      subsystem.  Multiple system maps are supported, provided each is
-      given a unique "id" attribute; each specifies an "installation",
-      comprising a collection of subsystems, each of which in turn is
-      associated with a specific "sysroot path".
-      
-      Each individual "sysroot path" defines one installation of one
-      specific subsystem; parallel installations may be supported by
-      assigning distinct paths to two or more sysroot specifications
-      for the same subsystem; each such sysroot specification must
-      then be assigned to a distinct system-map.
-
-      Any single sysroot definition may be shared by any number of
-      system-maps, simply by duplicating that definition within each;
-      however, each system-map may contain only one sysroot definition
-      for each individual subsystem.
-
-      Only one system map may be active at any time.  Unless otherwise
-      specified by user selection, the first encountered is accepted as
-      default, irrespective of its actual "id" attribute value.
-    -->
-    <sysroot subsystem="mingw32" path="%R" />
-    <sysroot subsystem="MSYS" path="%R/msys/1.0" />
-  </system-map>
-
-</profile>
-<!-- $RCSfile: profile.xml,v $: end of file -->
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-030-7deb-b8c15e.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-030-7deb-b8c15e.xml	(revision 1046)
+++ 	(revision )
@@ -1,15 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-030-7deb-b8c15e">
-    <release tarname="gcc-5.3.0-2-mingw32-lic.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="share/doc/gcc/5.3.0/COPYING.RUNTIME" />
-        <file path="share/doc/gcc/5.3.0/COPYING3" />
-        <file path="share/doc/gcc/5.3.0/COPYING.LIB" />
-        <file path="share/doc/gcc/5.3.0/COPYING" />
-        <file path="share/doc/gcc/5.3.0/COPYING3.LIB" />
-        <file path="share/doc/gcc/5.3.0/zlib/LICENSE_1_0.txt" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-030-95c8-818018.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-030-95c8-818018.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-030-95c8-818018">
-    <release tarname="libz-1.2.8-1-mingw32-dll-1.tar" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/zlib1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-032-2cbc-e7f72c.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-032-2cbc-e7f72c.xml	(revision 1046)
+++ 	(revision )
@@ -1,499 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-032-2cbc-e7f72c">
-    <release tarname="w32api-3.18.1-mingw32-dev.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="include" />
-        <file path="include/security.h" />
-        <file path="include/commctrl.h" />
-        <file path="include/setupapi.h" />
-        <file path="include/qedit.h" />
-        <file path="include/servprov.h" />
-        <file path="include/exdispid.h" />
-        <file path="include/rpcdce.h" />
-        <file path="include/exdisp.h" />
-        <file path="include/ksmedia.h" />
-        <dir path="include/gdiplus" />
-        <file path="include/gdiplus/gdiplusenums.h" />
-        <file path="include/gdiplus/gdiplusmatrix.h" />
-        <file path="include/gdiplus/gdipluspen.h" />
-        <file path="include/gdiplus/gdipluseffects.h" />
-        <file path="include/gdiplus/gdiplusimagecodec.h" />
-        <file path="include/gdiplus/gdipluspath.h" />
-        <file path="include/gdiplus/gdiplusmetaheader.h" />
-        <file path="include/gdiplus/gdiplusmem.h" />
-        <file path="include/gdiplus/gdiplusstringformat.h" />
-        <file path="include/gdiplus/gdiplusgraphics.h" />
-        <file path="include/gdiplus/gdipluslinecaps.h" />
-        <file path="include/gdiplus/gdiplusgpstubs.h" />
-        <file path="include/gdiplus/gdiplustypes.h" />
-        <file path="include/gdiplus/gdipluscolor.h" />
-        <file path="include/gdiplus/gdiplusheaders.h" />
-        <file path="include/gdiplus/gdiplusimaging.h" />
-        <file path="include/gdiplus/gdiplusimpl.h" />
-        <file path="include/gdiplus/gdiplus.h" />
-        <file path="include/gdiplus/gdipluspixelformats.h" />
-        <file path="include/gdiplus/gdiplusbrush.h" />
-        <file path="include/gdiplus/gdiplusflat.h" />
-        <file path="include/gdiplus/gdiplusinit.h" />
-        <file path="include/gdiplus/gdiplusbase.h" />
-        <file path="include/gdiplus/gdiplusimageattributes.h" />
-        <file path="include/gdiplus/gdiplusmetafile.h" />
-        <file path="include/gdiplus/gdipluscolormatrix.h" />
-        <file path="include/devguid.h" />
-        <file path="include/mmreg.h" />
-        <file path="include/winver.h" />
-        <file path="include/winsock2.h" />
-        <file path="include/sspi.h" />
-        <file path="include/tmschema.h" />
-        <file path="include/ole.h" />
-        <file path="include/dbt.h" />
-        <file path="include/dshow.h" />
-        <file path="include/ws2tcpip.h" />
-        <file path="include/winnt.h" />
-        <file path="include/shobjidl.h" />
-        <file path="include/wincrypt.h" />
-        <file path="include/mpegtype.h" />
-        <file path="include/vfw.h" />
-        <file path="include/lmuse.h" />
-        <file path="include/ntdll.h" />
-        <file path="include/windows.h" />
-        <file path="include/w32api.h" />
-        <file path="include/lmmsg.h" />
-        <file path="include/dde.h" />
-        <file path="include/rpcnterr.h" />
-        <file path="include/powrprof.h" />
-        <dir path="include/ddk" />
-        <file path="include/ddk/winxp.h" />
-        <file path="include/ddk/pfhook.h" />
-        <file path="include/ddk/ntdd8042.h" />
-        <file path="include/ddk/usbuser.h" />
-        <file path="include/ddk/hidsdi.h" />
-        <file path="include/ddk/ntddpcm.h" />
-        <file path="include/ddk/tvout.h" />
-        <file path="include/ddk/mountdev.h" />
-        <file path="include/ddk/ndis.h" />
-        <file path="include/ddk/winddk.h" />
-        <file path="include/ddk/ntddtape.h" />
-        <file path="include/ddk/mcd.h" />
-        <file path="include/ddk/ntddtdi.h" />
-        <file path="include/ddk/ntddvol.h" />
-        <file path="include/ddk/srb.h" />
-        <file path="include/ddk/usbiodef.h" />
-        <file path="include/ddk/storport.h" />
-        <file path="include/ddk/xfilter.h" />
-        <file path="include/ddk/d4drvif.h" />
-        <file path="include/ddk/winnt4.h" />
-        <file path="include/ddk/ntddstor.h" />
-        <file path="include/ddk/atm.h" />
-        <file path="include/ddk/miniport.h" />
-        <file path="include/ddk/usbscan.h" />
-        <file path="include/ddk/usb100.h" />
-        <file path="include/ddk/hidpi.h" />
-        <file path="include/ddk/netpnp.h" />
-        <file path="include/ddk/video.h" />
-        <file path="include/ddk/tdi.h" />
-        <file path="include/ddk/hidusage.h" />
-        <file path="include/ddk/tdistat.h" />
-        <file path="include/ddk/ws2san.h" />
-        <file path="include/ddk/newdev.h" />
-        <file path="include/ddk/scsi.h" />
-        <file path="include/ddk/usbdi.h" />
-        <file path="include/ddk/minitape.h" />
-        <file path="include/ddk/scsiscan.h" />
-        <file path="include/ddk/ntifs.h" />
-        <file path="include/ddk/usbcamdi.h" />
-        <file path="include/ddk/ntddscsi.h" />
-        <file path="include/ddk/netevent.h" />
-        <file path="include/ddk/ntapi.h" />
-        <file path="include/ddk/tdikrnl.h" />
-        <file path="include/ddk/ntpoapi.h" />
-        <file path="include/ddk/parallel.h" />
-        <file path="include/ddk/ntddcdvd.h" />
-        <file path="include/ddk/cfg.h" />
-        <file path="include/ddk/ddkmapi.h" />
-        <file path="include/ddk/kbdmou.h" />
-        <file path="include/ddk/ntddpar.h" />
-        <file path="include/ddk/videoagp.h" />
-        <file path="include/ddk/usbioctl.h" />
-        <file path="include/ddk/cfgmgr32.h" />
-        <file path="include/ddk/hidclass.h" />
-        <file path="include/ddk/ntddser.h" />
-        <file path="include/ddk/ntddcdrm.h" />
-        <file path="include/ddk/ndisguid.h" />
-        <file path="include/ddk/ntddvdeo.h" />
-        <file path="include/ddk/tdiinfo.h" />
-        <file path="include/ddk/ntddchgr.h" />
-        <file path="include/ddk/ntdddisk.h" />
-        <file path="include/ddk/batclass.h" />
-        <file path="include/ddk/ntstatus.h" />
-        <file path="include/ddk/mountmgr.h" />
-        <file path="include/ddk/ntddndis.h" />
-        <file path="include/ddk/ntddbeep.h" />
-        <file path="include/ddk/ntddk.h" />
-        <file path="include/ddk/win2k.h" />
-        <file path="include/ddk/d4iface.h" />
-        <file path="include/ddk/ntddkbd.h" />
-        <file path="include/ddk/smbus.h" />
-        <file path="include/ddk/ndistapi.h" />
-        <file path="include/ddk/ndiswan.h" />
-        <file path="include/ddk/ntddmou.h" />
-        <file path="include/ddk/winddi.h" />
-        <file path="include/ddk/poclass.h" />
-        <file path="include/ddk/scsiwmi.h" />
-        <file path="include/ddk/usb.h" />
-        <file path="include/ddk/upssvc.h" />
-        <file path="include/dvdevcod.h" />
-        <file path="include/audevcod.h" />
-        <file path="include/il21dec.h" />
-        <file path="include/lmwksta.h" />
-        <file path="include/userenv.h" />
-        <file path="include/winperf.h" />
-        <file path="include/lmerrlog.h" />
-        <file path="include/lmshare.h" />
-        <file path="include/basetsd.h" />
-        <file path="include/accctrl.h" />
-        <file path="include/basetyps.h" />
-        <file path="include/ntdsbcli.h" />
-        <file path="include/usp10.h" />
-        <file path="include/mprapi.h" />
-        <file path="include/windns.h" />
-        <file path="include/imagehlp.h" />
-        <file path="include/winbase.h" />
-        <file path="include/lm.h" />
-        <file path="include/ws2spi.h" />
-        <file path="include/dsquery.h" />
-        <file path="include/idispids.h" />
-        <file path="include/windef.h" />
-        <file path="include/winerror.h" />
-        <file path="include/winreg.h" />
-        <file path="include/lmuseflg.h" />
-        <file path="include/dxerr8.h" />
-        <file path="include/objbase.h" />
-        <file path="include/wininet.h" />
-        <file path="include/lmstats.h" />
-        <file path="include/tlhelp32.h" />
-        <file path="include/sddl.h" />
-        <file path="include/pshpack1.h" />
-        <file path="include/winspool.h" />
-        <file path="include/rapi.h" />
-        <file path="include/rpcproxy.h" />
-        <file path="include/lzexpand.h" />
-        <file path="include/lmcons.h" />
-        <file path="include/afxres.h" />
-        <file path="include/strmif.h" />
-        <file path="include/schnlsp.h" />
-        <file path="include/mq.h" />
-        <file path="include/control.h" />
-        <file path="include/cderr.h" />
-        <file path="include/iptypes.h" />
-        <file path="include/lmat.h" />
-        <file path="include/snmp.h" />
-        <file path="include/cguid.h" />
-        <file path="include/lmrepl.h" />
-        <file path="include/reason.h" />
-        <file path="include/httpext.h" />
-        <file path="include/d3d9types.h" />
-        <file path="include/lmbrowsr.h" />
-        <file path="include/ole2.h" />
-        <file path="include/pshpack8.h" />
-        <file path="include/lmconfig.h" />
-        <file path="include/ipxconst.h" />
-        <file path="include/ipifcons.h" />
-        <file path="include/commdlg.h" />
-        <file path="include/aygshell.h" />
-        <file path="include/largeint.h" />
-        <file path="include/sqlucode.h" />
-        <file path="include/oledlg.h" />
-        <file path="include/lmsname.h" />
-        <file path="include/ipexport.h" />
-        <file path="include/evcode.h" />
-        <file path="include/secext.h" />
-        <file path="include/amvideo.h" />
-        <file path="include/dxerr9.h" />
-        <file path="include/xprtdefs.h" />
-        <file path="include/dsrole.h" />
-        <file path="include/mmsystem.h" />
-        <file path="include/lmserver.h" />
-        <file path="include/mgmtapi.h" />
-        <file path="include/adsprop.h" />
-        <file path="include/winnls.h" />
-        <file path="include/ipxrtdef.h" />
-        <file path="include/ras.h" />
-        <file path="include/winldap.h" />
-        <file path="include/wingdi.h" />
-        <file path="include/ntdsapi.h" />
-        <file path="include/cplext.h" />
-        <file path="include/richole.h" />
-        <file path="include/nspapi.h" />
-        <file path="include/oaidl.h" />
-        <file path="include/wsipx.h" />
-        <file path="include/objsel.h" />
-        <file path="include/zmouse.h" />
-        <file path="include/mcx.h" />
-        <file path="include/sqlext.h" />
-        <file path="include/sqltypes.h" />
-        <file path="include/regstr.h" />
-        <file path="include/wincon.h" />
-        <file path="include/vmr9.h" />
-        <file path="include/olectlid.h" />
-        <file path="include/subauth.h" />
-        <file path="include/mshtml.h" />
-        <file path="include/oleauto.h" />
-        <file path="include/rasdlg.h" />
-        <file path="include/ipxtfflt.h" />
-        <file path="include/stm.h" />
-        <file path="include/ntsecpkg.h" />
-        <file path="include/winber.h" />
-        <file path="include/rpc.h" />
-        <file path="include/psapi.h" />
-        <file path="include/oleidl.h" />
-        <file path="include/rpcndr.h" />
-        <file path="include/cpl.h" />
-        <file path="include/winable.h" />
-        <file path="include/svcguid.h" />
-        <file path="include/windowsx.h" />
-        <file path="include/winsvc.h" />
-        <file path="include/winresrc.h" />
-        <file path="include/rtutils.h" />
-        <file path="include/mgm.h" />
-        <file path="include/shellapi.h" />
-        <file path="include/cmnquery.h" />
-        <file path="include/shlwapi.h" />
-        <file path="include/unknwn.h" />
-        <file path="include/amaudio.h" />
-        <file path="include/d3d9.h" />
-        <file path="include/rpcnsi.h" />
-        <file path="include/winsnmp.h" />
-        <file path="include/intshcut.h" />
-        <file path="include/dsclient.h" />
-        <file path="include/rpcdcep.h" />
-        <file path="include/dvdmedia.h" />
-        <file path="include/lmerr.h" />
-        <file path="include/raserror.h" />
-        <file path="include/initguid.h" />
-        <file path="include/routprot.h" />
-        <file path="include/nb30.h" />
-        <file path="include/dsgetdc.h" />
-        <file path="include/ddeml.h" />
-        <file path="include/olectl.h" />
-        <file path="include/shldisp.h" />
-        <file path="include/ipinfoid.h" />
-        <file path="include/aclui.h" />
-        <file path="include/mlang.h" />
-        <file path="include/vptype.h" />
-        <file path="include/wsnetbs.h" />
-        <file path="include/prsht.h" />
-        <file path="include/sdkddkver.h" />
-        <file path="include/fltdefs.h" />
-        <file path="include/lmchdev.h" />
-        <dir path="include/GL" />
-        <file path="include/GL/glu.h" />
-        <file path="include/GL/gl.h" />
-        <file path="include/GL/glext.h" />
-        <file path="include/rassapi.h" />
-        <file path="include/scrnsave.h" />
-        <file path="include/lmalert.h" />
-        <file path="include/dlgs.h" />
-        <file path="include/gdiplus.h" />
-        <file path="include/vidcap.h" />
-        <file path="include/pbt.h" />
-        <file path="include/lmapibuf.h" />
-        <file path="include/shlguid.h" />
-        <file path="include/shlobj.h" />
-        <file path="include/wtsapi32.h" />
-        <file path="include/odbcinst.h" />
-        <file path="include/aclapi.h" />
-        <file path="include/schannel.h" />
-        <file path="include/wsahelp.h" />
-        <file path="include/winioctl.h" />
-        <file path="include/specstrings.h" />
-        <file path="include/mciavi.h" />
-        <file path="include/lmremutl.h" />
-        <file path="include/comcat.h" />
-        <file path="include/pshpack2.h" />
-        <file path="include/rpcdce2.h" />
-        <file path="include/winsock.h" />
-        <file path="include/mapi.h" />
-        <file path="include/icm.h" />
-        <file path="include/custcntl.h" />
-        <file path="include/winuser.h" />
-        <file path="include/isguids.h" />
-        <file path="include/pshpack4.h" />
-        <file path="include/ntdef.h" />
-        <file path="include/ntsecapi.h" />
-        <file path="include/mswsock.h" />
-        <file path="include/dhcpcsdk.h" />
-        <file path="include/dsadmin.h" />
-        <file path="include/errorrep.h" />
-        <file path="include/ks.h" />
-        <file path="include/ocidl.h" />
-        <file path="include/uxtheme.h" />
-        <file path="include/iprtrmib.h" />
-        <file path="include/objidl.h" />
-        <file path="include/ole2ver.h" />
-        <file path="include/docobj.h" />
-        <file path="include/winnetwk.h" />
-        <file path="include/ntldap.h" />
-        <file path="include/edevdefs.h" />
-        <file path="include/objfwd.h" />
-        <file path="include/wtypes.h" />
-        <file path="include/oleacc.h" />
-        <file path="include/lmsvc.h" />
-        <file path="include/rpcnsip.h" />
-        <file path="include/objsafe.h" />
-        <file path="include/msacm.h" />
-        <file path="include/iphlpapi.h" />
-        <file path="include/aviriff.h" />
-        <file path="include/sql.h" />
-        <file path="include/richedit.h" />
-        <file path="include/poppack.h" />
-        <file path="include/errors.h" />
-        <file path="include/lmaccess.h" />
-        <file path="include/imm.h" />
-        <file path="include/nddeapi.h" />
-        <file path="include/lmaudit.h" />
-        <file path="include/bdatypes.h" />
-        <file path="include/d3d9caps.h" />
-        <dir path="lib" />
-        <file path="lib/libd3dim.a" />
-        <file path="lib/libapcups.a" />
-        <file path="lib/libmscms.a" />
-        <file path="lib/libwtsapi32.a" />
-        <file path="lib/libimagehlp.a" />
-        <file path="lib/libavicap32.a" />
-        <file path="lib/librtutils.a" />
-        <file path="lib/libolesvr32.a" />
-        <file path="lib/libdxerr9.a" />
-        <file path="lib/libsetupapi.a" />
-        <file path="lib/libodbc32.a" />
-        <file path="lib/libthunk32.a" />
-        <file path="lib/libicmui.a" />
-        <file path="lib/libkernel32.a" />
-        <file path="lib/libglaux.a" />
-        <file path="lib/libdplayx.a" />
-        <file path="lib/libtdi.a" />
-        <file path="lib/libwininet.a" />
-        <file path="lib/libgdi32.a" />
-        <file path="lib/libdxerr8.a" />
-        <file path="lib/librpcns4.a" />
-        <file path="lib/libusbcamd.a" />
-        <file path="lib/libksproxy.a" />
-        <file path="lib/liboleacc.a" />
-        <file path="lib/libcrypt32.a" />
-        <file path="lib/liboledlg.a" />
-        <file path="lib/libntdll.a" />
-        <file path="lib/liburl.a" />
-        <file path="lib/libcap.a" />
-        <file path="lib/libusp10.a" />
-        <file path="lib/libhid.a" />
-        <file path="lib/libmgmtapi.a" />
-        <file path="lib/libmqrt.a" />
-        <file path="lib/libvdmdbg.a" />
-        <file path="lib/libpsapi.a" />
-        <file path="lib/libgdiplus.a" />
-        <file path="lib/libcomctl32.a" />
-        <file path="lib/libglu32.a" />
-        <file path="lib/libdxapi.a" />
-        <file path="lib/libdxguid.a" />
-        <file path="lib/libtapi32.a" />
-        <file path="lib/libksuser.a" />
-        <file path="lib/libcfgmgr32.a" />
-        <file path="lib/libnetapi32.a" />
-        <file path="lib/libwin32k.a" />
-        <file path="lib/libvideoprt.a" />
-        <file path="lib/libscrnsavw.a" />
-        <file path="lib/libhidparse.a" />
-        <file path="lib/libfaultrep.a" />
-        <file path="lib/libwow32.a" />
-        <file path="lib/librtm.a" />
-        <file path="lib/librpcrt4.a" />
-        <file path="lib/libsvrapi.a" />
-        <file path="lib/libuxtheme.a" />
-        <file path="lib/libole32.a" />
-        <file path="lib/libdinput8.a" />
-        <file path="lib/liblz32.a" />
-        <file path="lib/libavifil32.a" />
-        <file path="lib/libdpvoice.a" />
-        <file path="lib/liboleaut32.a" />
-        <file path="lib/librasdlg.a" />
-        <file path="lib/libwinstrm.a" />
-        <file path="lib/libwin32spl.a" />
-        <file path="lib/libd3dx8d.a" />
-        <file path="lib/liblargeint.a" />
-        <file path="lib/libd3dx9d.a" />
-        <file path="lib/libws2_32.a" />
-        <file path="lib/libdnsapi.a" />
-        <file path="lib/libctl3d32.a" />
-        <file path="lib/libshlwapi.a" />
-        <file path="lib/libopengl32.a" />
-        <file path="lib/libversion.a" />
-        <file path="lib/libdpnaddr.a" />
-        <file path="lib/libscsiport.a" />
-        <file path="lib/libd3drm.a" />
-        <file path="lib/libusbcamd2.a" />
-        <file path="lib/librpcdce4.a" />
-        <file path="lib/libhal.a" />
-        <file path="lib/libd3d9.a" />
-        <file path="lib/libimm32.a" />
-        <file path="lib/libwsock32.a" />
-        <file path="lib/libmsvfw32.a" />
-        <file path="lib/libodbccp32.a" />
-        <file path="lib/libshfolder.a" />
-        <file path="lib/libndis.a" />
-        <file path="lib/libmpr.a" />
-        <file path="lib/libmsdmo.a" />
-        <file path="lib/libd3dxof.a" />
-        <file path="lib/librapi.a" />
-        <file path="lib/libshell32.a" />
-        <file path="lib/libddraw.a" />
-        <file path="lib/libd3d8.a" />
-        <file path="lib/libmcd.a" />
-        <file path="lib/libwinmm.a" />
-        <file path="lib/libdmoguids.a" />
-        <file path="lib/libmsvcp60.a" />
-        <file path="lib/libigmpagnt.a" />
-        <file path="lib/libpkpd32.a" />
-        <file path="lib/libmfcuia32.a" />
-        <file path="lib/libmprapi.a" />
-        <file path="lib/libwst.a" />
-        <file path="lib/libolecli32.a" />
-        <file path="lib/libscrnsave.a" />
-        <file path="lib/libaclui.a" />
-        <file path="lib/libnewdev.a" />
-        <file path="lib/libsecur32.a" />
-        <file path="lib/libadvapi32.a" />
-        <file path="lib/libntoskrnl.a" />
-        <file path="lib/libuserenv.a" />
-        <file path="lib/libbthprops.a" />
-        <file path="lib/libuser32.a" />
-        <file path="lib/libdinput.a" />
-        <file path="lib/libstrmiids.a" />
-        <file path="lib/libcomdlg32.a" />
-        <file path="lib/libmsimg32.a" />
-        <file path="lib/libdsound.a" />
-        <file path="lib/libwldap32.a" />
-        <file path="lib/libwsnmp32.a" />
-        <file path="lib/libnddeapi.a" />
-        <file path="lib/libwinspool.a" />
-        <file path="lib/libvfw32.a" />
-        <file path="lib/libiphlpapi.a" />
-        <file path="lib/libmswsock.a" />
-        <file path="lib/libquartz.a" />
-        <file path="lib/libmapi32.a" />
-        <file path="lib/libdpnlobby.a" />
-        <file path="lib/libmsacm32.a" />
-        <file path="lib/libpowrprof.a" />
-        <file path="lib/libsnmpapi.a" />
-        <file path="lib/libolepro32.a" />
-        <file path="lib/libdlcapi.a" />
-        <file path="lib/libuuid.a" />
-        <file path="lib/libdpnet.a" />
-        <file path="lib/libdhcpcsvc.a" />
-        <file path="lib/libpenwin32.a" />
-        <file path="lib/librasapi32.a" />
-        <file path="lib/libdsetup.a" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-195e-74790b.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-195e-74790b.xml	(revision 1046)
+++ 	(revision )
@@ -1,117 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-195e-74790b">
-    <release tarname="mingwrt-3.22.1-mingw32-dev.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="include" />
-        <file path="include/limits.h" />
-        <file path="include/getopt.h" />
-        <file path="include/time.h" />
-        <file path="include/gmon.h" />
-        <file path="include/math.h" />
-        <file path="include/tchar.h" />
-        <file path="include/setjmp.h" />
-        <file path="include/libgen.h" />
-        <file path="include/unistd.h" />
-        <file path="include/wchar.h" />
-        <file path="include/dlfcn.h" />
-        <file path="include/malloc.h" />
-        <file path="include/ctype.h" />
-        <file path="include/conio.h" />
-        <file path="include/string.h" />
-        <file path="include/dirent.h" />
-        <file path="include/complex.h" />
-        <file path="include/inttypes.h" />
-        <file path="include/excpt.h" />
-        <file path="include/mbctype.h" />
-        <file path="include/fcntl.h" />
-        <file path="include/msvcrtver.h" />
-        <file path="include/signal.h" />
-        <file path="include/wctype.h" />
-        <file path="include/assert.h" />
-        <file path="include/search.h" />
-        <file path="include/locale.h" />
-        <file path="include/values.h" />
-        <dir path="include/parts" />
-        <file path="include/float.h" />
-        <file path="include/_mingw.h" />
-        <file path="include/utime.h" />
-        <dir path="include/sys" />
-        <file path="include/sys/time.h" />
-        <file path="include/sys/locking.h" />
-        <file path="include/sys/file.h" />
-        <file path="include/sys/stat.h" />
-        <file path="include/sys/unistd.h" />
-        <file path="include/sys/fcntl.h" />
-        <file path="include/sys/types.h" />
-        <file path="include/sys/timeb.h" />
-        <file path="include/sys/utime.h" />
-        <file path="include/sys/param.h" />
-        <file path="include/direct.h" />
-        <file path="include/stdint.h" />
-        <file path="include/process.h" />
-        <file path="include/dos.h" />
-        <file path="include/fenv.h" />
-        <file path="include/profil.h" />
-        <file path="include/memory.h" />
-        <file path="include/mbstring.h" />
-        <file path="include/glob.h" />
-        <file path="include/stdlib.h" />
-        <file path="include/profile.h" />
-        <file path="include/strings.h" />
-        <file path="include/io.h" />
-        <file path="include/errno.h" />
-        <file path="include/dir.h" />
-        <file path="include/stdio.h" />
-        <file path="include/mem.h" />
-        <file path="include/share.h" />
-        <dir path="lib" />
-        <file path="lib/crtst.o" />
-        <file path="lib/libmsvcr80.a" />
-        <file path="lib/CRT_fp8.o" />
-        <file path="lib/libmoldname80.a" />
-        <file path="lib/libmoldname90d.a" />
-        <file path="lib/libmsvcr90d.a" />
-        <file path="lib/gcrt2.o" />
-        <file path="lib/CRT_noglob.o" />
-        <file path="lib/libmoldname.a" />
-        <file path="lib/libmsvcr71d.a" />
-        <file path="lib/libmoldname71.a" />
-        <file path="lib/crt2.o" />
-        <file path="lib/libmsvcr100.a" />
-        <file path="lib/libmingw32.a" />
-        <file path="lib/libmsvcrt.a" />
-        <file path="lib/gcrt1.o" />
-        <file path="lib/libmsvcr71.a" />
-        <file path="lib/libmingwthrd_old.a" />
-        <file path="lib/libmsvcr70.a" />
-        <file path="lib/libgmon.a" />
-        <file path="lib/crt1.o" />
-        <file path="lib/libmoldname71d.a" />
-        <file path="lib/binmode.o" />
-        <file path="lib/libmoldname90.a" />
-        <file path="lib/libmsvcr70d.a" />
-        <file path="lib/libmingwex.a" />
-        <file path="lib/crtmt.o" />
-        <file path="lib/libmsvcr100d.a" />
-        <file path="lib/libmoldname100d.a" />
-        <file path="lib/libmoldname100.a" />
-        <file path="lib/libcrtdll.a" />
-        <file path="lib/libcoldname.a" />
-        <file path="lib/libmsvcrtd.a" />
-        <file path="lib/dllcrt2.o" />
-        <file path="lib/libmingwthrd.a" />
-        <file path="lib/libm.a" />
-        <file path="lib/libmoldname70.a" />
-        <file path="lib/dllcrt1.o" />
-        <file path="lib/CRT_fp10.o" />
-        <file path="lib/libmsvcr80d.a" />
-        <file path="lib/libmoldname70d.a" />
-        <file path="lib/txtmode.o" />
-        <file path="lib/libmsvcr90.a" />
-        <file path="lib/libmoldname80d.a" />
-        <file path="lib/libmoldnamed.a" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-6424-b3cee3.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-6424-b3cee3.xml	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-6424-b3cee3">
-    <release tarname="libiconv-1.14-3-mingw32-dll-2.tar" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/libcharset-1.dll" />
-        <file path="bin/libiconv-2.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-774a-7121d9.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-774a-7121d9.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-774a-7121d9">
-    <release tarname="mingwrt-3.22.1-mingw32-dll.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/mingwm10.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-d5a8-1df1bc.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-d5a8-1df1bc.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-d5a8-1df1bc">
-    <release tarname="libmpc-1.0.2-mingw32-dll-3.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libmpc-3.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-e3bd-c7e93e.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-e3bd-c7e93e.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-e3bd-c7e93e">
-    <release tarname="libmpfr-3.1.2-2-mingw32-dll-4.tar" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/libmpfr-4.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-e98a-bf6c02.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-033-e98a-bf6c02.xml	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-033-e98a-bf6c02">
-    <release tarname="libgmp-5.1.2-1-mingw32-dll-10.tar" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/libgmp-10.dll" />
-        <file path="bin/libgmpxx-4.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-2745-6a4314.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-2745-6a4314.xml	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-2745-6a4314">
-    <release tarname="xz-5.0.3-1-msys-1.0.17-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/lzcat.exe" />
-        <file path="bin/lzcmp" />
-        <file path="bin/lzdiff" />
-        <file path="bin/lzegrep" />
-        <file path="bin/lzfgrep" />
-        <file path="bin/lzgrep" />
-        <file path="bin/lzless" />
-        <file path="bin/lzma.exe" />
-        <file path="bin/lzmadec.exe" />
-        <file path="bin/lzmainfo.exe" />
-        <file path="bin/lzmore" />
-        <file path="bin/unlzma.exe" />
-        <file path="bin/unxz.exe" />
-        <file path="bin/xz.exe" />
-        <file path="bin/xzcat.exe" />
-        <file path="bin/xzcmp" />
-        <file path="bin/xzdec.exe" />
-        <file path="bin/xzdiff" />
-        <file path="bin/xzegrep" />
-        <file path="bin/xzfgrep" />
-        <file path="bin/xzgrep" />
-        <file path="bin/xzless" />
-        <file path="bin/xzmore" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-452f-e0e19d.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-452f-e0e19d.xml	(revision 1046)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-452f-e0e19d">
-    <release tarname="less-436-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/less.exe" />
-        <file path="bin/lessecho.exe" />
-        <file path="bin/lesskey.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-556c-c07e6a.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-556c-c07e6a.xml	(revision 1046)
+++ 	(revision )
@@ -1,135 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-556c-c07e6a">
-    <release tarname="gcc-core-5.3.0-2-mingw32-bin.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/cpp.exe" />
-        <file path="bin/gcc-ar.exe" />
-        <file path="bin/gcc-nm.exe" />
-        <file path="bin/gcc-ranlib.exe" />
-        <file path="bin/gcc.exe" />
-        <file path="bin/gcov-tool.exe" />
-        <file path="bin/gcov.exe" />
-        <file path="bin/mingw32-gcc-5.3.0.exe" />
-        <file path="bin/mingw32-gcc-ar.exe" />
-        <file path="bin/mingw32-gcc-nm.exe" />
-        <file path="bin/mingw32-gcc-ranlib.exe" />
-        <file path="bin/mingw32-gcc.exe" />
-        <file path="libexec/gcc/mingw32/5.3.0/cc1.exe" />
-        <file path="libexec/gcc/mingw32/5.3.0/collect2.exe" />
-        <file path="libexec/gcc/mingw32/5.3.0/lto-wrapper.exe" />
-        <file path="libexec/gcc/mingw32/5.3.0/lto1.exe" />
-        <dir path="libexec/gcc/mingw32/5.3.0/install-tools" />
-        <file path="libexec/gcc/mingw32/5.3.0/install-tools/mkheaders" />
-        <file path="libexec/gcc/mingw32/5.3.0/install-tools/fixincl.exe" />
-        <file path="libexec/gcc/mingw32/5.3.0/install-tools/fixinc.sh" />
-        <file path="libexec/gcc/mingw32/5.3.0/install-tools/mkinstalldirs" />
-        <file path="libexec/gcc/mingw32/5.3.0/liblto_plugin-0.dll" />
-        <file path="libexec/gcc/mingw32/5.3.0/liblto_plugin.dll.a" />
-        <dir path="lib/gcc/mingw32/5.3.0/include" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512bwintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/rtmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512ifmavlintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ia32intrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/mmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ammintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/bmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/prfchwintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/f16cintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdfix.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512dqintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/quadmath.h" />
-        <dir path="lib/gcc/mingw32/5.3.0/include/ssp" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ssp/ssp.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ssp/unistd.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ssp/string.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/ssp/stdio.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/immintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdalign.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/mwaitxintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xsaveoptintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512erintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/bmiintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/quadmath_weak.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512fintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/bmi2intrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/cross-stdarg.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/fma4intrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512cdintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512vlintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512vldqintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/cpuid.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/adxintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xsavesintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xsavecintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdarg.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx2intrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/clwbintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/fxsrintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/smmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512vbmiintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/omp.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/pcommitintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/openacc.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/unwind.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdnoreturn.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/tmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdatomic.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stddef.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512vbmivlintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xtestintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/shaintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/fmaintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/float.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/lzcntintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xopintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/tbmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/emmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdint.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/x86intrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdbool.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/iso646.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avxintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/nmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/clflushoptintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/mm_malloc.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512pfintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/wmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/rdseedintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/mm3dnow.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/lwpintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/pmmintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/xsaveintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/varargs.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/popcntintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512ifmaintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/avx512vlbwintrin.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/tgmath.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include/stdint-gcc.h" />
-        <dir path="lib/gcc/mingw32/5.3.0/include-fixed" />
-        <file path="lib/gcc/mingw32/5.3.0/include-fixed/limits.h" />
-        <file path="lib/gcc/mingw32/5.3.0/include-fixed/README" />
-        <file path="lib/gcc/mingw32/5.3.0/include-fixed/syslimits.h" />
-        <file path="lib/gcc/mingw32/5.3.0/crtbegin.o" />
-        <file path="lib/gcc/mingw32/5.3.0/crtend.o" />
-        <file path="lib/gcc/mingw32/5.3.0/crtfastmath.o" />
-        <file path="lib/gcc/mingw32/5.3.0/libatomic.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libatomic.dll.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libcaf_single.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgcc.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgcc_eh.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgcc_s.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgcov.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgomp-plugin-host_nonshm.dll.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgomp.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libgomp.dll.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libquadmath.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libquadmath.dll.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libssp.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libssp.dll.a" />
-        <file path="lib/gcc/mingw32/5.3.0/libssp_nonshared.a" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-6b29-e1f328.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-6b29-e1f328.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-6b29-e1f328">
-    <release tarname="tar-1.23-1-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/tar.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-847c-2ad15a.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-847c-2ad15a.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-847c-2ad15a">
-    <release tarname="libgcc-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libgcc_s_dw2-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-9b1a-1491ab.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-035-9b1a-1491ab.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-035-9b1a-1491ab">
-    <release tarname="libssp-5.3.0-2-mingw32-dll-0.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libssp-0.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-01d9-28bfa1.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-01d9-28bfa1.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-01d9-28bfa1">
-    <release tarname="sed-4.2.1-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/sed.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-16f8-aa3b6b.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-16f8-aa3b6b.xml	(revision 1046)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-16f8-aa3b6b">
-    <release tarname="bash-3.1.23-1-msys-1.0.18-bin.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/bash.exe" />
-        <file path="bin/bashbug" />
-        <file path="bin/sh.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-4cb9-fd70cf.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-4cb9-fd70cf.xml	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-4cb9-fd70cf">
-    <release tarname="binutils-2.25.1-1-mingw32-bin.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/nm.exe" />
-        <file path="bin/windres.exe" />
-        <file path="bin/strip.exe" />
-        <file path="bin/c++filt.exe" />
-        <file path="bin/gprof.exe" />
-        <file path="bin/as.exe" />
-        <file path="bin/dllwrap.exe" />
-        <file path="bin/ld.exe" />
-        <file path="bin/ld.bfd.exe" />
-        <file path="bin/objdump.exe" />
-        <file path="bin/strings.exe" />
-        <file path="bin/dlltool.exe" />
-        <file path="bin/size.exe" />
-        <file path="bin/windmc.exe" />
-        <file path="bin/ar.exe" />
-        <file path="bin/readelf.exe" />
-        <file path="bin/objcopy.exe" />
-        <file path="bin/ranlib.exe" />
-        <file path="bin/elfedit.exe" />
-        <file path="bin/addr2line.exe" />
-        <dir path="mingw32" />
-        <dir path="mingw32/lib" />
-        <dir path="mingw32/lib/ldscripts" />
-        <file path="mingw32/lib/ldscripts/i386pe.xbn" />
-        <file path="mingw32/lib/ldscripts/i386pe.x" />
-        <file path="mingw32/lib/ldscripts/i386pe.xu" />
-        <file path="mingw32/lib/ldscripts/i386pe.xr" />
-        <file path="mingw32/lib/ldscripts/i386pe.xa" />
-        <file path="mingw32/lib/ldscripts/i386pe.xn" />
-        <dir path="mingw32/bin" />
-        <file path="mingw32/bin/nm.exe" />
-        <file path="mingw32/bin/strip.exe" />
-        <file path="mingw32/bin/as.exe" />
-        <file path="mingw32/bin/ld.exe" />
-        <file path="mingw32/bin/ld.bfd.exe" />
-        <file path="mingw32/bin/objdump.exe" />
-        <file path="mingw32/bin/dlltool.exe" />
-        <file path="mingw32/bin/ar.exe" />
-        <file path="mingw32/bin/objcopy.exe" />
-        <file path="mingw32/bin/ranlib.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-52ba-e1fa99.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-52ba-e1fa99.xml	(revision 1046)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-52ba-e1fa99">
-    <release tarname="file-5.04-1-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/file.exe" />
-        <dir path="share/misc" />
-        <file path="share/misc/magic.mgc" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-8366-7ada49.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-8366-7ada49.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-8366-7ada49">
-    <release tarname="make-3.81-3-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/make.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-d3e8-87f99e.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-036-d3e8-87f99e.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-036-d3e8-87f99e">
-    <release tarname="libgomp-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libgomp-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-0709-9f68c5.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-0709-9f68c5.xml	(revision 1046)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-037-0709-9f68c5">
-    <release tarname="grep-2.5.4-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/egrep.exe" />
-        <file path="bin/fgrep.exe" />
-        <file path="bin/grep.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-4379-20536b.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-4379-20536b.xml	(revision 1046)
+++ 	(revision )
@@ -1,40 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-037-4379-20536b">
-    <release tarname="gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/awk.exe" />
-        <file path="bin/gawk-3.1.7.exe" />
-        <file path="bin/gawk.exe" />
-        <file path="bin/igawk" />
-        <file path="bin/pgawk-3.1.7.exe" />
-        <file path="bin/pgawk.exe" />
-        <dir path="share/awk" />
-        <file path="share/awk/assert.awk" />
-        <file path="share/awk/bits2str.awk" />
-        <file path="share/awk/cliff_rand.awk" />
-        <file path="share/awk/ctime.awk" />
-        <file path="share/awk/ftrans.awk" />
-        <file path="share/awk/getopt.awk" />
-        <file path="share/awk/gettime.awk" />
-        <file path="share/awk/group.awk" />
-        <file path="share/awk/join.awk" />
-        <file path="share/awk/libintl.awk" />
-        <file path="share/awk/nextfile.awk" />
-        <file path="share/awk/noassign.awk" />
-        <file path="share/awk/ord.awk" />
-        <file path="share/awk/passwd.awk" />
-        <file path="share/awk/readable.awk" />
-        <file path="share/awk/rewind.awk" />
-        <file path="share/awk/round.awk" />
-        <file path="share/awk/strtonum.awk" />
-        <file path="share/awk/zerofile.awk" />
-        <dir path="sbin" />
-        <dir path="sbin/awk" />
-        <file path="sbin/awk/grcat.exe" />
-        <file path="sbin/awk/pwcat.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-6e8a-34b72f.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-037-6e8a-34b72f.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-037-6e8a-34b72f">
-    <release tarname="zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-z.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-3c76-94f81a.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-3c76-94f81a.xml	(revision 1046)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-038-3c76-94f81a">
-    <release tarname="gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/gunzip" />
-        <file path="bin/gzexe" />
-        <file path="bin/gzip.exe" />
-        <file path="bin/uncompress" />
-        <file path="bin/zcat" />
-        <file path="bin/zcmp" />
-        <file path="bin/zdiff" />
-        <file path="bin/zegrep" />
-        <file path="bin/zfgrep" />
-        <file path="bin/zforce" />
-        <file path="bin/zgrep" />
-        <file path="bin/zless" />
-        <file path="bin/zmore" />
-        <file path="bin/znew" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-cc95-2d6d20.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-cc95-2d6d20.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-038-cc95-2d6d20">
-    <release tarname="libatomic-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libatomic-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-e37b-d840e2.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-038-e37b-d840e2.xml	(revision 1046)
+++ 	(revision )
@@ -1,21 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-038-e37b-d840e2">
-    <release tarname="bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/bunzip2.exe" />
-        <file path="bin/bzcat.exe" />
-        <file path="bin/bzcmp" />
-        <file path="bin/bzdiff" />
-        <file path="bin/bzegrep" />
-        <file path="bin/bzfgrep" />
-        <file path="bin/bzgrep" />
-        <file path="bin/bzip2.exe" />
-        <file path="bin/bzip2recover.exe" />
-        <file path="bin/bzless" />
-        <file path="bin/bzmore" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-039-e383-c525fe.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-039-e383-c525fe.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-039-e383-c525fe">
-    <release tarname="libintl-0.18.3.2-2-mingw32-dll-8.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libintl-8.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-2c50-af8688.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-2c50-af8688.xml	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-2c50-af8688">
-    <release tarname="texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/info.exe" />
-        <file path="bin/infokey.exe" />
-        <file path="bin/install-info.exe" />
-        <file path="bin/install-info.exe.manifest" />
-        <file path="bin/makeinfo.exe" />
-        <file path="bin/pdftexi2dvi" />
-        <file path="bin/texi2dvi" />
-        <file path="bin/texi2pdf" />
-        <file path="bin/texindex.exe" />
-        <dir path="share/texinfo" />
-        <file path="share/texinfo/texinfo.cat" />
-        <file path="share/texinfo/texinfo.dtd" />
-        <file path="share/texinfo/texinfo.xsl" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-a06f-26f128.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-a06f-26f128.xml	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-a06f-26f128">
-    <release tarname="msysCORE-1.0.19-1-msys-1.0.19-doc.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="share/doc/MSYS/MSYS_MISSION" />
-        <file path="share/doc/MSYS/MSYS_VS_CYGWIN" />
-        <file path="share/doc/MSYS/MSYS_WELCOME.rtf" />
-        <file path="share/doc/MSYS/README.rtf" />
-        <file path="share/doc/MSYS/msysCORE-1.0.19-1-msys-RELEASE_NOTES.txt" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-b0ac-bcecae.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-b0ac-bcecae.xml	(revision 1046)
+++ 	(revision )
@@ -1,13 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-b0ac-bcecae">
-    <release tarname="msysCORE-1.0.19-1-msys-1.0.19-lic.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="share/doc/MSYS/COPYING" />
-        <file path="share/doc/MSYS/COPYING.LIB" />
-        <file path="share/doc/MSYS/CYGWIN_LICENSE" />
-        <file path="share/doc/MSYS/MSYS_LICENSE.rtf" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-d7d3-7abb48.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-d7d3-7abb48.xml	(revision 1046)
+++ 	(revision )
@@ -1,20 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-d7d3-7abb48">
-    <release tarname="msysCORE-1.0.19-1-msys-1.0.19-ext.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/cls" />
-        <file path="bin/clsb" />
-        <file path="bin/cmd" />
-        <file path="bin/ftp" />
-        <file path="bin/lnkcnv" />
-        <file path="bin/mount" />
-        <file path="bin/msysinfo" />
-        <file path="bin/start" />
-        <file path="bin/umount" />
-        <file path="bin/which" />
-        <file path="msys.bat" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-df3c-e16206.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-df3c-e16206.xml	(revision 1046)
+++ 	(revision )
@@ -1,19 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-df3c-e16206">
-    <release tarname="msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-1.0.dll" />
-        <file path="bin/msysmnt.exe" />
-        <file path="bin/ps.exe" />
-        <file path="bin/error-mode.exe" />
-        <file path="etc/fstab.sample" />
-        <file path="etc/inputrc.default" />
-        <file path="etc/profile" />
-        <file path="postinstall/fstab.lua" />
-        <file path="m.ico" />
-        <file path="msys.ico" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-e25b-fc9127.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-040-e25b-fc9127.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-040-e25b-fc9127">
-    <release tarname="libquadmath-5.3.0-2-mingw32-dll-0.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="bin/libquadmath-0.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-0076-7fe706.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-0076-7fe706.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-041-0076-7fe706">
-    <release tarname="libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-bz2-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-0da3-38c365.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-0da3-38c365.xml	(revision 1046)
+++ 	(revision )
@@ -1,71 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-041-0da3-38c365">
-    <release tarname="dos2unix-7.3.2-1-msys-1.0.18-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/d2u.exe" />
-        <file path="bin/dos2unix.exe" />
-        <file path="bin/mac2unix.exe" />
-        <file path="bin/u2d.exe" />
-        <file path="bin/unix2dos.exe" />
-        <file path="bin/unix2mac.exe" />
-        <dir path="share/locale" />
-        <dir path="share/locale/da" />
-        <dir path="share/locale/da/LC_MESSAGES" />
-        <file path="share/locale/da/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/de" />
-        <dir path="share/locale/de/LC_MESSAGES" />
-        <file path="share/locale/de/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/eo" />
-        <dir path="share/locale/eo/LC_MESSAGES" />
-        <file path="share/locale/eo/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/es" />
-        <dir path="share/locale/es/LC_MESSAGES" />
-        <file path="share/locale/es/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/fr" />
-        <dir path="share/locale/fr/LC_MESSAGES" />
-        <file path="share/locale/fr/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/hu" />
-        <dir path="share/locale/hu/LC_MESSAGES" />
-        <file path="share/locale/hu/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/ja" />
-        <dir path="share/locale/ja/LC_MESSAGES" />
-        <file path="share/locale/ja/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/nb" />
-        <dir path="share/locale/nb/LC_MESSAGES" />
-        <file path="share/locale/nb/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/nl" />
-        <dir path="share/locale/nl/LC_MESSAGES" />
-        <file path="share/locale/nl/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/pl" />
-        <dir path="share/locale/pl/LC_MESSAGES" />
-        <file path="share/locale/pl/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/pt_BR" />
-        <dir path="share/locale/pt_BR/LC_MESSAGES" />
-        <file path="share/locale/pt_BR/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/ru" />
-        <dir path="share/locale/ru/LC_MESSAGES" />
-        <file path="share/locale/ru/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/sr" />
-        <dir path="share/locale/sr/LC_MESSAGES" />
-        <file path="share/locale/sr/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/sv" />
-        <dir path="share/locale/sv/LC_MESSAGES" />
-        <file path="share/locale/sv/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/uk" />
-        <dir path="share/locale/uk/LC_MESSAGES" />
-        <file path="share/locale/uk/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/vi" />
-        <dir path="share/locale/vi/LC_MESSAGES" />
-        <file path="share/locale/vi/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/zh_CN" />
-        <dir path="share/locale/zh_CN/LC_MESSAGES" />
-        <file path="share/locale/zh_CN/LC_MESSAGES/dos2unix.mo" />
-        <dir path="share/locale/zh_TW" />
-        <dir path="share/locale/zh_TW/LC_MESSAGES" />
-        <file path="share/locale/zh_TW/LC_MESSAGES/dos2unix.mo" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-1813-d17935.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-041-1813-d17935.xml	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-041-1813-d17935">
-    <release tarname="coreutils-5.97-3-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/basename.exe" />
-        <file path="bin/cat.exe" />
-        <file path="bin/chmod.exe" />
-        <file path="bin/comm.exe" />
-        <file path="bin/cp.exe" />
-        <file path="bin/cut.exe" />
-        <file path="bin/date.exe" />
-        <file path="bin/dirname.exe" />
-        <file path="bin/echo.exe" />
-        <file path="bin/env.exe" />
-        <file path="bin/expr.exe" />
-        <file path="bin/false.exe" />
-        <file path="bin/fold.exe" />
-        <file path="bin/head.exe" />
-        <file path="bin/id.exe" />
-        <file path="bin/install.exe" />
-        <file path="bin/install.exe.manifest" />
-        <file path="bin/join.exe" />
-        <file path="bin/ln.exe" />
-        <file path="bin/ls.exe" />
-        <file path="bin/md5sum.exe" />
-        <file path="bin/mkdir.exe" />
-        <file path="bin/mv.exe" />
-        <file path="bin/od.exe" />
-        <file path="bin/paste.exe" />
-        <file path="bin/printf.exe" />
-        <file path="bin/pwd.exe" />
-        <file path="bin/rm.exe" />
-        <file path="bin/rmdir.exe" />
-        <file path="bin/sleep.exe" />
-        <file path="bin/sort.exe" />
-        <file path="bin/split.exe" />
-        <file path="bin/stty.exe" />
-        <file path="bin/tail.exe" />
-        <file path="bin/tee.exe" />
-        <file path="bin/touch.exe" />
-        <file path="bin/tr.exe" />
-        <file path="bin/true.exe" />
-        <file path="bin/uname.exe" />
-        <file path="bin/uniq.exe" />
-        <file path="bin/wc.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-43ff-c734bc.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-43ff-c734bc.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-042-43ff-c734bc">
-    <release tarname="liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-lzma-5.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-453d-27dbac.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-453d-27dbac.xml	(revision 1046)
+++ 	(revision )
@@ -1,12 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-042-453d-27dbac">
-    <release tarname="findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/find.exe" />
-        <file path="bin/oldfind.exe" />
-        <file path="bin/xargs.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-6af0-a700dc.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-6af0-a700dc.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-042-6af0-a700dc">
-    <release tarname="libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-magic-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-7567-7c532c.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-042-7567-7c532c.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-042-7567-7c532c">
-    <release tarname="libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-iconv-2.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-045-e551-0d522d.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-045-e551-0d522d.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-045-e551-0d522d">
-    <release tarname="libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-intl-8.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-047-72e5-12026f.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-047-72e5-12026f.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-047-72e5-12026f">
-    <release tarname="termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="etc" />
-        <file path="etc/termcap" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-048-1178-e1bab0.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-048-1178-e1bab0.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-048-1178-e1bab0">
-    <release tarname="libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-regex-1.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-048-35de-b53e74.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-048-35de-b53e74.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-048-35de-b53e74">
-    <release tarname="make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/mingw32-make.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-37d6-d522ef.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-37d6-d522ef.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-050-37d6-d522ef">
-    <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-gui.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <file path="libexec/mingw-get/guimain.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-bbc0-e6c281.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-bbc0-e6c281.xml	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-050-bbc0-e6c281">
-    <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-lic.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="share" />
-        <dir path="share/doc" />
-        <dir path="share/doc/mingw-get" />
-        <file path="share/doc/mingw-get/README" />
-        <file path="share/doc/mingw-get/COPYING" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-d450-bb4c29.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-050-d450-bb4c29.xml	(revision 1046)
+++ 	(revision )
@@ -1,24 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-050-d450-bb4c29">
-    <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/mingw-get.exe" />
-        <dir path="libexec" />
-        <dir path="libexec/mingw-get" />
-        <file path="libexec/mingw-get/mingw-get-0.dll" />
-        <file path="libexec/mingw-get/setup.lua" />
-        <file path="libexec/mingw-get/guistub.exe" />
-        <file path="libexec/mingw-get/lastrites.exe" />
-        <file path="libexec/mingw-get/unlink.js" />
-        <file path="libexec/mingw-get/shlink.js" />
-        <dir path="var" />
-        <dir path="var/lib" />
-        <dir path="var/lib/mingw-get" />
-        <dir path="var/lib/mingw-get/data" />
-        <file path="var/lib/mingw-get/data/defaults.xml" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-051-d74c-697093.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-051-d74c-697093.xml	(revision 1046)
+++ 	(revision )
@@ -1,20 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-051-d74c-697093">
-    <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="include" />
-        <file path="include/sched.h" />
-        <file path="include/pthread.h" />
-        <file path="include/semaphore.h" />
-        <file path="include/ptw32_errno.h" />
-        <file path="include/_ptw32.h" />
-        <dir path="lib" />
-        <file path="lib/libpthread.dll.a" />
-        <file path="lib/libpthread.a" />
-        <file path="lib/libpthreadGC-3.dll.a" />
-        <file path="lib/libpthreadGC-3.a" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-052-9788-afe609.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-052-9788-afe609.xml	(revision 1046)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-052-9788-afe609">
-    <release tarname="libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <file path="bin/msys-termcap-0.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-053-7919-113c27.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-053-7919-113c27.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-053-7919-113c27">
-    <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
-    <references>
-        <sysroot id="sysroot-0-002-a7c6-d7dbb5" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/pthreadGC-3.dll" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/manifest-0-054-a198-94876e.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/manifest-0-054-a198-94876e.xml	(revision 1046)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<package id="manifest-0-054-a198-94876e">
-    <release tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma" />
-    <references>
-        <sysroot id="sysroot-0-011-664d-7cd9c6" />
-    </references>
-    <manifest>
-        <dir path="bin" />
-        <file path="bin/cmp.exe" />
-        <file path="bin/diff.exe" />
-        <file path="bin/diff3.exe" />
-        <file path="bin/sdiff.exe" />
-    </manifest>
-</package>
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw-developer-toolkit.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw-developer-toolkit.xml	(revision 1046)
+++ 	(revision )
@@ -1,68 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013072300">
-
-  <!-- File: mingw-developer-toolkit.xml -->
-
-  <!-- This is a preliminary catalogue describing the contents of a
-       relatively, if not kitchen-sink-level, complete msys installation.
-       It attempts to replicate, with certain judicious additions and
-       deletions, the set of packages originally installed by the old
-       MSYS-DTK monolithic installers, circa msysDTK-1.0.1 -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw-developer-toolkit" alias="mingw-dtk" class="virtual">
-
-      <affiliate group="Basic Setup" />
-      <affiliate group="MinGW Developer Toolkit" />
-
-      <description lang="en" title="An MSYS Installation for MinGW Developers (meta)">
-        <paragraph>This meta package contains the components necessary to
-           create a relatively complete MSYS installation suitable for most
-           MinGW developers' needs.  It includes the msys-base system, as well
-           as the autotools (autoconf, automake, libtool, gettext, and libiconv)
-           configured for use in maintaining and building native win32 (MinGW)
-           programs.  It includes m4, perl, vim, patch, cvs, guile, mktemp,
-           bison, flex, lndir, and other useful command line tools. It also
-           includes networking clients for ssh, rsh, telnet, and ftp protocols.
-        </paragraph>
-        <paragraph>Note that, for certain esoteric reasons, some of the packages
-          installed by this meta package are MSYS packages, and install, as
-          expected, in the / == /usr directory (that is, into C:\msys\1.0, or
-          whatever you've chosen as the "root" MSYS path).  However, it also
-          includes some MinGW packages: the autotools are technically configured
-          for MinGW, and are installed into the /mingw directory (that is, into
-          C:\MinGW or whatever you've chosen as the "root" MinGW path).
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="mingw-developer-toolkit-2013072300-msys-bin.meta" />
-        <requires eq="mingw32-autotools-*-mingw32-bin.meta" />
-        <requires eq="msys-base-*-msys-*-bin.meta" />
-        <requires eq="msys-autogen-*-msys-*-bin.tar" />
-        <requires eq="msys-bison-*-msys-*-bin.tar" />
-        <requires eq="msys-bsdtar-*-msys-*-bin.tar" />
-        <requires eq="msys-bsdcpio-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-ext.tar" />
-        <requires eq="msys-cvs-*-msys-*-bin.tar" />
-        <requires eq="msys-diffstat-*-msys-*-bin.tar" />
-        <requires eq="msys-flex-*-msys-*-bin.tar" />
-        <requires eq="msys-guile-*-msys-*-bin.tar" />
-        <requires eq="msys-inetutils-*-msys-*-bin.tar" />
-        <requires eq="msys-lndir-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-mktemp-*-msys-*-bin.tar" />
-        <requires eq="msys-openssh-*-msys-*-bin.tar" />
-        <requires eq="msys-openssl-*-msys-*-bin.tar" />
-        <requires eq="msys-patch-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-rsync-*-msys-*-bin.tar" />
-        <requires eq="msys-vim-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-autoconf.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-autoconf.xml	(revision 1046)
+++ 	(revision )
@@ -1,124 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-autoconf.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-autoconf" alias="autoconf">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Wrapper scripts for autoconf commands">
-        <paragraph>Autoconf is an extensible package of M4 macros that
-          produce shell scripts to automatically configure software source
-          code packages.  These scripts can adapt the packages to many
-          kinds of UNIX-like systems without manual user intervention.
-          Autoconf creates a configuration script for a package from a
-          template file that lists the operating system features that the
-          package can use, in the form of M4 macro calls.  However, THIS
-          package is actually a simple wrapper, that automatically
-          redirects to either autoconf-2.13 or autoconf-2.6x, as needed
-          or requested.
-        </paragraph>
-      </description>
-
-      <licence tarname="autoconf-%-mingw32-%-lic.tar.%" />
-      <source tarname="autoconf-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf2.1-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <release tarname="autoconf-9-1-mingw32-bin.tar.lzma" />
-        <release tarname="autoconf-10-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="autoconf-9-1-mingw32-lic.tar.lzma" />
-        <release tarname="autoconf-10-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-autoconf2.1" alias="autoconf2.1">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Configure Script Builder (2.1x series)">
-        <paragraph>Autoconf is an extensible package of M4 macros that
-          produce shell scripts to automatically configure software source
-          code packages.  These scripts can adapt the packages to many
-          kinds of UNIX-like systems without manual user intervention.
-          Autoconf creates a configuration script for a package from a
-          template file that lists the operating system features that the
-          package can use, in the form of M4 macro calls.  This package
-          provides the latest implementation of autoconf in the 2.1x
-          series.
-        </paragraph>
-      </description>
-
-      <licence tarname="autoconf2.1-%-mingw32-%-lic.tar.%" />
-      <source tarname="autoconf2.1-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="autoconf2.1-2.13-4-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="autoconf2.1-2.13-4-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="autoconf2.1-2.13-4-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-autoconf2.5" alias="autoconf2.5">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Configure Script Builder (2.5x/2.6x series)">
-        <paragraph>Autoconf is an extensible package of M4 macros that
-          produce shell scripts to automatically configure software source
-          code packages.  These scripts can adapt the packages to many
-          kinds of UNIX-like systems without manual user intervention.
-          Autoconf creates a configuration script for a package from a
-          template file that lists the operating system features that the
-          package can use, in the form of M4 macro calls.  This package
-          provides the latest implementation of autoconf in the 2.5x/2.6x
-          series.
-        </paragraph>
-      </description>
-
-      <licence tarname="autoconf2.5-%-mingw32-%-lic.tar.%" />
-      <source tarname="autoconf2.5-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="autoconf2.5-2.67-1-mingw32-bin.tar.lzma" />
-        <release tarname="autoconf2.5-2.68-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="autoconf2.5-2.67-1-mingw32-doc.tar.lzma" />
-        <release tarname="autoconf2.5-2.68-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="autoconf2.5-2.67-1-mingw32-lic.tar.lzma" />
-        <release tarname="autoconf2.5-2.68-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-automake.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-automake.xml	(revision 1046)
+++ 	(revision )
@@ -1,321 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-automake.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake" alias="automake" >
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Wrapper scripts for automake and aclocal">
-        <paragraph>Automake is a tool for automatically generating Makefile.in
-          files compliant with the GNU Coding Standards.  Automake requires the
-          use of Autoconf.  However, THIS package is actually a simple wrapper,
-          that automatically redirects to one of the automake-[1.4 through 1.11]
-          applications as needed or requested.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-automake1.4-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.5-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.6-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.7-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.8-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.9-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.10-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.11-*-mingw32-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <release tarname="automake-4-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake-4-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.4" alias="automake1.4">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.4 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.4 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.4-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.4-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.1-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.4-1.4p6-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.4-1.4p6-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.4-1.4p6-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.5" alias="automake1.5">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.5 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.5 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.5-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.5-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.1-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.5-1.5-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.5-1.5-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.5-1.5-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.6" alias="automake1.6">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.6 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.6 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.6-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.6-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.6-1.6.3-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.6-1.6.3-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.6-1.6.3-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.7" alias="automake1.7">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.7 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.7 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.7-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.7-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.7-1.7.9-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.7-1.7.9-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.7-1.7.9-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.8" alias="automake1.8">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.8 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.8 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.8-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.8-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.8-1.8.5-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.8-1.8.5-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.8-1.8.5-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.9" alias="automake1.9">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.9 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.9 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.9-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.9-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.9-1.9.6-3-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.9-1.9.6-3-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.9-1.9.6-3-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.10" alias="automake1.10">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.10 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.10 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.10-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.10-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.10-1.10.2-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.10-1.10.2-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.10-1.10.2-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-automake1.11" alias="automake1.11">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="Automatic Makefile Builder (1.11 series)">
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.  This package provides
-          the latest implementation of automake in the 1.11 series.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake1.11-%-mingw32-%-lic.tar.%" />
-      <source tarname="automake1.11-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake1.11-1.11-1-mingw32-bin.tar.lzma" />
-        <release tarname="automake1.11-1.11.1-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake1.11-1.11-1-mingw32-doc.tar.lzma" />
-        <release tarname="automake1.11-1.11.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake1.11-1.11-1-mingw32-lic.tar.lzma" />
-        <release tarname="automake1.11-1.11.1-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-autotools.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-autotools.xml	(revision 1046)
+++ 	(revision )
@@ -1,54 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2010090601">
-
-  <!-- File: mingw32-autotools.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-autotools" alias="autotools" class="virtual">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="The GNU Autotools for MinGW Development (meta)">
-        <paragraph>This meta package contains the components necessary to
-          maintain packages that use the GNU Build System.  These components
-          include autoconf, automake, libtool, libiconv, and gettext -- plus
-          their pre-requisites.
-        </paragraph>
-        <paragraph>Although the autotools consist primarily of perl, shell, and
-          m4 scripts, and thus requires MSYS-based interpreters, these
-          implementations should be installed into the /mingw directory (that
-          is, into C:\MinGW or whatever you've chosen as the "root" MinGW path).
-          Most developers who need the autotools will want the versions provided
-          by this package, and not the MSYS ones provided by the MSYS System
-          Builder (msys-dvlpr) package; the MSYS ones install into the / == /usr
-          directory (that is, into C:\msys\1.0) and are intended for use when
-          developing applications that use the MSYS runtime.
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="mingw32-autotools-2010090601-mingw32-bin.meta" />
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.1-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.4-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.5-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.6-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.7-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.8-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.9-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.10-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.11-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-libtool-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-libltdl-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-gettext-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-gettext-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-libiconv-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-libiconv-*-mingw32-*-dev.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-base.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-base.xml	(revision 1046)
+++ 	(revision )
@@ -1,37 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013072200">
-
-  <!-- File: mingw32-base.xml -->
-  <!-- This is a preliminary catalogue to facilitate the release of
-       mingw-get-0.1-mingw32-alpha-3. It has been modified to support
-       the deployment of gcc-4.5.0-1 and msys-base.
-    -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-base" alias="base mingw mingw32" class="virtual" >
-
-      <affiliate group="Basic Setup" />
-      <affiliate group="MinGW Base System" />
-
-      <description lang="en" title="A Basic MinGW Installation" >
-        <paragraph>This meta package provides a basic GCC installation,
-          and includes the C compiler, linker and other binary tools,
-          the runtime libraries and windows API support, mingw32-make,
-          and a debugger. Other components can be added manually as needed.
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="mingw32-base-2013072200-mingw32-bin.meta" />
-        <requires eq="mingw32-gcc-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-gcc-*-mingw32-*-lic.tar" />
-        <requires eq="mingw32-make-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-gdb-*-mingw32-*-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-basic-bsdtar.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-basic-bsdtar.xml	(revision 1046)
+++ 	(revision )
@@ -1,33 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-basic-bsdtar.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-basic-bsdtar" alias="basic-bsdtar">
-      <description lang="en" title="standalone version of bsdtar" >
-        <paragraph>The mingw32-basic-bsdtar package provides an implementation
-          of tar(1) for native Win32 platforms that is statically linked -- that
-          is, has no dependencies on external DLLs other than those provided by
-          the Win32 platform.  basic-bsdtar has somewhat limited functionality
-          compared to the other versions of bsdtar provided by the MinGW/MSYS
-          project (msys-bsdtar and mingw32-bsdtar).  However, it supports tar
-          archives in the ustar, pax, and gnutar formats, compressed using gzip,
-          bzip2, lzma, or xz.
-        </paragraph>
-      </description>
-
-      <!-- licence information is included in the -bin package -->
-      <licence tarname="basic-bsdtar-%-mingw32-%-bin.tar.%" />
-      <source tarname="basic-bsdtar-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="basic-bsdtar-2.8.3-1-mingw32-bin.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-binutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-binutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,104 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2015092000">
-
-  <!-- File: mingw32-binutils.xml ~~ mingw-get package description for GNU binutils -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-binutils" alias="binutils">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Binary File Utilities">
-        <paragraph> This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-        <paragraph>This package provides the GNU assembler, linker, archive
-          librarian, and other utilities for manipulating object format files.
-        </paragraph>
-        <paragraph>This package is enhanced by the libiconv and gettext DLL if
-          they are installed.  It does not require them to operate.
-        </paragraph>
-      </description>
-
-      <source tarname="binutils-%-mingw32-src.tar.%" />
-      <licence tarname="binutils-%-mingw32-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        <release tarname="binutils-2.25.1-1-mingw32-bin.tar.xz" />
-        <release tarname="binutils-2.24-1-mingw32-bin.tar.xz" />
-        <release tarname="binutils-2.23.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="binutils-%-mingw32-dev.tar.lzma" />
-          <requires eq="mingw32-libz-*-dll-1.tar" />
-          <requires eq="mingw32-libgcc-*-dll-1.tar" />
-        </release>
-        <release tarname="binutils-2.23.1-1-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.22-1-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.21.53-1-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.21-3-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.21-2-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.21.1-2-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.21.1-1-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.20.51-1-mingw32-bin.tar.lzma" />
-        <release tarname="binutils-2.20.1-2-mingw32-bin.tar.gz" />
-        <release tarname="binutils-2.20-1-mingw32-bin.tar.gz" />
-        <release tarname="binutils-2.19.1-mingw32-bin.tar.gz" />
-      </component>
-
-      <component class="dev">
-        <release tarname="binutils-2.25.1-1-mingw32-dev.tar.xz" />
-        <release tarname="binutils-2.24-1-mingw32-dev.tar.xz" />
-        <release tarname="binutils-2.23.2-1-mingw32-dev.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <description lang="en">
-          <paragraph>As of release 2.24-1, this "doc" component package has
-            been superseded by the "info" and "man" component packages; this
-            component package now delivers no content, will not be updated
-            for subsequent releases, and may be safely removed.
-          </paragraph>
-        </description>
-        <release tarname="binutils-2.24-1-mingw32-doc.tar.xz">
-          <download tarname="none" />
-          <requires eq="binutils-%-mingw32-info.tar" />
-          <requires eq="binutils-%-mingw32-man.tar" />
-        </release>
-        <release tarname="binutils-2.23.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.23.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.22-1-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.21.53-1-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.21.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.21.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.21-3-mingw32-doc.tar.lzma" />
-        <release tarname="binutils-2.21-2-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="binutils-2.25.1-1-mingw32-info.tar.xz" />
-        <release tarname="binutils-2.24-1-mingw32-info.tar.xz" />
-        <release tarname="binutils-2.23.2-1-mingw32-info.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="binutils-2.25.1-1-mingw32-man.tar.xz" />
-        <release tarname="binutils-2.24-1-mingw32-man.tar.xz" />
-        <release tarname="binutils-2.23.2-1-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="binutils-2.25.1-1-mingw32-lang.tar.xz" />
-        <release tarname="binutils-2.24-1-mingw32-lang.tar.xz" />
-        <release tarname="binutils-2.23.2-1-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.23.1-1-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.22-1-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.21.53-1-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.21.1-2-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.21.1-1-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.21-3-mingw32-lang.tar.lzma" />
-        <release tarname="binutils-2.21-2-mingw32-lang.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab tw=80 ts=2 sw=2 ff=unix: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-bzip2.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-bzip2.xml	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-bzip2.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-bzip2" alias="bzip2">
-      <description lang="en" title="a high-quality data compressor">
-        <paragraph>bzip2 is a freely available, patent free (see below),
-          high-quality data compressor.  It typically compresses files to within
-          10% to 15% of the best available techniques (the PPM family of
-          statistical compressors), whilst being around twice as fast at
-          compression and six times faster at decompression.  This package
-          provides the utility programs, scripts, documentation, and development
-          files. The associated mingw32-libbz2 package provides the runtime
-          library.
-        </paragraph>
-      </description>
-
-      <licence tarname="bzip2-%-mingw32-%-lic.tar.%" />
-      <source tarname="bzip2-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="bzip2-1.0.6-4-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-        <release tarname="bzip2-1.0.6-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-        <release tarname="bzip2-1.0.5-2-mingw32-bin.tar.gz" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="bzip2-1.0.6-4-mingw32-doc.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-mingw32-doc.tar.lzma" />
-        <release tarname="bzip2-1.0.5-2-mingw32-doc.tar.gz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="bzip2-1.0.6-4-mingw32-lic.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-mingw32-lic.tar.lzma" />
-        <release tarname="bzip2-1.0.5-2-mingw32-lic.tar.gz" />
-      </component>
-
-      <component class="man">
-        <release tarname="bzip2-1.0.6-4-mingw32-man.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-mingw32-man.tar.lzma" />
-        <release tarname="bzip2-1.0.5-2-mingw32-man.tar.gz" />
-      </component>
-
-      <component class="dev">
-        <release tarname="bzip2-1.0.6-4-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-        <release tarname="bzip2-1.0.6-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-        <release tarname="bzip2-1.0.5-2-mingw32-dev.tar.gz" >
-          <requires eq="mingw32-libbz2-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-libbz2" alias="libbz2">
-      <description lang="en" title="runtime library for bzip2">
-        <paragraph>bzip2 is a freely available, patent free (see below),
-          high-quality data compressor.  It typically compresses files to within
-          10% to 15% of the best available techniques (the PPM family of a
-          statistical compressors), whilst being around twice as fast at
-          compression and six times faster at decompression.  This package
-          provides the runtime library.  The associated mingw32-bzip2 package
-          provides utilities, scripts, documentation, and development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="bzip2-%-mingw32-%-lic.tar.%" />
-      <source tarname="bzip2-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libbz2-1.0.6-4-mingw32-dll-2.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libbz2-1.0.6-1-mingw32-dll-2.tar.lzma" />
-        <release tarname="libbz2-1.0.5-2-mingw32-dll-2.tar.gz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-contrib-package-list.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-contrib-package-list.xml	(revision 1046)
+++ 	(revision )
@@ -1,23 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016010800">
-
-  <!-- File: mingw32-contrib-package-list.xml -->
-
-  <package-group-hierarchy>
-    <package-group name="MinGW" expand="true">
-      <package-group name="MinGW Contributed">
-        <package-group name="MinGW Contributed Applications" />
-        <package-group name="MinGW Contributed Libraries" />
-      </package-group>
-    </package-group>
-  </package-group-hierarchy>
-
-  <!-- "real" packages ~~ user contributed -->
-  <package-list issue="2016010400" catalogue="mingw32-libunistring" />
-  <package-list issue="2016010800" catalogue="mingw32-ncurses" />
-  <package-list issue="2016010800" catalogue="mingw32-pdcurses" />
-  <package-list issue="2013101200" catalogue="mingw32-tcltk" />
-  <package-list issue="2013102800" catalogue="mingw32-xerces-c" />
-
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-dos2unix.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-dos2unix.xml	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2015122200">
-
-  <!-- File: mingw32-dos2unix.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-dos2unix" alias="mingw32-cygutils-dos2unix cygutils-dos2unix dos2unix unix2dos">
-      <description lang="en" title="Convert line breaks between Unix, Dos, and Mac">
-        <paragraph> The dos2unix package provides manipulation utilities for
-          converting the line break characters of text files between the unix
-          convention (0x0a), the DOS/Windows convention (0x0d 0x0a), and the old
-          (pre-OS-X) Mac convention (0x0d).
-        </paragraph>
-      </description>
-
-      <licence tarname="dos2unix-%-mingw32-%-lic.tar.%" />
-      <source tarname="dos2unix-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="dos2unix-7.3.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.2.3-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.2.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.1-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.6-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.5-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.4-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.3-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.1-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-5.3.3-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="cygutils-dos2unix-1.3.4-1-mingw32-bin.tar.lzma">
-          <licence tarname="cygutils-%-mingw32-%-lic.tar.%" />
-          <source tarname="cygutils-%-mingw32-%-src.tar.%" />
-          <requires eq="mingw32-libpopt-*-mingw32-*-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="dos2unix-7.3.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-7.2.3-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-7.2.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-7.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.6-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.5-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.4-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.3-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0-1-mingw32-doc.tar.lzma" />
-        <release tarname="dos2unix-5.3.3-1-mingw32-doc.tar.lzma" />
-        <release tarname="cygutils-1.3.4-1-mingw32-doc.tar.lzma">
-          <licence tarname="cygutils-%-mingw32-%-lic.tar.%" />
-          <source tarname="cygutils-%-mingw32-%-src.tar.%" />
-        </release>
-      </component>
-
-      <component class="lic">
-        <release tarname="dos2unix-7.3.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-7.2.3-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-7.2.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-7.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.6-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.5-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.4-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.3-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0-1-mingw32-lic.tar.lzma" />
-        <release tarname="dos2unix-5.3.3-1-mingw32-lic.tar.lzma" />
-        <release tarname="cygutils-1.3.4-1-mingw32-lic.tar.lzma">
-          <licence tarname="cygutils-%-mingw32-%-lic.tar.%" />
-          <source tarname="cygutils-%-mingw32-%-src.tar.%" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-expat.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-expat.xml	(revision 1046)
+++ 	(revision )
@@ -1,92 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013091000">
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <package name="mingw32-expat" alias="expat">
-      <description lang="en" title="XML parsing library written in C">
-        <paragraph>expat is a C library for parsing XML written by James
-          Clark. Expat is a stream-oriented XML parser.  This means that
-          you register handlers with the parser before starting the parse.
-          These handlers are called when the parser discovers the
-          associated structures in the document being parsed.  A start tag
-          is an example of the kind of structures for which you may
-          register handlers.
-        </paragraph>
-        <paragraph>The mingw32-expat package provides the xmlwf validation
-          tool and documentation related to the library. The associated
-          mingw32-libexpat package provides the runtime library and related
-          development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="expat-%-mingw32-%-lic.tar.%" />
-      <source tarname="expat-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-	<release tarname="expat-2.1.0-1-mingw32-bin.tar.lzma" >
-	  <requires eq="mingw32-libexpat-%-mingw32-%-dll-1.tar" />
-	</release>
-        <release tarname="expat-2.0.1-1-mingw32-bin.tar.gz" >
-	  <requires eq="mingw32-libexpat-%-mingw32-%-dll-1.tar" />
-	</release>
-      </component>
-
-      <component class="doc">
-	<release tarname="expat-2.1.0-1-mingw32-doc.tar.lzma" />
-        <release tarname="expat-2.0.1-1-mingw32-doc.tar.gz" />
-      </component>
-
-      <component class="man">
-	<release tarname="expat-2.1.0-1-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="lic">
-	<release tarname="expat-2.1.0-1-mingw32-lic.tar.lzma" />
-        <release tarname="expat-2.0.1-1-mingw32-lic.tar.gz" />
-      </component>
-
-    </package>
-    <package name="mingw32-libexpat" alias="libexpat">
-      <description lang="en" title="XML parsing library written in C">
-        <paragraph>expat is a C library for parsing XML written by James
-          Clark. Expat is a stream-oriented XML parser.  This means that
-          you register handlers with the parser before starting the parse.
-          These handlers are called when the parser discovers the
-          associated structures in the document being parsed.  A start tag
-          is an example of the kind of structures for which you may
-          register handlers.
-        </paragraph>
-        <paragraph>The mingw32-libexpat package provides the runtime library
-          and related development files for expat.  The associated
-          mingw32-expat package provides the xmlwf validation tool and
-          documentation related to the library.
-        </paragraph>
-	<paragraph>NOTE: As of release 2.1.0-1 this DLL is now part of the
-	primary package.
-	</paragraph>
-      </description>
-
-      <licence tarname="expat-%-mingw32-%-lic.tar.%" />
-      <source tarname="expat-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-	<release tarname="libexpat-2.1.0-1-mingw32-dll-1.tar" >
-	  <download tarname="expat-2.1.0-1-mingw32-dll.tar.lzma" />
-	</release>
-        <release tarname="libexpat-2.0.1-1-mingw32-dll-1.tar.gz" />
-      </component>
-
-      <component class="dev">
-	<release tarname="libexpat-2.1.0-1-mingw32-dev.tar" >
-	  <download tarname="expat-2.1.0-1-mingw32-dev.tar.lzma" />
-	  <requires eq="mingw32-libexpat-%-mingw32-%-dll-1.tar" />
-	</release>
-        <release tarname="libexpat-2.0.1-1-mingw32-dev.tar.gz" >
-	  <requires eq="mingw32-libexpat-%-mingw32-%-dll-1.tar" />
-	</release>
-      </component>
-    </package>
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab tw=80 ts=2 sw=2 ff=unix: -->
-
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc-tools.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc-tools.xml	(revision 1046)
+++ 	(revision )
@@ -1,104 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-gcc-tools.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-gcc-tools-epoch2-autoconf">
-      <description lang="en"
-        title="special autoconf for gcc development">
-        <paragraph>Gcc requires that an unpatched, pristine version of autoconf
-          be used when preparing patches for official submission. For various
-          reasons [1] these pristine versions cannot coexist with the existing
-          mingw32-autoconf packages in /mingw. This package provides autoconf-2.64
-          and installs into /mingw/opt/gcc-tools/epoch2/{bin,share} for use when
-          developing gcc-4.5.x and gcc-4.6.x. It is also used when building
-          gettext-0.18.1.1.
-        </paragraph>
-        <paragraph>gcc-4.3.x and gcc-4.4.x development requires autoconf-2.59</paragraph>
-        <paragraph>gcc-4.5.x and gcc-4.6.x development requires autoconf-2.64</paragraph>
-        <paragraph>[1] http://cygwin.com/ml/cygwin-apps/2009-01/msg00007.html</paragraph>
-        <paragraph>Autoconf is an extensible package of M4 macros that
-          produce shell scripts to automatically configure software source
-          code packages.  These scripts can adapt the packages to many
-          kinds of UNIX-like systems without manual user intervention.
-          Autoconf creates a configuration script for a package from a
-          template file that lists the operating system features that the
-          package can use, in the form of M4 macro calls.
-        </paragraph>
-      </description>
-
-      <licence tarname="gcc-tools-epoch2-autoconf-%-mingw32-%-lic.tar.%" />
-      <source tarname="gcc-tools-epoch2-autoconf-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="gcc-tools-epoch2-autoconf-2.64-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gcc-tools-epoch2-autoconf-2.64-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gcc-tools-epoch2-autoconf-2.64-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-gcc-tools-epoch2-automake">
-      <description lang="en"
-        title="special automake for gcc development">
-        <paragraph>Gcc requires that an unpatched, pristine version of automake
-          be used when preparing patches for official submission. For various
-          reasons [1] these pristine versions cannot coexist with the existing
-          mingw32-automake packages in /mingw.  This package provides
-          automake-1.11 and installs into /mingw/opt/gcc-tools/epoch2/{bin,share}
-          for use when developing gcc-4.5.x and gcc-4.6.x.  It is also used when
-          building gettext-0.18.1.1.
-        </paragraph>
-        <paragraph>gcc-4.3.x and gcc-4.4.x development requires the latest
-          release in the automake-1.9.x series.
-        </paragraph>
-        <paragraph>gcc-4.5.x and gcc-4.6.x development requires the latest
-          release in the automake-1.11.x series.
-        </paragraph>
-        <paragraph>[1] http://cygwin.com/ml/cygwin-apps/2009-01/msg00007.html</paragraph>
-        <paragraph>Automake is a tool for automatically generating
-          Makefile.in files compliant with the GNU Coding Standards.
-          Automake requires the use of Autoconf.
-        </paragraph>
-      </description>
-
-      <licence tarname="gcc-tools-epoch2-automake-%-mingw32-%-lic.tar.%" />
-      <source tarname="gcc-tools-epoch2-automake-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-gcc-tools-epoch2-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="gcc-tools-epoch2-automake-1.11.1-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gcc-tools-epoch2-automake-1.11.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gcc-tools-epoch2-automake-1.11.1-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc3.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc3.xml	(revision 1046)
+++ 	(revision )
@@ -1,149 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2011050500">
-
-  <!-- File: mingw32-gcc3.xml ~~ mingw-get package list for GCC version 3 -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-gcc-v3-core" alias="gcc-v3 gcc-v3-core">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C Compiler">
-        <paragraph>
-          This package is specific to Version 3 of the GNU Compiler
-          Collection; it provides the MinGW implementation of the
-          GNU C language compiler; this includes the C preprocessor,
-          and the common back end processors which are necessary to
-          support all other language compilers in the GNU Compiler
-          Collection.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite,
-          for those users who continue the use GCC Version 3.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires ge="mingw32-binutils-*-mingw32-bin.tar" />
-        <requires ge="mingw32-mingwrt-*-mingw32-dev.tar" />
-        <requires ge="mingw32-mingwrt-*-mingw32-dll.tar" />
-        <requires ge="mingw32-w32api-*-mingw32-dev.tar" />
-        <release tarname="gcc-v3-core-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-core-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-core-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-v3-ada" alias="gcc-v3-ada">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Ada Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Ada language compiler for GCC Version 3.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you use GCC Version 3, and you wish
-          to compile programs written in the Ada language.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires eq="mingw32-gcc-v3-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-v3-ada-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-ada-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-ada-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-v3-g++" alias="gcc-v3-g++ gcc-v3-c++">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C++ Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU C++ language compiler for GCC Version 3.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you use GCC Version 3, and you wish
-          to compile programs written in the C++ language.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires eq="mingw32-gcc-v3-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-v3-g++-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-g++-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-g++-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-v3-fortran" alias="gcc-v3-fortran gcc-v3-g77 g77 f77">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU FORTRAN Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU FORTRAN language compiler for GCC Version 3.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you use GCC Version 3, and you wish
-          to compile programs written in the FORTRAN language.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires eq="mingw32-gcc-v3-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-v3-g77-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-g77-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-g77-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-v3-java" alias="gcc-v3-java">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Java Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Java language compiler for GCC Version 3.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you use GCC Version 3, and you wish
-          to compile programs written in the Java language.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires eq="mingw32-gcc-v3-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-v3-java-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-java-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-java-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-v3-objc" alias="gcc-v3-objc">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Objective-C Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Objective-C language compiler for GCC Version 3.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you use GCC Version 3, and you wish
-          to compile programs written in the Objective-C language.
-        </paragraph>
-      </description>
-      <component class="bin">
-        <requires eq="mingw32-gcc-v3-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-v3-objc-3.4.5-20060117-3-mingw32-bin.tar.gz">
-          <source tarname="gcc-objc-3.4.5-20060117-2-src.tar.gz" />
-          <download tarname="gcc-objc-3.4.5-20060117-3.tar.gz" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc4.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gcc4.xml	(revision 1046)
+++ 	(revision )
@@ -1,953 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016082400">
-
-  <!-- File: mingw32-gcc4.xml ~~ mingw-get package list for GCC version 4.x -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-gcc" alias="gcc gcc-core mingw32-gcc-core">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU C language compiler; this includes the C preprocessor,
-          and the common back end processors which are necessary to
-          support all other language compilers in the GNU Compiler
-          Collection.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="lic">
-        <release tarname="gcc-5.3.0-2-mingw32-lic.tar.xz" />
-        <release tarname="gcc-4.9.3-1-mingw32-lic.tar.xz" />
-        <release tarname="gcc-core-4.8.1-4-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-3-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-2-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-4.7.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-4.7.0-1-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-4.6.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-4.6.1-2-mingw32-lic.tar.lzma" />
-        <release tarname="gcc-4.5.2-1-mingw32-lic.tar.lzma" />
-      </component>
-
-      <component class="bin">
-        <requires eq="binutils-*-mingw32-bin.tar" />
-        <requires eq="mingwrt-*-mingw32-dev.tar" />
-        <requires eq="w32api-*-mingw32-dev.tar" />
-        <release tarname="gcc-core-5.3.0-2-mingw32-bin.tar.xz">
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libatomic-%-mingw32-dll-1.tar" />
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libmpc-*-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-core-4.9.3-1-mingw32-bin.tar.xz">
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libmpc-*-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-4-mingw32-bin.tar.lzma">
-          <requires eq="gcc-core-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-3-mingw32-bin.tar.lzma">
-          <requires eq="gcc-core-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-2-mingw32-bin.tar.lzma">
-          <requires eq="gcc-core-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-1-mingw32-bin.tar.lzma">
-          <requires eq="gcc-core-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.7.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libmpc-*-mingw32-dll-2.tar" />
-          <requires eq="pthreads-w32-*-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.7.0-1-mingw32-bin.tar.lzma">
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libmpc-*-mingw32-dll-2.tar" />
-          <requires eq="pthreads-w32-*-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.6.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libmpc-*-mingw32-dll-2.tar" />
-          <requires eq="pthreads-w32-*-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.6.1-2-mingw32-bin.tar.lzma">
-          <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libmpc-*-mingw32-dll-2.tar" />
-          <requires eq="pthreads-w32-*-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-core-4.5.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libssp-%-mingw32-dll-0.tar" />
-          <requires eq="libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libmpc-*-mingw32-dll-2.tar" />
-          <requires eq="pthreads-w32-*-mingw32-dev.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        <requires eq="mingw32-libquadmath-%-mingw32-dll-0.tar" />
-        <release tarname="gcc-5.3.0-2-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-4.9.3-1-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-core-4.8.1-4-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libssp-%-mingw32-dll-0.tar" />
-          <requires eq="mingw32-libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libmpc-*-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-3-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libssp-%-mingw32-dll-0.tar" />
-          <requires eq="mingw32-libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libmpc-*-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-2-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libssp-%-mingw32-dll-0.tar" />
-          <requires eq="mingw32-libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libmpc-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="gcc-core-4.8.1-1-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libssp-%-mingw32-dll-0.tar" />
-          <requires eq="mingw32-libgomp-%-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libmpc-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="gcc-core-4.7.2-1-mingw32-dev.tar">
-          <requires eq="mingw32-libssp-%-mingw32-dll-0.tar" />
-          <requires eq="mingw32-libgomp-%-mingw32-dll-1.tar" />
-          <download tarname="none" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gcc-core-5.3.0-2-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-core-4.9.3-1-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-core-4.8.1-4-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-3-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-4.7.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-4.7.0-1-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-4.6.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-4.6.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-4.5.2-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="gcc-5.3.0-2-mingw32-man.tar.xz" />
-        <release tarname="gcc-4.9.3-1-mingw32-man.tar.xz" />
-        <release tarname="gcc-core-4.8.1-4-mingw32-man.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-3-mingw32-man.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-2-mingw32-man.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-1-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="gcc-5.3.0-2-mingw32-info.tar.xz" />
-        <release tarname="gcc-4.9.3-1-mingw32-info.tar.xz" />
-        <release tarname="gcc-core-4.8.1-4-mingw32-info.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-3-mingw32-info.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-2-mingw32-info.tar.lzma" />
-        <release tarname="gcc-core-4.8.1-1-mingw32-info.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="gcc-5.3.0-2-mingw32-lang.tar.xz" />
-        <release tarname="gcc-4.9.3-1-mingw32-lang.tar.xz" />
-        <release tarname="gcc-4.8.1-4-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.8.1-3-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.8.1-2-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.8.1-1-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.7.2-1-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.7.0-1-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.6.2-1-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.6.1-2-mingw32-lang.tar.lzma" />
-        <release tarname="gcc-4.5.2-1-mingw32-lang.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgcc" alias="libgcc">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C Compiler Shared Runtime Library">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          shared runtime library for the GNU C language compiler;
-          you must install it if you wish to use this compiler with
-          -shared-libgcc support enabled, or if you wish to use any
-          other GCC language compiler, and you require safe handling
-          of exceptions which may cross DLL boundaries.
-        </paragraph>
-        <paragraph>
-          This is a freely redistributable library; it is required by,
-          (and you must distribute it with), any application compiled
-          by the GNU C++ language compiler, unless support for shared
-          runtime libraries is explicitly disabled when building.
-        </paragraph>
-        <paragraph>
-          NOTE: The gcc-4.8.1 release delivers this library in a tarball
-          named with the "gcc-core" prefix, rather than "libgcc".
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libgcc-5.3.0-2-mingw32-dll-1.tar.xz" />
-        <release tarname="libgcc-4.9.3-1-mingw32-dll-1.tar.xz" />
-        <release tarname="libgcc-4.8.1-4-mingw32-dll-1.tar">
-          <download tarname="gcc-core-4.8.1-4-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libgcc-4.8.1-3-mingw32-dll-1.tar">
-          <download tarname="gcc-core-4.8.1-3-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libgcc-4.8.1-2-mingw32-dll-1.tar">
-          <download tarname="gcc-core-4.8.1-2-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libgcc-4.8.1-1-mingw32-dll-1.tar">
-          <download tarname="gcc-core-4.8.1-1-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libgcc-4.5.2-1-mingw32-dll-1.tar.lzma" />
-        <release tarname="libgcc-4.6.1-2-mingw32-dll-1.tar.lzma" />
-        <release tarname="libgcc-4.6.2-1-mingw32-dll-1.tar.lzma" />
-        <release tarname="libgcc-4.7.0-1-mingw32-dll-1.tar.lzma" />
-        <release tarname="libgcc-4.7.2-1-mingw32-dll-1.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-ada" alias="gcc-ada ada">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Ada Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Ada language compiler.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you wish to compile programs written
-          in the Ada language.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="bin">
-        <affiliate group="Basic Setup" />
-        <requires eq="gcc-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-ada-5.3.0-2-mingw32-bin.tar.xz">
-          <requires eq="gcc-ada-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-ada-4.9.3-1-mingw32-bin.tar.xz">
-          <requires eq="gcc-ada-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-4-mingw32-bin.tar.lzma">
-          <requires eq="gcc-ada-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-3-mingw32-bin.tar.lzma">
-          <requires eq="gcc-ada-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-2-mingw32-bin.tar.lzma">
-          <requires eq="gcc-ada-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-1-mingw32-bin.tar.lzma">
-          <requires eq="gcc-ada-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-ada-4.7.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libgnat-%-mingw32-dll-4_7.tar" />
-        </release>
-        <release tarname="gcc-ada-4.7.0-1-mingw32-bin.tar.lzma">
-          <requires eq="libgnat-%-mingw32-dll-4_7.tar" />
-        </release>
-        <release tarname="gcc-ada-4.6.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libgnat-%-mingw32-dll-4_6.tar" />
-        </release>
-        <release tarname="gcc-ada-4.5.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libgnat-%-mingw32-dll-4_5.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <release tarname="gcc-ada-5.3.0-2-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-ada-4.9.3-1-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-4-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-3-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-2-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
-        </release>
-        <release tarname="gcc-ada-4.8.1-1-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libgnat-%-mingw32-dll.tar" />
-        </release>
-      </component>
-
-      <component class="info">
-        <release tarname="gcc-ada-4.8.1-4-mingw32-info.tar.lzma" />
-        <release tarname="gcc-ada-4.8.1-3-mingw32-info.tar.lzma" />
-        <release tarname="gcc-ada-4.8.1-2-mingw32-info.tar.lzma" />
-        <release tarname="gcc-ada-4.8.1-1-mingw32-info.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgnat" alias="libgnat">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Ada Compiler Runtime Library">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          shared runtime library for the GNU Ada language compiler;
-          you must install it if you wish to use this compiler.
-        </paragraph>
-        <paragraph>
-          This is a freely redistributable library; it is required by,
-          (and you must distribute it with), any application compiled
-          by the GNU Ada language compiler, unless support for shared
-          runtime libraries is explicitly disabled when building.
-        </paragraph>
-        <paragraph>
-          NOTE: The gcc-4.8.1 release delivers this library in a tarball
-          named with the "gcc-ada" prefix, rather than "libgnat".  There
-          is (currently) no DLL component release of libgnat, for the
-          gcc-4.9.3 (or later) release.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libgnat-4.5.2-1-mingw32-dll-4_5.tar.lzma" />
-        <release tarname="libgnat-4.6.2-1-mingw32-dll-4_6.tar.lzma" />
-        <release tarname="libgnat-4.7.0-1-mingw32-dll-4_7.tar.lzma" />
-        <release tarname="libgnat-4.7.2-1-mingw32-dll-4_7.tar.lzma" />
-        <release tarname="libgnat-4.8.1-4-mingw32-dll-4_8.tar" >
-          <download tarname="gcc-ada-4.8.1-4-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgnat-4.8.1-3-mingw32-dll-4_8.tar" >
-          <download tarname="gcc-ada-4.8.1-3-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgnat-4.8.1-2-mingw32-dll-4_8.tar" >
-          <download tarname="gcc-ada-4.8.1-2-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgnat-4.8.1-1-mingw32-dll-4_8.tar" >
-          <download tarname="gcc-ada-4.8.1-1-mingw32-dll.tar.lzma" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-g++" alias="gcc-g++ g++ gcc-c++ c++">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C++ Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU C++ language compiler.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you wish to compile programs written
-          in the C++ language.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="bin">
-        <affiliate group="Basic Setup" />
-        <requires eq="gcc-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-c++-5.3.0-2-mingw32-bin.tar.xz" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.9.3-1-mingw32-bin.tar.xz" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-4-mingw32-bin.tar.lzma" >
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-3-mingw32-bin.tar.lzma" >
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-2-mingw32-bin.tar.lzma" >
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-1-mingw32-bin.tar.lzma" >
-          <requires eq="gcc-c++-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-c++-4.7.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-        </release>
-        <release tarname="gcc-c++-4.7.0-1-mingw32-bin.tar.lzma" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-        </release>
-        <release tarname="gcc-c++-4.6.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-        </release>
-        <release tarname="gcc-c++-4.6.1-2-mingw32-bin.tar.lzma" >
-          <requires eq="libstdc++-%-mingw32-dll-6.tar" />
-        </release>
-        <release tarname="gcc-c++-4.5.2-1-mingw32-bin.tar.lzma" >
-        </release>
-      </component>
-
-      <component class="dev">
-        <requires eq="mingw32-libstdc++-%-mingw32-dll-6.tar" />
-        <release tarname="gcc-c++-5.3.0-2-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-c++-4.9.3-1-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-4-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-3-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-2-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-1-mingw32-dev.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gcc-c++-5.3.0-2-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-c++-4.9.3-1-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-c++-4.8.1-4-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-3-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="gcc-c++-5.3.0-2-mingw32-man.tar.xz" />
-        <release tarname="gcc-c++-4.9.3-1-mingw32-man.tar.xz" />
-        <release tarname="gcc-c++-4.8.1-4-mingw32-man.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-3-mingw32-man.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-2-mingw32-man.tar.lzma" />
-        <release tarname="gcc-c++-4.8.1-1-mingw32-man.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libstdc++" alias="libstdc++">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU C++ Compiler Runtime Library">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          shared runtime library for the GNU C++ language compiler;
-          you must install it if you wish to use this compiler.
-        </paragraph>
-        <paragraph>
-          This is a freely redistributable library; it is required by,
-          (and you must distribute it with), any application compiled
-          by the GNU C++ language compiler, unless support for shared
-          runtime libraries is explicitly disabled when building.
-        </paragraph>
-        <paragraph>
-          NOTE: The gcc-4.8.1 release delivers this library in a tarball
-          named with the "gcc-c++" prefix, rather than "libstdc++".
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libstdc++-5.3.0-2-mingw32-dll-6.tar.xz" />
-        <release tarname="libstdc++-4.9.3-1-mingw32-dll-6.tar.xz" />
-        <release tarname="libstdc++-4.8.1-4-mingw32-dll-6.tar" >
-          <download tarname="gcc-c++-4.8.1-4-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libstdc++-4.8.1-3-mingw32-dll-6.tar" >
-          <download tarname="gcc-c++-4.8.1-3-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libstdc++-4.8.1-2-mingw32-dll-6.tar" >
-          <download tarname="gcc-c++-4.8.1-2-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libstdc++-4.8.1-1-mingw32-dll-6.tar" >
-          <download tarname="gcc-c++-4.8.1-1-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libstdc++-4.5.2-1-mingw32-dll-6.tar.lzma" />
-        <release tarname="libstdc++-4.6.1-2-mingw32-dll-6.tar.lzma" />
-        <release tarname="libstdc++-4.6.2-1-mingw32-dll-6.tar.lzma" />
-        <release tarname="libstdc++-4.7.0-1-mingw32-dll-6.tar.lzma" />
-        <release tarname="libstdc++-4.7.2-1-mingw32-dll-6.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-gcc-fortran" alias="gcc-fortran gfortran fortran">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU FORTRAN Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU FORTRAN language compiler.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you wish to compile programs written
-          in the FORTRAN language.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="bin">
-        <affiliate group="Basic Setup" />
-        <requires eq="gcc-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-fortran-5.3.0-2-mingw32-bin.tar.xz">
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-          <requires eq="gcc-fortran-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.9.3-1-mingw32-bin.tar.xz">
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-          <requires eq="gcc-fortran-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-4-mingw32-bin.tar.lzma">
-          <requires eq="gcc-fortran-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-3-mingw32-bin.tar.lzma">
-          <requires eq="gcc-fortran-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-2-mingw32-bin.tar.lzma">
-          <requires eq="gcc-fortran-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-1-mingw32-bin.tar.lzma">
-          <requires eq="gcc-fortran-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-fortran-4.7.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.7.0-1-mingw32-bin.tar.lzma" >
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.6.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.6.1-2-mingw32-bin.tar.lzma" >
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-fortran-4.5.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <requires eq="libgfortran-%-mingw32-dll-3.tar" />
-        <release tarname="gcc-fortran-5.3.0-2-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-fortran-4.9.3-1-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-4-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-3-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-2-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-1-mingw32-dev.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gcc-fortran-5.3.0-2-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-fortran-4.9.3-1-mingw32-doc.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-fortran-4.8.1-4-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-3-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="gcc-fortran-5.3.0-2-mingw32-info.tar.xz" />
-        <release tarname="gcc-fortran-4.9.3-1-mingw32-info.tar.xz" />
-        <release tarname="gcc-fortran-4.8.1-4-mingw32-info.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-3-mingw32-info.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-2-mingw32-info.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-1-mingw32-info.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="gcc-fortran-5.3.0-2-mingw32-man.tar.xz">
-          <download tarname="libgfortran-5.3.0-2-mingw32-man.tar.xz" />
-        </release>
-        <release tarname="gcc-fortran-4.9.3-1-mingw32-man.tar.xz" />
-        <release tarname="gcc-fortran-4.8.1-4-mingw32-man.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-3-mingw32-man.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-2-mingw32-man.tar.lzma" />
-        <release tarname="gcc-fortran-4.8.1-1-mingw32-man.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgfortran" alias="libgfortran">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU FORTRAN Compiler Runtime Library">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          shared runtime library for the GNU FORTRAN language compiler;
-          you must install it if you wish to use this compiler.
-        </paragraph>
-        <paragraph>
-          This is a freely redistributable library; it is required by,
-          (and you must distribute it with), any application compiled by
-          the GNU FORTRAN language compiler, unless support for shared
-          runtime libraries is explicitly disabled when building.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libgfortran-4.5.2-1-mingw32-dll-3.tar.lzma" />
-        <release tarname="libgfortran-4.6.1-2-mingw32-dll-3.tar.lzma" />
-        <release tarname="libgfortran-4.6.2-1-mingw32-dll-3.tar.lzma" />
-        <release tarname="libgfortran-4.7.0-1-mingw32-dll-3.tar.lzma" />
-        <release tarname="libgfortran-4.7.2-1-mingw32-dll-3.tar.lzma" />
-        <release tarname="libgfortran-4.8.1-4-mingw32-dll-3.tar" >
-          <download tarname="gcc-fortran-4.8.1-4-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgfortran-4.8.1-3-mingw32-dll-3.tar" >
-          <download tarname="gcc-fortran-4.8.1-3-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgfortran-4.8.1-2-mingw32-dll-3.tar" >
-          <download tarname="gcc-fortran-4.8.1-2-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgfortran-4.8.1-1-mingw32-dll-3.tar" >
-          <download tarname="gcc-fortran-4.8.1-1-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libgfortran-4.9.3-1-mingw32-dll-3.tar.xz" />
-        <release tarname="libgfortran-5.3.0-2-mingw32-dll-3.tar.xz" />
-      </component>
-    </package>
-
-    <!-- FIXME: no java package available at present...
-    <package name="mingw32-gcc-java" alias="gcc-java java">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Java Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Java language compiler.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you wish to compile programs written
-          in the Java language.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.lzma" />
-      <licence tarname="gcc-%-mingw32-lic.tar.lzma" />
-
-      <component class="bin">
-        <requires eq="gcc-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-java-4.5.2-1-mingw32-bin.tar.lzma" />
-      </component>
-    </package> -->
-
-    <package name="mingw32-gcc-objc" alias="gcc-objc objc">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Objective-C Compiler">
-        <paragraph>
-          This package provides the MinGW implementation of the
-          GNU Objective-C language compiler.
-        </paragraph>
-        <paragraph>
-          This is an optional component of the MinGW Compiler Suite;
-          you require it only if you wish to compile programs written
-          in the Objective-C language.
-        </paragraph>
-        <paragraph>
-          NOTE: For the gcc-4.8.1, release in order to install objc you need
-          to install the gcc-objc-%-mingw32-dev package instead of the -bin
-          package.  This change was made to be consistent with what -bin usually
-          contains compared to -dev.  In reality, this release simply created
-          the -dev package as a hybrid of content which would normally be
-          distributed as separate -bin and -dev packages, whereas earlier
-          releases provided the -bin package as such a hybrid.  This change
-          added an unnecessary level of package complexity; it has been
-          reverted for the gcc-4.9.3 release.
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="bin">
-        <affiliate group="Basic Setup" />
-        <requires eq="gcc-core-%-mingw32-bin.tar" />
-        <release tarname="gcc-objc-5.3.0-2-mingw32-bin.tar.xz">
-          <requires eq="libobjc-%-mingw32-dll-4.tar" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-objc-4.9.3-1-mingw32-bin.tar.xz">
-          <requires eq="libobjc-%-mingw32-dll-4.tar" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar" />
-        </release>
-        <release tarname="gcc-objc-4.7.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libobjc-%-mingw32-dll-4.tar" />
-        </release>
-        <release tarname="gcc-objc-4.7.0-1-mingw32-bin.tar.lzma">
-          <requires eq="libobjc-%-mingw32-dll-4.tar" />
-        </release>
-        <release tarname="gcc-objc-4.6.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libobjc-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-objc-4.6.1-2-mingw32-bin.tar.lzma">
-          <requires eq="libobjc-%-mingw32-dll-3.tar" />
-        </release>
-        <release tarname="gcc-objc-4.5.2-1-mingw32-bin.tar.lzma">
-          <requires eq="libobjc-%-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="gcc-objc-4.8.1-4-mingw32-bin.tar" >
-          <download tarname="none" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-objc-4.8.1-3-mingw32-bin.tar" >
-          <download tarname="none" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-objc-4.8.1-2-mingw32-bin.tar" >
-          <download tarname="none" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="gcc-objc-4.8.1-1-mingw32-bin.tar" >
-          <download tarname="none" />
-          <requires eq="gcc-objc-%-mingw32-dev.tar.lzma" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <requires eq="libobjc-%-mingw32-dll-4.tar" />
-        <release tarname="gcc-objc-5.3.0-2-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-objc-4.9.3-1-mingw32-dev.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gcc-objc-4.8.1-4-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-objc-4.8.1-3-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-objc-4.8.1-2-mingw32-dev.tar.lzma" />
-        <release tarname="gcc-objc-4.8.1-1-mingw32-dev.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libobjc" alias="libobjc">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="The GNU Objective-C Compiler Runtime Library">
-        <paragraph>
-          This package provides the MinGW implementation of the shared
-          runtime library for the GNU Objective-C language compiler; you
-          must install it if you wish to use this compiler.
-        </paragraph>
-        <paragraph>
-          This is a freely redistributable library; it is required by,
-          (and you must distribute it with), any application compiled by
-          the GNU Objective-C language compiler, unless support for shared
-          runtime libraries is explicitly disabled when building.
-        </paragraph>
-        <paragraph>
-          NOTE: The gcc-4.8.1 release delivers this library in a tarball
-          named with the "gcc-objc" prefix, rather than "libobjc".
-        </paragraph>
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libobjc-4.5.2-1-mingw32-dll-2.tar.lzma" />
-        <release tarname="libobjc-4.6.1-2-mingw32-dll-3.tar.lzma" />
-        <release tarname="libobjc-4.6.2-1-mingw32-dll-3.tar.lzma" />
-        <release tarname="libobjc-4.7.0-1-mingw32-dll-4.tar.lzma" />
-        <release tarname="libobjc-4.7.2-1-mingw32-dll-4.tar.lzma" />
-        <release tarname="libobjc-4.8.1-4-mingw32-dll-4.tar" >
-          <download tarname="gcc-objc-4.8.1-4-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libobjc-4.8.1-3-mingw32-dll-4.tar" >
-          <download tarname="gcc-objc-4.8.1-3-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libobjc-4.8.1-2-mingw32-dll-4.tar" >
-          <download tarname="gcc-objc-4.8.1-2-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libobjc-4.8.1-1-mingw32-dll-4.tar" >
-          <download tarname="gcc-objc-4.8.1-1-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libobjc-4.9.3-1-mingw32-dll-4.tar.xz" />
-        <release tarname="libobjc-5.3.0-2-mingw32-dll-4.tar.xz" />
-      </component>
-    </package>
-
-    <package name="mingw32-libatomic" alias="libatomic">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="GCC Atomic Function Support Library">
-        <paragraph />
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libatomic-5.3.0-2-mingw32-dll-1.tar.xz" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgomp" alias="libgomp">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="GCC MultiProcessor Support Library">
-        <paragraph />
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libgomp-4.5.2-1-mingw32-dll-1.tar.lzma">
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.6.1-2-mingw32-dll-1.tar.lzma">
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.6.2-1-mingw32-dll-1.tar.lzma">
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.7.0-1-mingw32-dll-1.tar.lzma">
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.7.2-1-mingw32-dll-1.tar.lzma">
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.8.1-4-mingw32-dll-1.tar">
-          <download tarname="none" />
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.8.1-3-mingw32-dll-1.tar">
-          <download tarname="none" />
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.8.1-2-mingw32-dll-1.tar">
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-4.8.1-1-mingw32-dll-1.tar">
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-          <requires eq="libpthread-*-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libgomp-5.3.0-2-mingw32-dll-1.tar.xz" />
-      </component>
-    </package>
-
-    <package name="mingw32-libssp" alias="libssp">
-      <affiliate group="MinGW Compiler Suite" />
-      <description lang="en" title="GCC Stack Smashing Protection Library">
-        <paragraph />
-      </description>
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libssp-4.5.2-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libssp-4.6.1-2-mingw32-dll-0.tar.lzma" />
-        <release tarname="libssp-4.6.2-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libssp-4.7.0-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libssp-4.7.2-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libssp-4.8.1-4-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libssp-4.8.1-3-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libssp-4.8.1-2-mingw32-dll-0.tar" >
-          <download tarname="none" />
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libssp-4.8.1-1-mingw32-dll-0.tar" >
-          <download tarname="none" />
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libssp-5.3.0-2-mingw32-dll-0.tar.xz" />
-      </component>
-    </package>
-
-    <package name="mingw32-libquadmath" alias="libquadmath">
-      <affiliate group="MinGW Compiler Suite" />
-
-      <source tarname="gcc-%-mingw32-src.tar.*" />
-      <licence tarname="gcc-%-mingw32-lic.tar.*" />
-
-      <component class="dll">
-        <release tarname="libquadmath-4.6.1-2-mingw32-dll-0.tar.lzma" />
-        <release tarname="libquadmath-4.6.2-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libquadmath-4.7.0-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libquadmath-4.7.2-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libquadmath-4.8.1-4-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar"/>
-        </release>
-        <release tarname="libquadmath-4.8.1-3-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar"/>
-        </release>
-        <release tarname="libquadmath-4.8.1-2-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libquadmath-4.8.1-1-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-          <requires eq="mingw32-libgcc-%-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libquadmath-4.9.3-1-mingw32-dll-0.tar.xz" />
-        <release tarname="libquadmath-5.3.0-2-mingw32-dll-0.tar.xz" />
-      </component>
-
-      <component class="info">
-        <release tarname="libquadmath-4.9.3-1-mingw32-info.tar.xz" />
-        <release tarname="libquadmath-5.3.0-2-mingw32-info.tar.xz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gdb.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gdb.xml	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013091501">
-
-  <!-- File: mingw32-gdb.xml ~~ mingw-get package description for the GNU debugger -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-gdb" alias="gdb">
-      <affiliate group="MinGW Base System" />
-      <affiliate group="MinGW Source-Level Debugger" />
-      <description lang="en" title="The GNU Source-Level Debugger">
-        <paragraph>
-          GDB is a source-level debugger, capable of breaking programs at
-          any specific line, displaying variable values, and determining
-          where errors occurred.  Currently, it works for C, C++, Fortran,
-          Modula 2 and Java programs.  A must-have for any serious
-          programmer.
-        </paragraph>
-      </description>
-
-      <source tarname="gdb-%-mingw32-%-src.tar.%" />
-      <licence tarname="gdb-%-mingw32-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="gdb-7.6.1-1-mingw32-bin.tar.lzma">
-          <requires eq="mingw32-libz-*-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="gdb-7.5-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-7.4-2-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-7.3.1-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-7.3-2-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-7.3-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-7.2-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-        </release>
-        <release tarname="gdb-7.1-2-mingw32-bin.tar.gz" >
-          <source tarname="gdb-7.1-src.tar.gz" />
-          <licence tarname="gdb-%-mingw32-bin.tar.gz" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gdb-7.6.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.5-1-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.4-2-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.3.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.3-2-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.3-1-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-7.2-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="gdb-7.6.1-1-mingw32-info.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="gdb-7.6.1-1-mingw32-lang.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="gdb-7.6.1-1-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gdb-7.6.1-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-gdb-python" alias="gdb-python">
-      <affiliate group="MinGW Base System" />
-      <description lang="en" title="Python enabled GNU Source-Level Debugger">
-        <paragraph>
-          GDB is a source-level debugger, capable of breaking programs at
-          any specific line, displaying variable values, and determining
-          where errors occurred.  Currently, it works for C, C++, Fortran,
-          Modula 2 and Java programs.  A must-have for any serious
-          programmer.  This particular version is Python enabled.
-        </paragraph>
-      </description>
-
-      <source tarname="gdb-python-%-mingw32-%-src.tar.%" />
-      <licence tarname="gdb-python-%-mingw32-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="gdb-python-7.5-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="gdb-python-7.4-2-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gdb-python-7.5-1-mingw32-doc.tar.lzma" />
-        <release tarname="gdb-python-7.4-2-mingw32-doc.tar.lzma" />
-      </component>
-    </package>
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gendef.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gendef.xml	(revision 1046)
+++ 	(revision )
@@ -1,49 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-gendef.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-gendef" alias="gendef">
-      <description lang="en" title="Generate .def files for DLLs" >
-        <paragraph>gendef can extract information from DLLs to create
-          corresponding .def files that list the symbols available in each DLL.
-          .def files can then be used by dlltool (mingw32-binutils) to generate
-          import libraries.  gendef is similar to pexports, but the two tools
-          differ in how each determines the "decoration" (or calling convention)
-          appropriate for each symbol, since that information is not always
-          available directly from the DLL's symbol table.  gendef locates the
-          symbol's code in the DLL, and uses a disassembler to determine that
-          information.  pexports can use a C pre-processor to extract the
-          information, provided you have the appropriate header files.  Neither
-          method is foolproof, so both tools are provided.
-        </paragraph>
-        <paragraph>gendef was written by the MinGW64 team.  It can extract
-          symbols from 32bit or 64bit EXEs or DLLs.  It can automatically detect
-          stdcall, fastcall, and cdecl calling conventions and generate the
-          correctly decorated function names, without requiring the header files
-          or a C pre-processor.
-        </paragraph>
-      </description>
-
-      <licence tarname="gendef-%-mingw32-%-lic.tar.%" />
-      <source tarname="gendef-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="gendef-1.0.1346-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gendef-1.0.1346-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gendef-1.0.1346-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gettext.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gettext.xml	(revision 1046)
+++ 	(revision )
@@ -1,282 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2015090600">
-
-  <!-- File: mingw32-gettext.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-gettext" alias="gettext">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU Internationalization Library and Utilities" >
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages.  In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings.
-        </paragraph>
-        <paragraph>The gettext package provides utilities that may
-          be useful to end-users, allowing interaction with the message
-          translation database of other i18n-enabled GNU utilities.  It
-          also provides the development libraries, header files, and
-          documentation for the gettext system, as well as additional
-          utilities useful for maintainers of i18n-enabled applications.
-          The *-ext package provides extra documentation, in the form of
-          example implementations in many different computer languages.
-          The associated libgettextpo package provides the runtime
-          libraries needed by the gettext utilities; the associated
-          libasprintf package provides the runtime library for the
-          asprintf utility library; and finally, the associated libintl
-          package provides the runtime component of the internationalization
-          library itself.
-        </paragraph>
-      </description>
-
-      <licence tarname="gettext-%-mingw32-%-lic.tar.%" />
-      <source tarname="gettext-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="gettext-0.18.3.2-2-mingw32-bin.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-bin.tar.xz">
-          <download tarname="gettext-0.18.3.2-1-1-mingw32-bin.tar.xz" />
-        </release>
-        <release tarname="gettext-0.18.3.1-1-mingw32-bin.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-2-mingw32-bin.tar.lzma" />
-        <release tarname="gettext-0.17-1-mingw32-bin.tar.lzma" />
-        <requires eq="mingw32-libintl-%-mingw32-%-dll-8.tar" />
-        <requires ge="mingw32-libiconv-1.14-2-mingw32-*-dll-2.tar" />
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-      </component>
-
-      <component class="dll">
-        <!-- FIXME: to be removed, sooner rather than later; this
-          degenerate package should never have been created in the
-          first place!
-         -->
-        <description lang="en">
-          <paragraph>Please DO NOT install this component package!
-            It is malformed, and WILL introduce package conflicts; it will
-            be discontinued, when the likelihood of encountering residual
-            bogus inter-package dependencies ceases to be a concern.
-          </paragraph>
-        </description>
-        <release tarname="gettext-0.18.3.2-2-mingw32-dll.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gettext-0.18.3.2-1-mingw32-dll.tar.xz">
-          <download tarname="none" />
-        </release>
-        <release tarname="gettext-0.18.3.1-1-mingw32-dll.tar.lzma" />
-        <requires eq="mingw32-libintl-%-mingw32-dll-8.tar" />
-        <requires eq="mingw32-libgettextpo-%-mingw32-dll-0.tar" />
-        <requires eq="mingw32-libasprintf-%-mingw32-dll-0.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gettext-0.18.3.2-2-mingw32-doc.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-doc.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="gettext-0.17-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gettext-0.18.3.2-2-mingw32-lic.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-lic.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-2-mingw32-lic.tar.lzma" />
-        <release tarname="gettext-0.17-1-mingw32-lic.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="gettext-0.18.3.2-2-mingw32-info.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-info.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-info.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="gettext-0.18.3.2-2-mingw32-man.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-man.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="html">
-        <release tarname="gettext-0.18.3.2-2-mingw32-html.tar.xz" >
-          <requires eq="gettext-%-mingw32-%-doc.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="gettext-0.18.3.2-1-mingw32-html.tar.xz" >
-          <requires eq="gettext-%-mingw32-%-doc.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="gettext-0.18.3.1-1-mingw32-html.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="gettext-0.18.3.2-2-mingw32-dev.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-dev.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-dev.tar.lzma" >
-          <requires eq="gettext-0.18.3.1-1-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="gettext-0.18.1.1-2-mingw32-dev.tar.lzma" />
-        <release tarname="gettext-0.17-1-mingw32-dev.tar.lzma" />
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-        <requires eq="mingw32-libstdc++-*-mingw32-*-dll-6.tar" />
-        <requires eq="mingw32-libgomp-*-mingw32-*-dll-1.tar" />
-        <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-        <requires ge="mingw32-libiconv-1.14-2-mingw32-*-dll-2.tar" />
-        <requires eq="mingw32-libgettextpo-%-mingw32-%-dll-0.tar" />
-        <requires eq="mingw32-libintl-%-mingw32-%-dll-8.tar" />
-      </component>
-
-      <component class="ext">
-        <release tarname="gettext-0.18.3.2-2-mingw32-ext.tar.xz" />
-        <release tarname="gettext-0.18.3.2-1-mingw32-ext.tar.xz" />
-        <release tarname="gettext-0.18.3.1-1-mingw32-ext.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-2-mingw32-ext.tar.lzma" />
-        <release tarname="gettext-0.17-1-mingw32-ext.tar.lzma" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-libintl" alias="libintl">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU Internationalization Runtime Library" >
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages.  In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings.  libintl is the primary runtime component of
-          that framework.
-        </paragraph>
-        <paragraph>The libintl package provides the runtime component
-          of the GNU internationalization library.  The gettext package
-          provides utilities that may be useful to end-users, allowing
-          interaction with the message translation database of other
-          i18n-enabled GNU utilities.  It also provides the development
-          libraries, header files, and documentation for the gettext
-          system, as well as additional utilities useful for maintainers
-          of i18n-enabled applications.  The *-ext package provides extra
-          documentation, in the form of example implementations in many
-          different computer languages.  The associated libgettextpo package
-          provides the runtime libraries needed by the gettext utilities;
-          the associated libasprintf package provides the runtime library
-          for the asprintf utility library.
-        </paragraph>
-      </description>
-
-      <licence tarname="gettext-%-mingw32-%-lic.tar.%" />
-      <source tarname="gettext-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-        <requires ge="mingw32-libiconv-1.14-2-mingw32-*-dll-2.tar" />
-        <release tarname="libintl-0.17-1-mingw32-dll-8.tar.lzma" />
-        <release tarname="libintl-0.18.1.1-2-mingw32-dll-8.tar.lzma" />
-        <release tarname="libintl-0.18.3.1-1-mingw32-dll-8.tar" >
-          <download tarname="gettext-0.18.3.1-1-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libintl-0.18.3.2-2-mingw32-dll-8.tar.xz" />
-        <release tarname="libintl-0.18.3.2-1-mingw32-dll-8.tar.xz" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-libgettextpo" alias="libgettextpo">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU Internationalization Utility Library" >
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages.  In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings.  libgettextpo provides runtime support for the
-          gettext utilities; it is typically not needed by `regular' i18n
-          clients of libintl.
-        </paragraph>
-        <paragraph>The libgettextpo package provides the runtime
-          libraries needed by the gettext utilities.  The associated
-          gettext package provides utilities that may be useful to
-          end-users, allowing interaction with the message translation
-          database of other i18n-enabled GNU utilities.  It also provides
-          the development libraries, header files, and documentation for
-          the gettext system, as well as additional utilities useful for
-          maintainers of i18n-enabled applications.  The *-ext package
-          provides extra documentation, in the form of example
-          implementations in many different computer languages.
-          The associated libasprintf package provides the runtime
-          library for the asprintf utility library; and finally, the
-          associated libintl package provides the runtime component
-          of the internationalization library itself.
-        </paragraph>
-      </description>
-
-      <licence tarname="gettext-%-mingw32-%-lic.tar.%" />
-      <source tarname="gettext-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-        <requires ge="mingw32-libiconv-1.14-2-mingw32-*-dll-2.tar" />
-        <requires eq="mingw32-libintl-%-mingw32-%-dll-8.tar" />
-        <release tarname="libgettextpo-0.17-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libgettextpo-0.18.1.1-2-mingw32-dll-0.tar.lzma" />
-        <release tarname="libgettextpo-0.18.3.1-1-mingw32-dll-0.tar" >
-          <download tarname="gettext-0.18.3.1-1-mingw32-dll.tar.lzma"/>
-        </release>
-        <release tarname="libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz" />
-        <release tarname="libgettextpo-0.18.3.2-1-mingw32-dll-0.tar.xz" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-    <package name="mingw32-libasprintf" alias="libasprintf">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU Internationalization Utility Library" >
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages.  In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings.  libasprintf provides an implementation of
-          the C formatted output routines suitable for use in C++
-          applications, where i18n is a goal.
-        </paragraph>
-        <paragraph>The libasprintf package provides the runtime
-          library for the asprintf utility library.  The associated
-          gettext package provides utilities that may be useful to
-          end-users, allowing interaction with the message translation
-          database of other i18n-enabled GNU utilities.  It also provides
-          the development libraries, header files, and documentation for
-          the gettext system, as well as additional utilities useful for
-          maintainers of i18n-enabled applications.  The *-ext package
-          provides extra documentation, in the form of example
-          implementations in many different computer languages.  The
-          associated libgettextpo package provides the runtime
-          libraries needed by the gettext utilities, while the
-          associated libintl package provides the runtime component
-          of the internationalization library itself.
-        </paragraph>
-      </description>
-
-      <licence tarname="gettext-%-mingw32-%-lic.tar.%" />
-      <source tarname="gettext-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="mingw32-libstdc++-*-mingw32-*-dll-6.tar" />
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-        <release tarname="libasprintf-0.17-1-mingw32-dll-0.tar.lzma" />
-        <release tarname="libasprintf-0.18.1.1-2-mingw32-dll-0.tar.lzma" />
-        <release tarname="libasprintf-0.18.3.1-1-mingw32-dll-0.tar" >
-          <download tarname="none"/>
-        </release>
-        <release tarname="libasprintf-0.18.3.2-2-mingw32-dll-0.tar.xz" />
-        <release tarname="libasprintf-0.18.3.2-1-mingw32-dll-0.tar.xz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-gmp.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-gmp.xml	(revision 1046)
+++ 	(revision )
@@ -1,135 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013090900">
-
-  <!-- File: mingw32-gmp.xml ~~ mingw-get package description for gmp -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for the gmp library, which -->
-    <!-- is a runtime prerequisite for modern versions of GCC.        -->
-
-    <package name="mingw32-gmp" alias="gmp">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="The GNU Multiple Precision Arithmetic Library" >
-        <paragraph>
-          GNU MP is a library for arbitrary precision arithmetic, operating on
-          signed integers, rational numbers, and floating point numbers.  It
-          has a rich set of functions, and the functions have a regular
-          interface.
-        </paragraph>
-        <paragraph>
-          The MinGW/MSYS project provides two gmp packages: the native win32
-          mingw32-gmp and an MSYS version, msys-gmp.  mingw32-gmp is provided
-          as a necessary component of modern MinGW gcc compilers, while the
-          msys-gmp version requires the MSYS dll, and is provided as a
-          prerequisite of certain other MSYS tools, such as guile.
-        </paragraph>
-        <paragraph>
-          The mingw32-gmp package provides the documentation for the gmp
-          library, as well as the related development files.  The associated
-          mingw32-libgmp package provides the C runtime library, while the
-          associated mingw32-libgmpxx package provides the C++ runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="gmp-%-mingw32-src.tar.lzma" />
-      <licence tarname="gmp-%-mingw32-lic.tar.lzma" />
-
-      <component class="dev">
-	<release tarname="gmp-5.1.2-1-mingw32-dev.tar.lzma" >
-	  <requires eq="mingw32-libgmpxx-%-mingw32-dll-4.tar" />
-	</release>
-        <release tarname="gmp-5.0.1-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libgmp-%-mingw32-dll-10.tar" />
-          <requires eq="mingw32-libgmpxx-%-mingw32-dll-4.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gmp-5.1.2-1-mingw32-doc.tar.lzma" />
-        <release tarname="gmp-5.0.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gmp-5.1.2-1-mingw32-lic.tar.lzma" />
-        <release tarname="gmp-5.0.1-1-mingw32-lic.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="gmp-5.1.2-1-mingw32-info.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgmp" alias="libgmp">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="The GNU Multiple Precision Arithmetic Library" >
-        <paragraph>
-          GNU MP is a library for arbitrary precision arithmetic, operating on
-          signed integers, rational numbers, and floating point numbers.  It
-          has a rich set of functions, and the functions have a regular
-          interface.
-        </paragraph>
-        <paragraph>
-          The MinGW/MSYS project provides two libgmp packages: the native win32
-          mingw32-libgmp and an MSYS version, msys-libgmp.  mingw32-libgmp is
-          provided as a necessary component of modern MinGW gcc compilers,
-          while the msys-libgmp version requires the MSYS dll, and is provided
-          as a prerequisite of certain other MSYS tools, such as guile.
-        </paragraph>
-        <paragraph>
-          The mingw32-libgmp package provides the C runtime library.  The
-          associated mingw32-gmp package provides the documentation for the gmp
-          library, as well as the related development files.  The associated
-          mingw32-libgmpxx package provides the C++ runtime library.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="gmp-%-mingw32-src.tar.lzma" />
-      <licence tarname="gmp-%-mingw32-lic.tar.lzma" />
-
-      <component class="dll">
-        <release tarname="libgmp-5.1.2-1-mingw32-dll-10.tar" >
-	  <download tarname="gmp-5.1.2-1-mingw32-dll.tar.lzma" />
-	</release>
-        <release tarname="libgmp-5.0.1-1-mingw32-dll-10.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libgmpxx" alias="libgmpxx">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="The GNU Multiple Precision Arithmetic Library" >
-        <paragraph>
-          GNU MP is a library for arbitrary precision arithmetic, operating on
-          signed integers, rational numbers, and floating point numbers.  It
-          has a rich set of functions, and the functions have a regular
-          interface.
-        </paragraph>
-        <paragraph>
-          The mingw32-libgmpxx package provides the C++ runtime library.  The
-          associated mingw32-gmp package provides the documentation for the gmp
-          library, as well as the related development files.  The associated
-          mingw32-libgmp package provides the C runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="gmp-%-mingw32-src.tar.lzma" />
-      <licence tarname="gmp-%-mingw32-lic.tar.lzma" />
-
-      <component class="dll">
-        <release tarname="libgmpxx-5.1.2-1-mingw32-dll-4.tar.lzma" >
-	  <download tarname="none" />
-          <requires eq="libgmp-%-mingw32-dll-10.tar" />
-        </release>
-        <release tarname="libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma" >
-          <requires eq="libgmp-%-mingw32-dll-10.tar" />
-          <requires eq="libgcc-*-mingw32-dll-1.tar" />
-        </release>
-      </component>
-    </package>
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-libarchive.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-libarchive.xml	(revision 1046)
+++ 	(revision )
@@ -1,167 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-libarchive.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-libarchive" alias="libarchive" >
-      <description lang="en" title="library for handling various archive formats" >
-        <paragraph>libarchive is a programming library that can create and read
-          several different streaming archive formats, including most popular
-          tar variants and several cpio formats, and ar archives. It can also
-          read shar, zip, jar, and xar archives, as well as ISO9660 CDROM
-          images.  It automatically handles gzip, bzip2, compress, xz, and lzma
-          compression and decompression, as well as uudecode decompression. The
-          bsdtar program is an implementation of tar(1) that is built on top of
-          libarchive.
-        </paragraph>
-        <paragraph>This MinGW port of libarchive differs from the MSYS version
-          also provided by the MinGW/MSYS project.  This version does not
-          require the MSYS runtime library, but does not support MSYS "unix"
-          style pathnames nor mtree data.  It does not support archives that
-          contain symbolic links. Both mingw32-libarchive and msys-libarchive
-          (and their associated bsdtar and bsdcpio subpackages) depend on
-          additional DLLs such as mingw32-liblzma (msys-liblzma), etc.  There
-          is, in addition, a MinGW package that provides a standalone version of
-          bsdtar which has no external dependencies and only limited
-          functionality: mingw32-basic-bsdtar (see its documentation for more
-          information).
-        </paragraph>
-        <paragraph>The mingw32-libarchive package provides the runtime library,
-          development files, and documentation for libarchive.  The associated
-          mingw32-bsdtar package provides an implementation of tar(1) based on
-          libarchive, while the associated mingw32-bsdcpio package provides a
-          similar implementation of cpio(1).
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-mingw32-%-lic.tar.%" />
-      <source tarname="libarchive-%-mingw32-%-src.tar.%" />
-
-      <component class="doc">
-        <release tarname="libarchive-2.8.3-1-mingw32-doc.tar.bz2" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libarchive-2.8.3-1-mingw32-lic.tar.bz2" />
-      </component>
-
-      <component class="dev">
-        <requires eq="mingw32-bzip2-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-libexpat-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-liblzma-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-libz-*-mingw32-*-dev.tar" />
-        <release tarname="libarchive-2.8.3-1-mingw32-dev.tar.bz2" >
-          <requires eq="mingw32-libarchive-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="libarchive-2.8.3-1-mingw32-dll-2.tar.bz2" >
-          <requires eq="mingw32-libbz2-*-mingw32-*-dll-2.tar" />
-          <requires eq="mingw32-libexpat-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-liblzma-*-mingw32-*-dll-1.tar" />
-          <requires eq="mingw32-libz-*-mingw32-*-dll.tar" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-bsdtar" alias="bsdtar" >
-      <description lang="en" title="BSD version of the tar utility" >
-        <paragraph>The mingw32-bsdtar package provides an implementation
-          of tar(1) based on libarchive, which manipulates streaming archive
-          files -- including the eponymous tar format.  However, bsdtar
-          can also extract from tar, pax, cpio, zip, jar, ar, xar, and ISO 9660
-          cdrom images, as well as create tar, pax, cpio, ar, and shar archives.
-          It supports automatic detection and handling of .gz, .bz2, .lzma, .xz,
-          and .Z decompression (and compression).  It supports ustar, pax, and
-          GNU tar formats.
-        </paragraph>
-        <paragraph>This MinGW port of bsdtar differs from the MSYS version also
-          provided by the MinGW/MSYS project.  This version does not require the
-          MSYS runtime library, but does not support MSYS "unix" style pathnames
-          nor mtree data.  It does not support archives that contain symbolic
-          links.  Both mingw32-bsdtar and msys-bsdtar depend on additional DLLs
-          such as mingw32-libarchive (msys-libarchive), etc.  There is, in
-          addition, a MinGW package that provides a standalone version of bsdtar
-          which has no external dependencies and only limited functionality:
-          mingw32-basic-bsdtar (see its documentation for more information).
-        </paragraph>
-        <paragraph>libarchive is a programming library that can create and read
-          several different streaming archive formats, including most popular
-          tar variants and several cpio formats, and ar archives.  It can also
-          read shar, zip, jar, and xar archives, as well as ISO9660 CDROM
-          images.  It automatically handles gzip, bzip2, compress, xz, and lzma
-          compression and decompression, as well as uudecode decompression.  The
-          bsdtar program is an implementation of tar(1) that is built on top of
-          libarchive.
-        </paragraph>
-        <paragraph>The mingw32-bsdtar package provides an implementation of
-          tar(1) based on libarchive, while the associated mingw32-bsdcpio
-          package provides a similar implementation of cpio(1).  The associated
-          mingw32-libarchive package provides the runtime library, development
-          files, and documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-mingw32-%-lic.tar.%" />
-      <source tarname="libarchive-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="bsdtar-2.8.3-1-mingw32-bin.tar.bz2" >
-          <requires eq="mingw32-libarchive-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-bsdcpio" alias="bsdcpio" >
-      <description lang="en" title="BSD version of the cpio utility" >
-        <paragraph>The mingw32-bsdcpio package provides an implementation of
-          cpio(1) based on libarchive, which copies files between archives and
-          directories.  This implementation can extract from tar, pax, cpio,
-          zip, jar, ar, xar, and ISO 9660 cdrom images, as well as create tar,
-          pax, cpio, ar, and shar archives.  It supports automatic detection and
-          handling of .gz, .bz2, .lzma, .xz, and .Z decompression (and
-          compression).  It supports the old POSIX.1 portable cpio format (odc),
-          the new SVR4 portable cpio format (newc), as well as the POSIX.1 pax
-          and ustar formats.
-        </paragraph>
-        <paragraph>This MinGW port of bsdcpio differs from the MSYS version also
-          provided by the MinGW/MSYS project.  This version does not require the
-          MSYS runtime library, but does not support MSYS "unix" style pathnames
-          nor mtree data.  It does not support archives that contain symbolic
-          links.  Both mingw32-bsdcpio and msys-bsdcpio depend on additional
-          DLLs such as mingw32-libarchive (msys-libarchive), etc.
-        </paragraph>
-        <paragraph>libarchive is a programming library that can create and read
-          several different streaming archive formats, including most popular
-          tar variants and several cpio formats, and ar archives.  It can also
-          read shar, zip, jar, and xar archives, as well as ISO9660 CDROM
-          images.  It automatically handles gzip, bzip2, compress, xz, and lzma
-          compression and decompression, as well as uudecode decompression.  The
-          bsdtar program is an implementation of tar(1) that is built on top of
-          libarchive.
-        </paragraph>
-        <paragraph>The mingw32-bsdcpio package provides an implementation of
-          cpio(1) based on libarchive, while the associated mingw32-bsdtar
-          package provides a similar implementation of tar(1).  The associated
-          mingw32-libarchive package provides the runtime library, development
-          files, and documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-mingw32-%-lic.tar.%" />
-      <source tarname="libarchive-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="bsdcpio-2.8.3-1-mingw32-bin.tar.bz2" >
-          <requires eq="mingw32-libarchive-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-libiconv.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-libiconv.xml	(revision 1046)
+++ 	(revision )
@@ -1,107 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2014042900">
-
-  <!-- File: mingw32-libiconv.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <package name="mingw32-libiconv" alias="libiconv">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU libraries and utilities for character set conversion" >
-        <paragraph>GNU libiconv provides an implementation of the iconv()
-          function which is used to convert between various character
-          representations for different locales.  This function is provided
-          for use on systems which don't already have iconv(), or whose
-          implementation cannot convert from/to Unicode.  This package also
-          provides a tool, iconv(1), which can be used to convert character
-          sets from the command line. The associated libcharset provides a
-          mechanism to determine the canonical character set name of the
-          current locale.
-        </paragraph>
-      </description>
-
-      <licence tarname="libiconv-%-mingw32-%-lic.tar.%" />
-      <source tarname="libiconv-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="libiconv-1.14-3-mingw32-bin.tar.lzma" />
-        <release tarname="libiconv-1.14-2-mingw32-bin.tar.lzma" />
-        <release tarname="libiconv-1.13.1-1-mingw32-bin.tar.lzma" />
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        <requires ge="mingw32-libintl-0.18.1.1-2-mingw32-*-dll-8.tar" />
-        <requires eq="mingw32-libiconv-%-mingw32-%-dll-2.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="libiconv-1.14-3-mingw32-doc.tar.lzma" />
-        <release tarname="libiconv-1.14-2-mingw32-doc.tar.lzma" />
-        <release tarname="libiconv-1.13.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libiconv-1.14-3-mingw32-lic.tar.lzma" />
-        <release tarname="libiconv-1.14-2-mingw32-lic.tar.lzma" />
-        <release tarname="libiconv-1.13.1-1-mingw32-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libiconv-1.14-3-mingw32-dev.tar.lzma" />
-        <release tarname="libiconv-1.14-2-mingw32-dev.tar.lzma" />
-        <release tarname="libiconv-1.13.1-1-mingw32-dev.tar.lzma" />
-        <requires eq="mingw32-libiconv-%-mingw32-%-dll-2.tar" />
-      </component>
-
-      <component class="dll">
-        <release tarname="libiconv-1.14-3-mingw32-dll-2.tar" >
-          <download tarname="libiconv-1.14-3-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libiconv-1.14-2-mingw32-dll-2.tar.lzma" />
-        <release tarname="libiconv-1.13.1-1-mingw32-dll-2.tar.lzma" />
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-      </component>
-
-      <component class="html">
-        <release tarname="libiconv-1.14-3-mingw32-html.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="libiconv-1.14-3-mingw32-man.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="libiconv-1.14-3-mingw32-lang.tar.lzma" />
-      </component>
-
-    </package>
-
-    <package name="mingw32-libcharset" alias="libcharset">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="GNU libraries and utilities for character set conversion" >
-        <paragraph>GNU libiconv provides an implementation of the iconv()
-          function which is used to convert between various character
-          representations for different locales.  This function is provided
-          for use on systems which don't already have iconv(), or whose
-          implementation cannot convert from/to Unicode. This package also
-          provides a tool, iconv(1), which can be used to convert character
-          sets from the command line.  The associated libcharset provides a
-          mechanism to determine the canonical character set name of the
-          current locale.
-        </paragraph>
-      </description>
-
-      <licence tarname="libiconv-%-mingw32-%-lic.tar.%" />
-      <source tarname="libiconv-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        <release tarname="libcharset-1.13.1-1-mingw32-dll-1.tar.lzma" />
-        <release tarname="libcharset-1.14-2-mingw32-dll-1.tar.lzma" />
-        <release tarname="libcharset-1.14-3-mingw32-dll-1.tar" >
-          <download tarname="libiconv-1.14-3-mingw32-dll.tar.lzma" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-libtool.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-libtool.xml	(revision 1046)
+++ 	(revision )
@@ -1,91 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-libtool.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-libtool" alias="libtool">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="A shared library generation tool" >
-        <paragraph>GNU libtool is a generic library support package.
-          Libtool hides the complexity of using shared libraries behind
-          a consistent, portable interface.  Libtool requires the use of
-          Autoconf.
-        </paragraph>
-        <paragraph>libtool provides the development files and utilities
-          for managing the creation and use of shared libraries in a
-          platform independent manner.  The associated libltdl package
-          provides the runtime library and development files for using a
-          pre-built version of libtool's dlopen replacement library.
-        </paragraph>
-      </description>
-
-      <licence tarname="libtool-%-mingw32-%-lic.tar.%" />
-      <source tarname="libtool-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake-*-mingw32-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-file-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <!-- libtool doesn't actually depend on its own runtime library -->
-        <release tarname="libtool-2.2.11a-1-mingw32-bin.tar.lzma" />
-        <release tarname="libtool-2.4-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="libtool-2.2.11a-1-mingw32-doc.tar.lzma" />
-        <release tarname="libtool-2.4-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libtool-2.2.11a-1-mingw32-lic.tar.lzma" />
-        <release tarname="libtool-2.4-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libltdl" alias="libltdl">
-      <affiliate group="MinGW Autotools" />
-      <description lang="en" title="A portable dlopen replacement" >
-        <paragraph>GNU libtool is a generic library support script.
-          Libtool hides the complexity of using shared libraries behind
-          a consistent, portable interface.  Libtool requires the use of
-          Autoconf.
-        </paragraph>
-        <paragraph>libltdl provides the runtime library and development
-          files for using a pre-built version of libtool's dlopen
-          replacement library.  The associated libtool package provides
-          the development files and utilities for managing the creation
-          and use of shared libraries in a platform independent manner.
-        </paragraph>
-      </description>
-
-      <licence tarname="libtool-%-mingw32-%-lic.tar.%" />
-      <source tarname="libtool-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libltdl-2.2.11a-1-mingw32-dll-7.tar.lzma" />
-        <release tarname="libltdl-2.4-1-mingw32-dll-7.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <requires eq="mingw32-libtool-%-mingw32-%-bin.tar" />
-        <release tarname="libltdl-2.2.11a-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libltdl-%-mingw32-%-dll-7.tar" />
-        </release>
-        <release tarname="libltdl-2.4-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libltdl-%-mingw32-%-dll-7.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-libunistring.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-libunistring.xml	(revision 1046)
+++ 	(revision )
@@ -1,62 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2016010400">
-
-  <!-- File: mingw32-libunistring.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-libunistring" alias="libunistring">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="libunistring: Library for manipulating Unicode strings">
-        <paragraph> Text files are nowadays usually encoded in Unicode, and may
-          consist of very different scripts - from Latin letters to Chinese
-          Hanzi -, with many kinds of special characters - accents,
-          right-to-left writing marks, hyphens, Roman numbers, and much more.
-          But the POSIX platform APIs for text do not contain adequate functions
-          for dealing with particular properties of many Unicode characters. In
-          fact, the POSIX APIs for text have several assumptions at their base
-          which don't hold for Unicode text. This library provides functions for
-          manipulating Unicode strings and for manipulating C strings according
-          to the Unicode standard.
-        </paragraph>
-      </description>
-
-      <licence tarname="libunistring-%-mingw32-%-lic.tar.%" />
-      <source tarname="libunistring-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libunistring-0.9.6-1-mingw32-dll-2.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-        </release>
-        <release tarname="libunistring-0.9.3-1-mingw32-dll-0.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="libunistring-0.9.6-1-mingw32-doc.tar.lzma" />
-        <release tarname="libunistring-0.9.3-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libunistring-0.9.6-1-mingw32-lic.tar.lzma" />
-        <release tarname="libunistring-0.9.3-1-mingw32-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libunistring-0.9.6-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libunistring-%-mingw32-%-dll-2.tar" />
-        </release>
-        <release tarname="libunistring-0.9.3-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libunistring-%-mingw32-%-dll-0.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-lua.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-lua.xml	(revision 1046)
+++ 	(revision )
@@ -1,68 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2012021600">
-
-  <!-- File: mingw32-lua.xml ~~ Lua Embedded Scripting Language Interface -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-lua" alias="lua">
-      <affiliate group="MinGW Supplementary Libraries" />
-
-      <description lang="en" title="Lua Embedded Scripting Language Interface">
-        <paragraph>
-          Lua is a powerful, light-weight programming language designed
-          for extending applications.  Lua is also frequently used as a
-          general-purpose, stand-alone language.  Lua is free software.
-        </paragraph>
-        <paragraph>
-          For complete information, visit Lua's web site at http://www.lua.org/
-          For an executive summary, see http://www.lua.org/about.html
-        </paragraph>
-        <paragraph>
-          Lua has been used in many different projects around the world.
-          For a short list, see http://www.lua.org/uses.html
-        </paragraph>
-      </description>
-
-      <source tarname="lua-%-mingw32-%-src.tar.%" />
-      <licence tarname="lua-%-mingw32-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="lua-5.2.0-1-mingw32-bin.tar.xz">
-          <requires eq="lua-%-mingw32-dll-52.tar" />
-        </release>
-        <release tarname="lua-5.1.4-4-mingw32-bin.tar.xz">
-          <requires eq="lua-%-mingw32-dll-51.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="lua-5.2.0-1-mingw32-dll-52.tar.xz" />
-        <release tarname="lua-5.1.4-4-mingw32-dll-51.tar.xz" />
-      </component>
-
-      <component class="dev">
-        <release tarname="lua-5.2.0-1-mingw32-dev.tar.xz" />
-        <release tarname="lua-5.1.4-4-mingw32-dev.tar.xz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="lua-5.2.0-1-mingw32-lic.tar.xz" />
-        <release tarname="lua-5.1.4-4-mingw32-lic.tar.xz" />
-      </component>
-
-      <component class="man">
-        <release tarname="lua-5.2.0-1-mingw32-man.tar.xz" />
-        <release tarname="lua-5.1.4-4-mingw32-man.tar.xz" />
-      </component>
-
-      <component class="doc">
-        <release tarname="lua-5.2.0-1-mingw32-doc.tar.xz" />
-        <release tarname="lua-5.1.4-4-mingw32-doc.tar.xz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=82 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-make.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-make.xml	(revision 1046)
+++ 	(revision )
@@ -1,66 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012090201">
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <!-- NOTE: no alias declared here, because msys-make is considered
-    the "preferred" make -->
-    <package name="mingw32-make">
-      <description lang="en" title="GNU make utility to maintain groups of programs" >
-        <paragraph>The `make' utility automatically determines which pieces
-          of a large program need to be recompiled, and issues commands to
-          recompile them. GNU `make' was implemented by Richard Stallman
-          and Roland McGrath.  Development since Version 3.76 has been
-          handled by Paul D. Smith.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides two versions of make:
-          the msys-make version acts generally more as make is intended
-          to operate, and gives fewer headaches during execution. However,
-          msys-make requires the MSYS dll.  This version, mingw32-make,
-          does not require the MSYS dll, but because of the lack of POSIX
-          support in "pure" Win32 has a number of known shortcomings in
-          comparison.
-        </paragraph>
-      </description>
-
-      <source tarname="make-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="make-3.82.90-1-mingw32-cvs-20120823-bin.tar.lzma" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="make-3.82-5-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-        <release tarname="make-3.82-4-mingw32-bin.tar.lzma" />
-        <release tarname="make-3.81.90-20100618-1-mingw32-bin.tar.lzma" />
-        <release tarname="make-3.81-20090914-mingw32-bin.tar.gz" />
-      </component>
-
-      <component class="doc">
-        <release tarname="make-3.82.90-2-mingw32-cvs-20120902-doc.tar.lzma" />
-        <release tarname="make-3.82.90-1-mingw32-cvs-20120823-doc.tar.lzma" />
-        <release tarname="make-3.82-5-mingw32-doc.tar.lzma" />
-        <release tarname="make-3.82-4-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="make-3.82.90-2-mingw32-cvs-20120902-lic.tar.lzma" />
-        <release tarname="make-3.82.90-1-mingw32-cvs-20120823-lic.tar.lzma" />
-        <release tarname="make-3.82-5-mingw32-doc.tar.lzma" />
-        <release tarname="make-3.82-4-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="make-3.82.90-2-mingw32-cvs-20120902-lang.tar.lzma" />
-        <release tarname="make-3.82.90-1-mingw32-cvs-20120823-lang.tar.lzma" />
-        <release tarname="make-3.82-5-mingw32-lang.tar.lzma" />
-        <release tarname="make-3.82-4-mingw32-lang.tar.lzma" />
-      </component>
-    </package>
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab tw=80 ts=2 sw=2 ff=unix: -->
-
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-mgwport.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-mgwport.xml	(revision 1046)
+++ 	(revision )
@@ -1,77 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-mgwport.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-mgwport" alias="mgwport">
-      <description lang="en" title="MinGW/MSYS source packaging tool" >
-        <paragraph>This is mgwport, a revolutionary new method for building and
-        maintaining packages for MinGW and MSYS. It is based on the cygport
-        tool, which is near-universally used to maintain components of the
-        cygwin distribution.
-        </paragraph>
-      </description>
-
-      <licence tarname="mgwport-%-mingw32-%-lic.tar.%" />
-      <source tarname="mgwport-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffstat-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-file-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-lndir-*-msys-*-bin.tar" />
-        <requires eq="msys-make-*-msys-*-bin.tar" />
-        <requires eq="msys-patch-*-msys-*-bin.tar" />
-        <requires eq="msys-rsync-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-tar-*-msys-*-bin.tar" />
-        <requires eq="msys-unzip-*-msys-*-bin.tar" />
-        <requires eq="msys-wget-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-        <requires eq="mingw32-binutils-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.1-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-autoconf2.5-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.4-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.5-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.6-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.7-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.8-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.9-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.10-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-automake1.11-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-libtool-*-mingw32-*-bin.tar" />
-        <!-- These are only required when using mgwport to build msys packages
-        <requires eq="msys-binutils-*-msys-*-bin.tar" />
-        <requires eq="msys-autoconf-*-msys-*-bin.tar" />
-        <requires eq="msys-automake-*-msys-*-bin.tar" />
-        <requires eq="msys-libtool-*-msys-*-bin.tar" />
-        -->
-        <release tarname="mgwport-0.10.5-1-mingw32-bin.tar.lzma" />
-        <release tarname="mgwport-0.10.6-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="mgwport-0.10.5-1-mingw32-doc.tar.lzma" />
-        <release tarname="mgwport-0.10.6-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mgwport-0.10.5-1-mingw32-lic.tar.lzma" />
-        <release tarname="mgwport-0.10.6-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-mingw-get.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-mingw-get.xml	(revision 1046)
+++ 	(revision )
@@ -1,134 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013100400">
-
-  <!-- File: mingw32-mingw-get.xml ~~ mingw-get self-upgrade manifest -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-mingw-get" alias="mingw-get">
-      <affiliate group="MinGW Base System" />
-
-      <description lang="en" title="MinGW Package Download and Installation Tool">
-        <paragraph>mingw-get is a tool to assist users in the management of MinGW
-          and MSYS software installations.  Configured via an online XML database,
-          which is managed by the project maintainers, it offers a choice of
-          command line and graphical user interfaces, facilitating selective
-          download and installation of packages provided by the project.
-        </paragraph>
-        <paragraph>The XML database provides maintainers with a mechanism for the
-          specification of inter-package dependencies; this permits configuration
-          of any package, such that the end user may elect to install just that
-          specific package, leaving mingw-get to ensure that all dependencies will
-          be automatically satisfied at installation time.
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <description lang="en">
-          <paragraph>This package provides the binary components which are
-            required to run mingw-get as a command line tool, together with
-            components which are common to both command line and graphical user
-            interfaces.  If you prefer a graphical user interface, you should
-            install mingw32-mingw-get-gui in addition to this package.
-          </paragraph>
-        </description>
-
-        <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz" />
-        <release tarname="mingw-get-0.6.1-mingw32-beta-20130910-1-bin.tar.xz" />
-        <release tarname="mingw-get-0.6.0-mingw32-beta-20130904-1-bin.tar.xz" />
-        <release tarname="mingw-get-0.5-mingw32-beta-20120426-1-bin.tar.xz" />
-        <release tarname="mingw-get-0.4-mingw32-alpha-1-bin.tar.xz" />
-
-        <action class="post-install">
-          setup = require "setup"
-          print( " running post-install hooks for mingw-get-bin" )
-          setup.create_shortcuts(
-            '--description="MinGW Installation Manager"',
-            setup.libexec_path( "guistub.exe" ), "mingw-get"
-          )
-        </action>
-        <action class="pre-remove">
-          setup = require "setup"
-          print( " running pre-remove hooks for mingw-get-bin" )
-          setup.delete_shortcuts(
-            "--if-linked="..setup.libexec_path( "gui.exe" ),
-            "--force", "mingw-get"
-          )
-          setup.delete_shortcuts(
-            "--if-linked="..setup.libexec_path( "guistub.exe" ),
-            "--force", "mingw-get"
-          )
-        </action>
-      </component>
-
-      <component class="gui">
-        <description lang="en">
-          <paragraph>This package augments mingw32-mingw-get-bin, providing a
-            graphical user interface to mingw-get.
-          </paragraph>
-        </description>
-
-        <requires eq="mingw-get-%-mingw32-%-bin.tar" />
-
-        <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-gui.tar.xz" />
-        <release tarname="mingw-get-0.6.1-mingw32-beta-20130910-1-gui.tar.xz" />
-        <release tarname="mingw-get-0.6.0-mingw32-beta-20130904-1-gui.tar.xz" />
-
-        <action class="post-install">
-          setup = require "setup"
-          print( " running post-install hooks for mingw-get-bin" )
-          setup.create_shortcuts(
-            '--description="MinGW Installation Manager"',
-            setup.libexec_path( "guimain.exe" ), "mingw-get"
-          )
-        </action>
-        <action class="pre-remove">
-          setup = require "setup"
-          print( " running pre-remove hooks for mingw-get-bin" )
-          setup.delete_shortcuts(
-            "--if-linked="..setup.libexec_path( "guimain.exe" ),
-            "--force", "mingw-get"
-          )
-        </action>
-      </component>
-
-      <component class="lic">
-        <release tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-lic.tar.xz" />
-        <release tarname="mingw-get-0.6.1-mingw32-beta-20130910-1-lic.tar.xz" />
-        <release tarname="mingw-get-0.6.0-mingw32-beta-20130904-1-lic.tar.xz" />
-        <release tarname="mingw-get-0.5-mingw32-beta-20120426-1-lic.tar.xz" />
-        <release tarname="mingw-get-0.4-mingw32-alpha-1-lic.tar.xz" />
-      </component>
-    </package>
-
-    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-
-    <package name="mingw32-pkginfo" alias="pkginfo">
-      <description lang="en" title="MinGW Package Identification Tool">
-        <paragraph>pkginfo is a tool which may be used to parse and analyse
-          the names of packages provided by the MinGW/MSYS Project.  It uses
-          the same lexical analyser as mingw-get, to extract meta-data from
-          any specified package name.
-        </paragraph>
-        <paragraph>It is primarily of interest to members of the MinGW/MSYS
-          Project Team, who may use it to confirm that their chosen package
-          names convey the intended meta-data to mingw-get.
-        </paragraph>
-      </description>
-
-      <licence tarname="mingw-get-%-mingw32-%-lic.tar.%" />
-      <source tarname="mingw-get-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="pkginfo-0.6.2-mingw32-beta-20131004-1-bin.tar.xz" />
-        <release tarname="pkginfo-0.6.1-mingw32-beta-20130910-1-bin.tar.xz" />
-        <release tarname="pkginfo-0.6.0-mingw32-beta-20130904-1-bin.tar.xz" />
-        <release tarname="pkginfo-0.5-mingw32-beta-20120426-1-bin.tar.xz" />
-        <release tarname="pkginfo-0.4-mingw32-alpha-1-bin.tar.xz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=82 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-mingw-utils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-mingw-utils.xml	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-mingw-utils.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-mingw-utils" alias="mingw-utils mingw32-utils">
-      <description lang="en" title="Various useful tools for MinGW" >
-        <paragraph>mingw-utils provides a number of useful utilities for MinGW.
-          These include: `a2dll', a script to generate DLLs from .a archives;
-          `dsw2mak', a script to generate gcc-compatibile GNU Makefiles from
-          MSDevStudio workspace files; `redir.exe', a utility for redirecting
-          stderr within cmd.exe sessions; `reimp.exe', a tool that converts
-          certain MS-format import libraries to GNU format; `res2coff', for
-          converting .res resource files to .o object format (possibly obsoleted
-          by modern versions of windres from mingw32-binutils).  Finally, this
-          package also provides an experimental version of `msys-here.exe', a
-          shell extension that adds a context-menu option to Windows Explorer.
-          To install msys-here, run the `msys-here-config' script.
-        </paragraph>
-        <paragraph>Several utilities were provided in the past by previous
-          incarnations of mingw-utils.  These included pexports, which is now
-          provided by the separate mingw32-pexports package; dos2unix and
-          unix2dos, which are both now provided by the separate
-          mingw32-dos2unix package; and DrMinGW.  DrMinGW is now
-          available and maintained outside the MinGW/MSYS project by its
-          original author: http://code.google.com/p/jrfonseca/wiki/DrMingw
-        </paragraph>
-      </description>
-
-      <licence tarname="mingw-utils-%-mingw32-%-lic.tar.%" />
-      <source tarname="mingw-utils-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- All of the following requirements are needed to satisfy 
-             the msys-here-config, a2dll, and dsw2mak elements of
-             mingw-utils -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="mingw32-binutils-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-pexports-*-mingw32-*-bin.tar" />
-        <release tarname="mingw-utils-0.4-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="mingw-utils-0.4-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mingw-utils-0.4-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-mpc.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-mpc.xml	(revision 1046)
+++ 	(revision )
@@ -1,116 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2015082000">
-
-  <!-- File: mingw32-mpc.xml ~~ mingw-get package description for mpc -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for the mpc library, which -->
-    <!-- is a runtime prerequisite for modern versions of GCC.        -->
-
-    <package name="mingw32-mpc" alias="mpc">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="Arbitrary Precision Math Library for Complex Numbers">
-        <paragraph>
-          MPC is a C library for the arithmetic of complex numbers with
-          arbitrarily high precision and correct rounding of the result. It is
-          built upon and follows the same principles as MPFR.
-        </paragraph>
-        <paragraph>
-          The mingw32-mpc package provides the documentation for the mpc
-          library, as well as the related development files.  The associated
-          mingw32-libmpc package provides the C runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="mpc-%-mingw32-src.tar.%" />
-      <licence tarname="mpc-%-mingw32-lic.tar.%" />
-
-      <component class="dev">
-        <release tarname="mpc-1.0.2-mingw32-dev.tar.xz">
-          <requires eq="mingw32-libmpc-%-mingw32-dll-3.tar" />
-          <requires ge="mpfr-3.1.2-1-mingw32-dev.tar" />
-        </release>
-        <release tarname="mpc-1.0.1-2-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libmpc-%-mingw32-dll-3.tar" />
-          <requires ge="mpfr-3.1.2-1-mingw32-dev.tar" />
-        </release>
-        <release tarname="mpc-1.0.1-1-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libmpc-%-mingw32-dll-2.tar" />
-          <requires ge="mpfr-3.1.2-1-mingw32-dev.tar" />
-        </release>
-        <release tarname="mpc-0.8.1-1-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libmpc-%-mingw32-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="mpc-1.0.2-mingw32-doc.tar.xz" />
-        <release tarname="mpc-1.0.1-2-mingw32-doc.tar.lzma" />
-        <release tarname="mpc-1.0.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="mpc-0.8.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="info">
-        <release tarname="mpc-1.0.2-mingw32-info.tar.xz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mpc-1.0.2-mingw32-lic.tar.xz" />
-        <release tarname="mpc-1.0.1-2-mingw32-lic.tar.lzma" />
-        <release tarname="mpc-1.0.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="mpc-0.8.1-1-mingw32-lic.tar.lzma" />
-      </component>
-
-    </package>
-
-    <package name="mingw32-libmpc" alias="libmpc">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="Arbitrary Precision Math Library for Complex Numbers">
-        <paragraph>
-          MPC is a C library for the arithmetic of complex numbers with
-          arbitrarily high precision and correct rounding of the result. It is
-          built upon and follows the same principles as MPFR. This package
-          provides the runtime library.
-        </paragraph>
-        <paragraph>
-          The mingw32-libmpc package provides the C runtime library.  The
-          associated mingw32-mpc package provides the documentation for the
-          mpc library, as well as the related development files.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="mpc-%-mingw32-src.tar.lzma" />
-      <licence tarname="mpc-%-mingw32-lic.tar.lzma" />
-
-      <component class="dll">
-        <release tarname="libmpc-1.0.2-mingw32-dll-3.tar.xz">
-          <requires eq="mingw32-libmpfr-*-mingw32-dll-4.tar" />
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-        <release tarname="libmpc-1.0.1-2-mingw32-dll-3.tar">
-          <download tarname="mpc-1.0.1-2-mingw32-dll.tar.lzma" />
-          <requires eq="mingw32-libmpfr-*-mingw32-dll-4.tar" />
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-        <release tarname="libmpc-1.0.1-1-mingw32-dll-3.tar">
-          <download tarname="mpc-1.0.1-1-mingw32-dll.tar.lzma" />
-          <requires eq="mingw32-libmpfr-*-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-        <release tarname="libmpc-0.8.1-1-mingw32-dll-2.tar.lzma">
-          <requires eq="mingw32-libmpfr-*-mingw32-dll-1.tar" />
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-
-<!-- vim: set textwidth=80 tabstop=2 shiftwidth=2 expandtab: -->
-<!-- vim: set fileformat=unix nocompatible: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-mpfr.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-mpfr.xml	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013102300">
-
-  <!-- File: mingw32-mpfr.xml ~~ mingw-get package description for mpfr -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for the mpfr library, which -->
-    <!-- is a runtime prerequisite for modern versions of GCC.        -->
-
-    <package name="mingw32-mpfr" alias="mpfr">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="Arbitrary Precision Floating Point Math Library" >
-        <paragraph>
-          The MPFR library is a C library for multiple-precision floating-point
-          computations with correct rounding. The main goal of MPFR is to
-          provide a library for multiple-precision floating-point computation
-          which is both efficient and has a well-defined semantics. It copies
-          the good ideas from the ANSI/IEEE-754 standard for double-precision
-          floating-point arithmetic (53-bit mantissa). MPFR is based on the GMP
-          multiple-precision library.
-        </paragraph>
-        <paragraph>
-          The mingw32-mpfr package provides the documentation for the mpfr
-          library, as well as the related development files.  The associated
-          mingw32-libmpfr package provides the runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="mpfr-%-mingw32-src.tar.lzma" />
-      <licence tarname="mpfr-%-mingw32-lic.tar.lzma" />
-
-      <component class="dev">
-        <release tarname="mpfr-3.1.2-2-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libmpfr-%-mingw32-dll-4.tar" />
-          <requires eq="gmp-5.1.2-1-mingw32-dev.tar.lzma" />
-        </release>
-        <release tarname="mpfr-2.4.1-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libmpfr-%-mingw32-dll-1.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="mpfr-3.1.2-2-mingw32-doc.tar.lzma" />
-        <release tarname="mpfr-2.4.1-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mpfr-3.1.2-2-mingw32-lic.tar.lzma" />
-        <release tarname="mpfr-2.4.1-1-mingw32-lic.tar.lzma" />
-      </component>
-
-    </package>
-
-    <package name="mingw32-libmpfr" alias="libmpfr">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="Arbitrary Precision Floating Point Math Library" >
-        <paragraph>
-          The MPFR library is a C library for multiple-precision floating-point
-          computations with correct rounding. The main goal of MPFR is to
-          provide a library for multiple-precision floating-point computation
-          which is both efficient and has a well-defined semantics. It copies
-          the good ideas from the ANSI/IEEE-754 standard for double-precision
-          floating-point arithmetic (53-bit mantissa). MPFR is based on the GMP
-          multiple-precision library.
-        </paragraph>
-        <paragraph>
-          The mingw32-libmpfr package provides the runtime library.  The
-          associated mingw32-mpfr package provides the documentation for the
-          mpfr library, as well as the related development files.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="mpfr-%-mingw32-src.tar.lzma" />
-      <licence tarname="mpfr-%-mingw32-lic.tar.lzma" />
-
-      <component class="dll">
-        <release tarname="libmpfr-3.1.2-2-mingw32-dll-4.tar" >
-          <download tarname="mpfr-3.1.2-2-mingw32-dll.tar.lzma" />
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-        <release tarname="libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma" >
-          <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-ncurses.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-ncurses.xml	(revision 1046)
+++ 	(revision )
@@ -1,101 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2016010800">
-
-  <!-- File: mingw32-ncurses.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-ncurses" alias="ncurses">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools">
-        <paragraph>
-          The  ncurses  (new  curses)  library  is  a free software emulation of
-          curses  in  System  V  Release 4.0, and more. It uses terminfo format,
-          supports  pads  and color and multiple highlights and forms characters
-          and   function-key   mapping,   and  has  all  the  other  SYSV-curses
-          enhancements over BSD curses.
-        </paragraph>
-        <paragraph>The mingw32-ncurses package provides the documentation and
-          programs for the ncurses library.  The associated mingw32-libncurses
-          package provides the runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-mingw32-%-lic.tar.%" />
-      <source tarname="ncurses-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="ncurses-6.0-2-mingw32-bin.tar.lzma" />
-        <release tarname="ncurses-6.0-1-mingw32-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="ncurses-6.0-2-mingw32-doc.tar.lzma" />
-        <release tarname="ncurses-6.0-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="ncurses-6.0-2-mingw32-lic.tar.lzma" />
-        <release tarname="ncurses-6.0-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libncurses" alias="libncurses">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools">
-        <paragraph>
-          The  ncurses  (new  curses)  library  is  a free software emulation of
-          curses  in  System  V  Release 4.0, and more. It uses terminfo format,
-          supports  pads  and color and multiple highlights and forms characters
-          and   function-key   mapping,   and  has  all  the  other  SYSV-curses
-          enhancements over BSD curses.
-        </paragraph>
-        <paragraph>The mingw32-libncurses package provides the runtime library
-          and related development files for ncurses.  The associated
-          mingw32-ncurses package provides the documentation and programs
-          related to the library.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-mingw32-%-lic.tar.%" />
-      <source tarname="ncurses-%-mingw32-%-src.tar.%" />
-
-      <component class="dev">
-        <release tarname="libncurses-6.0-2-mingw32-dev.tar.lzma" />
-        <release tarname="libncurses-6.0-1-mingw32-dev.tar.lzma" />
-      </component>
-
-      <component class="dll">
-        <release tarname="libncurses-6.0-2-mingw32-dll-6.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-terminfo" alias="terminfo">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="Terminal capability data base">
-        <paragraph>
-         Terminfo  is  a  data  base  describing terminals, used by
-         screen-oriented programs  such  as  nvi(1),  rogue(1)  and
-         libraries  such  as curses(3x).  Terminfo describes termi-
-         nals by giving a set of capabilities which they  have,  by
-         specifying how to perform screen operations, and by speci-
-         fying padding requirements and  initialization  sequences.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-mingw32-%-lic.tar.%" />
-      <source tarname="ncurses-%-mingw32-%-src.tar.%" />
-
-      <component class="data">
-        <release tarname="terminfo-6.0-2-mingw32-data.tar.lzma" />
-        <release tarname="terminfo-6.0-1-mingw32-data.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-package-list.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-package-list.xml	(revision 1046)
+++ 	(revision )
@@ -1,64 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016082400">
-
-  <!-- File: mingw32-package-list.xml -->
-
-  <package-group-hierarchy>
-    <package-group name="MinGW" expand="true">
-      <package-group name="MinGW Base System">
-        <package-group name="MinGW Compiler Suite" />
-        <package-group name="MinGW Source-Level Debugger" />
-        <package-group name="MinGW Standard Libraries" />
-      </package-group>
-      <package-group name="MinGW Libraries">
-        <package-group name="MinGW Standard Libraries" />
-        <package-group name="MinGW Supplementary Libraries" />
-        <package-group name="MinGW Contributed Libraries" />
-      </package-group>
-      <package-group name="MinGW Contributed">
-        <package-group name="MinGW Contributed Applications" />
-        <package-group name="MinGW Contributed Libraries" />
-      </package-group>
-      <package-group name="MinGW Autotools" />
-    </package-group>
-  </package-group-hierarchy>
-
-  <!-- "real" packages ~~ core distribution -->
-  <package-list issue="2012073100" catalogue="mingw32-autoconf" />
-  <package-list issue="2012073100" catalogue="mingw32-automake" />
-  <package-list issue="2012073100" catalogue="mingw32-basic-bsdtar" />
-  <package-list issue="2015092000" catalogue="mingw32-binutils" />
-  <package-list issue="2012073100" catalogue="mingw32-bzip2" />
-  <package-list issue="2015122200" catalogue="mingw32-dos2unix" />
-  <package-list issue="2013091000" catalogue="mingw32-expat" />
-  <package-list issue="2011050500" catalogue="mingw32-gcc3" />
-  <package-list issue="2016082400" catalogue="mingw32-gcc4" />
-  <package-list issue="2012073100" catalogue="mingw32-gcc-tools" />
-  <package-list issue="2013091501" catalogue="mingw32-gdb" />
-  <package-list issue="2012073100" catalogue="mingw32-gendef" />
-  <package-list issue="2015090600" catalogue="mingw32-gettext" />
-  <package-list issue="2013090900" catalogue="mingw32-gmp" />
-  <package-list issue="2012073100" catalogue="mingw32-libarchive" />
-  <package-list issue="2014042900" catalogue="mingw32-libiconv" />
-  <package-list issue="2012073100" catalogue="mingw32-libtool" />
-  <package-list issue="2012021600" catalogue="mingw32-lua" />
-  <package-list issue="2012090201" catalogue="mingw32-make" />
-  <package-list issue="2013100400" catalogue="mingw32-mingw-get" />
-  <package-list issue="2012073100" catalogue="mingw32-mingw-utils" />
-  <package-list issue="2012073100" catalogue="mingw32-mgwport" />
-  <package-list issue="2015082000" catalogue="mingw32-mpc" />
-  <package-list issue="2013102300" catalogue="mingw32-mpfr" />
-  <package-list issue="2015090800" catalogue="mingw32-pexports" />
-  <package-list issue="2012073100" catalogue="mingw32-popt" />
-  <package-list issue="2016082200" catalogue="mingw32-pthreads-w32" />
-  <package-list issue="2016073100" catalogue="mingw32-runtime" />
-  <package-list issue="2013070100" catalogue="mingw32-wsl-candidate" />
-  <package-list issue="2012073100" catalogue="mingw32-xz" />
-  <package-list issue="2013101200" catalogue="mingw32-zlib" />
-
-  <!-- "virtual" packages -->
-  <package-list issue="2013072200" catalogue="mingw32-base" />
-  <package-list issue="2010090601" catalogue="mingw32-autotools" />
-
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-pdcurses.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-pdcurses.xml	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2016010800">
-
-  <!-- File: mingw32-pdcurses.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-pdcurses" alias="mingw32-PDCurses pdcurses PDCurses">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="PDCurses: Public Domain Curses Implementation">
-        <paragraph>Public Domain Curses, aka PDCurses, is an implementation of
-          X/Open curses for multiple platforms.  This package provides normal,
-          unicode (wide char), and UTF-8 versions of the library and associated
-          demonstration programs.
-        </paragraph>
-        <paragraph>The mingw32-pdcurses package provides the documentation and
-          demonstration programs for the PDCurses library.  The associated
-          mingw32-libpdcurses package provides the runtime library and related
-          development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="PDCurses-%-mingw32-%-lic.tar.%" />
-      <source tarname="PDCurses-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="PDCurses-3.4-1-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libpdcurses-%-mingw32-%-dll.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="PDCurses-3.4-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="PDCurses-3.4-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libpdcurses" alias="libpdcurses">
-      <affiliate group="MinGW Contributed Libraries" />
-
-      <description lang="en" title="libpdcurses: Public Domain Curses Implementation" >
-        <paragraph>Public Domain Curses, aka PDCurses, is an implementation of
-          X/Open curses for multiple platforms.  This package provides normal,
-          unicode (wide char), and UTF-8 versions of the library and associated
-          demonstration programs.
-        </paragraph>
-        <paragraph>The mingw32-libpdcurses package provides the runtime library
-          and related development files for pdcurses.  The associated
-          mingw32-pdcurses package provides the documentation and demonstration
-          programs related to the library.
-        </paragraph>
-      </description>
-
-      <licence tarname="PDCurses-%-mingw32-%-lic.tar.%" />
-      <source tarname="PDCurses-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libpdcurses-3.4-1-mingw32-dll.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libpdcurses-3.4-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libpdcurses-%-mingw32-%-dll.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-pexports.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-pexports.xml	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2015090800">
-
-  <!-- File: mingw32-pexports.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <package name="mingw32-pexports" alias="pexports">
-      <description lang="en" title="Generate .def files for DLLs" >
-        <paragraph>pexports can extract information from DLLs to create
-          corresponding .def files that list the symbols available in each DLL.
-          .def files can then be used by dlltool (mingw32-binutils) to generate
-          import libraries.  pexports is similar to gendef, but the two tools
-          differ in how each determines the "decoration" (or calling convention)
-          appropriate for each symbol, since that information is not always
-          available directly from the DLL's symbol table.  pexports can use a C
-          pre-processor to extract the information, provided you have the
-          appropriate header files.  gendef locates the symbol's code in the DLL,
-          and uses a disassembler to determine that information.  Neither method
-          is foolproof, so both tools are provided.
-        </paragraph>
-        <paragraph>Note that in order for pexports to detect the calling
-          convention, you must specify on the command line the headers to parse.
-          If the symbols are not declared in those headers, then the proper
-          decorations cannot be computed.  Originally written by Anders
-          Norlander, it now supports both 32bit and 64bit DLLs and EXEs thanks
-          to Tor Lillqvist.
-        </paragraph>
-      </description>
-
-      <licence tarname="pexports-%-mingw32-%-lic.tar.%" />
-      <source tarname="pexports-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="pexports-0.47-mingw32-bin.tar.xz" />
-        <release tarname="pexports-0.46-mingw32-bin.tar.xz" />
-        <release tarname="pexports-0.44-1-mingw32-bin.tar.lzma" />
-        <requires eq="mingw32-gcc-core-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-mingwrt-*-mingw32-*-dev.tar" />
-        <requires eq="mingw32-w32api-*-mingw32-*-dev.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="pexports-0.47-mingw32-doc.tar.xz" />
-        <release tarname="pexports-0.46-mingw32-doc.tar.xz" />
-        <release tarname="pexports-0.44-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="pexports-0.47-mingw32-lic.tar.xz" />
-        <release tarname="pexports-0.46-mingw32-lic.tar.xz" />
-        <release tarname="pexports-0.44-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-popt.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-popt.xml	(revision 1046)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-popt.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-popt" alias="popt">
-      <description lang="en" title="Command line option parsing library" >
-        <paragraph>popt is a command line option parsing library.  While popt is
-          similiar to getopt, it contains a number of enhancements.  This
-          version is based on the rpm5.org version of popt, rather than the
-          rpm.org version.  The rpm5.org implementation is more portable.
-        </paragraph>
-        <paragraph>The mingw32-popt package provides the documentation for the
-          popt library.  The associated mingw32-libpopt package provides the
-          runtime library and development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="popt-%-mingw32-%-lic.tar.%" />
-      <source tarname="popt-%-mingw32-%-src.tar.%" />
-
-      <component class="doc">
-        <release tarname="popt-1.15-1-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="popt-1.15-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libpopt" alias="libpopt">
-      <description lang="en" title="Command line option parsing library" >
-        <paragraph>popt is a command line option parsing library.  While popt is
-          similiar to getopt, it contains a number of enhancements.  This
-          version is based on the rpm5.org version of popt, rather than the
-          rpm.org version.  The rpm5.org implementation is more portable.
-        </paragraph>
-        <paragraph>The mingw32-libpopt package provides the runtime library and
-          development files.  The associated mingw32-popt package provides the
-          documentation for the popt library.
-        </paragraph>
-      </description>
-
-      <licence tarname="popt-%-mingw32-%-lic.tar.%" />
-      <source tarname="popt-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libpopt-1.15-1-mingw32-dll-0.tar.lzma" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <release tarname="libpopt-1.15-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libpopt-%-mingw32-%-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="libpopt-1.15-1-mingw32-lang.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-pthreads-w32.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-pthreads-w32.xml	(revision 1046)
+++ 	(revision )
@@ -1,264 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016082200">
-
-  <!-- File: mingw32-pthreads-w32.xml ~~ mingw-get package description for pthreads-w32 -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for the pthreads-w32 library, -->
-    <!-- which is a runtime prerequisite for modern versions of GCC.     -->
-
-    <package name="mingw32-pthreads-w32" alias="pthreads-w32 pthreads">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="POSIX threading library for Win32" >
-        <paragraph>
-          pthreads-w32 seeks to provide a freely available and high-quality
-          implementation of pthreads for Windows.  Pthreads is an API for
-          writing multithreaded applications following the POSIX standard.
-        </paragraph>
-        <paragraph>
-          The mingw32-pthreads-w32 package provides the documentation for the
-          pthreads-w32 library, as well as the related development files.  The
-          associated mingw32-libpthread package provides the runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
-      <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
-
-      <component class="dev">
-        <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz">
-          <requires eq="mingw32-libpthreadgc-%-mingw32-%-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="pthreads-w32-2.9.1-1-mingw32-dev.tar.lzma">
-          <requires eq="mingw32-libpthread-%-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libpthread-%-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="pthreads-w32-2.9.0-mingw32-pre-20110507-2-dev.tar.lzma" >
-          <requires eq="mingw32-libpthreadgc-%-mingw32-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-doc.tar.xz" />
-        <release tarname="pthreads-w32-2.9.1-1-mingw32-doc.tar.lzma" />
-        <release tarname="pthreads-w32-2.8.0-3-mingw32-doc.tar.lzma" />
-        <release tarname="pthreads-w32-2.9.0-mingw32-pre-20110507-2-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-lic.tar.xz" />
-        <release tarname="pthreads-w32-2.9.1-1-mingw32-lic.tar.lzma" />
-        <release tarname="pthreads-w32-2.9.0-mingw32-pre-20110507-2-lic.tar.lzma" />
-        <release tarname="pthreads-w32-2.8.0-3-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libpthreadgc" alias="libpthreadgc mingw32-libpthread libpthread">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="POSIX threading library for Win32" >
-        <paragraph>
-          NOTE: The 2.9.1 release delivers this library as part of the
-          pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file.  This DLL file is
-          a dependency for gcc-core-4.8.1 and will be installed as such when
-          using mingw-get.
-        </paragraph>
-        <paragraph>
-          pthreads-w32 seeks to provide a freely available and high-quality
-          implementation of pthreads for Windows.  Pthreads is an API for
-          writing multithreaded applications following the POSIX standard.
-        </paragraph>
-        <paragraph>
-          There are two mingw32 versions of the pthread-w32 runtime library: the
-          standard one, provided by this package, is called libpthreadgc but may
-          also be referred to as 'libpthread'.  The non-standard one uses C++
-          exception handling, and is called libpthreadgce. (Note that the
-          standard library may be used successfully with C++ code; indeed, on
-          most *nix platorms the system pthreads implementation follows the
-          behavior of mingw32-libpthreadgc, and NOT the behavior of the 'GCE'
-          version).  We recommend that most users rely on mingw32-libpthreadgc
-          ('GC') and not mingw32-libpthreadgce ('GCE').
-        </paragraph>
-        <paragraph>
-          The mingw32-libpthreadgc and mingw32-libpthreadgce packages provide
-          the two runtime libraries (most people need not install the 'GCE'
-          one).  The associated mingw32-pthreads-w32 package provides the
-          documentation for the pthreads-w32 library, as well as the related
-          development files.  The mingw32-libquserex package provides optional
-          support for enhanced standards conformance of the GCE runtime.
-        </paragraph>
-        <paragraph>
-          mingw32-libpthreadgc is a required component of the MinGW Compiler
-          Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
-      <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
-
-      <component class="dev">
-        <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dev.tar.xz">
-          <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
-          <requires eq="mingw32-libpthreadgc-%-mingw32-%-dll-3.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dll-3.tar.xz">
-          <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
-        </release>
-        <release tarname="libpthread-2.9.1-1-mingw32-dll-2.tar" >
-          <download tarname="pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma" />
-        </release>
-        <release tarname="libpthread-2.8.0-3-mingw32-dll-2.tar.lzma" />
-        <release tarname="libpthreadgc-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libpthreadgce" alias="libpthreadgce" >
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="POSIX threading library for Win32" >
-        <paragraph>
-          NOTE: The 2.9.1 release delivers this library as part of the
-          pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma file.  This DLL file is
-          a dependency for gcc-core-4.8.1 and will be installed as such when
-          using mingw-get.
-        </paragraph>
-        <paragraph>
-          pthreads-w32 seeks to provide a freely available and high-quality
-          implementation of pthreads for Windows.  Pthreads is an API for
-          writing multithreaded applications following the POSIX standard.
-        </paragraph>
-        <paragraph>
-          There are two mingw32 versions of the pthread-w32 runtime library: the
-          non-standard one, provided by this package, is called libpthreadgce,
-          and uses C++ exception handling.  The standard runtime is called
-          mingw32-libpthreadgc, and may also be referred to as
-          mignw32-libpthread. (Note that the standard library may be used
-          successfully with C++ code; indeed, on most *nix platorms the system
-          pthreads implementation follows the behavior of mingw32-libpthreadgc,
-          and NOT the behavior of the 'GCE' version).  We recommend that most
-          users rely on mingw32-libpthreadgc ('GC') and not
-          mingw32-libpthreadgce ('GCE').
-        </paragraph>
-        <paragraph>
-          The mingw32-libpthreadgc and mingw32-libpthreadgce packages provide
-          the two runtime libraries (most people need not install the 'GCE'
-          one).  The associated mingw32-pthreads-w32 package provides the
-          documentation for the pthreads-w32 library, as well as the related
-          development files.  The mingw32-libquserex package provides optional
-          support for enhanced standards conformance of the GCE runtime.
-        </paragraph>
-      </description>
-
-      <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
-      <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
-
-      <component class="dev">
-        <release tarname="libpthreadgce-2.10-mingw32-pre-20160821-1-dev.tar.xz">
-          <download tarname="pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
-          <requires eq="mingw32-libpthreadgce-%-mingw32-%-dll-3.tar" />
-          <requires eq="mingw32-libpthreadgc-%-mingw32-%-dev.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="libpthreadgce-2.10-mingw32-pre-20160821-1-dll-3.tar.xz">
-          <download tarname="pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
-        </release>
-        <release tarname="libpthreadgce-2.9.1-1-mingw32-dll-2.tar" >
-          <download tarname="none" />
-          <requires eq="mingw32-libpthread-2.9.1-1-mingw32-dll-2.tar" />
-        </release>
-        <release tarname="libpthreadgce-2.9.0-mingw32-pre-20110507-2-dll-2.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libquserex" alias="libquserex" >
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="POSIX threading library for Win32" >
-        <paragraph>
-          NOTE: The 2.9.1 and later releases do not deliver this library.
-          This decision was based on the number of downloads for the library
-          and the fact that it is experimental.
-        </paragraph>
-        <paragraph>
-          pthreads-w32 seeks to provide a freely available and high-quality
-          implementation of pthreads for Windows.  Pthreads is an API for
-          writing multithreaded applications following the POSIX standard.
-          libquserex is an optional library to enable enhanced standards
-          conformance of the non-standard mingw32-libpthreadgce ('GCE') runtime.
-          It provides access to a a kernel mode driver, AlertDrv.sys, which if
-          installed allows ordinary users to exploit the Win32 QueueUserAPCEx
-          function call.
-        </paragraph>
-        <paragraph>
-          There are two mingw32 versions of the pthread-w32 runtime library: the
-          non-standard one provided by mingw32-libpthreadgce ('GCE') uses C++
-          exceptions, and for full POSIX conformance needs a kernel mode driver
-          installed.  The standard runtime, mingw32-libpthreadgc ('GC') does not
-          require that driver for full standards conformance, and may be used
-          with C++ code; we recommend that most users rely on
-          mingw32-libpthreadgc ('GC') and not mingw32-libpthreadgce ('GCE').
-        </paragraph>
-        <paragraph>
-          However, for those that wish to experiment with the non-standard
-          ('GCE') runtime, this optional helper library may also be of use --
-          provided the kernel mode driver, available from mingw.org, is also
-          installed.  Note that the kernel mode driver can not currently be
-          installed on W7 (64bit) or Windows Server 2008R2 (64bit) because those
-          operating systems require kernel mode drivers to be digitally signed,
-          so this mingw32-libquserex package is rather useless on those
-          platforms.
-        </paragraph>
-        <paragraph>
-          The kernel mode driver is available at mingw.org or mirror site,
-          packaged as an InnoSetup installer executable called
-          QueueUserAPCEx-installer.exe.
-        </paragraph>
-      </description>
-
-      <source tarname="pthreads-w32-%-mingw32-%-src.tar" />
-      <licence tarname="pthreads-w32-%-mingw32-%-lic.tar" />
-
-      <component class="dll">
-        <release tarname="libquserex-2.9.0-mingw32-pre-20110507-2-dll.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libpthread-old" alias="libpthread-old">
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="POSIX threading library for Win32" >
-        <paragraph>
-          pthreads-w32 seeks to provide a freely available and high-quality
-          implementation of pthreads for Windows.  Pthreads is an API for
-          writing multithreaded applications following the POSIX standard.
-        </paragraph>
-        <paragraph>
-          The mingw32-libpthread-old package provides the MinGW pthreads-w32
-          runtime dll associated with MinGW GCC 4.5.2 and older. Due to an
-          unfortunate naming choice, upgrading to newer GCC will also install
-          the newer, renamed pthreads-w32 DLLs, removing the old DLL. While the
-          may not affect the new GCC, threaded applications compiled using the
-          older compiler will break, as they will miss this runtime library.
-          Therefore, the old runtime library is provided here using a new
-          package name: mingw32-libpthread-old, so that it can be (re)installed
-          parallel to the new pthreads-w32 runtime libraries.
-        </paragraph>
-      </description>
-
-      <source tarname="pthreads-w32-%-mingw32-src.tar" />
-      <licence tarname="pthreads-w32-%-mingw32-lic.tar" />
-
-      <component class="dll">
-        <release tarname="libpthread-2.8.0-3-mingw32-dll-2.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-runtime.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-runtime.xml	(revision 1046)
+++ 	(revision )
@@ -1,143 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016073100">
-
-  <!-- File: mingw32-runtime.xml ~~ mingw-get package description for MinGW API -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for each of the two primary    -->
-    <!-- packages, which comprise the standard MinGW Runtime Library API, -->
-    <!-- namely mingwrt and w32api.                                       -->
-
-    <package name="mingw32-mingwrt" alias="mingwrt mingw-runtime" >
-      <affiliate group="MinGW Compiler Suite" />
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="The MinGW Runtime Library API">
-        <paragraph>
-          This package provides the header files, system object modules,
-          dynamic link libraries, import libraries and static libraries
-          which constitute the standard MinGW Runtime API.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="mingwrt-%-mingw32-src.tar.%" />
-      <licence tarname="mingwrt-%-mingw32-lic.tar.%" />
-
-      <component class="dev">
-        <requires eq="mingwrt-%-mingw32-dll.tar" />
-        <release tarname="mingwrt-3.22-mingw32-dev.tar.xz" />
-        <release tarname="mingwrt-3.22.1-mingw32-dev.tar.xz" />
-        <release tarname="mingwrt-3.21-mingw32-dev.tar.xz" />
-        <release tarname="mingwrt-3.21.1-mingw32-dev.tar.xz" />
-        <release tarname="mingwrt-3.20-2-mingw32-dev.tar.lzma">
-          <requires eq="mingwrt-%-mingw32-lic.tar" />
-          <requires eq="mingwrt-%-mingw32-man.tar" />
-        </release>
-        <release tarname="mingwrt-3.20-mingw32-dev.tar.gz">
-          <requires eq="mingwrt-%-mingw32-lic.tar" />
-          <requires eq="mingwrt-%-mingw32-man.tar" />
-        </release>
-        <release tarname="mingwrt-3.19-mingw32-dev.tar.gz">
-          <requires eq="mingwrt-%-mingw32-lic.tar" />
-          <requires eq="mingwrt-%-mingw32-man.tar" />
-        </release>
-        <release tarname="mingwrt-3.18-mingw32-dev.tar.gz">
-          <requires eq="mingwrt-%-mingw32-lic.tar" />
-          <requires eq="mingwrt-%-mingw32-man.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="mingwrt-3.22-mingw32-dll.tar.xz" />
-        <release tarname="mingwrt-3.22.1-mingw32-dll.tar.xz" />
-        <release tarname="mingwrt-3.21-mingw32-dll.tar.xz" />
-        <release tarname="mingwrt-3.21.1-mingw32-dll.tar.xz" />
-        <release tarname="mingwrt-3.20-2-mingw32-dll.tar.lzma" />
-        <release tarname="mingwrt-3.20-mingw32-dll.tar.gz" />
-        <release tarname="mingwrt-3.19-mingw32-dll.tar.gz" />
-        <release tarname="mingwrt-3.18-mingw32-dll.tar.gz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mingwrt-3.22-mingw32-lic.tar.xz" />
-        <release tarname="mingwrt-3.22.1-mingw32-lic.tar.xz" />
-        <release tarname="mingwrt-3.21-mingw32-lic.tar.xz" />
-        <release tarname="mingwrt-3.21.1-mingw32-lic.tar.xz" />
-        <release tarname="mingwrt-3.20-2-mingw32-lic.tar.lzma">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.20-mingw32-lic.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.19-mingw32-lic.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.18-mingw32-lic.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-      </component>
-
-      <component class="man">
-        <release tarname="mingwrt-3.22-mingw32-man.tar.xz" />
-        <release tarname="mingwrt-3.22.1-mingw32-man.tar.xz" />
-        <release tarname="mingwrt-3.21-mingw32-man.tar.xz" />
-        <release tarname="mingwrt-3.21.1-mingw32-man.tar.xz" />
-        <release tarname="mingwrt-3.20-2-mingw32-man.tar.lzma">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.20-mingw32-man.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.19-mingw32-man.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-        <release tarname="mingwrt-3.18-mingw32-man.tar.gz">
-          <requires eq="mingwrt-%-mingw32-dev.tar" />
-          <download tarname="none" />
-        </release>
-      </component>
-    </package>
-
-    <package name="mingw32-w32api" alias="w32api">
-      <affiliate group="MinGW Compiler Suite" />
-      <affiliate group="MinGW Standard Libraries" />
-      <description lang="en" title="The MinGW API for 32-Bit MS-Windows">
-        <paragraph>
-          This package provides the header files, and import libraries
-          constituting a standard API for the development of applications
-          which utilise the capabilities of the 32-bit MS-Windows system
-          dynamic link libraries.
-        </paragraph>
-        <paragraph>
-          This is a required component of the MinGW Compiler Suite.
-        </paragraph>
-      </description>
-
-      <source tarname="w32api-%-mingw32-src.tar.%" />
-      <licence tarname="w32api-%-mingw32-dev.tar.%" />
-
-      <component class="dev">
-        <release tarname="w32api-3.18.1-mingw32-dev.tar.xz" />
-        <release tarname="w32api-3.18-mingw32-dev.tar.xz" />
-        <release tarname="w32api-3.17-2-mingw32-dev.tar.lzma" />
-        <release tarname="w32api-3.17-1-mingw32-dev.tar.lzma" />
-        <release tarname="w32api-3.16-1-mingw32-dev.tar.lzma" />
-        <release tarname="w32api-3.15-1-mingw32-dev.tar.lzma" />
-        <release tarname="w32api-3.14-mingw32-dev.tar.gz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-tcltk.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-tcltk.xml	(revision 1046)
+++ 	(revision )
@@ -1,80 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013101200">
-
-  <!-- File: mingw32-tcltk.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-tcl">
-      <affiliate group="MinGW Contributed Applications" />
-      <description lang="en" title="TCL - Tool Command Language">
-        <paragraph>Tcl (Tool Command Language) is a very powerful but easy to
-	learn dynamic programming language, suitable for a very wide range of
-	uses, including web and desktop applications, networking,
-	administration, testing and many more. Open source and business-
-	friendly, Tcl is a mature yet evolving language that is truly cross
-	platform, easily deployed and highly extensible.
-	</paragraph>
-      </description>
-      <licence tarname="tcl-%-mingw32-%-lic.tar.lzma"/>
-      <source tarname="tcl-%-mingw32-%-src.tar.lzma" />
-      <component class="bin">
-	<release tarname="tcl-8.6.0-1-mingw32-bin.tar.lzma" >
-	  <requires eq="mingw32-tcl-%-mingw32-dev.tar.lzma" />
-	</release>
-      </component>
-      <component class="dev">
-	<release tarname="tcl-8.6.0-1-mingw32-dev.tar.lzma" >
-	  <requires eq="mingw32-tcl-%-mingw32-dll.tar.lzma" />
-	</release>
-      </component>
-      <component class="dll">
-	<release tarname="tcl-8.6.0-1-mingw32-dll.tar.lzma" />
-      </component>
-      <component class="doc">
-	<release tarname="tcl-8.6.0-1-mingw32-doc.tar.lzma" />
-      </component>
-      <component class="lic">
-	<release tarname="tcl-8.6.0-1-mingw32-lic.tar.lzma" />
-      </component>
-      <component class="man">
-	<release tarname="tcl-8.6.0-1-mingw32-man.tar.lzma" />
-      </component>
-    </package>
-    <package name="mingw32-tk">
-      <affiliate group="MinGW Contributed Applications" />
-      <description lang="en" title="TK - TCL Graphical User Interface Toolkit">
-	<paragraph>Tk is a graphical user interface toolkit that takes
-	developing desktop applications to a higher level than conventional
-	approaches. Tk is the standard GUI not only for Tcl, but for many other
-	dynamic languages, and can produce rich, native applications that run
-	unchanged across Windows, Mac OS X, Linux and more.
-	</paragraph>
-      </description>
-      <licence tarname="tk-%-mingw32-%-lic.tar.lzma"/>
-      <source tarname="tk-%-mingw32-%-src.tar.lzma" />
-      <component class="bin">
-	<release tarname="tk-8.6.0-1-mingw32-bin.tar.lzma" >
-	  <requires eq="mingw32-tk-%-mingw32-dev.tar.lzma"/>
-	  <requires eq="mingw32-tcl-%-mingw32-bin.tar.lzma"/>
-	</release>
-      </component>
-      <component class="dev">
-	<release tarname="tk-8.6.0-1-mingw32-dev.tar.lzma" >
-	  <requires eq="mingw32-tk-%-mingw32-dll.tar.lzma"/>
-	</release>
-      </component>
-      <component class="dll">
-	<release tarname="tk-8.6.0-1-mingw32-dll.tar.lzma" />
-      </component>
-      <component class="doc">
-	<release tarname="tk-8.6.0-1-mingw32-doc.tar.lzma" />
-      </component>
-      <component class="lic">
-	<release tarname="tk-8.6.0-1-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-wsl-candidate.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-wsl-candidate.xml	(revision 1046)
+++ 	(revision )
@@ -1,89 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013070100">
-
-  <!-- File: mingw32-wsl.xml ~~ Windows System Libraries Meta-Package -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <affiliate group="MinGW Project Infrastructure" />
-
-    <description lang="en" title="Windows System Libraries Meta-Package">
-      <paragraph>
-        This meta-package provides a delivery mechanism to support
-        pre-release testing of the upcoming windows system library
-        packages.  You are advised to install this package, ONLY if
-        you wish to participate in the pre-release testing of the
-        windows system libraries release candidate packages.
-      </paragraph>
-      <paragraph>
-        A two stage installation procedure is required; first, to
-        initialise the pre-release testing infrastructure:
-      </paragraph>
-      <paragraph>
-        $ mingw-get install mingw32-wsl_rc
-      </paragraph>
-      <paragraph>
-        Second, to install the release candidate software packages,
-        and switch to the testing environment:
-      </paragraph>
-      <paragraph>
-        $ mingw-get install mingw32-wsl_rc-test-on
-      </paragraph>
-      <paragraph>
-        Having thus activated the testing environment, you are advised
-        to immediately, (and without prejudice to its operation):
-      </paragraph>
-      <paragraph>
-        $ mingw-get remove mingw32-wsl_rc-test-on
-      </paragraph>
-      <paragraph>
-        While in the testing environment, and after removing the
-        mingw32-wsl_rc-test-on package, you may revert all associated
-        software packages to their production releases, thus switching
-        back to a production environment, by:
-      </paragraph>
-      <paragraph>
-        $ mingw-get install mingw32-wsl_rc-test-off
-      </paragraph>
-      <paragraph>
-        As before, after installing this, you are advised to immediately,
-        (and again without prejudice to the working environment):
-      </paragraph>
-      <paragraph>
-        $ mingw-get remove mingw32-wsl_rc-test-off
-      </paragraph>
-      <paragraph>
-        Finally, if having installed mingw32-wsl_rc, you subsequently 
-        decide to remove it, please ensure that you have removed either
-        or both of mingw32-wsl_rc-test-on and mingw32-wsl_rc-test-off,
-        BEFORE you do so.
-      </paragraph>
-    </description>
-
-    <package name="mingw32-wsl_rc">
-      <component class="meta">
-	<release tarname="wsl_rc-4.0-1-mingw32-rc-4-meta.tar.lzma" />
-	<release tarname="wsl_rc-4.0-1-mingw32-rc-3-meta.tar.lzma" />
-	<release tarname="wsl_rc-4.0-1-mingw32-rc-2-meta.tar.lzma" />
-        <release tarname="wsl_rc-4.0-1-mingw32-rc-1-meta.tar.lzma" />
-        <action class="pre-install">
-          xmlpath = os.getenv("APPROOT").."var\\lib\\mingw-get\\data\\"
-          xmlorigin = "mingw32-runtime.xml" xmlbackup = "wsl-released.xml.bak"
-          os.execute( "if NOT EXIST "..xmlpath..xmlbackup.." "..
-              "ren "..xmlpath..xmlorigin.." "..xmlbackup
-            )
-        </action>
-        <action class="post-remove">
-          xmlpath = os.getenv("APPROOT").."var\\lib\\mingw-get\\data\\"
-          xmlorigin = "mingw32-runtime.xml" xmlbackup = "wsl-released.xml.bak"
-          os.execute( "if EXIST "..xmlpath..xmlbackup.." "..
-              "ren "..xmlpath..xmlbackup.." "..xmlorigin
-            )
-        </action>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=82 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-xerces-c.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-xerces-c.xml	(revision 1046)
+++ 	(revision )
@@ -1,96 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013102800">
-
-  <!-- File: mingw32-xerces-c.xml ~~ Xerces-C++ Validating XML Parser Library -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-xerces-c" alias="xerces-c">
-      <affiliate group="MinGW Contributed Applications" />
-
-      <description lang="en" title="Xerces-C++ Validating XML Parser Library">
-        <paragraph>
-          Xerces-C++ is a validating XML parser written in a portable subsets
-          of C++.  Xerces-C++ makes it easy to give your application the ability
-          to read and write XML data.  A shared library is provided for parsing,
-          generating, manipulating, and validating XML documents using the DOM,
-          SAX, and SAX2 APIs.
-        </paragraph>
-        <paragraph>
-          Xerces-C++ is faithful to the XML 1.0 recommendation and many associated
-          standards.
-        </paragraph>
-        <paragraph>
-          The parser provides high performance, modularity, and scalability.
-          Source code, samples and API documentation are provided with the parser.
-          For portability, care has been taken to make minimal use of templates,
-          no RTTI, and minimal use of #ifdefs.
-        </paragraph>
-      </description>
-
-      <source tarname="xerces-c-%-mingw32-%-src.tar.%" />
-      <licence tarname="xerces-c-%-mingw32-%-lic.tar.%" />
-
-      <component class="bin">
-        <description lang="en" title="Xerces-C++ Validating XML Parsing Utilities">
-          <paragraph>
-            This component package provides a suite of precompiled sample
-            programs, as included in the standard Xerces-C++ distribution.
-          </paragraph>
-        </description>
-        <release tarname="xerces-c-3.1.1-2-mingw32-4.7.2-bin.tar.xz" />
-        <release tarname="xerces-c-3.1.1-1-mingw32-3.4.5-bin.tar.xz" />
-        <requires eq="xerces-c-%-mingw32-%-dll-3.tar.%" />
-      </component>
-
-      <component class="dll">
-        <description lang="en">
-          <paragraph>
-            This component package provides the shared library (DLL), which
-            is required by all dynamically linked Xerces-C++ applications.
-          </paragraph>
-          <paragraph>
-            The version 3.1.1-2 release of this shared library has been
-            compiled using MinGW32-GCC-4.7.2, and uses the Dwarf-2 exception
-            handling model; the version 3.1.1-1 release has been compiled using
-            MinGW32-GCC-3.4.5, and uses the SJLJ exception handling model.
-          </paragraph>
-        </description>
-        <release tarname="xerces-c-3.1.1-2-mingw32-4.7.2-dll-3.tar.xz" />
-        <release tarname="xerces-c-3.1.1-1-mingw32-3.4.5-dll-3.tar.xz" />
-      </component>
-
-      <component class="dev">
-        <description lang="en">
-          <paragraph>
-            This component package provides the development libraries, and
-            their associated header files, to facilitate the development of
-            dynamically or statically linked Xerces-C++ applications.
-          </paragraph>
-          <paragraph>
-            For programming guidance, please refer to
-            http://xerces.apache.org/xerces-c/program-3.html
-          </paragraph>
-        </description>
-        <release tarname="xerces-c-3.1.1-2-mingw32-4.7.2-dev.tar.xz" />
-        <release tarname="xerces-c-3.1.1-1-mingw32-3.4.5-dev.tar.xz" />
-      </component>
-
-      <component class="lic">
-        <description lang="en">
-          <paragraph>
-            This component package delivers a copy of the Apache Software
-            License, version 2.0, under which Xerces-C++ is distributed,
-            and associated accreditation of Xerces-C++ developers. 
-          </paragraph>
-        </description>
-        <release tarname="xerces-c-3.1.1-mingw32-lic.tar.xz" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-
-<!-- vim: set expandtab textwidth=82 tabstop=2 shiftwidth=2: -->
-<!-- vim: set nocompatible fileformat=unix: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-xz.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-xz.xml	(revision 1046)
+++ 	(revision )
@@ -1,107 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: mingw32-xz.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-xz" alias="xz">
-      <description lang="en" title="High performance compression based on the LZMA algorithm" >
-        <paragraph>LZMA is data compression algorithm based on the
-          Lempel-Ziv-Markov chain-Algorithm.  It provides high compression
-          ratios and very fast decompression, with minimal memory requirements
-          for decompression.  XZ Utils is the latest generation of this
-          software, supplanting the older LZMA Utils, which itself was a
-          friendly fork of the original LZMA SDK.  The xz package provides
-          commandline utilities for compression and decompression of XZ and LZMA
-          data, and documentation.  The associated liblzma package provides the
-          runtime library and development files for creating applications that
-          use LZMA or XZ compression.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides both this native (mingw32)
-          version and an MSYS version of the xz package(s).  While the latter is
-          the primary tool from the perspective of the MSYS distribution, the
-          MinGW version is provided as one of the prerequisites for the native
-          (mingw32) basic-bsdtar utility.
-        </paragraph>
-      </description>
-
-      <licence tarname="xz-%-mingw32-%-lic.tar.%" />
-      <source tarname="xz-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <release tarname="xz-4.999.9beta_20100401-1-mingw32-bin.tar.bz2" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-          <requires eq="mingw32-liblzma-%-mingw32-%-dll-1.tar" />
-        </release>
-        <release tarname="xz-5.0.3-2-mingw32-bin.tar.lzma" >
-          <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-          <requires eq="mingw32-liblzma-%-mingw32-%-dll-5.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="xz-4.999.9beta_20100401-1-mingw32-doc.tar.bz2" />
-        <release tarname="xz-5.0.3-2-mingw32-doc.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="xz-4.999.9beta_20100401-1-mingw32-lang.tar.bz2" />
-        <release tarname="xz-5.0.3-2-mingw32-lang.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="xz-4.999.9beta_20100401-1-mingw32-lic.tar.bz2" />
-        <release tarname="xz-5.0.3-2-mingw32-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-liblzma" alias="liblzma">
-      <description lang="en" title="High performance compression library based on the LZMA algorithm" >
-        <paragraph>LZMA is data compression algorithm based on the
-          Lempel-Ziv-Markov chain-Algorithm.  It provides high compression
-          ratios and very fast decompression, with minimal memory requirements
-          for decompression.  XZ Utils is the latest generation of this
-          software, supplanting the older LZMA Utils, which itself was a
-          friendly fork of the original LZMA SDK.  The xz package provides
-          commandline utilities for compression and decompression of XZ and LZMA
-          data, and documentation.  The associated liblzma package provides the
-          runtime library and development files for creating applications that
-          use LZMA or XZ compression.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides both this native (mingw32)
-          version and an MSYS version of the liblzma package(s).  While the
-          latter is the primary tool from the perspective of the MSYS
-          distribution, the MinGW version is provided as one of the
-          prerequisites for the native (mingw32) basic-bsdtar utility.
-        </paragraph>
-      </description>
-
-      <licence tarname="xz-%-mingw32-%-lic.tar.%" />
-      <source tarname="xz-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="liblzma-4.999.9beta_20100401-1-mingw32-dll-1.tar.bz2" />
-        <release tarname="liblzma-5.0.3-2-mingw32-dll-5.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <release tarname="liblzma-4.999.9beta_20100401-1-mingw32-dev.tar.bz2" >
-          <requires eq="mingw32-liblzma-%-mingw32-%-dll-1.tar" />
-        </release>
-        <release tarname="liblzma-5.0.3-2-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-liblzma-%-mingw32-%-dll-5.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/mingw32-zlib.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/mingw32-zlib.xml	(revision 1046)
+++ 	(revision )
@@ -1,162 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013101200">
-
-  <!-- File: mingw32-zlib.xml -->
-
-  <package-collection subsystem="mingw32">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="mingw32-zlib" alias="zlib">
-      <description lang="en" title="A Massively Spiffy Yet Delicately Unobtrusive Compression Library">
-        <paragraph>The zlib compression library provides in-memory compression
-          and decompression functions, including integrity checks of the
-          uncompressed data.
-        </paragraph>
-      </description>
-
-      <licence tarname="zlib-%-mingw32-%-lic.tar.%" />
-      <source tarname="zlib-%-mingw32-%-src.tar.%" />
-
-      <component class="doc">
-        <release tarname="zlib-1.2.8-1-mingw32-doc.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-mingw32-doc.tar.lzma" />
-        <release tarname="zlib-1.2.5-4-mingw32-doc.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-mingw32-doc.tar.lzma" />
-        <release tarname="zlib-1.2.3-1-mingw32-doc.tar.gz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="zlib-1.2.8-1-mingw32-lic.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-mingw32-lic.tar.lzma" />
-        <release tarname="zlib-1.2.5-4-mingw32-lic.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-mingw32-lic.tar.lzma" />
-        <release tarname="zlib-1.2.3-1-mingw32-lic.tar.gz" />
-      </component>
-
-      <component class="man">
-        <release tarname="zlib-1.2.8-1-mingw32-man.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-mingw32-man.tar.lzma" />
-        <release tarname="zlib-1.2.5-4-mingw32-man.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-mingw32-man.tar.lzma" />
-        <release tarname="zlib-1.2.3-1-mingw32-man.tar.gz" />
-      </component>
-    </package>
-
-    <package name="mingw32-libz" alias="libz">
-      <description lang="en" title="A Massively Spiffy Yet Delicately Unobtrusive Compression Library">
-        <paragraph>The zlib compression library provides in-memory compression
-          and decompression functions, including integrity checks of the
-          uncompressed data. The libz package provides the runtime and
-          development files related to the ZLib library. The associated zlib
-          package provides documentation.
-        </paragraph>
-      </description>
-      <affiliate group="Mingw Standard Libraries"/>
-
-      <licence tarname="zlib-%-mingw32-%-lic.tar.%" />
-      <source tarname="zlib-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libz-1.2.3-1-mingw32-dll-1.tar.gz" />
-        <release tarname="libz-1.2.5-1-mingw32-dll-1.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libz-1.2.5-4-mingw32-dll-1.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        </release>
-        <release tarname="libz-1.2.7-1-mingw32-dll-1.tar.lzma" >
-          <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        </release>
-	<release tarname="libz-1.2.8-1-mingw32-dll-1.tar">
-	  <download tarname="zlib-1.2.8-1-mingw32-dll.tar.lzma" />
-	</release>
-      </component>
-
-      <component class="dev">
-        <release tarname="libz-1.2.3-1-mingw32-dev.tar.gz" >
-          <requires eq="mingw32-libz-%-mingw32-%-dll-1.tar" />
-        </release>
-        <release tarname="libz-1.2.5-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libz-%-mingw32-%-dll-1.tar" />
-        </release>
-        <release tarname="libz-1.2.5-4-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libz-%-mingw32-%-dll-1.tar" />
-        </release>
-        <release tarname="libz-1.2.7-1-mingw32-dev.tar.lzma" >
-          <requires eq="mingw32-libz-%-mingw32-%-dll-1.tar" />
-        </release>
-	<release tarname="libz-1.2.8-1-mingw32-dev-1.tar" >
-	  <download tarname="zlib-1.2.8-1-mingw32-dev.tar.lzma" />
-	  <requires eq="mingw32-libz-%-mingw32-dll-1.tar" />
-	</release>
-      </component>
-    </package>
-
-    <package name="mingw32-minizip" alias="minizip">
-      <description lang="en" title="Simple ZIP support from zlib">
-        <paragraph>NOTE: This program was not delivered with the zlib-1.2.8
-          release. This decision was made due to the number of downloads for
-          the package as well as a belief that the zip and unzip packages are
-          already minimal enough.  It is therefore considered obsolete and
-          should be removed from your systems.
-        </paragraph>
-        <paragraph>The minizip package provides two simple ZIP archive
-          manipulation tools, based on the minizip library from zlib.  More
-          sophisticated needs are met by the unzip and zip packages.
-        </paragraph>
-        <paragraph>The libminizip library provides zlib-based support for
-          manipulating ZIP archives. It is suitable for clients that need only
-          create, inspect, and unpack such archives; more demanding needs may be
-          met by the libarchive package.
-        </paragraph>
-      </description>
-      <affiliate group="MinGW Deprecated Packages" />
-
-      <licence tarname="zlib-%-mingw32-%-lic.tar.%" />
-      <source tarname="zlib-%-mingw32-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        <requires eq="mingw32-libminizip-%-mingw32-dll-1.tar" />
-        <release tarname="minizip-1.2.7-1-mingw32-bin.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="mingw32-libminizip" alias="libminizip">
-      <description lang="en" title="Simple ZIP support from zlib">
-        <paragraph>NOTE: This program was not delivered with the zlib-1.2.8
-          release. This decision was made due to the number of downloads for the
-          package as well as a belief that the libarchive package is already
-          minimal enough.  It is therefore considered obsolete and should be
-          removed from your system.
-        </paragraph>
-        <paragraph>The minizip library provides zlib-based support for
-          manipulating ZIP archives. It is suitable for clients that need only
-          create, inspect, and unpack such archives; more demanding needs may be
-          met by the libarchive package.
-        </paragraph>
-        <paragraph>This distribution also provides two simple utility programs:
-          minizip and miniunzip. Again, more sophisticated needs are met by the
-          unzip and zip packages.
-        </paragraph>
-      </description>
-
-      <licence tarname="zlib-%-mingw32-%-lic.tar.%" />
-      <source tarname="zlib-%-mingw32-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-        <requires eq="mingw32-libz-%-mingw32-dll-1.tar" />
-        <release tarname="libminizip-1.2.7-1-mingw32-dll-1.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <requires eq="mingw32-libz-%-mingw32-dev.tar" />
-        <requires eq="mingw32-libminizip-%-mingw32-dll-1.tar" />
-        <release tarname="libminizip-1.2.7-1-mingw32-dev.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-autoconf.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-autoconf.xml	(revision 1046)
+++ 	(revision )
@@ -1,62 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-autoconf.xml ~~ mingw-get package description autoconf (msys) -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-autoconf">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="Automatic Configure Script Builder">
-        <paragraph>This is not the autoconf you are looking for.</paragraph>
-        <paragraph>Autoconf is an extensible package of M4 macros
-          that produce shell scripts to automatically configure
-          software source code packages.  These scripts can adapt the
-          packages to many kinds of UNIX-like systems without manual
-          user intervention.  Autoconf creates a configuration script
-          for a package from a template file that lists the operating
-          system features that the package can use, in the form of M4
-          macro calls.
-        </paragraph>
-        <paragraph>This msys port of autoconf has been modified
-          specifically for the MSYS System Builder (msys-dvlpr) environment;
-          that is, it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables for the
-          native "mingw32" subsystem (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you should
-          install the mingw32-autoconf-*, mingw32-autoconf2.5-*, and/or
-          mingw32-autoconf2.1-* packages instead.
-        </paragraph>
-      </description>
-
-      <licence tarname="autoconf-%-msys-%-lic.tar.%" />
-      <source tarname="autoconf-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="autoconf-2.65-1-msys-1.0.13-bin.tar.lzma" />
-        <release tarname="autoconf-2.67-1-msys-1.0.15-bin.tar.lzma" />
-        <release tarname="autoconf-2.68-1-msys-1.0.17-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="autoconf-2.65-1-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="autoconf-2.67-1-msys-1.0.15-doc.tar.lzma" />
-        <release tarname="autoconf-2.68-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="autoconf-2.65-1-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="autoconf-2.67-1-msys-1.0.15-lic.tar.lzma" />
-        <release tarname="autoconf-2.68-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-autogen.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-autogen.xml	(revision 1046)
+++ 	(revision )
@@ -1,112 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-autogen.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-autogen">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Simplifies the creation and maintenance of programs" >
-        <paragraph>AutoGen is a tool designed to simplify the creation and
-          maintenance of programs that contain large amounts of repetitious
-          text.  It is especially valuable in programs that have several
-          blocks of text that must be kept synchronized.  libopts provides
-          the runtime component of an autogen add-on that simplifies the
-          maintainance of that portion of your code that parses command-line
-          options.
-        </paragraph>
-        <paragraph>A common example where this would be useful is in
-          creating and maintaining the code required for processing program
-          options.  Processing options requires multiple constructs to be
-          maintained in parallel in different places in your program.
-          Options maintenance needs to be done countless times.  So, AutoGen
-          comes with an add-on package named AutoOpts that simplifies the
-          maintenance and documentation of program options.
-        </paragraph>
-        <paragraph>The msys-autogen package provides the autogen utilities
-          and documentation.  The associated msys-libopts package provides
-          the runtime library and development files for AutoOpts, a semi-
-          automated command line option parser library and toolset based on
-          AutoGen.
-        </paragraph>
-      </description>
-
-      <licence tarname="autogen-%-msys-%-lic.tar.%" />
-      <source tarname="autogen-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="autogen-5.10.1-1-msys-1.0.15-bin.tar.lzma" >
-          <requires eq="msys-libguile-*-msys-*-dll-17.tar" />
-          <requires eq="msys-libopts-%-msys-%-dll-25.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libxml2-*-msys-*-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="autogen-5.10.1-1-msys-1.0.15-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="autogen-5.10.1-1-msys-1.0.15-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libopts">
-      <description lang="en" title="a semi-automated command line parsing library" >
-        <paragraph>AutoGen is a tool designed to simplify the creation and
-          maintenance of programs that contain large amounts of repetitious
-          text.  It is especially valuable in programs that have several
-          blocks of text that must be kept synchronized.  libopts provides
-          the runtime component of an autogen add-on that simplifies the
-          maintainance of that portion of your code that parses command-line
-          options.
-        </paragraph>
-        <paragraph>A common example where this would be useful is in
-          creating and maintaining the code required for processing program
-          options.  Processing options requires multiple constructs to be
-          maintained in parallel in different places in your program.
-          Options maintenance needs to be done countless times.  So, AutoGen
-          comes with an add-on package named AutoOpts that simplifies the
-          maintenance and documentation of program options.
-        </paragraph>
-        <paragraph>The msys-libopts package provides the runtime library
-          and development files for AutoOpts, a semi-automated command
-          line option parser library and toolset based on AutoGen.  The
-          associated msys-autogen package provides the autogen utilities
-          and documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="autogen-%-msys-%-lic.tar.%" />
-      <source tarname="autogen-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libopts-5.10.1-1-msys-1.0.15-dll-25.tar.lzma" >
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-autogen-*-msys-*-bin.tar" />
-        <requires eq="msys-libguile-*-msys-*-dev.tar" />
-        <requires eq="msys-libregex-*-msys-*-dev.tar" />
-        <release tarname="libopts-5.10.1-1-msys-1.0.15-dev.tar.lzma" >
-          <requires eq="msys-libopts-%-msys-%-dll-25.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-automake.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-automake.xml	(revision 1046)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-automake.xml ~~ mingw-get package description automake (msys) -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-automake">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="Automatic Makefile Builder">
-        <paragraph>This is not the automake you are looking for.</paragraph>
-        <paragraph>Automake is a tool for automatically generating Makefile.in
-          files compliant with the GNU Coding Standards.  Automake requires the
-          use of Autoconf.
-        </paragraph>
-        <paragraph>This msys port of automake has been modified specifically for
-          the MSYS System Builder (msys-dvlpr) environment; that is, it is
-          intended to be used only when producing binary packages for the MSYS
-          subsystem.  If you intend to produce executables for the native
-          "mingw32" subsystem (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you should
-          install the mingw32-automake-*, and/or the mingw32-automake1.NN-*
-          packages instead.
-        </paragraph>
-      </description>
-
-      <licence tarname="automake-%-msys-%-lic.tar.%" />
-      <source tarname="automake-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-autoconf-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <release tarname="automake-1.11.1-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="automake-1.11.1-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="automake-1.11.1-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-base.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-base.xml	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013072300">
-
-  <!-- File: msys-base.xml -->
-  <!-- This is a preliminary catalogue describing the contents of a
-       basic, small, but relatively useful, msys installation. It attempts
-       to replicate, with certain judicious additions and deletions, the
-       set of packages originally installed by the old MSYS monolithic
-       installers circa MSYS-1.0.11 -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-tiny" alias="msys-minimal" class="virtual">
-
-      <affiliate group="MSYS Base System" />
-
-      <description lang="en" title="A Tiny MSYS Installation (meta)">
-        <paragraph>This meta package provides the smallest possible
-          functional MSYS installation.  It includes only MSYS itself,
-          a bash shell, and a few absolutely required commandline
-          utilities.  Other components can be added manually as needed.
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="msys-tiny-2013072300-msys-bin.meta" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-    <package name="msys-base" alias="msys" class="virtual">
-
-      <affiliate group="Basic Setup" />
-      <affiliate group="MSYS Base System" />
-
-      <description lang="en" title="A Basic MSYS Installation (meta)">
-        <paragraph>This meta package contains the components necessary
-          to create a basic, small, but relatively useful MSYS installation.
-          It includes the core system, bash, various command line utilities,
-          and archiving/compression tools.  It attempts to replicate, with
-          certain judicious additions and deletions, the set of tools
-          originally installed by the old MSYS monolithic installers.
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="msys-base-2013072300-msys-bin.meta" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-ext.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-dos2unix-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-findutils-*-msys-*-bin.tar" />
-        <requires eq="msys-file-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <requires eq="msys-make-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-tar-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-bash.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-bash.xml	(revision 1046)
+++ 	(revision )
@@ -1,77 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2014101900">
-
-  <!-- File: msys-bash.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-bash" alias="msys-sh sh bash">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="The GNU Bourne Again shell" >
-        <paragraph>Bash is a GNU project sh-compatible shell or command
-          language interpreter.  Bash (Bourne Again shell) incorporates
-          useful features from the Korn shell (ksh) and the C shell (csh).
-          Bash is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
-          Shell and Tools standard.  It offers functional improvements over
-          sh for both programming and interactive use.  Most sh scripts can
-          be run by bash without modification.  Bash is the default shell
-          for MSYS.
-        </paragraph>
-      </description>
-
-      <source tarname="bash-%-msys-%-src.tar.%" />
-      <licence tarname="bash-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="bash-3.1.17-4-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="bash-3.1.23-1-msys-1.0.18-bin.tar.xz" />
-        <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="bash-3.1.17-4-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="bash-3.1.23-1-msys-1.0.18-doc.tar.xz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="bash-3.1.17-4-msys-1.0.16-lic.tar.lzma" />
-        <release tarname="bash-3.1.23-1-msys-1.0.18-lic.tar.xz" />
-      </component>
-
-      <component class="lnk">
-        <release tarname="bash-3.1.23-1-msys-1.0.18-lnk.tar.xz">
-          <download tarname="none" />
-        </release>
-        <requires eq="msys-core-*-msys-*-ext.tar" />
-        <action class="post-install">
-          setup = require "setup"
-          sysroot_prefix = os.getenv( "MSYS_SYSROOT" )
-          if sysroot_prefix then
-             setup.create_shortcuts(
-               '--description="Start MinGW Shell"',
-               '--icon="'..sysroot_prefix..'\\msys.ico"',
-                sysroot_prefix..'\\msys.bat', '"MinGW Shell"'
-             )
-          end
-        </action>
-        <action class="pre-remove">
-          setup = require "setup"
-          sysroot_prefix = os.getenv( "MSYS_SYSROOT" )
-          if sysroot_prefix then
-             setup.delete_shortcuts(
-               "--if-linked="..sysroot_prefix.."\\msys.bat",
-               "--force", '"MinGW Shell"'
-             )
-          end
-        </action>
-      </component>
-
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-binutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-binutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,46 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2010090600">
-
-  <!-- File: msys-binutils.xml ~~ mingw-get package description for MSYS version of GNU binutils -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-binutils">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="The GNU Binary File Utilities (msys)">
-        <paragraph>This is not the binutils you are looking for.</paragraph>
-        <paragraph>
-          This package provides the GNU assembler, linker, archive librarian,
-          and other utilities for manipulating object format files, compiled
-          specifically for use generating MSYS libraries and applications.
-          It should be installed into the / == /usr (that is, C:\msys\1.0)
-          directory, and NOT into the usual MinGW location /mingw (C:\MinGW).
-          It is part of the MSYS System Builder (msys-dvlpr) toolset.
-        </paragraph>
-        <paragraph>
-          Install this component only if you intend to create MSYS-dependent
-          applications.
-        </paragraph>
-      </description>
-
-      <licence tarname="binutils-%-msys-%-lic.tar.lzma" />
-      <source tarname="binutils-%-msys-%-src.tar.lzma" />
-
-      <component class="bin" >
-        <release tarname="binutils-2.19.51-3-msys-1.0.13-bin.tar.lzma" />
-        <requires ge="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc" >
-        <release tarname="binutils-2.19.51-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic" >
-        <release tarname="binutils-2.19.51-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-bison.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-bison.xml	(revision 1046)
+++ 	(revision )
@@ -1,56 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-bison.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-bison">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="GNU Parser Generator" >
-        <paragraph>bison is a general-purpose parser generator that
-          converts an annotated context-free grammar into an LALR(1)
-          or GLR parser for that grammer.  Bison is upward compatible
-          with Yacc -- all properly-written Yacc grammars ought to work
-          with Bison with no change.
-        </paragraph>
-        <paragraph>The msys-bison-bin (sub)package provides the bison
-          executable and associated development files.  The msys-bison-lang
-          (sub)package provides i18n support for the bison executable,
-          while the msys-bison-rtm (sub)package provides i18n support for
-          applications created with bison.
-        </paragraph>
-      </description>
-
-      <licence tarname="bison-%-msys-%-lic.tar.%" />
-      <source tarname="bison-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <release tarname="bison-2.4.2-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="rtm">
-        <release tarname="bison-2.4.2-1-msys-1.0.13-rtm.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="bison-2.4.2-1-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="bison-2.4.2-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="bison-2.4.2-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-bzip2.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-bzip2.xml	(revision 1046)
+++ 	(revision )
@@ -1,93 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013020400">
-
-  <!-- File: msys-bzip2.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-bzip2">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="a high-quality data compressor">
-        <paragraph>bzip2 is a freely available, patent free (see below),
-          high-quality data compressor. It typically compresses files
-          to within 10% to 15% of the best available techniques (the
-          PPM family of statistical compressors), whilst being around
-          twice as fast at compression and six times faster at
-          decompression. This package provides the utility programs and
-          scripts.
-        </paragraph>
-      </description>
-
-      <source tarname="bzip2-%-msys-%-src.tar.%" />
-      <licence tarname="bzip2-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="bzip2-1.0.5-2-msys-1.0.13-bin.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma">
-	  <!-- Contrary to the assertion below,
-	    this release DOES appear to require the DLL component
-            -->
-	  <requires eq="msys-libbz2-%-msys-%-dll-1.tar" />
-	</release>
-
-        <!-- Every MSYS package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-
-        <!-- Note that the bzip2 utilities are linked against the static
-          version of libbz2.a, so there is no -dll dependency here.  Other
-          requirements support the auxiliary scripts, which are provided by
-          the bzip2-bin package.
-          -->
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="bzip2-1.0.5-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="bzip2-1.0.5-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="bzip2-1.0.6-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libbz2">
-      <description lang="en" title="runtime library for bzip2">
-        <paragraph>bzip2 is a freely available, patent free (see below),
-          high-quality data compressor. It typically compresses files
-          to within 10% to 15% of the best available techniques (the
-          PPM family of statistical compressors), whilst being around
-          twice as fast at compression and six times faster at
-          decompression. This package provides the runtime library and
-          development files.
-        </paragraph>
-      </description>
-
-      <source tarname="bzip2-%-msys-%-src.tar.%" />
-      <licence tarname="bzip2-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libbz2-1.0.5-2-msys-1.0.13-dll-1.tar.lzma" />
-        <release tarname="libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libbz2-1.0.5-2-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libbz2-%-msys-%-dll-1.tar.lzma" />
-        </release>
-        <release tarname="libbz2-1.0.6-1-msys-1.0.17-dev.tar.lzma">
-          <requires eq="msys-libbz2-%-msys-%-dll-1.tar.lzma" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-console.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-console.xml	(revision 1046)
+++ 	(revision )
@@ -1,59 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-console.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-console">
-      <description lang="en" title="A script to d/l, install, and configure `Console 2.00'">
-        <paragraph>Console 2.00 is a replacement console for win32.  The
-          console is the window in which cmd.exe (and, usually, MSYS
-          bash.exe) are executed.  The normal Windows console has some
-          drawbacks which Console 2.00 attempts to remedy: better font
-          selection, larger scrollback buffers, tabbed windows, resizable,
-          easier cut-n-paste behavior, etc.
-        </paragraph>
-        <paragraph>Unfortunately, Console 2.00 can not be compiled using
-          free (as in speech) tools; although Console 2.00 itself is GPL, it
-          requires certain proprietary compilers to build.  Since all tools
-          distributed by the MinGW/MSYS project are compiled using free
-          tools also provided by that project,  MinGW/MSYS doesn't supply a
-          binary version of Console 2.00 directly.  Instead, this package
-          contains a script that can be executed to download the Console 2.00
-          binary package from the Console 2.00 developer's site, install it,
-          and configure it as appropriate for use with MinGW and MSYS.
-        </paragraph>
-      </description>
-
-      <licence tarname="console-%-msys-%-lic.tar.%" />
-      <source tarname="console-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-cygutils-*-msys-*-bin.tar" />
-        <requires eq="msys-mktemp-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-unzip-*-msys-*-bin.tar" />
-        <requires eq="msys-wget-*-msys-*-bin.tar" />
-        <release tarname="console-2.00b147-1-msys-1.0.15-bin.tar.lzma" />
-        <release tarname="console-2.00b146-1-msys-1.0.14-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="console-2.00b147-1-msys-1.0.15-doc.tar.lzma" />
-        <release tarname="console-2.00b146-1-msys-1.0.14-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="console-2.00b147-1-msys-1.0.15-lic.tar.lzma" />
-        <release tarname="console-2.00b146-1-msys-1.0.14-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-core.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-core.xml	(revision 1046)
+++ 	(revision )
@@ -1,118 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2016071500">
-
-  <!-- File: msys-core.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <package name="msys-core" alias="msysCORE">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="The core components of MSYS">
-        <paragraph>MSYS, or the Minimal SYStem, is a POSIX implementation
-          used in the Win32 operating system to enable configuration and
-          compiling of open-source packages. This package provides the
-          main components of MSYS, including the MSYS runtime DLL itself.
-        </paragraph>
-        <paragraph>MSYS is a fork of Cygwin and is more friendly to the
-          Win32 user. It primarily offers a user land environment for MinGW
-          development. It converts POSIX paths before executing a "native"
-          win32 program. This allows the users of the MinGW version of GCC
-          to port and build packages in a GNU familiar way and removes the
-          UNIX complexities that Cygwin adds.
-        </paragraph>
-        <paragraph>The MinGW/MSYS team provides additional packages which
-          contain utilities useful for this purpose, including perl, make,
-          autoconf, automake, libtool, m4, and many others.  However, the
-          number of such `MSYS packages' is limited in comparison to *nix or
-          Cygwin, because MSYS provides only the Minimal SYStem needed for
-          hosting open source development with the MinGW GCC compiler.  MSYS
-          is not intended to replace Cygwin, or emulate a full-fledged "port"
-          of all *nix tools.
-        </paragraph>
-      </description>
-
-      <source tarname="msysCORE-%-msys-%-src.tar.%" />
-      <licence tarname="msysCORE-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <!-- Note: no specific dll component in this package; the
-         MSYS dll, which is required by all MSYS packages, is bundled
-         within this msys-core-bin component.  Always ensure that the
-         basic MSYS documentation and licence information is installed
-         along with msys-core-bin; only msys-core is treated this way.
-         -->
-        <requires eq="msys-core-%-msys-%-doc.tar" />
-        <requires eq="msys-core-%-msys-%-lic.tar" />
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-bin.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-bin.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz" />
-
-        <action class="post-install">
-        sysroot = os.getenv( "MSYS_SYSROOT" )
-        package.path = sysroot.."/postinstall/?.lua;"..package.path
-
-        local has_fstab_module, fstab = pcall( require, "fstab" )
-
-        if has_fstab_module and fstab
-        then
-          have_fstab = io.open( fstab.pathname(), "r" )
-          if have_fstab
-          then
-            io.close( have_fstab )
-          else
-            fstab.initialize()
-          end
-          fstab.sample = io.open( fstab.pathname( ".sample" ), "w" )
-          if fstab.sample
-          then
-            fstab.dump_sample( fstab.sample )
-            io.close( fstab.sample )
-          end
-        end
-        </action>
-      </component>
-
-      <component class="ext">
-        <!-- msys-core-ext contains tools that have dependencies on
-         components other than msys-core-bin alone.
-         -->
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-ext.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-ext.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-ext.tar.xz" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-%-msys-%-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-dev.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-dev.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-dev.tar.xz" />
-      </component>
-
-      <component class="doc">
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-doc.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-doc.tar.xz" />
-      </component>
-
-      <component class="lic">
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-lic.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-lic.tar.xz" />
-      </component>
-
-      <component class="dbg">
-        <release tarname="msysCORE-1.0.17-1-msys-1.0.17-dbg.tar.lzma" />
-        <release tarname="msysCORE-1.0.18-1-msys-1.0.18-dbg.tar.lzma" />
-        <release tarname="msysCORE-1.0.19-1-msys-1.0.19-dbg.tar.xz" />
-        <requires eq="msys-core-%-msys-%-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-coreutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-coreutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-coreutils.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-coreutils">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU collection of common command line utilities" >
-        <paragraph>GNU coreutils provides a collection of commonly used
-          utilities essential to a standard POSIX environment. It comprises
-          the former textutils, sh-utils, and fileutils packages.
-        </paragraph>
-        <paragraph>The msys-coreutils-bin subpackage contains those
-          applications that were historically part of the standard MSYS
-          installation. The associated msys-coreutils-ext subpackage
-          contains the rest of the coreutils applications that have been
-          (nominally) ported to MSYS -- usually these are less often used,
-          and are not guaranteed to work: e.g. `su.exe', `chroot.exe' and
-          `mkfifo.exe' are known to be broken.
-        </paragraph>
-      </description>
-
-      <source tarname="coreutils-%-msys-%-src.tar.%" />
-      <licence tarname="coreutils-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="coreutils-5.97-3-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="ext">
-        <requires eq="msys-coreutils-%-msys-%-bin.tar" />
-        <release tarname="coreutils-5.97-3-msys-1.0.13-ext.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="coreutils-5.97-3-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="coreutils-5.97-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="coreutils-5.97-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-crypt.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-crypt.xml	(revision 1046)
+++ 	(revision )
@@ -1,89 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-crypt.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-crypt">
-      <description lang="en" title="tools for DES encryption">
-        <paragraph>crypt provides a library implementing the standard
-          encryption functions crypt(), encrypt(), and setkey().  Many
-          programs, such as perl, rely on the presence of these functions;
-          as the functions are not provided by the MSYS runtime, this
-          additional library fulfils those needs.
-        </paragraph>
-        <paragraph>crypt also provides a command-line tool for exercising
-          those functions.  `crypt cleartext' generates an encrypted version
-          of the cleartext using a random salt.  `crypt salt cleartext'
-          encrypts cleartext using the specified salt.  Salt is a two-character
-          string which also appears as the first two characters of the
-          encrypted cleartext.
-        </paragraph>
-        <paragraph>The msys-crypt package provides the command-line utility
-          crypt and related documentation.  The associated msys-libcrypt
-          package provides the runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="crypt-%-msys-%-lic.tar.%" />
-      <source tarname="crypt-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <!-- Note that the crypt utility is linked against the static
-             version of libcrypt.a, so there is no -dll dependency here. -->
-        <release tarname="crypt-1.1_1-3-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="crypt-1.1_1-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="crypt-1.1_1-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libcrypt">
-      <description lang="en" title="runtime library for crypt">
-        <paragraph>crypt provides a library implementing the standard
-          encryption functions crypt(), encrypt(), and setkey().  Many
-          programs, such as perl, rely on the presence of these functions;
-          as the functions are not provided by the MSYS runtime, this
-          additional library fulfils those needs.
-        </paragraph>
-        <paragraph>crypt also provides a command-line tool for exercising
-          those functions.  `crypt cleartext' generates an encrypted version
-          of the cleartext using a random salt.  `crypt salt cleartext'
-          encrypts cleartext using the specified salt.  Salt is a two-character
-          string which also appears as the first two characters of the
-          encrypted cleartext.
-        </paragraph>
-        <paragraph>The msys-libcrypt package provides the libcrypt runtime
-          library and related development files.  The associated msys-crypt
-          package provides the command-line utility crypt and related
-          documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="crypt-%-msys-%-lic.tar.%" />
-      <source tarname="crypt-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="libcrypt-1.1_1-3-msys-1.0.13-dll-0.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libcrypt-1.1_1-3-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libcrypt-%-msys-%-dll-0.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-cvs.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-cvs.xml	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-cvs.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-cvs">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Concurrent Version System" >
-        <paragraph>CVS is a version control system, which allows you to keep
-          old versions of files (usually source code), and maintains a log of
-          who, when, and why changes occurred, etc., like RCS or SCCS.
-        </paragraph>
-      </description>
-
-      <licence tarname="cvs-%-msys-%-lic.tar.%" />
-      <source tarname="cvs-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="cvs-1.12.13-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libcrypt-*-msys-*-dll-0.tar" />
-        </release>
-        <!-- Needed by rcs2log and cvsbug, even though MSYS does not actually
-             provide rcs.exe nor sendmail: bash, mktemp, gawk, sed, coreutils.
-             Other optional elements: perl, openssh, and inetutils. -->
-      </component>
-
-      <component class="lang">
-        <release tarname="cvs-1.12.13-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="cvs-1.12.13-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="cvs-1.12.13-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-cygutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-cygutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-cygutils.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-    <package name="msys-cygutils">
-      <description lang="en" title="A collection of simple utilities" >
-        <paragraph>The cygutils package contains a collection of simple
-          utilities from various sources. It provides mkshortcut and
-          readshortcut, for creating and reading windows-style shortcuts.
-          It provides getclip and putclip, for copying between stdin/stdout
-          and the Windows clipboard. It also provides lpr-basic.
-        </paragraph>
-        <paragraph>A note about lpr-basic: lpr-basic spools a file to the
-          specified printer device. MSYS provides two separate
-          implementations: lpr-basic.exe and lpr-enhanced (the latter is a
-          script, not a binary executable, and is available in the
-          msys-lpr-enhanced package). lpr-basic.exe is suitable for most
-          simple printing needs; it can send "raw" data to any installed
-          Windows printer. This is most useful for raw text, for sending
-          plain PostScript files to PostScript-compatible printers, and for
-          re-sending .prn files generated using Windows' own print-to-file
-          capabilities to the specific printer for which the .prn file was
-          generated. For more information, see `man lpr-basic'. On the other
-          hand, lpr-enhanced is an MSYS extension which supports many of the
-          advanced capabilities of a true Unix-style lpr implementation.
-          However, it is more difficult to configure. See the documentation
-          embedded within the lpr-enhanced script for more information.
-        </paragraph>
-        <paragraph>The msys-cygutils package provides many of the utilities
-          included in the cygutils distribution. Note that the 'dos2unix'
-          utilities are NOT provided by this package; the separate msys-dos2unix
-          package provides versions of those utilities derived from alternate
-          sources.
-        </paragraph>
-      </description>
-
-      <source tarname="cygutils-%-msys-%-src.tar.%" />
-      <licence tarname="cygutils-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="cygutils-1.3.4-4-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libpopt-*-msys-*-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="cygutils-1.3.4-4-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="cygutils-1.3.4-4-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-dash.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-dash.xml	(revision 1046)
+++ 	(revision )
@@ -1,44 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-dash.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-dash">
-      <description lang="en" title="The Debian Almquist Shell">
-        <paragraph>DASH is a POSIX-compliant implementation of /bin/sh
-          that aims to be as small as possible.  It does this without
-          sacrificing speed where possible.  In fact, it is significantly
-          faster than bash (the GNU Bourne-Again SHell) for most tasks.
-        </paragraph>
-        <paragraph>This version of dash has been modified to support
-          $LINENO, so it should suffice to run most configure scripts.
-          More importantly, unlike msys-bash, msys-dash has no
-          dependencies other than the MSYS runtime itself.  Therefore,
-          dash can be used (it is, in fact, required) to run the
-          rebaseall tool from the msys-rebase package.
-        </paragraph>
-      </description>
-
-      <licence tarname="dash-%-msys-%-lic.tar.%" />
-      <source tarname="dash-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="dash-0.5.5.1_2-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="dash-0.5.5.1_2-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="dash-0.5.5.1_2-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-diffstat.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-diffstat.xml	(revision 1046)
+++ 	(revision )
@@ -1,37 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-diffstat.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-diffstat">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="patch file histograms" >
-        <paragraph>diffstat reads the output of diff and displays a
-          histogram of the insertions, deletions, and modifications
-          per-file. It is useful for reviewing large, complex patch files.
-        </paragraph>
-      </description>
-
-      <source tarname="diffstat-%-msys-%-src.tar.%" />
-      <licence tarname="diffstat-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="diffstat-1.54-1-msys-1.0.17-bin.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="diffstat-1.54-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="diffstat-1.54-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-diffutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-diffutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,53 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-diffutils.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-diffutils">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU collection of diff utilities" >
-        <paragraph>Diffutils provides a group of utilities that displays
-          difference between and among text files. 'diff' outputs the
-          difference between two files in any of several formats. If the
-          files are identical, it normally produces no ouput; if they are
-          binary (non-text) it normally reports only that they are
-          different. 'cmp' shows the offsets and files numbers where two
-          files differ; it can also show, side by side, all the characters
-          that differ between the two files. 'sdiff' merges two files
-          interactively. 'diff3' shows differences among three files. If
-          two people have made independent changes to a common original,
-          diff3 reports that difference between the original and the two
-          changed versions, and can produce a merged file that contains
-          both persons' changes along with warnings about conflicts.
-        </paragraph>
-      </description>
-
-      <source tarname="diffutils-%-msys-%-src.tar.%" />
-      <licence tarname="diffutils-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-dos2unix.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-dos2unix.xml	(revision 1046)
+++ 	(revision )
@@ -1,135 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2015122200">
-
-  <!-- File: msys-dos2unix.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-dos2unix" alias="msys-cygutils-dos2unix">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="Convert line breaks between Unix, Dos, and Mac">
-        <paragraph> The dos2unix package provides manipulation utilities for
-          converting the line break characters of text files between the unix
-          convention (0x0a), the DOS/Windows convention (0x0d 0x0a), and the old
-          (pre-OS-X) Mac convention (0x0d).
-        </paragraph>
-      </description>
-
-      <licence tarname="dos2unix-%-msys-%-lic.tar.%" />
-      <source tarname="dos2unix-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="dos2unix-7.3.2-1-msys-1.0.18-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.2.2-1-msys-1.0.18-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-7.1-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.6-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.5-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.4-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.3-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.2-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0.1-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-6.0-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="dos2unix-5.3.3-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-core-*-msys-*-bin.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <release tarname="cygutils-dos2unix-1.3.4-4-msys-1.0.13-bin.tar.lzma">
-          <licence tarname="cygutils-dos2unix-%-msys-%-lic.tar.%" />
-          <source tarname="cygutils-%-msys-%-src.tar.%" />
-          <requires eq="msys-libpopt-*-msys-*-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="dos2unix-7.3.2-1-msys-1.0.18-doc.tar.lzma" />
-        <release tarname="dos2unix-7.2.3-1-msys-1.0.18-doc.tar.lzma" />
-        <release tarname="dos2unix-7.2.2-1-msys-1.0.18-doc.tar.lzma" />
-        <release tarname="dos2unix-7.1-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.6-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.5-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.4-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.3-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.2-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0.1-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-6.0-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="dos2unix-5.3.3-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="cygutils-dos2unix-1.3.4-4-msys-1.0.13-doc.tar.lzma">
-          <download tarname="none" />
-          <requires eq="msys-cygutils-%-msys-%-doc.tar" />
-          <licence tarname="cygutils-dos2unix-%-msys-%-lic.tar.%" />
-          <source tarname="cygutils-%-msys-%-src.tar.%" />
-        </release>
-      </component>
-
-      <component class="lic">
-        <release tarname="dos2unix-7.3.2-1-msys-1.0.18-lic.tar.lzma" />
-        <release tarname="dos2unix-7.2.3-1-msys-1.0.18-lic.tar.lzma" />
-        <release tarname="dos2unix-7.2.2-1-msys-1.0.18-lic.tar.lzma" />
-        <release tarname="dos2unix-7.1-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.6-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.5-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.4-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.3-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.2-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0.1-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-6.0-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="dos2unix-5.3.3-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="cygutils-dos2unix-1.3.4-4-msys-1.0.13-lic.tar.lzma">
-          <download tarname="none" />
-          <requires eq="msys-cygutils-%-msys-%-lic.tar" />
-          <licence tarname="cygutils-dos2unix-%-msys-%-lic.tar.%" />
-          <source tarname="cygutils-%-msys-%-src.tar.%" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-expat.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-expat.xml	(revision 1046)
+++ 	(revision )
@@ -1,87 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-expat.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-expat">
-      <description lang="en" title="XML parsing library written in C">
-        <paragraph>expat is a C library for parsing XML written by James
-          Clark. Expat is a stream-oriented XML parser.  This means that
-          you register handlers with the parser before starting the parse.
-          These handlers are called when the parser discovers the
-          associated structures in the document being parsed.  A start tag
-          is an example of the kind of structures for which you may
-          register handlers.
-        </paragraph>
-        <paragraph>The msys-expat package provides the xmlwf validation
-          tool and documentation related to the library. The associated
-          msys-libexpat package provides the runtime library and related
-          development files.
-        </paragraph>
-      </description>
-
-      <source tarname="expat-%-msys-%-src.tar.%" />
-      <licence tarname="expat-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="expat-2.0.1-1-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libexpat-*-msys-*-dll-1.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="expat-2.0.1-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="expat-2.0.1-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libexpat">
-      <description lang="en" title="XML parsing library written in C">
-        <paragraph>expat is a C library for parsing XML written by James
-          Clark. Expat is a stream-oriented XML parser.  This means that
-          you register handlers with the parser before starting the parse.
-          These handlers are called when the parser discovers the
-          associated structures in the document being parsed.  A start tag
-          is an example of the kind of structures for which you may
-          register handlers.
-        </paragraph>
-        <paragraph>The msys-libexpat package provides the runtime library
-          and related development files for expat.  The associated
-          msys-expat package provides the xmlwf validation tool and
-          documentation related to the library.
-        </paragraph>
-      </description>
-
-      <source tarname="expat-%-msys-%-src.tar.%" />
-      <licence tarname="expat-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <!-- Specification of the mandatory msys-core-bin requirement here
-          also serves to implicitly satisfy this mandatory requirement for
-          the dependent msys-expat-bin package declared above.
-          -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="libexpat-2.0.1-1-msys-1.0.13-dll-1.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libexpat-2.0.1-1-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libexpat-*-msys-*-dll-1.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-file.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-file.xml	(revision 1046)
+++ 	(revision )
@@ -1,85 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-file.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-file">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="determine file type" >
-        <paragraph>The file command is used to identify a particular file
-          according to the type of data contained by the file.  File can
-          identify many different file types, including ELF binaries,
-          system libraries, RPM packages, and different graphics formats.
-        </paragraph>
-        <paragraph>The msys-file package provides the file command and the
-          pre-compiled magic database, which describes how different file
-          types should be identified. The associated msys-libmagic package
-          provides the libmagic runtime library and development files.
-        </paragraph>
-      </description>
-
-      <source tarname="file-%-msys-%-src.tar.%" />
-      <licence tarname="file-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <!-- Although every MSYS package requires msys-core-bin,
-          we do not specify that here; instead, we rely on implicit
-          inclusion via the locally specified libmagic dependency.
-          -->
-        <release tarname="file-5.04-1-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libmagic-%-msys-%-dll-1.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="file-5.04-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="file-5.04-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libmagic">
-      <description lang="en" title="library for determining file type" >
-        <paragraph>The file command is used to identify a particular file
-          according to the type of data contained by the file.  File can
-          identify many different file types, including ELF binaries,
-          system libraries, RPM packages, and different graphics formats.
-        </paragraph>
-        <paragraph>The msys-libmagic package provides the libmagic runtime
-          library and development files. The associated msys-file package
-          provides the file command and the pre-compiled magic database,
-          which describes how different file types should be identified.
-        </paragraph>
-      </description>
-
-      <source tarname="file-%-msys-%-src.tar.%" />
-      <licence tarname="file-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <!-- Requirements common to all releases:
-          Every MSYS package requires msys-core-bin; this one also
-          requires zlib dll, which lacks an ABI version qualifier.
-          -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-zlib-*-msys-*-dll.tar" />
-
-        <release tarname="libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma">
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <release tarname="libmagic-5.04-1-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libmagic-%-msys-%-dll-1.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-findutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-findutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,88 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-findutils.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-findutils">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU find utilities" >
-        <paragraph>The GNU Find Utilities are the basic directory searching
-          utilities of the GNU operating system. These programs are
-          typically used in conjunction with other programs to provide
-          modular and powerful directory search and file locating
-          capabilities to other commands.
-        </paragraph>
-        <paragraph>The msys-findutils package provides 'find' -- search
-          for files in a directory hierarchy, and 'xargs' -- build and
-          execute command lines from standard input. The associated
-          msys-locate package provides 'locate' -- list files in databases
-          that match a pattern, and 'updatedb' -- update a file name
-          database.
-        </paragraph>
-      </description>
-
-      <source tarname="findutils-%-msys-%-src.tar.%" />
-      <licence tarname="findutils-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="findutils-4.4.2-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="findutils-4.4.2-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="findutils-4.4.2-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-locate">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="A database-driven fast 'find'" >
-        <paragraph>The GNU Find Utilities are the basic directory searching
-          utilities of the GNU operating system. These programs are
-          typically used in conjunction with other programs to provide
-          modular and powerful directory search and file locating
-          capabilities to other commands.
-        </paragraph>
-        <paragraph>The msys-locate package provides 'locate' -- list files
-          in databases that match a pattern, and 'updatedb' -- update a
-          file name database. The associated msys-findutils package
-          provides 'find' -- search for files in a directory hierarchy, and
-          'xargs' -- build and execute command lines from standard input.
-        </paragraph>
-        <paragraph>The msys-locate package is an optional adjunct to the
-          standard MSYS Base System installation; it is NOT automatically
-          installed as a component of msys-base, and must be selected
-          independently, if desired.
-        </paragraph>
-      </description>
-
-      <source tarname="findutils-%-msys-%-src.tar.%" />
-      <licence tarname="findutils-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="locate-4.4.2-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-findutils-%-msys-%-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-flex.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-flex.xml	(revision 1046)
+++ 	(revision )
@@ -1,45 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-flex.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-flex">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Fast Lexical Analyzer Generator" >
-        <paragraph>flex is a tool for generating scanners. A scanner,
-          sometimes called a tokenizer, is a program which recognizes
-          lexical patterns in text.
-        </paragraph>
-      </description>
-
-      <source tarname="flex-%-msys-%-src.tar.%" />
-      <licence tarname="flex-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="flex-2.5.35-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="flex-2.5.35-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="flex-2.5.35-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="flex-2.5.35-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gawk.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gawk.xml	(revision 1046)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-gawk.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gawk" alias="msys-awk">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="pattern scanning and processing language" >
-        <paragraph>Gawk is the GNU implementation of the AWK programming
-          language. Many computer users need to manipulate text files:
-          extract and then operate on data from parts of certain lines
-          while discarding the rest, make changes in various text files
-          wherever certain patterns appear, and so on. To write a program
-          to do these things in a language such as C or Pascal is a
-          time-consuming inconvenience that may take many lines of code.
-          The job is easy with gawk, which interprets a special-purpose
-          programming language that makes it possible to handle many
-          data-reformatting jobs with just a few lines of code.
-        </paragraph>
-      </description>
-
-      <source tarname="gawk-%-msys-%-src.tar.%" />
-      <licence tarname="gawk-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="gawk-3.1.7-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gawk-3.1.7-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gawk-3.1.7-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gcc.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gcc.xml	(revision 1046)
+++ 	(revision )
@@ -1,51 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2013101200">
-
-  <!-- File: msys-gcc.xml ~~ mingw-get package description for MSYS version of GCC -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gcc" alias="msys-g++" >
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="The GNU C Compiler For MSYS">
-        <paragraph>This is not the gcc you are looking for.</paragraph>
-        <paragraph>
-          This package provides the MSYS implementation of the GNU C and
-          C++ language compilers; this includes the C preprocessor, and
-          the common back end processors which are necessary to these two
-          language compilers.  It has been compiled specifically for
-          generating MSYS-dependent applications and libraries.  It should
-          be installed into the / == /usr (that is, C:\msys\1.0) directory,
-          and NOT into the usual MinGW location /mingw (C:\MinGW).  It is
-          part of the MSYS System Builder (msys-dvlpr) toolset.
-        </paragraph>
-        <paragraph>
-          Install this component only if you intend to create MSYS-dependent
-          applications.
-        </paragraph>
-      </description>
-
-      <licence tarname="gcc-%-msys-%-lic.tar.lzma" />
-      <source tarname="gcc-%-msys-%-src.tar.lzma" />
-
-      <component class="bin" >
-        <requires ge="msys-binutils-*-msys-*-bin.tar" />
-        <requires ge="msys-core-*-msys-*-bin.tar" />
-        <requires ge="msys-core-*-msys-*-dev.tar" />
-        <requires ge="msys-w32api-*-msys-*-dev.tar" />
-        <release tarname="gcc-3.4.4-3-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc" >
-        <release tarname="gcc-3.4.4-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic" >
-        <release tarname="gcc-3.4.4-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gdbm.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gdbm.xml	(revision 1046)
+++ 	(revision )
@@ -1,80 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-gdbm.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gdbm">
-      <description lang="en" title="GNU Database System">
-        <paragraph>The GNU Database System is a set of database routines
-          that use extensible hashing.  It works similarly to the standard
-          UNIX dbm routines, and provides compatibility replacement
-          interfaces for the traditional 'dbm' and 'ndbm' libraries.
-        </paragraph>
-        <paragraph>The msys-gdbm package provides the command-line
-          utilities for saving and restoring GDBM databases, other tools
-          for testing the various compatibility interfaces, and related
-          documentation.  The associated msys-libgdbm package provides the
-          runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="gdbm-%-msys-%-lic.tar.%" />
-      <source tarname="gdbm-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="gdbm-1.8.3-3-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libgdbm-%-msys-%-dll-3.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gdbm-1.8.3-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gdbm-1.8.3-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libgdbm">
-      <description lang="en" title="runtime library for the GNU Database System">
-        <paragraph>The GNU Database System is a set of database routines
-          that use extensible hashing.  It works similarly to the standard
-          UNIX dbm routines, and provides compatibility replacement
-          interfaces for the traditional 'dbm' and 'ndbm' libraries.
-        </paragraph>
-        <paragraph>The msys-libgdbm package provides the runtime library
-          and related development files for the GNU Database System.  The
-          associated msys-gdbm package provides the command-line utilities
-          for saving and restoring GDBM databases, other tools for testing
-          the various compatibility interfaces, and related documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="gdbm-%-msys-%-lic.tar.%" />
-      <source tarname="gdbm-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="libgdbm-1.8.3-3-msys-1.0.13-dll-3.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libgdbm-1.8.3-3-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libgdbm-%-msys-%-dll-3.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gettext.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gettext.xml	(revision 1046)
+++ 	(revision )
@@ -1,259 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-gettext.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gettext">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU Internationalization Library and Utilities">
-        <paragraph>This is not the gettext you are looking for.</paragraph>
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages. In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings.
-        </paragraph>
-        <paragraph>This msys port of gettext has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem (that is, applications that
-          should work on Microsoft Windows installations without the MSYS
-          dll), then you should install the mingw32-gettext-* package(s)
-          instead.
-        </paragraph>
-        <paragraph>The msys-gettext package provides utilities that may
-          be useful to end-users, allowing interaction with the message
-          translation database of other i18n-enabled GNU utilities. It
-          also provides the development libraries, header files, and
-          documentation for the gettext system, as well as additional
-          utilities useful for maintainers of i18n-enabled applications.
-          The *-ext package provides extra documentation, in the form of
-          example implementations in many different computer languages.
-          The associated msys-libgettextpo package provides the runtime
-          libraries needed by the msys-gettext utilities; the associated
-          msys-libasprintf package provides the runtime library for the
-          asprintf utility library; and finally, the associated msys-libintl
-          package provides the runtime component of the internationalization
-          library itself, which is used by many other msys packages.
-        </paragraph>
-      </description>
-
-      <source tarname="gettext-%-msys-%-src.tar.%" />
-      <licence tarname="gettext-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="gettext-0.17-2-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        </release>
-        <release tarname="gettext-0.18.1.1-1-msys-1.0.17-bin.tar.lzma">
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires ge="msys-libiconv-1.14-1-msys-*-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="gettext-0.17-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gettext-0.17-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="gettext-0.17-2-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libgettextpo-%-msys-*-dll-0.tar" />
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libexpat-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar.lzma" />
-        </release>
-        <release tarname="gettext-0.18.1.1-1-msys-1.0.17-dev.tar.lzma">
-          <requires eq="msys-libgettextpo-%-msys-*-dll-0.tar" />
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires ge="msys-libiconv-1.14-1-msys-*-dll-2.tar" />
-          <requires eq="msys-libexpat-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar.lzma" />
-        </release>
-      </component>
-
-      <component class="ext">
-        <release tarname="gettext-0.17-2-msys-1.0.13-ext.tar.lzma" />
-        <release tarname="gettext-0.18.1.1-1-msys-1.0.17-ext.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libintl">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU Internationalization Runtime Library">
-        <paragraph>This is not the libintl you are looking for.</paragraph>
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages. In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings. libintl is the primary runtime component of
-          that framework.
-        </paragraph>
-        <paragraph>This msys port of gettext has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem (that is, applications that
-          should work on Microsoft Windows installations without the MSYS
-          dll), then you should install the mingw32-libintl-* package(s)
-          instead.
-        </paragraph>
-        <paragraph>The msys-libintl package provides the runtime component
-          of the GNU internationalization library, which is used by many
-          other MSYS packages. The msys-gettext package provides utilities
-          that may be useful to end-users, allowing interaction with the
-          message translation database of other i18n-enabled GNU utilities.
-          It also provides the development libraries, header files, and
-          documentation for the gettext system, as well as additional
-          utilities useful for maintainers of i18n-enabled applications.
-          The *-ext package provides extra documentation, in the form of
-          example implementations in many different computer languages.
-          The associated msys-libgettextpo package provides the runtime
-          libraries needed by the msys-gettext utilities; the associated
-          msys-libasprintf package provides the runtime library for the
-          asprintf utility library.
-        </paragraph>
-      </description>
-
-      <source tarname="gettext-%-msys-%-src.tar.%" />
-      <licence tarname="gettext-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libintl-0.17-2-msys-1.0.13-dll-8.tar.lzma">
-          <download tarname="libintl-0.17-2-msys-dll-8.tar.lzma" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        </release>
-        <release tarname="libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma">
-          <requires eq="msys-libiconv-1.14-1-msys-*-dll-2.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-    <package name="msys-libgettextpo">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU Internationalization Utility Library">
-        <paragraph>This is not the libgettextpo you are looking for.</paragraph>
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages. In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings. libgettextpo provides runtime support for the
-          gettext utilities; it is typically not needed by `regular' i18n
-          clients of libintl.
-        </paragraph>
-        <paragraph>This msys port of gettext has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem (that is, applications that
-          should work on Microsoft Windows installations without the MSYS
-          dll), then you should install the mingw32-libintl-* package(s)
-          instead.
-        </paragraph>
-        <paragraph>The msys-libgettextpo package provides the runtime
-          libraries needed by the msys-gettext utilities. The associated
-          msys-gettext package provides utilities that may be useful to
-          end-users, allowing interaction with the message translation
-          database of other i18n-enabled GNU utilities. It also provides
-          the development libraries, header files, and documentation for
-          the gettext system, as well as additional utilities useful for
-          maintainers of i18n-enabled applications. The *-ext package
-          provides extra documentation, in the form of example
-          implementations in many different computer languages.
-          The associated msys-libasprintf package provides the runtime
-          library for the asprintf utility library; and finally, the
-          associated msys-libintl package provides the runtime component
-          of the internationalization library itself, which is used by
-          many other msys packages.
-        </paragraph>
-      </description>
-
-      <source tarname="gettext-%-msys-%-src.tar.%" />
-      <licence tarname="gettext-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libgettextpo-0.17-2-msys-1.0.13-dll-0.tar.lzma">
-          <download tarname="libgettextpo-0.17-2-msys-dll-0.tar.lzma" />
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar.lzma" />
-        </release>
-        <release tarname="libgettextpo-0.18.1.1-1-msys-1.0.17-dll-0.tar.lzma">
-          <requires eq="msys-libintl-%-msys-*-dll-8.tar" />
-          <requires ge="msys-libiconv-1.14-1-msys-*-dll-2.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar.lzma" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-    <package name="msys-libasprintf">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU Internationalization Utility Library">
-        <paragraph>This is not the libasprintf you are looking for.</paragraph>
-        <paragraph>GNU gettext provides a set of tools that create a
-          framework to help other GNU packages produce multi-lingual
-          messages. In this way, with suitable care a single binary
-          application can automatically provide user messages (such as
-          `help' text) in the language corresponding to the current
-          locale settings. libasprintf provides an implementation of
-          the C formatted output routines suitable for use in C++
-          applications, where i18n is a goal.
-        </paragraph>
-        <paragraph>This msys port of gettext has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem (that is, applications that
-          should work on Microsoft Windows installations without the MSYS
-          dll), then you should install the mingw32-libintl-* package(s)
-          instead.
-        </paragraph>
-        <paragraph>The msys-libasprintf package provides the runtime
-          library for the asprintf utility library. The associated
-          msys-gettext package provides utilities that may be useful to
-          end-users, allowing interaction with the message translation
-          database of other i18n-enabled GNU utilities. It also provides
-          the development libraries, header files, and documentation for
-          the gettext system, as well as additional utilities useful for
-          maintainers of i18n-enabled applications. The *-ext package
-          provides extra documentation, in the form of example
-          implementations in many different computer languages. The
-          associated msys-libgettextpo package provides the runtime
-          libraries needed by the msys-gettext utilities, while the
-          associated msys-libintl package provides the runtime component
-          of the internationalization library itself, which is used by
-          many other msys packages.
-        </paragraph>
-      </description>
-
-      <source tarname="gettext-%-msys-%-src.tar.%" />
-      <licence tarname="gettext-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libasprintf-0.17-2-msys-1.0.13-dll-0.tar.lzma">
-          <download tarname="libasprintf-0.17-2-msys-dll-0.tar.lzma" />
-        </release>
-        <release tarname="libasprintf-0.18.1.1-1-msys-1.0.17-dll-0.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gmp.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gmp.xml	(revision 1046)
+++ 	(revision )
@@ -1,80 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-gmp.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gmp">
-      <description lang="en" title="The GNU Multiple Precision Arithmetic Library" >
-        <paragraph>GNU MP is a library for arbitrary precision arithmetic,
-          operating on signed integers, rational numbers, and floating
-          point numbers.  It has a rich set of functions, and the functions
-          have a regular interface.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides two gmp packages:
-          this msys-gmp one and a native win32 mingw32-gmp.  This one
-          requires the MSYS dll, and is provided as a necessary component
-          of various MSYS tools, such as guile.  The mingw32-gmp version
-          is provided as a necessary component of modern MinGW gcc
-          compilers.
-        </paragraph>
-        <paragraph>The msys-gmp package provides the documentation
-          for the gmp library.  The associated msys-libgmp package
-          provides the runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="gmp-%-msys-%-lic.tar.%" />
-      <source tarname="gmp-%-msys-%-src.tar.%" />
-
-      <component class="doc">
-        <release tarname="gmp-5.0.1-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gmp-5.0.1-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libgmp">
-      <description lang="en" title="The GNU Multiple Precision Arithmetic Library" >
-        <paragraph>GNU MP is a library for arbitrary precision arithmetic,
-          operating on signed integers, rational numbers, and floating
-          point numbers.  It has a rich set of functions, and the functions
-          have a regular interface.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides two libgmp packages:
-          this msys-libgmp one and a native win32 mingw32-libgmp.  This one
-          requires the MSYS dll, and is provided as a necessary component
-          of various MSYS tools, such as guile.  The mingw32-gmp version
-          is provided as a necessary component of modern MinGW gcc
-          compilers.
-        </paragraph>
-        <paragraph>The msys-libgmp package provides the runtime library
-          and related development files.  The associated msys-gmp package
-          provides the documentation for the gmp library.
-        </paragraph>
-      </description>
-
-      <licence tarname="gmp-%-msys-%-lic.tar.%" />
-      <source tarname="gmp-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libgmp-5.0.1-1-msys-1.0.13-dll-10.tar.lzma" />
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libgmp-5.0.1-1-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libgmp-%-msys-%-dll-10.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-grep.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-grep.xml	(revision 1046)
+++ 	(revision )
@@ -1,44 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-grep.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-grep">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="print lines matching a pattern" >
-        <paragraph>grep searches the input files for lines containing a
-          match to a given pattern list.  When it finds a match in a line,
-          it copies the line to standard output (by default), or produces
-          whatever other sort of output you have requested with options.
-        </paragraph>
-      </description>
-
-      <source tarname="grep-%-msys-%-src.tar.%" />
-      <licence tarname="grep-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="grep-2.5.4-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="grep-2.5.4-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="grep-2.5.4-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="grep-2.5.4-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-groff.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-groff.xml	(revision 1046)
+++ 	(revision )
@@ -1,69 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-groff.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-groff">
-      <description lang="en" title="GNU troff typesetting package" >
-        <paragraph>The groff (GNU troff) software is a typesetting package
-          which reads plain text mixed with formatting commands and
-          produces formatted output.  The package is essential for viewing
-          online manual pages.  Output can be produced in a number of
-          formats including plain ASCII and PostScript. All the standard
-          macro packages are supported.
-        </paragraph>
-        <paragraph>The msys-groff package does not support the HTML nor
-          pdf output devices, becuase MSYS currently provides neither the
-          required postscript interpreter nor the pbmtools.  The gxditview
-          viewer is not included.  The msys-groff-bin subpackage provides
-          all of the components necessary for a working 'man' installation,
-          while the msys-groff-ext subpackage provides the remaining files
-          needed for supported output devices other than the console, such
-          as postscript and hpgl, as well as additional utilties.
-        </paragraph>
-      </description>
-
-      <licence tarname="groff-%-msys-%-lic.tar.%" />
-      <source tarname="groff-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <!-- perl is required for the 'grog' script -->
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <release tarname="groff-1.20.1-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="ext">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-groff-%-msys-%-bin.tar" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <release tarname="groff-1.20.1-2-msys-1.0.13-ext.tar.lzma" />
-      </component>
-
-      <component class="smp">
-        <release tarname="groff-1.20.1-2-msys-1.0.13-smp.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="groff-1.20.1-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="groff-1.20.1-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-guile.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-guile.xml	(revision 1046)
+++ 	(revision )
@@ -1,117 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-guile.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-guile">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="A Scheme interpreter" >
-        <paragraph>Guile is an interpreter for the Scheme programming language,
-          with support for many SRFIs (Scheme Request For Implementations),
-          packaged as a library which can be incorporated into your programs.
-          Your users have full access to the interpreter, so Guile itself can be
-          extended, based on the needs of the user.  The result is a scripting
-          language tailored to your application.
-        </paragraph>
-        <paragraph>Guile is a library designed to help programmers create
-          flexible applications.  Using Guile in an application allows
-          programmers to write plug-ins, or modules (there are many names, but
-          the concept is essentially the same) and users to use them to have an
-          application fit their needs.
-        </paragraph>
-        <paragraph>The msys-guile package provides a standalone guile
-          interpreter and all associated documentation.  The associated
-          msys-libguile package provides the runtime libraries, development
-          files, and other runtime support.
-        </paragraph>
-      </description>
-
-      <licence tarname="guile-%-msys-%-lic.tar.%" />
-      <source tarname="guile-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="guile-1.8.7-2-msys-1.0.15-bin.tar.lzma" >
-          <requires eq="msys-libguile-%-msys-%-dll-17.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="guile-1.8.7-2-msys-1.0.15-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="guile-1.8.7-2-msys-1.0.15-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libguile">
-      <description lang="en" title="An extensible Scheme interpreter library" >
-        <paragraph>Guile is a library designed to help programmers create
-          flexible applications.  Using Guile in an application allows
-          programmers to write plug-ins, or modules (there are many names, but
-          the concept is essentially the same) and users to use them to have an
-          application fit their needs.
-        </paragraph>
-        <paragraph>Guile is an interpreter for the Scheme programming language,
-          with support for many SRFIs (Scheme Request For Implementations),
-          packaged as a library which can be incorporated into your programs.
-          Your users have full access to the interpreter, so Guile itself can be
-          extended, based on the needs of the user.  The result is a scripting
-          language tailored to your application.
-        </paragraph>
-        <paragraph>The msys-libguile package provides the runtime libraries,
-          development files, and other runtime support for guile.  The
-          associated msys-guile package provides a standalone guile interpreter
-          and all associated documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="guile-%-msys-%-lic.tar.%" />
-      <source tarname="guile-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="msys-libguile-%-msys-%-rtm.tar" />
-        <release tarname="libguile-1.8.7-2-msys-1.0.15-dll-17.tar.lzma" >
-          <requires eq="msys-libcrypt-*-msys-*-dll-0.tar" />
-          <requires eq="msys-libgmp-*-msys-*-dll-10.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libltdl-*-msys-*-dll-7.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-gettext-*-msys-*-dev.tar" />
-        <requires eq="msys-libcrypt-*-msys-*-dev.tar" />
-        <requires eq="msys-libgmp-*-msys-*-dev.tar" />
-        <requires eq="msys-libltdl-*-msys-*-dev.tar" />
-        <requires eq="msys-libregex-*-msys-*-dev.tar" />
-        <release tarname="libguile-1.8.7-2-msys-1.0.15-dev.tar.lzma" >
-          <requires eq="msys-libguile-%-msys-%-dll-17.tar" />
-        </release>
-      </component>
-
-      <component class="rtm">
-        <release tarname="libguile-1.8.7-2-msys-1.0.15-rtm.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-gzip.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-gzip.xml	(revision 1046)
+++ 	(revision )
@@ -1,57 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-gzip.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-gzip">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="compress or expand files" >
-        <paragraph>Gzip reduces the size of the named files using
-          Lempel-Ziv coding (LZ77).  Whenever possible, each file is
-          replaced by one with the extension .gz, while keeping the same
-          ownership modes, access and modification times. The LZ77 algorithm
-          is the same one used by zip and PKZIP "deflate". The amount of
-          compression obtained depends on the size of the input and the
-          distribution of common substrings.  Typically, text such as
-          source code or English is reduced by 60-70%.  Compression is
-          generally much better than that achieved by LZW (as used in
-          compress), Huffman coding (as used in pack), or adaptive Huffman
-          coding (compact). gzip is the de facto standard compression
-          program on unix, and is universally available.
-        </paragraph>
-      </description>
-
-      <source tarname="gzip-%-msys-%-src.tar.%" />
-      <licence tarname="gzip-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma" />
-
-        <!-- Every MSYS package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-
-        <!-- Other requirements support the auxiliary scripts,
-          which are provided by the gzip-bin package.
-          -->
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="gzip-1.3.12-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="gzip-1.3.12-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-help2man.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-help2man.xml	(revision 1046)
+++ 	(revision )
@@ -1,36 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-help2man.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-help2man">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="generate man pages" >
-        <paragraph>help2man is a perl script to create man pages from program
-          --help and --version output.
-        </paragraph>
-      </description>
-
-      <source tarname="help2man-%-msys-%-src.tar.%" />
-      <licence tarname="help2man-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="help2man-1.40.4-1-msys-1.0.17-bin.tar.lzma" />
-        <requires eq="msys-perl-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="help2man-1.40.4-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="help2man-1.40.4-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-inetutils.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-inetutils.xml	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-inetutils.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-inetutils">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Common Networking Clients" >
-        <paragraph>inetutils provides common networking clients, including
-          telnet, ftp, rsh, rlogin, tftp, and rcp, adapated and compiled for
-          the MSYS platform on Microsoft Windows.  This MSYS package provides
-          no servers.
-        </paragraph>
-        <paragraph>Most of these utilities are security nightmares, dating
-          from a time when the internet was a more innocent place.  It is NOT
-          recommended that you use ANY of these utilities -- unless you have
-          a VERY good reason.  Use ssh, sftp, or scp from msys-openssh instead.
-        </paragraph>
-      </description>
-
-      <licence tarname="inetutils-%-msys-%-lic.tar.%" />
-      <source tarname="inetutils-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="inetutils-1.7-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="inetutils-1.7-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="inetutils-1.7-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="inetutils-1.7-1-msys-1.0.13-dev.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-less.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-less.xml	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-less.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-less">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="command-line text file viewer" >
-        <paragraph>Less is a free, open-source file pager. A pager is a
-          program that displays text files. Other pagers commonly in use
-          are more and pg. Pagers are often used in command-line
-          environments like the Unix shell and the MS-DOS command prompt
-          to display files. Windowed environments like the Windows and
-          Macintosh desktops don't need pagers as much, since they have
-          other methods for viewing files.
-        </paragraph>
-        <paragraph>Less is not an editor. You can't change the contents of
-          the file you're viewing. Less is not a windowing system. It
-          doesn't have fancy scroll bars or other GUI (graphical user
-          interface) elements. It was designed to work on simple text-only
-          terminals.
-        </paragraph>
-      </description>
-
-      <source tarname="less-%-msys-%-src.tar.%" />
-      <licence tarname="less-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="less-436-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="less-436-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="less-436-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-libarchive.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-libarchive.xml	(revision 1046)
+++ 	(revision )
@@ -1,247 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-libarchive.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-libarchive">
-      <description lang="en" title="library for handling various archive formats" >
-        <paragraph>libarchive is a programming library that can create and
-          read several different streaming archive formats, including most
-          popular tar variants and several cpio formats, mtree, and ar
-          archives.  It can also read shar, zip, jar, and xar archives, as
-          well as ISO9660 CDROM images.  It automatically handles gzip,
-          bzip2, compress, xz, and lzma compression and decompression, as
-          well as uudecode decompression.  The bsdtar program is an
-          implementation of tar(1) that is built on top of libarchive.
-        </paragraph>
-        <paragraph>This MSYS port of libarchive differs from the MinGW
-          version also provided by the MinGW/MSYS project.  In addition
-          to requiring the MSYS runtime library, this implementation
-          supports mtree data and understands MSYS's "unix" style pathnames.
-          It also supports archives that contain symbolic links by
-          converting them to equivalent hardlink (or recursive copy)
-          representations (see msys-bsdtar for more information).  The MinGW
-          implementation does not support archives with symbolic links, nor
-          mtree data.  It does, however, operate properly on systems where
-          MSYS is not installed.  Both msys-libarchive and mingw32-libarchive
-          (and their associated bsdtar and bsdcpio subpackages) depend on
-          additional DLLs such as msys-liblzma (mingw32-liblzma), etc.
-          There is, in addition, a MinGW package that provides a standalone
-          version of bsdtar which has no external dependencies and only
-          limited functionality: mingw32-basic-bsdtar (see its documentation
-          for more information).
-        </paragraph>
-        <paragraph>The msys-libarchive package provides the runtime
-          library, development files, and documentation for libarchive.
-          The associated msys-bsdtar package provides an implementation
-          of tar(1) based on libarchive, while the associated msys-bsdcpio
-          package provides a similar implementation of cpio(1).
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-msys-%-lic.tar.%" />
-      <source tarname="libarchive-%-msys-%-src.tar.%" />
-
-      <component class="doc">
-        <release tarname="libarchive-2.8.3-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libarchive-2.8.3-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-libbz2-*-msys-*-dev.tar" />
-        <requires eq="msys-liblzma-*-msys-*-dev.tar" />
-        <requires eq="msys-libopenssl-*-msys-*-dev.tar" />
-        <requires eq="msys-libxml2-*-msys-*-dev.tar" />
-        <requires eq="msys-zlib-*-msys-*-dev.tar" />
-        <release tarname="libarchive-2.8.3-1-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libarchive-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="libarchive-2.8.3-1-msys-1.0.13-dll-2.tar.lzma" >
-          <requires eq="msys-libbz2-*-msys-*-dll-1.tar" />
-          <requires eq="msys-liblzma-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libopenssl-*-msys-*-dll-100.tar" />
-          <requires eq="msys-libxml2-*-msys-*-dll-2.tar" />
-          <requires eq="msys-zlib-*-msys-*-dll.tar" />
-        </release>
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-    <package name="msys-bsdtar">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="BSD version of the tar utility" >
-        <paragraph>The msys-bsdtar package provides an implementation
-          of tar(1) based on libarchive, which manipulates streaming archive
-          files -- including the eponymous tar format.  However, bsdtar
-          can also extract from tar, pax, cpio, zip, jar, ar, xar, mtree,
-          and ISO 9660 cdrom images, as well as create tar, pax, cpio, ar,
-          mtree, and shar archives.  It supports automatic detection and
-          handling of .gz, .bz2, .lzma, .xz, and .Z decompression (and
-          compression).  It supports ustar, pax, and GNU tar formats.
-        </paragraph>
-        <paragraph>This MSYS port of bsdtar differs from the MinGW version
-          also provided by the MinGW/MSYS project.  In addition to requiring
-          the MSYS runtime library, this implementation supports mtree data
-          and understands MSYS's "unix" style pathnames.  It also supports
-          archives that contain symbolic links by converting them to
-          equivalent hardlink (or recursive copy) representations (see
-          below).  The MinGW implementation does not support archives with
-          symbolic links, nor mtree data.  It does, however, operate properly
-          on systems where MSYS is not installed.  Both msys-bsdtar and
-          mingw32-bsdtar depend on additional DLLs such as msys-libarchive
-          (mingw32-liblzma), etc.  There is, in addition, a MinGW package
-          that provides a standalone version of bsdtar which has no external
-          dependencies and only limited functionality: mingw32-basic-bsdtar
-          (see its documentation for more information).
-        </paragraph>
-        <paragraph>This msys implementation has some unique behaviors with
-          regards to symbolic and hard links.  When creating archives on an
-          MSYS platform, there are no symbolic links; hardlinks are archived
-          as on unix, without requiring duplicate storage (unless the
-          --hard-dereference option is used).  When extracing archives on
-          an MSYS platform, if the archive contains hardlinks then they are
-          reproduced on the local file system provided the Win32 filesystem
-          supports hardlinks (e.g. NTFS; on FAT, a duplicate copy of the
-          file is created).  If the archive contains symbolic links where
-          the target is a file contained within the archive itself, then
-          those links are reproduced as if they were hardlinks, as described
-          above.  "Dangling" symbolic links are not supported.  Symbolic
-          links to directories within the archive are "supported", by
-          creating a recursive copy of the target directory, where the
-          contents of the directory are treated as hardlinks as described
-          above.
-        </paragraph>
-        <paragraph>This msys implementation ignores ownership data and
-          permission bits; all extracted files are created as if owned
-          by the current user, regardless of the current user's root
-          (Administrator) status.  All archived files are added to the
-          archive with "default" permission and as if owned by the current
-          user.
-        </paragraph>
-        <paragraph>libarchive is a programming library that can create and
-          read several different streaming archive formats, including most
-          popular tar variants and several cpio formats, mtree, and ar
-          archives.  It can also read shar, zip, jar, and xar archives, as
-          well as ISO9660 CDROM images.  It automatically handles gzip,
-          bzip2, compress, xz, and lzma compression and decompression, as
-          well as uudecode decompression.  The bsdtar program is an
-          implementation of tar(1) that is built on top of libarchive.
-        </paragraph>
-        <paragraph>The msys-bsdtar package provides an implementation
-          of tar(1) based on libarchive, while the associated msys-bsdcpio
-          package provides a similar implementation of cpio(1).  The
-          associated msys-libarchive package provides the runtime
-          library, development files, and documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-msys-%-lic.tar.%" />
-      <source tarname="libarchive-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="bsdtar-2.8.3-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libarchive-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-    <package name="msys-bsdcpio">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="BSD version of the cpio utility" >
-        <paragraph>The msys-bsdcpio package provides an implementation
-          of cpio(1) based on libarchive, which copies files between
-          archives and directories.  This implementation can extract from
-          tar, pax, cpio, zip, jar, ar, mtree, xar, and ISO 9660 cdrom
-          images, as well as create tar, pax, cpio, ar, and shar archives.
-          It supports automatic detection and handling of .gz, .bz2, .lzma,
-          .xz, and .Z decompression (and compression).  It supports the old
-          POSIX.1 portable cpio format (odc), the new SVR4 portable cpio
-          format (newc), as well as the POSIX.1 pax and ustar formats.
-        </paragraph>
-        <paragraph>This MSYS port of bsdcpio differs from the MinGW version
-          also provided by the MinGW/MSYS project.  In addition to requiring
-          the MSYS runtime library, this implementation supports mtree data
-          and understands MSYS's "unix" style pathnames.  It also supports
-          archives that contain symbolic links by converting them to
-          equivalent hardlink (or recursive copy) representations (see
-          below).  The MinGW implementation does not support archives with
-          symbolic links.  It does, however, operate properly on systems
-          where MSYS is not installed.  Both msys-bsdcpio and mingw32-bsdcpio
-          depend on additional DLLs such as msys-libarchive (mingw32-liblzma),
-          etc.
-        </paragraph>
-        <paragraph>This msys implementation has some unique behaviors with
-          regards to symbolic and hard links.  When creating archives on an
-          MSYS platform, there are no symbolic links; hardlinks are archived
-          as on unix, without requiring duplicate storage (unless the
-          --hard-dereference option is used).  When extracing archives on
-          an MSYS platform, if the archive contains hardlinks then they are
-          reproduced on the local file system provided the Win32 filesystem
-          supports hardlinks (e.g. NTFS. On FAT, a duplicate copy of the
-          file is created).  If the archive contains symbolic links where
-          the target is a file contained within the archive itself, then
-          those links are reproduced as if they were hardlinks, as described
-          above.  "Dangling" symbolic links are not supported.  Symbolic
-          links to directories within the archive are "supported", by
-          creating a recursive copy of the target directory, where the
-          contents of the directory are treated as hardlinks as described
-          above.
-        </paragraph>
-        <paragraph>This msys implementation ignores ownership data and
-          permission bits; all extracted files are created as if owned
-          by the current user, regardless of the current user's root
-          (Administrator) status.  All archived files are added to the
-          archive with "default" permission and as if owned by the current
-          user.
-        </paragraph>
-        <paragraph>libarchive is a programming library that can create and
-          read several different streaming archive formats, including most
-          popular tar variants and several cpio formats, mtree, and ar
-          archives.  It can also read shar, zip, jar, and xar archives, as
-          well as ISO9660 CDROM images.  It automatically handles gzip,
-          bzip2, compress, xz, and lzma compression and decompression, as
-          well as uudecode decompression.  The bsdcpio program is an
-          implementation of cpio(1) that is built on top of libarchive.
-        </paragraph>
-        <paragraph>The msys-bsdcpio package provides an implementation
-          of cpio(1) based on libarchive, while the associated msys-bsdtar
-          package provides a similar implementation of tar(1).  The
-          associated msys-libarchive package provides the runtime
-          library, development files, and documentation.
-        </paragraph>
-      </description>
-
-      <licence tarname="libarchive-%-msys-%-lic.tar.%" />
-      <source tarname="libarchive-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="bsdcpio-2.8.3-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libarchive-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-libiconv.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-libiconv.xml	(revision 1046)
+++ 	(revision )
@@ -1,112 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-libiconv.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-libiconv">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU libraries and utilities for character set conversion" >
-        <paragraph>This is not the libiconv you are looking for.</paragraph>
-        <paragraph>GNU libiconv provides an implementation of the iconv()
-          function which is used to convert between various character
-          representations for different locales.  This function is provided
-          for use on systems which don't already have iconv(), or whose
-          implementation cannot convert from/to Unicode. This package also
-          provides a tool, iconv(1), which can be used to convert character
-          sets from the command line. The associated libcharset provides a
-          mechanism to determine the canonical character set name of the
-          current locale.
-        </paragraph>
-        <paragraph>This msys port of libiconv has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem which require character
-          set conversion (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you
-          should install the mingw32-libiconv-* package(s) instead.
-        </paragraph>
-      </description>
-
-      <source tarname="libiconv-%-msys-%-src.tar.%" />
-      <licence tarname="libiconv-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="libiconv-1.13.1-2-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-%-msys-%-dll-2.tar" />
-        </release>
-        <release tarname="libiconv-1.14-1-msys-1.0.17-bin.tar.lzma">
-          <requires ge="msys-libintl-0.18.1.1-1-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-%-msys-%-dll-2.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="libiconv-1.13.1-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="libiconv-1.14-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libiconv-1.13.1-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="libiconv-1.14-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libiconv-1.13.1-2-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libiconv-%-msys-%-dll-2.tar" />
-        </release>
-        <release tarname="libiconv-1.14-1-msys-1.0.17-dev.tar.lzma" >
-          <requires eq="msys-libiconv-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="dll">
-        <release tarname="libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma" />
-        <release tarname="libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-    <package name="msys-libcharset">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="GNU libraries and utilities for character set conversion" >
-        <paragraph>This is not the libcharset you are looking for.</paragraph>
-        <paragraph>GNU libiconv provides an implementation of the iconv()
-          function which is used to convert between various character
-          representations for different locales.  This function is provided
-          for use on systems which don't already have iconv(), or whose
-          implementation cannot convert from/to Unicode. This package also
-          provides a tool, iconv(1), which can be used to convert character
-          sets from the command line. The associated libcharset provides a
-          mechanism to determine the canonical character set name of the
-          current locale.
-        </paragraph>
-        <paragraph>This msys port of libiconv has been modified
-          specifically for the MSYS System Builder environment; that is,
-          it is intended to be used only when producing binary packages
-          for the MSYS subsystem.  If you intend to produce executables
-          for the native "mingw32" subsystem which require character
-          set conversion (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you
-          should install the mingw32-libiconv-* package(s) instead.
-        </paragraph>
-      </description>
-
-      <source tarname="libiconv-%-msys-%-src.tar.%" />
-      <licence tarname="libiconv-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libcharset-1.13.1-2-msys-1.0.13-dll-1.tar.lzma" />
-        <release tarname="libcharset-1.14-1-msys-1.0.17-dll-1.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-libtool.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-libtool.xml	(revision 1046)
+++ 	(revision )
@@ -1,110 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-libtool.xml ~~ mingw-get package description libtool (msys) -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-libtool">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="A shared library generation tool" >
-        <paragraph>This is not the libtool you are looking for.</paragraph>
-        <paragraph>GNU libtool is a generic library support package.  Libtool
-          hides the complexity of using shared libraries behind a consistent,
-          portable interface.  Libtool requires the use of Autoconf.
-        </paragraph>
-        <paragraph>This msys port of libtool has been modified specifically for
-          the MSYS System Builder (msys-dvlpr) environment; that is, it is
-          intended to be used only when producing binary packages for the MSYS
-          subsystem.  If you intend to produce executables for the native
-          "mingw32" subsystem (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you should
-          install the mingw32-libtool-* package instead.
-        </paragraph>
-        <paragraph>msys-libtool provides the development files and utilities for
-          managing the creation and use of shared libraries in a platform
-          independent manner.  The associated msys-libltdl package provides the
-          runtime library and development files for using a pre-built version of
-          libtool's dlopen replacement library.
-        </paragraph>
-      </description>
-
-      <licence tarname="libtool-%-msys-%-lic.tar.%" />
-      <source tarname="libtool-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-autoconf-*-msys-*-bin.tar" />
-        <requires eq="msys-automake-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-file-*-msys-*-bin.tar" />
-        <requires eq="msys-m4-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <!-- libtool doesn't actually depend on its own runtime library -->
-        <release tarname="libtool-2.2.7a-2-msys-1.0.13-bin.tar.lzma" />
-        <release tarname="libtool-2.4-1-msys-1.0.15-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="libtool-2.2.7a-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="libtool-2.4-1-msys-1.0.15-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libtool-2.2.7a-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="libtool-2.4-1-msys-1.0.15-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libltdl">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="A portable dlopen replacement" >
-        <paragraph>This is not the libtool you are looking for.</paragraph>
-        <paragraph>GNU libtool is a generic library support package.  Libtool
-          hides the complexity of using shared libraries behind a consistent,
-          portable interface.  Libtool requires the use of Autoconf.
-        </paragraph>
-        <paragraph>This msys port of libtool has been modified specifically for
-          the MSYS System Builder (msys-dvlpr) environment; that is, it is
-          intended to be used only when producing binary packages for the MSYS
-          subsystem.  If you intend to produce executables for the native
-          "mingw32" subsystem (that is, applications that should work on
-          Microsoft Windows installations without the MSYS dll), then you should
-          install the mingw32-libtool-* package instead.
-        </paragraph>
-        <paragraph>msys-libltdl provides the runtime library and development
-          files for using a pre-built version of libtool's dlopen replacement
-          library.  The associated msys-libtool package provides the development
-          files and utilities for managing the creation and use of shared
-          libraries in a platform independent manner.
-        </paragraph>
-      </description>
-
-      <licence tarname="libtool-%-msys-%-lic.tar.%" />
-      <source tarname="libtool-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libltdl-2.2.7a-2-msys-1.0.13-dll-7.tar.lzma" />
-        <release tarname="libltdl-2.4-1-msys-1.0.15-dll-7.tar.lzma" />
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-libtool-%-msys-%-bin.tar" />
-        <release tarname="libltdl-2.2.7a-2-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libltdl-%-msys-%-dll-7.tar" />
-        </release>
-        <release tarname="libltdl-2.4-1-msys-1.0.15-dev.tar.lzma" >
-          <requires eq="msys-libltdl-%-msys-%-dll-7.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-libxml2.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-libxml2.xml	(revision 1046)
+++ 	(revision )
@@ -1,64 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-libxml2.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-libxml2">
-      <description lang="en" title="An XML parser and toolkit" >
-        <paragraph>Libxml2 is the XML C parser and toolkit developed for
-          the Gnome project (but usable outside of the Gnome platform).  It
-          is free software available under the MIT License.  XML itself is a
-          metalanguage to design markup languages, i.e. text language where
-          semantic and structure are added to the content using extra
-          'markup' information enclosed between angle brackets.  HTML is the
-          most well-known markup language.  Though the library is written in
-          C, a variety of language bindings make it available in other
-          environments.
-        </paragraph>
-      </description>
-
-      <licence tarname="libxml2-%-msys-%-lic.tar.%" />
-      <source tarname="libxml2-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="libxml2-2.7.6-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libxml2-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="libxml2-2.7.6-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="libxml2-2.7.6-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-
-      <component class="dll">
-        <release tarname="libxml2-2.7.6-1-msys-1.0.13-dll-2.tar.lzma" >
-          <requires eq="msys-zlib-*-msys-*-dll.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        </release>
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libxml2-2.7.6-1-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libxml2-%-msys-%-dll-2.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-lndir.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-lndir.xml	(revision 1046)
+++ 	(revision )
@@ -1,48 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-lndir.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-lndir">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Xorg recursive directory symlink tool">
-        <paragraph>The lndir program makes a shadow copy of a directory
-          tree, except that the shadow is not populated with real files but
-          instead with symbolic links (*) pointing at the real files in the
-          original directory tree.  This is usually useful building
-          applications outside their source directory, when the build
-          machinery does not directly support that behavior.  You can build
-          in the shadow tree, and the object files will be in the shadow
-          directory, while the source files in the shadow directory are just
-          symlinks (*) to the real files.
-        </paragraph>
-        <paragraph>(*) On MSYS, instead of symbolic links the shadow tree is
-          populated with hardlinks to the original files whenever possible,
-          and with copies if not (e.g. the original and destination directories
-          are on different devices, or the file system is not NTFS).
-        </paragraph>
-      </description>
-
-      <licence tarname="lndir-%-msys-%-lic.tar.%" />
-      <source tarname="lndir-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="lndir-1.0.1-2-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="lndir-1.0.1-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="lndir-1.0.1-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-lpr-enhanced.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-lpr-enhanced.xml	(revision 1046)
+++ 	(revision )
@@ -1,75 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-lpr-enhanced.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-lpr-enhanced">
-      <description lang="en" title="A full-featured implementation of unix lpr for MSYS" >
-        <paragraph>lpr-enhanced is an implementation of the unix lpr system
-          for MSYS, and unlike lpr-basic (msys-cygutils) supports many of
-          the advanced capabilities of a true Unix implementation.  These
-          features include format-dependent filters to pre-process data
-          before spooling to the printer.  The filters may includes nroff,
-          ditroff, or TeX pre-processors, among others.  It supports
-          /etc/printcap-style configuration, and honors both BSD options
-          (when invoked as 'lpr') and SysV options (when invoked as 'lp').
-          A sample /etc/printcap file is in /var/spool/lp/config/example,
-          but it MUST be copied to /var/spool/lp/config/.active or to
-          /etc/printcap and customized for your environment -- just like
-          on unix.
-        </paragraph>
-        <paragraph>The lpr-basic executable from the msys-cygutils package
-          (see below) is installed, by default, as both /bin/lpr.exe and
-          /bin/lpr-basic.exe.  To use lpr-enhanced, you should manually
-          remove /bin/lpr.exe, and manually copy /bin/lpr-enhanced to
-          /bin/lpr (and/or /bin/lp).  You may need to repeat this step each
-          time msys-cygutils is (re)installed or updated.
-        </paragraph>
-        <paragraph>A note about lpr-basic: lpr-basic spools a file to the
-          specified printer device.  MSYS provides two separate
-          implementations: lpr-basic.exe and lpr-enhanced.  lpr-basic.exe is
-          suitable for most simple printing needs; it can send "raw" data
-          to any installed Windows printer.  This is most useful for raw
-          text, for sending plain PostScript files to PostScript-compatible
-          printers, and for re-sending .prn files generated using Windows'
-          own print-to-file capabilities to the specific printer for which
-          the .prn file was generated.  lpr-enhanced is more capable, more
-          unix-like, and more difficult to configure.  Use lpr-enhanced if
-          you need the additional flexibility it provides, or are more
-          comfortable with traditional unix lpr and/or lp semantics.
-        </paragraph>
-      </description>
-
-      <licence tarname="lpr-enhanced-%-msys-%-lic.tar.%" />
-      <source tarname="lpr-enhanced-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- msys-coreutils-ext provides /bin/pr, which is used by
-             lpr-enhanced and the example printcap configuration.
-             msys-cygutils-dos2unix-bin provides d2u, which is used by the
-             example printcap configuration. -->
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-ext.tar" />
-        <requires eq="msys-cygutils-dos2unix-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <release tarname="lpr-enhanced-1.0.2-1-msys-1.0.11-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="lpr-enhanced-1.0.2-1-msys-1.0.11-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="lpr-enhanced-1.0.2-1-msys-1.0.11-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-m4.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-m4.xml	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013022400">
-
-  <!-- File: msys-m4.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-m4">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU Macro Processor" >
-        <paragraph>m4 is a macro processor, in the sense that it copies
-          its input to the output, expanding macros as it goes.  Macros
-          are either builtin or user-defined, and can take any number of
-          arguments.  Besides just doing macro expansion, `m4' has builtin
-          functions for including named files, running shell commands,
-          doing integer arithmetic, manipulating text in various ways,
-          performing recursion, etc....  `m4' can be used either as a
-          front-end to a compiler, or as a macro processor in its own
-          right. Its primary use is by autoconf, to generate configure
-          scripts from a library of m4 macros.
-        </paragraph>
-      </description>
-
-      <source tarname="m4-%-msys-%-src.tar.%" />
-      <licence tarname="m4-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="m4-1.4.16-2-msys-1.0.17-bin.tar.lzma" />
-        <release tarname="m4-1.4.14-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="m4-1.4.16-2-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="m4-1.4.14-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="m4-1.4.16-2-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="m4-1.4.14-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-make.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-make.xml	(revision 1046)
+++ 	(revision )
@@ -1,64 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-make.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-make">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU make utility to maintain groups of programs" >
-        <paragraph>The `make' utility automatically determines which pieces
-          of a large program need to be recompiled, and issues commands to
-          recompile them. GNU `make' was implemented by Richard Stallman
-          and Roland McGrath.  Development since Version 3.76 has been
-          handled by Paul D. Smith.
-        </paragraph>
-        <paragraph>This is a case-preserving version of GNU make. While the
-          win32 file systems encountered when using MSYS software are
-          invariably case-INsensitive, some users prefer a GNU `make' that
-          itself is case-sensitive -- this version of make is a compromise
-          which exploits the case-preserving aspect of win32 file systems.
-          It considers *all* targets as fundamentally case-insensitive, but
-          first attempts to resolve them as case-sensitive, falling back to
-          the case-insensitive behaviour only if the case-sensitive match
-          remains unresolved.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides two versions of make:
-          this msys-make version acts generally more as make is intended
-          to operate, and gives fewer headaches during execution. However,
-          msys-make requires the MSYS dll.  The other version, mingw32-make,
-          does not require the MSYS dll, but because of the lack of POSIX
-          support in "pure" Win32 has a number of known shortcomings in
-          comparison.
-        </paragraph>
-      </description>
-
-      <source tarname="make-%-msys-%-src.tar.%" />
-      <licence tarname="make-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-
-        <release tarname="make-3.81-3-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="make-3.81-3-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="make-3.81-3-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="make-3.81-3-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-man.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-man.xml	(revision 1046)
+++ 	(revision )
@@ -1,50 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-xz.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-man">
-      <description lang="en" title="formats and displays manual pages" >
-        <paragraph>Formats and displays on-line manual pages.  Note that
-          most MinGW/MSYS packages do not, by default, install the man
-          pages; generally these documents are provided in a -doc or
-          -man subpackage.
-        </paragraph>
-      </description>
-
-      <licence tarname="man-%-msys-%-lic.tar.%" />
-      <source tarname="man-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-groff-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-        <!-- deliberately not including perl, which is required only
-        by `manlint' -->
-        <release tarname="man-1.6f-2-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="man-1.6f-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="man-1.6f-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="man-1.6f-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-minires.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-minires.xml	(revision 1046)
+++ 	(revision )
@@ -1,103 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-minires.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-minires">
-      <description lang="en" title="Simple win32 DNS client" >
-        <paragraph>minires provides a simple implementation of resolver
-          functions commonly used in clients, adapted to the MSYS
-          environment.
-        </paragraph>
-        <paragraph>On Windows 2000 and above, the query functions
-          (like res_query) are implemented by calling the Win32 API
-          function DnsQuery and translating the result to wire format --
-          if the file /etc/resolv.conf (c:\msys\1.0\etc\resolv.conf) is
-          not readable or contains an options line with the token "osquery".
-        </paragraph>
-        <paragraph>Otherwise, minires works as a simple synchronous non-
-          caching stub resolver.  Instead of querying a local bind daemon,
-          this implementation attempts to reach predefined name servers.
-          Their addresses are obtained directly from Windows (except on
-          Win95 with DHCP), from /etc/resolv.conf, or from the
-          LOCALDOMAIN environment variable.
-        </paragraph>
-        <paragraph>The msys-minires package provides the documentation
-          for the minires library and test/debug applications, while the
-          associated msys-libminires package provides the runtime library
-          and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="minires-%-msys-%-lic.tar.%" />
-      <source tarname="minires-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="minires-1.02_1-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libminires-%-msys-%-dll.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="minires-1.02_1-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="minires-1.02_1-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libminires">
-      <description lang="en" title="Simple win32 DNS client" >
-        <paragraph>minires provides a simple implementation of resolver
-          functions commonly used in clients, adapted to the MSYS
-          environment.
-        </paragraph>
-        <paragraph>On Windows 2000 and above, the query functions
-          (like res_query) are implemented by calling the Win32 API
-          function DnsQuery and translating the result to wire format --
-          if the file /etc/resolv.conf (c:\msys\1.0\etc\resolv.conf) is
-          not readable or contains an options line with the token "osquery".
-        </paragraph>
-        <paragraph>Otherwise, minires works as a simple synchronous non-
-          caching stub resolver.  Instead of querying a local bind daemon,
-          this implementation attempts to reach predefined name servers.
-          Their addresses are obtained directly from Windows (except on
-          Win95 with DHCP), from /etc/resolv.conf, or from the
-          LOCALDOMAIN environment variable.
-        </paragraph>
-        <paragraph>The msys-libminires package provides the runtime library
-          and related development files, while the associated msys-minires
-          minires package provides the documentation and test/debug
-          applications.
-        </paragraph>
-      </description>
-
-      <licence tarname="minires-%-msys-%-lic.tar.%" />
-      <source tarname="minires-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="libminires-1.02_1-2-msys-1.0.13-dll.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libminires-1.02_1-2-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libminires-%-msys-%-dll.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
-
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-mintty.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-mintty.xml	(revision 1046)
+++ 	(revision )
@@ -1,62 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-mintty.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-mintty" alias="mintty">
-      <description lang="en" title="terminal emulator" >
-        <paragraph>Mintty is a terminal emulator for Cygwin and Cygwin
-          derivatives such as MSYS.
-        </paragraph>
-        <paragraph>To launch MSYS in a mintty window, create a shortcut
-          to C:\msys\1.0\msys.bat, with the argument "--mintty". Some
-          people find mintty a more accomodating terminal than cmd.exe, since
-          it may be resized at will and has a larger scrollback buffer.
-          However, mintty sometimes does not interoperate well with native
-          applications (such as MinGW gcc), so the default cmd.exe console
-          is recommended for most users.
-        </paragraph>
-      </description>
-
-      <licence tarname="mintty-%-msys-%-lic.tar.%" />
-      <source tarname="mintty-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="mintty-1.0.3-1-msys-1.0.17-bin.tar.lzma" />
-        <release tarname="mintty-1.0.2-1-msys-1.0.17-bin.tar.lzma" />
-        <release tarname="mintty-1.0.1-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.9-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.8-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.7-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.6-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.5-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.4-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.3-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.2-1-msys-1.0.16-bin.tar.lzma" />
-        <release tarname="mintty-0.9.1-1-msys-1.0.16-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="mintty-1.0.3-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="mintty-1.0.2-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="mintty-1.0.1-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.9-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.8-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.7-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.6-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.5-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.4-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.3-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.2-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="mintty-0.9.1-1-msys-1.0.16-doc.tar.lzma" />
-      </component>
-
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-mksh.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-mksh.xml	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2011112700">
-
-  <!-- File: msys-mksh.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-mksh" alias="mksh">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="mksh: The MirBSD Korn Shell" >
-        <paragraph>The MirBSD Korn Shell is an actively developed free
-          implementation of the Korn Shell programming language and a successor
-          to the Public Domain Korn Shell (pdksh).
-        </paragraph>
-      </description>
-
-      <source tarname="mksh-%-msys-%-src.tar.%" />
-      <licence tarname="mksh-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="mksh-40.0.0c-1-msys-1.0.17-bin.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="mksh-40.0.0c-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mksh-40.0.0c-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-mktemp.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-mktemp.xml	(revision 1046)
+++ 	(revision )
@@ -1,39 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-mktemp.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-mktemp">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="create a temporary file or directory" >
-        <paragraph>The mktemp utility takes the given filename template and
-          overwrites a portion of it to create a unique filename.  The
-          template may be any filename with some number of `Xs' appended
-          to it, for example /tmp/tfile.XXXXXXXXXX.  It is used by scripts
-          to safely generate temporary files and directories.
-        </paragraph>
-      </description>
-
-      <licence tarname="mktemp-%-msys-%-lic.tar.%" />
-      <source tarname="mktemp-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="mktemp-1.6-2-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="mktemp-1.6-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="mktemp-1.6-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-ncurses.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-ncurses.xml	(revision 1046)
+++ 	(revision )
@@ -1,92 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2016031600">
-
-  <!-- File: msys-ncurses.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-ncurses">
-      <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools">
-        <paragraph>
-          The  ncurses  (new  curses)  library  is  a free software emulation of
-          curses  in  System  V  Release 4.0, and more. It uses terminfo format,
-          supports  pads  and color and multiple highlights and forms characters
-          and   function-key   mapping,   and  has  all  the  other  SYSV-curses
-          enhancements over BSD curses.
-        </paragraph>
-        <paragraph>The msys-ncurses package provides the documentation and
-          programs for the ncurses library.  The associated msys-libncurses
-          package provides the runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-msys-%-lic.tar.%" />
-      <source tarname="ncurses-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <release tarname="ncurses-6.0-2-msys-1.0.18-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="ncurses-6.0-2-msys-1.0.18-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="ncurses-6.0-2-msys-1.0.18-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libncurses">
-
-      <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools">
-        <paragraph>
-          The  ncurses  (new  curses)  library  is  a free software emulation of
-          curses  in  System  V  Release 4.0, and more. It uses terminfo format,
-          supports  pads  and color and multiple highlights and forms characters
-          and   function-key   mapping,   and  has  all  the  other  SYSV-curses
-          enhancements over BSD curses.
-        </paragraph>
-        <paragraph>The msys-libncurses package provides the runtime library
-          and related development files for ncurses.  The associated
-          msys-ncurses package provides the documentation and programs
-          related to the library.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-msys-%-lic.tar.%" />
-      <source tarname="ncurses-%-msys-%-src.tar.%" />
-
-      <component class="dev">
-        <release tarname="libncurses-6.0-2-msys-1.0.18-dev.tar.lzma" />
-      </component>
-
-      <component class="dll">
-        <release tarname="libncurses-6.0-2-msys-1.0.18-dll-6.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-terminfo">
-
-      <description lang="en" title="Terminal capability data base">
-        <paragraph>
-         Terminfo  is  a  data  base  describing terminals, used by
-         screen-oriented programs  such  as  nvi(1),  rogue(1)  and
-         libraries  such  as curses(3x).  Terminfo describes termi-
-         nals by giving a set of capabilities which they  have,  by
-         specifying how to perform screen operations, and by speci-
-         fying padding requirements and  initialization  sequences.
-        </paragraph>
-      </description>
-
-      <licence tarname="ncurses-%-msys-%-lic.tar.%" />
-      <source tarname="ncurses-%-msys-%-src.tar.%" />
-
-      <component class="data">
-        <release tarname="terminfo-6.0-2-msys-1.0.18-data.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-openssh.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-openssh.xml	(revision 1046)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-openssh.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-openssh">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Secure Networking Clients" >
-        <paragraph>openssh is a FREE version of the SSH connectivity tools
-          that technical users of the Internet rely on.  Users of telnet,
-          rlogin, and ftp may not realize that their password is transmitted
-          across the Internet unencrypted, but it is.  OpenSSH encrypts all
-          traffic (including passwords) to effectively eliminate
-          eavesdropping, connection hijacking, and other attacks.
-          Additionally, OpenSSH provides secure tunneling capabilities and
-          several authentication methods, and supports all SSH protocol
-          versions.
-        </paragraph>
-        <paragraph>The OpenSSH suite replaces rlogin and telnet with the ssh
-          program, rcp with scp, and ftp with sftp.  Other utilities like
-          ssh-add, ssh-agent, ssh-keysign, ssh-keyscan, and ssh-keygen are
-          also included.
-        </paragraph>
-      </description>
-
-      <licence tarname="openssh-%-msys-%-lic.tar.%" />
-      <source tarname="openssh-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="openssh-5.4p1-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libminires-*-msys-*-dll.tar" />
-          <requires eq="msys-libopenssl-*-msys-*-dll-100.tar" />
-          <requires eq="msys-zlib-*-msys-*-dll.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="openssh-5.4p1-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="openssh-5.4p1-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-openssl.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-openssl.xml	(revision 1046)
+++ 	(revision )
@@ -1,89 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-openssl.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-openssl">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Open source crypto toolkit for TLS/SSL" >
-        <paragraph>openssl is a collaborative effort to develop a robust,
-          commercial-grade, fully featured, and Open Source toolkit
-          implementing the Secure Sockets Layer (SSL v2/v3) and Transport
-          Layer Security (TLS v1) protocols as well as a full-strength
-          general purpose cryptography library.  The project is managed by
-          a worldwide community of volunteers that use the Internet to
-          communicate, plan, and develop the OpenSSL toolkit and its
-          related documentation.
-        </paragraph>
-        <paragraph>The msys-openssl package provides the documentation
-          for the openssl library, a few pre-defined certificates, and
-          several useful utilities.  The associated msys-libopenssl package
-          provides the runtime library and related development files.
-        </paragraph>
-      </description>
-
-      <licence tarname="openssl-%-msys-%-lic.tar.%" />
-      <source tarname="openssl-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="openssl-1.0.0-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libopenssl-%-msys-%-dll-100.tar" />
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="openssl-1.0.0-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="openssl-1.0.0-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libopenssl">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Open source crypto toolkit for TLS/SSL" >
-        <paragraph>openssl is a collaborative effort to develop a robust,
-          commercial-grade, fully featured, and Open Source toolkit
-          implementing the Secure Sockets Layer (SSL v2/v3) and Transport
-          Layer Security (TLS v1) protocols as well as a full-strength
-          general purpose cryptography library.  The project is managed by
-          a worldwide community of volunteers that use the Internet to
-          communicate, plan, and develop the OpenSSL toolkit and its
-          related documentation.
-        </paragraph>
-        <paragraph>The msys-libopenssl package provides the runtime library
-          and related development files.  The associated msys-openssl package
-          provides the documentation for the openssl library, a few
-          pre-defined certificates, and several useful utilities.
-        </paragraph>
-      </description>
-
-      <licence tarname="openssl-%-msys-%-lic.tar.%" />
-      <source tarname="openssl-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libopenssl-1.0.0-1-msys-1.0.13-dll-100.tar.lzma" />
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libopenssl-1.0.0-1-msys-1.0.13-dev.tar.lzma" >
-          <requires eq="msys-libopenssl-%-msys-%-dll-100.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-package-list.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-package-list.xml	(revision 1046)
+++ 	(revision )
@@ -1,94 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016071500">
-
-  <!-- File: msys-package-list.xml -->
-
-  <!-- This is a preliminary catalogue describing the contents of the
-       MSYS distribution. -->
-
-  <package-group-hierarchy>
-    <package-group name="MSYS" expand="true">
-      <package-group name="MSYS Base System" />
-      <package-group name="MinGW Developer Toolkit" />
-      <package-group name="MSYS System Builder" />
-    </package-group>
-  </package-group-hierarchy>
-
-  <!-- "real" packages ~~ those commented out are yet to be published -->
-  <package-list issue="2012073100" catalogue="msys-autoconf" />
-  <package-list issue="2012073100" catalogue="msys-autogen" />
-  <package-list issue="2012073100" catalogue="msys-automake" />
-  <package-list issue="2014101900" catalogue="msys-bash" />
-  <package-list issue="2010090600" catalogue="msys-binutils" />
-  <package-list issue="2012073100" catalogue="msys-bison" />
-  <package-list issue="2013020400" catalogue="msys-bzip2" />
-  <package-list issue="2012073100" catalogue="msys-console" />
-  <package-list issue="2016071500" catalogue="msys-core" />
-  <package-list issue="2012073100" catalogue="msys-coreutils" />
-  <package-list issue="2012073100" catalogue="msys-crypt" />
-  <package-list issue="2012073100" catalogue="msys-cvs" />
-  <package-list issue="2012073100" catalogue="msys-cygutils" />
-  <package-list issue="2012073100" catalogue="msys-dash" />
-  <package-list issue="2012073100" catalogue="msys-diffutils" />
-  <package-list issue="2012073100" catalogue="msys-diffstat" />
-  <package-list issue="2015122200" catalogue="msys-dos2unix" />
-  <package-list issue="2012073100" catalogue="msys-expat" />
-  <package-list issue="2012073100" catalogue="msys-file" />
-  <package-list issue="2012073100" catalogue="msys-findutils" />
-  <package-list issue="2012073100" catalogue="msys-flex" />
-  <package-list issue="2012073100" catalogue="msys-gawk" />
-  <package-list issue="2013101200" catalogue="msys-gcc" />
-  <package-list issue="2012073100" catalogue="msys-gdbm" />
-  <package-list issue="2012073100" catalogue="msys-gettext" />
-  <package-list issue="2012073100" catalogue="msys-gmp" />
-  <package-list issue="2012073100" catalogue="msys-grep" />
-  <package-list issue="2012073100" catalogue="msys-groff" />
-  <package-list issue="2012073100" catalogue="msys-guile" />
-  <package-list issue="2012073100" catalogue="msys-gzip" />
-  <package-list issue="2012073100" catalogue="msys-help2man" />
-  <package-list issue="2012073100" catalogue="msys-inetutils" />
-  <package-list issue="2012073100" catalogue="msys-less" />
-  <package-list issue="2012073100" catalogue="msys-libarchive" />
-  <package-list issue="2012073100" catalogue="msys-libiconv" />
-  <package-list issue="2012073100" catalogue="msys-libtool" />
-  <package-list issue="2012073100" catalogue="msys-libxml2" />
-  <package-list issue="2012073100" catalogue="msys-lndir" />
-  <package-list issue="2012073100" catalogue="msys-lpr-enhanced" />
-  <package-list issue="2013022400" catalogue="msys-m4" />
-  <package-list issue="2012073100" catalogue="msys-make" />
-  <package-list issue="2012073100" catalogue="msys-man" />
-  <package-list issue="2012073100" catalogue="msys-minires" />
-  <package-list issue="2012073100" catalogue="msys-mintty" />
-  <package-list issue="2012073100" catalogue="msys-mktemp" />
-  <package-list issue="2012073100" catalogue="msys-openssh" />
-  <package-list issue="2012073100" catalogue="msys-openssl" />
-  <package-list issue="2012073100" catalogue="msys-patch" />
-  <package-list issue="2013101200" catalogue="msys-perl" />
-  <package-list issue="2012073100" catalogue="msys-popt" />
-  <package-list issue="2012073100" catalogue="msys-rebase" />
-  <package-list issue="2012073100" catalogue="msys-regex" />
-  <package-list issue="2012073100" catalogue="msys-rsync" />
-  <package-list issue="2012073100" catalogue="msys-rxvt" />
-  <package-list issue="2012073100" catalogue="msys-sed" />
-  <package-list issue="2012073100" catalogue="msys-tar" />
-  <package-list issue="2012073100" catalogue="msys-termcap" />
-  <package-list issue="2012073100" catalogue="msys-texinfo" />
-  <package-list issue="2012073100" catalogue="msys-unzip" />
-  <package-list issue="2012073100" catalogue="msys-vim" />
-  <package-list issue="2010090600" catalogue="msys-w32api" />
-  <package-list issue="2012073100" catalogue="msys-wget" />
-  <package-list issue="2012073100" catalogue="msys-xz" />
-  <package-list issue="2012073100" catalogue="msys-zip" />
-  <package-list issue="2012073100" catalogue="msys-zlib" />
-
-  <!-- "real" packages ~~ user contributed -->
-  <package-list issue="2011112700" catalogue="msys-mksh" />
-  <package-list issue="2016031600" catalogue="msys-ncurses" />
-
-  <!-- "virtual" packages -->
-  <package-list issue="2013072300" catalogue="msys-base" />
-  <package-list issue="2013072300" catalogue="mingw-developer-toolkit" />
-  <package-list issue="2010090600" catalogue="msys-system-builder" />
-
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-patch.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-patch.xml	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-patch.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-patch">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="Apply a diff file to an original" >
-        <paragraph>GNU patch is an implementation of Larry Wall's program
-          that takes "diff's" output and applies it to an original file to
-          generate a modified version of that file. Normally, the patched
-          versions are put in place of the originals. Backups can be made.
-        </paragraph>
-      </description>
-
-      <source tarname="patch-%-msys-%-src.tar.%" />
-      <licence tarname="patch-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="patch-2.6.1-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="patch-2.6.1-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="patch-2.6.1-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-perl.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-perl.xml	(revision 1046)
+++ 	(revision )
@@ -1,76 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2013101200">
-
-  <!-- File: msys-perl.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-perl">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="The Perl programming language">
-        <paragraph>Perl is a general-purpose programming language
-          originally developed for text manipulation and now used for
-          a wide range of tasks including system administration, web
-          development, network programming, GUI development, and more.
-          Its primary utility on the MSYS platform is to run the autoconf
-          and automake developer utilities.
-        </paragraph>
-      </description>
-
-      <licence tarname="perl-%-msys-%-lic.tar.%" />
-      <source tarname="perl-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="perl-5.6.1_2-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-zlib-*-msys-*-dll.tar" />
-          <requires eq="msys-libgdbm-*-msys-*-dll-3.tar" />
-          <requires eq="msys-libcrypt-*-msys-*-dll-0.tar" />
-        </release>
-        <release tarname="perl-5.8.8-1-msys-1.0.17-bin.tar.lzma" >
-          <requires eq="msys-zlib-*-msys-*-dll.tar" />
-          <requires eq="msys-libbz2-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libgdbm-*-msys-*-dll-3.tar" />
-          <requires eq="msys-libcrypt-*-msys-*-dll-0.tar" />
-          <requires eq="msys-libexpat-*-msys-*-dll-1.tar" />
-          <requires eq="msys-libxml2-*-msys-*-dll-2.tar" />
-          <!-- for perlrebase script -->
-          <!--
-          <requires eq="msys-findutils-*-msys-*-bin.tar" />
-          <requires eq="msys-grep-*-msys-*-bin.tar" />
-          <requires eq="msys-sed-*-msys-*-bin.tar" />
-          <requires eq="msys-rebase-*-msys-*-bin.tar" />
-          -->
-          <!-- and one of these two: -->
-          <!--
-          <requires eq="msys-binutils-*-msys-*-bin.tar" />
-          <requires eq="mingw32-binutils-*-mingw32-*-bin.tar" />
-          -->
-        </release>
-      </component>
-
-      <component class="doc">
-        <release tarname="perl-5.6.1_2-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="perl-5.8.8-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="html">
-        <release tarname="perl-5.6.1_2-2-msys-1.0.13-html.tar.lzma" />
-        <release tarname="perl-5.8.8-1-msys-1.0.17-html.tar.lzma" />
-      </component>
-
-      <component class="man">
-        <release tarname="perl-5.6.1_2-2-msys-1.0.13-man.tar.lzma" />
-        <release tarname="perl-5.8.8-1-msys-1.0.17-man.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="perl-5.6.1_2-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="perl-5.8.8-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-popt.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-popt.xml	(revision 1046)
+++ 	(revision )
@@ -1,72 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-popt.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-popt">
-      <description lang="en" title="Command line option parsing library" >
-        <paragraph>popt is a command line option parsing library. While
-          popt is similiar to getopt, it contains a number of enhancements.
-          This version is based on the rpm5.org version of popt, rather
-          than the rpm.org version. The rpm5.org implementation is more
-          portable.
-        </paragraph>
-        <paragraph>The msys-popt package provides the documentation for the
-          popt library. The associated msys-libpopt package provides the
-          runtime library and development files.
-        </paragraph>
-      </description>
-
-      <source tarname="popt-%-msys-%-src.tar.%" />
-      <licence tarname="popt-%-msys-%-lic.tar.%" />
-
-      <component class="doc">
-        <release tarname="popt-1.15-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="popt-1.15-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libpopt">
-      <description lang="en" title="Command line option parsing library" >
-        <paragraph>popt is a command line option parsing library. While
-          popt is similiar to getopt, it contains a number of enhancements.
-          This version is based on the rpm5.org version of popt, rather
-          than the rpm.org version. The rpm5.org implementation is more
-          portable.
-        </paragraph>
-        <paragraph>The msys-libpopt package provides the runtime library
-          and development files. The associated msys-popt package provides
-          the documentation for the popt library.
-        </paragraph>
-      </description>
-
-      <source tarname="popt-%-msys-%-src.tar.%" />
-      <licence tarname="popt-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="libpopt-1.15-2-msys-1.0.13-dll-0.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="dev">
-        <release tarname="libpopt-1.15-2-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libpopt-%-msys-%-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="libpopt-1.15-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-rebase.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-rebase.xml	(revision 1046)
+++ 	(revision )
@@ -1,67 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-rebase.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-rebase">
-      <description lang="en" title="A tool for managing DLL address conflicts">
-        <paragraph>rebase provides various utilities that can assist
-          with the dreaded DLL initialization problem, whose primary
-          symptom is error messages of the form: "sync_with_child:
-          child state waiting for longjmp" or "fork_child:
-          recreate_mmaps_after_fork_failed".  This "rebase problem"
-          is due to fork() failing to reload DLLs in the child at
-          the same address as in the parent.  This is caused by DLLs
-          which have conflicting base addresses.  The rebase tool and
-          the associated rebaseall script allow to change those base
-          addresses for every DLL in an MSYS installation, so that
-          they hopefully do not conflict.
-        </paragraph>
-        <paragraph>The msys-rebase package also provides the peflags
-          and peflagsall tools, which can be used to change certain
-          settings in every executable and DLL in an MSYS installation.
-          On Windows Vista and above, it can be used to enable the
-          Address Space Layout Randomization (ASLR) setting, which is
-          an alternate mechanism to address the "rebase problem".  It
-          can also be used to enable the Terminal Server Aware flag,
-          which may be important on Windows Terminal Services and
-          Windows Server operating systems.
-        </paragraph>
-      </description>
-
-      <licence tarname="rebase-%-msys-%-lic.tar.%" />
-      <source tarname="rebase-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-dash-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <release tarname="rebase-3.0.1_1-2-msys-1.0.15-bin.tar.lzma" />
-        <release tarname="rebase-4.0.1_1-1-msys-1.0.17-bin.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-rebase-%-msys-%-bin.tar" />
-        <release tarname="rebase-4.0.1_1-1-msys-1.0.17-dev.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="rebase-3.0.1_1-2-msys-1.0.15-doc.tar.lzma" />
-        <release tarname="rebase-4.0.1_1-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="rebase-3.0.1_1-2-msys-1.0.15-lic.tar.lzma" />
-        <release tarname="rebase-4.0.1_1-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-regex.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-regex.xml	(revision 1046)
+++ 	(revision )
@@ -1,68 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-regex.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-regex">
-      <description lang="en" title="Regular Expressions Library Documentation" >
-        <paragraph>Regex provides an implementation of the GNU, POSIX, and
-          BSD regular expression functions. Current versions are derived
-          from the GNULIB implementation of the regex module, but an older
-          version of the runtime derived from the venerable GNU regex
-          library, with a slightly different interface, is available for
-          legacy MSYS applications.
-        </paragraph>
-        <paragraph>The msys-regex package provides the documentation
-          for the regex library, while the associated msys-libregex
-          package provides the runtime library and related development
-          files.
-        </paragraph>
-      </description>
-
-      <component class="doc">
-        <release tarname="regex-1.20090805-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="regex-0.12-1-msys-1.0.11-lic.tar.lzma" />
-        <release tarname="regex-1.20090805-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libregex">
-      <description lang="en" title="Regular Expressions Library" >
-        <paragraph>Regex provides an implementation of the GNU, POSIX, and
-          BSD regular expression functions. Current versions are derived
-          from the GNULIB implementation of the regex module, but an older
-          version of the runtime derived from the venerable GNU regex
-          library, with a slightly different interface, is available for
-          legacy MSYS applications.
-        </paragraph>
-        <paragraph>The msys-libregex package the runtime library and
-          related development files, while the associated msys-regex
-          package provides the documentation.
-        </paragraph>
-      </description>
-
-      <source tarname="regex-%-msys-%-src.tar.%" />
-      <licence tarname="regex-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="libregex-0.12-1-msys-1.0.11-dll-0.tar.lzma" />
-        <release tarname="libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libregex-1.20090805-2-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libregex-%-msys-%-dll-1.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-rsync.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-rsync.xml	(revision 1046)
+++ 	(revision )
@@ -1,41 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-rsync.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-rsync">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="file transfer program" >
-        <paragraph>rsync is a file transfer program. rsync uses the 'rsync
-          algorithm' which provides a very fast method for bringing remote files
-          into sync. It does this by sending just the differences in the files
-          across the link, without requiring that both sets of files are present
-          at one of the ends of the link beforehand.
-        </paragraph>
-      </description>
-
-      <source tarname="rsync-%-msys-%-src.tar.%" />
-      <licence tarname="rsync-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="rsync-3.0.8-1-msys-1.0.17-bin.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        <requires eq="msys-libpopt-*-msys-*-dll-0.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="rsync-3.0.8-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="rsync-3.0.8-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-rxvt.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-rxvt.xml	(revision 1046)
+++ 	(revision )
@@ -1,58 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-rxvt.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-rxvt">
-      <description lang="en" title="terminal emulator" >
-        <paragraph>VT102 terminal emulator for both X and Windows. This
-          version has been modified and compiled for use in the MSYS
-          environment, and does not attempt to use an X display even if
-          available; it always operates in "native" Windows mode.
-        </paragraph>
-        <paragraph>To launch MSYS in an rxvt window, create a shortcut
-          to C:\msys\1.0\msys.bat, with the argument "--rxvt". Some
-          people find rxvt a more accomodating terminal than cmd.exe, since
-          it may be resized at will and has a larger scrollback buffer.
-          However, rxvt sometimes does not interoperate well with native
-          applications (such as MinGW gcc), so the default cmd.exe console
-          is recommended for most users.
-        </paragraph>
-        <paragraph>Another alternative console implementation that many users
-          find congenial is the "Console 2.00" project.  This replacement
-          console is not provided by the MinGW/MSYS team directly for licensing
-          reasons (Console 2.00 is GPL, but cannot currently be compiled using
-          Libre tools), but you may install the msys-console package which provides
-          the `console-config' script.  This script which will download,
-          install, and configure the Console 2.00 team's packages.
-        </paragraph>
-      </description>
-
-      <licence tarname="rxvt-%-msys-%-lic.tar.%" />
-      <source tarname="rxvt-%-msys-%-src.tar.%" />
-
-      <!-- NOTE: the rxvt-2.7.10.20050409-* versions have a serious flaw, in
-           that whenever a native application is launched from within an rxvt
-           session, a black cmd window pops up. If we ever solve this problem,
-           then add newer versions to this manifest. Until then, however... -->
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="rxvt-2.7.2-3-msys-1.0.14-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="rxvt-2.7.2-3-msys-1.0.14-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="rxvt-2.7.2-3-msys-1.0.14-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-sed.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-sed.xml	(revision 1046)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-sed.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-sed">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU Stream Editor" >
-        <paragraph>sed is a stream editor. A stream editor is used to
-          perform basic text transformations on an input stream (a file or
-          input from a pipeline). While in some ways similar to an editor
-          which permits scripted edits (such as ed), sed works by making
-          only one pass over the input(s), and is consequently more
-          efficient. But it is sed's ability to filter text in a pipeline
-          which particularly distinguishes it from other types of editors.
-        </paragraph>
-      </description>
-
-      <source tarname="sed-%-msys-%-src.tar.%" />
-      <licence tarname="sed-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="sed-4.2.1-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="sed-4.2.1-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="sed-4.2.1-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="sed-4.2.1-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-system-builder.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-system-builder.xml	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2010090600">
-
-  <!-- File: msys-system-builder.xml -->
-
-  <!-- This is a preliminary catalogue listing those tools necessary to
-       build MSYS-dependent applications and libraries, as well as the
-       MSYS DLL itself.  It does not include headers or link libraries
-       needed to use those pre-build MSYS libraries distributed by the
-       MinGW/MSYS project; if desired, those should be installed as
-       needed, individually.  In a manner of speaking, this "replicates"
-       the tools installed by the old "msysDVLPR" package ~~ although
-       that package contained an obsolete version of gcc-2.95.3, and
-       the tools installed by this (meta) package are much newer. -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-system-builder" alias="msys-dvlpr" class="virtual">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="Tools for Building MSYS and MSYS utilities (meta)">
-        <paragraph>
-          This meta package contains the components necessary to build
-          MSYS-dependent applications and libraries, as well as the MSYS DLL
-          itself.  It does not include headers or link libraries needed to use
-          pre-built MSYS libraries distributed by the MinGW/MSYS project; if
-          desired, those should be installed as needed, individually.  In a
-          manner of speaking, this "replicates" the tools installed by the old
-          "msysDVLPR" package ~~ although (1) that package contained an obsolete
-          version of gcc-2.95.3, while the tools installed by this (meta)
-          package are much newer, and (2) this (meta) package also adds
-          MSYS-customized versions of the autotools (autoconf, automake,
-          libtool, gettext, and libiconv).  These msys-autotools can be
-          installed and used in parallel with the normal, MinGW-flavored ones
-          installed by the MinGW Developer Toolkit (MinGW-DTK).
-        </paragraph>
-      </description>
-
-      <component class="bin">
-        <release tarname="msys-system-builder-2010090600-msys-bin.meta" />
-        <requires ge="msys-base-*-msys-*-bin.meta" />
-        <requires ge="msys-core-*-msys-*-dev.tar" />
-        <requires ge="msys-core-*-msys-*-dbg.tar" />
-        <requires ge="msys-w32api-*-msys-*-dev.tar" />
-        <requires ge="msys-binutils-*-msys-*-bin.tar" />
-        <requires ge="msys-gcc-*-msys-*-bin.tar" />
-        <requires ge="msys-autoconf-*-msys-*-bin.tar" />
-        <requires ge="msys-automake-*-msys-*-bin.tar" />
-        <requires ge="msys-libtool-*-msys-*-bin.tar" />
-        <requires ge="msys-libltdl-*-msys-*-dev.tar" />
-        <requires ge="msys-gettext-*-msys-*-bin.tar" />
-        <requires ge="msys-gettext-*-msys-*-dev.tar" />
-        <requires ge="msys-libiconv-*-msys-*-bin.tar" />
-        <requires ge="msys-libiconv-*-msys-*-dev.tar" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-tar.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-tar.xml	(revision 1046)
+++ 	(revision )
@@ -1,89 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-tar.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-tar">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="GNU tar archiver tool">
-        <paragraph>GNU tar is an archiver that creates and handles file
-          archives in various formats. You can use tar to create file
-          archives, to extract files from previously created archives,
-          store additional files, or update or list files which were
-          already stored.
-        </paragraph>
-        <paragraph>The program saves many files together into a single
-          tape or disk archive, and can restore individual files from the
-          archive. It includes multivolume support, the ability to archive
-          sparse files, automatic archive compression/decompression, remote
-          archives and special features that allow 'tar' to be used for
-          incremental and full backups.
-        </paragraph>
-        <paragraph>The supported archive formats are: V7 tar, GNU, ustar
-          and POSIX (also known as pax interchange format). GNU tar can
-          also read and extract 'star' archives. Tar can direct its output
-          to available devices, files, or other programs (using pipes); tar
-          can even access remote devices or files (as archives).
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides four different tar
-          implementations: (1) msys-tar, this GNU tar implementation ported
-          for MSYS; (2) msys-bsdtar, a BSD tar implementation based on
-          libarchive and ported for MSYS; (3) mingw32-bsdtar, a BSD tar
-          implementation ported for MinGW (that is, native Win32); and
-          (4) mingw32-basic-bsdtar, a limited-functionality version of
-          mingw32-bsdtar with no external dependencies.  GNU tar (e.g.
-          msys-tar) is the de facto standard implementation, but bsdtar
-          is generally faster. Generally, any of these implementations
-          will meet most needs.
-        </paragraph>
-      </description>
-
-      <source tarname="tar-%-msys-%-src.tar.%" />
-      <licence tarname="tar-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="tar-1.23-1-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-
-        <!-- Every MSYS package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-
-        <!-- Additional packages are required, to support processing
-          of compressed archives.
-          -->
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="tar-1.23-1-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="ext">
-        <release tarname="tar-1.23-1-msys-1.0.13-ext.tar.lzma" />
-        <requires eq="msys-tar-%-msys-%-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="tar-1.23-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="tar-1.23-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-termcap.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-termcap.xml	(revision 1046)
+++ 	(revision )
@@ -1,78 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-termcap.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-termcap">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="The terminal feature database used by certain applications" >
-        <paragraph>The msys-termcap package provides the /etc/termcap file.
-          /etc/termcap is a database which defines the capabilities of
-          various terminals and terminal emulators.  Certain programs use
-          the /etc/termcap file to access various features of terminals
-          (the bell, colors, and graphics, etc.). The associated libtermcap
-          package provides runtime and development support libraries for
-          the applications which use the database.
-        </paragraph>
-        <paragraph>Unless you develop MSYS applications, you probably only
-          need the msys-termcap-bin package, which contains the
-          /etc/termcap database, and the msys-libtermcap-dll package, which
-          provides the runtime library.
-        </paragraph>
-      </description>
-
-      <source tarname="termcap-%-msys-%-src.tar.%" />
-      <licence tarname="termcap-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <release tarname="termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="termcap-0.20050421_1-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="termcap-0.20050421_1-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libtermcap">
-      <description lang="en" title="The terminal feature library used by certain applications" >
-        <paragraph>The msys-libtermcap package provides the runtime and
-          development support libraries for applications which use the
-          /etc/termcap database.  The associated msys-termcap package
-          provides that database, which defines the capabilities of various
-          terminals and terminal emulators.  Certain programs use the
-          /etc/termcap file to access various features of terminals (the
-          bell, colors, and graphics, etc.).
-        </paragraph>
-        <paragraph>Unless you develop MSYS applications, you probably only
-          need the msys-termcap-bin package, which contains the
-          /etc/termcap database, and the msys-libtermcap-dll package, which
-          provides the runtime library.
-        </paragraph>
-      </description>
-
-      <licence tarname="termcap-%-msys-%-lic.tar.%" />
-      <source tarname="termcap-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <release tarname="libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma" />
-        <requires eq="msys-termcap-%-msys-%-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="libtermcap-0.20050421_1-2-msys-1.0.13-dev.tar.lzma">
-          <requires eq="msys-libtermcap-%-msys-%-dll-0.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-texinfo.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-texinfo.xml	(revision 1046)
+++ 	(revision )
@@ -1,70 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-texinfo.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-texinfo">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="Documentation system for on-screen and printed manuals" >
-        <paragraph>Texinfo is the official documentation format of the GNU
-          project. It was invented by Richard Stallman and Bob Chassell
-          many years ago, loosely based on Brian Reid's Scribe and other
-          formatting languages of the time. It is used by many non-GNU
-          projects as well.
-        </paragraph>
-        <paragraph>Texinfo uses a single source file to produce output in
-          a number of formats, both online and printed (dvi, html, info,
-          pdf, xml, etc.). This means that instead of writing different
-          documents for online information and another for a printed
-          manual, you need write only one document. And when the work is
-          revised, you need revise only that one document.
-        </paragraph>
-        <paragraph>msys-texinfo provides makeinfo, for generating .info
-          output files from .texi input; install-info, for installing them
-          correctly in an info/ directory and updating the info/dir
-          manifest; and info, a viewer for info documentation files. Note
-          that generating .dvi or .pdf output requires a fully-fledged TeX
-          implementation, which is not available as part of the MinGW/MSYS
-          distribution -- MikTeX may be of some assistance.
-        </paragraph>
-      </description>
-
-      <source tarname="texinfo-%-msys-%-src.tar.%" />
-      <licence tarname="texinfo-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-
-        <release tarname="texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-          <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        </release>
-
-        <!-- the following are required by the texi2dvi script -->
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-tar-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="lang">
-        <release tarname="texinfo-4.13a-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="texinfo-4.13a-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="texinfo-4.13a-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-unzip.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-unzip.xml	(revision 1046)
+++ 	(revision )
@@ -1,41 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-unzip.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-unzip">
-      <description lang="en" title="Command-line unpacker for .zip archives" >
-        <paragraph>UnZip from the InfoZIP project is an open-source,
-          command-line alternative to other tools, such as WinZip, for
-          unpacking zip-format archives.
-        </paragraph>
-      </description>
-
-      <licence tarname="unzip-%-msys-%-lic.tar.%" />
-      <source tarname="unzip-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <!-- the following are required for zipgrep -->
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <release tarname="unzip-6.0-1-msys-1.0.13-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="unzip-6.0-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="unzip-6.0-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-vim.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-vim.xml	(revision 1046)
+++ 	(revision )
@@ -1,60 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-vim.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-vim">
-      <affiliate group="MinGW Developer Toolkit" />
-      <description lang="en" title="Vi IMproved, a programmers text editor" >
-        <paragraph>Vim is a highly configurable text editor built to enable
-          efficient text editing. It is an improved version of the vi editor
-          distributed with most UNIX systems. Vim is distributed free as
-          charityware. If you find Vim a useful addition to your life please
-          consider helping needy children in Uganda (http://iccf-holland.org/).
-        </paragraph>
-      </description>
-
-      <source tarname="vim-%-msys-%-src.tar.%" />
-      <licence tarname="vim-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="vim-7.3-2-msys-1.0.16-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        </release>
-        <release tarname="vim-7.3-1-msys-1.0.16-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        </release>
-        <release tarname="vim-7.2-2-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="vim-7.3-2-msys-1.0.16-lang.tar.lzma" />
-        <release tarname="vim-7.3-1-msys-1.0.16-lang.tar.lzma" />
-        <release tarname="vim-7.2-2-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="vim-7.3-2-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="vim-7.3-1-msys-1.0.16-doc.tar.lzma" />
-        <release tarname="vim-7.2-2-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="vim-7.3-2-msys-1.0.16-lic.tar.lzma" />
-        <release tarname="vim-7.3-1-msys-1.0.16-lic.tar.lzma" />
-        <release tarname="vim-7.2-2-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-w32api.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-w32api.xml	(revision 1046)
+++ 	(revision )
@@ -1,43 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2010090600">
-
-  <!-- File: msys-w32api.xml ~~ mingw-get package description for MinGW API (msys) -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <!-- Provides the package descriptions for the package that provides,  -->
-    <!-- suitably configured for use with the MSYS System Builder toolset, -->
-    <!-- the headers and link libraries for the Windows API.               -->
-
-    <package name="msys-w32api">
-      <affiliate group="MSYS System Builder" />
-      <description lang="en" title="The MinGW API for 32-Bit MS-Windows (msys)">
-        <paragraph>This is not the w32api you are looking for.</paragraph>
-        <paragraph>
-          This package provides the header files and import libraries
-          constituting a standard API for the development of applications
-          which utilise the capabilities of the 32-bit MS-Windows system
-          dynamic link libraries, configured specifically for use with the
-          MSYS System Builder (msys-dvlpr) toolset.  It should be installed
-          into the / == /usr (that is, C:\msys\1.0) directory, and NOT intoo
-          the usual MinGW location /mingw (C:\MinGW).
-        </paragraph>
-        <paragraph>
-          Install this component only if you intend to create MSYS-dependent
-          applications.
-        </paragraph>
-      </description>
-
-      <!-- The -dev package includes licence and documentation -->
-      <licence tarname="w32api-%-msys-%-dev.tar.lzma" />
-      <source tarname="w32api-%-msys-%-src.tar.lzma" />
-
-      <component class="dev">
-        <release tarname="w32api-3.14-3-msys-1.0.12-dev.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-wget.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-wget.xml	(revision 1046)
+++ 	(revision )
@@ -1,61 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-wget.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-wget">
-      <description lang="en" title="non-interactive network downloader" >
-        <paragraph>Wget is a network utility to retrieve files from the Web
-          using http(s) and ftp, the two most widely used Internet
-          protocols.  The program supports recursive retrieval of
-          web-authoring pages as well as ftp sites -- you can use wget to
-          make mirrors of archives and home pages or to travel the Web like
-          a WWW robot.
-        </paragraph>
-        <paragraph>Wget works particularly well with slow or unstable
-          connections by continuing to retrieve a document until the
-          document is fully downloaded.  Re-getting files from where it left
-          off works on servers (both http and ftp) that support it.  Both
-          http and ftp retrievals can be time stamped, so wget can see if
-          the remote file has changed since the last retrieval and
-          automatically retrieve the new version if it has.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides two versions of wget:
-          this MSYS one supports https and understands MSYS pathnames, but
-          requires the MSYS dll (and various others) to be installed.  There
-          is also a 'mingwPORT' wget, which is a MinGW (that is, native
-          Win32) version.  That version has no external dependencies but
-          is based on an older version of wget and does not support https.
-        </paragraph>
-      </description>
-
-      <licence tarname="wget-%-msys-%-lic.tar.%" />
-      <source tarname="wget-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="wget-1.12-1-msys-1.0.13-bin.tar.lzma" >
-          <requires eq="msys-libopenssl-*-msys-*-dll-100.tar" />
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        </release>
-      </component>
-
-      <component class="lang">
-        <release tarname="wget-1.12-1-msys-1.0.13-lang.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="wget-1.12-1-msys-1.0.13-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="wget-1.12-1-msys-1.0.13-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-xz.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-xz.xml	(revision 1046)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-xz.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-xz">
-      <affiliate group="MSYS Base System" />
-      <description lang="en" title="High performance compression based on the LZMA algorithm" >
-        <paragraph>LZMA is data compression algorithm based on the
-          Lempel-Ziv-Markov chain-Algorithm. It provides high compression
-          ratios and very fast decompression, with minimal memory
-          requirements for decompression.  XZ Utils is the latest
-          generation of this software, supplanting the older LZMA Utils,
-          which itself was a friendly fork of the original LZMA SDK. The
-          msys-xz package provides commandline utilities for compression
-          and decompression of XZ and LZMA data, and documentation. The
-          associated msys-liblzma package provides the runtime library and
-          development files for creating applications that use LZMA or XZ
-          compression.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides both a native (mingw32)
-          version and this MSYS version of the xz package(s). While the
-          latter is the primary tool from the perspective of the MSYS
-          distribution, the MinGW version is provided as one of the
-          prerequisites for the native (mingw32) basic-bsdtar utility.
-        </paragraph>
-      </description>
-
-      <source tarname="xz-%-msys-%-src.tar.%" />
-      <licence tarname="xz-%-msys-%-lic.tar.%" />
-
-      <component class="bin">
-        <!-- Every MSYS package requires msys-core-bin.  This dependency
-          is not explicitly stated here; rather, it is implicitly satisfied
-          as a prerequisite of the matching DLL for this package itself,
-          which is specified for each of the following releases.
-          -->
-        <release tarname="xz-4.999.9beta_20100401-1-msys-1.0.13-bin.tar.gz">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-liblzma-%-msys-%-dll-1.tar" />
-        </release>
-        <release tarname="xz-5.0.3-1-msys-1.0.17-bin.tar.lzma">
-          <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-          <requires eq="msys-liblzma-%-msys-%-dll-5.tar" />
-        </release>
-
-        <!-- Other requirements support the auxiliary scripts, which are
-          provided by the xz-bin package.
-          -->
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="xz-4.999.9beta_20100401-1-msys-1.0.13-doc.tar.gz" />
-        <release tarname="xz-5.0.3-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lang">
-        <release tarname="xz-5.0.3-1-msys-1.0.17-lang.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="xz-4.999.9beta_20100401-1-msys-1.0.13-lic.tar.gz" />
-        <release tarname="xz-5.0.3-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-liblzma">
-      <description lang="en" title="High performance compression library based on the LZMA algorithm" >
-        <paragraph>LZMA is data compression algorithm based on the
-          Lempel-Ziv-Markov chain-Algorithm. It provides high compression
-          ratios and very fast decompression, with minimal memory
-          requirements for decompression.  XZ Utils is the latest
-          generation of this software, supplanting the older LZMA Utils,
-          which itself was a friendly fork of the original LZMA SDK. The
-          msys-xz package provides commandline utilities for compression
-          and decompression of XZ and LZMA data, and documentation. The
-          associated msys-liblzma package provides the runtime library and
-          development files for creating applications that use LZMA or XZ
-          compression.
-        </paragraph>
-        <paragraph>The MinGW/MSYS project provides both a native (mingw32)
-          version and this MSYS version of the liblzma package(s). While
-          the latter is the primary tool from the perspective of the MSYS
-          distribution, the MinGW version is provided as one of the
-          prerequisites for the native (mingw32) basic-bsdtar utility.
-        </paragraph>
-      </description>
-
-      <source tarname="xz-%-msys-%-src.tar.%" />
-      <licence tarname="xz-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <release tarname="liblzma-4.999.9beta_20100401-1-msys-1.0.13-dll-1.tar.gz" />
-        <release tarname="liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma" />
-
-        <!-- Every MSYS DLL package requires msys-core-bin -->
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="liblzma-4.999.9beta_20100401-1-msys-1.0.13-dev.tar.gz">
-          <requires eq="msys-liblzma-%-msys-%-dll-1.tar" />
-        </release>
-        <release tarname="liblzma-5.0.3-1-msys-1.0.17-dev.tar.lzma">
-          <requires eq="msys-liblzma-%-msys-%-dll-5.tar" />
-        </release>
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-zip.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-zip.xml	(revision 1046)
+++ 	(revision )
@@ -1,38 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-zip.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-zip">
-      <description lang="en" title="Info-ZIP compression utility" >
-        <paragraph>Zip is a compression and file packaging/archive utility.
-          Although highly compatible both with PKWARE's PKZIP and PKUNZIP
-          utilities for MS-DOS and with Info-ZIP's own UnZip, the primary
-          objectives have been portability and other-than-MSDOS
-          functionality.
-        </paragraph>
-      </description>
-
-      <licence tarname="zip-%-msys-%-lic.tar.%" />
-      <source tarname="zip-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <release tarname="zip-3.0-1-msys-1.0.14-bin.tar.lzma" />
-      </component>
-
-      <component class="doc">
-        <release tarname="zip-3.0-1-msys-1.0.14-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="zip-3.0-1-msys-1.0.14-lic.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/msys-zlib.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/msys-zlib.xml	(revision 1046)
+++ 	(revision )
@@ -1,102 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://mingw.org" issue="2012073100">
-
-  <!-- File: msys-zlib.xml -->
-
-  <package-collection subsystem="msys">
-    <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" />
-
-    <package name="msys-zlib">
-      <description lang="en" title="A Massively Spiffy Yet Delicately Unobtrusive Compression Library">
-        <paragraph>The zlib compression library provides in-memory
-          compression and decompression functions, including integrity checks
-          of the uncompressed data.
-        </paragraph>
-      </description>
-
-      <source tarname="zlib-%-msys-%-src.tar.%" />
-      <licence tarname="zlib-%-msys-%-lic.tar.%" />
-
-      <component class="dll">
-        <!-- note: for historical reasons,
-          the zlib dll component does not specify a soname
-          -->
-        <release tarname="zlib-1.2.3-2-msys-1.0.13-dll.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-msys-1.0.17-dll.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-      </component>
-
-      <component class="dev">
-        <release tarname="zlib-1.2.3-2-msys-1.0.13-dev.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-msys-1.0.17-dev.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-msys-1.0.17-dev.tar.lzma" />
-        <requires eq="msys-zlib-%-msys-%-dll.tar" />
-      </component>
-
-      <component class="doc">
-        <release tarname="zlib-1.2.3-2-msys-1.0.13-doc.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-msys-1.0.17-doc.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-msys-1.0.17-doc.tar.lzma" />
-      </component>
-
-      <component class="lic">
-        <release tarname="zlib-1.2.3-2-msys-1.0.13-lic.tar.lzma" />
-        <release tarname="zlib-1.2.5-1-msys-1.0.17-lic.tar.lzma" />
-        <release tarname="zlib-1.2.7-1-msys-1.0.17-lic.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-minizip">
-      <description lang="en" title="Simple ZIP support from zlib">
-        <paragraph>The minizip package provides two simple ZIP archive
-          manipulation tools, based on the minizip library from zlib.  More
-          sophisticated needs are met by the unzip and zip packages.
-        </paragraph>
-        <paragraph>The libminizip library provides zlib-based support for
-          manipulating ZIP archives. It is suitable for clients that need only
-          create, inspect, and unpack such archives; more demanding needs may be
-          met by the libarchive package.
-        </paragraph>
-      </description>
-
-      <licence tarname="zlib-%-msys-%-lic.tar.%" />
-      <source tarname="zlib-%-msys-%-src.tar.%" />
-
-      <component class="bin">
-        <requires eq="msys-libminizip-%-msys-%-dll-1.tar" />
-        <release tarname="minizip-1.2.7-1-msys-1.0.17-bin.tar.lzma" />
-      </component>
-    </package>
-
-    <package name="msys-libminizip">
-      <description lang="en" title="Simple ZIP support from zlib">
-        <paragraph>The minizip library provides zlib-based support for
-          manipulating ZIP archives. It is suitable for clients that need only
-          create, inspect, and unpack such archives; more demanding needs may be
-          met by the libarchive package.
-        </paragraph>
-        <paragraph>This distribution also provides two simple utility programs:
-          minizip and miniunzip. Again, more sophisticated needs are met by the
-          unzip and zip packages.
-        </paragraph>
-      </description>
-
-      <licence tarname="zlib-%-msys-%-lic.tar.%" />
-      <source tarname="zlib-%-msys-%-src.tar.%" />
-
-      <component class="dll">
-        <requires eq="msys-zlib-%-msys-%-dll-1.tar" />
-        <release tarname="libminizip-1.2.7-1-msys-1.0.17-dll-1.tar.lzma" />
-      </component>
-
-      <component class="dev">
-        <requires eq="msys-zlib-%-msys-%-dev.tar" />
-        <requires eq="msys-libminizip-%-msys-%-dll-1.tar" />
-        <release tarname="libminizip-1.2.7-1-msys-1.0.17-dev.tar.lzma" />
-      </component>
-    </package>
-
-  </package-collection>
-</software-distribution>
-<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: -->
Index: Daodan/MinGW/var/lib/mingw-get/data/package-list.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/package-list.xml	(revision 1046)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<software-distribution project="MinGW" home="http://www.mingw.org" issue="2016082401">
-
-  <!-- File: package-list.xml -->
-  <!-- This is the master package catalogue for the MinGW Project -->
-
-  <package-list issue="2016082400" catalogue="mingw32-package-list" />
-  <package-list issue="2016010800" catalogue="mingw32-contrib-package-list" />
-  <package-list issue="2016071500" catalogue="msys-package-list" />
-
-</software-distribution>
Index: Daodan/MinGW/var/lib/mingw-get/data/profile.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/profile.xml	(revision 1046)
+++ 	(revision )
@@ -1,137 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<profile project="MinGW" application="mingw-get">
-  <!--
-    $Id: profile.xml,v ee72dbfcc656 2013/09/20 12:05:26 keithmarshall $
-
-    Written by Keith Marshall  <keithmarshall@users.sourceforge.net>
-    Copyright (C) 2009, 2010, 2012, 2013, MinGW.org Project
-
-
-    Master configuration profile for mingw-get.
-
-    This file is user modifiable, to accommodate local customisation
-    of mingw-get's behaviour.  To avoid overwriting the user's local
-    customisations, when upgrading the mingw-get installation, this
-    file is distributed with the alternative name "defaults.xml"; a
-    locally customised version should always be renamed, so that it
-    may be identified as the preferentially loaded "profile.xml".
-
-
-    This is free software.  Permission is granted to copy, modify and
-    redistribute this software, under the provisions of the GNU General
-    Public License, Version 3, (or, at your option, any later version),
-    as published by the Free Software Foundation; see the file COPYING
-    for licensing details.
-
-    Note, in particular, that this software is provided "as is", in the
-    hope that it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not
-    even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR ANY
-    PARTICULAR PURPOSE.  Under no circumstances will the author, or the
-    MinGW Project, accept liability for any damages, however caused,
-    arising from the use of this software.
-  -->
-
-  <preferences client="cli">
-    <!--
-      "preferences" specifications provide a mechanism for defining
-      user specified default attributes for command line options such
-      as the "desktop" and "start-menu" short-cut creation controls.
-
-      Each of these options is disabled by default.  By uncommenting
-      any one of the following declarations, for each option, you may
-      change that default.  Note that you may still override settings
-      you establish here, by also specifying the option on the command
-      line as before; you may also disable an option enabled here, by
-      assigning an attribute value of "none" on the command line.
-    -->
-
-    <!--option name="desktop" /-->
-    <!--option name="desktop" value="all-users" /-->
-
-    <!--option name="start-menu" /-->
-    <!--option name="start-menu" value="all-users" /-->
-  </preferences>
-
-  <preferences client="gui">
-    <!--
-      The preceding "preferences" section applies exclusively to the
-      CLI client, (where command line options may be used); here, we
-      specify defaults for the GUI client, (which provides no support
-      for command line options), such that shortcuts will be created
-      on the desktop, and in the start menu, for the current user.
-
-      Note that matching of the "client" attribute will be performed
-      case-insensitively, against a keyword defined by the respective
-      client; any "preferences" section with no "client" assignment
-      will be matched for ALL clients.
-    -->
-
-    <option name="desktop" />
-    <option name="start-menu" />
-  </preferences>
-
-  <repository uri="http://prdownloads.sourceforge.net/mingw/%F.xml.lzma?download">
-    <!--
-      The "repository" specification identifies the URI where package
-      list catalogues may be downloaded; each catalogue download URI is
-      identified by substituting the catalogue name for the "%F" field
-      in the uri specification.
-
-      You may specify a particular collection of package lists to load
-      here, (selecting from the available catalogue-name.xml.lzma files
-      hosted on the repository server).  If you do this, then ONLY those
-      package lists which you explicitly specify will be loaded.  If you
-      specify no package list here, then the repository's standard list
-      of packages, as identified in the master "package-list.xml.lzma"
-      file will be automatically selected; this is the recommended
-      configuration choice.
-
-      Note however, that if the repository offers optional package list
-      selections, in addition to the the master list, and you wish any of
-      these to be loaded, then you MUST explicitly specify them here.  If
-      you exercise this option, then the automatic loading of the master
-      list will be inhibited, UNLESS you also explicitly include it in
-      your selection, by adding the explicit reference:-
-
-	<package-list catalogue="package-list" />
-
-      Additional package lists, which you wish to specify, are then
-      identified by the addition of as many further references of the
-      form:-
-
-	<package-list catalogue="catalogue-name" />
-
-      as may be required; (note that the "catalogue" attribute name
-      MUST be specified thus, with the GB English spelling).
-    -->
-  </repository>
-
-  <system-map id="default">
-    <!--
-      The system map specifies the installation paths for each managed
-      subsystem.  Multiple system maps are supported, provided each is
-      given a unique "id" attribute; each specifies an "installation",
-      comprising a collection of subsystems, each of which in turn is
-      associated with a specific "sysroot path".
-      
-      Each individual "sysroot path" defines one installation of one
-      specific subsystem; parallel installations may be supported by
-      assigning distinct paths to two or more sysroot specifications
-      for the same subsystem; each such sysroot specification must
-      then be assigned to a distinct system-map.
-
-      Any single sysroot definition may be shared by any number of
-      system-maps, simply by duplicating that definition within each;
-      however, each system-map may contain only one sysroot definition
-      for each individual subsystem.
-
-      Only one system map may be active at any time.  Unless otherwise
-      specified by user selection, the first encountered is accepted as
-      default, irrespective of its actual "id" attribute value.
-    -->
-    <sysroot subsystem="mingw32" path="%R" />
-    <sysroot subsystem="MSYS" path="%R/msys/1.0" />
-  </system-map>
-
-</profile>
-<!-- $RCSfile: profile.xml,v $: end of file -->
Index: Daodan/MinGW/var/lib/mingw-get/data/sysroot-0-002-a7c6-d7dbb5.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/sysroot-0-002-a7c6-d7dbb5.xml	(revision 1046)
+++ 	(revision )
@@ -1,74 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<sysroot id="sysroot-0-002-a7c6-d7dbb5" path="%R">
-    <installed tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz" />
-    <installed tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-gui.tar.xz" />
-    <installed tarname="mingw-get-0.6.2-mingw32-beta-20131004-1-lic.tar.xz" />
-    <installed tarname="libgmp-5.1.2-1-mingw32-dll-10.tar">
-        <download tarname="gmp-5.1.2-1-mingw32-dll.tar.lzma" />
-    </installed>
-    <installed tarname="libmpfr-3.1.2-2-mingw32-dll-4.tar">
-        <download tarname="mpfr-3.1.2-2-mingw32-dll.tar.lzma" />
-        <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-    </installed>
-    <installed tarname="libintl-0.18.3.2-2-mingw32-dll-8.tar.xz">
-        <requires eq="mingw32-libgcc-*-mingw32-*-dll-1.tar" />
-        <requires ge="mingw32-libiconv-1.14-2-mingw32-*-dll-2.tar" />
-    </installed>
-    <installed tarname="mingwrt-3.22.1-mingw32-dll.tar.xz" />
-    <installed tarname="w32api-3.18.1-mingw32-dev.tar.xz" />
-    <installed tarname="mingwrt-3.22.1-mingw32-dev.tar.xz">
-        <requires eq="mingwrt-%-mingw32-dll.tar" />
-    </installed>
-    <installed tarname="binutils-2.25.1-1-mingw32-bin.tar.xz">
-        <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-    </installed>
-    <installed tarname="libmpc-1.0.2-mingw32-dll-3.tar.xz">
-        <requires eq="mingw32-libmpfr-*-mingw32-dll-4.tar" />
-        <requires eq="mingw32-libgmp-*-mingw32-dll-10.tar" />
-    </installed>
-    <installed tarname="libquadmath-5.3.0-2-mingw32-dll-0.tar.xz" />
-    <installed tarname="libatomic-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <installed tarname="libgomp-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <installed tarname="libssp-5.3.0-2-mingw32-dll-0.tar.xz" />
-    <installed tarname="libiconv-1.14-3-mingw32-dll-2.tar">
-        <download tarname="libiconv-1.14-3-mingw32-dll.tar.lzma" />
-        <requires eq="mingw32-libgcc-*-mingw32-dll-1.tar" />
-    </installed>
-    <installed tarname="libgcc-5.3.0-2-mingw32-dll-1.tar.xz" />
-    <installed tarname="libz-1.2.8-1-mingw32-dll-1.tar">
-        <download tarname="zlib-1.2.8-1-mingw32-dll.tar.lzma" />
-    </installed>
-    <installed tarname="make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzma">
-        <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
-    </installed>
-    <installed tarname="gcc-5.3.0-2-mingw32-lic.tar.xz" />
-    <installed tarname="gcc-core-5.3.0-2-mingw32-bin.tar.xz">
-        <requires eq="binutils-*-mingw32-bin.tar" />
-        <requires eq="mingwrt-*-mingw32-dev.tar" />
-        <requires eq="w32api-*-mingw32-dev.tar" />
-        <requires eq="libgcc-%-mingw32-dll-1.tar" />
-        <requires eq="libssp-%-mingw32-dll-0.tar" />
-        <requires eq="libgomp-%-mingw32-dll-1.tar" />
-        <requires eq="libatomic-%-mingw32-dll-1.tar" />
-        <requires eq="libquadmath-%-mingw32-dll-0.tar" />
-        <requires eq="libmpc-*-mingw32-dll-3.tar" />
-    </installed>
-    <installed tarname="mingw32-base-2013072200-mingw32-bin.meta">
-        <download tarname="none" />
-        <requires eq="mingw32-gcc-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-gcc-*-mingw32-*-lic.tar" />
-        <requires eq="mingw32-make-*-mingw32-*-bin.tar" />
-        <requires eq="mingw32-gdb-*-mingw32-*-bin.tar" />
-    </installed>
-    <installed tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dll-3.tar.xz">
-        <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz" />
-    </installed>
-    <installed tarname="libpthreadgc-2.10-mingw32-pre-20160821-1-dev.tar.xz">
-        <download tarname="pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz" />
-        <requires eq="mingw32-libpthreadgc-%-mingw32-%-dll-3.tar" />
-    </installed>
-    <installed tarname="pthreads-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz">
-        <download tarname="none" />
-        <requires eq="mingw32-libpthreadgc-%-mingw32-%-dev.tar" />
-    </installed>
-</sysroot>
Index: Daodan/MinGW/var/lib/mingw-get/data/sysroot-0-011-664d-7cd9c6.xml
===================================================================
--- Daodan/MinGW/var/lib/mingw-get/data/sysroot-0-011-664d-7cd9c6.xml	(revision 1046)
+++ 	(revision )
@@ -1,163 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<sysroot id="sysroot-0-011-664d-7cd9c6" path="%R/msys/1.0">
-    <installed tarname="msysCORE-1.0.19-1-msys-1.0.19-lic.tar.xz" />
-    <installed tarname="msysCORE-1.0.19-1-msys-1.0.19-doc.tar.xz" />
-    <installed tarname="libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="liblzma-5.0.3-1-msys-1.0.17-dll-5.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libiconv-1.14-1-msys-*-dll-2.tar" />
-    </installed>
-    <installed tarname="make-3.81-3-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="less-436-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-    </installed>
-    <installed tarname="texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-tar-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-    </installed>
-    <installed tarname="tar-1.23-1-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-    </installed>
-    <installed tarname="sed-4.2.1-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="xz-5.0.3-1-msys-1.0.17-bin.tar.lzma">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        <requires eq="msys-liblzma-%-msys-%-dll-5.tar" />
-    </installed>
-    <installed tarname="gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="grep-2.5.4-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="libmagic-5.04-1-msys-1.0.13-dll-1.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-zlib-*-msys-*-dll.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-    </installed>
-    <installed tarname="file-5.04-1-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-libmagic-%-msys-%-dll-1.tar" />
-    </installed>
-    <installed tarname="findutils-4.4.2-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="diffutils-2.8.7.20071206cvs-3-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="dos2unix-7.3.2-1-msys-1.0.18-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-    </installed>
-    <installed tarname="coreutils-5.97-3-msys-1.0.13-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
-        <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
-        <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-    </installed>
-    <installed tarname="zlib-1.2.7-1-msys-1.0.17-dll.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz">
-        <requires eq="msys-core-%-msys-%-doc.tar" />
-        <requires eq="msys-core-%-msys-%-lic.tar" />
-    </installed>
-    <installed tarname="termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma" />
-    <installed tarname="libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma">
-        <requires eq="msys-termcap-%-msys-%-bin.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="libbz2-1.0.6-1-msys-1.0.17-dll-1.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="msysCORE-1.0.19-1-msys-1.0.19-ext.tar.xz">
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-core-%-msys-%-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="bzip2-1.0.6-1-msys-1.0.17-bin.tar.lzma">
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <requires eq="msys-libbz2-%-msys-%-dll-1.tar" />
-    </installed>
-    <installed tarname="bash-3.1.23-1-msys-1.0.18-bin.tar.xz">
-        <requires eq="msys-libtermcap-*-msys-*-dll-0.tar" />
-        <requires eq="msys-libregex-*-msys-*-dll-1.tar" />
-        <requires eq="msys-core-*-msys-*-bin.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-    </installed>
-    <installed tarname="msys-base-2013072300-msys-bin.meta">
-        <download tarname="none" />
-        <requires eq="msys-bash-*-msys-*-bin.tar" />
-        <requires eq="msys-bzip2-*-msys-*-bin.tar" />
-        <requires eq="msys-core-*-msys-*-ext.tar" />
-        <requires eq="msys-coreutils-*-msys-*-bin.tar" />
-        <requires eq="msys-dos2unix-*-msys-*-bin.tar" />
-        <requires eq="msys-diffutils-*-msys-*-bin.tar" />
-        <requires eq="msys-findutils-*-msys-*-bin.tar" />
-        <requires eq="msys-file-*-msys-*-bin.tar" />
-        <requires eq="msys-gawk-*-msys-*-bin.tar" />
-        <requires eq="msys-grep-*-msys-*-bin.tar" />
-        <requires eq="msys-gzip-*-msys-*-bin.tar" />
-        <requires eq="msys-less-*-msys-*-bin.tar" />
-        <requires eq="msys-make-*-msys-*-bin.tar" />
-        <requires eq="msys-sed-*-msys-*-bin.tar" />
-        <requires eq="msys-tar-*-msys-*-bin.tar" />
-        <requires eq="msys-texinfo-*-msys-*-bin.tar" />
-        <requires eq="msys-xz-*-msys-*-bin.tar" />
-    </installed>
-</sysroot>
